前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于激光雷达强度信息的实时SLAM方案

基于激光雷达强度信息的实时SLAM方案

作者头像
点云PCL博主
发布2023-08-21 15:53:19
4670
发布2023-08-21 15:53:19
举报
文章被收录于专栏:点云PCL

点云PCL免费知识星球,点云论文速读。

文章:Real-Time Simultaneous Localization and Mapping with LiDAR intensity

作者:Wenqiang Du and Giovanni Beltrame

编辑:点云PCL

来源:arXiv 2023

未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

本文提出了一种新颖的基于LiDAR强度图像的实时定位和地图构建方法,解决了在非结构化环境中几何退化问题,传统基于LiDAR的前端里程计大多依赖于点、线和平面等几何特征,如果环境中缺乏这些特征,则整个里程计系统可能会失效,为避免这个问题,我们从LiDAR生成的点云中提取特征点,并将其与在LiDAR强度图像中识别出的特征相匹配,然后使用提取的特征点执行扫描点云的配准并估计机器人的自我运动,对于后端,我们联合优化相应特征点之间的距离以及地图中识别出的平面的点到平面的距离,此外利用从强度图像中提取的特征来检测来自先前扫描点云的回环闭合候选,并执行位姿图优化。实验表明,该方法可以在实时环境下高精度运行,并且可以很好地应对光照变化、低纹理和非结构化环境。

图1:两次连续扫描点云之间匹配的3D点及其对应的特征点,图(b)中的点是根据(a)中匹配特征的索引从点云中提取的3D点,红色点表示上一帧的匹配点,绿色点表示当前扫描的匹配点,这些点随后用于扫描配准,以估计两个连续帧之间的相对姿态。

主要贡献

提出了一种基于LiDAR强度SLAM方法,直接从强度图像中提取特征点并执行扫描点云配准来估计机器人的自我运动,主要贡献包括:

  • 一种新颖的基于LiDAR强度图像的实时SLAM系统,旨在解决几何退化问题;
  • 将视觉SLAM系统的优点与LiDAR SLAM系统相结合,避免模糊或光照变化的影响;
  • 由于特征点较少,并在后端加入地面平面约束和LiDAR Bundle Adjustment(BA),因此具有轻量级的前端;
  • 基于强度的回环闭合检测和位姿图优化。

主要内容

本文提出的方法的流程如图2所示,在我们的系统中,LiDAR会在100毫秒内生成一个点云,称为帧或扫描,为了估计机器人的运动,我们需要计算相邻帧之间的相对姿态,在前端使用强度里程计来实现这个过程,此外,使用术语“里程计”来描述当前帧和初始帧之间的相对姿态,前端的里程计通常不准确,因此我们需要使用后端来优化里程计,在后端使用扫描到地图的优化方法和LiDAR BA 来校正漂移,然而,地图优化通常不能完全消除积累的漂移,因此我们增加了回环闭合检测作为另一种降低漂移的手段,在我们的情况下,在LiDAR强度图像上执行回环闭合检测,并使用姿态图优化来更新轨迹并生成机器人的最终轨迹。

图2:所提出方法的系统概述,整个系统由三部分组成,包括强度里程计,地图优化和姿态图优化,强度里程计部分是该方法的核心,它由强度图像生成,特征跟踪和扫描配准组成,地图优化通过共同最小化LiDAR BA残差和点到地图平面残差来纠正漂移,位姿图优化通过添加回环约束来纠正整个轨迹。

A. 强度里程计

假设有来自激光雷达的两个连续点云帧X和Y,直接估计相对位姿的一种方法是将迭代最近点(ICP)算法直接应用于计算旋转矩阵R和T:

然而,这种方法通常需要消耗大量的时间和计算资源 ,为了降低计算成本,我们需要提取用于扫描数据的配准的代表性点,从而减少用于优化的点的数量,为了减少用于优化的点的数量,Zhang等人尝试提取边缘和平面特征,当前帧的边缘特征点可以与地图中的边缘匹配,平面特征也是如此。通过边缘和平面特征,可以联合优化点到线的距离和点到平面的距离,并估计 R 和 T,然而,在一些场景中,例如长廊或洞穴环境中,我们无法提取足够的边缘特征,在这种情况下,我们将失去估计6自由度位姿的能力。

