Commit Graph

1819 Commits

Author SHA1 Message Date
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
Peter Barker 144f4e08b8 APMrover2: compass init never fails 2019-03-13 13:06:50 +11:00
Peter Barker 5bd0db4117 Rover: use enum class for ArmingMethod and ArmingRequired 2019-03-12 19:48:14 +11:00
Peter Barker a17dbbe856 Rover: remove redundant PreArm: in check_failed calls 2019-03-08 08:57:53 +09:00
Peter Barker a38092e220 Rover: move checking of fence up 2019-03-08 08:57:27 +09:00
Peter Barker ee15be3bb3 Rover: fix multi-motors prearm check 2019-03-06 10:11:58 +09:00
Peter Barker 1debd88083 Rover: move sending of send_pid_tuning up 2019-03-05 10:41:56 +11:00
Michael du Breuil 1420ac868d APMRover2: Allow scripting to run 2019-03-05 08:45:54 +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
IamPete1 4f9b8e1b6c Rover: add E-stop 2019-02-27 08:51:24 +09:00
Peter Barker 75af170900 Rover: AHRS set_orientation renamed to update_orientation 2019-02-26 10:28:09 +11:00
Peter Barker 101ce74071 Rover: Rally no longer takes ahrs in constructor 2019-02-20 18:03:38 +11:00
Peter Barker a24de20f51 Rover: move update_sensor_flags to GCS_Rover.cpp 2019-02-20 11:57:00 +11:00
Peter Barker 323d6850d5 Rover: move update_sensor_status_flags into GCS subclasses 2019-02-19 14:09:59 +11:00
Peter Barker 6331efcc12 Rover: move sensor flags to be a GCS thing rather than a GCS_MAVLINK thing 2019-02-19 14:09:59 +11:00
Peter Barker 7d6140e029 Rover: GCS_MAVLink takes care of mavlink capabilities 2019-02-19 13:14:52 +11:00
Peter Barker d1cada0e25 Rover: move try_send_message of nav_controller_output up 2019-02-19 10:08:00 +11:00
Ebin 0f5041e873 Rover: added acro mode to MIS_DONE_BEHAVE 2019-02-16 13:55:17 +09:00
Ebin 85c3286c6e Rover: balance bots continue balancing when stopped 2019-02-16 13:55:11 +09:00
Ebin e806d0c385 Rover: add param to offset balancing point for balance bots 2019-02-16 13:54:50 +09:00
Peter Barker 76910f9283 Rover: move visual odometry update function into AP_VisualOdom 2019-02-16 15:13:59 +11:00
Peter Barker 88575bd536 Rover: magically set home when toggling first waypoint in
Currently the first toggle will put home in rather than the first
waypoint
2019-02-16 11:23:00 +09:00
Peter Barker dbdf17d6c6 Rover: use visual odometry singleton 2019-02-15 16:56:13 +11:00
Peter Barker 1977123362 Rover: remove redundant home-setting sanity checks 2019-02-15 08:28:45 +11:00
Peter Barker a722fd1323 Rover: make setting of home boolean in preparation for sanity checks 2019-02-15 08:28:45 +11:00
Peter Barker 277f3799a5 Rover: devo telemetry no long requires singleton classes to be passed in 2019-02-13 19:24:07 +00:00
Randy Mackay 2ba6aa7e8a Rover: guided heading-and-speed control fix
This removes the lane-based-speed-control from guided mode's heading-and-speed controller which does not use the navigation controller
2019-02-13 20:11:27 +09:00
Peter Barker 6fcdfbbe32 Rover: attempt to set home position regardless of GPS lock
The AHRS may be supplying as a home position through mechanisms other
than a GPS lock.  Don't assume in the caller to update_home().

Rover: fold update_home_from_EKF back into sole caller

This method is confusingly similarly named to update_home - and they do
pretty much the opposite thing.

Rover: remove incorrect and misleading comments on set_home_to_current_location

Rover: rewrite update_home to not set home if no origin set

Also checks that home is set before using values from it

Rover: zero stack variables when updating home

