Daniel Agar
ec9dce2e89
Update world_magnetic_model to latest Tue Jul 18 11:14:09 UTC 2023
...
* Update world_magnetic_model to latest Tue Jul 18 11:14:09 UTC 2023
* [AUTO COMMIT] update change indication
Co-authored-by: PX4 BuildBot <bot@px4.io >
2023-07-18 14:29:08 -04:00
bresch
f5fd369ce8
[AUTO COMMIT] update change indication
2023-07-17 13:43:18 +02:00
bresch
1128ada90a
ekf2: use correct AlphaFilter for 3D rotations
2023-07-17 13:43:18 +02:00
Sergei Grichine
f000238987
SensorGps.msg: switch to double precision for lat/lon/alt
...
To match https://github.com/PX4/PX4-GPSDrivers/pull/132 - adding high precision RTK lat/lon/alt components
2023-07-13 07:50:09 +02:00
bresch
9e2e888f5e
ekf2-bias_cal: reduce required stability period
...
For the mag, 30s of bias learning is a lot, given that it is only active
during turns and that it usually converges in < 5 seconds
2023-07-11 11:33:53 -04:00
bresch
2f52926972
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-11 11:33:53 -04:00
bresch
f5edff2647
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-11 08:18:32 -07:00
bresch
672b29d555
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-11 08:18:32 -07:00
alexklimaj
03528a6200
Add EKF2_OF_QMIN_GND to handle 0 optical flow quality when on ground
2023-07-11 08:18:06 -07:00
alexklimaj
bca0be47bc
Apply code review changes from @dagar
2023-07-11 08:18:06 -07:00
Eric Katzfey
9511248514
Removed the huge HAGL fuse timeout increase
2023-07-11 08:18:06 -07:00
Eric Katzfey
f5d9ac4526
Cleaned up some comments and debug code
2023-07-11 08:18:06 -07:00
mjturi-mai
56c794108d
actual fixes for velocity estimate errors and bad rng fusion
2023-07-11 08:18:06 -07:00
Silvan Fuhrer
81764c43a1
EKF2: use timestamp from argument of PublishEvPosBias() ( #21822 )
...
* EKF2: use timestamp from argument of PublishEvPosBias()
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
* Update src/modules/ekf2/EKF2.cpp
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com >
---------
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com >
2023-07-11 11:07:39 +02:00
Antonio Sanjurjo C
c1cb48c2ea
EKF2 cleanup. Use MAX_NUM_x constants instead of hard-coded numbers
...
Signed-off-by: Antonio Sanjurjo C <74329840+antonio-sc66@users.noreply.github.com >
2023-07-06 09:36:27 +02:00
Mathieu Bresciani
288e3ae74a
EKF2: vision attitude error filter ( #21791 )
...
* ekf2-ev: filter q_error for frame correction
* ekf2: filter EV attitude error centrally
2023-07-03 11:13:59 -04:00
bresch
eb70c9f6f3
ekf2: update auto-generated code to SymForce 0.9.0
2023-06-26 14:10:54 -04:00
bresch
fdf7867a3e
ekf2: update derivation to SymForce 0.9.0
2023-06-26 14:10:54 -04:00
Daniel Agar
d9ae2ed7ac
ekf2: regenerate yaw estimator symforce
...
- remove underscore uppercase variable naming that can be problematic
2023-06-19 21:00:25 -04:00
Mathieu Bresciani
24de623989
EKF2: Zero gyro update ( #21691 )
...
When at rest, directly fuse the gyro data as an observation of its bias.
This allows to strongly observe the gyro biases without having to fuse a
constant heading that makes the ekf too confident about its heading.
2023-06-09 21:13:18 -04:00
Morten Fyhn Amundsen
135f02679a
ekf2: Fix description of EKF2_HDG_GATE
2023-06-09 11:52:55 +02:00
bresch
5233b33242
update change indicator
2023-06-05 11:58:42 -04:00
bresch
403a6310c4
gnss yaw: compare auto-generated Jacobian against autodiff
2023-06-05 11:58:42 -04:00
bresch
c6b259d5f6
yaw_fusion: compare auto-generated Jacobian against autodiff
2023-06-05 11:58:42 -04:00
bresch
d4528dc53a
sideslip: compare auto-generated Jacobian against autodiff
2023-06-05 11:58:42 -04:00
bresch
e7c4a22be8
mag_3d: compare auto-generated Jacobian against autodiff
2023-06-05 11:58:42 -04:00
bresch
c6f1a63659
opt_flow: compare auto-generated Jacobian against autodiff
2023-06-05 11:58:42 -04:00
bresch
9d7abf2552
ekf2: symforce - use builtin Rot3 and Quaternion operations
2023-06-05 11:58:42 -04:00
Daniel Agar
6535cc758e
ekf2: fuse mag update last heading fuse time if updating all states
...
- handle synthetic z special case
2023-05-26 08:48:08 -06: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
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