在大规模场景下的地图构建时候,纯激光雷达传感器无法很好的完成地图构建工作,这时需要考虑使用不同的传感器,获取多种数据来进行传感器的融合,实现位姿的矫正,最终完成复杂大规模场景下的地图构建,这种方法也被称之为多传感器融合。
本篇文章要讲述的是发表在ICRA2020上的一篇多传感器融合实现点云地图构建的文章。
涵盖的知识面有:ESKF,IKF,IMU,Quaternion等。
梳理不易,希望大家可以点赞收藏关注支持一下哈~
论文:R-LINS: A Robocentric Lidar-Inertial State Estimator for Robust and Efficient Navigation
Demo:https://www.youtube.com/watch?v=Nmr1blC09qw
由于尚未开源,本文将着重从论文的角度讨论这篇文章。
1、论文概览
R-LINS的本质是一个以机器人为中心的激光惯导状态估计器。它使用以下两种传感器来估计机器人的运动姿态:
- 6轴 IMU:高频,聚焦自身运动,不采集外界环境数据
- 3D LiDAR:低频,聚焦车体运动,采集外界环境数据
这两种传感器想必大家都不陌生。但是,这两个传感器在复杂大规模领域里,单独的依靠自己的数据是很难实现地图构建的。所以,为了能够在具有挑战性的环境下也能保持鲁棒性和计算效率,本文使用了迭代的误差状态卡尔曼滤波器(ESKF)来通过重复生成新的对应特征来递归的修正机器人的状态信息。
为了防止滤波发散和降低计算成本,本文采用了一种新的以机器人为中心的公式,该公式重新定义了一个移动的局部帧的状态估计量,而不是像标准的以世界为中心的LIO中的固定全局帧的状态估计量。
这里需要注意的是,LINS和LIO的区别如下:
本篇文章相比于LIO,降低了计算的时间消耗,是第一个使用ESKF的LIO框架。
2、雷达里程计分类
现在基于激光雷达里程计的划分主要有三大类:
- 纯雷达模型
- 松耦合的LiDAR-IMU模型
- 紧耦合的LiDAR-IMU模型
下面将依次介绍下对应的模型。
2.1、纯雷达模型
一般来说纯雷达的里程计模型大部分都是基于帧间匹配的,主要分为两大类:
- 基于迭代最近点法(ICP)
- 基于正态分布变换(NDT)
所以,现阶段基于迭代最近点法的纯雷达模型,比较出名的是LOAM框架,主要为LOAM和LeGO-LOAM。如果有同学对这两个算法比较感兴趣的话,可以阅读下面文章:
yc zhang:LOAM-SLAM原理深度解析zhuanlan.zhihu.com而基于正态分布变换的纯雷达模型,比较出名的是HDL-Localization。
这些算法都是基于单独的激光雷达传感器数据而进行的里程计推演,实现地图构建。
2.2、松耦合的LiDAR-IMU模型
纯雷达模型使用的传感器是激光雷达,可以很好的探测到外界的环境信息。但是,同样的,也会受到这些信息的干扰,再长时间的运算中会产生一定的累计误差。为了防止这种误差干扰到后续的地图构建中,需要使用另一种传感器来矫正机器人自身的位姿信息。
在实际使用中,为了矫正激光雷达传感器所得到的位姿信息,一般使用的是IMU传感器。
IMU传感器由于是自身运动估计的传感器,所以,采集的都是自身运动的姿态信息。可以很好的矫正激光雷达里程计的位姿信息。所以,通常使用激光雷达和惯导来进行数据融合,实现姿态信息的矫正,这种模型也被称之为LiDAR-Inertial Odometry(LIO) 。
这里主要介绍的是松耦合的LiDAR-IMU模型。
高斯粒子滤波就是比较常见的松耦合模型。
松耦合模型由于是对两个传感器的数据直接进行使用,得到新的姿态解算后的数据,并没有构建新的损失函数,所以,得到的结果相对来说也不是特别的精准。
但是,由于其模型简单,可以快速实现,所以,松耦合的多传感器融合模型&#x