Commit Graph

77 Commits

Author SHA1 Message Date
Pierre Kancir 007d317741 APMrover2: move get_bearing_cd to Location and rename to get_bearing_to 2019-04-06 09:10:28 +11: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
Ebin 85c3286c6e Rover: balance bots continue balancing when stopped 2019-02-16 13:55:11 +09:00
Randy Mackay 6cebd634cd Rover: avoid divide-by-zero in desired-speed-final calcs
The previous check using is_zero would not catch divide-by-zero cases in which the turn angle was very small but not quite zero
2019-02-01 06:10:42 -08:00
TsuyoshiKawamura 17f8b89b17 Rover: move mode_from_mode_num to mode.cpp 2019-01-07 12:53:45 -08:00
Randy Mackay 80e9a54aed Rover: arming and mode init checks use ekf_position_ok 2018-12-20 15:15:00 +09:00
Peter Barker 29782c3d2e Rover: move AP_Mission object into ModeAuto class
This mirrors what we did for Copter
2018-12-13 13:44:46 +09:00
Randy Mackay b405286262 Rover: nav-controller-output message sourced from flight mode
future change will allow overriding these values so each mode can provide the best value
2018-12-13 09:30:19 +09:00
Tatsuya Yamaguchi c9299db3b9 Rover: ignore pilot's input during RC failsafe 2018-11-14 20:32:44 +09:00
IamPete1 0dddc2eafe Rover: add sailboat tacking 2018-11-01 18:04:19 +09:00
IamPete1 4366bae96d Rover: add sailboat support 2018-09-28 10:40:12 +09:00
Randy Mackay 14fc117cd4 Rover: simple mode calcs clarified and const added 2018-09-11 16:43:17 +09:00
Randy Mackay efdd3946fc Rover: simple mode fixes 2018-09-11 16:43:17 +09:00
Ammarf 6ba5942ece Rover: add simple mode 2018-09-11 16:43:17 +09:00
Randy Mackay cd64ce45ac Rover: fix calc_steering_to_heading rate_max handling
units mix up led to deg/s parameter value being applies as rad/s
2018-09-11 14:39:50 +09:00
Randy Mackay a5e28f0729 Rover: balancebot_pitch_control method removes unused armed arg
Also remove constraint on throttle output (this is handle in the AP_MotorsUGV library
Also move balance bot declarations to alphabetical order within Rover.h
2018-08-27 16:44:33 +09:00
Randy Mackay 8b9b1fdb66 Rover: set reverse to false on entering a mode 2018-08-22 14:25:30 +09:00
Randy Mackay 289fe6c391 Rover: minor fixes for reversed handling 2018-08-22 14:25:22 +09:00
Raouf ea62c24cef Rover: Move set_reverse method to Mode class 2018-08-22 13:36:38 +09:00
Ebin 6dcab4e87b Rover: support balance bot in AUTO mdoe 2018-07-28 08:44:18 +10:00
Randy Mackay 3b7e84ce7a Rover: calc_steering_to_heading updates yaw error
this allow the vehicle's speed to be reduced based on the heading error
2018-07-18 15:11:09 +09:00
jeff567 200a644cfe Rover: fixes bug in rovers with pivot turning 2018-07-11 11:35:43 +09:00
Ebin 2780d1715c Rover: balance bot pitch control added in all modes 2018-06-28 21:55:20 +09:00
Randy Mackay 8464e82812 Rover: set_desired_speed range checks speed 2018-06-11 09:10:35 +09:00
Randy Mackay 645edf1f57 Rover: wp_overshoot used to limit speed in Auto
Limits desired speed to max possible given max lateral
acceleration and distance to line between waypoints
Replaces the use of SPEED_TURN_GAIN which scaled down speed
Also used in Guided, RTL, SmartRTL
2018-06-08 09:19:25 +09:00
Ammarf 26c25daa36 Rover: add support for lateral control input 2018-05-31 13:48:17 +09:00
Randy Mackay fc35e74821 Rover: pass dt to attitude controller 2018-05-24 11:06:20 +09:00
Randy Mackay 444e64a3d0 Rover: slow before pivot turns 2018-05-24 11:06:20 +09:00
Ammarf d7821635c0 Rover: seperate acceleration/deceleration limits 2018-05-23 17:17:29 +09:00
Ammarf 2d64a47f90 Rover: add pivot_turn_rate to g2 2018-05-21 09:48:43 +09:00
Randy Mackay 0a29e4eac5 Rover: fix calc-steering-to-waypoint go use real heading without reverse 2018-05-10 08:02:13 +09:00
Randy Mackay 957458ca56 Rover: add get_pilot_desired_steering_and_speed
Also fix reversed steering response where throttle or acceleration limiting leads to throttle output being in the opposite direction from pilot's throttle input
2018-05-10 08:02:13 +09:00
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 6b6c0f04b6 Rover: get_pilot_desired_steering_and_throttle returns steering assuming positive is always clockwise 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 f7a168478d Rover: integrate attitude control's get_steering_out_heading 2018-04-05 12:14:59 +09:00
Randy Mackay e8070a5cb3 Rover: pass waypoint radius to L1 as min dist along track 2018-04-05 12:14:59 +09:00
Randy Mackay 41bd79a387 Rover: pivot-turn uses heading controller 2018-04-05 12:14:59 +09:00
Randy Mackay 00353c7a06 Rover: avoid divide by zero in desired speed at waypoint calcs 2018-03-14 12:40:04 +09:00
Randy Mackay 343d119726 Rover: wp nav uses stopping point or prev wp for origin 2018-03-14 12:40:04 +09:00
Randy Mackay e3f70119fe Rover: fix two-paddle input decoding
steering output was twice what it should be.  full steering (i.e. 4500 or -4500) should occur when one paddle is up and the other is completely down
2018-03-12 14:39:13 +09:00
Randy Mackay 4e8399ca3f Rover: acro and steering steer even with target speed of zero 2018-03-08 14:45:43 +09:00
Randy Mackay a5d7b8bb19 Rover: remove unused definition 2018-01-23 15:52:39 +09:00
Randy Mackay 9cba1e2907 Rover: gps check replaced by requires-position, requires-velocity
requires_gps is replaced by requires_position and requires_velocity
enter_gps_checks method is removed and enter method directly checks ekf flags and ekf origin
2018-01-23 11:27:56 +09:00
Randy Mackay 6ce9b47807 Rover: calc_speed_nudge honours max speed even in reverse
calc_speed_nudge allows the pilot to increase the speed of the vehicle including cases when the vehicle is in reverse.  This fixes the nudging code so the pilot-nudged throttle does not surpass the vehicle's maximum speed even in reverse.
Thanks to  pavloblindnology for finding this!
2018-01-19 09:23:33 +09:00
Randy Mackay e2824be250 Rover: add const and comments to calc_speed_max 2018-01-12 08:15:34 +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
Peter Barker 1d3e7d454a Rover: correct gps-is-healthy mode change check 2017-12-28 15:35:19 +00:00