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都积分一遍才能得到相应的位速姿变化量了。

相关推荐
youngong4 小时前
强迫症之用相机快门数批量重命名文件
数码相机·文件管理
weixin_466485114 天前
halcon标定助手的使用
数码相机
诸葛务农5 天前
ToF(飞行时间)相机在人形机器人非接触式传感领域内的应用
数码相机·机器人
塞北山巅5 天前
相机自动曝光(AE)核心算法——从参数调节到亮度标定
数码相机·算法
美摄科技6 天前
相机sdk是什么意思?
数码相机
phyit6 天前
全景相机领域,影石何以杀出重围?
数码相机
鄃鳕6 天前
装饰器【Python】
开发语言·python·数码相机
聪明不喝牛奶6 天前
【已解决】海康威视相机如何升级固件
数码相机
PAQQ6 天前
1站--视觉搬运工业机器人工作站 -- 相机部分
数码相机·机器人
诸葛务农6 天前
人形机器人基于视觉的非接触式触觉传感技术
数码相机·机器人