Andrew Tridgell
451fe840ee
AP_NavEKF3: ensure that EKF origin stays in sync on all cores
...
this prevents the EKF origin on different cores from being initialised
to different values. A common value is stored in the frontend and used
by a core if it doesn't have an origin
2019-07-29 10:08:22 +10:00
Andrew Tridgell
b56914b879
AP_NavEKF3: use GPS yaw if available and enabled
...
this allows a suitable GPS to be used as an external yaw source
2019-07-13 11:05:57 +10:00
priseborough
977a7b68ed
AP_NavEKF3: Add push to buffer for external yaw sensor data
2019-07-13 11:05:57 +10:00
priseborough
87c7649d09
AP_NavEKF3: Add interface for yaw angle measurements
2019-07-13 11:05:57 +10:00
Andrew Tridgell
634db441f8
AP_NavEKF3: origin handling fixes from Francisco
2019-07-11 06:40:55 +10:00
Andrew Tridgell
f3fc910abe
AP_NavEKF3: continuously update gpsGoodToAlign
...
use it to determine how to handle a height datum reset
2019-07-07 19:20:32 +10:00
Andrew Tridgell
209bca162c
AP_NavEKF3: added inactive bias learning
...
this allows for biases on inactive IMUs to be learned so that an IMU
switch within an EKF lane does not cause a jump in the IMU data
2019-07-07 19:03:01 +10:00
Peter Barker
ef2589738d
AP_NavEKF3: use beacon singleton
2019-07-01 07:20:58 +09:00
Michael du Breuil
b624f6f008
AP_NavEKF3: Reduce scope of AP_Baro.h
2019-06-27 14:56:21 +10:00
Michael du Breuil
be74b631fe
AP_NavEKF3: Fix AP_GPS.h include
2019-06-18 10:02:05 +10:00
Peter Barker
dce472745e
AP_NavEKF3: take EAS2TAS from AHRS rather than airspeed
2019-06-06 12:44:36 +10:00
Pierre Kancir
b3a1c9c90c
AP_NavEKF3: use get_distance_NE instead of location_diff
2019-04-08 08:00:52 -07:00
Arjun Vinod
f382a657bd
AP_NavEKF3: fixed typos
2019-02-26 08:33:39 +11:00
Tom Pittenger
55377b234f
AP_NavEKF3: remove HAL_CPU_CLASS_150 check, 150 is already a minimum requirement
2019-02-17 13:00:00 -08:00
Andrew Tridgell
39ffef1f08
AP_NavEKF3: fixed EKF compass switching
...
when we had 3 compasses the lack of the 'break' meant when we switched
compass in flight we would always switch back instantly to the one
that we had just rejected.
2019-02-09 13:04:52 +11:00
Andrew Tridgell
de58fb4637
AP_NavEKF3: support in-flight compass learning
2018-10-24 07:25:42 +10:00
Peter Barker
be9235a581
AP_NavEKF3: fix writeOptFlowMeas signature
...
const some of the vectors, stop taking references to scalars that aren't
being changed
2018-09-11 09:03:22 +10:00
Pierre Kancir
48c5a9b9c5
AP_NavEKF3: style change in BCN mesurements
2018-04-03 09:54:43 +09:00
Peter Barker
55b8a2288e
AP_NavEKF3: use ins singleton
2018-03-16 00:37:35 -07:00
Peter Barker
7b1a906c4e
AP_NavEKF3: use baro singleton
2018-03-08 21:20:05 -08:00
Paul Riseborough
6a1055389d
AP_NavEKF3: Fix origin height estimator indexing bug
...
EKF3 should use index 9 to access vertical position states
2018-02-21 17:04:30 +10:00
Peter Barker
5dc714bf5f
AP_NavEKF3: use GPS singleton
2017-12-27 00:58:02 +00:00
Peter Barker
63440800fc
AP_NavEKF3: use rangefinder backend accessors
2017-08-15 18:30:45 +01:00
priseborough
2310cb6d19
AP_NavEKF3: Enable external control over use of GPS vertical velocity
2017-08-10 19:49:45 +10:00
priseborough
db7c8439c6
AP_NavEKF3: Fix bug in wheel odometry timestamp correction
2017-07-28 12:48:38 +09:00
priseborough
c7f6d52065
AP_NavEKF3: Add wheel encoder odometry
...
Uses the existing body frame odometry observation model.
Handles each sensored wheel as a separate sensor.
2017-07-27 16:52:27 +09:00
priseborough
593437ca95
AP_NavEKF3: Add tuning of visual odometry observation error
...
Also adjust default values based on replay analysis.
2017-07-27 16:52:25 +09:00
Peter Barker
93e09c51d3
AP_NavEKF3: eliminate GCS_MAVLINK::send_statustext_all
2017-07-11 23:53:53 +01:00
priseborough
2a9eceaf10
AP_NavEKF3: Fix bugs causing height drift when using range beacons
2017-06-23 00:43:58 +01:00
priseborough
7d63286088
AP_NavEKF3: update to match AP_GPS interface change
2017-06-21 11:44:45 +01:00
priseborough
628d140319
AP_NavEKF3: Make target covariance time step larger
...
The target covariance time step has been increased from 10 to 12 msec to improve conditioning of the covariance prediction calculation.
2017-06-14 12:44:41 +01:00
priseborough
9da3caca47
AP_NavEKF3: Improve GPS reference height estimator
...
Fix rounding error bug preventing state from updating after initial convergence.
Decouple GPS reference height from published EKf origin height.
Add bitmask parameter to control update and publishing of GPS reference height.
2017-06-14 12:44:41 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas
23b7f1e645
AP_NavEKF3: Improve comments, typos
2017-05-03 08:45:01 +09:00
priseborough
4a898037e9
AP_NavEKF3: documentation update
2017-05-01 14:24:55 +10:00
Andrew Tridgell
a04aff7a7d
AP_NavEKF3: added inter-EKF scheduling cooperation
...
this changes the stragegy for load levelling between EKF cores so it
works between EK2 and EK3, and with future estimators as well.
It allows us to run EK3 and EK2 at the same time with good scheduling
performance
2017-05-01 14:24:55 +10:00
priseborough
0bf50fd56f
AP_NavEKF3: Add monitoring of average EKF time step
2017-04-29 11:03:44 +10:00
priseborough
3ce81967ae
AP_NavEKF3: Improve calculation and use of average EKF time step
2017-04-29 11:03:44 +10:00
priseborough
7abf9997e6
AP_NavEKF3: Correctly initialise dtIMUavg time step and apply LPF
2017-04-29 11:03:44 +10:00
Andrew Tridgell
adb281cd4e
AP_NavEKF3: added timing statistics logging
2017-04-28 17:19:39 +10:00
priseborough
fb7104f4e3
AP_NavEKF3: add fusion method for body frame odometry data
2017-04-19 11:04:40 +09:00
Randy Mackay
3f6a734a71
AP_NavEKF3: only use downward facing rangefinder
2017-02-27 15:18:11 +09:00
priseborough
e399f57ffa
AP_NavEKF3: prevent NaN if RNGFND_GNDCLEAR is zero
2017-02-15 07:04:38 +09:00
priseborough
2e5ac40ef6
AP_NavEKF3: remove unnecessary stdio includes
2017-01-27 16:57:42 +09:00
priseborough
7e8f3fca53
AP_NavEKF3: Address review comments
...
Removes a leftover debug printf statement.
Fixes documentation errors.
Replace remaining fmaxf function calls with Ardupilot MAX function
2017-01-27 16:57:42 +09:00
priseborough
b723966b8d
AP_NavEKF2: Add protection against bad GPS time delay values
...
Prevent bad values for GPS time delay pushing the GPS time stamp outside the range of IMU data contained in the buffer. If this occurs it can prevent the GPS measurements from being fused and cause loss of navigation.
2017-01-27 16:57:42 +09:00
priseborough
b862f0d7ad
AP_NavEKF3: Enable use of GPS delay value from returned by the driver
...
Use the time delay returned by the GPS driver.
Wait long enough for the GPS configuration to be determined, but time out after 30 seconds and warn the user that a default value for time delay will be used.
2017-01-27 16:57:42 +09:00
priseborough
a8fd1d8bcd
AP_NavEKF3: fix potential time-stamping bug
...
Use a consistent time reference
2017-01-27 16:57:42 +09:00
priseborough
8d1733cee6
AP_NavEKF3: Use FIR filtered airspeed
...
Switch to use of an airspeed reading averaged across the raw sensor readings. since the last update.
This avoids use of the IIR which requires a larger time delay compensation and violates the assumption of uncorrelated noise.
The time delay parameter has been reduced to compensate for the removal of the airspeed IIR filtering.
2017-01-27 16:57:42 +09:00
priseborough
ed5039823f
AP_NavEKF3: Adapt sensor buffer lengths
...
Adapt the lengths of the IMU and observations buffers on startup to the specified time delays and update rates.
This does require the EKF to be re-started if time delays are changed.
2017-01-27 16:57:42 +09:00
priseborough
7c53573a0c
AP_NavEKF3: Allow range beacon use with intermittent GPS
2017-01-27 16:57:42 +09:00