Thanks for your continued help!

I think you’ve touched on what may be confusing me- my understanding of the ‘imu modeling’ has been that the state estimation includes gyro and accelerator measurement bias values, which you’ve now told me is predicted to be unchanging in the next time step. These bias values are used in the predictState() function in ekf.cpp to correct the measured imu data.

Presumably, these bias values do actually change as the filter updates, due to some measurement being provided, but the only updates with any calculation I find are those for the covariance update you’ve mentioned already.

I’ve been trying to find out if a measurement to update the bias state actually exists, and if so where it comes from.

I know that a yaw measurement is often used in filters like this to fix bias in the gyro z axis, and presumed something similar was going on here.

If someone could clear this possible misunderstand up I’d be very thankful