《LeGO-LOAM: Lightweight and Ground-OptimizedLidar Odometry and Mapping on Variable Terrain》论文精读

【摘要】

        我们提出了一种轻型的、基于地面优化的激光雷达里程计与建图方法,LeGO-LOAM,用于地面车辆的实时六自由度姿态估计。LeGO-LOAM是轻量级的,因为它可以在低功耗嵌入式系统上实现实时姿态估计。LeGO-LOAM是基于地面优化的,因为它在其分割和优化步骤中利用了地面平面的存在。我们首先应用点云分割来过滤噪声,以及特征提取来获得独特的平面和边缘特征。然后采用两步LM优化方法,利用平面和边缘特征来解决连续扫描中的六个自由度变换的不同分量。我们比较了LeGO-LOAM与最先进的方法LOAM的性能,使用从地面车辆收集的数据集,并表明LeGO-LOAM在降低计算费用的情况下实现了类似或更好的精度。我们还将LeGO-LOAM集成到一个SLAM框架中,以消除由漂移引起的姿态估计误差,并使用KITTI数据集进行了测试。

I. INTRODUCTION

        在智能机器人的能力中,地图构建和状态估计是最基本的先决条件之一。利用基于视觉和激光雷达的方法实现实时6自由度同步定位和建图(SLAM)。虽然基于视觉的方法在检测闭环方面具有优势,但如果作为唯一的导航传感器使用,它们对照明和视点变化的敏感性可能会使这种能力不可靠。另一方面,基于激光雷达的方法甚至在晚上也能发挥作用,许多三维激光雷达的高分辨率允许在一个大孔径上的长距离捕捉环境的细节。因此,本文着重于利用三维激光雷达来支持实时状态估计和建图。

        寻找两个激光雷达扫描之间变换的典型方法是迭代最近点(ICP)。通过在一个点的水平上寻找对应关系,ICP迭代地对齐两组点,直到满足停止标准。当扫描包含大量的点时,ICP可能会承受高昂的计算成本。许多ICP的变体已经被提出来提高其效率和准确性。[3]引入了一个点到平面的ICP变体,它将点与局部平面补丁相匹配。广义ICP[4]提出了一种匹配局部平面补丁的方法。此外,一些ICP变体已经利用并行计算来提高效率。

        基于特征的匹配方法由于从环境中提取代表性特征需要更少的计算资源,因此受到越来越多的关注。这些特征应该适合于有效的匹配和视点的不变性。许多检测器,如点特征直方图(PFH)[9]和视点特征直方图(VFH)[10],已经被提出用于使用简单和高效的技术从点云中提取这些特征。在[11]中介绍了一种利用Kanade-Tomasi角探测器从点云中提取通用特征的方法。在[12]中讨论了从密集点云中提取线和平面特征的框架。 

        许多利用点云配准特征的算法也已被提出。[13]和[14]提出了一种关键点选择算法,可以在局部集群中执行点曲率计算。然后,将使用所选的关键点来执行匹配和位置识别。[15]通过将点云投影到范围图像上,并分析深度值的二阶导数,从具有高曲率的点中选择特征进行匹配和位置识别。假设环境是由平面组成,在[16]中提出了一种基于平面的配准算法。室外环境,例如森林,可能会限制这种方法的应用。在[17]中提出了一种专门为Velodyne激光雷达设计的项圈线段(CLS)方法。CLS使用一个扫描的两个连续的“环”中的点随机生成线。因此,生成了两个线云并用于配准。然而,这种方法面临着随机产生的线的挑战。

        在[18]中提出了一种基于分割的配准算法。SegMatch首先将分割应用于点云。然后根据每个分段的特征值和形状直方图计算其特征向量。一个随机森林用于匹配来自两次扫描的段。虽然该方法可以用于在线姿态估计,但它只能提供约1hz的定位更新。 

        在[19]和[20](我的上一篇博客)中提出了一种低漂移和实时的激光雷达测程与建图(LOAM)方法。LOAM执行点特征到边缘/平面的扫描匹配,以找到scan之间的对应关系。通过计算一个点在其局部区域内的曲率来提取特征。选择粗曲率值较高的点作为边缘特征。同样,具有低曲率值的点被指定为平面特征。实时性能是通过将估计问题重新划分为两种单独的算法来实现的。其中一种算法在高频下运行,并以低精度估计传感器的速度。另外一种算法则在低频运转输出高精度的估计。这两个估计被融合在一起,以产生一个高频和高精度的单一运动估计。LOAM的结果精度是在KITTI激光雷达基准站点[21]上的估计方法获得的最佳精度。

        在我们这论文中,我们对配备三维激光雷达的地面车辆进行可靠的、实时的六度自由度姿态估计,以一种能够在小规模嵌入式系统上有效实现的方式。这样的任务并不简单,原因有几个。许多无人驾驶的地面车辆(ugv)由于其尺寸有限,没有悬挂装置或强大的计算单元。在可变地形上行驶的小ugv经常遇到非平滑运动,因此,所获取的数据经常发生失真。由于大的重叠,在两次连续扫描之间也很难找到可靠的特征对应。除此之外,从三维激光雷达接收到的大量点数对使用有限的机载计算资源的实时处理提出了挑战。

        当我们为这类任务实现LOAM时,当一个UGV具有平滑运动允许的稳定特征,并有足够的计算资源支持时,我们可以得到低漂移运动估计。然而,当资源有限时,负荷的性能会下降。由于需要计算密集的三维点云中每个点的曲率,因此在轻量级嵌入式系统上进行特征提取的更新频率并不能总是跟上传感器的更新频率。ugv在噪声环境下的运行也给负荷带来了挑战。由于激光雷达的安装位置通常在一个小的UGV上靠近地面,来自地面的传感器噪声可能是持续存在的。例如,从草返回的范围可能导致高曲率值。因此,可能从这些点中提取出一些不可靠的边缘特征。同样地,边缘特征或平面特征也可以从从树叶中返回的点中提取出来。这些特征对于扫描匹配通常不可靠,因为相同的草叶或叶片可能在连续两次扫描中看不到。使用这些特性可能会导致不准确的配准和较大的漂移。 

        因此,我们提出了一种轻量级和基于地面优化的LOAM(LeGO-LOAM),用于可变地形复杂环境下ugv的姿态估计。LeGO-LOAM是轻量级的,因为在嵌入式系统上可以实现实时姿态估计和映射。进行点云分割是为了丢弃在地面分离后可能代表不可靠特征的点。LeGO-LOAM也进行了地面优化,因为我们引入了姿态估计的两步优化第一步是利用从地面上提取的平面特征得到[tz,θroll,θpitch]。在第二步中,其余的变换[tx,ty,θyaw]通过匹配从分割后的点云中提取的边缘特征得到。我们还集成了通过实现回环检测的能力来纠正运动估计漂移。 

