Paul Riseborough
325eed46ec
AP_NavEKF3: Allow operation with EK3_SRCx_POSZ = 0 (NONE)
2024-01-07 10:59:27 +11:00
Andy Piper
b405030fcc
AP_NavEKF3: allow high values of EK3_ALT_M_NSE for boards without baros
2024-01-07 10:59:27 +11:00
Paul Riseborough
96318bff4a
AP_NavEKF3: Update EK3_GLITCH_RADIUS metadata
2024-01-07 10:59:27 +11:00
Paul Riseborough
99a5bd2c0d
AP_NavEKF3: increase innovation variance instead of clipping innovations
2024-01-07 10:59:27 +11:00
Paul Riseborough
04fc8c3bcc
AP_NavEKF3: Provide option to clip velocity and position innovations
2024-01-07 10:59:27 +11:00
Andrew Tridgell
e5577e0284
AP_NavEKF3: fixed race condition in updateFilterStatus()
...
filter status was initially set to zero then updated. This interacts
with the IMU filtering code which checks filter status from a
different thread to determine active_EKF_type(). When the race
condition is hit then the IMU we are running notch filters on changes
for a single sample, causing a notch filter glitch
2024-01-07 10:59:26 +11:00
Andy Piper
86482cc780
AP_NavEKF3: fix docs on ABIAS_P_NSE_DEFAULT
2024-01-07 10:59:26 +11:00
Andrew Tridgell
e4e69468ca
AP_NavEKF3: fixed velocity reset on AID_NONE
...
The ResetVelocity() function is only supposed to reset XY states, not
Z state. Resetting the Z state for velocity results in a large
velocity glitch if a vehicle is descending or ascending when aiding
switches to AID_NONE
this fixes #19386
2024-01-07 10:59:25 +11:00
Paul Riseborough
d5c6d1c8a8
AP_NavEKF3: Increase delta velocity bias state process noise
...
Required due to state variance collapse on ground with some systems using RTK GPS.
2023-06-08 18:41:06 +10:00
Paul Riseborough
328354999b
AP_NavEKF3: Strengthen recovery from bad delta velocity bias learning
2023-06-08 18:41:06 +10:00
Paul Riseborough
388c4738dc
AP_NavEKF3: Increase default value of EK3_ABIAS_P_NSE
...
This is required because some hardware setups with RTK GPS have experienced a collapse of the delta velocity state variances.
2023-06-08 18:41:06 +10:00
Paul Riseborough
d04a301e9a
AP_NavEKF3: Retune and fix delta velocity bias state variance protection
2023-06-08 18:41:06 +10:00
Paul Riseborough
61b276995b
AP_NavEKF3: Lock in wind state estimates when using srag to dead reckon
2023-06-08 18:41:06 +10:00
Andrew Tridgell
bbe79b3c18
AP_NavEKF3: handle core setup failure
...
ensure num_cores is left as zero so that calls such as Log_Write don't
de-reference nullptr
2023-05-05 13:22:51 +10:00
Paul Riseborough
df2f8366c5
AP_NavEKF3: Improve protection against GPS glitches during yaw alignment
2023-04-21 09:48:45 +10:00
Paul Riseborough
dfd6e6d8ac
AP_NavEKF3: Reduce use of GSF yaw for planes with no compass
2023-04-21 09:48:45 +10:00
bugobliterator
deeeb4134c
AP_NavEKF3: use INS_MAX_INSTANCES instead of MAX_EKF_CORES for IMU mask
2023-03-21 10:04:16 +11:00
Peter Barker
2af6a05fa2
AP_NavEKF3: include writeWheelOdom symbol even if no body-odom
...
like the method above it, we need this symbol or we won't compile
2023-02-11 10:36:33 +11:00
Peter Barker
35a5a73f52
AP_NavEKF3: avoid using struct Location
...
clang reports this could be a problem when compiling under some EABIs. Remove it from most places as it is just noise, replace with class where we want to avoid including Location.h
2023-02-04 22:51:54 +11:00
Iampete1
16b1bd8b9a
AP_NavEKF3: pre-arm return failure message for correct core
2023-01-31 13:36:56 +11:00
Peter Barker
8a312d4f34
AP_NavEKF3: use classes to fix MATH_CHECK_INDEXES
2023-01-25 19:58:54 +11:00
Peter Barker
7f4c5a9a84
AP_NavEKF3: tidy variable declarations
2023-01-25 19:58:54 +11:00
Peter Barker
da95985dd7
AP_NavEKF3: remove mag_state state
...
we don't need to persist this across multiple calls as we now fuse all axes on the one step.
I've moved the defintion of these variables to where they are initialised to make it clear they're not used uninitialised.
2023-01-25 19:58:54 +11:00
Peter Barker
063a041d22
AP_NavEKF3: add trailing comma to AidingMode enum, reindent same
2023-01-25 19:50:34 +11:00
Peter Barker
b716793a0e
AP_NavEKF3: remove duplicated lines in parameter metadata
2022-12-28 13:21:18 +11:00
Andrew Tridgell
8bf8d4889a
AP_NavEKF3: added get_enable()
2022-12-20 10:34:22 +11:00
Tatsuya Yamaguchi
366a325fc0
AP_NavEKF3: do not check the second range finder if RANGEFINDER_MAX_INSTANCES is 1
2022-12-20 10:05:24 +11:00
Andy Piper
e4b8d8a9b6
AP_NavEKF3: ensure wind estimation from airspeed can be used on its own
2022-12-14 19:19:58 +11:00
Stephen Dade
abcacec25f
AP_NavEKF3: Add support for fixed height optical flow
2022-12-01 08:03:47 +09:00
Paul Riseborough
33349ed92a
AP_NavEKF3: Prevent on ground range to ground being used in flight
2022-11-22 11:23:44 +11:00
Paul Riseborough
2228937536
AP_NavEKF3: Don't allow range finder use to start if terrain state is stale
2022-11-22 11:23:44 +11:00
Peter Barker
5cb6906968
AP_NavEKF3: add and use AP_BEACON_ENABLED
2022-11-16 08:16:31 +11:00
Peter Barker
806b2708c1
AP_NavEKF3: change namespace of MultiCopter and FixedWing params
...
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Andrew Tridgell
92f25150f6
AP_NavEKF3: fixed getLLH alt for local origin height
...
this fixes a bug introduced in #21834
this fix in #21834 was correct for getPosD, but should not have been
applied to getLLH
this caused cruise mode in plane to descend/ascend by the difference
between the public and local origins on mode entry
fixes #21984
2022-10-23 11:23:48 +11:00
jackhong12
4a4f361a17
all: use CLASS_NO_COPY() macro
2022-10-04 11:23:04 +11:00
Andrew Tridgell
17d9018a91
AP_NavEKF3: fixed EKF3 origin alt inconsistency
...
always use common origin, and adjust output posD for difference
between public and local lane origin heights
2022-09-30 07:44:42 +10:00
Paul Riseborough
481bec5ff5
AP_NavEKF3: Allow wind states to recover faster when airspeed sensor failed
2022-09-26 14:17:53 +10:00
Paul Riseborough
399f30bfce
AP_NavEKF3: Allow reporting of airspeed consistency for a deselected sensor
2022-09-26 14:17:53 +10:00
Paul Riseborough
eb0e9230a1
AP_NavEKF3: Add accessor function for airspeed health monitoring
2022-09-26 14:17:53 +10:00
Paul Riseborough
608b4c0713
AP_NavEKF3: Enable monitoring of unhealthy airspeed sensors
...
Innovations and innovation test ratios will still be calculated and reported for an unhealthy sensor, but the EKF states wnd covariance matrix will not be modified.
2022-09-26 14:17:53 +10:00
Peter Barker
0665f9c32b
AP_NavEKF3: store and use lastKnownPositionD
...
When returning our last-known-position we were supplying lat/lng but not
altitude.
This usually really doesn't matter as this result generally isn't used,
especially for altitude. OTOH, it may prevent a bug into the future.
2022-08-22 19:48:03 +10:00
nrt
0c65cd1b47
AP_NavEKF3: added a getter function to infer the source index used by ekf3
2022-08-18 02:05:27 -04:00
Peter Barker
1b13dd053b
AP_NavEKF3: use send_mesage for sending status report
2022-08-16 09:45:51 +10:00
Peter Barker
0443c8561b
AP_NavEKF3: stop using GCS_MAVLINK.h in header files
...
... by passing through a reference to a link object instead
2022-08-16 09:45:51 +10:00
Tamas Nepusz
8959d35b91
AP_NavEKF3: add EK3_GPS_VACC_MAX as a threshold that decides whether to use GPS as altitude source depending on vAcc
2022-08-03 17:57:05 +10:00
Henry Wurzburg
b7f49db1f7
AP_NavEKF3: Add streaming log verbosity level parameter
2022-08-02 10:21:39 +10:00
Iampete1
cf14e741ee
AP_NavEKF3: only include log struture if enabled
2022-07-13 18:14:12 +10:00
Andrew Tridgell
e2a83ba428
AP_NavEKF3: fixed undefined behaviour in logging
2022-07-12 11:00:08 +10:00
Pierre Kancir
21890000f7
AP_NavEKF3: fix python files exec permissions
2022-06-08 08:16:42 +09:00
Andrew Tridgell
d5670ace3b
AP_NavEKF3: fixed use of configured() vs configured_in_storage()
2022-06-06 13:11:50 +10:00