Commit Graph

11563 Commits

Author SHA1 Message Date
priseborough 04036d7777 AP_NavEKF : Updated GPS glitch protection logic
This adds new functionality to the detection and compensation of GPS
glitches:

1) A maximum allowable innovation is calculated using the GPS noise
parameter multiplied by the gate, with an additional component allowing
for growth in position uncertainty due to acceleration error since
the last valid measurement
2) Includes per vehicle type values for the acceleration error limit
3) If the innovation length exceeds the maximum allowable, no fusion occurs
4) If no fusion has occurred for long enough such that the position uncertainty
exceeds the maximum set by a per vehicle parameter or a maximum time, an offset
is applied to the GPS data to so that it matches the value predicted by the filter
5) The offset is never allowed to be bigger than 100m
6) The offset is decayed to zero at a rate of 1.0 m/s to allow GPS jumps to
be accommodated gradually
7) The default velocity innovation gate has been tightened up for copter and rover
8) The variance data logging output has been updated to make it more useful
2014-04-01 21:22:14 +11:00
Andrew Tridgell 7e2ef0cfc0 AP_GPS: fixed GPS for Replay 2014-04-01 17:25:15 +11:00
Andrew Tridgell 9278685cdf AP_Math: fixed location build on SITL 2014-04-01 14:20:10 +11:00
Andrew Tridgell b8f9b5ad91 Rover: added GPS parameters 2014-04-01 06:38:26 +11:00
Andrew Tridgell 852cdbaa7c Copter: added GPS parameters 2014-04-01 06:38:25 +11:00
Andrew Tridgell d395f50521 AntennaTracker: added GPS parameters 2014-04-01 06:38:25 +11:00
Andrew Tridgell 77e2f48581 AP_GPS: fixed notify updates for new API 2014-04-01 06:38:25 +11:00
Andrew Tridgell 9781175bf5 AP_GPS: fixed handling of driver destruction
this allows for more complex destructors, and ensures we don't have
multiple backends allocated at once per instance
2014-04-01 06:38:25 +11:00
Andrew Tridgell 7ceba8dce4 AP_GPS: prevent double allocation of GPS drivers 2014-04-01 06:38:25 +11:00
Andrew Tridgell 8779ffe088 AP_GPS: flush pending config strings when uBlox starts 2014-04-01 06:38:25 +11:00
Andrew Tridgell 0191355488 AP_GPS: fixed init strings to all be in progmem
and sent async ...
2014-04-01 06:38:25 +11:00
Andrew Tridgell bc0c9ad6d5 AP_InertialNav: fixed example build 2014-04-01 06:38:25 +11:00
Andrew Tridgell 35c111a63a AP_AHRS: fixed example build 2014-04-01 06:38:25 +11:00
Andrew Tridgell 7b2d56a8cb AC_Fence: disable example build
fails to build with compiler error
2014-04-01 06:38:25 +11:00
Andrew Tridgell 3b8c6e629d AC_AttitudeControl: updated example for new GPS API 2014-04-01 06:38:25 +11:00
Andrew Tridgell c2486d8d6e AP_GPS: updated examples for new API
removed old per-driver examples, and updates AUTO example
2014-04-01 06:38:25 +11:00
Andrew Tridgell 60ad429d13 Replay: convert to new GPS API 2014-04-01 06:38:24 +11:00
Andrew Tridgell c51212da53 AntennaTracker: convert to new GPS API 2014-04-01 06:38:24 +11:00
Andrew Tridgell bc1ebcadf5 VARTest: converted to new GPS API 2014-04-01 06:38:24 +11:00
Andrew Tridgell 640b64f5e4 Copter: convert to new GPS API 2014-04-01 06:38:24 +11:00
Andrew Tridgell f4079f57b2 Rover: convert to new GPS API 2014-04-01 06:38:24 +11:00
Andrew Tridgell e19341ca32 Plane: convert to new GPS driver API 2014-04-01 06:38:24 +11:00
Andrew Tridgell d04d33a02d AP_InertialNav: convert to new GPS API 2014-04-01 06:38:24 +11:00
Andrew Tridgell 5a2e84e792 AP_NavEKF: changes for new GPS API 2014-04-01 06:38:24 +11:00
Andrew Tridgell b7a2db716b AP_Arming: convert to new GPS API 2014-04-01 06:38:24 +11:00
Andrew Tridgell eb67948171 AP_Mount: convert to new GPS API 2014-04-01 06:38:24 +11:00
Andrew Tridgell f07e4dee52 AP_AHRS: convert to new GPS API 2014-04-01 06:38:24 +11:00
Andrew Tridgell 31d3b6555f DataFlash: convert to new GPS API 2014-04-01 06:38:23 +11:00
Andrew Tridgell 368daf89f1 AP_GPS: new GPS API
This is a complete rewrite of the GPS driver structure, with a static
main driver and separate backend drivers. This will allow proper
support for multiple GPSes, and will allow parameters to be set on the
GPS object
2014-04-01 06:38:23 +11:00
Andrew Tridgell 198388b5e0 Copter: use AP_GPS_Auto for 2nd GPS 2014-04-01 06:38:23 +11:00
Andrew Tridgell 747948692a Rover: use AP_GPS_Auto for 2nd GPS 2014-04-01 06:38:23 +11:00
Andrew Tridgell 958e17f4ff Plane: use AP_GPS_Auto for 2nd GPS 2014-04-01 06:38:23 +11:00
Andrew Tridgell 2dd92832dc AP_GPS: support multiple AP_GPS_Auto drivers
move all static variables into a dynamically allocated structure in
the AUTO driver which gets freed when we have found a GPS type
2014-04-01 06:38:23 +11:00
Andrew Tridgell 3c4389180e AP_GPS: removed GPS_406 driver
this driver was untested and badly structured. If we want to support
the 406 we can revive it and do it properly
2014-04-01 06:38:23 +11:00
Kevin Hester 5fb3b031f1 Copter: disambiguate the various causes of "Bad GPS Pos"
I've seen a fair number of user questions where they are confused by
"Bad GPS Pos" on their GCS/not being allowed to arm.  This change splits
the remaining causes of this fault into separate messages.

