VIO(1)—— 概述与基础知识

文章目录

  • 一、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 融合实现里程计的方法

  1. IMU(Inertial Measurement Unit),惯性测量单元.
  • 典型 6 轴 IMU 以较高频率(≥ 100Hz)返回被测量物体的角速度
    与加速度
  • 受自身温度、零偏、振动等因素干扰,积分得到的平移和旋转容
    易漂移
  1. Visual Odometry 视觉里程计
  • 以图像形式记录数据,频率较低(15 − 60Hz 居多)
  • 通过图像特征点或像素推断相机运动`

1.1 IMU概述

六自由度 IMU 本身由一个陀螺仪和一个加速度计组成,分别测量自身
的角速度和加速度。
VIO(1)—— 概述与基础知识_第1张图片手机等电子产品多使用价格低廉的 MEMS IMU(如 MPU 6050),自动驾驶类则多使用几万元的 IMU(如 Apollo 中使用的 Novatel SPAN-IGM-A1)
VIO(1)—— 概述与基础知识_第2张图片

1.2 IMU 与视觉定位方案优势与劣势对比:

VIO(1)—— 概述与基础知识_第3张图片整体上,视觉和 IMU 定位方案存在一定互补性质:
• IMU 适合计算短时间、快速的运动;
• 视觉适合计算长时间、慢速的运动。
同时,可利用视觉定位信息来估计 IMU 的零偏,减少 IMU 由零偏导致的发散和累积误差;反之, IMU 可以为视觉提供快速运动时的定位。

1.3 IMU 数据可与多种定位方案融合

• 自动驾驶中通常用 IMU+GPS/差分 GPS/RTK 的融合定位方案,形成 GNSS-INS 组合导航系统,达到厘米组定位精度;
• 头戴式 AR/VR 头盔则多使用视觉 +IMU 的 VIO 定位系统,形成高帧率定位方案

1.3.1 松耦合

将 IMU 定位与视觉/GNSS 的位姿直接进行融合,融合过程对二者本身不产生影响,作为后处理方式输出。典型方案为卡尔曼滤波器。
VIO(1)—— 概述与基础知识_第4张图片

1.3.2 紧耦合

融合过程本身会影响视觉和 IMU 中的参数(如 IMU 的零偏和视觉的尺度)。典型方案为 MSCKF 和非线性优化。
VIO(1)—— 概述与基础知识_第5张图片

					 `为什么要使用紧耦合`:

• 单纯凭(单目)视觉或 IMU 都不具备估计 Pose 的能力:视觉存
在尺度不确定性、 IMU 存在零偏导致漂移;
• 松耦合中,视觉内部 BA 没有 IMU 的信息,在整体层面来看不是
最优的。
• 紧耦合可以一次性建模所有的运动和测量信息,更容易达到最优。

二、预备知识

2.1 数学符号约定

  • 普通变量: a , b , c a, b, c a,b,c
  • 矩阵和向量:A,B, v
  • 集合: R , Z \mathbb{R}, \mathbb{Z} R,Z
  • 特殊集合: F , G \mathcal{F}, \mathcal{G} F,G
  • 希腊字母和向量: α \alpha α
  • 李代数: s o ( 3 ) , s e ( 3 ) \mathfrak{s o}(3), \mathfrak{s e}(3) so(3),se(3)
    VIO(1)—— 概述与基础知识_第6张图片

2.2 三维刚体运动

VIO(1)—— 概述与基础知识_第7张图片

2.3 四元数

VIO(1)—— 概述与基础知识_第8张图片VIO(1)—— 概述与基础知识_第9张图片
四元数相关知识可以参考资料:https://download.csdn.net/download/qq_34213260/12504624

2.3.1 四元数和角轴的转换关系

VIO(1)—— 概述与基础知识_第10张图片

2.3.2 四元数求导

VIO(1)—— 概述与基础知识_第11张图片

2.3.3 四元数更新

当我们用计算出来的 角速度ω 对某旋转更新时
在这里插入图片描述

2.4 李代数

2.4.1 李群李代数的关系

VIO(1)—— 概述与基础知识_第12张图片VIO(1)—— 概述与基础知识_第13张图片由于 ϕ \phi ϕ是三维向量, 我们可以定义它的模长和它的方向,分别记作 θ \theta θ a , a, a, 于是有 ϕ = θ a 0 \phi=\theta a_{0} ϕ=θa0 这里 a a a 是一个长度为 1 的方向向量,即 || a ∥ = 1 ∘ a \|=1_{\circ} a=1 。因此可以推导出
在这里插入图片描述 ϕ = ln ⁡ ( R ) ∨ = arccos ⁡ tr ⁡ ( R ) − 1 2 \phi=\ln (\boldsymbol{R})^{\vee}=\arccos \frac{\operatorname{tr}(\boldsymbol{R})-1}{2} ϕ=ln(R)=arccos2tr(R)1
VIO(1)—— 概述与基础知识_第14张图片

2.4.2 李代数更新

VIO(1)—— 概述与基础知识_第15张图片

VIO(1)—— 概述与基础知识_第16张图片VIO(1)—— 概述与基础知识_第17张图片
VIO(1)—— 概述与基础知识_第18张图片10 式 和4.8 式联立可得 ω ∧ = R T ϕ R \omega^{\wedge}=\boldsymbol{R}^{\mathrm{T}}\phi\boldsymbol{R} ω=RTϕR

2.4.3 李代数求导与扰动模型

VIO(1)—— 概述与基础知识_第19张图片VIO(1)—— 概述与基础知识_第20张图片VIO(1)—— 概述与基础知识_第21张图片VIO(1)—— 概述与基础知识_第22张图片VIO(1)—— 概述与基础知识_第23张图片

2.4.4 有关 SE(3)

由于 SE(3) 李代数性质复杂,在 VIO 中,我们通常使用SO(3) + t 的形式表达旋转和平移。对平移部分使用矢量更新而非SE(3) 上的更新

你可能感兴趣的:(VIO)