Compare commits

...

4 Commits

Author SHA1 Message Date
Daniel Agar d5876ab0d2 ekf2: stop gps yaw fusion on numerical error 2024-07-11 12:25:14 -04:00
Daniel Agar 467f96f2a4 ekf2: stop airspeed fusion on numerical error 2024-07-11 12:23:15 -04:00
Daniel Agar 4263fa9ee4 ekf2: stop flow fusion on numerical error 2024-07-11 12:22:26 -04:00
Daniel Agar b425253a54 ekf2: stop mag fusion on numerical error 2024-07-11 12:19:50 -04:00
4 changed files with 6 additions and 0 deletions
@@ -194,6 +194,8 @@ void Ekf::fuseAirspeed(const airspeedSample &airspeed_sample, estimator_aid_sour
_fault_status.flags.bad_airspeed = true;
stopAirspeedFusion();
return;
}
@@ -100,6 +100,7 @@ void Ekf::fuseGpsYaw(float antenna_yaw_offset)
// we reinitialise the covariance matrix and abort this fusion step
initialiseCovariance();
ECL_ERR("GPS yaw numerical error - covariance reset");
stopGpsYawFusion();
return;
}
@@ -101,6 +101,8 @@ bool Ekf::fuseMag(const Vector3f &mag, const float R_MAG, VectorState &H, estima
resetMagCov();
stopMagFusion();
return false;
}
@@ -63,6 +63,7 @@ bool Ekf::fuseOptFlow(VectorState &H, const bool update_terrain)
// we need to reinitialise the covariance matrix and abort this fusion step
ECL_ERR("Opt flow error - covariance reset");
initialiseCovariance();
stopFlowFusion();
return false;
}