- 一、VIO(Visual-Inertial Odometry)概述
- 1.1 IMU概述
- 1.2 IMU 与视觉定位方案优势与劣势对比:
- 1.3 IMU 数据可与多种定位方案融合
- 1.3.1 松耦合
- 1.3.2 紧耦合
- 二、预备知识
- 2.1 数学符号约定
- 2.2 三维刚体运动
- 2.3 四元数
- 2.3.1 四元数和角轴的转换关系
- 2.3.2 四元数求导
- 2.3.3 四元数更新
- 2.4 李代数
- 2.4.1 李群李代数的关系
- 2.4.2 李代数更新
- 2.4.3 李代数求导与扰动模型
- 2.4.4 有关 SE(3)
一、VIO(Visual-Inertial Odometry)概述
VIO即以视觉(相机)与 IMU 融合实现里程计的方法
IMU(Inertial Measurement Unit)
,惯性测量单元.
- 典型 6 轴 IMU 以较高频率(≥ 100Hz)返回被测量物体的角速度 与加速度
- 受自身温度、零偏、振动等因素干扰,积分得到的平移和旋转容 易漂移
Visual Odometry 视觉里程计
- 以图像形式记录数据,频率较低(15 − 60Hz 居多)
- 通过图像特征点或像素推断相机运动`
1.1 IMU概述
六自由度 IMU 本身由一个陀螺仪和一个加速度计组成,分别测量自身 的角速度和加速度。
手机等电子产品多使用价格低廉的 MEMS IMU(如 MPU 6050),自动驾驶类则多使用几万元的 IMU(如 Apollo 中使用的 Novatel SPAN-IGM-A1)
1.2 IMU 与视觉定位方案优势与劣势对比:
整体上,视觉和 IMU 定位方案存在一定互补性质: • IMU 适合计算短时间、快速的运动; • 视觉适合计算长时间、慢速的运动。 同时,可利用视觉定位信息来估计 IMU 的零偏,减少 IMU 由零偏导致的发散和累积误差;反之, IMU 可以为视觉提供快速运动时的定位。
1.3 IMU 数据可与多种定位方案融合
• 自动驾驶中通常用 IMU+GPS/差分 GPS/RTK 的融合定位方案,形成 GNSS-INS 组合导航系统,达到厘米组定位精度; • 头戴式 AR/VR 头盔则多使用视觉 +IMU 的 VIO 定位系统,形成高帧率定位方案
1.3.1 松耦合
将 IMU 定位与视觉/GNSS 的位姿直接进行融合,融合过程对二者本身不产生影响,作为后处理方式输出。典型方案为卡尔曼滤波器。
1.3.2 紧耦合
融合过程本身会影响视觉和 IMU 中的参数(如 IMU 的零偏和视觉的尺度)。典型方案为 MSCKF 和非线性优化。
`为什么要使用紧耦合`:
• 单纯凭(单目)视觉或 IMU 都不具备估计 Pose 的能力:视觉存 在尺度不确定性、 IMU 存在零偏导致漂移; • 松耦合中,视觉内部 BA 没有 IMU 的信息,在整体层面来看不是 最优的。 • 紧耦合可以一次性建模所有的运动和测量信息,更容易达到最优。
二、预备知识
2.1 数学符号约定
- 普通变量: a,b,ca,b,c
- 矩阵和向量:A,B, v
- 集合:R,ZR,Z
- 特殊集合: F,GF,G
- 希腊字母和向量: αα
- 李代数: so(3),se(3)so(3),se(3)
2.2 三维刚体运动
2.3 四元数
四元数相关知识可以参考资料:https://download.csdn.net/download/qq_34213260/12504624
2.3.1 四元数和角轴的转换关系
2.3.2 四元数求导
2.3.3 四元数更新
当我们用计算出来的 角速度ω 对某旋转更新时
2.4 李代数
2.4.1 李群李代数的关系
由于ϕϕ是三维向量, 我们可以定义它的模长和它的方向,分别记作 θθ 和 a,a, 于是有 ϕ=θa0ϕ=θa0 这里 aa 是一个长度为 1 的方向向量,即 || a∥=1∘a‖=1∘ 。因此可以推导出
ϕ=ln(R)∨=arccostr(R)−12ϕ=ln(R)∨=arccostr(R)−12 ϕϕ的物理含义就是[x,y,z]三轴的角度 上式还有一种更易理解与常用的形式如下:
2.4.2 李代数更新
10 式 和4.8 式联立可得 ω∧=RTϕRω∧=RTϕR
2.4.3 李代数求导与扰动模型
2.4.4 有关 SE(3)
由于 SE(3) 李代数性质复杂,在 VIO 中,我们通常使用SO(3) + t 的形式表达旋转和平移。对平移部分使用矢量更新而非SE(3) 上的更新