Randy Mackay
849e94cc24
AP_NavEKF3: call sources align inactive sources
4 years ago
Randy Mackay
ba9f60abc7
AP_NavEKF3: add getVelInnovationsAndVariancesForSource
4 years ago
Randy Mackay
58aa6086df
AP_NavEKF3: always calculate GPS innovations and variances
4 years ago
Randy Mackay
e7e91b1c3b
AP_NavEKF3: always calculate extNav innovations and variances
4 years ago
Randy Mackay
6b2b5c4ca0
AP_NavEKF3: add CalculateVelInnovationsAndVariances
4 years ago
Randy Mackay
2505fd5c1c
AP_NavEKF3: body and wheel odometry check source
4 years ago
Randy Mackay
1263648d88
AP_NavEKF3: beacon fusion checks source
4 years ago
Randy Mackay
8a56ce49be
AP_NavEKF3: optical flow fusion checks source
4 years ago
Randy Mackay
4cadaa5194
AP_NavEKF3: readyToUseOptFlow, Beacon, ExtNav check source
4 years ago
Randy Mackay
faed58a027
AP_NavEKF3: integrate Source for yaw
4 years ago
Randy Mackay
8931e50166
AP_NavEKF3: integrate Source for alt
4 years ago
Randy Mackay
c21d58ebea
AP_NavEKF3: integrate Source for position
4 years ago
Andrew Tridgell
4c606a30bb
AP_NavEKF3: use common structure names
4 years ago
Paul Riseborough
aaf558f593
AP_NavEKF3: 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.
4 years ago
Paul Riseborough
db86a5acc8
AP_NavEKF3: Don't update yaw estimator with bad GPS
4 years ago
Andrew Tridgell
5686dafeef
AP_NavEKF3: fixed logged core for GSF messages
4 years ago
Andrew Tridgell
03f2e853ce
AP_NavEKF3: 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
4 years ago
Andrew Tridgell
c14d19be68
AP_NavEKF3: fixed gcc 9.3 build error
...
gcc 9.3 doesn't like the use of get_accel(i) when array length is 1
4 years ago
Andrew Tridgell
0bc77a3baf
AP_NavEKF3: fixed whitespace
4 years ago
Andrew Tridgell
6ee1b23d28
AP_NavEKF3: removed use of another lanes gyro in optflow takeoff detection
...
as discussed with Paul
4 years ago
Andrew Tridgell
6fe05a9ab6
AP_NavEKF3: restore XKTV message
4 years ago
Andrew Tridgell
f5275fd0ad
AP_NavEKF3: fixed use of pointers in ringbuffers
...
these don't work with AP_DAL
4 years ago
Andrew Tridgell
eaa8474563
AP_NavEKF3: cope with INS_MAX_INSTANCES below 3
4 years ago
Andrew Tridgell
9b81c5a1e0
AP_NavEKF3: use dal reference in EKF backends
...
saves a bit of flash space
4 years ago
Andrew Tridgell
1bdf6173ec
AP_NavEKF3: removed have_ekf_logging
4 years ago
Andrew Tridgell
21dfdc2192
AP_NavEKF3: use DAL for body frame odometry
4 years ago
Andrew Tridgell
a0de6c620f
AP_NavEKF3: use selected GPS for gps_yaw_deg()
...
more than one GPS could provide yaw
4 years ago
Andrew Tridgell
f4c3d7286c
AP_NavEKF3: support replay with wheel odomotry
4 years ago
Andrew Tridgell
e87f98066f
AP_NavEKF3: support replay with external navigation data
4 years ago
Andrew Tridgell
7bbbbd314c
AP_NavEKF3: added optflow support for AP_DAL
4 years ago
Andrew Tridgell
31091d6307
AP_NavEKF3: use ekf_low_time_remaining for core scheduling
4 years ago
Andrew Tridgell
f3c3778169
prevent duplicate EKF logging
...
vehicle code sometimes tries to log the same data twice
4 years ago
Andrew Tridgell
096aab9388
AP_NavEKF3: convert to use AP_DAL for new replay structure
...
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
4 years ago
Randy Mackay
2681d3afe2
AP_NavEKF3: simplify alignYawAngle
4 years ago
Peter Barker
fc49b55b85
AP_NavEKF3: make coreBetterScore const
4 years ago
Randy Mackay
b726630ef4
AP_NavEKF3: pos timeout or glitch does not reset vel if fusing successfully
...
vel is not reset if GPS velocity, optical flow, visual odometry or wheel
encoders are successfully being fused
4 years ago
Randy Mackay
3b38aa6d7b
AP_NavEKF3: GPS change pos reset uses ResetPositonNE and ResetPositionD
...
Using these existing functions removes some code duplicate
non-functional change
4 years ago
Randy Mackay
7b898ee001
AP_NavEKF3: minor comment and format fixes
4 years ago
Paul Riseborough
f2af2b3458
AP_NavEKF3: Initialise tiltErrorVariance class variable
4 years ago
Paul Riseborough
43386a8eea
AP_NAvEKF3: Use a const reference
4 years ago
Paul Riseborough
64a3d8fe4e
AP_NavEKF3: Update documentation
4 years ago
Paul Riseborough
6c7820dd8d
AP_NavEKF3: Add verification of tiltErrorVariance() method in SITL
4 years ago
Paul Riseborough
90e928c32a
AP_NavEKF3: Re-tune tilt alignment check
...
New tilt error variance estimate is more accurate and larger than before.
4 years ago
Paul Riseborough
16ae75a681
AP_NavEKF3: Consolidate and log tilt error variance calculation
4 years ago
Paul Riseborough
8a88dd23a2
AP_NavEKF3: Add missing generated code file for yaw fusion
4 years ago
Paul Riseborough
69632336e1
AP_NavEKF3: Remove singularity in yaw fusion at +-90deg yaw
...
Uses sympy derivation
4 years ago
Paul Riseborough
4e41e9f5f1
AP_NavEKF3: Ensure consistent use of 312 or 321 rotation order
...
Prevents possibility of a differnt sequence being used to calculate the yaw and application of the yaw to the quaternions
4 years ago
Paul Riseborough
fa10d114e4
AP_NavEKF3: Fix yaw drift after yaw reset at +-90 deg pitch
...
Use existing covariance prediction code to set quaternion state covariances.
Assumes tilt error is 3 deg 1-sigma.
4 years ago
Paul Riseborough
73d5ca5ad3
AP_NavEKF3: Fix yaw drift after yaw reset at +-90 deg pitch
...
Use existing covariance prediction code to set quaternion state covariances.
Assumes tilt error is 3 deg 1-sigma.
TODO derive and add function that calculates tilt error variance.
4 years ago
Paul Riseborough
a97d030e4b
AP_NavEKF3: Reset earth field variances when starting mag field estimation
4 years ago