Andrew Tridgell
1119ffe6ba
AP_NavEKF3: allow for double EKF build
2021-07-23 10:19:46 +09:00
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