为了解决这个问题,我们直接从强度图像中提取和跟踪特征,图1a显示了从Ouster-64 LiDAR生成的强度图像,图像分辨率为1024×64,即使垂直分辨率较低,我们仍然可以提取足够的特征(红色和绿色圆圈是ORB特征),用于估计运动,根据强度图像上匹配特征点的索引直接从点云中提取3D点Y2 ,每个3D特征点都被分配一个得分S,这个得分是在特征提取期间获得的,同样,我们可以提取以下扫描中对应的点X2,并将其作为最小二乘估计问题进行扫描匹配:

B. 地图优化

LiDAR 强度测距法生成了一个转换矩阵,该矩阵描述了相邻帧之间的相对姿态:

在当前传感器坐标系和地图坐标系之间,我们生成了一个变换矩阵,在这个模块中,我们共同优化扫描到地图的残差和激光雷达BA(Bundle Adjustment)残差来校正姿态漂移。

激光雷达BA:类似于视觉SLAM BA,可以使用激光雷达BA(一种非线性优化问题)来校正漂移,使用这种策略,最后k帧用于残差函数中,如果帧数大于k,则删除最旧的帧,并将最新的帧添加到滑动窗口中,如图3所示。

图3:用于LiDAR BA(顶部)和带有闭环约束的姿态图(底部)的滑动窗口策略的说明

C. 位姿图优化

在地图优化期间,可以获得更好的当前帧姿态估计,一旦完成,使用优化结果来纠正未来帧的漂移,并实时发布高频率优化的里程计,在后端,基于LiDAR关键帧构建位姿图,首先使用三个标准从整个LiDAR帧中提取关键帧:

  • •当前帧和上一个关键帧之间的距离大于一个阈值。
  • •两个关键帧之间的角度大于一个阈值。
  • 匹配特征点的数量小于一个阈值。

将关键帧的优化姿态作为姿态图的顶点,将两个关键帧之间的相对姿态作为姿态图的边,还向姿态图添加回环约束,如图3所示,我们将最新的关键帧用作锚点帧,使用训练好的词汇表,可以将当前关键帧的描述子与存储历史描述子的数据库进行比较,如果无法将其与历史描述子匹配,则没有找到此关键帧的回环,如果我们成功匹配了以前的关键帧,则可以将其放入异常值剔除程序中,以测试是否存在错误的回环,如果是正确的,则可以在姿态图中的当前因子节点和回环候选因子节点之间添加此回环约束,最后,我们使用g2o 来解决位姿图优化问题。

实验

为了证明我们算法的可靠性,我们在长走廊的室内环境、多层室内环境、山区和街道环境中进行了实验(见图9b),我们选择这些环境的原因是它们彼此不同,对于纯激光雷达SLAM来说都是具有挑战性的,在室内环境中,有长走廊和狭窄的通道,在山区环境中,我们有陡峭的坡和狭窄的通道,在街道环境中,有许多障碍和许多转弯,这些情况对于纯激光雷达SLAM来说都很困难。

在这个实验中,将我们的方法与另外两个流行的纯激光雷达SLAM系统LeGO-LOAM和A-LOAM进行了比较,我们的基于强度的SLAM系统在不同环境下都表现出竞争力,包括室内、室外和一些极端场景,比如长走廊,大多数其他激光雷达SLAM系统在这样极端的、边缘特征更少的环境中都会失败。我们首先使用Shan等人提供的一个公共数据集进行了测试,该数据集使用Ouster OS1-128 LiDAR收集,我们将LIO-SAM的轨迹视为地面真值,因为它是基于激光雷达、9轴IMU和GPU估算的,比仅使用激光雷达的SLAM精度更高。

图4:多种环境下的轨迹结果。实验结果证明我们的方法能够在各种情况下精确估计位置,LeGO-LOAM算法在平坦环境中表现良好,但在有坡度的环境中表现不佳。

在图4中,我们展示了我们的方法、LeGO-LOAM和A-LOAM在各种地形中的轨迹,而图5则显示了图4相应的绝对位置误差(APE)。