II. SYSTEM HARDWARE 

         本文利用velodyne VLP-16和HDL-64E3D激光雷达收集的数据集,对本文提出的框架进行了验证。VLP-16的测量范围可达100m,精度为±3cm。它的垂直视场角(FOV)为30°(±15°),水平FOV为360°。该16通道传感器提供了2°的垂直角度分辨率。根据转速,水平角度分辨率从0.1°到0.4°不等。在本文中,我们选择了10Hz的扫描速率,它提供了0.2°的水平角分辨率。HDL-64E(本研究通过KITTI数据集进行了探索)也有360°的水平FOV,但还有48个通道。HDL-64E的垂直FOV为26.9°。

        本文中使用的UGV是Clearpath Jackal。它由一个270瓦/小时的锂电池供电,最大速度为2.0米/秒,最大有效载荷为20公斤。它还配备了一个低成本的惯性测量单元(IMU),CH Robotics UM6 姿态传感器。该框架在两台电脑上进行了验证:一台Nvidia JetsonTX2和一台拥有2.5GHz i7-4710MQCPU的笔记本电脑。Jetson TX2是一种嵌入式计算设备,配备了一个ARMCortex-A57CPU。选择的笔记本电脑CPU与[19]和[20]中使用的计算硬件相匹配。本文中的实验仅使用了这些系统的。

III. LIGHTWEIGHT LIDAR ODOMETRY AND MAPPING

 A. System Overview

        所建议的框架的概述如图1所示。该系统接收来自三维激光雷达的输入,并输出6个DOF的姿态估计。整个系统共分为五个模块。第一个,分割,采用单个扫描的点云,并将其投射到一个范围图像上进行分割。然后将分割后的点云发送到特征提取模块。然后,激光雷达测程法利用从上一个模块中提取的特征来找到与连续扫描相关的变换。这些特征在激光雷达映射中进行了进一步的处理,并将它们注册到一个全局点云图中。最后,变换积分模块将激光雷达测程和激光雷达映射的姿态估计结果融合,输出最终的姿态估计。与[19]和[20]的原始广义载荷框架相比,该系统旨在提高地面车辆的效率和精度。下面将介绍这些模块的详细信息。 

