Paul Riseborough
53c4b163ce
AP_NavEKF3: Allow adjustment of on ground not moving test sensitivity
...
Also re-tune default sensitivity based on user supplied logs with noisy gyro data.
4 years ago
Peter Barker
4605870788
AP_NavEKF3: remove separate calls to get delta-times for vel and ang
4 years ago
Paul Riseborough
3634a942a1
AP_NavEKF3: Fix bug causing unwanted use of default airspeed
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
Randy Mackay
27c998ad94
AP_NavEKF3: rename source and yawFusionMethod from EXTERNAL to GPS
4 years ago
Randy Mackay
c14b4a8b6c
AP_NavEKF3: add support for GSF as yaw source
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
bdc202378a
AP_NavEKF3: fix white space
4 years ago
Paul Riseborough
4884476c09
AP_NavEKF3: Formatting and comment fixes
4 years ago
Andrew Tridgell
be4d10a95e
AP_NavEKF3: rework parameter handling
...
and fixed indentation
4 years ago
Paul Riseborough
c9ab4b18b0
AP_NavEKF3: Add multicopter wind estimation
4 years ago
Andrew Tridgell
2071a19a40
AP_NavEKF3: only fuse airspeed if healthy
4 years ago
chobits
013b39d2a6
AP_NavEKF3: fix ext nav vel timestamp cal
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
Peter Barker
2d25149e2e
AP_NavEKF3: move global state to be on the stack
4 years ago
Andrew Tridgell
d242339f2e
AP_NavEKF3: added have_vz flag to GPS buffer data
...
this ensures that we record GPS vertical velocity status for every
sample correctly
4 years ago
Andrew Tridgell
80f7906744
AP_NavEKF3: removed inhibitGps and inhibitGpsVertVel options
...
these were unused
4 years ago
Peter Barker
52b8b95a72
AP_NavEKF3: rearrange readGPSData to remove some nesting
4 years ago
Peter Barker
e1a033b296
AP_NavEKF3: make logging a core concern
...
Also dissolve some methods only used for logging
4 years ago
Andrew Tridgell
1e4b1d7563
AP_NavEKF3: convert to using common buffer classes
...
this saves a considerable amount of flash
4 years ago
Randy Mackay
33b6212cce
AP_NavEKF3: rename _sources to sources
4 years ago
Randy Mackay
6daaa06317
AP_NavEKF3: integrate AP_NavEKF_Source::useVelXYSource
...
also integrate useVelZSource
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
c14d19be68
AP_NavEKF3: fixed gcc 9.3 build error
...
gcc 9.3 doesn't like the use of get_accel(i) when array length is 1
4 years ago
Andrew Tridgell
f5275fd0ad
AP_NavEKF3: fixed use of pointers in ringbuffers
...
these don't work with AP_DAL
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
a0de6c620f
AP_NavEKF3: use selected GPS for gps_yaw_deg()
...
more than one GPS could provide yaw
4 years ago
Andrew Tridgell
e87f98066f
AP_NavEKF3: support replay with external navigation data
4 years ago
Andrew Tridgell
7bbbbd314c
AP_NavEKF3: added optflow support for AP_DAL
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
2f1ae29a9c
AP_NavEKF3: extnav data gets corrected boolean
...
CorrectExtNavForSensorOffset and CorrectExtNavVelForSensorOffset use
corrected boolean to avoid correcting twice
4 years ago
Randy Mackay
71487e9c10
AP_NavEKF3: gps_elements gets corrected flag
...
CorrectGPSForAntennaOffset uses this flag to ensure position and velocity are only corrected once
4 years ago
Andrew Tridgell
8a4b0f858a
AP_NavEKF3: reset body mag variances at key points
...
we need to reset the body mag variances if we change sensors or if we
are starting 3D fusion. When not doing 3D fusion we zero the
variances, so they must be initialised again when we restart
fusion. This fixes a bug in handling the variances on a 2nd flight
4 years ago
Andrew Tridgell
c03c43e52c
AP_NavEKF3: use same mag switch pattern as EKF2
...
based on Pauls suggested change
4 years ago
Andrew Tridgell
3836b59041
AP_NavEKF3: fixed handling of failed compass
...
when a compass goes unhealthy due to sensor failure we should try
another compass after 10s if another compass is available
4 years ago
Harshit Kumar Sankhla
edc3709653
AP_NavEKF3: implement sensor affinity using EK3_AFFINITY parameter
...
this allows the EKF core index to be used to select a GPS/baro/mag
instance. This is an alternative to GPS blending that allows EKF lane
switching to be used to select the right combination of GPS and IMU
add logging to XKFS message
5 years ago
Randy Mackay
46a7e96c48
AP_NavEKF3: readRngBcnData avoids array overflow from beacon count
5 years ago
Randy Mackay
b86e16e927
AP_NavEKF3: readRngBcnData gets minor formatting fix
5 years ago
Randy Mackay
384029d278
AP_NavEKF3: rngBcnDataNew made local
5 years ago
Randy Mackay
8c877f02af
AP_NavEKF3: shrink beacon arrays and add assert
5 years ago
Randy Mackay
6bf2057712
AP_NavEKF3: minor formatting fixes
5 years ago
Randy Mackay
4c40d2ac3f
AP_NavEKF3: readyToUseBodyOdm uses delayed imu and wheel encoder timestamps
5 years ago
Randy Mackay
056a2de260
AP_NavEKF3: wheelOdmDataNew member made local
...
this variable is never used outside the writeWheelOdom method
5 years ago