当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/219603.html

相关文章:

  • c++ libevent demo
  • 51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)
  • zip文件解压缩命令全
  • 章鱼网络进展月报 | 2023.10.1-10.31
  • 数据结构 | 单链表专题【详解】
  • 前端基础之BOM和DOM
  • 第23期 | GPTSecurity周报
  • VSCode实用远程主机功能
  • 并发编程: 2. 线程管控
  • 使用 Python、XML 和 YAML 编写 ROS 2 Launch 文件
  • SpringCloud 微服务全栈体系(十)
  • [原创]Cadence17.4,win64系统,构建CIS库
  • Python 海龟绘图基础教学教案(一)
  • JUC并发编程系列(一):Java线程
  • 双向链表相关代码
  • [每周一更]-(第70期):常用的GIT操作命令
  • Leetcode-283 移动零
  • 爱上C语言:函数递归,青蛙跳台阶图文详解
  • Pycharm 对容器中的 Python 程序断点远程调试
  • 自动驾驶行业观察之2023上海车展-----车企发展趋势(3)
  • day55【动态规划子序列】392.判断子序列 115.不同的子序列
  • c语言中磁盘文件的分类
  • Unity适配微信
  • 虚拟机本地磁盘在线扩容
  • ACTIVE_MQ学习
  • 【C++初阶】类和对象(上)
  • 新版onenet平台安全鉴权的确定与使用
  • 容器核心技术-Namespace
  • linux写文件如何保证落盘?
  • 2023 electron最新最简版打包、自动升级详解