B. Segmentation

        让P_t=\left \{ p_1, p_2,...,p_n \right \} 为t时刻获得的点云,p_i是该点云中的一个点。首先,将点云P_t投影为一张距离图像,其分辨率就是1800X16,因为用的是16线雷达,水平角分辨率为0.2°,垂直角度分辨率为2°。那么在点云P_t中,每一个有效点都用距离图像中的一个特别的像素点来表征。距离值r_i就代表这个点到雷达传感器的欧式距离。由于倾斜的地形在许多环境中都很常见,所以我们不认为地面是平坦的。因此我们对距离图像进行按列的评估,并在点云分割前进行地面点提取(参考论文Fast Segmentation of 3D Point Clouds for Ground Vehicles,2010)。在这个过程之后,可能代表地面的点被标记为地面点,不用于分割

        然后,将基于图像的分割方法[23](Fast Range Image-based Segmentation of Sparse 3D Laser Scans for Online Operation,2016)应用于距离图像,将这些点分组为多个簇。来自同一簇的点被分配了一个唯一的标签。请注意,地面点是一种特殊类型的簇。将分割应用于点云可以提高处理效率和特征提取精度。假设一个机器人在杂乱的环境中工作,小物体,例如树叶,可能会形成琐碎和不可靠的特征,因为同一片叶子不太可能在连续两次扫描中被看到。为了使用分割后的点云进行快速可靠的特征提取,我们省略了点数小于30个的聚类。分割前后的点云的可视化情况如图2所示。原始的点云包括许多点,这些点来自周围的植被,可能产生不可靠的特征。

        在这个过程后,只保留可能代表大型物体的点(图2(b)),如树干和地面点,以供进一步处理。同时,在距离图像中只保存这些点。

       我们获得了每个点有三个属性:(1)用标签标记地面点或分割点,(2)其在距离图像中的列和行索引,以及(3)其距离值。这些属性将在后续的模块中使用。

C. Feature Extraction

         特征提取过程与[20](LOAM)中使用的方法相似。然而,我们不是从原始点云中提取特征,而是从地面点和分割点中提取特征。设S是来自距离图像中与p_i同一行的连续点的集合。S中的一半点在p_i的两边。在本文中,我们将|S|的数量设为10,即左右各有五个点。利用分割过程中计算的距离值,我们可以评估S中点p_i的曲率。

        为了均匀地从各个方向提取特征,我们将距离图像水平划分为几个等分的子图像(实现是划分为6等分的子图像)。然后我们根据曲率值c对每个子图像中的点进行排序。与LOAM类似,我们使用阈值c_{th}来区分不同类型的特征。我们称c大于c_{th}的点为边特征的点(角点),以及c小于c_{th}边的点为平面特征点。然后从子图像中的每一行中选择具有最大曲率c且不属于地面的nFe个边缘(角)特征点。以选择最小曲率c的nFp个平面特征点,它们可以被标记为地面点或已分割点,并以通用的方式被选择。

        设\mathbb{P}_e\mathbb{P}_p为所有子图像的所有边(角)特征和平面特征的集合。这些特征如图2(d)所示,然后,我们从子图像中的每一行中提取具有最大曲率c的不属于地面的nFe个边缘特征。同样,我们从子图像中的每一行中提取具有最小曲率c的nFp个平面特征,它必须是面点。设Fe和Fp是该过程中所有边和平面特征的集合,也就是在子图像中的特征角点和面点。在这里,我们有F_e\in\mathbb{P}_eF_p\in\mathbb{P}_p。Fe和Fp的特征如图2(c)所示。本文将360°范围的图像划分为6个子图像。每个子图像的分辨率为300X16。nFe、nFp、n_{\mathbb{P}_e}n_{\mathbb{P}_p}分别被选择为2、4、40和80。

 D. Lidar Odometry

         激光雷达里程计模块估计两次连续扫描之间的传感器运动。通过进行点对边和点-平面扫描匹配来找到两次扫描之间的位姿变换。换句话说,我们需要从上一次扫描的总的特征集\mathbb{P}^{t-1}_e\mathbb{P}^{t-1}_p中找到F^t_eF^t_p中点的相应特征。为了简洁起见,找到这些对应关系的详细程序可以在参考文献[20](LOAM)中找到。

        然而,我们注意到,可以做出一些变化来提高特征匹配的准确性和效率:

 1) 标签匹配:

        由于F^t_eF^t_p中的每个特征都在分割后用其标签进行编码,我们只需要找到在发现\mathbb{P}^{t-1}_e\mathbb{P}^{t-1}_p中具有相同标签的对应点即可。对于F^t_p中的平面特征,只有在\mathbb{P}^{t-1}_p中标记为地面点的点才能用来寻找平面小片作为对应关系。对于F^t_e中的一个边缘特征,也只在分割簇的\mathbb{P}^{t-1}_e中找到相应的边缘线特征。以这种方式找到对应关系可以帮助提高匹配的精度。换句话说,对于同一对象的对应匹配关系更有可能在两次扫描之间被发现。这一过程也缩小了潜在的对应候选点的范围。

