Paul Riseborough
6637d9dece
AP_NavEKF3: Revert EK3_BETA_MASK parameter extension
...
These are not required due to use of bit 7 in FLIGHT_OPTIONS to achieve the same function.
2021-07-25 09:30:25 +10:00
Paul Riseborough
1d3ed8e9da
AP_NavEKF3: Rework non-airspeed wind estimation
...
Faster wind estimation when not using airspeed with acceptable noise in wind velocity estimates.
2021-07-25 09:30:25 +10:00
Paul Riseborough
fb6de9ad9d
AP_NAvEKF3: use #define value for bad IMU hold time
2021-07-25 09:30:25 +10:00
Paul Riseborough
ca00da81cd
AP_NavEKF3: Increase lower state variance limit when vibration affected
...
This makes state corrections from GPS and baro observations more aggressive
2021-07-25 09:30:25 +10:00
Paul Riseborough
c3f38ec159
AP_NavEKF3: Use sensor variance when checking for bad IMU
2021-07-25 09:30:25 +10:00
Paul Riseborough
00b91b4799
AP_NavEKF3: Make bad IMU status more persistent
2021-07-25 09:30:25 +10:00
Paul Riseborough
fdea45a3e4
AP_NavEKF3: Add accessor function for vibration affected status
2021-07-25 09:30:25 +10:00
Paul Riseborough
ace601f1dd
AP_NavEKF3: Don't update accel bias states if vibration affected
2021-07-25 09:30:25 +10:00
Paul Riseborough
8b16d8dc4c
AP_NavEKF3: Use large accel process noise when IMU data is bad
2021-07-25 09:30:25 +10:00
Paul Riseborough
eb5a82dd38
AP_NavEKF3: Adjust gyro bias process noise tuning
...
NEw value is a compromise between roll/pitch angle and horizontal state velocity estimation errors and the noise in the gyro bias estimate
2021-07-25 09:30:25 +10:00
Paul Riseborough
942a1f329f
AP_NavEKF3: Allow smaller dvel bias state variances for improved tuning
2021-07-25 09:30:25 +10:00
Paul Riseborough
ffce6fab70
AP_NavEKF3: Retune IMU process noise
...
Required to achieve equivalent fusion noise and weighting on IMU vs other sources to previous param defaults with the old covariance prediction equations.
2021-07-25 09:30:25 +10:00
Paul Riseborough
77082e414b
AP_NavEKF3: Make gyro bias learning less noisy
2021-07-25 09:30:25 +10:00
Paul Riseborough
a32fd0a97c
AP_NavEKF3: Fix bug preventing learning of XY IMU dvel bias in flight
2021-07-25 09:30:25 +10:00
Paul Riseborough
90a8dc48d1
AP_NavEKF3: Change powf(x,2) to sq(x)
2021-07-25 09:30:25 +10:00
Paul Riseborough
bb88aef1b3
AP_NavEKF3: Update covariance prediction equations
2021-07-25 09:30:25 +10:00
Paul Riseborough
b6a2f4b4f5
AP_NavEKF3: Use alternate form for quaternion to rotmat equations in derivation
2021-07-25 09:30:25 +10:00
Randy Mackay
5697e5616c
AP_NavEKF3: EK3_RNG_USE_HGT param references EK3_SRCx_POSZ
2021-07-22 16:01:00 +10:00
Peter Barker
156a220d5b
AP_NavEKF3: pass NavEKF failures back up to callers
2021-07-22 16:01:00 +10:00
Andrew Tridgell
9f03f5a9a9
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
2021-07-22 16:01:00 +10:00
Andrew Tridgell
4408eecb18
AP_NavEKF3: fixed indentation in readGpsData()
2021-07-22 16:01:00 +10:00
Andrew Tridgell
cc03255245
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.
2021-07-22 16:01:00 +10:00
Andrew Tridgell
8c9663e47c
AP_NavEKF3: moved checkUpdateEarthField to be called less often
2021-07-22 16:01:00 +10:00
Andrew Tridgell
c05e93e51e
AP_NavEKF3: update earth field at 1Hz
...
this prevents large mag errors on long distance flights
2021-07-22 16:01:00 +10:00
Andrew Tridgell
edb11d4d71
AP_NavEKF3: convert code_gen.py to ftype
2021-07-22 16:01:00 +10:00
Andrew Tridgell
823ed4c309
AP_NavEKF3: convert powF(xx,2) calls to sq(xx)
2021-07-22 16:01:00 +10:00
Andrew Tridgell
b6fb7383e7
AP_NavEKF3: convert EKF3 derivation to ftype
2021-07-22 16:01:00 +10:00
Andrew Tridgell
a6c5b65f4a
AP_NavEKF3: allow for double EKF build
2021-07-22 16:01:00 +10:00
Paul Riseborough
28a55e8478
AP_NavEKF3: Remove unused class variable rngBcnTimeout
2021-07-04 08:19:10 +10:00
Paul Riseborough
18e949d035
AP_NavEKF3: Ensure postion timeout flag and timer is always reset
2021-07-04 08:19:10 +10:00
Paul Riseborough
43e84c4061
AP_NavEKF3: Fade each vert vel variance clip count over 1 second
2021-07-04 08:19:10 +10:00
Paul Riseborough
7bd944ef3e
AP_NavEKF3: Clean up initialisation of boolean array
2021-07-04 08:19:10 +10:00
Paul Riseborough
4b88b2ccec
AP_NavEKF3: Remove unwanted line
2021-07-04 08:19:10 +10:00
Paul Riseborough
2565f3917c
AP_NavEKF3: Protect against collapse of velocity and position variances
2021-07-04 08:19:10 +10:00
Paul Riseborough
e5c34172c1
AP_NavEKF3: Fix bug preventing horizontal position reset if badIMUdata
2021-07-04 08:19:10 +10:00
Paul Riseborough
2161e59369
AP_NavEKF3: Fix bug preventing height reset if badIMUdata
2021-07-04 08:19:10 +10:00
Paul Riseborough
5a793e77c2
AP_NavEKF3: Fix bug preventing velocity reset if badIMUdata
2021-07-04 08:19:10 +10:00
Josh Henderson
c881fac1de
AP_NavEKF3: Fix #17789 core's ekf origin altitude different if flying
2021-07-04 08:19:10 +10:00
Josh Henderson
b85afc0adc
AP_NavEKF3: non_GPS modes ensure EKF origin set only once and stays in sync
...
ekf3
2021-07-04 08:19:10 +10:00
Peter Barker
d6348a0786
AP_NavEKF3: remove getBodyFrameOdomDebug
...
Not used after we moved logging to be within AP_NavEKF3
2021-06-07 09:28:52 +10:00
Peter Barker
dd3ab29b2f
AP_NavEKF3: remove getFilterGpsStatus
...
Not needed after we moved logging into NavEKF3
2021-06-07 09:25:53 +10:00
Siddharth Purohit
cd5b764fd8
AP_NavEKF3: use first usable compass index to set magSelectIndex
2021-06-02 17:10:19 +10:00
Paul Riseborough
a5a25411da
AP_NavEKF3: Remove unnecessary baro limiting
2021-06-02 11:13:16 +09:00
Paul Riseborough
124f016e5b
AP_NavEKF3: Use parameter to set baro ground effect dead-zone
2021-06-02 11:13:16 +09:00
Paul Riseborough
76d0dcc25c
AP_NavEKF3: Use common method for handling baro ground effect
2021-06-02 11:13:16 +09:00
Andrew Tridgell
dc9435a88d
AP_NavEKF3: don't limit baro change when we are in fixed wing mode
2021-06-02 11:13:16 +09:00
Peter Barker
c00f110f3d
AP_NavEKF3: use DAL APIs for takeoff/touchdown expected
2021-06-02 11:13:16 +09:00
Peter Barker
15658362b5
AP_NavEKF3: make time-horizon OF data a local variable
...
Saves 40 bytes of RAM per core on stm32
2021-06-01 09:56:19 +10:00
Randy Mackay
02f6ca51bc
AP_NavEKF3: init rngOnGnd to 5cm to avoid div-by-zero
2021-05-28 08:08:08 +09:00
Paul Riseborough
9014afc9d4
AP_NavEKF3: Fix typo in comment
2021-05-11 10:37:08 +10:00