Currently, the core allows insertion of IMU messages into the state buffer which have a time stamp prior to the initialization state of the filter.
Because incoming measurements are only checked if they are stamped prior to the first state in the buffer the following might occur:
A delayed measurement might have a time stamp prior to the state used to initialize the filter, but after the first state in the buffer. This causes the state propagation to use the covariance of a state prior to initialization, which is all zeros. The propagation following the measurement update also overwrites the initialization state and subsequently, the filter behaves as if it was initialized with zero covariance.
This issue occurred when running the filter using simulated sensors from Gazebo.
Currently, the core allows insertion of IMU messages into the state buffer which have a time stamp prior to the initialization state of the filter. Because incoming measurements are only checked if they are stamped prior to the first state in the buffer the following might occur:
A delayed measurement might have a time stamp prior to the state used to initialize the filter, but after the first state in the buffer. This causes the state propagation to use the covariance of a state prior to initialization, which is all zeros. The propagation following the measurement update also overwrites the initialization state and subsequently, the filter behaves as if it was initialized with zero covariance.
This issue occurred when running the filter using simulated sensors from Gazebo.