Commit Graph

688 Commits

Author SHA1 Message Date
Andrew Tridgell 601eb12efb AP_NavEKF2: allow for double EKF build 2021-07-22 19:07:36 +09:00
Josh Henderson 0561637350 AP_NavEKF2: Fix #17789 core's EKF origin altitude different if flying 2021-06-22 12:01:10 +10:00
Josh Henderson d7ecd6883d AP_NavEKF2: non_GPS modes ensure EKF origin set only once and stays in sync
ekf2
2021-06-22 12:01:10 +10:00
Siddharth Purohit 124eaf1a38 AP_NavEKF2: use first usable compass index to set magSelectIndex 2021-06-02 17:10:19 +10:00
Andrew Tridgell ea6724aca5 AP_NavEKF2: don't limit baro change when we are in fixed wing mode 2021-06-02 11:13:16 +09:00
Andrew Tridgell 32b079911f AP_NavEKF2: use DAL APIs for takeoff/touchdown expected 2021-06-02 11:13:16 +09:00
murata a5b6ce9220 AP_NavEKF2: Change misnomer (NFC) 2021-03-19 17:49:27 +11:00
murata 24591d68bc AP_NavEKF2: Change misnomer (NFC) 2021-03-15 18:21:15 +11:00
Peter Barker 5dff32422d AP_NavEKF2: remove separate calls to get delta-times for vel and ang 2021-03-13 11:29:29 +11:00
Paul Riseborough ac00776184 AP_NavEKF2: DAL interface compatibility change 2021-03-05 12:10:01 +11:00
murata af639f7812 AP_NavEKF2: Change misnomer (NFC) 2021-03-03 20:49:55 +11:00
Iampete1 3306484023 AP_NavEKF2: log position offset as float in meters 2021-03-02 10:03:12 +11:00
Paul Riseborough 948650dbe5 AP_NavEKF2: Fix bug preventing EKFGSF running when needed for reset
The gpsAccuracyGood flag should not be used because it will go false if GPS innovations become high due to bad yaw which is when the EKFGSF is required. to keep running.
2021-03-02 07:28:24 +11:00
Peter Barker d668243d1e AP_NavEKF2: move GSF logging from EKF files into GSF files 2021-02-23 12:36:33 +11:00
Patrick José Pereira 53eb2f2bf4 AP_NavEKF2: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Peter Barker 445a461f12 AP_NavEKF2: remove getFilterTimeouts access methods 2021-01-22 13:04:36 +11:00
Peter Barker 401cccca19 AP_NavEKF2: correct description on NKF3.SVT 2021-01-21 21:26:17 +11:00
Peter Barker dddb285209 AP_NavEKF2: remove internal-only getTiltError method 2021-01-21 21:26:17 +11:00
Peter Barker 6b60bae068 AP_NavEKF2: remove unused getAccelNED method 2021-01-21 21:26:17 +11:00
Randy Mackay 60633f5a7f AP_NavEKF2: disable ekf2 by default 2021-01-16 08:24:23 +09:00
Andrew Tridgell 1e75bb971e AP_NavEKF2: constrain vertical error
this prevents a floating point exception with external AHRS
2021-01-05 21:13:12 +11:00
Andrew Tridgell b36bfe4206 AP_NavEKF2: fixed init order for scheduler
this can impact replay of EKF2
2021-01-02 10:30:26 +11:00
Paul Riseborough b372d62f35 AP_NavEKF2: Add accessor function for body frame airspeed vector 2020-12-11 15:21:41 +11:00
Andrew Tridgell 5e72907730 AP_NavEKF2: only fuse airspeed if healthy 2020-12-11 09:59:49 +11:00
Peter Barker f6d3983e1b AP_NavEKF2: move EKF2 message ids into AP_NavEKF2 2020-12-08 11:30:10 +11:00
Peter Barker 00ac8391c0 AP_NavEKF2: move EKF2 logging structures into EKF2 LogStructure.h 2020-12-08 11:30:10 +11:00
Peter Barker c5c810b724 AP_NavEKF2: use structures for logging GSF data
This makes it look like EKF2 and is marginally more efficient.
2020-12-02 10:30:48 +11:00
Peter Barker f94f51d9d3 AP_NavEKF2: move log message metadata to be above the structure
This is the pattern we are adopting elsewhere to try to keep things
related as much as possible.
2020-12-02 10:30:48 +11:00
Peter Barker d600b87454 AP_NavEKF2: make logging a core concern 2020-12-01 13:06:04 +11:00
Peter Barker fc7e7dcee4 AP_NavEKF2: remove unused variables 2020-12-01 10:40:09 +11:00
Peter Barker addd57dcab AP_NavEKF2: move badMagYaw onto stack 2020-12-01 10:40:09 +11:00
Peter Barker 0aa10d8281 AP_NavEKF2: move tasHealth to be a stack variable 2020-12-01 10:40:09 +11:00
Peter Barker 3a98d51427 AP_NavEKF2: move posvel fusion health booleans to be on the stack 2020-12-01 10:40:09 +11:00
Peter Barker 400ba7a9df AP_NavEKF2: move global state to be on the stack 2020-12-01 10:40:09 +11:00
Andrew Tridgell 7313e9eb0f AP_NavEKF2: removed inhibitGps and inhibitGpsVertVel options
these were unused
2020-12-01 10:33:50 +11:00
Andrew Tridgell 79148498d3 AP_NavEKF2: don't reset EKx_GPS_TYPE when GPS has no vertical velocity
setting the parameter to 1 causes the following issues:

 - the GPS may not have vertical velocity at the time the parameter
   set happens, but may get it later when the GPS is fully configured

 - we may switch between GPS modules which do/don't have vertical
   velocity

 - the user may download parameters after the set(1), and end up with
   incorrect parameters they may later load onto the vehicle,
   permanently disabling use of vertical velocity
