Commit Graph

52 Commits

Author SHA1 Message Date
Randy Mackay 80c58696d0 Rover: Hold or Loiter within Auto on mission completion 2019-10-15 17:03:00 +09:00
Peter Barker 28b0b86487 Rover: resolve compiler warning for delay time 2019-08-19 18:10:15 +09:00
Randy Mackay eb9e5df0dd Rover: resolve send_text compile warning 2019-08-17 13:40:24 +09:00
Randy Mackay 6c3ce521c7 Rover: add Auto_Stop state and use for Nav_Delay 2019-08-14 10:45:29 -07:00
Tom Pittenger 1bb332382c Rover: add support for NAV_DELAY misison item 2019-08-14 10:45:29 -07:00
Peter Barker 190f716c43 Rover: avoid allocate a GCS_MAVLINK per mavlink channel 2019-08-14 18:25:43 +10:00
Randy Mackay a5c76b614e Rover: resolve send_text compiler warnings 2019-07-30 08:44:06 +09:00
Randy Mackay c233c3aff3 Rover: integrate OAPathPlanner 2019-06-11 13:13:22 +09:00
Randy Mackay 93b05d7d8a Rover: add get_desired_location method 2019-05-29 09:40:05 +09:00
Peter Barker 40f3f414cd Rover: handle AR_WPNav failing to set desired location 2019-05-10 06:55:35 +09:00
Randy Mackay 39418abafb Rover: use AR_WPNAV_HEADING_UNKNOWN in place of local define 2019-05-10 06:55:35 +09:00
Randy Mackay 75ba96b7a2 Rover: separate nudge from calc_throttle
This is required because AR_WPNav produces an acceleration adjusted desired speed meaning in rare cases where the vehicle is moving in reverse at the time auto is engaged, the desired speed may be temporarily negative as the vehicle slows.  In these situations we do not want to allow the vehicle's speed to be nudged to a higher reverse speed if the pilot's throttle stick is all the way down
2019-05-10 06:55:35 +09:00
Randy Mackay a94ebc5bc3 Rover: integrate navigation library 2019-05-10 06:55:35 +09:00
Pierre Kancir f91ffffca7 APMrover2: use past_interval_finish_line and line_path_proportion from Location 2019-04-23 09:20:43 +10:00
Peter Barker fcfd37c025 Rover: rely on AP_Mission to emit GCS text 2019-04-02 11:07:58 +11:00
Peter Barker dabf92f5b6 Rover: use sanitize method rather than location_sanitize function 2019-04-02 10:19:38 +11:00
cindyywang d9805a9366 Rover: move methods in commands_logic.cpp to mode_auto.cpp 2019-03-16 13:26:08 +09:00
Randy Mackay 5286b6fab6 Rover: re-order auto mode implementations 2019-03-16 13:26:08 +09:00
Randy Mackay f61f93ecf3 Rover: minor simplification to guided-within-auto 2019-03-15 21:18:48 +09:00
Randy Mackay 95d68b0cf5 Rover: reached_destination becomes const 2019-03-15 14:51:35 +09:00
Randy Mackay 3f8adb4e7d Rover: guided-within-auto target moved to structure
also guided's limit_breached made const
also guided limit check uses is_positive
2019-03-15 14:51:35 +09:00
Randy Mackay 89f0418c0f Rover: support do-guided-limits mission command 2019-03-15 14:51:35 +09:00
Randy Mackay 721c200bcc Rover: support guided-within-auto
also adds support for sending position targets to offboard controller which is assumed to return velocity commands
2019-03-15 14:51:35 +09:00
Dr.-Ing. Amilcar do Carmo Lucas 36d755a48a Rover: replace location_offset() and get_distance() function calls with Location object member function calls
This allows removing duplicated code
2019-02-28 11:44:09 +11:00
TsuyoshiKawamura 1e033e616f Rover: Loiter in AUTO mode for boat 2019-01-10 20:42:39 +09:00
Randy Mackay 17af4c8933 Rover: enable avoidance in auto, RTL, smartRTL 2018-12-14 09:18:23 +09:00
Randy Mackay b1a5636d4d Rover: fix auto enter check 2018-12-04 11:21:13 +09:00
Randy Mackay 743de16c07 Rover: fix calls to calc_steering_to_heading
reversed flag was being passed into the wrong argument
2018-09-11 14:39:50 +09:00
Raouf ea62c24cef Rover: Move set_reverse method to Mode class 2018-08-22 13:36:38 +09:00
Randy Mackay 73bdc3be09 Rover: set ahrs flyforward if thr over 15% for 2 seconds
or if throttle is positive and desired speed over 0.5m/s
2018-05-29 16:37:31 +09:00
Randy Mackay 29e8866ea9 Rover: move avoidance into calc_throttle
also enable avoidance for steering and guided modes
2018-04-24 12:24:53 +09:00
Randy Mackay 0da8ff6b2e Rover: boats always navigate when outside waypoint radius 2018-02-07 07:33:11 +09:00
Randy Mackay 916fe80000 Rover: remove mode class's desired-lat-accel
This was a duplicate of the value held in the attitude controller
2018-01-05 09:27:53 +09:00
Randy Mackay 49493fe6a2 Rover: add calc_steering_to_heading
removes some duplicate code in Guided and Auto
2018-01-05 09:27:53 +09:00
Randy Mackay 4958298a75 Rover: fix auto mode distance_to_destination 2017-12-09 12:52:35 +09:00
Randy Mackay b778546eda Rover: rename mode lateral acceleration and make private 2017-12-09 12:18:49 +09:00
Randy Mackay 8eb991b610 Rover: boats say active at destination in auto
previously the user would use the LOITER_UNLIMITED or LOITER_TIME mission commands to specify that the vehicle should remain active at the destination.  This was cumbersome and not the best way to specify this behaviour because these two commands are valid for regular rovers that should not try to remain active at the destination.
2017-12-08 08:48:05 +09:00
Randy Mackay 57067fb8bc Rover: add WP_SPEED and RTL_SPEED
This separates the default/maximum speed used in Auto, Guided, RTL and SmartRTL from the CRUISE_SPEED which is used as the base for the speed-to-throttle controller (along with CRUISE_THROTTLE)
2017-12-07 07:29:10 +09:00
Randy Mackay c6689fd2e1 Rover: rename calc_nav_steer to calc_steering_from_lateral_acceleration
rename calc_lateral_acceleration to calc_steering_to_waypoint
calc_steering_to_waypoint internally calls calc_steering_from_lateral_acceleration
non-functional change
2017-11-28 11:46:21 +09:00
Randy Mackay 23028a659b Rover: slew throttle in all modes 2017-11-27 14:31:20 +09:00
Randy Mackay b60cb536ab Rover: RTL within auto mode 2017-11-23 10:20:19 +09:00
Daniel Widmann bc7cf97b4e Rover: don't use GPS speed to detect reversing
instead pass reverse to attitude controller based on desired speed
2017-11-08 14:37:59 +09:00
Randy Mackay 95c5ada3e9 Rover: modes use stop_vehicle to stop gently
modes slow to a stop instead of immediately setting motors to zero
vehicle centers steering when stopping
2017-08-15 20:47:19 +09:00
Randy Mackay 0b917cfd36 Rover: mode auto guided and rtl slow before destination
new mode class member _desired_speed_final holds target speed at destination

