CleanUp of the EKFGSF (#769)

* Add const modifiers

* Pass imu data as sampe

* Remove emergency reset request counter

* Improve matrix library usage

* Indentation fix

* Do not store innovation matrix for each model

* Make weights a separate vector

* EKF: Add missing alignment transfer to AHRS solutions

* EKF: Replace #define constants with static constexpr

* EKF: Move declaration for weights into GSF section

* EKF: Fix documentation error

Co-authored-by: Paul Riseborough <p_riseborough@live.com.au>
This commit is contained in:
kritz
2020-03-06 19:37:35 +11:00
committed by GitHub
co-authored by Paul Riseborough
parent 4669aa6312
commit bcd3869ca2
5 changed files with 102 additions and 133 deletions
+2 -4
View File
@@ -290,10 +290,9 @@ public:
// Request the EKF reset the yaw to the estimate from the internal EKF-GSF filter
// and reset the velocity and position states to the GPS. This will cause the EKF
// to ignore the magnetomer for the remainder of flight.
// to ignore the magnetometer for the remainder of flight.
// This should only be used as a last resort before activating a loss of navigation failsafe
// The counter must be incremented for each new reset request
void requestEmergencyNavReset(uint8_t counter) override;
void requestEmergencyNavReset() override;
private:
@@ -846,7 +845,6 @@ private:
int64_t _emergency_yaw_reset_time{0}; ///< timestamp of last emergency yaw reset (uSec)
uint64_t _time_last_on_ground_us{0}; ///< last tine we were on the ground (uSec)
uint8_t _yaw_extreset_counter{0}; // number of external emergency yaw reset requests
bool _do_emergency_yaw_reset{false}; // true when an emergency yaw reset has been requested
// Call once per _imu_sample_delayed update after all main EKF data fusion oeprations have been completed