2020-12-01 10:33:50 +11:00
Randy Mackay 4087d7b792 AP_NavEKF2: add configuredToUseGPSForPosXY 2020-11-25 21:00:07 +11:00
Andrew Tridgell 39ba8a8c83 AP_NavEKF2: convert to using common buffer classes
this saves a considerable amount of flash
2020-11-20 21:56:32 +11:00
Andrew Tridgell 3a4095fc7f AP_NavEKF2: use common structure names 2020-11-17 13:45:07 +11:00
Paul Riseborough 248ef92ed7 AP_NavEKF2: Add velocity innovation check to use of EKF-GSF yaw
Only apply to non fly forward vehicle, eg copters, because magnitude of velocity innovation produced by plane launches is TBD.
2020-11-16 16:01:13 +11:00
Paul Riseborough e5e8d0ba3c AP_NavEKF2: Don't update yaw estimator with bad GPS 2020-11-16 16:01:13 +11:00
Andrew Tridgell a2f4b16cdc AP_NavEKF2: fixed logged core for GSF messages 2020-11-16 10:28:43 +11:00
Andrew Tridgell 01cd678244 AP_NavEKF2: fixed memory corruption on push before init
this fixes a bug that happens with VISION_SPEED_ESTIMATE from a
companion computer, which may come in before the EKF buffers are
allocated. That causes a push to an uninitialised ringbuffer which
triggers memory corruption

found using the new memory guard system
2020-11-15 15:42:48 +11:00
Andrew Tridgell 7099bb6096 AP_NavEKF2: fixed gcc 9.3 build error
gcc 9.3 doesn't like the use of get_accel(i) when array length is 1
2020-11-13 14:30:11 +11:00
Andrew Tridgell 5b41d5541f AP_NavEKF2: removed use of another lanes gyro in optflow takeoff detection
as discussed with Paul
2020-11-10 16:15:45 +11:00
Andrew Tridgell 7d7031d3d7 AP_NavEKF2: added const (review request) 2020-11-10 16:15:45 +11:00
Andrew Tridgell 16f7e51ea5 AP_NavEKF2: fixed use of pointers in ringbuffers
these don't work with AP_DAL
2020-11-10 16:15:45 +11:00
Andrew Tridgell 246a441883 AP_NavEKF2: cope with INS_MAX_INSTANCES below 3 2020-11-10 16:15:45 +11:00
Andrew Tridgell 5f0e943f0f AP_NavEKF2: use dal reference in EKF backends
saves a bit of flash space
2020-11-10 16:15:45 +11:00
Andrew Tridgell 8591b31665 AP_NavEKF2: cleanup unused code 2020-11-10 16:15:45 +11:00