2) 两步L-M优化:

        在LOAM中,将当前扫描的边缘和平面特征点之间的距离及其之前扫描scan所对应的一系列非线性表达式整成一个单一的综合距离向量。采用LM方法求出两次连续扫描scan之间的最小位姿变换。 

        本文介绍了一种两步L-M优化方法。最优位姿变换T的计算通过两个步骤:

(1)[tz,θroll,θpitch]的估计通过匹配平面特征F^t_p及其对应在\mathbb{P}^{t-1}_p

(2)剩余[tx,ty,θyaw]然后估计使用边缘特征F^t_e和对应在\mathbb{P}^{t-1}_e以及使用[tz,θroll,θpitch]作为约束。需要注意的是,虽然[tx,ty,θyaw]也可以从第一个优化步骤中获得,但它们的准确性较低,并且没有用于第二步。最后,通过融合[tz,θroll,θpitch]和[tx,ty,θyaw],得到两个连续扫描scan之间的6D变换。通过使用所提出的两步优化方法,我们观察到,计算时间可以减少约35%的精度(表三)。

E. Lidar Mapping 

        激光雷达建图模块将\left \{ \mathbb{P}^t_e,\mathbb{P}^t_p \right \}中的特征与周围附近的点云图\bar{Q}^{t-1}进行匹配,以进一步精炼姿态转换,但以较低的频率运行。然后在这里再次使用LM方法来得到最终的变换。我们建议读者参考从LOAM[20]的描述,以了解详细的匹配和优化过程。

        LeGO-LOAM的主要区别是最终点云图是如何存储的。我们不是保存一个单点云图,而是保存每个单独的特征集合\left \{ \mathbb{P}^t_e,\mathbb{P}^t_p \right \}。让M^{t-1}= \left \{ \left \{ \mathbb{P}^1_e,\mathbb{P}^1_p \right \}, \left \{ \mathbb{P}^2_e,\mathbb{P}^2_p \right \},...,\left \{ \mathbb{P}^{t-1}_e,\mathbb{P}^{t-1}_p \right \} \right \}作为t之前以及保存的特征集合。M^{t-1}中的每个特征集也与进行扫描时传感器的姿态相关联。点云图\bar{Q}^{t-1}

就能以两种形式从M^{t-1}获得。

        第一,通过选择在传感器的FOV的特征集合来获得的。为简单起见,我们可以根据传感器位姿选择在传感器当前位置100米以内的特征集。然后,将所选的特征集变换坐标并融合到一个单一的surrounding地图\bar{Q}^{t-1}。这个方法与LOAM是一样的。

        第二,我们还可以将姿态图SLAM集成到LeGO-LOAM中。每个特征集合的传感器位姿可以被建模为位姿图中的一个节点。特征集\left \{ \mathbb{P}^t_e,\mathbb{P}^t_p \right \}可以看作是该节点的传感器测量。由于激光雷达建图模块的姿态估计漂移很低,我们可以假设在短时间内没有漂移。这样,\bar{Q}^{t-1}就可以通过选择一组最近的特征集群组来组成,如\bar{Q}^{t-1}= \left \{ \left \{ \mathbb{P}^{t-k}_e,\mathbb{P}^{t-k}_p \right \}, \left \{ \mathbb{P}^{t-k+1}_e,\mathbb{P}^{t-k+1}_p \right \},...,\left \{ \mathbb{P}^{t-1}_e,\mathbb{P}^{t-1}_p \right \} \right \},一定数量的滑窗帧,k就是滑窗的大小。然后,在\bar{Q}^{t-1}中一个新节点和所选节点之间的空间约束可以使用L-M优化后得到的位姿变换来添加。我们可以通过执行回环检测来进一步消除该模块的漂移。在这种情况下,如果使用ICP发现当前特征集与以前的特征集之间存在匹配,则会添加新的约束(回环约束)。然后,通过将姿态图发送到诸如[24](isam2)等优化系统来更新传感器的估计姿态。注意,只有在下述的IV(D)中的实验使用这种技术来创建其surrounding的地图。

