EKF: Fix bug in output observer

Bug was causing output observer state history to be stored at the the EKF, not IMU output rate and resulted in degraded tracking performance
This commit is contained in:
Paul Riseborough 2016-05-14 08:33:05 +09:30
parent d595596c42
commit 03f3df7415

View File

@ -674,10 +674,7 @@ void Ekf::calculateOutputStates()
_output_new.pos += (_output_new.vel + vel_last) * (imu_new.delta_vel_dt * 0.5f) + _vel_corr * imu_new.delta_vel_dt;
// store INS states in a ring buffer that with the same length and time coordinates as the IMU data buffer
if (_imu_updated) {
_output_buffer.push(_output_new);
_imu_updated = false;
}
_output_buffer.push(_output_new);
// get the oldest INS state data from the ring buffer
// this data will be at the EKF fusion time horizon