Commit Graph

1351 Commits

Author SHA1 Message Date
Dylan Herman
c14af79975 Rover: now sends SCALED_PRESSURE msg 2018-01-22 10:04:57 +09:00
Dylan Herman
9d7eb188d1 Rover: enter Hold on failure to enter RTL fs action 2018-01-19 09:26:45 +09:00
Dylan Herman
f3b794f698 Rover: Add SmartRTL failsafe action
Add failsafe actions SmartRTL or RTL and SmartRTL or Hold
2018-01-19 09:26:45 +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
Dylan Herman
3edaff0309 Rover: sets SmartRTL home after ahrs home is set
Now uses AP_SmartRTL::set_home. It is called when arming and when GCS
requests home to be set to the current location
2018-01-17 11:03:56 +09:00
Randy Mackay
ed452c6a27 Rover: version to 3.2.1-dev
this helps us easily determine if developer versions are from before or after the 3.2 release
2018-01-13 17:53:18 +09:00
Randy Mackay
a3b667ea24 Rover: 3.2.0 release notes 2018-01-13 15:28:58 +09:00
Randy Mackay
e2824be250 Rover: add const and comments to calc_speed_max 2018-01-12 08:15:34 +09:00
Randy Mackay
5cd500847b Rover: rename auto_throttle to allows_arming_from_transmitter
This method is only used to determine whether we can arm from the transmitter so better to make its purpose more clear
Also minor comment fix to is_autopilot_mode method
2018-01-12 08:15:34 +09:00
Randy Mackay
5167ec7708 Rover: send PID to GCS regardless of mode
Also add some comments
2018-01-12 08:15:34 +09:00
Randy Mackay
5a5be9175d Rover: 3.2.0-rc4 release notes 2018-01-05 14:02:01 +09:00
Randy Mackay
072b5187a3 Rover: steering mode reversing fix 2018-01-05 10:23:20 +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
dc283e9c26 Rover: re-order calc_steering declarations to match .cpp file 2018-01-04 14:07:55 +09:00
Peter Barker
1d3e7d454a Rover: correct gps-is-healthy mode change check 2017-12-28 15:35:19 +00:00
Peter Barker
7cf2712bf1 Rover: AP_AHRS no longer requires GPS in constructor 2017-12-27 00:58:02 +00:00
Randy Mackay
457c39bf1b Rover: FS_ param values changed to camel case
Also minor comment change in crash-check failsafe
2017-12-23 13:53:34 +09:00
Randy Mackay
241456f55f Rover: remove auto trim at startup
Also add additional checks to auto trim
2017-12-15 20:26:40 +09:00
Randy Mackay
6459a4de9d Rover: gyro health check uses initialised flag
We should not be relying on the notify flags as a way to pass info around the system.  Rover's initialised flag is equivalent and more appropriate.
2017-12-15 20:26:40 +09:00
Randy Mackay
a8da459baf Rover: GPS reported healthy to GCS even without lock
a GPS is unhealthy when it cannot be contacted.  Not having a 3D lock should not make the GPS unhealthy.
2017-12-15 20:26:40 +09:00
Peter Barker
bce9a40ab5 Rover: remove unimplemented methods 2017-12-15 13:27:14 +09:00
Andrew Tridgell
482ae876fb Rover: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Randy Mackay
f6f40afcda Rover: rename control_mode_from_num to mode_from_mode_num 2017-12-12 10:39:26 +09:00
Randy Mackay
c17549c7ff AP_Arming: integrate pre arm check if regular and skid steering configured 2017-12-11 11:56:12 +09:00
Randy Mackay
ebe3ec88a7 AP_MotorsUGV: pre arm check if regular and skid steering configured 2017-12-11 11:56:12 +09:00
Randy Mackay
5d7e3d31c9 Rover: PM log message more consistent with Plane 2017-12-09 16:23:16 +09:00
Randy Mackay
4958298a75 Rover: fix auto mode distance_to_destination 2017-12-09 12:52:35 +09:00
Randy Mackay
de196f818d Rover: log STER dataflash message regardless of mode
It is useful to at least have the pilot's steering in request even in manual modes
2017-12-09 12:18:49 +09:00
Randy Mackay
5f62cde550 Rover: remove throttle from NTUN logging
Throttle is more extensively logged in the THR message
2017-12-09 12:18:49 +09:00
Randy Mackay
9710b16cac Rover: THR dataflash logging replaces CTUN 2017-12-09 12:18:49 +09:00
Randy Mackay
efae648461 Rover: STR dataflash logging gets turn rate
also get turn rate and lat accel from attitude controller
2017-12-09 12:18:49 +09:00
Randy Mackay
8e80490098 Rover: reporting gets lat accel from attitude control 2017-12-09 12:18:49 +09:00
Randy Mackay
b778546eda Rover: rename mode lateral acceleration and make private 2017-12-09 12:18:49 +09:00
Randy Mackay
df81f666df Rover: fix LOG_BITMASK parameter description 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
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
aa38239629 Rover: add FRAME_CLASS to differentiate boats from rovers 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
22ef276484 Rover: add const to mode::speed_error 2017-12-07 07:29:10 +09:00
Randy Mackay
8f08f5189a Rover: constify some temporary variables 2017-12-07 07:29:10 +09:00
Randy Mackay
5dabb37834 Rover: 3.2.0-rc3 release notes 2017-12-05 20:57:27 +09:00
Randy Mackay
bccdb4e195 Rover: hold mode does not require GPS
If armed without GPS, the user was unable to enter hold mode
2017-12-05 20:26:38 +09:00
Randy Mackay
97e87e2150 AP_MotorsUGV: skid steering always uses full range
Allows skid friction to be removed
2017-12-05 20:26:35 +09:00
Randy Mackay
988e4290dd Rover: formatting and comments for set-position-target handling 2017-12-05 12:15:33 +09:00
Randy Mackay
1d92ec5724 Rover: set-position-target message processing only checks xy fields 2017-12-05 12:15:31 +09:00
khancyr
9299943347 Rover: adjust setpoint_velocity handling 2017-12-05 12:14:46 +09:00
Randy Mackay
87658e6a07 AP_MotorsUGV: add MOT_THST_EXPO to scale output to motors 2017-12-04 09:53:06 +09:00
Randy Mackay
bee8741b60 AP_MotorsUGV: order methods in cpp file to match h
non-functional change
2017-12-04 09:53:06 +09:00
Randy Mackay
865fb91676 Rover: add rpm to WENC dataflash logging 2017-12-04 09:53:06 +09:00
Peter Barker
1d2ec9054b Rover: tighten return types of mavlink functions and variables 2017-12-01 17:01:10 +00:00
Randy Mackay
0c6afac5c6 Rover: allow mode to be set from ch7 switch 2017-12-01 21:59:55 +09:00
Randy Mackay
ed558dd9a0 Rover: play sad tune when arming fails 2017-12-01 21:59:55 +09:00
Randy Mackay
b4a779aec3 Rover: add arm/disarm to ch7 switch 2017-12-01 21:59:55 +09:00
Randy Mackay
8eb58b266a Rover: remove unused failsafe_throttle_suppress method 2017-12-01 21:59:55 +09:00
Randy Mackay
8043c0f638 Rover: reduce arming delay to 2 sec 2017-12-01 21:59:55 +09:00
Peter Barker
e38cefea8a Rover: add SmartRTL mode
called at 3hz from scheduler
2017-12-01 09:28:56 +09:00
Randy Mackay
86ce3f2b32 Rover: add SmartRTL library to build 2017-12-01 09:28:56 +09:00
Randy Mackay
9f94875228 Rover: mode class gets set_desired_location_NED 2017-12-01 09:28:56 +09:00
Randy Mackay
6d472376bb AP_MotorsUGV: do not limit just because of saturation
steering and throttle limit flags should only be set when there is no point in the caller passing in higher values because it will not result in an increased response.  In the case of saturation, higher inputs will still result in a higher response.
2017-11-30 20:13:11 +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
1a59b38204 Rover: use throttle rather than steering to determine target speed 2017-11-30 15:37:40 +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
69dc68d621 Rover: re-order acro mode to add early return
non-functional change
2017-11-29 14:03:43 +09:00
Randy Mackay
060f1d36dd Rover: allow aux switch to record waypoints when not in auto-mode
this reduces the changes required when adding new modes
2017-11-29 14:03:43 +09:00
Peter Barker
45d76bdf25 Rover: add name4() to Mode and use it for AP_Notify calls 2017-11-29 14:03:43 +09:00
Randy Mackay
04e9228fa0 Rover: add Acro mode
ACRO_TURN_RATE allows user control of maximum turn rate
2017-11-29 14:03:43 +09:00
Randy Mackay
5b7cd31221 Rover: send steering PID tuning to GCS in most modes
Using manual_steering and auto_throttle is not perfectly correct because we will send steering rate PID info in HOLD mode but will not send throttle PID info in Steering mode
2017-11-29 09:38:53 +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
fa7c56a110 Rover: minor comment fix 2017-11-28 10:38:19 +09:00
Daniel Widmann
8f1857759f AP_MotorsUGV: allow larger MOT_SLEWRATE values 2017-11-28 09:12:18 +09:00
Randy Mackay
78275ec4a1 AP_MotorsUGV: throttle slew updates motor limit flags
this ensure I-term build-up doesn't happen when the slew
causes the throttle to react slowly
2017-11-28 09:12:18 +09:00
Andrew Tridgell
01c4e51d08 Rover: don't disable compass on one bad reading
the compass can go back for a short time and recover

