Randy Mackay
2a2cde68ef
AP_NavEKF3: skip GSF reset count check if source actively changed
...
also only fail all compass on emergency reset
4 years ago
Andrew Tridgell
885e518741
AP_NavEKF3: allow for double EKF build
4 years ago
Siddharth Purohit
cd5b764fd8
AP_NavEKF3: use first usable compass index to set magSelectIndex
4 years ago
Paul Riseborough
9014afc9d4
AP_NavEKF3: Fix typo in comment
4 years ago
Paul Riseborough
b9abef37c3
AP_NavEKF3: Reset to GPS yaw if fusion times out when on ground.
4 years ago
Paul Riseborough
ac87cab6bc
AP_NavEKF3: constify array index variable
4 years ago
Paul Riseborough
44be7161c0
AP_NavEKF3: Reduce yaw drift when operating without external aiding
...
Also fixes bug in the determination of the total angular variance threshold for when to fuse a zero innovation yaw measurement.
4 years ago
Paul Riseborough
073e273732
AP_NavEKF3: Don't allow yaw alignment until tilt alignment completed
4 years ago
Paul Riseborough
a07427fd30
AP_NavEKF3: Don't learn poorly observed IMU dvel bias states before flight
4 years ago
Paul Riseborough
e3eea0a54a
AP_NavEKF3: Use specialised function for in-flight plane yaw alignment
4 years ago
Andrew Tridgell
1ccda938cb
AP_NavEKF3: make external navigation optional
4 years ago
Randy Mackay
647c568ab9
AP_NavEKF3: out-of-date comments removed
...
GPS, Static and ExtNav yaw buffers have been separated
4 years ago
Randy Mackay
27c998ad94
AP_NavEKF3: rename source and yawFusionMethod from EXTERNAL to GPS
4 years ago
Randy Mackay
c14b4a8b6c
AP_NavEKF3: add support for GSF as yaw source
4 years ago
Randy Mackay
5891c6ace8
AP_NavEKF3: separate GPS yaw from ExtNav yaw
4 years ago
Peter Barker
6dfd2f2ff9
AP_NavEKF3: use use_EKFGSFYaw to reduce code duplication
4 years ago
Randy Mackay
a2cca60beb
AP_NavEKF3: constify EKFGSF_getYaw
4 years ago
Randy Mackay
0c3fcfd9d6
AP_NavEKF3: add missing break to case statements
4 years ago
Paul Riseborough
908b348c31
AP_NavEKF3: Fix typo in enum label
4 years ago
Randy Mackay
e819dbdd64
AP_NavEKF3: add EKFGSF_getYaw to reduce duplicate code
4 years ago
Randy Mackay
c2edae905f
AP_NavEKF3: simplify logic when updating yawAngDataStatic
4 years ago
Randy Mackay
843ddb4fdc
AP_NavEKF3: minor format fix
4 years ago
Paul Riseborough
a9e76d44af
AP_NavEKF3: Clean up yaw fusion logic
4 years ago
Paul Riseborough
ccfd89240b
AP_NavEKF3: Fix error in calculation of static 312 order yaw reference
4 years ago
Peter Barker
0529ddcd67
AP_NavEKF3: move badMagYaw onto stack
4 years ago
Andrew Tridgell
36c946113d
AP_NavEKF3: handle compass fallback in yaw source reset
...
if we get to this point we must be using the compass fallback logic,
and should do the reset
4 years ago
Randy Mackay
33b6212cce
AP_NavEKF3: rename _sources to sources
4 years ago
Randy Mackay
faed58a027
AP_NavEKF3: integrate Source for yaw
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
Andrew Tridgell
9b81c5a1e0
AP_NavEKF3: use dal reference in EKF backends
...
saves a bit of flash space
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
Paul Riseborough
16ae75a681
AP_NavEKF3: Consolidate and log tilt error variance calculation
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
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
0b96f046c2
AP_NavEKF3: Unblock initial yaw alignment message
4 years ago
Peter Barker
0496ecc4f6
AP_NavEKF2: remove unused state variables
4 years ago
Peter Barker
83d784c22d
AP_NavEKF3: fix includes
4 years ago
Andrew Tridgell
c03c43e52c
AP_NavEKF3: use same mag switch pattern as EKF2
...
based on Pauls suggested change
5 years ago
Andrew Tridgell
458ade86f5
AP_NavEKF3: fixed segfault when IMU mask covers more IMUs than GSF mask
5 years ago
chobits
7ad9e3548f
AP_NavEKF3: make reset source variable local
5 years ago
Peter Barker
6b701ae3b3
AP_NavEKF3: correct includes
5 years ago
Paul Riseborough
c8bbbd2720
AP_NavEKF3: Fix bug preventing setting of mag field states
5 years ago
Paul Riseborough
9a4108f55e
AP_NavEKF3: Simplify setting EK3_MAG_CAL
...
Don't require user to separately set EK3_MAG_CAL to fly without a magnetomer
5 years ago
Paul Riseborough
0dc598a6e1
AP_NavEKF3: Fix param description and comment
5 years ago
Paul Riseborough
21ea5d5039
AP_NavEKF3: Require GSF yaw history for reset when not using a yaw sensor
5 years ago
Paul Riseborough
f86c2e1db6
AP_NavEKF3: Don't fuse EKF-GSF yaw for FW flight
5 years ago
Paul Riseborough
b469a80633
AP_NavEKF3: Reset all co-variances when performing a yaw reset
5 years ago
Paul Riseborough
d8c2096ad8
AP_NavEKF3: improve angle accuracy during no mag launch
5 years ago