Browse Source

ekf2: Use ecl library with recent bug fixes and enhancements.

Bug Fixes:

https://github.com/PX4/ecl/pull/586 - EKF: fix covariance and output filter buffer initialization
https://github.com/PX4/ecl/pull/590 - EKF: Fix innovation in fuseDeclination()

Enhancements:

https://github.com/PX4/ecl/pull/543 - ekf_helper: add more useful methods to interface with the covariances
https://github.com/PX4/ecl/pull/588 - Add unit tests for DataValidator

Note:

https://github.com/PX4/ecl/pull/543  has required a change to how the state variances are accessed .
sbg
Paul Riseborough 6 years ago committed by Paul Riseborough
parent
commit
f8ae8ba502
  1. 2
      src/lib/ecl
  2. 4
      src/modules/ekf2/ekf2_main.cpp

2
src/lib/ecl

@ -1 +1 @@ @@ -1 +1 @@
Subproject commit a85d3a43edc4ac4b85ae21159510b9c26f7359e6
Subproject commit a892ececf8490b21aa8917bc243b2bc441af6a87

4
src/modules/ekf2/ekf2_main.cpp

@ -1423,7 +1423,7 @@ void Ekf2::run() @@ -1423,7 +1423,7 @@ void Ekf2::run()
// Get covariances to vehicle odometry
float covariances[24];
_ekf.get_covariances(covariances);
_ekf.covariances_diagonal().copyTo(covariances);
// get the covariance matrix size
const size_t POS_URT_SIZE = sizeof(odom.pose_covariance) / sizeof(odom.pose_covariance[0]);
@ -1540,7 +1540,7 @@ void Ekf2::run() @@ -1540,7 +1540,7 @@ void Ekf2::run()
status.timestamp = now;
_ekf.get_state_delayed(status.states);
status.n_states = 24;
_ekf.get_covariances(status.covariances);
_ekf.covariances_diagonal().copyTo(status.covariances);
_ekf.get_gps_check_status(&status.gps_check_fail_flags);
// only report enabled GPS check failures (the param indexes are shifted by 1 bit, because they don't include
// the GPS Fix bit, which is always checked)

Loading…
Cancel
Save