found by Michael
2017-11-28 09:02:24 +11:00
Randy Mackay
a7fd353f14 Rover: add comment to unused param enum entries 2017-11-27 20:40:35 +09:00
Randy Mackay
6d805b64b6 AP_MotorsUGV: remove access to enable/disable throttle slewing 2017-11-27 14:31:20 +09:00
Randy Mackay
23028a659b Rover: slew throttle in all modes 2017-11-27 14:31:20 +09:00
Randy Mackay
822c4b6dca Rover: remove set of slew for motor test
The motor library test function does not attempt to implement slewing so setting this is not necessary
2017-11-27 14:31:20 +09:00
Randy Mackay
cab972a429 Rover: reduce TURN_MAX_G default to 1.0
This is probably still slightly too high but closer than the previous 2.0
2017-11-27 12:25:28 +09:00
Peter Barker
9272c10043 Rover: use short descriptions for mission item types 2017-11-27 10:28:24 +09:00
Randy Mackay
b60cb536ab Rover: RTL within auto mode 2017-11-23 10:20:19 +09:00
Randy Mackay
14d9e932ab Rover: allow disarming from transmitter on skid-steering vehicles 2017-11-23 09:07:04 +09:00
Peter Barker
bf6b3a72bc Rover: support for units on fields 2017-11-23 10:40:30 +11:00
khancyr
279a57dc10 APMrover2: fix servo_out to GCS message 2017-11-21 20:23:55 +09:00
khancyr
005002736b AP_MotorsUGV: fix MOT_SLEWRATE parameter description 2017-11-21 20:02:20 +09:00
Andrew Tridgell
d57f307032 Rover: use cork/push wrapper 2017-11-21 14:10:54 +11:00
Peter Barker
c00a4f3bb2 Rover: AP_Camera uses GPS singleton 2017-11-16 15:28:37 +00:00
Peter Barker
baf82cec22 Rover: use gps singleton for GCS functions 2017-11-15 13:43:03 +00:00
khancyr
c08203de17 Rover: allow pivot turn in STEERING mode 2017-11-15 13:46:58 +09:00
André Kjellstrup
aab22d7dad Rover: Option to trig by distance only when in AUTO mode 2017-11-14 00:10:22 +00: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
Daniel Widmann
ac7e76cc43 Rover: enable pivot turns in auto mode 2017-11-08 14:35:00 +09:00
Pierre Kancir
4d38eb85a1 APMRover2: Add support of MANUAL_CONTROL msg 2017-10-31 09:31:05 +09:00
Randy Mackay
7fb4f17ad9 Rover: 3.2.0-rc2 release notes 2017-10-28 15:16:11 +09:00
Peter Barker
2d0a23fcc8 Rover: call ins's periodic function 2017-10-27 16:33:45 +11:00
khancyr
74d5767e25 Rover: Fix slew rate range 2017-10-26 19:44:43 +09:00
Randy Mackay
2ef1e8e4c2 Rover: fix PID desired and achieved reporting 2017-10-26 19:44:18 +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