IV. EXPERIMENTS

         我们现在描述了一系列的实验来定性和定量分析两种相互竞争的方法,即LOAM和LeGO-LOAM,在两种硬件安排上,带Cortex的JetsonTX2-A57,和带i7-4710MQ的笔记本电脑。这两种算法都是在C++中实现的,并使用Ubuntu Linux1中的机器人操作系统(ROS)[25]执行。

 A. Small-Scale UGV Test

         我们在一个被植被覆盖的户外环境中手动驱动机器人。我们首先展示了在这种环境下的特征提取的定性比较。使用两种方法从同一扫描scan中提取的边缘和平面特征如图4所示。这些特征对应的是\left \{ \mathbb{P}^t_e,\mathbb{P}^t_p \right \}就会发到雷达建图模块(上文的第三节)。如图4(d)所示,在经过点云分割之后LeGO-LOAM的特征数量要少很多,大部分从树叶返回的点都被丢弃了,因为在多次扫描之后叶子是不稳定的特征。另外一方面,由于从草中返回的点也有很多噪声,因此在评估后将得到较大的粗曲率值,因此,使用原始的LOAM,边缘特征不可避免地会从这些点中提取出来。如图4(c)所示,从地面中提取出来的边缘特征通常是不可靠的。

图4:在被植被覆盖的室外环境中,由两种不同的激光雷达里程计法和建图框架获得的边缘和平面特征。边缘特征和平面特征分别为绿色粉红色。从LOAM中获得的特征见(b)和(c)。从LeGO-LOAM中得到的特征见(d)和(e)。标签(i)表示树,(ii)表示石墙,(iii)表示机器人。

        虽然我们可以改变在LOAM中提取边缘和平面特征的曲率阈值c_{th}来减少特征点的数量,过滤掉草和叶片中的不稳定特征,但应用这些变化后,我们会遇到更糟糕的结果。例如,我们可以增加c_{th}来从一个环境中提取更稳定的边缘特征,但如果机器人进入一个相对干净的环境,这种变化可能会导致有用的边缘特征数量不足。同样,当机器人从清洁环境移动到嘈杂环境时,减少c_{th}也会导致缺乏有用的平面特征。在这里所有的实验中,我们对LOAM和LeGO-LOAM使用相同的c_{th}

        现在,我们在测试环境中比较来自这两种方法的建图结果。为了模拟一个具有挑战性的潜在UGV操作场景,我们执行了一系列剧烈的偏航机动。请注意,在本文的所有实验中,这两种方法都得到了相同的初始平移和旋转估计值,这是从IMU中获得的。操作60秒后得到的点云地图如图5所示。由于不稳定的特征导致的错误的特征关联,来自LOAM的建图在操作过程中发散了两次。图5(a)中用白色箭头突出显示的三条树干代表了现实中的同一棵树。这两种里程计方法的完整建图过程的可视化可以在视频附件中找到。

 

 图5:在图4(a)所示地形上的LOAM和LeGO-LOAM的地图。在上图(a)中用白色箭头标记的树代表的是同一棵树。

 B. Large-Scale UGV Tests

        接下来,我们在三个大规模数据集上对LOAM和LeGO-LOAM进行定量比较,分别称为实验1、2和3。前两座是在史蒂文斯理工学院校园收集的,有许多建筑、树木、道路和人行道。这些实验及其环境如图6(a)所示。实验3横跨一条森林覆盖的徒步小径,以树木、沥青路和被草地和土壤覆盖的小径为主要特征。实验3所处的环境如图8所示。每个实验的细节列在表一中。为了进行公平的比较,每个实验的所有性能和准确性结果都在每个数据集的10次实时回放试验中平均。

1) Experiment 1:

         第一个实验设计表明,LOAM和LeGO-LOAM都可以在城市环境中的平滑运动过程中实现低漂移姿态估计。我们避免了剧烈的偏航动作,我们避免了驾驶机器人通过只能获得少数稳定特征的稀疏区域。在整个数据记录过程中,该机器人都在平稳的道路上运行。机器人的初始位置为斜坡,如图6(b)所示。该机器人在行驶807秒后,以1.35米/秒的平均速度返回到相同的位置。        

        为了评估两种方法的位姿估计精度,我们比较了最终姿态和初始姿态之间的平移和旋转差。在这里,通过所有的实验,都将初始位姿定义为[0,0,0,0,0,0]。如表V所示,LOAM和LeGO-LOAM在两种不同的硬件安排上都实现了相似的低漂移姿态估计。当在Jetson上运行时,来自LeGO-LOAM的最终地图如图6(b)所示。

 图6:实验1和实验2中的LeGO-LOAM地图。(c)中的颜色变化表示真实的海拔(高度)变化。由于实验1中机器人的初始位置是在斜坡上,所以(b)中的颜色变化并不代表真正的高程变化。

2) Experiment 2:

        虽然实验2是在与实验1相同的环境下进行的,但其运动轨迹略有不同,驾驶穿过人行道,如图7(a)所示这条人行道代表了一个LOAM可能经常失败的环境。墙壁和柱子在人行道的一端——从这些结构中提取出来的边缘和平面特征是稳定的。人行道的另一端是一个开放的区域,上面覆盖着嘈杂的物体,即草和树木,这将导致不可靠的特征提取,因此,在开车经过这条人行道后(图7(b)和(d)),LOAM的位姿估计会发散。LeGO-LOAM没有这样的问题:1)没有从被草地覆盖的地面上提取出边缘特征,2)在点云分割后过滤掉来自树叶上的传感器读数噪声。两种方法的精度比较如表V所示。在本实验中,LeGO-LOAM的精度比LOAM高一个数量级。

 图7:在实验2中失败的场景越过穿过史蒂文斯校园的人行道(上图(a)中最左边的人行道)。人行道的一端由附近建筑的特色支撑着。人行道的另一端主要被嘈杂的物体包围着,比如草和树木。如果不进行点云分割,则将从这些对象中提取出不可靠的边缘和平面特征。图片(b)和(d)显示,加载经过人行道后失败。

 3) Experiment 3:

        实验3的数据集是来自一条森林覆盖的徒步小径,在那里UGV以平均1.3米/秒的速度行驶。机器人在驾驶35分钟后回到初始位置。该环境下的海拔高度变化约为19米。UGV公路在三个路面上行驶:被泥土覆盖的小径、沥青和被草地覆盖的地面。这种表面的代表性图像分别显示在图8的底部。路的一边至少会有树木或灌木。        

        我们首先在这个环境中测试LOAM的准确性。所得到的地图在使用的两台计算机的不同位置出现发散。关于UGV初始位置的最终平移和旋转误差在Jetson上分别为69.40m和27.38°,在笔记本电脑上分别为62.11m和8.50°。在两种硬件安排上进行10次试验得到的轨迹如图9(a)和(b)所示。

        当将LeGO-LOAM应用于该数据集时,最终的相对平移和旋转误差在Jetson上分别为13.93m和7.73°,在笔记本电脑上分别为14.87m和7.96°。图8上的最终点云图覆盖在卫星图像上。在图8的中心放大的局部地图显示,来自LeGO-LOAM的点云图与开放中可见的三棵树匹配得很好。在两台计算机上从LeGO-LOAM获得的所有路径都具有高一致性。图9(c)和(d)显示了在每台计算机上运行的十次试验。

C. 基准测试结果

