Commit Graph

21 Commits

Author SHA1 Message Date
Randy Mackay ef2223a712 Rover: integrate attitude control change to steering output and scaling
steering output is always positive for clockwise
steering is scaled in motors library meaning we do not need to tell attitude controller about skid-steering or vectored-thrust
2018-05-10 08:02:13 +09:00
Randy Mackay 8119c537c7 Rover: integrate vectored thrust support 2018-04-24 19:57:19 +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 b778546eda Rover: rename mode lateral acceleration and make private 2017-12-09 12:18:49 +09:00
Randy Mackay 34c2fba9a7 Rover: boats stay active at destination in guided, rtl, smartrtl 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
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 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
khancyr 848df551ac Rover: formatting and comment fixes to mode class 2017-08-05 17:02:52 +09:00
Randy Mackay 4f5e82f406 Rover: mode fixes for reversing 2017-08-05 11:20:58 +09:00
Randy Mackay 946a0a8e54 Rover: guided mode refactoring
add set-desired methods
add get_distance_to_destination
fix to one interation with no update to motors
slow down for turns
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
Peter Barker 2a9b1017b6 Rover: add control modes class 2017-07-21 10:13:20 +09:00