为什么工程实践中我们使用视觉与IMU融合的解决方案即视觉惯性里程计(VIO)来估计运动而不是简单地使用视觉里程计(VO)。视觉惯性里程计的传感器主要包括相机和惯性测量单元(IMU)两种传感器各有优缺点,VIO的优势就在于IMU与相机的互补性。
视觉传感器在大多数纹理丰富的场景中效果很好,但是遇到玻璃或白墙这样特征少的场景就很难有效工作了。尽管如此相机数据的优点在于数据基本不会有漂移。如果将相机放在原地固定,那么估计的位姿也是固定不动的。
IMU传感器本身也是有自身缺点的,比如IMU长时间使用就会有非常大的累积误差。但是在短时间内,其相对位移数据又有很高的精度,所以当视觉传感器失效时,融合IMU数据,能够提高定位的精度。IMU虽然可以测得角速度和加速度,但这些量都存在明显的漂移,使得积分两次得到的数据就会存在很大误差。如果将IMU固定不动,其数据也会因为漂移的影响使得积分得到的位姿飘走。但是对于短时间内的快速运动,IMU能够提供相对准确的估计,这又刚好弥补了相机的缺点。相机运动过快时会出现模糊或者两帧之间重叠区域太少无法匹配。
IMU和相机就这样相辅相成,因此现在很多SLAM算法的研究都是融合相机和IMU数据进行位姿估计。
IMU误差部分
一提到VIO,相信很多人都会立刻想到一个名词——预积分。这也是希望接触VIO的研究者们最长看到的词汇。那么究竟预积分是怎么回事,为什么预积分在VIO中这么重要,就是接下来讨论的重点了。
假设IMU的真实值(客观事实)为
,测量值(我们读的数)为
,根据IMU的模型,有: