From bef7325884223580a1a8a893ed8002876cdac3ef Mon Sep 17 00:00:00 2001 From: Paul Riseborough Date: Thu, 6 Apr 2017 13:00:07 +1000 Subject: [PATCH] EKF: protect covariance prediction from delta time errors Allow time step to vary by a factor of 2 to allow for jitter. --- EKF/covariance.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EKF/covariance.cpp b/EKF/covariance.cpp index 0e2591ff54..461199c068 100644 --- a/EKF/covariance.cpp +++ b/EKF/covariance.cpp @@ -143,7 +143,7 @@ void Ekf::predictCovariance() float dvy_b = _state.accel_bias(1); float dvz_b = _state.accel_bias(2); - float dt = _imu_sample_delayed.delta_ang_dt; + float dt = math::constrain(_imu_sample_delayed.delta_ang_dt, 0.0005f * FILTER_UPDATE_PERIOD_MS, 0.002f * FILTER_UPDATE_PERIOD_MS); // compute noise variance for stationary processes float process_noise[_k_num_states] = {};