Commit Graph

91 Commits

Author SHA1 Message Date
Siddharth Purohit
cd5b764fd8 AP_NavEKF3: use first usable compass index to set magSelectIndex 2021-06-02 17:10:19 +10:00
Paul Riseborough
9014afc9d4 AP_NavEKF3: Fix typo in comment 2021-05-11 10:37:08 +10:00
Paul Riseborough
b9abef37c3 AP_NavEKF3: Reset to GPS yaw if fusion times out when on ground. 2021-05-11 10:37:08 +10:00
Paul Riseborough
ac87cab6bc AP_NavEKF3: constify array index variable 2021-03-23 10:05:59 +11:00
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.
2021-03-23 10:05:59 +11:00
Paul Riseborough
073e273732 AP_NavEKF3: Don't allow yaw alignment until tilt alignment completed 2021-03-23 10:05:59 +11:00
Paul Riseborough
a07427fd30 AP_NavEKF3: Don't learn poorly observed IMU dvel bias states before flight 2021-03-23 10:05:59 +11:00
Paul Riseborough
e3eea0a54a AP_NavEKF3: Use specialised function for in-flight plane yaw alignment 2021-03-05 12:10:01 +11:00
Andrew Tridgell
1ccda938cb AP_NavEKF3: make external navigation optional 2021-01-24 11:56:52 +11:00
Randy Mackay
647c568ab9 AP_NavEKF3: out-of-date comments removed
GPS, Static and ExtNav yaw buffers have been separated
2021-01-05 10:58:06 +11:00
Randy Mackay
27c998ad94 AP_NavEKF3: rename source and yawFusionMethod from EXTERNAL to GPS 2021-01-05 10:58:06 +11:00
Randy Mackay
c14b4a8b6c AP_NavEKF3: add support for GSF as yaw source 2021-01-05 10:58:06 +11:00
Randy Mackay
5891c6ace8 AP_NavEKF3: separate GPS yaw from ExtNav yaw 2021-01-05 10:58:06 +11:00
Peter Barker
6dfd2f2ff9 AP_NavEKF3: use use_EKFGSFYaw to reduce code duplication 2020-12-17 16:00:29 +09:00
Randy Mackay
a2cca60beb AP_NavEKF3: constify EKFGSF_getYaw 2020-12-16 19:18:29 +11:00
Randy Mackay
0c3fcfd9d6 AP_NavEKF3: add missing break to case statements 2020-12-16 19:18:29 +11:00
Paul Riseborough
908b348c31 AP_NavEKF3: Fix typo in enum label 2020-12-15 19:29:16 +11:00
Randy Mackay
e819dbdd64 AP_NavEKF3: add EKFGSF_getYaw to reduce duplicate code 2020-12-15 19:29:16 +11:00
Randy Mackay
c2edae905f AP_NavEKF3: simplify logic when updating yawAngDataStatic 2020-12-15 19:29:16 +11:00
Randy Mackay
843ddb4fdc AP_NavEKF3: minor format fix 2020-12-15 19:29:16 +11:00
Paul Riseborough
a9e76d44af AP_NavEKF3: Clean up yaw fusion logic 2020-12-15 19:29:16 +11:00
Paul Riseborough
ccfd89240b AP_NavEKF3: Fix error in calculation of static 312 order yaw reference 2020-12-15 19:29:16 +11:00
Peter Barker
0529ddcd67 AP_NavEKF3: move badMagYaw onto stack 2020-12-01 10:40:09 +11:00
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
2020-11-20 16:43:44 +09:00
Randy Mackay
33b6212cce AP_NavEKF3: rename _sources to sources 2020-11-20 16:43:44 +09:00
Randy Mackay
faed58a027 AP_NavEKF3: integrate Source for yaw 2020-11-20 16:43:44 +09:00
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.
2020-11-16 16:01:13 +11:00
Andrew Tridgell
9b81c5a1e0 AP_NavEKF3: use dal reference in EKF backends
saves a bit of flash space
2020-11-10 16:15:45 +11:00
Andrew Tridgell
096aab9388 AP_NavEKF3: convert to use AP_DAL for new replay structure
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Randy Mackay
2681d3afe2 AP_NavEKF3: simplify alignYawAngle 2020-11-03 11:00:01 +11:00
Paul Riseborough
16ae75a681 AP_NavEKF3: Consolidate and log tilt error variance calculation 2020-10-26 11:03:50 +11:00
Paul Riseborough
69632336e1 AP_NavEKF3: Remove singularity in yaw fusion at +-90deg yaw
Uses sympy derivation
2020-10-26 11:03:50 +11:00
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
2020-10-26 11:03:50 +11:00
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.
2020-10-26 11:03:50 +11:00
Paul Riseborough
0b96f046c2 AP_NavEKF3: Unblock initial yaw alignment message 2020-10-26 11:03:50 +11:00
Peter Barker
0496ecc4f6 AP_NavEKF2: remove unused state variables 2020-10-22 08:47:08 +11:00
Peter Barker
83d784c22d AP_NavEKF3: fix includes 2020-10-20 11:40:54 +11:00
Andrew Tridgell
c03c43e52c AP_NavEKF3: use same mag switch pattern as EKF2
based on Pauls suggested change
2020-09-08 11:01:14 +10:00
Andrew Tridgell
458ade86f5 AP_NavEKF3: fixed segfault when IMU mask covers more IMUs than GSF mask 2020-08-28 10:17:00 +10:00
chobits
7ad9e3548f AP_NavEKF3: make reset source variable local 2020-08-10 09:43:28 +09:00
Peter Barker
6b701ae3b3 AP_NavEKF3: correct includes 2020-08-07 19:20:07 +10:00
Paul Riseborough
c8bbbd2720 AP_NavEKF3: Fix bug preventing setting of mag field states 2020-07-25 20:46:04 +10:00
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
2020-07-07 15:33:58 +10:00
Paul Riseborough
0dc598a6e1 AP_NavEKF3: Fix param description and comment 2020-07-07 15:33:58 +10:00
Paul Riseborough
21ea5d5039 AP_NavEKF3: Require GSF yaw history for reset when not using a yaw sensor 2020-07-07 15:33:58 +10:00
Paul Riseborough
f86c2e1db6 AP_NavEKF3: Don't fuse EKF-GSF yaw for FW flight 2020-07-07 15:33:58 +10:00
Paul Riseborough
b469a80633 AP_NavEKF3: Reset all co-variances when performing a yaw reset 2020-07-07 15:33:58 +10:00
Paul Riseborough
d8c2096ad8 AP_NavEKF3: improve angle accuracy during no mag launch 2020-07-07 15:33:58 +10:00
Peter Barker
bf3cb977fd AP_NavEKF3: clarify yaw reset error message
The current wording can be taken to indicate that the mag sensors
stopped, causing this issue.
2020-05-26 10:05:35 +10:00
Paul Riseborough
939331ae8d AP_NavEKF3: Fix double iteration of axes in SelectMagFusion 2020-05-18 09:38:45 +10:00