main vehicle code passes heading to next waypoint into auto mode.
we do not provide heading when delaying at waypoint which signals we wish

auto-mode calculates final speed at destination which allows vehicle to
make turn within value of WP_OVERSHOOT parameter assuming vehicle turns at
maximum lateral acceleration.
2017-08-15 20:47:19 +09:00
Randy Mackay d99108f3bc Rover: use AR_AttitudeControl for throttle control
also direct throttle nudge replaced with speed nudge
calc_speed_max estimates vehicle's top speed based on cruise-speed and
cruise-throttle
steering mode now provides total target speed instead of using speed plug
throttle nudge
motor limits provided to attitude control to stop i-term buildup
uses negative desired speed instead of reversed flag
reporting to GCS uses new throttle controller
braking is simply enabled and allows a reverse motor output regardless of vehicle
speed
2017-08-15 20:47:19 +09:00
Randy Mackay 9097269d6d Rover: use AR_AttitudeControl for steering control 2017-08-15 20:47:19 +09:00
Randy Mackay 4f5e82f406 Rover: mode fixes for reversing 2017-08-05 11:20:58 +09:00
Randy Mackay 279491ed20 Rover: auto mode refactoring
updating mission is handled by the vehicle code
slows down for turns
add active at destination
remove setting of loiter start time
removes unused calc_nav_steer
2017-08-05 11:20:58 +09:00
khancyr ded1bad6c3 Rover: remove duplicate calls from update_navigation()
calc_lateral_acceleration() and calc_nav_steer() aren't need here
2017-07-21 10:13:20 +09:00
khancyr b9644c4ec7 Rover: disable slew limit by default on mode 2017-07-21 10:13:20 +09:00