Andrew Tridgell
94cbd7cbfb
AP_NavEKF3: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Paul Riseborough
91423d4c71
AP_NavEKF3: Remove unncessary local position height reporting offset
...
The offset generated by the EK3_OGN_HGT_MASK parameter bit 2 option is applied to the baro or range finder sensor so it does not have to be applied to the local position height.
2024-05-23 10:35:51 +10:00
Paul Riseborough
5fded75eb6
AP_NavEKF3: Adjust sensor height when EK3_OGN_HGT_MASK bit 2 is set
2024-05-23 10:35:51 +10:00
Peter Barker
36e385fb22
AP_NavEKF3: set-origin failure comment improved
2024-05-21 09:56:02 +10:00
Randy Mackay
4e2dd7c399
AP_NavEKF3: accept set origin even when using GPS
2024-05-21 09:56:02 +10:00
Paul Riseborough
3c8b3be7a7
AP_NavEKF3: Change yaw source to stop compass use when calibrating
2024-04-23 15:19:56 +09:00
Andrew Tridgell
dce2492321
AP_NavEKF3: use filtered gyro in INS position correction
...
this reduces the impact of IMU noise on the output velocity from the
EKF
2024-04-17 14:53:59 +10:00
Iampete1
21df26de75
AP_NavEKF3: use set_and_defualt when changing imu mask
2024-03-26 11:35:36 +11:00
Randy Mackay
65b4db5ede
AP_NavEKF3: define Yaw alignment min GPS speed per vehicle
2024-03-26 10:01:42 +11:00
Peter Barker
ce04d69d53
AP_NavEKF3: correct compilation in SITL when logging is disabled
...
this code is gated on HAL_BOARD_SITL already, and usually we have logging in SITL. But not always
2024-03-12 09:25:17 +11:00
Marek S. Lukasiewicz
07681416f5
AP_NavEKF3: Match handling of MAV_CMD_EXTERNAL_POSITION_ESTIMATE to common MAVLink dialect
2024-03-07 18:13:51 +11:00
Peter Barker
21edc6aee1
AP_NavEKF3: do not trust number of beacons to not change
...
if the count from the beacon library changes we may end up looking at memory we shouldn't
2024-02-28 18:37:42 +11:00
Peter Barker
a517d5fed1
AP_NavEKF3: correct initialisation of BeaconFusion data structure
...
the fusionReport object is not being cleared when the filter undergoes a forced reset.
So delete and recreate the object. Will also make this sensitive to the number of beacons changing.
Also don't attempt to allocate zero bytes.
2024-02-28 18:37:42 +11:00
Peter Barker
2df3cb98c6
AP_NavEKF3: move initialisation of rngBcn into BeaconFusion method
2024-02-27 12:04:14 +11:00
Peter Barker
e9d065c1cc
AP_NavEKF3: tidy population of fusion reports
...
simply take a refefence and use it
2024-02-26 20:55:41 +11:00
Simon Hancock
07eecd3b67
AP_NavEKF3: Updates to log message units and help text
...
Set quaternion component units to no-unit from UNKNOWN
2024-01-21 14:26:54 +11:00
Peter Barker
0afed2f8c2
AP_NavEKF3: allow compilation with HAL_LOGGING_ENABLED false
2024-01-17 18:25:55 +11:00
Peter Barker
10c8af3409
AP_NavEKF3: do not use fmaxF on floating point values
...
it returns double, which will not fit into this float
2023-09-12 09:47:17 +10:00
Paul Riseborough
5aa7bd0b7a
AP_NavEKF3: Allow operation with EK3_SRCx_POSZ = 0 (NONE)
2023-08-23 18:25:26 +10:00
Andy Piper
c57efa1b20
AP_NavEKF3: allow high values of EK3_ALT_M_NSE for boards without baros
2023-08-23 18:25:26 +10:00
Paul Riseborough
e3c0175bb4
AP_NavEKF3: Update EK3_GLITCH_RADIUS metadata
2023-08-16 17:56:43 +10:00
Paul Riseborough
842882355f
AP_NavEKF3: increase innovation variance instead of clipping innovations
2023-08-16 17:56:43 +10:00
Paul Riseborough
573bd7c7f3
AP_NavEKF3: Provide option to clip velocity and position innovations
2023-08-16 17:56:43 +10:00
Andrew Tridgell
484312df93
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
2023-08-12 17:47:56 +10:00
Andy Piper
2f97a9855a
AP_NavEKF3: fix docs on ABIAS_P_NSE_DEFAULT
2023-07-14 08:33:05 +09:00
Andrew Tridgell
d11d4fa0bf
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
2023-06-26 18:09:31 +10:00
Paul Riseborough
4d03327470
AP_NavEKF3: Fix sign error in position fix delay compensation
2023-06-08 16:31:22 +10:00
Paul Riseborough
3677cb025d
AP_NavEKF3: Add handlers for external lat lng position set
2023-06-06 15:19:12 +10:00
Paul Riseborough
c91909032f
AP_NavEKF3: Increase delta velocity bias state process noise
...
Required due to state variance collapse on ground with some systems using RTK GPS.
2023-05-24 10:31:26 +10:00
Paul Riseborough
1053daaf90
AP_NavEKF3: Strengthen recovery from bad delta velocity bias learning
2023-05-24 10:31:26 +10:00
Paul Riseborough
b1111e79fe
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-05-24 10:31:26 +10:00
Paul Riseborough
ef76890f9b
AP_NavEKF3: Retune and fix delta velocity bias state variance protection
2023-05-24 10:31:26 +10:00
Andrew Tridgell
52cb59e61d
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-08 16:28:08 +10:00
Peter Barker
ce8afaf57b
AP_NavEKF3: use quat.to_euler(Vector3f&)
2023-04-19 14:24:45 +10:00
Peter Barker
5d68f44694
AP_NavEKF3: move beacon variables into structure
...
AP_NavEKF3: change beacon variable names
2023-04-18 09:28:02 +10:00
Paul Riseborough
5ab17496f6
AP_NavEKF3: Improve protection against GPS glitches during yaw alignment
2023-04-17 08:48:03 +10:00
Paul Riseborough
7063b385cf
AP_NavEKF3: Reduce use of GSF yaw for planes with no compass
2023-04-17 08:48:03 +10:00
Paul Riseborough
a25aa8d2ac
AP_NavEKF3: Lock in wind state estimates when using srag to dead reckon
2023-04-04 09:22:23 +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