EKF2: only fuse zero innovation if yaw var is large

This commit is contained in:
bresch
2022-12-29 12:56:36 -05:00
committed by Daniel Agar
parent 40e3503c39
commit c75a9058a5
4 changed files with 31 additions and 16 deletions
+3 -3
View File
@@ -666,9 +666,9 @@ private:
bool fuseMag(const Vector3f &mag, estimator_aid_source3d_s &aid_src_mag, bool update_all_states = true);
// update quaternion states and covariances using an innovation, observation variance and Jacobian vector
// innovation : prediction - measurement
// variance : observaton variance
bool fuseYaw(const float innovation, const float variance, estimator_aid_source1d_s &aid_src_status);
bool fuseYaw(float innovation, float variance, estimator_aid_source1d_s &aid_src_status);
bool fuseYaw(float innovation, float variance, estimator_aid_source1d_s &aid_src_status, const Vector24f &H_YAW);
void computeYawInnovVarAndH(float variance, float &innovation_variance, Vector24f &H_YAW) const;
// fuse the yaw angle obtained from a dual antenna GPS unit
void fuseGpsYaw();