0%

VIO 基本介绍

从零开始手写 VIO 学习笔记一,主要内容:VIO 基本介绍。

VIO 概述

  • VIO (Visual-Inertial Odometry): 里程计指能够用于测量相对位移的模块,VIO 则是将视觉信息和 IMU 信息相融合来实现的里程计模块
  • IMU (Inertial-Measurement Unit):惯性测量单元,一般用来返回被测量物体的角速度和加速度。频率较高(通常为 100 Hz 以上)。受自身温度、零偏、震动等因素干扰,积分得到的平移和旋转容易漂移
  • 视觉里程计 (Visual Odometry):以图像形式记录数据,频率较低(通常为 15 ~ 60 Hz),通过前后图像特征点或者像素整体比较推断相机的运动

IMU 简介

六自由度 IMU 本身由陀螺仪和加速度计组成,分别用于测量自身角速度和线性加速度。

IMU 与视觉定位对比

  • IMU 定位:
    • 优势:快速响应、不受环境影响(光照、周围物体等)、角速度普遍比较准确,可估计绝对尺度
    • 劣势:存在零偏、低精度 IMU 积分位姿发散、高精度价格昂贵
  • 视觉定位:
    • 优势:不产生漂移、可以直接测量旋转和平移
    • 劣势:受环境影响(光照条件不好、图像遮挡、运动物体干扰)、单目视觉无法测量尺度、单目纯旋转无法估计、快速运动时估计容易丢失

整体上,IMU 适合计算短时间且快速的运动,视觉定位方案适合计算长时间、慢速度的运动。因此可以利用视觉定位信息来估计 IMU 的零偏、减少 IMU 由零偏导致的发散和累计误差;反之,可以利用 IMU 为视觉提供快速运动时的定位。

IMU 定位组合

在不同领域中 IMU 一般可以和不同传感器组合成不同定位方案:

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

紧耦合和松耦合

IMU 和其他传感器的数据的融合方式可以分为紧耦合和松耦合两种

松耦合

将 IMU 定位位姿与视觉/GNSS 的位姿直接进行融合,融合过程对两者本身不产生影响,作为后处理输出。典型做法为使用卡尔曼滤波方案用 IMU 数据积分输出作为预测值,视觉里程计输出作为观测值进行融合。

紧耦合

紧耦合方式为利用多种传感器输出的原始数据(如 IMU 的零偏、视觉的尺度,而非其作为里程计输出的位姿)来进行融合,最终输出一个位姿。例如: MSCKF 和非线性优化。

紧耦合相对于松耦合而言,有以下优点:

  • 松耦合中,单目里程计以及 IMU 里程计输出的位姿质量都很低甚至无法使用(视觉里程计有尺度不确定性,IMU 有零偏导致漂移)
  • 松耦合由于视觉里程计中 BA 没有利用 IMU 信息,整体不是最优的
  • 紧耦合可以一次行建模所有运动和测量信息,容易优化