IMU预积分的过程详解

一、IMU和相机数据融合保证位姿的有效性:

  • 当运动过快时,相机会出现运动模糊,或者两帧之间重叠区域太少以至于无法进行特征匹配,所以纯视觉SLAM对快速的运动很敏感。而有了IMU,即使在相机数据无效的那段时间内,也能保持一个较好的位姿估计,这是纯视觉

    SLAM 无法做到的。

  • 当图像发生变化时,本质上我们没法知道是相机自身发生了运动,还是外界条件发生了变化,所以纯视觉SLAM难以处理动态的障碍物。而IMU能获取自己的运动信息,从某种程度上减轻动态物体的影响

  • IMU虽然可以测得角速度和加速度,但这些量都存在明显的漂移,使得积分两次得到的位姿数据非常不可靠。相比于IMU,相机数据基本不会有漂移,所以相机数据可以有效地估计并修正IMU读数中的漂移使得在慢速运动后的位姿估计依然有效。

二、IMU和Camera数据融合获取位姿的主要流程

1、利用相机和IMU分别进行图像采集和惯性数据采集,且IMU的采集频率大于相机的采集频率

2、提取相机获取的每一顿图像的特征点,然后提取特征点的描述子,匹配特征点计算相机位姿

3、对IMU得到的多组IMU数据进行预积分,计算出两图像对应的IMU的位姿和速度

4、IMU初始化,这一步的目的是获取IMU参数较好的初始值: 速度、重力以及Bias。

三、构建视觉残差惯性残差的统一损失函数进行联合优化

  • 视觉里程计VO通过最小化相关键帧的重投影误差,计算得到相机的位姿和地标的位置
  • IMU对相邻两帧的位姿之间添加约束,而且对每一帧添加了状态量:陀螺仪和加速度的偏差

四、IMU预积分过程

1、IMU测量模型

角速度是陀螺仪得到的, B是刚体,IMU与相机的物体坐标系,W是世界坐标系,与角速度和陀螺仪的偏置有关系,与陀螺仪存在的噪声有关,

加速度是由R旋转乘加速度减重力加速度的差,加速度计的偏置,噪声

2、IMU运动学模型

某一时刻的旋转乘角速度, 速度与加速度是有关系的,位姿也可以通过速度求解出来的

3、基于运动学模型,可得t和t+Δt时刻状态关系

相关推荐
freellf8 天前
数据结构及基本算法
1024程序员节
BruceGerGer25 天前
flutter开发实战-flutter web加载html及HtmlElementView的使用
flutter·1024程序员节
神仙约架1 个月前
大疆无人机用过的两款IMU
无人机·imu·大疆·陀螺仪·加速度计
惯师科技1 个月前
IMU助力JAXA空间站机器人
科技·机器人·imu·动作捕捉
网络冒险家2 个月前
【软考】系统集成项目管理工程师【第二版】
职场和发展·软考·集成学习·1024程序员节·系统集成项目工程师
BruceGerGer2 个月前
flutter开发实战-AssetBundle读取指定packagename的文件
flutter·1024程序员节
sheng12345678rui2 个月前
最新缺失msvcp140.dll的多种解决方法,有效解决电脑dll问题
windows·microsoft·电脑·dll文件·1024程序员节
a5553338203 个月前
电脑显示mfc140u.dll丢失的修复方法,总结7种有效的方法
java·经验分享·dll·dll文件丢失·1024程序员节
行十万里人生3 个月前
C++ 智能指针
linux·c++·git·阿里云·容器·蓝桥杯·1024程序员节
a5553338203 个月前
启动鸣潮提示错误代码126:加载d3dcompiler_43.dll错误或缺失的7个解决方法
前端·经验分享·dll·dll文件丢失·1024程序员节