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