If these are a problem we have significant problems through the code
2019-02-13 09:42:26 +11:00
Peter Barker 4cdbcab723 Rover: move handling of command-int MAV_CMD_DO_SET_HOME up 2019-02-13 09:42:26 +11:00
Peter Barker dab23b817c Rover: AP_Frsky_Telem uses singletons 2019-02-12 17:53:23 +00:00
Peter Barker 9105284a7d Rover: remove rc out initialisation wrappers 2019-02-12 08:21:30 +09:00
Peter Barker 9496ffea14 Rover: enable gripper support 2019-02-09 11:02:22 +09:00
Peter Barker 8244158969 Rover: move handling of fence point handling up 2019-02-08 11:47:59 +09:00
Peter Barker ded3ab99bb Rover: move handling of MAV_CMD_DO_SET_FENCE_ENABLED up 2019-02-08 11:47:59 +09:00
Randy Mackay d50a94aacf Rover: minor comment fix to set-position-target handling 2019-02-08 09:28:23 +09:00
Randy Mackay 90fc2be79d Rover: 3.5.0 release notes 2019-02-06 15:53:14 +09:00
Tom Pittenger d5c67e0b07 Rover: move wheelEncoder logging to library 2019-02-06 10:41:59 +09:00
Randy Mackay 9067e1099f Rover: fix LOIT_TYPE param description 2019-02-06 09:03:35 +09:00
Tom Pittenger 12f66acfb7 Rover: remove wheel_encoder_rpm 2019-02-05 08:32:37 -08:00
jmachuca77 692281b273 Rover: adding AP_RPM 2019-02-05 08:32:37 -08:00
Peter Barker 76fe58a3bd Rover: move handling of RC_CHANNELS_OVERRIDE up 2019-02-05 13:59:21 +11:00
Peter Barker 7ea223eac6 Rover: move sending of sys_status message up 2019-02-05 11:07:39 +11: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
Peter Barker 9b16d1bbd3 Rover: move sending of fence_status up 2019-01-31 13:44:29 +09:00
Peter Barker bcc60fd90e Rover: fence no longer takes reference to ahrs in constructor 2019-01-31 11:25:38 +09:00
Randy Mackay c3016e9180 Rover: 3.5.0-rc3 release notes 2019-01-30 10:07:03 +09:00
Randy Mackay ce3de6b047 Rover: send_wheel_encoder_distance uses definition for array size 2019-01-28 19:35:18 +09:00
Pavlo Kolomiiets c0dcb93e4c Rover: send mavlink WHEEL_DISTANCE message 2019-01-28 19:35:18 +09:00
Randy Mackay 88e8a849bd Rover: make omni setup protected in AP_MotorsUGV 2019-01-26 09:50:33 +09:00
Randy Mackay bdf6c09a76 Rover: rename custom to omni in AP_MotorsUGV 2019-01-26 09:50:33 +09:00
Randy Mackay 23efb533d5 Rover: 3.5.0-rc2 release notes 2019-01-24 09:49:30 +09:00
Randy Mackay ac773ccd79 Rover: convert ch7_option param to rc7_option 2019-01-23 20:13:50 +09:00
Pavlo Kolomiiets 2c909cf83b AP_WheelEncoder: Wheel encoder's offsets are properly propagated to EKF3. 2019-01-23 17:01:13 +09:00
Peter Barker 1b6bed0d4b Rover: adjust LOG_BITMASK description to remove APM2 2019-01-20 09:35:32 +09:00
Peter Barker 6fc76a32af GLOBAL: use AP::logger() and strip redundant Log_ from methods 2019-01-18 18:08:20 +11:00
Peter Barker b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +11:00
Peter Barker b789f75f32 Rover: Log_Write_SIMSTATE no longer takes dataflash pointer 2019-01-18 11:16:54 +11:00
Peter Barker cc011d1a3d Rover: remove PX4 FWVersion info 2019-01-16 11:47:55 +11:00
Peter Barker 4e94d5c0ce APMrover2: adjust for Location_Class and Location unification 2019-01-16 11:45:29 +11:00
TsuyoshiKawamura 1e033e616f Rover: Loiter in AUTO mode for boat 2019-01-10 20:42:39 +09:00
TsuyoshiKawamura 5575eeddab Rover: fixed coverity issue around loiter logic 2019-01-10 20:24:57 +09:00
TsuyoshiKawamura 41fd596c06 Rover: improve cruise speed/throttle learning. fix #9777 2019-01-10 20:23:36 +09:00
TsuyoshiKawamura e64f50860f Rover: move mode_from_mode_num function to its alphabetical order. 2019-01-09 08:45:01 +09:00
Michael du Breuil b00b7e827f APMRover2: Remove unneeded GCS rally override 2019-01-08 10:39:50 +11:00
Michael du Breuil d920795537 Rover: Reset all storage when format version is incorrect 2019-01-08 10:35:37 +11:00
murata f88863212e Rover: Delete NuttX version processing 2019-01-08 10:06:20 +11:00
TsuyoshiKawamura 17f8b89b17 Rover: move mode_from_mode_num to mode.cpp 2019-01-07 12:53:45 -08:00
Andrew Tridgell ce9352942f Rover: allow mavlink when in sensor error 2019-01-04 19:17:31 +11:00
Peter Barker ca0374a7af Rover: do not permit copying of a Mode 2019-01-03 13:35:33 +09:00
Michael du Breuil 216cb23806 APMRover2: Remove unneeded AP_Buffer include 2018-12-31 11:41:43 +09:00
Andrew Tridgell 088442880e build: removed makefile build system 2018-12-22 11:06:59 +11:00
TsuyoshiKawamura a9781686b1 Rover: Vehicle will stop with loiter in Guided mode for boat. 2018-12-20 20:13:15 +09:00
Randy Mackay 80e9a54aed Rover: arming and mode init checks use ekf_position_ok 2018-12-20 15:15:00 +09:00
Tatsuya Yamaguchi 3ff1bb7714 Rover: add ekf failsafe 2018-12-20 15:15:00 +09:00
Peter Barker 1ee8cfad6f Rover: split SIMSTATE, AHRS2 and AHRS3 onto their own ap_message ids 2018-12-19 13:19:23 +11:00
Peter Barker f8f5faa6b9 Rover: split DISTANCE_SENSOR onto its own ap_message id 2018-12-19 07:24:37 +11:00
Peter Barker 88dfb3220b Rover: try_send_message caller checks telemetry_delayed 2018-12-18 14:25:56 +11:00
Peter Barker 90d13548a1 Rover: split SYS_STATUS and POWER_STATUS onto separate ap_messages 2018-12-18 14:05:20 +11:00
Randy Mackay 8e96eb969f Rover: support DShot ESCs 2018-12-18 11:21:24 +09:00
Peter Barker 588829161b Rover: move accept_packet to GCS_MAVLink base class 2018-12-14 12:44:31 +11:00
Randy Mackay 17af4c8933 Rover: enable avoidance in auto, RTL, smartRTL 2018-12-14 09:18:23 +09:00
Randy Mackay 66a2c10203 Rover: proximity logging uses LOG_BITMASK for rangefinder 2018-12-14 09:18:23 +09:00
Peter Barker a98e9f498f Rover: DataFlash uses AP_Mission singleton 2018-12-13 14:45:30 +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
Peter Barker 0fa9f43815 Rover: GCS_MAVLink now uses Mission singleton 2018-12-13 10:52:52 +09:00
Randy Mackay 452382ff76 Rover: loiter provides bearing to target 2018-12-13 09:30:19 +09:00
Randy Mackay 6b5ff939f2 Rover: follow provides distance and bearing to target 2018-12-13 09:30:19 +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
Randy Mackay 2b97e496ff Rover: nav-controller-output msg sends roll as zero and pitch for balance bot 2018-12-13 09:30:19 +09:00
Peter Barker d1eb9c5c71 Rover: split MSG_SCALED_PRESSURE into three separate messages 2018-12-12 21:36:01 +11:00
Peter Barker 2e03061625 Rover: GCS_MAVLink uses dataflash singleton 2018-12-11 08:43:47 +09:00
Peter Barker f2dc8f9282 Rover: call GCS update functions at much higher rate to support lower intervals 2018-12-10 12:52:41 +09:00
Peter Barker 434a263ef4 Rover: split MSG_RAW_IMU1 into per-IMU ap_messages 2018-12-10 12:52:41 +09:00
Peter Barker a5b5688960 Rover: send both SYS_STATUS or POWER_STATUS or neither 2018-12-10 12:52:41 +09:00
Peter Barker b67876316a Rover: rename send_extended_status1 to send_sys_status 2018-12-10 12:52:41 +09:00
Peter Barker 9665d8d2e9 Rover: adjust for new update entry points into GCS 2018-12-10 12:52:41 +09:00
Peter Barker 0d8e3bdfd8 Rover: add parameter stream to list-of-all-streams 2018-12-10 12:52:41 +09:00
Peter Barker dc4e58de13 Rover: rename MSG_EXTENDED_STATUS2 to MSG_MEMINFO 2018-12-04 18:01:38 +11:00
Peter Barker 54d4030ed1 Rover: rename MSG_RAW_IMU2 and MSG_RAW_IMU3 to reflect what they send 2018-12-04 17:45:32 +11:00
Randy Mackay b1a5636d4d Rover: fix auto enter check 2018-12-04 11:21:13 +09:00
Andrew Tridgell eb851cf1a6 Rover: log SITL state 2018-12-04 09:44:50 +11:00
TsuyoshiKawamura ba0926e101 Rover: MIS_DONE_BEHAVE parameter to choose mode after mission done 2018-11-23 15:27:58 +09:00
Peter Barker 86994ba195 Rover: remove pointless wrappers around RC_Channels functions 2018-11-23 10:56:17 +11:00
Peter Barker 5dcf4dfffc Rover: remove pointless wrappers around gcs functions 2018-11-23 10:56:17 +11:00
DOMINATOR\Eugene cdbffb4ecc APMrover2: move airspeed update to library 2018-11-17 07:52:42 +11:00
Randy Mackay 002223204b Rover: add comments to failsafe structure 2018-11-14 20:32:53 +09:00
Tatsuya Yamaguchi c9299db3b9 Rover: ignore pilot's input during RC failsafe 2018-11-14 20:32:44 +09:00
Tatsuya Yamaguchi 32ba248c73 Rover: add continue-in-auto option to failsafe 2018-11-14 20:24:01 +09:00
Tatsuya Yamaguchi 44360a769d Rover: fix to use defined value of failsafe action 2018-11-14 11:18:43 +09:00
Peter Barker 78313dab4a Rover: stop passing ahrs to OpticalFlow constructor 2018-11-13 10:40:23 +11:00
Randy Mackay 1069ab0860 Rover: GCS invoked RTL returns failed when set-mode fails 2018-11-12 15:58:21 +09:00
Randy Mackay 4c3651c2be Rover: 3.5.0-rc1 release notes 2018-11-12 13:44:50 +09:00
Peter Barker 67e5b18268 Rover: factor out do_aux_function_change_mode 2018-11-08 10:01:16 +09:00
Peter Barker 86168cd180 Rover: add override keyword where required, fix bad method override 2018-11-08 11:30:12 +11:00
Michael du Breuil 65af2bc56b Rover: Fix sail motor test not being reachable
CID: 325623
2018-11-06 16:23:59 +09:00
Michael du Breuil a40295c3b6 Rover: Make capability init consistent 2018-11-05 14:04:36 +11:00
Randy Mackay 380884e175 Rover: shorten radio/throttle failsafe to 0.2 sec min 2018-11-02 10:31:37 +09:00
Randy Mackay 2408538bdf Rover: failsafe clears rc-overrides 2018-11-02 10:31:37 +09:00
Randy Mackay 6167e6ac0b Rover: gcs fs not triggered if rc-overrides arrive
also not triggered if manual-control messages arrive
also minor restructure of gcs_failsafe_check (non-functional)
also remove unnecessary failsafe_trigger call when heartbeats arrive
2018-11-02 10:31:37 +09:00
Randy Mackay 047f704236 Rover: last_heartbeat_ms moved to failsafe structure 2018-11-02 10:31:37 +09:00
Randy Mackay ed8feda5b9 Rover: shorten failsafe timeouts
radio failsafes may trigger within 1sec (previously was 2 seconds)
default failsafe set to 1.5sec (was 5sec)
also minor improvement to FS_TIMEOUT parameter description
2018-11-02 10:31:37 +09:00
Randy Mackay fa5de31cb9 Rover: rename control_failsafe to radio_failsafe_check
although this makes the name inconsistent with plane it is more precise because control can also come from rc-overrides which are covered by the GCS failsafe
2018-11-02 10:31:37 +09:00
Randy Mackay 69e5a4b262 Rover: sailboat tack triggered by any switch movement 2018-11-01 18:04:19 +09:00
Randy Mackay 2db6b7c7cb Rover: move sailboat vars into struct
also fix airspeed library's parameter description
also log NaN when we do not have wind direction or speed estimates
also send timeout message to GCS when taking takes too long
2018-11-01 18:04:19 +09:00
Randy Mackay 4dbff6af7e Rover: use AP_WindVane's send_wind 2018-11-01 18:04:19 +09:00
IamPete1 0dddc2eafe Rover: add sailboat tacking 2018-11-01 18:04:19 +09:00
Peter Barker 9a263780d0 Rover: move handling of gimbal messages up
Rover: move handling of mav_cmd_do_mount_control up

