Commit Graph

1618 Commits

Author SHA1 Message Date
murata c705d3d816 Rover: Modify indentation (NFC) 2018-07-30 08:17:53 +09:00
Ebin 6dcab4e87b Rover: support balance bot in AUTO mdoe 2018-07-28 08:44:18 +10:00
Randy Mackay f7f4b43683 Rover: 3.4.2-rc1 release notes 2018-07-23 17:15:33 +09:00
Peter Barker 24ef1a61b3 Rover: remove old AP_Menu include 2018-07-23 14:20:22 +09:00
Randy Mackay 82aba6fe56 Rover: guided heading-and-speed control slows using yaw error 2018-07-18 15:11:09 +09:00
Randy Mackay 5dc4b8e66d Rover: guided mode slows to stopping point on init 2018-07-18 15:11:09 +09:00
Randy Mackay 77598f72d1 Rover: remove redundant set_steering calls from Guided
steering is centered within the stop_vehicle method
2018-07-18 15:11:09 +09: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
Randy Mackay 84bda4e893 Rover: follow mode fixes and improvements
fix follow endless loop on enter
pass mavlink messages to AP_Follow
separate follow from guided
follow slows based on yaw error
check follow is enabled before entering follow mode
fix order in switch statement when converting from mode number to mode object
remove unused last_log_ms from follow mode
2018-07-18 15:11:09 +09:00
Ammarf c0082271e6 Rover: implement Follow mode 2018-07-18 15:11:09 +09:00
Michael du Breuil 84f891c5b1 Rover: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Andrew Tridgell 08da22c682 Rover: improved setup of output modes 2018-07-13 16:11:12 +09:00
Michael du Breuil 2b5aa9bc53 Rover: Remove usage of analogPinToDigitalPin 2018-07-11 23:09:52 -07:00
jeff567 200a644cfe Rover: fixes bug in rovers with pivot turning 2018-07-11 11:35:43 +09:00
Peter Barker b62639e07c Rover: handle MAV_CMD_ACCELCAL_VEHICLE_POS in GCS base class 2018-07-06 09:43:09 +10:00
Peter Barker 0785e48718 Rover: handle command_int in base class 2018-07-06 09:43:09 +10:00
Peter Barker 1da3e8f182 Rover: handle command_long in GCS base class 2018-07-06 09:43:09 +10:00
Peter Barker efdc13d143 Rover: remove pointless rangefinder_init shim function 2018-07-04 21:08:47 +01:00
Peter Barker ca264b1932 Rover: use compass singleton for logging 2018-07-04 20:11:27 +01:00
Andrew Tridgell 8f94302348 Rover: removed unused macros 2018-07-04 20:05:10 +01:00
Ebin 07fc5c8349 Rover: removed min speed crash check for balance bot 2018-07-04 16:34:52 +09:00
Randy Mackay eb58399d8b Rover: 3.4.1 release notes 2018-07-04 11:37:52 +09:00
Peter Barker b38b9dc07c Rover: use ArmingMethod enumeration 2018-07-03 15:16:38 +10:00
Peter Barker ea12f6caec Rover: use singletons in AP_Arming 2018-07-03 13:44:11 +10:00
Peter Barker e1408696dc Rover: move mavlink reboot code up to base class 2018-07-03 12:12:25 +10:00
Randy Mackay b9d8f53af2 Rover: correct object avoidance parameter descriptions 2018-06-29 14:56:33 +09:00
Ebin 96d4335765 Rover: Crash check based on angle for all rover frames 2018-06-28 21:55:20 +09:00
Ebin 04604ced33 Rover: BalanceBot.cpp renamed to balance_bot.cpp 2018-06-28 21:55:20 +09:00
Ebin 73e6ce18a0 Rover: Crash checks for Balance Bot 2018-06-28 21:55:20 +09:00
Ebin 2780d1715c Rover: balance bot pitch control added in all modes 2018-06-28 21:55:20 +09:00
Ebin c65405541e Rover: balancing function call moved to manual mode update() 2018-06-28 21:55:20 +09:00
Ebin 6c2f18cc2f Rover: manual mode support for balancebot 2018-06-28 21:55:20 +09:00
Ebin 936ebbe1f3 Rover: Added BalanceBot as a rover frame 2018-06-28 21:55:20 +09:00
Michael du Breuil b5bc9e5147 Rover: Remove unneeded battery failsafe flag clearing 2018-06-27 11:39:35 +10:00
Raouf 9d51e87762 Rover: Save compass offsets when disarmed and learning is on 2018-06-26 08:51:16 +09:00
Peter Barker 3f0a56a818 Rover: use arming check_failed function 2018-06-23 15:33:19 +10:00
Andrew Tridgell 667ad98057 Rover: added ESC_TELEMETRY to mavlink streams 2018-06-21 10:48:02 +10:00
Peter Barker 87a3fcdd02 Rover: remove usb-mux checking
Nobody ever uses the result from this
2018-06-20 02:12:56 +01:00
Peter Barker ab6cf171da Rover: use AP_FWVersion singleton 2018-06-18 19:10:37 +01:00
Randy Mackay 03babfdc3c Rover: fix RNGFND_TURN_ANGL param description again 2018-06-18 17:51:46 +09:00
Randy Mackay 9efa7ad635 Rover: fix RNGFND_TURN_ANGL range 2018-06-18 16:06:45 +09:00
Randy Mackay acfbce95a6 Rover: update NTUN logging
reorder to allow easier comparing of adjacent fields
remove absolutes
rename fields
2018-06-18 10:25:56 +09:00
Peter Barker 9b269b1b56 Rover: use AP_RTC
Rover: AP_GPS now sets the system time directly
2018-06-15 08:01:22 +10:00
Randy Mackay 3ca520021b Rover: version to 3.4.2-dev 2018-06-12 20:57:25 +09:00
Randy Mackay a566ad48e9 Rover: 3.4.1-rc1 release notes 2018-06-12 20:56:50 +09:00
Randy Mackay c650c52577 Rover: 3.4.0 release notes 2018-06-12 18:20:11 +09:00
Randy Mackay f0780c7bb1 AP_MotorsUGV: minor comment fix 2018-06-12 17:44:10 +09:00
Randy Mackay 1c0d9c7512 AP_MotorsUGV: MOT_SPD_SCA_BASE param for min speed scaling
This replaces the hardcoded 1m/s start point for speed scaling with a configurable value
2018-06-12 17:44:10 +09:00
Randy Mackay 5faff519c3 AP_MotorsUGV: steering limits and constraint done by each output handler
each motor output handler (regular, skid, omni) becomes responsible for constraining the steering input (if required) and setting the limits flags
it is possible to reduce duplicate code but I think it might be more important to keep it clear which level is responsible for the limiting and constraining of steering
2018-06-12 17:44:10 +09:00
Michael du Breuil c85f8c7bf5 Rover: Simplify radio trimming, improve MAVLink report 2018-06-11 16:29:36 -07:00
Randy Mackay b69155793f Rover: add Log_Write_Depth 2018-06-12 08:29:08 +09:00
Randy Mackay d34c87a457 Rover: alphabetise Log_Write methods 2018-06-12 08:29:08 +09:00
Randy Mackay c51b38cd1c Rover: rename Log_Arm_Disarm to Log_Write_Arm_Disarm 2018-06-12 08:29:08 +09:00
Randy Mackay 10d89f1315 Rover: remove unimplemented Log_Write_Performance declaration 2018-06-12 08:29:08 +09:00
Randy Mackay 631d8f5423 Rover: accept do-change-speed commands with high speeds 2018-06-11 09:10:35 +09:00
Randy Mackay a08a955cbc Rover: accept DO_CHANGE_SPEED commands 2018-06-11 09:10:35 +09:00
Randy Mackay 8464e82812 Rover: set_desired_speed range checks speed 2018-06-11 09:10:35 +09:00
Randy Mackay c8f4227313 Rover: remove SPEED_TURN_GAIN
Loiter was the only mode using this, replaced with hardcoded gain.  The desired speed in Loiter also uses a hardcoded gain so this should work
2018-06-08 09:19:25 +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
Peter Barker cf1f2f9aeb Rover: move motors_active to be motors.active
This will help when we come to subclass the Motors library.
2018-06-08 08:51:18 +09:00
Peter Barker 65b7ca3fbb Rover: factor out a do_aux_function_change_mode
Less code is good
2018-06-08 08:50:08 +09:00
Peter Barker 36705af8ff Rover: create an enumeration to hold vehicle mode constants
This gives us type-safety on the mode numbers.  This is advantageous as
some of these symbols exist with different values elsewhere in the code.
2018-06-08 08:41:16 +09:00
Michael du Breuil cc772710ec Rover: Rework to support override changes 2018-06-05 09:51:09 +10:00
Michael du Breuil 0ad2750f55 Rover: Remove software type param 2018-06-05 09:14:12 +10:00
Peter Barker 424d243c7f Rover: move try_send_message handling of EKF_STATUS_REPORT up 2018-06-01 16:12:45 +01:00
Randy Mackay c83ff0e156 Rover: 3.4.0-rc1 release notes 2018-06-01 16:40:54 +09:00
Randy Mackay 1e058045f7 Rover: guided mode more forgiving of set-position-targets type_mask field
accept position targets regardless of any other bit settings in type mask field.  This makes rover more forgiving of errors in the type_mask field.
2018-06-01 15:05:48 +09:00
Ammarf 26c25daa36 Rover: add support for lateral control input 2018-05-31 13:48:17 +09:00
Randy Mackay 73bdc3be09 Rover: set ahrs flyforward if thr over 15% for 2 seconds
or if throttle is positive and desired speed over 0.5m/s
2018-05-29 16:37:31 +09:00
Peter Barker 12853f8912 Rover: correct compilation for transitive include fail 2018-05-29 14:42:02 +10:00
Peter Barker c99cc465e6 Rover: split home-set and home-locked state 2018-05-29 14:38:45 +10:00
Peter Barker 829d18874e Rover: create persist_streamrates() callback to indicate persistence 2018-05-29 13:08:29 +10:00
Peter Barker 9d83ee8cc7 Rover: move sending of vfr_hud up 2018-05-29 13:00:40 +10:00
Randy Mackay 70cef2f61e Rover: report set-attitude-target capability
rover accepts the set-attitude-target mavlink messages
2018-05-25 10:40:49 +09:00
Ammarf b95ac72d35 Rover: add LOITER to ch7 options 2018-05-24 17:59:45 +09:00
Randy Mackay e1d80e547d Rover: proximity sensor sets laser unhealthy when no data
previously it would set laser to unhealthy if proximity sensor wasn't present which interfered with a single downward facing range finder
2018-05-24 12:46:38 +09:00
Randy Mackay 60b9f6f9c0 Rover: report laser as healthy even if not used for avoidance
this allows downward facing lidar to be used on boats
2018-05-24 12:46:38 +09:00
Randy Mackay 51a0cbc1da Rover: loiter slows using attitude control get_desired_speed_accel_limit 2018-05-24 11:06:20 +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
Peter Barker 8101f2b573 Rover: move sending of simstate up 2018-05-23 18:36:50 +10:00
Randy Mackay 24dd9a1c2c Rover: update GPS at 50hz 2018-05-23 17:17:29 +09:00
Randy Mackay cc53b9c39d Rover: update current_loc in update_ahrs
this ensures the current_loc is updated before any of the flight mode code runs
2018-05-23 17:17:29 +09:00
Ammarf d7821635c0 Rover: seperate acceleration/deceleration limits 2018-05-23 17:17:29 +09:00
Peter Barker e377debf25 Rover: add type-correctness for stream messages 2018-05-22 11:21:25 +10:00
Peter Barker 3f4783fa5d Rover: move try_send_message of servo-output-raw up 2018-05-21 19:08:08 +01:00
Peter Barker 90124c20cb Rover: shorten time remaining in try_send_message
The scheduler table entry for retrying defered messages doesn't allow
enough time for try_send_messages to run.

