Andrew Tridgell
d5293b2030
AP_NavEKF3: fixed constrain indexing bug
...
fixes #20180
thanks to @liyue75 for spotting this!
3 years ago
Hwurzburg
970e5f829b
AP_NavEKF3: remove user unintelligible GCS message
3 years ago
Andrew Tridgell
a33febd90a
AP_NavEKF3: fixed gaps in EKF logging
...
timestamps should not be static as otherwise some lanes will not be
logged
3 years ago
Paul Riseborough
5178f4a7d0
AP_NavEKF3: Add missing covariance row reset
3 years ago
Josh Henderson
67eb6d17eb
AP_NavEKF3: initialize stateStruct.quat to unit length
3 years ago
Paul Riseborough
c828bdfbc9
AP_NavEKF3: Reduce output observer vertical velocity error when bad IMU
3 years ago
Paul Riseborough
c0d88e2673
AP_NavEKF3: Fix vertical velocity reset
...
Fixes bug that prevents the vertical velocity being reset to the GPS if the position aiding has already timed out and improves sensitivity of the bad IMU data check.
3 years ago
Peter Barker
b66fd214f0
AP_NavEKF3: move from HAL_NO_GCS to HAL_GCS_ENABLED
3 years ago
Josh Henderson
3006d50f97
AP_NavEKF3: use vector.xy().length() instead of norm(x,y)
3 years ago
Paul Riseborough
59d31cc7d5
AP_NavEKF3: Rework non-airspeed wind estimation
...
Faster wind estimation when not using airspeed with acceptable noise in wind velocity estimates.
4 years ago
Paul Riseborough
7497590363
AP_NavEKF3: Increase lower state variance limit when vibration affected
...
This makes state corrections from GPS and baro observations more aggressive
4 years ago
Paul Riseborough
e3bdbcd8ea
AP_NavEKF3: Make bad IMU status more persistent
4 years ago
Paul Riseborough
62d70a628e
AP_NavEKF3: Use large accel process noise when IMU data is bad
4 years ago
Paul Riseborough
72dc998509
AP_NavEKF3: Allow smaller dvel bias state variances for improved tuning
4 years ago
Paul Riseborough
ce4d13091a
AP_NavEKF3: Fix bug preventing learning of XY IMU dvel bias in flight
4 years ago
Paul Riseborough
6242ce19fa
AP_NavEKF3: Change powf(x,2) to sq(x)
4 years ago
Paul Riseborough
bb9eed28a9
AP_NavEKF3: Update covariance prediction equations
4 years ago
Andrew Tridgell
fc2118f42b
AP_NavEKF3: process GPS yaw independently of GPS fix
...
this processes GPS yaw with its own timestamp and as a separated step
from fusing position and velocity. This makes the yaw time handling
more accurate as yaw for moving baseline GPS comes in as a separate
piece of data from the position and velocity
4 years ago
Andrew Tridgell
6b73c2151a
AP_NavEKF3: implement moving origin
...
this shifts EKF_origin to the current location at 1Hz, while leaving
public_origin alone. All output APIs and logging are relative to
public_origin.
The effect of this change is to remove the distortion caused by a
spherical earth, which allows the EKF to operate without errors at
very long distances from the public_origin.
4 years ago
Andrew Tridgell
44f098c86d
AP_NavEKF3: convert powF(xx,2) calls to sq(xx)
4 years ago
Andrew Tridgell
5319e3910f
AP_NavEKF3: moved checkUpdateEarthField to be called less often
4 years ago
Andrew Tridgell
a8c6d742aa
AP_NavEKF3: update earth field at 1Hz
...
this prevents large mag errors on long distance flights
4 years ago
Andrew Tridgell
885e518741
AP_NavEKF3: allow for double EKF build
4 years ago
Paul Riseborough
1281033931
AP_NavEKF3: Remove unused class variable rngBcnTimeout
4 years ago
Paul Riseborough
de3c6d6e5c
AP_NavEKF3: Fade each vert vel variance clip count over 1 second
4 years ago
Paul Riseborough
b7aad13cc8
AP_NavEKF3: Protect against collapse of velocity and position variances
4 years ago
Siddharth Purohit
cd5b764fd8
AP_NavEKF3: use first usable compass index to set magSelectIndex
4 years ago
Peter Barker
c00f110f3d
AP_NavEKF3: use DAL APIs for takeoff/touchdown expected
4 years ago
Randy Mackay
02f6ca51bc
AP_NavEKF3: init rngOnGnd to 5cm to avoid div-by-zero
4 years ago
Paul Riseborough
1018801522
AP_NavEKF3: White space and comment fixes
4 years ago
Paul Riseborough
7113387d27
AP_NavEKF3: Use better defined data type
4 years ago
Paul Riseborough
ac87cab6bc
AP_NavEKF3: constify array index variable
4 years ago
Paul Riseborough
a07427fd30
AP_NavEKF3: Don't learn poorly observed IMU dvel bias states before flight
4 years ago
priseborough
4b1c334bba
AP_NavEKF3: improve stability of co-variance matrix processing
...
This patch prevents the delta velocity bias state variances collapsing due to insufficient process noise and causing bad bias estimates to form.
4 years ago
Paul Riseborough
85c0040fa3
AP_NavEKF3: Improve inFlight detection for fixed wing
...
Better handle case where no airspeed sensor is being used with a hand launch.
4 years ago
Paul Riseborough
9a5a264aa0
AP_NavEKF3: Improve wind estimation without airspeed sensing
...
Enable default airspeed variance to be specified externally
Improve control of sideslip fusion
Don't modify non wind states unnecessarily when using synthesised air data measurements
4 years ago
Andrew Tridgell
ddc4d08e8f
AP_NavEKF3: make drag fusion optional
4 years ago
Andrew Tridgell
1ccda938cb
AP_NavEKF3: make external navigation optional
4 years ago
Andrew Tridgell
8da511f039
AP_NavEKF3: make body odomotry build depend on vehicle type
...
saves about 11k of flash
4 years ago
Andy Piper
099d6aa72e
AP_NavEKF3: add filter reset when vehicle is idle for too long
4 years ago
Andrew Tridgell
59fa794818
AP_NavEKF3: constrain vertical error
...
this prevents a floating point exception with external AHRS
4 years ago
Randy Mackay
27c998ad94
AP_NavEKF3: rename source and yawFusionMethod from EXTERNAL to GPS
4 years ago
Randy Mackay
5891c6ace8
AP_NavEKF3: separate GPS yaw from ExtNav yaw
4 years ago
Paul Riseborough
a9e76d44af
AP_NavEKF3: Clean up yaw fusion logic
4 years ago
Paul Riseborough
c9ab4b18b0
AP_NavEKF3: Add multicopter wind estimation
4 years ago
Andrew Tridgell
bdba430e55
AP_NavEKF3: save memory on beacon debug structure
...
only allocate when beacons are enabled. This relies on a guarantee in
the DAL that the beacon count cannot change
4 years ago
Andrew Tridgell
bb32f1a397
AP_NavEKF3: avoid initialising unused ring buffers
...
this assumes the nav sources are treated as reboot required
4 years ago
Peter Barker
e972fb31b1
AP_NavEKF3: remove unused variables
4 years ago
Peter Barker
0529ddcd67
AP_NavEKF3: move badMagYaw onto stack
4 years ago
Peter Barker
2d25149e2e
AP_NavEKF3: move global state to be on the stack
4 years ago