Rover: move handling of deprecated mount messages up

Rover: move handling of command_do_set_roi up

Rover: move handling of command_do_set_roi up

Rover: mount no longer takes ahrs in constructor
2018-10-30 17:19:14 +11:00
Peter Barker 42b196a9a6 Rover: let AP_Mission handle common camera commands 2018-10-30 15:37:18 +11:00
Peter Barker 0eff11eebe Rover: move servorelayevents mission handling into AP_Mission 2018-10-30 15:37:18 +11:00
Peter Barker 6cbcfb5d61 Rover: AC_Avoid is built on all vehicles 2018-10-30 12:10:42 +11:00
Randy Mackay b64bdcdfda Rover: remove proximity check from arming checks
it is OK for rovers to be armed very close to objects especially when they are beside the rover
2018-10-26 14:38:04 +09:00
Andrew Tridgell 7ae90237e3 Rover: use set_flying to allow for compass learning to run 2018-10-24 07:25:42 +10:00
Peter Barker 50cb391dea Rover: leave AHRS to log and notify home changes 2018-10-16 10:55:13 +11:00
Randy Mackay 3e7cd5a721 Rover: fix typo on call to AP_WindVane 2018-10-07 15:46:57 +09:00
Raouf fc5ce7b273 Rover: send obstacle_distance messages to proximity lib 2018-10-02 10:37:13 +09:00
Randy Mackay 925d4035a4 Rover: fix loiter comment 2018-09-28 10:40:12 +09:00
Randy Mackay c3f3ee03d0 Rover: windvane calibration can be started with preflight-calibration msg
send COMMAND_LONG with MAV_CMD_PREFLIGHT_CALIBRATION command and set param6 field to 3
2018-09-28 10:40:12 +09:00
Randy Mackay 4a5b56c929 Rover: windvane update called from scheduler at 20hz 2018-09-28 10:40:12 +09:00
Randy Mackay 7163839117 AP_MotorsUGV: remove arg from output_mainsail
no need to pass in argument which is always a local variable
2018-09-28 10:40:12 +09:00
IamPete1 4366bae96d Rover: add sailboat support 2018-09-28 10:40:12 +09:00
IamPete1 100c494127 Rover: add loiter radius parameter 2018-09-28 10:40:12 +09:00
IamPete1 e3d5db8db5 Rover: add AP_WindVane to build 2018-09-28 10:40:12 +09:00
Randy Mackay a59b83af9a AP_MotorsUGV: add mainsail to servo test 2018-09-28 10:40:12 +09:00
IamPete1 fa0fc5eade AP_MotorsUGV: add mailsail support for sailboats 2018-09-28 10:40:12 +09:00
Randy Mackay 0665ac5229 Rover: rename rudder_arming to get_rudder_arming_type 2018-09-11 19:34:39 +10:00
Randy Mackay b1a4cd55fd Rover: support disabling rudder arming 2018-09-11 19:34:39 +10:00
Randy Mackay 9c13324b87 Rover: update simple call to calc_steering_to_heading 2018-09-11 16:43:17 +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