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
Randy Mackay
b778546eda
Rover: rename mode lateral acceleration and make private
2017-12-09 12:18:49 +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
9f94875228
Rover: mode class gets set_desired_location_NED
2017-12-01 09:28:56 +09:00
Peter Barker
5612292802
Rover: allow vehicle to be armed in manual with no GPS
2017-11-30 15:41:50 +09:00
Peter Barker
68800a52f5
Rover: move RC failsafe check up
...
Both steering and acro modes can benefit from this check
2017-11-29 17:35:44 +09:00
Randy Mackay
26f50f6055
Rover: PILOT_STEER_TYPE replaces SKID_STEER_IN
...
new options allow controlling vehicle's heading while reversing
skid-steering vehicles rotate in opposite direction when backing up
2017-11-29 09:38:53 +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
7e2214c2be
Rover: simplify logic for lateral-accel override during use-pivot-steering
...
It was theoretically possible that the lateral-acceleration would not be overwritten if the yaw-error-cd was exactly zero
2017-11-08 17:15:59 +09:00
khancyr
2b0645d6a1
Rover: get_throttle_out calls do not require skid-steering arg
2017-11-08 15:45:43 +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
ea70755f00
Rover: fix speed nudge
...
fix bug when target speed was exactly zero which caused nudge to be a large negative value
2017-10-26 19:44:07 +09:00
khancyr
2ceb29e9da
Rover: use abs for int within calc_speed_nudge
...
same issue resoled for log-write-nav-tuning
2017-08-17 09:46:56 +09:00
khancyr
58b643c458
Rover: replace divide with multiply in calc_throttle
...
non functional change
2017-08-17 09:45:21 +09:00
Randy Mackay
c9927e6af6
Rover: bug fix to steering mode top speed
...
Also non-functional change to calc_throttle to make call to calc_speed_nudge consistent
2017-08-17 09:39:40 +09:00
Randy Mackay
167a856cdb
Rover: remove THR_MIN, THR_MAX parameters from vehicle
...
enforcing these limits is now handled by AP_MotorsUGV class
2017-08-17 09:39:40 +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