图5:在多个环境中的绝对位姿误差,我们方法的APE在所有场景中都是最小的,其次是A-LOAM。

从图5可以看出,我们的方法的APE显著低于其他方法,除了图5a的情况,我们的结果与A-LOAM相比不具有显著优势,图4和图5的结果证明了我们提出的方法在与A-LOAM和LeGO-LOAM相比具有竞争力的结果,特别是在图4d中,轨迹在最后一段接近地面真值轨迹,而其他方法漂移很大。

我们还使用装备有Ouster Os0-64激光雷达的Spot机器人在室内进行了算法测试,这个实验场景主要包括与图9b相同的长廊,在这个场景中,我们运行不同的算法来测试在实际环境中的定位和地图构建能力。

图6:在一个拥有长走廊的建筑物内的Spot机器人的地图和轨迹。在这个场景中,沿着走廊走回起点,在这个实验中,LeGO-LOAM的漂移相对较大,而A-LOAM的表现接近于我们的方法,但是从这两个图中无法确定哪种方法更好。

图7:这次实验我们不是围绕圆圈回到起点,而是来回穿过所有的走廊,然后返回起点。这种情况是极端的,因为在俯仰方向上没有好的回环来纠正漂移,实验结果显示,LeGO-LOAM的漂移比前一个场景更大,A-LOAM和我们的方法几乎相同。

图6a和图7a都是我们的算法生成的地图,图6b和图7b展示了不同算法在相应环境中的轨迹,从轨迹可以看出,LeGO-LOAM漂移很大,A-LOAM和我们的轨迹几乎相同,由于是室内环境,我们很难使用RTK收集地面真实轨迹,因此我们尝试通过分析地图细节(图8)来评估算法的优点和缺点。

图8:我们的方法和A-LOAM在长走廊中的差异。可以看出,我们的方法生成的地图与起始位置平滑连接,而A-LOAM生成的地图在末尾有明显的断裂

图8a展示了图6a的前视图,图8b也是A-LOAM生成的同一场景的前视图,我们可以看到,我们的方法可以平滑地连接行程结束时的起点,而A-LOAM的地图则是不连续的,在这一点上,我们可以说我们的方法在这种极端环境下更加可靠。此外,我们分析了在使用Os0-64 LiDAR采集的相同数据上,在Intel处理器上运行不同SLAM算法的时间消耗,表I显示,我们基于强度的前端能够在15毫秒内计算里程计,我们的方法足够高效以满足10 Hz激光雷达的实时要求。

总结

在本文中,我们提出了一种新颖的基于强度的纯LiDAR SLAM方法,我们首先提出了一种新颖的轻量级基于强度的里程计方法,该方法直接匹配从强度图像中提取的3D特征点,然后我们提出了一种新颖的地图优化方法,它联合优化了LiDAR BA和点对平面残差,最后,我们提出了一种新颖的基于强度图像的位姿图优化方法,可以基于强度图像优化位姿图,在室内和室外环境中测试了我们的方法,结果证明,与其他流行的纯LiDAR SLAM方法相比,我们的方法可以取得竞争性的结果。在未来,我们将通过使用更先进的特征提取方法和回环闭合检测方法进一步改进我们的方法。

这篇文章的代码实现可以参考 基于成像激光雷达的鲁棒位置识别

文章:Robust Place Recognition using an Imaging Lidar

作者:Tixiao Shan, Brendan Englot, Fabio Duarte, Carlo Ratti, and Daniela Rus

开源代码:https://github.com/TixiaoShan/imaging_lidar_place_recognition

资源

自动驾驶及定位相关分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测

用于三维点云语义分割的标注工具和城市数据集

ROS2入门之基本介绍

固态激光雷达和相机系统的自动标定

激光雷达+GPS+IMU+轮速计的传感器融合定位方案

基于稀疏语义视觉特征的道路场景的建图与定位

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)

用于三维点云语义分割的标注工具和城市数据集

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍

结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案

开源又优化的F-LOAM方案:基于优化的SC-F-LOAM

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

基于鱼眼相机的SLAM方法介绍

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档