Daniel Agar
c5b2f59f57
PX4 style fixes (excluding EKF generated code)
7 years ago
Paul Riseborough
ae069b12d6
EKF: Fix bug preventing wind relative dead reckoning
7 years ago
Daniel Agar
cd12f049fe
move geo and geo_lookup from PX4 Firmware to ECL
7 years ago
ChristophTobler
e388e59f32
EKF: use uint64_t cast for XeY to avoid float casting of variables
...
The default type for XeY is float
7 years ago
Paul Riseborough
55a2dc94df
EKF: handle air data fusion covariance reset consistently
...
Both the sideslip and airspeed fusion should not be resetting covariances for states they do not modify.
7 years ago
Paul Riseborough
0d32128701
EKF: Use dead-reckoning status to determine if air data should modify non-wind states
7 years ago
CarlOlsson
8200e4b218
EKF: added get_wind_velocity_var function
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
7 years ago
Daniel Agar
99ba1c3745
EKF trivial code style cleanup
8 years ago
Paul Riseborough
cc5db74d1b
EKF: Add true airspeed accessor
8 years ago
Daniel Agar
c44488fdb8
EKF matrix typedef cleanup
8 years ago
Paul Riseborough
951c8b77af
EKF: Improve wind state reset logic
...
Enables wind estimation without an airspeed sensor and enables synthetic sideslip to be used with an airspeed sensor for improved wind state estimation.
Wind states and covariances are reset differently depending on whether airspeed is available.
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
79df7e8889
EKF: Reduce effect of bad airspeed when other aiding data available
8 years ago
Paul Riseborough
75bec44b94
EKF: add function to initialise wind states
9 years ago
Paul Riseborough
a9894d7e8c
EKF: improve efficiency of airspeed fusion
...
Don't compute array entries where the result will be zero
9 years ago
Youssef Demitri
168d9add76
added getter function for wind states
9 years ago
Paul Riseborough
381d99aed6
EKF: Inform console of serious fusion numerical errors
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
8125717bf5
EKF: remove un-used airspeed health class variable
...
Airspeed rejection now is captured in _sensor_fault_status
9 years ago
Paul Riseborough
cf489f4248
EKF: capture airspeed innovation test failures
9 years ago
Carl Olsson
5217b73df1
added bad_airspeed reporting ( #123 )
9 years ago
CarlOlsson
ee7d7aeb8a
fixed_airspeed_healthy_bug
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
1126048a93
EKF: Improve protection against bad airspeed fusion
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
Daniel Agar
22d18d638c
enable Wshadow
9 years ago
Roman Bapst
99fc61c27c
ekf2 airspeed fusion:
...
- finished logic for fusion
- fixed bug where previous control status was set in the wrong location
9 years ago
CarlOlsson
8678a939e2
removed reinitialization of intermediate variables
9 years ago
CarlOlsson
eee6f1048f
Changed vtaspred threshold
9 years ago
CarlOlsson
3ad5b52aea
removed comment
9 years ago
CarlOlsson
616725410d
updated calculation
9 years ago
CarlOlsson
ec9902d802
added fault status reporting
9 years ago
CarlOlsson
1ea26b406a
change name to true_airspeed
9 years ago
CarlOlsson
0fb1e0578b
added function for fusing airspeed
9 years ago