This change makes the time-remaining requirement the same as Plane.
2018-05-21 18:16:56 +09:00
Ammarf 2d64a47f90 Rover: add pivot_turn_rate to g2 2018-05-21 09:48:43 +09:00
Peter Barker 1ecd371cd0 Rover: move sending of GLOBAL_POSITION_INT up to GCS_MAVLINK 2018-05-17 15:48:06 +01:00
Peter Barker 0e8f01021d Rover: remove arguments to send_home and send_ekf_origin 2018-05-17 20:42:36 +10:00
Peter Barker 3799a13bc3 Rover: move send_attitude up to GCS_MAVLINK 2018-05-17 18:28:43 +10:00
Peter Barker c9d47c4ed5 Rover: move try_send_message sending of scaled_pressure up 2018-05-17 15:37:14 +10:00
Peter Barker ace48d72b0 Rover: move try_send_message sending of sensor offsets up 2018-05-17 15:37:14 +10:00
Peter Barker a37c8eae1f Rover: move try_send_message of RAW_IMU up to GCS_MAVLINK 2018-05-17 15:37:14 +10:00
Peter Barker 0d3051e46a Rover: handle setting of ekf origin in GCS_MAVLink 2018-05-17 10:13:42 +10:00
Peter Barker a52f3d8f70 Rover: move Log_Write_Home_And_Origin into AP_AHRS 2018-05-17 10:13:42 +10:00
Michael du Breuil dcb0a37643 Rover: AP_Proximity is now a common library 2018-05-16 23:21:41 +01:00
Michael du Breuil dc5fae9ea6 Rover: Support rangefinder MAVLink changes 2018-05-16 23:21:41 +01:00
Randy Mackay fb4dcc2458 Rover: 3.3.1-rc2 release notes 2018-05-12 17:57:09 +09:00
Peter Barker 3afe591368 Rover: correct compilation when logging is disabled 2018-05-10 17:55:13 +09:00
Randy Mackay 3d1c078a44 Rover: steering mode uses turn rate control when stopped 2018-05-10 08:02:13 +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 3645e18243 Rover: acro and steering use get_pilot_desired_steering_and_speed 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 0830e057e0 Rover: manual mode outputs unscaled steering 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 a061203eaf Rover: pass ground speed to motors lib for scaling of steering 2018-05-10 08:02:13 +09:00
Randy Mackay d018a9334e AP_MotorsUGV: add get_slew_limited_throttle
required by vehicle code to properly handle steering direction in cases where the driver's input throttle has the opposite sign from output throttle because throttle is being slew limited
2018-05-10 08:02:13 +09:00
Randy Mackay 3db2cc700e AP_MotorsUGV: positive steering always rotates vehicle right
also scale steering down with increased speed for regular rovers
add support for disabling scaling of steering
2018-05-10 08:02:13 +09:00
Randy Mackay 8137001a86 AP_MotorsUGV: minor comment fix 2018-05-10 08:02:13 +09:00
Peter Barker b38d23d542 Rover: move sending of battery data up 2018-05-09 11:40:31 -07:00
Peter Barker a692acad81 Rover: move data stream send up 2018-05-09 16:15:38 +10:00
Peter Barker a78fe0896f Rover: make scheduler track whether it has called the delay callback 2018-05-09 16:15:38 +10:00
Randy Mackay 468fc26e31 Rover: version to 3.4.0-dev 2018-05-09 13:32:50 +09:00
Randy Mackay ef23672a76 Rover: 3.3.1-rc1 release notes fix
the pivot turn change was removed just prior to release
2018-05-09 13:11:29 +09:00
Randy Mackay 3860141da8 Rover: 3.3.1-rc1 release notes 2018-05-09 12:55:08 +09:00
Ammarf de4e74b910 Rover: added comments to output_omni 2018-05-09 12:50:45 +09:00
Ammarf aca2c596b4 Rover: Use output_throttle for omni rover motor output 2018-05-09 12:50:45 +09:00
Ammarf d7e01d83d6 Rover: added is_omni_rover function 2018-05-09 12:50:45 +09:00
Randy Mackay 40a8e0de09 Rover: default BRD_SAFETYOPTION to to allow disarming with safety switch 2018-05-09 08:02:21 +10:00
Peter Barker 121cfc5b4c Rover: AP_RSSI is included for all vehicles 2018-05-08 12:33:32 +01:00
Peter Barker 9e1811027d APMrover2: move try_send_message handling of RC_CHANNELS_RAW up 2018-05-08 12:33:32 +01:00
Peter Barker 1bc208584f Rover: move try_send_message of heartbeats up to GCS_MAVLINK 2018-05-07 11:30:13 -06:00
Peter Barker 25c2efb3ae Rover: move try_send_message handling of VIBRATION up 2018-05-07 11:23:28 -06:00
Randy Mackay 8108931ee0 Rover: 3.3.0 release notes 2018-05-07 17:35:50 +09:00
Andrew Tridgell a575608110 Rover: fixed build warnings 2018-05-07 11:43:23 +10:00
Randy Mackay c6638f66de Rover: Loiter mode for boats 2018-05-06 16:58:00 +09:00
Randy Mackay 341d75e0c9 AP_MotorsUGV: force throttle to zero when disarmed 2018-05-06 16:58:00 +09:00
Randy Mackay c69f7bb1d0 AP_MotorsUGV: consolidate parameter sanity checks 2018-05-06 16:58:00 +09:00
Randy Mackay c4804e4576 Rover: remove redundant avoidance call from steering 2018-05-06 16:58:00 +09:00
Peter Barker 0b1091231c Rover: remove rcmap member from AP_AdvancedFailsafe
Also correct constructor for barometer

