目录
多传感器融合
多传感器融合的方向
传感器融合方案介绍
LOAM
LIO-SAM
LVI-SAM
多线激光雷达性质
什么是运动畸变
两步优化的帧间里程记
IMU 器件介绍及选型建议
IMU 标定方法简介
视觉里程计 VS 激光里程计
LVI-SAM 激光视觉融合思路简介
多传感器融合工程实践经验与技巧
多传感器融合
slam 领域中的多传感器融合简单来说就是融合多个传感器的数据来获得更准确的定位
信息和建图结果
有哪些传感器
跟 slam 相关的传感器有 相机,激光雷达, GPS ,轮速里程记,惯性测量单元( IMU )
等
这些传感器基本上是自动驾驶车辆必备的传感器
他们分别的特点有哪些
相机:优点是便宜,轻量,包含信息丰富,可以参照人眼,人工智能的巅峰估计就是
只利用相机可以在任何场景下实现实时建图、定位、图像分割、目标检测和分类、导
航、避障等等高级功能,缺点就是现有的通用的视觉 slam 技术依赖图像的纹理来进行
特征点的提取,没有纹理或者黑夜图像就很难被很好的利用起来,其次,图像中缺乏
3d 信息,通常建模 slam 问题需要同时优化位姿和地图点,这给优化问题的计算和精
度带来了挑战,另一方面,单目图像缺乏尺度信息
激光雷达:优点包含了 3d 信息,探测距离远,同时不受光照条件和环境纹理等影响,
缺点是几何特点会在部分场景下如长走廊,空旷的草原等失效,同时价格昂贵,当然
16 线的已经降价很多了,但是自动驾驶的乘用车基本不可能使用这么低线束的激光雷
达,改装成本高,算法上限有限

GNSS :优点是提供全局定位信息,如果在卫星信号好同时附近有基站的情况下,配
合 RTK (实时动态差分技术)可以实现厘米级定位,不受光照以及环境几何特征的影
响,缺点是基站作用范围有限,部署成本高,同时城市内容易发生多路径效应,定位
结果不稳定,地下等场景完全没用

轮速里程记:优点是可以提供比较准确的车轮信息,对一定时间内的状态变化估计有
非常好的作用,同时提供了尺度信息,缺点是基本只是一个 2d 运动模型,打滑算法就
受影响,同时无法进行全局定位
IMU :优点是对一段时间的运动状态尤其是旋转有着比较好的估计,可以感受到重力,
使得 roll 和 pitch 全局能观,不受任何环境因素的影响,缺点是积分轨迹时间一长容易
发散,重力估计不正确会使得平移的估计偏差较大

我们可以发现基本上每一个传感器都用着自身无可比拟的优点以及无法规避的缺点,
因此如果把所有的鸡蛋放到一个篮子里,无论是精度还是鲁棒性都会遇到非常大的问
题,这也是自动驾驶车辆所无法接受的,因此,我们需要扬长避短,取各家所长,形
成一个稳定的鲁棒的方案
多传感器融合的方向
根据主传感器的类型分别视觉为主的方案以及激光为主的方案,由于视觉激光两个传
感器的关联性以及互补性有限,因此这两种传感器紧耦合的方案并不多,比较多的方
案要么以激光为主,要么以视觉为主同时融合其他传感器的方案。
视觉 slam 方向:常见的方式是一个视觉特征点前端(当然还有基于直接法的前端,如
DSO ),通过光流或者描述子建立不同帧特征点之间的关联,后端根据前端特征关联的
结果和其他传感器数据进行融合,根据融合的方式分为基于优化的后端( ORBSLAM2 、
3, VINS-MONO , VINS-FUSION )以及基于滤波的后端( MSCKF ),视觉通常会提供
一个重投影误差作为约束或者更新量
激光 slam 方向:目前性能最好使用最广的激光 slam 方案是基于 LOAM 的系列方案,
LOAM 主要是为多线激光雷达设计的 lidar 定位和建图的方案,当然,由于现在其他一
些 lidar 硬件的推出,一些 LOAM 的改进版本也是适当推出,如( Livox LOAM )。
基于 LOAM 方案通常前端是对当前帧激光雷达提取特征(通常是面特征和线特征),
通常后端结合其他传感器信息给当前帧到地图中的匹配提供一个良好的初值(激光
slam 中最重要的事情就是给 scan matching 提供一个更准确的 init guess )
传感器融合方案介绍
为什么选择激光雷达
激光雷达相比图像有着对光照、纹理不敏感的优点,激光雷达地图相比通用的视觉特
征点 + 描述子地图有着更好的稳定性,在安全性至上的自动驾驶领域,激光雷达方案比
视觉方案鲁棒性更优,几乎所有 L4 级别的自动驾驶解决方案都会带有激光雷达(像特
斯拉这样的纯视觉方案应用并不多),因此,从实用性上来讲,激光雷达有着视觉难以
比拟的优点
LOAM
非常经典的激光里程记和建图方案,也是其他 LOAM 方案的鼻祖, LOAM 只基于激光
雷达(可选 IMU ),通过把 SLAM 拆分成一个高频低精的前端以及一个低频高精的后
端来实现 lidar 里程记的实时性。
LIO-SAM
LOAM 基础上采用紧耦合的 imu 使用方式,放弃了帧间里程记作为前端里程记,而
使用紧耦合后 imu 的预测值作为前端里程记,后端沿用 LeGO-LOAM ,同时加入了对