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
Andrew Tridgell
80f7906744
AP_NavEKF3: removed inhibitGps and inhibitGpsVertVel options
...
these were unused
4 years ago
Randy Mackay
5eb3875ebb
AP_NavEKF3: rename posxy_source_last and posxy_source_reset
4 years ago
Randy Mackay
33b6212cce
AP_NavEKF3: rename _sources to sources
4 years ago
Randy Mackay
faed58a027
AP_NavEKF3: integrate Source for yaw
4 years ago
Randy Mackay
8931e50166
AP_NavEKF3: integrate Source for alt
4 years ago
Randy Mackay
c21d58ebea
AP_NavEKF3: integrate Source for position
4 years ago
Andrew Tridgell
0bc77a3baf
AP_NavEKF3: fixed whitespace
4 years ago
Andrew Tridgell
6fe05a9ab6
AP_NavEKF3: restore XKTV message
4 years ago
Andrew Tridgell
9b81c5a1e0
AP_NavEKF3: use dal reference in EKF backends
...
saves a bit of flash space
4 years ago
Andrew Tridgell
1bdf6173ec
AP_NavEKF3: removed have_ekf_logging
4 years ago
Andrew Tridgell
096aab9388
AP_NavEKF3: convert to use AP_DAL for new replay structure
...
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
4 years ago
Randy Mackay
7b898ee001
AP_NavEKF3: minor comment and format fixes
4 years ago
Paul Riseborough
f2af2b3458
AP_NavEKF3: Initialise tiltErrorVariance class variable
4 years ago
Paul Riseborough
43386a8eea
AP_NAvEKF3: Use a const reference
4 years ago
Paul Riseborough
64a3d8fe4e
AP_NavEKF3: Update documentation
4 years ago
Paul Riseborough
6c7820dd8d
AP_NavEKF3: Add verification of tiltErrorVariance() method in SITL
4 years ago
Paul Riseborough
16ae75a681
AP_NavEKF3: Consolidate and log tilt error variance calculation
4 years ago