Hopefully this increases the odds of the user self diagnosing...
2014-03-31 21:59:12 +09:00
Randy Mackay 9e7021cc20 Copter: Notify arming failure when using MAVLink 2014-03-31 20:34:31 +09:00
Jonathan Challinger 608b8b0a2c Copter: integrate Notify arming failure when using yaw sticks 2014-03-31 20:34:29 +09:00
Jonathan Challinger f0fc0397d3 Notify: add arming failure tone 2014-03-31 20:34:27 +09:00
Randy Mackay 7bb981f2df AP_Notify: correct dos formatting 2014-03-31 20:34:24 +09:00
Randy Mackay 4b6f03cc11 Copter: remove do_land's use of RTL_ALT_MAX 2014-03-31 20:34:21 +09:00
Jonathan Challinger 2601ac9959 Copter: Remove 80m altitude limit on RTL 2014-03-31 20:34:19 +09:00
Jonathan Challinger 045c6d8c3f Copter: Only play GPS tone when armed 2014-03-31 20:34:16 +09:00
Andrew Tridgell ea6fbae666 AntennaTracker: fixed pitch slew rate limit 2014-03-31 17:48:28 +11:00
Andrew Tridgell 4cb9d4fcb5 AntennaTracker: fixed mode set using custom mode 2014-03-31 17:48:28 +11:00
Andrew Tridgell 563cf06624 Rover: make log_bitmask 32 bit
this fixes the log before arm
2014-03-31 17:48:28 +11:00
Randy Mackay d9fd577fb0 Copter: add Drift throttle assist constraints 2014-03-31 15:40:00 +09:00
Jason Short 50dcbe6549 Copter: Drift throttle assist range increased
Throttle assist is applied from 213 ~ 787
Deadband and constraint added
2014-03-31 13:09:57 +09:00
Jason Short bccf1de563 Copter: add drift throttle assist 2014-03-31 13:09:54 +09:00
Andrew Tridgell f4f04ead68 Rover: added BRAKING_PERCENT parameter
this allows for reverse throttle to be applied for braking in corners
2014-03-31 08:44:19 +11:00
Andrew Tridgell 31082f4ce2 AP_Mission: fixed a bug re-entering AUTO
this fixes a bug found by Marco where we would continue in CRUISE mode
with no waypoint if we re-entered AUTO after a mission reset
2014-03-31 06:18:07 +11:00