Commit Graph

1689 Commits

Author SHA1 Message Date
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
Randy Mackay 743de16c07 Rover: fix calls to calc_steering_to_heading
reversed flag was being passed into the wrong argument
2018-09-11 14:39:50 +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
Peter Barker 7c60c85a12 Rover: use camera singleton to get camera rather than callback 2018-08-31 15:48:56 +10:00
Peter Barker a5691500ad Rover: GCS_MAVLink uses compass singleton, stop implementing get_compass 2018-08-31 15:48:56 +10:00
Ammarf 0f10d2316a Rover: fix OmniX motor order 2018-08-31 08:38:17 +09:00
Randy Mackay 03e0437c19 Rover: fix RTL when AP_RALLY disabled 2018-08-30 10:33:37 +09:00
Randy Mackay dd3163b065 Rover: rename AC_RALLY to AP_RALLY 2018-08-30 10:00:56 +09:00
Randy Mackay 587addbdfa Rover: remove unused TURN_GAIN definition 2018-08-30 09:55:07 +09:00
Randy Mackay f0ad8760e2 Rover: move rally to g2 2018-08-30 09:55:05 +09:00
Raouf 90fd64cf3a Rover: add support for rally points 2018-08-30 09:54:51 +09:00
Thorsten Panitz ee8d5d77d0 Rover: Activation of OSD
Rover: Activation of OSD
2018-08-30 08:19:02 +10:00
Randy Mackay 88a230e897 Rover: DPTH message only written if range finder last read time changed 2018-08-28 09:23:38 +09:00
Randy Mackay 19d943106b Rover: pass vehicle speed to attitude control pitch control 2018-08-27 16:44:33 +09:00
Randy Mackay 5aa1286344 Rover: report left and right wheel control PID 2018-08-27 16:44:33 +09:00
Randy Mackay e0fa829665 Rover: pitch PID_TUNING sends degrees
also send FF although it is rarely used
2018-08-27 16:44:33 +09:00
Randy Mackay db611e074c Rover: include wheel-rate-control 2018-08-27 16:44:33 +09:00
Randy Mackay 85ac24d96e Rover: update wheel encoders at 50hz 2018-08-27 16:44:33 +09:00
Randy Mackay 69541fc89c AP_MotorsUGV: use wheel-rate-control for skid steering vehicles 2018-08-27 16:44:33 +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 961aab7425 Rover: balance bot passes motor limits to pitch control 2018-08-27 16:44:33 +09:00
Randy Mackay 9ae9f84498 Rover: fix G_Dt when SCHED_LOOP_RATE increased
This fixes a bug in the G_Dt calculation which is used in the motors library and PID controllers.  The issue occurred in cases where the ahrs_update was not being run which could happen because it's estimated time was too long.
This also properly runs the critical functions (update ahrs, run flight mode code, send outputs to motors) at up to 400hz
2018-08-25 17:50:15 +10:00
Randy Mackay 473e8d18a1 Rover: reduce scheduler estimated time for gcs tasks 2018-08-24 15:30:50 +09:00
Pierre Kancir 3ef910ff11 Rover: fix initial target when setting Guided 2018-08-22 21:02:40 +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 df3b6202f5 Rover: support DO_SET_REVERSE commands in guided, RTL, SmartRTL 2018-08-22 13:36:44 +09:00
Raouf 80753430e8 Rover: Accept DO_SET_REVERSE command 2018-08-22 13:36:41 +09:00
Raouf ea62c24cef Rover: Move set_reverse method to Mode class 2018-08-22 13:36:38 +09:00
Michael du Breuil 84baaea46d Rover: Remove unneeded ServoRelayEvent mask set 2018-08-20 21:31:06 -07:00
Peter Barker ca7842afac Rover: add support for Sprayer 2018-08-17 15:33:35 +09:00
Randy Mackay 011776bff2 Rover: restore param description for CH7_OPTION 2018-08-12 14:00:48 +09:00
Randy Mackay b5f045dc5f Rover: mode description in lower case
Follow was in upper case
INITIAL_MODE was missing SmartRTL
2018-08-12 13:41:45 +09:00
Randy Mackay c028aa8dad Rover: fix compiler warning in RC_Channel 2018-08-11 11:23:35 +09:00
Ammarf d665abccde Rover: add output tests for omni frames 2018-08-08 17:07:50 +09:00
Raouf f0185cb79b Rover: Add loiter behaviour parameter 2018-08-08 07:17:13 +09:00
Ammarf 8308646c5e Rover: change omniplus motor order 2018-08-08 07:15:37 +09:00
Ammarf 430ed9bd3d Rover: add custom config support 2018-08-07 10:01:32 +09:00
Peter Barker 2365cdf90a Rover: remove min-max-configured pre-arm checks 2018-08-07 09:45:09 +10:00
Randy Mackay 86634c2cca Rover: log desired pitch in ATT message 2018-08-06 11:30:22 +09:00
Randy Mackay 0722c6a265 Rover: minor format fix to GCS_MAVLink.cpp 2018-08-06 11:30:22 +09:00
Randy Mackay e71dc9307e Rover: add Pitch to GCS_PID_MASK param description 2018-08-06 11:30:22 +09:00
Randy Mackay e867ef74cc Rover: balance bots log pitch PID 2018-08-06 11:30:22 +09:00
Randy Mackay 936dca7531 Rover: remove compass accumulate 2018-08-06 11:05:34 +10:00
Andrew Tridgell 73ccf90087 Rover: fixed RC_Channels parameter docs 2018-08-04 12:28:38 +10:00
Lucas De Marchi 00f03360bc APMrover2: kill AP_FEATURE_SAFETY_BUTTON
This is redundant and can be just HAL_HAVE_SAFETY_SWITCH.
2018-08-02 13:15:02 -07:00
Peter Barker 5d923aed85 Rover: remove dead gcs failsafe code
Also use rc().has_valid_input() before using radio for trim
2018-08-02 15:21:03 +09:00
Peter Barker e501ba203f Rover: rename control_modes.cpp to RC_Channel.cpp 2018-08-02 09:52:29 +09:00
Randy Mackay fada9f1990 Rover: version to 3.5.0-dev 2018-08-01 20:23:24 +09:00
Peter Barker 1f0908bba2 Rover: move handling of RC Switches into RC_Channel
Rover: use base-class auxsw handling

Rover: factor out do_aux_function_change_mode

Rover: move mode number enumeration to be in Mode:: namespace

Rover: move mode switch handling to RC_Channel

Rover: rename control_modes.cpp to RC_Channel.cpp

Rover: move motor_active() to be a method on the motors class
2018-08-01 12:11:30 +09:00
Michael du Breuil f4d2014b56 Rover: Update notify initilization 2018-08-01 09:22:09 +10:00
Randy Mackay 315a33ed10 Rover: 3.4.2 release notes 2018-07-30 14:37:55 +09:00
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