vSLAM中IMU预积分的作用--以惯性导航的角度分析

作为一个学过一点惯导的工程师,在初次接触视觉slam方向时,最感兴趣的就是IMU预积分了。但为什么要用这个预积分,在看了很多材料和书后,还是感觉模模糊糊,云里雾里。

在接触了vSLAM的更多内容后,站在历史研究者的角度去分析,得到了一个更为清晰的作用分析。

首先,需要明确IMU与相机这两种传感器的互补作用,这是为什么要用IMU的原因。直接贴出程博书中的内容,总结的比较全面了。

总之,就是相机成像的缺点可以由IMU来解决,IMU可以起到很好的辅助作用。此外,IMU漂移的缺点,也会被相机抑制。二者优势互补,劣势互容,相机+IMU进行组合使用,可以得到比单独一种传感器更好的位姿估计。

其次,需要考虑如何使用IMU数据。

对于该问题,程博在书中提到了两种思路,分别为松耦合和紧耦合。

在上面的松耦合方案中,用KF实现的话,就是二者位姿作差,送到KF中进行更新,相当于ins/gps的松耦合方案。对于优化思路的话,二者位姿作差,最小化该残差模值的和即可。这样做的话,用起来就是单帧更新,两图像帧之间的约束就无法纳入到考虑中,也就是图上所说的割裂了状态估计的联系。这是一种较低层次的融合。说起来,这种方法感觉更像是以相机辅助IMU。

紧耦合方案的话,滤波方向可以看看MSCKF等方案。但对于优化方向,以VINS为例,可以将两个关键帧之间的IMU积分,积分所得的"广义位速姿bias增量"作为图优化的"边",从而限制两个关键帧之间位速姿bias的变化量。真正执行时,优化迭代过程中,两个关键帧的位姿进行广义减法可以得到"广义位速姿bias增量"的估计值,而IMU积分得到"广义位速姿bias增量"的测量值,由二者相减可得残差项。

注意上图中,IMU积分认为bias一阶导为0(只剩下高斯白噪声),积分就不必了,增量默认就是0了。所以相减的话,也只有优化得到的bias增量剩下了。

预积分的"预"字含义就是,在优化的多次迭代过程中,两关键帧间的IMU积分(所得的广义位姿增量)是基本不变的,可以预先积分好直接在整个优化过程中去用。即便bias变化,还有相应的一阶雅克比近似去更新预积分,除非bias变化较大,那就需要对(两关键帧间)每个IMU都积分一遍才能得到相应的位速姿变化量了。

相关推荐
luoganttcc1 小时前
BEV感知中如何使用相机内外参?
数码相机
SKYDROID云卓小助手6 小时前
三轴云台之相机技术篇
运维·服务器·网络·数码相机·音视频
越甲八千1 天前
相机的曝光和增益
数码相机
越甲八千1 天前
黑白彩色相机成像原理
数码相机
幻想趾于现实1 天前
机器视觉调试——现场链接相机(解决各种相机链接问题)
数码相机·工业相机
a3158238062 天前
SnapdragonCamera骁龙相机源码解析
android·数码相机·framework·高通
越甲八千2 天前
全局曝光与卷帘曝光
数码相机
博图光电2 天前
短波红外相机应用领域介绍
数码相机
中达瑞和-高光谱·多光谱2 天前
多光谱相机在农业中的应用(农作物长势、病虫害、耕地检测等)
数码相机
千野竹之卫3 天前
2025最新云渲染网渲100渲染农场使用方法,渲染100邀请码1a12
开发语言·前端·javascript·数码相机·3d·3dsmax