1) Feature number comparison:
        我们在表二中展示了两种方法的特征提取的比较。每个扫描的特征内容对每个数据集平均超过10次试验。经过点云分割后,Fe、Fp、Fe和Fp组的需要由LeGO-LOAM处理的特征数量分别减少了至少29%、40%、68%和72%。

 

 

 2) Iteration number comparison:

         应用所提出的两步L-M优化方法的结果如表三所示。我们首先应用原始的L-M优化与LeGO-LOAM,这意味着我们最小化从边缘和平面特征得到的距离函数在一起。然后,我们对LeGO-LOAM进行两步L-M优化:1)利用Fp中的平面特征得到[tz,θroll,θpitch],2)利用Fe中的边缘特征得到[tx,ty,θyaw]。记录L-M方法在处理一次扫描后终止时的平均迭代次数以进行比较。当采用两步优化时,实验1和实验2分2次迭代完成第1步优化。虽然步骤2优化的迭代计数与原始L-M方法的数量相似,但处理的特征较少。结果表明,采用两步L-M优化后,激光雷达测程仪的运行时间减少了34%至48%。两步优化的运行时间如表四IV所示.

 

 3) Runtime comparison:

        在两台计算机上的LOAM和LeGO-LOAM的每个模块的运行时如表四所示。利用该框架,特征提取和激光雷达里程计模块在LeGO-LOAM中的运行时间减少了一个数量级。注意,在Jetson上,这两个模块在LOAM中的运行时超过100ms。因此,许多扫描scan都被跳过了,因为在嵌入式系统上的LOAM无法实现实时性能。当使用LeGO-LOAM时,激光雷达建图的运行时间也减少了至少60%。

4) Pose error comparison:

          通过在所有实验中将初始位姿设置为[0,0,0,0,0,0],通过比较原始位姿与最终位姿来计算相对位姿估计误差。表V中列出了这两种方法在两种计算机上的旋转误差(以度为单位)和平移误差(以米为单位)。通过使用所提出的框架,LeGO-LOAM可以以更少的计算时间获得相当或更好的位置估计精度。 

D. Loop Closure Test using KITTI Dataset 

         我们最后的实验将LeGO-LOAM应用于KITTI数据集[21]。由于[20]中KITTI数据集上的LOAM测试以10%的实时速度运行,我们只探索LeGO-LOAM及其在嵌入式系统实时应用中的潜力,其中的行驶长度足以需要一个完整的SLAM解决方案。使用序列00在Jetson上获得的LeGO-LOAM结果如图10所示。为了在Jetson上实现实时性能,我们将扫描从HDL-64E降采样到在第三节中为VLP-16使用的相同范围的图像。换句话说,每次扫描的75%的点在处理前被省略。这里的ICP用于添加姿态图中节点之间的约束。然后使用iSAM2[24]对图形进行优化。最后,我们使用优化后的图来校正传感器的姿态和地图。更多的闭环测试可以在视频附件中找到。

V. CONCLUSIONS AND DISCUSSION

        我们提出了LeGO-LOAM,一种轻量级和基于地面优化的激光雷达里程计和建图方法,用于在复杂环境中对UGV进行实时姿态估计。LeGO-LOAM是轻量级的,因为它可以用于嵌入式系统并实现实时性能。LeGO-LOAM也进行了地面优化,利用了地面分离、点云分割和改进的L-M优化。在这个过程中,可能代表不可靠特性的重要点被过滤掉。两步L-M优化分别计算一个姿态变换的不同分量。该方法在户外环境中收集的一系列UGV数据集上进行了评价 ,结果表明,与现有的最先进的技术LOAM相比,LeGO-LOAM可以达到类似或更好的精度。同时也大大缩短了LeGO-LOAM的计算时间。未来的工作包括探索其在其他类别的车辆上的应用。

        虽然LeGO-LOAM对地面车辆的姿态估计特别优化,但它的应用可能扩展到其他车辆,如无人机(UAV),只有微小的变化。当在无人机上应用LeGO-LOAM时,我们不会假设在扫描中存在地面。一个扫描scan的点云将被分割,但没有地面点的提取。

        边特征Fe、边特征总集合Fe和Fp的特征提取过程相同。从所有分割后的点中提取Fp中的平面特征,而不是从标记为基点的点中提取Fp中的平面特征。然后将使用原始的L-M方法来获得两次扫描之间的转换,而不是使用两步优化方法。虽然经过这些变化后计算时间会增加,但LeGO-LOAM仍然是有效的,因为分割后在嘈杂的户外环境中忽略了大量的点。估计的特征对应关系的准确性可能会提高,因为它们受益于分割。此外,使用LeGO-LOAM在线执行闭环优化的能力使其成为适合执行长期导航任务的有用工具。(用我的理解:换一句话说,如果要用到无人机,其地面的分割可以不要,而只需要将点云簇进行聚类分割,不要区分地面点,且优化时使用LOAM的LM优化即可,减少了计算量但增加了回环检测过程)。

        

  

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值