bresch
61036599db
mag_cal: fix mag bias estimate to mag cal
...
- since last_us is set to 0 every time the bias is not observable, the
total time was also reset -> needed 30 consecutive seconds in mag 3D
to be declared "stable"
- after landing, the mag_aligned_in_flight flag is reset. Using this for
bias validity makes it invalid before we have a chance to save it to
the calibration.
2023-07-18 07:38:47 -07:00
bresch
eb23779c57
ekf2 - preflt checks: scale flow innovation checks
...
Opt flow raw innovations can be really large on ground due to the small
distance to the ground (vel = flow / dist). To make the pre-flight check
more meaningful, scale it with the current distance.
2023-07-17 11:13:43 -04:00
bresch
a07b8c08ab
ekf2: report dist bottom also when using flow for terrain
...
Terrain height can be estimated using a range finder and/or optical flow
2023-07-17 11:13:43 -04:00
alexklimaj
36ec1fa811
Add EKF2_OF_QMIN_GND to handle 0 optical flow quality when on ground
2023-07-17 11:13:43 -04:00
alexklimaj
694501b782
Apply code review changes from @dagar
2023-07-17 11:13:43 -04:00
Eric Katzfey
7dd8e3f614
Removed the huge HAGL fuse timeout increase
2023-07-17 11:13:43 -04:00
Eric Katzfey
fe335344e7
Cleaned up some comments and debug code
2023-07-17 11:13:43 -04:00
mjturi-mai
343c7fcd52
actual fixes for velocity estimate errors and bad rng fusion
2023-07-17 11:13:43 -04:00
Daniel Agar
8222cbca2c
ekf2: last range sensor simple timestamp protection
...
- sanity check againist potential timestamp issues with incoming
distance_sensor data
2023-05-09 12:02:42 -04:00
Daniel Agar and PX4BuildBot
f0bea542d5
Update world_magnetic_model to latest ( #21533 )
...
* Update world_magnetic_model to latest Mon May 1 11:14:06 UTC 2023
* [AUTO COMMIT] update change indication
Co-authored-by: PX4BuildBot <PX4BuildBot@users.noreply.github.com >
2023-05-01 08:59:55 -04:00
bresch
521abecbbf
ekf2: remove all remaining uses of EKF2_AID_MASK
2023-04-28 22:31:17 -04:00
bresch
98a8d080b6
ekf2 params: fix my bad english
2023-04-28 22:31:17 -04:00
bresch
2a2e43b620
ekf2: move flow fusion activation from AID_MASK to OF_CTRL
2023-04-28 22:31:17 -04:00
bresch
39c2f95669
ekf2: move drag fusion activation from AID_MASK to DRAG_CTRL
2023-04-28 22:31:17 -04:00
Hamish Willee
51f71909d4
Update ekf2_params.c - typo EKF2 aid mask
2023-04-19 17:11:47 -07:00
bresch
17806a9608
ekf2: robustify wind init using airspeed
...
Tests showed that sideslip fusion often starts just before airspeed
fusion, resetting the wind states to 0 instead of using the airspeed
data. A quick look at the wind uncertainty allows to know if the current
wind estimate is meaningful or if we should rather reset it using the
airspeed data.
2023-04-08 14:12:21 +02:00
bresch
fb3b4a3151
ekf2: remove duplicate buffer push of system flags
2023-04-04 15:56:09 -04:00
bresch
62770c43f9
[AUTO COMMIT] update change indication
2023-03-31 10:15:12 +02:00
bresch
ed7c4bc5d7
ekf2: init tilt using quaternion from gravity vector
2023-03-31 10:15:12 +02:00
Daniel Agar
4d9369dc67
Update world_magnetic_model to latest Fri Mar 24 11:14:06 UTC 2023
2023-03-24 09:39:26 -04:00
Silvan Fuhrer
d532578ecc
EKF2: only check for EKF2_BETA_FUSION when corresponding kconfig option is set
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2023-03-22 10:05:32 +01:00
Silvan Fuhrer
98d07ad1f3
disable side slip fusion for tailsitters
...
The attitude frame is wrong for tailsitters doing side slip fusion for wind estimation.
It doesn't take into account that the frames is 90deg tilted in FW flight.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2023-03-22 10:05:32 +01:00
bresch
3e3307c0d0
ekf2: fix mag declination innovation angle wrapping
2023-03-21 21:07:28 -04:00
Daniel Agar
32a5bd32ad
ekf2: add kconfig option to enable/disable range finder fusion (and terrain estimator)
2023-03-21 11:25:34 -04:00
Daniel Agar
0784901a66
ekf2: add kconfig option to enable/disable optical flow fusion
2023-03-21 11:25:34 -04:00
Matthias Grob
b0189d95af
Use new Vector4 class
2023-03-21 15:01:26 +01:00
Matthias Grob
08d6465ce5
matrix: add explicit Vector4 type
2023-03-21 15:01:26 +01:00
Daniel Agar
4363b09421
ekf2: add kconfig option to enable/disable external vision fusion
2023-03-20 10:12:17 -04:00
Daniel Agar
d47f96f1a5
ekf2: add kconfig option to enable/disable AUX velocity fusion
2023-03-20 10:12:17 -04:00
Daniel Agar
4270a303ab
ekf2: add kconfig option to enable/disable airspeed and sideslip fusion
2023-03-20 10:12:17 -04:00
Daniel Agar
98ff1afc19
ekf2: add kconfig option to enable/disable GNSS yaw
2023-03-20 10:12:17 -04:00
Daniel Agar
8b2205810b
ekf2: add kconfig option to enable/disable baro compensation
2023-03-20 10:12:17 -04:00
Daniel Agar
fe0e3acf09
ekf2: add kconfig option to enable/disable drag fusion
2023-03-20 10:12:17 -04:00
Daniel Agar
f0a95f9572
ekf2: add new kconfig option for multi-EKF
...
- disabled if flash constrained or memory constrained
2023-03-15 09:32:47 -04:00
Daniel Agar
19a2b4ec31
ekf2: GNSS yaw only reset test ratio for new samples
...
- otherwise external test ratio monitoring could trigger a false positive
2023-03-14 21:49:24 -04:00
bresch
fd33e60f78
ekf: fix GNSS yaw fusion wrapping
2023-03-13 10:46:34 +01:00
Daniel Agar
b3cc945a5a
ekf2: merge runOnGroundYawReset() + runInAirYawReset() into unified magReset()
2023-03-09 09:08:27 -05:00
Daniel Agar
c1f244a6fd
ekf2: decrease EKF2_MAG_YAWLIM default 0.25 -> 0.2 rad/s ( #21264 )
2023-03-09 09:07:54 -05:00
Daniel Agar
4dda5a97d8
ekf2: mag_3d check mag bias variance before allowed to update all states (orientation)
2023-03-08 15:12:48 -05:00
Daniel Agar
d45aeae1de
ekf2: add and share centralized method to clear inhibited state Kalman gains
2023-03-07 13:27:57 -05:00
Beniamino Pozzan
b79578fa55
efk2: Force external vision vertical position if EKF2_HGT_REF=VISION
...
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it >
2023-03-06 09:19:49 -05:00
Daniel Agar
3fac85369e
ekf2: gps control use adjusted velocity and position for reset
2023-03-06 09:03:39 -05:00
Daniel Agar
b5a6d6db0d
ekf2: fix controlEvYawFusion() yaw reset
2023-02-24 16:59:59 -05:00
Daniel Agar
98263de17b
ekf2: move aux vel helpers to auxvel_fusion.cpp
2023-02-22 09:08:33 -05:00
Daniel Agar
a199df78cc
ekf2: move mag control helpers to mag_control.cpp
2023-02-22 09:08:33 -05:00
Daniel Agar
c20e4e4421
ekf2: move stopFlowFusion() to optical_flow_control.cpp
2023-02-22 09:08:33 -05:00
Daniel Agar
3a317ec18c
ekf2: move gps helpers to gps_control.cpp
2023-02-22 09:08:33 -05:00
Daniel Agar
9ec3f30ae1
ekf2: move gps buffer pop to controlGpsFusion()
...
- controlGpsFusion() now owns yaw estimator update
2023-02-22 09:08:33 -05:00
Daniel Agar
a867bb7d88
ekf2: let controlAirDataFusion() update yaw estimator TAS
2023-02-22 09:08:33 -05:00
Daniel Agar
60856ebe62
ekf2: move range buffer pop to controlRangeHeightFusion()
2023-02-22 09:08:33 -05:00