Commit Graph

1887 Commits

Author SHA1 Message Date
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
Andrew Tridgell
4350cee7cf Rover: added mask to set_output_mode() 2018-04-07 09:10:29 +10: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
Peter Barker
e74d07ff15 Rover: remove wrapper for Log_Write_Beacon 2018-04-04 16:20:33 +09:00
Francisco Ferreira
b2af1f1e05
Rover: fix method shadowing 2018-04-03 16:29:33 +01:00
Peter Barker
a45e3cba15 Rover: factor vehicle's mavlink send_heartbeat 2018-04-03 13:05:19 +01:00
Randy Mackay
c05d239069 Rover: remove throttle scaling dependency on throttle range 2018-04-03 10:42:39 +09:00
Randy Mackay
fa20fd695f Rover: use throttle_min param as output deadzone 2018-04-03 10:42:39 +09:00
Randy Mackay
b9e32d1f44 Rover: reduce expected times in scheduler table 2018-04-03 08:40:31 +09:00
Peter Barker
c10f404b12 Rover: tidy handling of barometer calibrations 2018-04-02 23:25:05 +01:00
Peter Barker
b407a4eed8 Rover: move common calibration functions up 2018-04-02 23:25:05 +01:00
Peter Barker
762b31b147 Rover: create a preflight calibration function
Some functionality has moved up.
2018-04-02 23:25:05 +01:00
Peter Barker
db7ce9aba2 Rover: use ahrs singleton for SmartRTL 2018-04-02 17:16:02 +01:00
Randy Mackay
39bade1f4a Rover: 3.2.3-rc2 release notes 2018-04-02 12:01:45 +09:00
Randy Mackay
c923158cc9 Rover: 3.2.3-rc1 release notes 2018-04-02 11:11:13 +09:00
nicknunno
8888adbfd4 Rover: TURN_MAX_G param desc update for range and increment 2018-04-02 09:13:25 +09:00
Michael du Breuil
b761a57da3 Rover: Support new battery interface 2018-03-27 22:12:21 +01:00
Peter Barker
57ed822db0 Rover: allow DataFlash to handle log sending 2018-03-26 09:22:47 +09:00
Peter Barker
3c58eca0ab Rover: move handling of visual odometry messages up 2018-03-23 09:28:07 +09:00
Randy Mackay
96ae9cef14 Rover: send correct mav-type for boats 2018-03-22 09:11:52 +09:00
Randy Mackay
489551c9a4 Rover: 3.2.2 release notes 2018-03-19 19:11:53 +09:00
Peter Barker
bb7bed0614 Rover: move handling of get_home_position up 2018-03-19 10:32:37 +09:00
Peter Barker
7fd859da65 Plane: move home state into AP_AHRS 2018-03-19 10:32:37 +09:00
Peter Barker
9d0da4a71f Rover: move home state into AP_AHRS 2018-03-19 10:32:37 +09:00
Peter Barker
ceb64fb7d9 Rover: use ins singleton 2018-03-16 00:37:35 -07:00
Randy Mackay
30ba463f42 Rover: minor comment fix to acro
non-functional change
2018-03-15 09:58:24 +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
86c39c0314 Rover: run update_mission at 50hz 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
073d9519ca Rover: version to ArduRover V3.3.0-dev 2018-03-12 16:11:37 +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
Peter Barker
81ba037582 Rover: use baro singleton 2018-03-08 21:20:05 -08:00
Peter Barker
1f772c05f4 Rover: delete correct assignment operator 2018-03-08 21:20:05 -08:00
Randy Mackay
dcfe104163 Rover: reduce CRUISE_SPEED default to 2m/s
based on user logs most rovers max speed is less than 4m/s so this default is closer to the average
2018-03-09 13:19:21 +09:00
Randy Mackay
1baa6eb049 Rover: 3.2.2-rc1 release notes 2018-03-08 16:24:03 +09:00
Randy Mackay
4e8399ca3f Rover: acro and steering steer even with target speed of zero 2018-03-08 14:45:43 +09:00
Peter Barker
78ecf55fec Rover: use AP::ahrs() for GCS_MAVLink 2018-03-07 12:34:39 +00:00
night-ghost
bab54ea647 Rover: allow AP_Stats to be optional 2018-03-02 07:23:35 +11:00
Andrew Tridgell
f190ca0867 Rover: use scheduler.get_last_loop_time_s() 2018-02-13 17:15:05 +11:00
Peter Barker
90d26a5100 Rover: eliminate perf_update scheduler table shim 2018-02-13 17:15:05 +11:00
Andrew Tridgell
80c45a7431 Rover: use filtered loop time 2018-02-13 17:15:05 +11:00
Peter Barker
7b6bc4adf1 Rover: pass log-performance-bit at init time rather than update time 2018-02-13 17:15:05 +11:00
Peter Barker
55c27dfc56 Rover: move logging of PM messages to AP_Scheduler 2018-02-13 17:15:05 +11:00
Peter Barker
b2e2b91d7e Rover: move PERF: statustext sending into AP_Scheduler 2018-02-13 17:15:05 +11:00
Peter Barker
d9bb546048 Rover: use AP_Scheduler's loop() function 2018-02-13 17:15:05 +11:00
Peter Barker
211e7416a9 Rover: use scheduler ticks in place of mainloop_count 2018-02-13 17:15:05 +11:00
Peter Barker
9511e72113 Rover: use PerfInfo for performance monitoring 2018-02-13 17:15:05 +11:00
Randy Mackay
24b8ed48b6 Rover: global-pos-int uses vel from EKF instead of GPS 2018-02-13 08:52:48 +09:00
Randy Mackay
f47e65822f Rover: fix global-pos-int velocity direction to NED 2018-02-13 08:52:48 +09:00
Peter Barker
df304c5e6b Rover: remove shims used in scheduler table 2018-02-12 15:39:26 +09:00
Peter Barker
89c830e949 Rover: make SmartRTL mode decide whether to save position or not
This changes things to work like the Copter equivalent
2018-02-12 15:39:26 +09:00
Andrew Tridgell
65308f9411 Rover: removed compass learn_offsets() 2018-02-08 17:36:33 +11:00
Randy Mackay
0da8ff6b2e Rover: boats always navigate when outside waypoint radius 2018-02-07 07:33:11 +09:00
Michael du Breuil
2e9e91b3a3 Rover: Move battery logging to AP_BattMonitor 2018-02-06 00:11:32 +00:00
murata
e94bfc7ee0 Rover: delete \n from the log using gcs().send_text 2018-02-02 09:38:36 +09:00
Randy Mackay
0626d105ed Rover: version 3.2.1-dev fix 2018-01-29 19:37:46 +09:00
Randy Mackay
b459e7fa7f Rover: 3.2.1 release notes 2018-01-29 19:35:46 +09:00
Randy Mackay
a6ff2cacdd Rover: 3.2.1-rc1 release notes 2018-01-24 12:09:54 +09:00
Randy Mackay
a5d7b8bb19 Rover: remove unused definition 2018-01-23 15:52:39 +09:00
Randy Mackay
2748d4d0fe Rover: arming checks for GPS use requires_position and velocity 2018-01-23 11:27:56 +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
509c7e2a8f Rover: add object avoidance to steering and acro modes 2018-01-22 17:18:41 +09:00
Randy Mackay
2320bfb637 Rover: add AC_AttitudeControl to build
This is required only because the static function sqrt_controller is within this library.
2018-01-22 17:18:41 +09:00
Randy Mackay
489c42bdff Rover: add avoidance library 2018-01-22 17:18:41 +09:00
khancyr
5503a0069d Rover: add proximity library 2018-01-22 17:18:41 +09:00
khancyr
c3fb985ec5 Rover: add fence support 2018-01-22 17:18:41 +09:00
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
Randy Mackay
fb9f695d2f Rover: fix use-pivot-steering
absolute yaw error should be used
2017-10-26 19:43:55 +09:00
Randy Mackay
fb944322c7 Rover: minor fix to disarm logic
check should use logical and instead of bitwise and
2017-10-26 19:43:48 +09:00
Randy Mackay
2c568f8046 Rover: minor parameter description change
non-functional change
2017-10-26 19:43:42 +09:00
Randy Mackay
9f67d2a88d Rover: add MOT_SKID_FRIC to up skid-steer motor out while stopped 2017-10-26 19:43:36 +09:00
Tom Pittenger
f7d07fc146 Rover: always log MODE and include reason when logging is enabled 2017-10-25 21:18:29 +11:00
Andrew Tridgell
f25e8631ef Rover: support simple accelcal 2017-10-10 10:57:38 +11:00
Michael du Breuil
4f83d39b5e Rover: Report GPS health 2017-09-27 19:29:32 +01:00
Lucas De Marchi
e98ccb9ae6 ArduRover: use static method to construct controllers 2017-09-26 03:01:21 +01:00
Lucas De Marchi
bfd13dfe87 global: use static method to construct AP_AHRS_DCM 2017-09-26 03:01:21 +01:00
Lucas De Marchi
beabae6a98 global: use static method to construct AP_AHRS_NavEKF 2017-09-26 03:01:21 +01:00
Lucas De Marchi
c9fbf7b722 global: use static method to construct AP_NavEKF3 2017-09-26 03:01:21 +01:00
Lucas De Marchi
e2fe36357a global: use static method to construct AP_NavEKF2 2017-09-26 03:01:21 +01:00
Lucas De Marchi
eadd650d78 global: use static method to construct AP_RSSI 2017-09-26 03:01:21 +01:00
Lucas De Marchi
18aa88b329 global: use static method to construct AP_Mount 2017-09-26 03:01:21 +01:00
Lucas De Marchi
c3647f0185 global: use static method to construct AP_Camera 2017-09-26 03:01:21 +01:00
Lucas De Marchi
cc53e7bc4b global: use static method to construct AP_ServoRelayEvents 2017-09-26 03:01:21 +01:00
Lucas De Marchi
13d7f58036 global: use static method to construct AP_Relay 2017-09-26 03:01:21 +01:00
Lucas De Marchi
9ce6019138 global: use static method to construct AP_Frsky_Telem 2017-09-26 03:01:21 +01:00
Lucas De Marchi
b022c02029 global: use static method to construct AP_BattMonitor 2017-09-26 03:01:21 +01:00
Lucas De Marchi
69b6d95cb2 global: use static method to construct AP_Board_Config{,_CAN} 2017-09-26 03:01:21 +01:00
Lucas De Marchi
a74e700006 global: use static method to construct RCMapper 2017-09-26 03:01:21 +01:00
Lucas De Marchi
72fd2d6f05 global: use static method to construct AP_SerialManager 2017-09-26 03:01:21 +01:00
Lucas De Marchi
fbe0d9761c global: use static method to construct AP_OpticalFlow 2017-09-26 03:01:21 +01:00
Lucas De Marchi
5ec1430726 APMrover2: use static method to construct AP_Arming_Rover 2017-09-26 03:01:21 +01:00
Lucas De Marchi
b36a5919f5 global: use static method to construct AP_Mission
This also move the initialization to be in the header for those that
weren't already to maintain consistency.
2017-09-26 03:01:21 +01:00
Lucas De Marchi
40fd1b346c global: remove rangefinder from AP_AHRS_NavEKF
AP_AHRS_NavEKF doesn't use the rangefinder, it just delegates the
calls to the right estimator.

For libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.cpp the initialization
order has also been modified to match the order on vehicles. It's more
correct since it passes a reference when EKF2/EKF3 are already
constructed, while thos constructors use a pointer.  Ideally these
should be moved to an init() method though, or use a get_instance().
2017-09-26 03:01:21 +01:00
Lucas De Marchi
9027a55696 global: use static method to construct RangeFinder 2017-09-26 03:01:21 +01:00
Lucas De Marchi
f5c2ffffb9 global: remove DataFlash from AP_Mount::init() 2017-09-26 03:01:21 +01:00
Lucas De Marchi
53c82b4aaf global: use static method to construct DataFlash_Class 2017-09-26 03:01:21 +01:00
Lucas De Marchi
62ac0ab8aa global: use static method to construct AP_Notify 2017-09-26 03:01:21 +01:00
Lucas De Marchi
de680dac5b global: use static method to construct AP_Scheduler 2017-09-26 03:01:21 +01:00
Lucas De Marchi
8094482f21 global: use static method to construct AP_GPS 2017-09-26 03:01:21 +01:00
Lucas De Marchi
87b30b4552 global: use static method to construct AP_InertialSensor 2017-09-26 03:01:21 +01:00
Lucas De Marchi
c1a957fbf3 global: use static method to construct Compass 2017-09-26 03:01:21 +01:00
Lucas De Marchi
91feec0e14 global: use static method to construct AP_Baro 2017-09-26 03:01:21 +01:00
Lucas De Marchi
ad05e0a643 APMrover2: protect version.h from inclusion and use ap_version.h 2017-09-23 21:37:45 -07:00
Lucas De Marchi
27be369be7 APMrover2: do not include version.h/ap_version.h
The interface provided by each vehicle should be used to get the
version.
2017-09-23 21:37:45 -07:00
Lucas De Marchi
0c49b7a973 APMrover2: move version to a static member
We should never include version.h or ap_version.h headers directly
on a header since this will trigger a complete rebuild of the
codebase when we commit to the repository. The ap_version.h header
is auto-generated containing information from the current commit.

