Roman
c8af315aa7
flow_fusion: corrected sign of gyro data when it is taken from the ekf
...
gyro data
Signed-off-by: Roman <bapstroman@gmail.com>
7 years ago
Paul Riseborough
de7c9d85a4
EKF: Handle flow data without valid gyro data
7 years ago
Paul Riseborough
d177e96508
EKF: Fix bug causing slow drift when high rate flow data is used
...
High rate optical flow data could make flow fusion to run every major update cycle, resulting in the calculation of bias errors in the body rates used to compensate flow data failing time validity checks and not running. This resulted in a slow drift of the nav solution if bias errors were present in the in the gyro data used for flow sensor motion compensation.
7 years ago
Mohammed Kabir
b4d2b8c57d
EKF : introduce new architechture for navigation limits
7 years ago
Paul Riseborough
0160aaa568
EKF: Don't use magnetometer with optical flow only nav if GPS checks are failing
7 years ago
Daniel Agar
c5b2f59f57
PX4 style fixes (excluding EKF generated code)
7 years ago
Daniel Agar
cd12f049fe
move geo and geo_lookup from PX4 Firmware to ECL
7 years ago
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