Randy Mackay
8749f30c64
AP_NavEKF2: external nav pos offsets from AP_VisualOdom library
2020-04-14 10:28:03 +10:00
Randy Mackay
fb7e68c53a
AP_NavEKF2: writeExtNavData reset handles system time wrap
2020-04-14 10:28:03 +10:00
Peter Barker
903d81c263
AP_NavEKF2: use compass reference rather than repeatedly asking AHRS for it
2020-03-13 08:26:18 +11:00
Peter Barker
369292f7f3
AP_NavEKF2: stop relying on the presence of a RangeFinder
2019-12-11 08:09:01 +11:00
Andrew Tridgell
fce4d6952f
AP_NavEKF2: don't use WMM tables unless we have a compass scale factor set
2019-12-03 20:48:23 +11:00
Peter Barker
99689f65f8
AP_NavEKF2: adjust for renaming of RangeFinder files
2019-11-12 07:14:37 +08:00
Peter Barker
9735684184
AP_NavEKF2: use enum-class for RangeFinder Status
2019-11-09 08:01:53 +11:00
Peter Barker
3619856fc9
AP_NavEKF2: correct return of empty prearm string
2019-09-19 08:47:47 +09:00
Michael du Breuil
a4d10b2e86
AP_NavEKF2: Allow the GPS to be responsible for logging
2019-09-10 09:09:17 +10:00
Andrew Tridgell
414d3eb670
AP_NavEKF2: don't fuse GPS when EK2_GPS_TYPE=3
...
when using a vision position system, the user may have vision derived
GPS data coming in using GPS_INPUT msgs. We should not fuse these when
EK2_GPS_TYPE=3 as we end up fusing both vision data and GPS data,
which does not work with the current EK2 code
This change makes it possible to run EK2 and EK3 in parallel in a
Vicon, wityh EK2 using VISION_POSITION_ESTIMATE data and EK3 using
GPS_INPUT (with yaw) data.
2019-08-26 12:27:31 +10:00
Andrew Tridgell
c57b25b4c9
AP_NavEKF2: 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
2427440e13
AP_NavEKF2: origin handling fixes from Francisco
2019-07-11 06:40:55 +10:00
Andrew Tridgell
9372073f63
AP_NavEKF2: continuously update gpsGoodToAlign
...
use it to determine how to handle a height datum reset
2019-07-07 19:20:32 +10:00
Andrew Tridgell
1c4c5a6850
AP_NavEKF2: learn gyro biases for inactive gyros
...
this allows us to learn the gyro biases each lane would need if it had
to switch to another gyro due to a sensor failure. This prevents a
sudden change in gyro bias on IMU failure
2019-07-07 19:03:01 +10:00
Peter Barker
82df167ad4
AP_NavEKF2: use beacon singleton
2019-07-01 07:20:58 +09:00
Michael du Breuil
f04e47fc17
AP_NavEKF2: Reduce scope of AP_Baro.h
2019-06-27 14:56:21 +10:00
Michael du Breuil
892b687c09
AP_NavEKF2: Fix AP_GPS.h include
2019-06-18 10:02:05 +10:00
Peter Barker
11f31c2851
AP_NavEKF2: take EAS2TAS from AHRS rather than airspeed
2019-06-06 12:44:36 +10:00
Andrew Tridgell
3835d2613e
AP_NavEKF2: added EK2_MAG_EF_LIM parameter
...
this sets a limit on the difference between the earth field from the
WMM tables and the learned earth field inside the EKF. Setting it to
zero disables the feature. A positive value sets the limit in mGauss.
2019-06-03 12:21:29 +10:00
Pierre Kancir
50e99b6e1a
AP_NavEKF2: use get_distance_NE instead of location_diff
2019-04-08 08:00:52 -07:00
Tom Pittenger
b32e8a4424
AP_NavEKF2: remove HAL_CPU_CLASS_150 check, 150 is already a minimum requirement
2019-02-17 12:59:52 -08:00
Andrew Tridgell
ccc1f906f8
AP_NavEKF2: 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
chobits
3766ee1b60
AP_NavEKF2: add external navigation data lag
2019-01-31 08:30:22 +09:00
chobits
08b9bf4a89
AP_NavEKF2: fix extNav position noise
2018-10-24 19:14:54 +09:00
Andrew Tridgell
805647df85
AP_NavEKF2: enable use of in-flight compass learning
2018-10-24 07:25:42 +10:00
Peter Barker
d8aa8d2b71
AP_NavEKF2: 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
Michael du Breuil
ee9cc28fda
AP_NavEKF2: Utilize the GPS drivers estimate for lag
2018-08-07 09:55:26 +10:00
Dr.-Ing. Amilcar do Carmo Lucas
59e087214f
AP_NavEKF2: spell in comments (NFC)
2018-07-10 08:17:57 +09:00
Paul Riseborough
c680b931dc
AP_NavEKF2: Enable fusion of external nav position data
2018-03-27 20:28:42 +09:00
Peter Barker
40957ec430
AP_NavEKF2: use ins singleton
2018-03-16 00:37:35 -07:00
Peter Barker
5ab89324b2
AP_NavEKF2: use baro singleton
2018-03-08 21:20:05 -08:00
Peter Barker
9c8466dc03
AP_NavEKF2: use GPS singleton
2017-12-27 00:58:02 +00:00
priseborough
3b32d583a9
AP_NavEKF2: Fix delta time use error
2017-12-12 11:39:38 +11:00
priseborough
440d361aff
AP_NavEKF2: Limit range of delta times
2017-12-12 11:39:38 +11:00
Peter Barker
1e83ef3c44
AP_NavEKF2: use rangefinder backend accessors
2017-08-15 18:30:45 +01:00
priseborough
f2f3067326
AP_NavEKF2: Add interface to control GPS vertical velocity use
2017-08-10 19:49:45 +10:00
Peter Barker
5da3759ff4
AP_NavEKF2: eliminate GCS_MAVLINK::send_statustext_all
2017-07-11 23:53:53 +01:00
priseborough
36e7dfb5f6
AP_NavEKF2: 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
ce37517268
AP_NavEKF2: Improve comments, typos
2017-05-03 08:44:49 +09:00
priseborough
2d4eee0cce
AP_NavEKF2: documentation update
2017-05-01 14:24:55 +10:00
Andrew Tridgell
2de8777669
AP_NavEKF2: 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
e48f46c98b
AP_NavEKF2: Add monitoring of average EKF time step
2017-04-29 11:03:44 +10:00
Andrew Tridgell
ee5c032f27
AP_NavEKF2: added recording of timing statistics
2017-04-28 17:19:39 +10:00
Randy Mackay
563be389ee
AP_NavEKF2: only use downward facing rangefinder
2017-02-27 15:18:10 +09:00
priseborough
5cd403c0b9
AP_NavEKF2: prevent NaN if RNGFND_GNDCLEAR is zero
2017-02-15 07:04:38 +09:00
Randy Mackay
fc5f4c20cd
AP_NavEKF2: remove redundant check of beacon nullptr
...
thanks to muramura for spotting this
2016-12-01 14:53:26 +09:00
Randy Mackay
1f4606e48a
AP_NavEKF2: protect against null beacon
2016-11-30 17:56:45 +09:00
priseborough
ef03a85cd3
AP_NavEKF2: add range beacon interface and fusion method
2016-11-30 17:56:43 +09:00
Andrew Tridgell
82365f8670
AP_NavEKF2: save some memory in the position offsets in EKF2
...
we don't need to copy that vector3f for every sample. A uint8_t does
the job
2016-10-27 17:09:06 +11:00
priseborough
b40016db62
AP_NavEKF2: Fix documentation errors
2016-10-27 14:54:43 +11:00