If we include it in a header, every other file that ends up including
that header (directly or indirectly) will need to be rebuilt. No
ccache's cache beats having to do nothing when the header is just
not included.

version.h contains information that is kept on a struct inside
each vehicle. Rather than using the macros from each vehicle,
the getter should be preferred, which returns an AP_FWVersion
referente.
2017-09-23 21:37:45 -07:00
Randy Mackay
3af5893f9e Rover: command-long DO_SET_HOME check first param is zero 2017-09-20 12:14:38 +09:00
Randy Mackay
f7cb006d40 Rover: accept DO_SET_HOME within COMMAND_INT 2017-09-20 12:14:38 +09:00
Randy Mackay
b1684b5377 Rover: accept more mav-frame types
accept mav frames whether or not they have _INT appended
2017-09-20 12:14:38 +09:00
Peter Barker
b84e40a804 Rover: move handling of SET_GPS_GLOBAL_ORIGIN up 2017-09-19 15:44:23 +09:00
Randy Mackay
4899401679 Rover: minor comment fix 2017-09-19 10:30:15 +09:00
Randy Mackay
de406da254 Rover: set home using EKF position
previously the home position could be set from DCM
This makes the setting of home slower but more accurate
2017-09-19 10:30:15 +09:00
Randy Mackay
894bf2a23f Rover: support SET_GPS_GLOBAL_ORIGIN message 2017-09-19 10:30:15 +09:00
Peter Barker
add5eb6907 Rover: remove old DO_SET_MODE support
We no longer support setting modes except via custom-modes
2017-09-19 01:24:11 +01:00
Peter Barker
25a32c93f2 Rover: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
Peter Barker
b5d234aa64 Rover: handle param_request_list in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker
640b2b7a13 Rover: handle param_set in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker
85ac69f701 Rover: move send_autopilot_request calls up to GCS base class 2017-08-30 15:54:46 +01:00
Peter Barker
d98c427514 Rover: add constant structure holding firmware version 2017-08-30 15:54:46 +01:00
khancyr
2be28ddb1e Rover: fixup cpu failsafe
remove copying of rc input to servo output
disarm after 2 seconds
2017-08-26 13:13:18 +09:00
Randy Mackay
d525c0bffb Rover: 3.2.0-rc1 release notes 2017-08-25 14:50:48 +09:00
Randy Mackay
78a5e4500f Rover: send GCS warning when cruise learning fails to start
Also const-ified some variables, added some brackets and comments
2017-08-25 14:05:23 +09:00
Randy Mackay
1600823b12 Rover: aux switch to learn cruise throttle and speed 2017-08-25 14:05:23 +09:00
Randy Mackay
14c74a5967 Rover: remove learning mode
saving waypoints can be done in manual or steering mode
2017-08-25 14:05:23 +09:00
Randy Mackay
524fe4cd82 Rover: aux switch saves waypoint in manual or steering modes
Also refactor aux switch methods
rename LEARN_CH to AUX_CH
2017-08-25 14:05:23 +09:00
Randy Mackay
3adfb0e77d Rover: replace int with uint8_t
non-functional change
2017-08-25 14:05:23 +09:00
Randy Mackay
82e61d7198 Rover: remove unused throttle_failsafe_active method 2017-08-25 14:05:23 +09:00
khancyr
4ab11027a7 Rover: remove unused mavlink_delay(uint32_t ms) 2017-08-24 20:41:16 +09:00
khancyr
4c977f16ce Rover: reduce ADC warm up time 2017-08-24 20:41:16 +09:00
khancyr
2f1cc5ddfc Rover: support brushed motor on normal rover 2017-08-24 20:09:47 +09:00
khancyr
25b1307400 Rover: solve servo reverse in brushed configuration 2017-08-24 20:05:27 +09:00
Peter Barker
4fc31cf80d Rover: add ArduSub to list of SYSID_SW_TYPE 2017-08-24 19:50:38 +09:00
Randy Mackay
7a37a7f921 Rover: integrate simpler Log_Write_EKF 2017-08-23 11:19:14 +09:00
Randy Mackay
3f1271214e Rover: rename MotorsUGV pwm type to brush-with-relay 2017-08-22 10:09:13 +09:00
khancyr
46e6057493 Rover: solve servo reverse in brushed configuration 2017-08-22 10:09:10 +09:00
Peter Barker
ee39ec3751 Rover: move serial_control case to base class 2017-08-17 12:42:31 +01:00
Peter Barker
92becb2875 Rover: move play_tune and led_control handling to base class 2017-08-17 12:27:10 +01:00
Randy Mackay
bbb1329116 Rover: remove unused definitions 2017-08-17 11:58: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
ed19db7188 Rover: set_mode arg name to match implementation
definition and implementation used different argument name
2017-08-17 09:46:19 +09:00
khancyr
a035950a22 Rover: minor format fix 2017-08-17 09:45:49 +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
6eceaef484 Rover: remove redundant SYS_NUM_RESETS
this is handled by AP_Stats library
2017-08-17 09:39:40 +09:00
Randy Mackay
e2d4182c75 Rover: fix parameter conversion 2017-08-17 09:39:40 +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
c0fe1b7ec8 AP_MotorsUGV: minor comment fix 2017-08-17 09:39:40 +09:00
Randy Mackay
c8eceeabb6 AP_MotorsUGV: add THR_MIN, THR_MAX parameters 2017-08-17 09:39:40 +09:00
Randy Mackay
c61f965828 AP_MotorsUGV: re-order implementation to match declaration
non-functional change
2017-08-17 09:39:40 +09:00
Peter Barker
f3a0d2b02b Rover: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Grant Morphett
2463bfd2ec Rover: fix SITL Make build on Windows
PE linker can't remove unused methods so we add the necessary libraries
2017-08-15 21:51:13 +01:00
Peter Barker
4c2747bfe8 Rover: use rangefinder backend accessors 2017-08-15 18:30:45 +01:00
Michael du Breuil
a98c8427dd Rover: Expose the AFS instance to MAVLink 2017-08-15 15:14:56 +01:00
Randy Mackay
348dbdaf22 Rover: fix do-nav-wp comment 2017-08-15 20:47:19 +09:00
Randy Mackay
57b2b02509 Rover: remove out-of-date comment 2017-08-15 20:47:19 +09:00
Randy Mackay
492fe40f93 Rover: re-organise private member declarations
declarations are grouped by file (which are in turn organised alphabetically) and in the order they appear within each file
non-functional change
2017-08-15 20:47:19 +09:00
Randy Mackay
6c7db05207 Rover: re-organise includes
non-functional change
2017-08-15 20:47:19 +09:00
Randy Mackay
06a7e46447 Rover: remove PID from build 2017-08-15 20:47:19 +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
61d1ced7aa Rover: add turn radius param for steering mode
removes reliance on old steerController
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
Randy Mackay
c56d8cb6b1 Rover: add AC_PID and AR_AttitudeControl to build 2017-08-15 20:47:19 +09:00
Randy Mackay
a5783939ef AP_MotorsUGV: add limit flags
These flags become true when the steering servo or motors hit their
limits.  used to stop I-term build-up in higher level controllers.
2017-08-15 20:47:19 +09:00
Peter Barker
fa2b500e93 Rover: remove CLI 2017-08-14 10:23:50 +09:00
Randy Mackay
59a1f260d1 Rover: remove unused compat.h 2017-08-12 14:46:46 +09:00
Randy Mackay
b895da64e1 Rover: minor comment fix to parameters list 2017-08-12 14:46:19 +09:00
Randy Mackay
e79e92a789 Rover: remove unused SPEED_TURN_DIST parameter 2017-08-12 13:58:35 +09:00
Randy Mackay
28d74722bd AP_MotorsUGV: minor formatting fix 2017-08-12 13:34:27 +09:00
Randy Mackay
bff74115bc Rover: remove unused distance_past_wp 2017-08-12 13:05:01 +09:00
Randy Mackay
a00c7e0acb Rover: mode calc_reduced_speed_for_turn gets some const for local variables 2017-08-12 12:29:13 +09:00
Randy Mackay
66bb3e8ee0 Rover: minor formatting fix to parameters.cpp 2017-08-12 12:14:54 +09:00
Peter Barker
edab526b01 Rover: send gps messages as separate queued messages 2017-08-09 16:18:22 +01:00
Peter Barker
f7fd663f45 Rover: move sending of gps_raw up 2017-08-09 16:18:22 +01:00
Peter Barker
89a5272ab5 Rover: move sending of system_time up 2017-08-09 16:18:22 +01:00
Peter Barker
341a9ae032 Rover: move sending of camera_feedback up 2017-08-09 16:18:22 +01:00
Peter Barker
ece800ba90 Rover: move sending of meminfo up 2017-08-09 16:18:22 +01:00
Peter Barker
c642dc616a Rover: use new retry_deferred method 2017-08-05 23:14:18 +01:00
khancyr
6b429bd372 Rover: remove redundant GPS check before camera update
this same check is included within AP_Camera
2017-08-05 17:05:19 +09:00
khancyr
7c3374668e Rover: formatting fixes and const local variables 2017-08-05 17:05:00 +09:00
khancyr
848df551ac Rover: formatting and comment fixes to mode class 2017-08-05 17:02:52 +09:00
Randy Mackay
efc790a84a Rover: add comment to mode 2017-08-05 11:20:58 +09:00
Randy Mackay
30852d4713 Rover: auto-reversed moved to mode 2017-08-05 11:20:58 +09:00
Randy Mackay
4f5e82f406 Rover: mode fixes for reversing 2017-08-05 11:20:58 +09:00
Randy Mackay
66f1437e4f Rover: remove unused throttle variable 2017-08-05 11:20:58 +09:00
Randy Mackay
1e8e3609c6 Rover: remove duplicate setting of ground_speed
update_ahrs already does this using a slightly different method, having both likely leads to small twitches in ground speed at 10hz
2017-08-05 11:20:58 +09:00
Randy Mackay
e88b1572b6 Rover: remove navigate 2017-08-05 11:20:58 +09:00
Randy Mackay
fe6465b748 Rover: remove next_WP, wp_distance, navigate
Also remove prev_WP, wp_totalDistance which are all handled within mode class
2017-08-05 11:20:58 +09:00
Randy Mackay
b4af441eb9 Rover: remove unused update_navigation 2017-08-05 11:20:58 +09:00
Randy Mackay
2640ec9ed9 Rover: rename update_commands to update_mission 2017-08-05 11:20:58 +09:00
Randy Mackay
56b0621994 Rover: verify_RTL calls rtl mode
also remove unused rtl_complete
2017-08-05 11:20:58 +09:00
Randy Mackay
1b19ee865d Rover: remove active-loiter and set-auto-wp
these are now handled by auto mode
2017-08-05 11:20:58 +09:00
Randy Mackay
974453607e Rover: replace do-yaw with nav-set-yaw-speed 2017-08-05 11:20:58 +09:00
Randy Mackay
27e833ebd1 Rover: verify_within_distance gets distance directly from auto mode 2017-08-05 11:20:58 +09:00
Randy Mackay
3863542194 Rover: adjust set-position-target-local-ned handling
add support for just yaw or yaw-rate
remove support for simultaneous position and velocity
2017-08-05 11:20:58 +09:00
Randy Mackay
46faece76b Rover: set-attitude-target accepts quaternions for target heading 2017-08-05 11:20:58 +09:00
Randy Mackay
d56d222971 Rover: set-attitude-target consumes thrust in -1 to +1 range
This makes the processing consistent with the mavlink spec
2017-08-05 11:20:58 +09:00
Randy Mackay
b9db9229d9 Rover: replace vehicle code guided methods with calls to guided mode class
set_guided_WP replaced by mode_guided.set_desired_location
nav_set_yaw_speed replaced with mode_guided.set_desired_heading_and_speed
set_guided_velocity replaced with mode_guided.set_desired_turn_rate_and_speed
guided_control structure replaced with mode_guided members
use_pivot_steering accepts yaw-error argument instead of calculating it itself internally
2017-08-05 11:20:58 +09:00
Randy Mackay
783f8243df Rover: use mode class's get_distance_to_destination and speed_error
used for reporting to GCS and logging
2017-08-05 11:20:58 +09:00
Randy Mackay
f71db5ae05 Rover: rtl mode refactoring
slow down for turns
2017-08-05 11:20:58 +09:00
Randy Mackay
946a0a8e54 Rover: guided mode refactoring
add set-desired methods
add get_distance_to_destination
fix to one interation with no update to motors
slow down for turns
2017-08-05 11:20:58 +09:00
Randy Mackay
279491ed20 Rover: auto mode refactoring
updating mission is handled by the vehicle code
slows down for turns
add active at destination
remove setting of loiter start time
removes unused calc_nav_steer
2017-08-05 11:20:58 +09:00
Randy Mackay
2accb5831d Rover: mode refactoring
add ahrs reference
add set-desired-location method
move _reached_destination member in from child
calc_lateral_acceleration args renamed and added comemnts
calc_lateral_acceleration updates _yaw_error_cd
remove calc_lateral_acceleration method with no arguments
calc_throttle updates _speed_error and becomes protected
remove unused variables from calc_throttle
calc_reduced_speed_for_turn_or_distance reworked
do not use rover throttle or rtl_complete
calc_nav_steer comment updates
remove unused update_navigation
2017-08-05 11:20:58 +09:00
Peter Barker
137d513fdc Rover: move try_send_message queued_param_send up 2017-08-03 14:34:33 +01:00
Peter Barker
dbac7447d6 Rover: move try_send_message send_hwstatus up 2017-08-03 14:34:33 +01:00
Peter Barker
4da89a948a Rover: move try_send_message mission handling up 2017-08-03 14:33:37 +01:00
Peter Barker
dbdfce570a Rover: move try_send_message compass message handling up 2017-08-03 14:24:47 +01:00
Peter Barker
d44c7f0886 Rover: base SYS_STATUS load average on variable loop rate 2017-08-01 19:39:27 +01:00
khancyr
23532bf45c Rover: add reason to set_mode 2017-07-31 18:01:17 +09:00
Peter Barker
2014eb0def Rover: move common mavlink camera handling up 2017-07-28 14:32:58 +01:00
Peter Barker
81d52c282c Rover: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Randy Mackay
96d55e0dbe Rover: fix wheel encoder parameter names
extra underscore removed
2017-07-27 21:57:17 +09:00
Peter Barker
160831d4ca Rover: move gps inject handling up to GCS_MAVLINK 2017-07-27 12:03:25 +01:00
Randy Mackay
ddc70058d5 Rover: reporting wheel encoder rpm 2017-07-27 16:52:29 +09:00
Randy Mackay
ae487aa99b Rover: update wheel encoder at 20hz 2017-07-27 16:52:29 +09:00
Randy Mackay
72d35593d8 Rover: send wheel encoder data to EKF 2017-07-27 16:52:28 +09:00
Randy Mackay
3d13d98410 Rover: steering mode direction fix when reversing
this corrects the rotation direction when moving backwards in steering mode so that it's consistent with manual mode
2017-07-26 10:57:45 +09:00
Randy Mackay
f9186de0ca Rover: steering mode formatting change
no functional change
2017-07-26 10:57:45 +09:00
Peter Barker
fec152385c Rover: handle common GPS messages in base GCS_MAVLINK class 2017-07-25 14:00:45 +01:00
khancyr
ded1bad6c3 Rover: remove duplicate calls from update_navigation()
calc_lateral_acceleration() and calc_nav_steer() aren't need here
2017-07-21 10:13:20 +09:00
khancyr
ca3bc05c28 Rover: Don't check if in AUTO on commands callback
This isn't need anymore with modes
2017-07-21 10:13:20 +09:00
Randy Mackay
88b2f62e2f Rover: mode rtl loses duplicate calls to calc_lateral_acceleration
Also no need to call calc_nav_steer
no need to set throttle before entering hold
2017-07-21 10:13:20 +09:00
Randy Mackay
4fe937b985 Rover: do_RTL calls set_mode(RTL)
This reverses the caller so the vehicle code calls into the mode instead of the mode calling up into the vehicle code
2017-07-21 10:13:20 +09:00
Randy Mackay
e7424a456f Rover: update advanced failsafe 2017-07-21 10:13:20 +09:00
khancyr
707b006f76 Rover: minor style correction on log 2017-07-21 10:13:20 +09:00
Randy Mackay
2321cefdc2 Rover: move manual mode failsafe handling to mode class 2017-07-21 10:13:20 +09:00
Randy Mackay
6626c2e12e Rover: only mode manual directly copies rc input to motors 2017-07-21 10:13:20 +09:00
Randy Mackay
f17f56dea4 Rover: move throttle nudge to Mode class 2017-07-21 10:13:20 +09:00
khancyr
b9644c4ec7 Rover: disable slew limit by default on mode 2017-07-21 10:13:20 +09:00
khancyr
809a9e5894 Rover: auto mode fails to enter if no mission
This prevent going into Auto without a mission and skipping the first mission waypoint because we aren't yet in Auto when in enter()
2017-07-21 10:13:20 +09:00
Peter Barker
07f4603533 Rover: integrate mode class 2017-07-21 10:13:20 +09:00