文章:LiDAR-based SLAM for robotic mapping: state of the art and new frontiers
作者:Xiangdi Yue and Miaolei He
编辑:点云PCL
欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。未经博主同意请勿擅自转载。
公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。
摘要
在过去的几十年里,机器人地图学领域在基于激光雷达(Light Detection And Ranging,LiDAR)的同时定位与地图构建(SLAM)技术方面经历了广泛的研究和发展。本文旨在为机器人地图学领域的研究人员和工程师提供一个重要的参考。本文侧重于从各种LiDAR类型和配置的角度,对基于LiDAR的SLAM技术在机器人地图学中的研究现状进行调查。对基于三种不同LiDAR形式和配置的SLAM系统进行了全面的文献综述。我们得出结论,基于3D LiDAR的多机器人协作地图构建和多源融合SLAM系统,结合深度学习,将是未来的新趋势。就作者所知,这是第一次从各种LiDAR类型和配置的角度对机器人地图学进行了深入的调查,它可以作为学术和工业机器人地图发展的理论和实践指南。
介绍
LiDAR-based SLAM的发展历史如图1所示。LiDAR-based SLAM的发展历史。在经典时期,过滤方法是解决SLAM问题的主要方式。为了在贝叶斯网络中解决SLAM,过滤算法必须实时收集每一时刻的信息并将其划分到贝叶斯网络的概率分布中。这种过滤方法代表了一种在线SLAM系统,显然会产生重大的计算开销,并且只能生成小规模的地图。为了进行大规模的建图,已经提出了一种解决在因子图中解决SLAM的优化策略。优化方法是过滤方法的逆过程,它仅累积获取的信息并使用在所有先前实例中累积的全局信息离线计算机器人的轨迹和路径点。换句话说,优化方法是一个完整的SLAM系统。随着计算机性能和数学能力的大幅提高,基于优化的方法已成为当代SLAM研究的主要焦点。
图1. 基于LiDAR的SLAM发展历史
滤波方法是在经典时期解决SLAM问题的主要途径。为了在贝叶斯网络中解决SLAM问题,滤波算法必须在实时的每一时刻收集信息并将其划分到贝叶斯网络的概率分布中。这种过滤方法代表了一种在线SLAM系统,显然会产生显著的计算开销,并且只能在小范围内生成地图。针对大规模制图,已经提出了一种在因子图中解决SLAM的优化策略。优化方法是过滤方法的反向,仅累积获取的信息,并使用在所有先前实例中积累的全局信息离线计算机器人的轨迹和航点。换句话说,优化方法是一个完整的SLAM系统。随着计算机性能和数学能力的巨大提升,基于优化的方法已成为当代SLAM研究的主要关注点。如图2所示,LiDAR-based SLAM系统概览。
图2. 基于LiDAR的SLAM系统概览
LiDAR里程计
LiDAR里程计的目的是通过在两个相邻的点云帧之间创建运动的估计来生成局部地图,LiDAR里程计根据点云配准方法分为三种类型:基于点的配准、基于点分布的配准和基于特征的配准。
基于点的点云配准通过最直接的方式找到目标和参考点云之间的对应关系,识别参考点云中对应点的简单方法是找到与之具有最短欧几里德距离的点,即迭代最近点。Besl提出了一种通用的、不依赖于表示的方法,用于基于迭代最近点(ICP)算法的三维形状的准确而高效的配准,该算法确定了具有最小平方距离的点对点对应关系的最佳欧几里德变换。
与点云配准不同,基于分布的配准方法将点云空间转换为具有连续概率密度函数的体素。将目标点云的连续概率密度函数与参考点云匹配可优化姿态连接。2003年,Biber首次展示了一种称为正态分布变换(NDT)的范围扫描的替代表示方法。与占用栅格类似,Biber将2D平面划分为单元格,对于每个单元格,分配了一个正态分布,它在局部建模了测量点的概率。ICP和NDT的概念基于点云的直接配准,这种直接配准的方法耗时且难以实时提供。因此,Zhang提出了LOAM来执行两个相邻帧的点云配准,通过提取几何特征提高了系统的效率并增强了配准精度。
回环闭合检测
全局数据关联通过识别机器人是否已经到达其在历史瞬间到达的位置,从而生成全局一致的地图,以纠正累积的错误,回环闭合检测通常有两个步骤:(1)使用位置识别找到与当前观察类似的数据库中的点。(2)姿势图优化纠正估计的回环位姿。使用LiDAR检测环路闭合的方法可以进一步分为两种方法:基于局部描述符和基于全局描述子。
图优化
LiDAR的累积误差使得长时间建图不准确,然而LiDAR里程计可以快速产生轨迹和地图。因此为了使用LiDAR里程计确定长时间的理想路线和地图,必须创建一个大规模的优化问题。图优化是通过结合每个雷达帧的姿势和帧间运动约束来实现整体优化的方法。它有助于消除大规模建图中的局部累积误差,并优化轨迹。
LiDAR-based SLAM系统
我们将对基于三种不同LiDAR形式和配置的LiDAR-based SLAM系统进行全面的文献综述,包括(1)基于2D LiDAR的SLAM系统;(2)基于3D LiDAR的SLAM系统;以及(3)基于旋转shiLiDAR的SLAM系统。
基于2D LiDAR的SLAM系统
单线LiDAR由单线激光模块和旋转机构组成,单线LiDAR的扫描点通常在同一平面的360度范围内,即环境特定横截面的轮廓。因此,它也被称为2D LiDAR,与三维点云相比,2D LiDAR-based SLAM是一种顶视LiDAR SLAM算法,这简化了激光扫描并将数据建图到二维,它类似于图像。二维SLAM可以使用图像特征提取和匹配算法将地图保存为图像。室内扫地机器人、服务机器人和自动导引车主要使用基于2D LiDAR的SLAM。
2002年,Montemerlo提出了FastSLAM算法,该算法使用粒子滤波器和卡尔曼滤波器分别估计机器人姿势和位置地标。GMapping算法框架基于RBPF(Rao-Blackwellized Particle Filter)算法,该算法首先定位,然后建图。Konolige于2010年开发了Karto SLAM算法,这是第一个开源的图优化算法。为了解决稀疏解耦,它采用了高度方向优化和非迭代平方根分解。但是该算法必须在回环闭合检测部分事先构建一个局部子地图。Hector SLAM算法的框架基于Gauss-Newton,该算法不依赖里程计,适用于空中或不平坦的道路条件。然而当机器人迅速转向时,容易出现匹配错误,而且没有回环闭合检测模块。2016年,Google推出了Cartographer,这是一个配备传感器的背包,可以在室内实时生成分辨率为r = 5厘米的2D网格地图。该算法通过相关扫描帧与梯度优化相结合完成前端匹配,并使用深度优先分支和界限搜索算法计算回环闭合检测。Macenski构建了一个名为SLAM Toolbox的2D SLAM工具集,为同步和异步地图模式、定位、多会话建图、图优化、减少计算时间以及原型终身和分布式建图应用提供了一套工具和功能。表1总结了2D LiDAR-based SLAM系统的全球研究现状。
基于3D LiDAR的SLAM系统
2D LiDAR只能扫描同一平面上的障碍物信息,即环境横截面的轮廓,因此从扫描中提取的信息极为有限。多线LiDAR,也称为3D LiDAR,通过与旋转机构配合,同时发射多束激光束在垂直方向上,能够扫描多个横截面的轮廓。由于其能够提供丰富的关于周围环境的点云信息,3D LiDAR-based SLAM广泛应用于室外移动机器人和自动驾驶领域。根据不同的框架,3D LiDAR-based SLAM领域可以进一步分为两种不同的方案:基于滤波器的和基于图优化的。表2总结了全球3D LiDAR-based SLAM系统的研究现状。
基于滤波器的SLAM系统
LINS是一种用于实时自我运动估计的轻量级LiDAR-惯性状态估计器,通过紧密耦合6轴IMU和3D LiDAR,它实现了在具有挑战性的环境中(如无特征的场景)对地面车辆进行稳健而高效的导航。在该系统中开发了迭代误差状态卡尔曼滤波器(iESKF),通过在每次迭代中生成新的特征对应关系来重复校正近似状态,同时保持系统的计算可访问性。香港大学提出了FAST-LIO2,它基于第二代FAST-LIO,后者也基于iESKF。在滤波器设计方面,FAST-LIO2和LINS相当,但卡尔曼增益的计算不同。此后不久高根据FAST-LIO2开发了Faster-LIO。该算法相对于FAST-LIO2的优势在于,在保持准确性的同时实现更大的算法效率。这主要归因于使用iVox(增量体素)数据结构来维护局部地图,可以有效地减少点云配准时间而不影响里程仪的精度。该工作目前与机械和固态LiDAR兼容。Gilmar提出了EKF-LOAM,这是一种增强的3D LiDAR-based SLAM策略,将轮式里程和IMU整合到SLAM过程中。Yuan提供了VoxelMap,这是一种用于LiDAR里程的高效且概率自适应的体素建图方法。地图由体素组成,每个体素包含一个单一的平面特征,允许对环境进行概率表示并精确注册新的LiDAR扫描。Point-LIO是一种具有强韧性和高带宽的光学雷达惯性里程法,具有估计极端激进机器人运动能力。Shi提出了Inv-LIO1,这是一种机器中心的不变EKF LiDAR-惯性里程法。该系统直接使用不变的观察者设计和Lie群理论融合LiDAR和IMU测量。
基于图优化的SLAM系统
Shan介绍了LeGO-LOAM算法,用于实时的六自由度地面车辆姿态估计,Jens构建了一个基于surfel的地图,并通过利用当前扫描与surfel地图的渲染模型之间的投影数据关联来估计机器人的姿态变化。Koide描述了一种基于三维LiDAR的便携式人行为测量系统。该系统在估计三维环境地图中的目标人物位置的同时,估计了传感器的姿态。Shan提出了LIO-SAM,它基于LeGO-LOAM,通过紧密耦合LiDAR和IMU。LIO-SAM仅使用滑动窗口优化IMU的偏差。然后,它使用附加的后端将IMU预积分因子,LiDAR里程计因子,GPS因子和回环检测因子放入一个因子图优化模型中,以进行联合优化,以获得机器人的全局一致姿态。在视觉SLAM中,局部关键帧滑动窗口上的局部捆绑调整(BA)经常用于减小漂移。因此,Liu将LiDAR BA制定为将特征点到其匹配的边缘或平面的距离最小化的过程。这种方法可以大大减小优化规模,并允许使用大规模密集的平面和边缘特征。Wang提出了F-LOAM,这是一种非迭代的两阶段畸变补偿方法,用于减小计算成本并为LiDAR-based SLAM提供计算效率高且准确的框架。Guo提出了E-LOAM(LOAM with Expanded Local Structural Information),该算法在预先提取的几何特征点周围添加了局部点云信息。Wang介绍了D-LIOM,这是一种紧耦合的直接LiDAR-惯性里程和建图架构。D-LIOM立即将扫描帧配准到概率子地图,并集成了LiDAR里程计,IMU预积分和重力约束,以生成子地图时间窗口内的局部因子图,用于实时高精度姿态估计。ARTSLAM(Accurate Real-Time LiDAR SLAM)是一种用于批处理和在线估计的模块化、快速而准确的LiDAR SLAM系统。使用三阶段算法,该系统能够高效地检测并关闭轨迹中的回环。Andrzej提出了LOCUS 2.0,这是一种用于实时地下3D建图的稳健且计算高效的LiDAR里程计系统。
旋转驱动的LiDAR-based SLAM系统
机械LiDAR的水平视场(FOV,视野)为360°,但垂直FOV受到限制,固态LiDAR具有宽广的垂直视野,但水平视野较小。现有研究通常采用多LiDAR方案或旋转驱动LiDAR方法来增强LiDAR的视野,但前者成本过高,因此后者是主流趋势。旋转驱动的LiDAR-based SLAM系统主要用于需要全景扫描覆盖的应用,包括测绘建图,地下探测等。
Zhen提出了一个统一的建图框架(UMF),支持多种LiDAR类型,包括(1)固定的3D LiDAR和(2)旋转的3D/2D LiDAR,定位模块利用误差状态卡尔曼滤波器(ESKF)和高斯粒子滤波器(GPF)的组合来估计先验地图内的机器人状态。Mojtaba提出了LoLa-SLAM,这是一种基于LiDAR扫描分割和并发匹配的低延迟LiDAR SLAM框架。该框架使用旋转驱动的LiDAR的分割点云数据在并发多线程匹配中,以高更新率和低延迟估计6D姿态。Chen开发了R-LIO(旋转LiDAR惯性里程计),这是一种将旋转驱动的3D LiDAR与IMU集成的新型SLAM算法。R-LIO能够进行高精度、实时的位置估计和地图构建。Milad介绍了Wildcat一种弹性而稳健的在线3D LiDAR-based SLAM系统。Wildcat的核心使用了连续时间轨迹表示和一个高效的姿态图优化模块,支持单一和多智能体场景。Chanoh提出了一种新颖的基于旋转驱动的3D LiDAR的以地图为中心的SLAM框架。具有以地图为中心的方法的优点,该方法展示了克服与多模态传感器融合和LiDAR运动失真相关的现有系统缺陷的新特性。Wang提出了在线多校准惯性测距计(OMC-SLIO)用于SLiDAR(旋转LiDAR),该方法在线估计LiDAR、旋转机构、IMU和里程计状态的多个外参。Yan介绍了Spin-LOAM,一种紧密耦合的基于旋转驱动的3D LiDAR的SLAM算法。它采用了自适应扫描累积方法,分析特征点的空间分布以提高匹配的准确性和可靠性。Chen展示了飞行驱动超欠驱动LiDAR感知飞行机器人(PULSAR),这是一种自旋、灵活的无人机(UAV),其三维位置完全由激活一个电机产生所需的推力和力矩来控制。表3总结了旋转驱动LiDAR-based SLAM系统的国际研究现状。
挑战
地图质量将直接影响后续高级任务,如决策和规划。其中用于制图的LiDAR-based SLAM是一项经过深入研究的成熟技术,虽然LiDAR-based SLAM相关工作在过去几十年取得了显著进展,但仍然存在许多需要解决的挑战和问题。回顾最近LiDAR-based SLAM在机器人制图方面的进展,以下将讨论机器人制图中挑战和未来研究方向的几个方面。
退化环境中的LiDAR-based SLAM,隧道、桥梁和长廊是典型的退化环境,其中没有几何元素,相同环境和对称结构。LiDAR-based SLAM系统无法在退化环境中估计完整的机器人6自由度运动。在退化环境中的LiDAR-based SLAM代表了一个重大挑战。
动态环境中的LiDAR-based终身SLAM。所有LiDAR-based SLAM技术都在假设环境是静态的情况下运行。在动态环境条件下,例如当机器人正在创建地图时,某个地方存在物体。当机器人使用先前的地图定位时,物体消失,导致自主定位的失败。使用LiDAR进行终身映射可以解决在动态环境中进行制图的问题。
大规模环境中的LiDAR-based SLAM。面对大规模环境制图需求,使用LiDAR-based SLAM方案进行多机器人协作制图可以解决单机器人SLAM面临的计算负担、全局误差积累和风险集中等问题。
多源融合增强LiDAR-based SLAM。基于3D LiDAR的多源融合SLAM系统是另一个研究热点。考虑到单一传感器如LiDAR、相机和IMU的不准确性和脆弱性,研究人员越来越多地开发了多源融合SLAM解决方案。
深度学习增强的LiDAR-based语义SLAM。对LiDAR-based SLAM系统进行深度学习增强的广泛研究已经进行。深度学习与LiDAR-based SLAM在机器人制图中的结合也将是未来的潜在研究趋势,高级语义信息辅助的LiDAR-based SLAM已经成为机器人制图中的一项基本工具。
总结
本文从各种LiDAR类型和配置的角度,聚焦于LiDAR-based SLAM在机器人制图中的研究状态。首先,从历史的角度回顾了SLAM的起源,通过比较和分析基于过滤方法的经典SLAM的特征,提出了基于优化方法的现代SLAM系统框架。随后对LiDAR-based SLAM系统在三种不同的LiDAR形式和配置中进行了广泛的文献综述。与三维点云相比,基于2D LiDAR的SLAM是一种俯视的LiDAR SLAM方法。大多数室内扫地机器人、服务机器人和AGV使用基于2D LiDAR的SLAM。多线LiDAR,也称为3D LiDAR,使您能够同时扫描多个横截面的轮廓。如今基于3D LiDAR的SLAM广泛应用于室外移动机器人和自动驾驶领域。总体而言以旋转驱动的LiDAR-based SLAM系统主要用于需要广角扫描覆盖的任务,如测绘和制图、地下探索等。
资源
自动驾驶及定位相关分享
【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法
自动驾驶中基于光流的运动物体检测
基于语义分割的相机外参标定
综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍
高速场景下自动驾驶车辆定位方法综述
Patchwork++:基于点云的快速、稳健的地面分割方法
PaGO-LOAM:基于地面优化的激光雷达里程计
多模态路沿检测与滤波方法
多个激光雷达同时校准、定位和建图的框架
动态的城市环境中杆状物的提取建图与长期定位
非重复型扫描激光雷达的运动畸变矫正
快速紧耦合的稀疏直接雷达-惯性-视觉里程计
基于相机和低分辨率激光雷达的三维车辆检测
用于三维点云语义分割的标注工具和城市数据集
ROS2入门之基本介绍
固态激光雷达和相机系统的自动标定
激光雷达+GPS+IMU+轮速计的传感器融合定位方案
基于稀疏语义视觉特征的道路场景的建图与定位
自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)
用于三维点云语义分割的标注工具和城市数据集
更多文章可查看:点云学习历史文章大汇总
SLAM及AR相关分享
TOF相机原理介绍
TOF飞行时间深度相机介绍
结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案
开源又优化的F-LOAM方案:基于优化的SC-F-LOAM
【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM
【点云论文速读】StructSLAM:结构化线特征SLAM
SLAM和AR综述
常用的3D深度相机
AR设备单目视觉惯导SLAM算法综述与评价
SLAM综述(4)激光与视觉融合SLAM
Kimera实时重建的语义SLAM系统
易扩展的SLAM框架-OpenVSLAM
基于鱼眼相机的SLAM方法介绍
扫描二维码
关注我们
让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。
分享与合作:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。