Paul Riseborough
1d3e8edc46
EKF: Fix bug in accumulation of IMU data for flow sensor gyro bias calculation
8 years ago
Daniel Agar
99ba1c3745
EKF trivial code style cleanup
8 years ago
Daniel Agar
c44488fdb8
EKF matrix typedef cleanup
8 years ago
Paul Riseborough
e35921534d
EKF: fix reporting of optical flow fusion errors
8 years ago
Paul Riseborough
465b145929
EKF: Add multi-rotor drag model for wind estimation
8 years ago
Paul Riseborough
b536382ae1
EKF: remove dead code
8 years ago
Beat Küng
07c6aabd98
EKF: reduce KH to only the elements that are really needed, and merge the loops
8 years ago
Paul Riseborough
1b59a89a18
EKF: save some stack memory
8 years ago
Beat Küng
25cb400da9
EKF: remove Ekf::KHP and move KHP to the methods where it's used
...
Everywhere where KHP is used, it is first completely reset, thus making
it unnecessary to keep it as a class member.
This saves 2.3KB RAM.
Stack sizes don't need changing, since there is already a function
Ekf::predictCovariance(), which needs around 3KB of stack and is called
close to where the fuse* functions are called.
8 years ago
Paul Riseborough
7bc9217f00
EKF: Clean up control of observation fusion
...
All the decision for a sensor are made within a specific function for that sensor and when there is data to process at the fusion time horizon.
Information and warning messages are improved.
9 years ago
Paul Riseborough
65da9173b9
EKF: capture innovation checks and reset events in separate variables
...
rename the innovation check status class variable and remove the reset flags from it.
9 years ago
Paul Riseborough
52229da089
EKF: capture optical flow innovation test failures
9 years ago
Paul Riseborough
724280fd1f
EKF: move calculation of optical flow observation variance into a function
...
Allows it to be used when calculating initial state variance
9 years ago
Paul Riseborough
020b87933e
EKF: replace fault status struct with a union to facilitate logging
9 years ago
Paul Riseborough
7f5669fb2d
EKF: consolidate covariance corrections
...
Combines the forced symmetry, variance limiting and zeroing of covariances for unwanted states in the one function.
This ensures a consistent correction is applied after every covariance prediction or correction.
9 years ago
Paul Riseborough
9e53ff2f80
EKF: Improve protection against bad optical flow fusion
9 years ago
Paul Riseborough
da9d894441
EKF: Improvements to covariance reset
9 years ago
Paul Riseborough
f4e84a2234
EKF: fix axis label error in comments
9 years ago
Paul Riseborough
82da832816
EKF: tidy up Kalman gain calculations
...
Inhibiting of states is controlled via zeroing rows and columns in the covariance prediction so conditional logic in gain calculations is unnecessary.
9 years ago
Paul Riseborough
fe9f88a8b4
EKF: test new derivation
...
Use direct attitude parameterisation
Discard scale factors
Add accel bias
9 years ago
Paul Riseborough
5bf02517a7
EKF: Rationalise use of rotation matrices and improve efficiency
9 years ago
Paul Riseborough
b46053415f
EKF: Compensate optical flow data for sensor position offset
9 years ago
Paul Riseborough
48f980b054
EKF: Fix syntax causing posix build to fail
9 years ago
Paul Riseborough
dd1d58bab5
EKF: Remove unnecessary matrix operations from optical flow fusion
...
The updated formulation means that H_LOS[][8] is always zero, so these operations are no longer required.
9 years ago
Paul Riseborough
122dd9c531
EKF: Add source file for optical flow LOS rate fusion
9 years ago