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

相关推荐
3DVisionary4 小时前
蓝光三维扫描技术:手机闪光灯模块全尺寸3D检测的精准解决方案
python·数码相机·3d·智能手机·蓝光3d扫描技术·非接触、高效率、全尺寸检测·完美适配手机微型零部件
庸俗今天不摸鱼2 天前
Three.js 进阶(灯光阴影关系和设置、平行光、阴影相机)
开发语言·javascript·数码相机
Ai智享2 天前
标定棋盘格大小的选择
数码相机
Joney Feng2 天前
多光谱相机数据采集过程中常见仪器
数码相机
Ai智享2 天前
怎么选相机分辨率、投影仪尺寸、标定板大小等硬件
数码相机
表面矿工2 天前
unity相机缩放
数码相机·unity·游戏引擎
Kai HVZ3 天前
《PaddleOCR》—— 多相机协同工业字符检测与异常报警系统
数码相机·计算机视觉·ocr
东临碣石825 天前
【AI论文】GEN3C: 基于3D信息的全球一致视频生成技术,实现精确相机控制
人工智能·数码相机·3d
提着小灯找呀找7 天前
3D相机的种类
数码相机·3d
龙猫略略略7 天前
无人机如何根据航线重叠率与相机参数计算航线间隔与拍照点
数码相机·无人机·航线·qgc