computer-visionroboticsslam

How to understand "pre" in Preintegration of IMU?


I see preintegration in IMU-fused SLAM literatures, which mention that preintegration is useful in avoiding to recompute the IMU integration between two consecutive keyframes.

However, when I see some open-sourced SLAM code, e.g. OrbSLAM3, I haven't found anything special in preintegration because it just looks like an ordinary integration (with same time-intervals, same interpolation, same full caculation over multiple intervals), and I don't see an expected pre-calculated value that is reused time and time again.

So my question, is preintegration just an alias of the integration of IMU, or else how to correctly understand "pre"?


Solution

  • Finally I've made clear of Preintegration.

    It is a misunderstanding to think of Preintegration as a pre-calculated value that is reusable in each process for calculating any new integration.

    In fact, Preintegration actually means that people temporarily calculate integrations in a rough way for incoming any time instant (say, instant 0, 1, 2, ..., k-1) and, at a key instant k, a bundle adjustment can be performed on the pre-integrations over time instants [0, k] without recomputing the integration on time instant 0, 1, 2, ..., k-1.