SLAM--只基于IMU存在的问题?

1.IMU

     IMU指的是惯性测量单元。IMU大多用在需要进行运动控制的设备,如汽车和机器人上。也被用在需要用姿态进行精密位移推算的场合,如潜艇、飞机、导弹和航天器的惯性导航设备等。

     惯性测量单元是测量物体三轴姿态角(或角速率)以及加速度的装置。一般的,一个IMU包含了三个单轴的加速度计和三个单轴的陀螺,加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺检测载体相对于导航坐标系的角速度信号,测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。

SLAM--只基于IMU存在的问题?_第1张图片

1.1 IMU的优点

    IMU 有输出频率高、能输出6DoF测量信息等优点 。视觉 SLAM 存在输出频率低、旋转运动时、或运动速率加快时定位易失败等问题,

1.2 IMU的不足

imu的数据必须经过标定,至少要将零偏等数据计算出来;

imu的零偏包括固定零偏(受到应力和其他因素的影响)和启动零偏(每次启动不一样,启动之后就固定不变);

标定一般标定的是固定零偏和部分启动零偏,算法估计的是启动零偏的残差值和温飘。

 

1.3 如何使用?【原文:https://blog.csdn.net/wheelfjl/article/details/78425109 】

a. 坐标系
惯性导航中常用的坐标系有地心惯性坐标系、导航坐标系以及载体坐标系。坐标轴一般指向载体正前、正右及正下方。

b. 状态模型
惯导系统的状态量包括 IMU 的位置、姿态、速度以及加速度计和陀螺仪的两个零偏,其中姿态采用四元数表示,状态量可表示为 16 维的列向量。具体可参考以下链接: 

https://fzheng.me/2016/11/20/imu_model_eq/

SLAM--只基于IMU存在的问题?_第2张图片

 


2. 如何实现基于IMU的slam方案?

slam实时建图,所以必须要知道环境的信息,而IMU只能获取自己的位置。所以IMU是slam辅助设备。

那么IMU如何与摄像头配合的呢?(暂时不提雷达)

二. 融合方式概述[ 原文:https://blog.csdn.net/wheelfjl/article/details/78425109 ]
同SLAM发展过程类似,视觉融合IMU问题也可以分成基于滤波和基于优化两大类。 
同时按照是否把图像特征信息加入状态向量来进行分类,可以分为松耦合和紧耦合两大类。

1. 基于滤波的融合方法
1.1 松耦合

松耦合将视觉传感器和 IMU 作为两个单独的模块,两个模块均可以计算得到位姿信息,然后一般通过 EKF 进行融合。 


可参考的算法有ethz的Stephen Weiss的ssf和msf

1.2 紧耦合
紧耦合则是指将视觉和 IMU 得到的中间数据通过一个优化滤波器进行处理,紧耦合需要把图像特征加入到特征向量中,最终得到位姿信息的过程。由于这个原因,系统状态向量最终的维度也会非常高,同时计算量也很大。

可参考的算法有MSCKF,ROVIO

2. 基于优化的融合算法
2.1 松耦合
基于松耦合优化的工作不多,这里只给出一篇文章作为参考: 
Inertial Aided Dense & Semi-Dense Methods for Robust Direct Visual Odometry

2.2 紧耦合
提到基于优化的紧耦合,就不得不提okvis了,主体思想是建立一个统一的损失函数同时优化视觉与IMU的位姿,用到了sliding window的思想。(这方面博主也需要再深入研究一下) 
可参考okvis的github主页: 
okvis 
以及港科大今年上半年刚刚开源的VINS: 
VINS

3. 总结
总体来看,松耦合算法相对简单,且扩展性很强,可以加入多种传感器信息进行融合,但融合得到的位姿估计精度相对较差;紧耦合算法实现起来相对复杂,可扩展性差,但融合得到的位姿估计精度较高。


 

 

你可能感兴趣的:(SLAM)