-
Notifications
You must be signed in to change notification settings - Fork 13.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ekf2: simplify logic for inhibited consider states and covariance matrix fixes #22597
Conversation
a719f20
to
1b48dfe
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. We need some testing now.
f3c0877
to
f111988
Compare
f111988
to
3b98bb3
Compare
…rix fixes - removes conservative accel bias variance limiting - force symmetry is skipped after fusion of NED vel/pos (a direct measurement) - mag and wind covariances no longer continuously reset when stopped Co-authored-by: bresch <brescianimathieu@gmail.com>
3b98bb3
to
acb0051
Compare
When a state stops to be estimated it becomes a "consider state". Its value and variance are frozen but its covariance with other states continue to evolve normally.
@@ -60,7 +60,6 @@ void Ekf::controlAirDataFusion(const imuSample &imu_delayed) | |||
|
|||
if (_control_status.flags.fake_pos || (airspeed_timed_out && sideslip_timed_out && (_params.drag_ctrl == 0))) { | |||
_control_status.flags.wind = false; | |||
P.uncorrelateCovarianceSetVariance<State::wind_vel.dof>(State::wind_vel.idx, 0.f); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fully stopping wind might still make sense?
@@ -182,7 +182,7 @@ TEST_F(EkfHeightFusionTest, gpsRef) | |||
EXPECT_NEAR(baro_status.bias, baro_initial + baro_increment, 1.3f); | |||
|
|||
const BiasEstimator::status &rng_status = _ekf->getRngHgtBiasEstimatorStatus(); | |||
EXPECT_NEAR(rng_status.bias, 0.f, 1.f); | |||
EXPECT_NEAR(rng_status.bias, 0.f, 1.1f); // TODO: why? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most likely a tiny change in convergence speed due to the lower limit on the accel bias change
…tive covariance matrix fixes (PX4#22597) When a state stops to be estimated it becomes a "consider state". Its value and variance are frozen but its covariance with other states continue to evolve normally. - removes conservative accel bias variance limiting - force symmetry is skipped after fusion of NED vel/pos (a direct measurement) --------- Co-authored-by: bresch <brescianimathieu@gmail.com>
…tive covariance matrix fixes (PX4#22597) When a state stops to be estimated it becomes a "consider state". Its value and variance are frozen but its covariance with other states continue to evolve normally. - removes conservative accel bias variance limiting - force symmetry is skipped after fusion of NED vel/pos (a direct measurement) --------- Co-authored-by: bresch <brescianimathieu@gmail.com>
…tive covariance matrix fixes (PX4#22597) When a state stops to be estimated it becomes a "consider state". Its value and variance are frozen but its covariance with other states continue to evolve normally. - removes conservative accel bias variance limiting - force symmetry is skipped after fusion of NED vel/pos (a direct measurement) --------- Co-authored-by: bresch <brescianimathieu@gmail.com>
#19142 (comment)