Also make it compile again
2018-05-05 18:06:31 +09:00
Randy Mackay feb9cfc390 Rover: reduce TURN_MAX_G default to 0.6 2018-04-26 14:17:04 +09:00
Andrew Tridgell c941d72ad1 Rover: remove old pde file
this was here for upgrading very old MissionPlanner versions. We can
remove it now
2018-04-26 14:25:01 +10:00
Michael du Breuil da9053655b Rover: Support new RC_Channels::read_input() 2018-04-26 08:00:09 +10:00
Randy Mackay 8119c537c7 Rover: integrate vectored thrust support 2018-04-24 19:57:19 +09:00
Randy Mackay 38b79cf0bc AP_MotorsUGV: support vectored thrust
steering scaled down as throttle increases
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
night-ghost 2aee8d1018 APMrover2: devo telemetry support (RX705/707) 2018-04-24 10:44:28 +10:00
Randy Mackay 8fa1700d02 Rover: 3.3.0-rc1 release notes 2018-04-19 17:20:38 +09:00
Randy Mackay 87eef9051f Rover: increase default pivot turn angle to 60deg
pivoting at only 30degrees of error could lead to endless twitching back and forth for poorly tuned rovers
2018-04-19 16:32:48 +09:00
Peter Barker d66cb1dda0 Rover: use AP_ServoRelayEvents singleton 2018-04-18 20:31:55 +09:00
Peter Barker e73a02343a Rover: GPS now logs its own data 2018-04-18 13:50:55 +09:00
Daniel Widmann 572d9ba43b Rover: Allow switching to ACRO mode for skid steer rovers without GPS 2018-04-13 09:12:03 +09:00
Daniel Widmann e782ce2b51 Rover: Allow ACRO mode for skid steer rovers without GPS 2018-04-13 09:12:03 +09:00
Peter Barker 63e8fffbe4 Rover: Baro does its own dataflash logging now 2018-04-12 19:12:12 +01:00
Michael du Breuil 05173f24c6 Rover: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Michael du Breuil 3bad3b2e68 Rover: Check MANUAL_CONTROL target 2018-04-10 16:54:34 +01:00
Randy Mackay da619e8aa6 Rover: 3.2.3 release notes 2018-04-09 09:04:30 +09:00
Andrew Tridgell 4f6240ee8a Rover: handle oneshot125 separately 2018-04-07 09:10:29 +10:00