视觉SLAM融合IMU问题研究笔记

前言:视觉 SLAM 存在输出频率低、旋转运动时、或运动速率加快时定位易失败等问题,而 IMU 有输出频率高、能输出6DoF测量信息等优点。因此现阶段的一个研究热点是将视觉 SLAM 与 IMU 得到的位姿估计结果进行融合,得到更加鲁棒的输出结果。通过二者的融合,可以解决视觉位姿估计输出频率低的问题,同时位姿估计精度有一定的提高,整个系统也更加鲁棒。这也是一个 VIO (Visual Inertial Odometry) 问题。


一. IMU基本原理

惯性测量单元(Inertial Measurement Unit,简称 IMU)一般由三个单轴加速度计和陀螺仪组成。惯导解算主要是通过加速度计测得的载体加速度和陀螺测得的载体相对于导航坐标系的角速度来对载体的位置、 姿态及速度进行解算。

1. 坐标系

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

2. 状态模型

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

二. 融合方式概述

同SLAM发展过程类似,视觉融合IMU问题也可以分成基于滤波基于优化两大类。
同时按照是否把图像特征信息加入状态向量来进行分类,可以分为松耦合紧耦合两大类。

1. 基于滤波的融合方法

1.1 松耦合

松耦合将视觉传感器和 IMU 作为两个单独的模块,两个模块均可以计算得到位姿信息,然后一般通过 EKF 进行融合。
视觉SLAM融合IMU问题研究笔记_第1张图片

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

1.2 紧耦合

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

视觉SLAM融合IMU问题研究笔记_第2张图片

可参考的算法有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. 总结

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


资料参考:
http://www.cnblogs.com/hitcm/p/6327442.html

你可能感兴趣的:(IMU)