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
Daniel Agar
08f111f694
ekf2: consolidate airspeed fusion logic and helpers
...
- pass new airspeed sample around when available
- can't completely eliminate _airspeed_sample_delayed until resetWind()
called from sideslip fusion is updated
2023-02-22 09:08:33 -05:00
Daniel Agar
241cee2bb7
ekf2: move airspeed buffer pop to controlAirDataFusion
2023-02-22 09:08:33 -05:00
Daniel Agar
0711a34d0e
ekf2: move flow buffer pop to controlOpticalFlowFusion
2023-02-22 09:08:33 -05:00
Daniel Agar
ed8cef6cf0
ekf2: move controlAuxVelFusion control.cpp -> auxvel_fusion.cpp
2023-02-22 09:08:33 -05:00
Daniel Agar
b4e845d7c0
ekf2: move controlDragFusion control.cpp -> drag_fusion.cpp
2023-02-22 09:08:33 -05:00
Daniel Agar
c08a387c5a
ekf2: move controlBetaFusion control.cpp -> sideslip_fusion.cpp
2023-02-22 09:08:33 -05:00
Daniel Agar
d61b8c21b2
ekf2: move controlAirDataFusion() control.cpp -> airspeed_fusion.cpp
2023-02-22 09:08:33 -05:00
Daniel Agar
d840f7f39f
ekf2: move controlGpsYawFusion() control.cpp -> gps_control.cpp
2023-02-22 09:08:33 -05:00
bresch
8ebf47edb1
ekf2: stop mag fusion when there is no data anymore
2023-02-17 08:51:55 -05:00
Daniel Agar
2ea25804a1
ekf2: allow filter init with only IMU ( #21041 )
...
- if mag enabled heading init is now pushed to controlMagFusion()
2023-02-13 22:07:15 -05:00
Hamish Willee
edb6c635d5
EKF2_MAG_TYPE - fix typos ( #20808 )
2023-02-10 14:39:57 +01:00
Daniel Agar
7b3befded5
ekf2: disable new gravity fusion by default
2023-02-07 13:57:10 -05:00
Daniel Sahu
fa6fda6cce
ekf2: new gravity observation ( #21038 )
...
Signed-off-by: Daniel M. Sahu <danielmohansahu@gmail.com >
2023-02-07 13:28:58 -05:00
Daniel Agar
04d3e549f5
ekf2: resetQuatStateYaw() set _time_last_heading_fuse
2023-02-03 10:03:09 -05:00
Daniel Agar
66ad7fd06c
ekf2: include 0 timestamp checks in helpers (isTimedOut(), isRecent(), etc)
...
- EKF isTimedOut(), isRecent(), and isNewestSampleRecent() need to handle the case where the timestamp has never been set
- reset() more thoroughly reset fields (mainly impacts unit tests)
2023-02-03 10:00:51 -05:00
Daniel Agar
264a99fb77
ekf2: new EKF2_IMU_CTRL parameter and gyro bias inhibit mechanism
...
- EKF2_AID_MASK accel bias inhibit moves to EKF2_IMU_CTRL
2023-02-03 09:52:24 -05:00
Daniel Agar
f668ea5aa6
ekf2: RingBuffer add reset method
2023-02-03 08:49:44 -05:00
Daniel Agar
e3d73cd837
ekf2: mag control reset mag_lpf on first sample
2023-02-02 16:12:09 -05:00
Daniel Agar
efe1d43550
ekf2: symforce codegen remove reserved identifier naming
...
- from the C standard, "All identifiers that begin with an underscore and either an uppercase letter or another underscore are always reserved for any use"
2023-01-30 09:24:32 -05:00
Hamish Willee
f25abbc80a
Fix magnetometer typo
2023-01-30 10:24:16 +01:00
Daniel Agar
8da993c30e
Update world_magnetic_model to latest Sat Jan 28 11:14:05 UTC 2023
...
Co-authored-by: PX4 BuildBot <bot@px4.io >
2023-01-28 11:41:03 -05:00
bresch
6e30f8f5cb
ekf2: use dedicated aid_src message for flow for terrain aiding
2023-01-21 15:31:19 -05:00