ART-SLAM: Accurate Real-Time 6DoF LiDAR SLAM

5 篇文章 4 订阅
2 篇文章 0 订阅

IEEE Robotics and Automation Letters  意大利米兰理工学院

Abstract

        地面车辆实时六自由度姿态估计,由于自动驾驶和三维建图等诸多应用,是机器人技术中一个相关和被研究广泛的课题。虽然有些系统已经存在,但它们要么不够准确,要么在实时运行中比较局限。在本文中,我们提出了一种快速、准确和模块化的激光雷达batch and online estimation系统。我们首先应用降采样离群值去除,以过滤噪声,减少输入点云的大小。过滤后的点云被用于姿态跟踪和地面检测flfloor detection,以地面优化估计的轨迹。预跟踪器的可用性,与滤波过程并行工作,允许获得预先计算的里程数,以用作执行跟踪时的辅助工具。通过g2o姿态图实现的有效的回路闭合和姿态优化,是所提出的SLAM方案的最后步骤。我们比较了我们的系统的性能与最先进的基于点云的方法,LOAM,LeGO-LOAM,A-LOAM,LOAM-BOR和HDL,并表明该系统达到同等或更好的精度,可以很容易地处理甚至没有回环的情况。利用KITTIRADIATE数据集对估计的轨迹位移进行了比较。

I. INTRODUCTION

        轨迹估计和地图构建代表了机器人技术中许多应用的核心方面,如自动驾驶。在过去的几十年里,文献中已经提出了大量具有6自由度(6自由度)的同时定位和建图(SLAM)系统,目的是估计具有实时性能的精确轨迹。根据所使用的主要传感器(分别是相机和激光雷达),这些方法可以分为两大类,基于视觉的系统和基于点云的系统。基于点云的系统,由于点云的密度,可以高水平的细节来捕获和表示环境,并且它们不受基于视觉的方法的问题的影响,如照明和视点变化。此外,使用点云进行的跟踪比视觉对应的跟踪更准确和稳定,在数据可用时通常是首选。然而,在保持高精度的同时,实现实时性能,仍然是一个开放的追求。

        事实上,监控实时点云SLAM的最关键的方面是激光雷达scan帧的对齐。在过去的几十年里,人们创建了许多算法来寻找两帧点云之间的相对运动,该操作也被称为扫描匹配。执行扫描匹配最常用和已知的方法是迭代最近点(ICP)[2]及其许多变体。这些算法背后的思想是迭代对齐两个点云,直到收敛或终止准则得到满足。虽然ICP的计算成本很高,但通用ICP [14]和更新的并行版本(如VGICP [10])相对较快,可以作为替代方案。

        为了克服全点云扫描匹配的计算缺陷,提出了不同的基于特征的方法。基于特征的匹配方法与标准扫描匹配类似,但需要的资源更少。他们可以通过从点云中提取三维特征,如边缘、平面或簇,然后匹配它们。在[17]中提出了一种基于低漂移特征的实时激光雷达测程和建图(LOAM)方法。LOAM执行三维点特征到边缘,和平面,扫描匹配,以寻找点云之间的对应关系。当资源有限且不执行闭环时,LOAM的性能会恶化,导致长轨迹上的大估计误差,如我们在第三节中所示。为了改进LOAM,同一作者提出了LeGO-LOAM [15],一个轻量级的实时姿态估计和建图系统,由分割、特征提取、特征提取、激光雷达里程计、激光雷达建图和变换融合五个模块组成。通过基于图像的分割对输入点云进行滤波,实现加速,对每次扫描的二维范围投影进行加速。最近的LeGO-LOAM的变体已经被提出,优化了它,即A-LOAM和LeGO-LOAM-BOR。

        一般来说,基于特征的系统不如在整个点云上进行扫描匹配的方法精确。因此,环路闭合和轨迹优化是其方案中的强制性步骤。然而,随着轨迹大小的增加,这些任务很容易变得需要计算资源。为了克服这一问题,人们提出了基于图的SLAM系统,如[11]和[12],其中通过扫描匹配估计的机器人的轨迹被建模为一个图。正如格里塞蒂等人所描述的那样,这种方法有多种优点。例如在[6]中,如能够引入传感器数据和/或/环境观测数据之间的关系,或者有效的图优化的大量可用性框架,这转化为相应轨迹的优化。

        最近一个基于图结构的基于点云的系统是HDL [9],它由四个步骤组成。首先,对激光扫描进行预处理和过滤,以减少其大小。然后,利用过滤后的点云同时进行跟踪和可能检测地平面。通过跟踪估计的姿态,和从点云中提取的地板系数,被用来建立一个轨迹图,即一个姿态图,然后进行优化。该系统取得了优异的性能,但速度较慢,特别是在处理来自室外环境的大点云时。

        文献中所有的算法都是基于特征匹配或全扫描匹配,要么以计算时间为代价获得较高的精度,要么牺牲轨迹的质量来获得实时性能。此外,这些系统是整体的,难以修改和适应,通常与一些现有框架(如ROS [13])绑定,经常阻碍了不同操作系统(如Windows或macOS)上的可移植性。

        基于这些原因,在本文中,我们提出了一个新的系统,ART-SLAM,来执行基于点云的图SLAM,受HDL的启发,具有多种贡献。ART-SLAM能够实现实时性能保持高精度,即使是在没有闭环的情况下。该系统还能有效地检测和闭合轨迹中的环路,采用了三相算法(three-phased algorithm)。由于ART SLAM的架构,它具有高度的模块化程度,并且可以很容易地集成和改进。最后,它不绑定到任何框架,这使得它可以在不同的操作系统上可移植并可定制。ART-SLAM源码为:https://github.com/MatteoF94/ARTSLAM

II. ART-SLAM

A. System overview

        对该框架的概述如图1所示。该系统由多个不同的模块组成,可分为两个主要模块。第一个是强制性的(灰色的),是ART-SLAM的核心,它由所有执行SLAM的模块组成输入点云(图中为橙色),该框架的其他块是可选的,因为它们可以用于将主系统与来自不同传感器的数据或重新处理的输入集成起来。

        给定一个入射的激光扫描,第一步是在预过滤器pre-fifilterer,中处理它,以减少它的大小并去除噪声点。然后将过滤后的云同时发送到两个模块。最重要的一个是跟踪器tracker,它通过与之前的过滤扫描进行scan to scan匹配来估计机器人当前的位移。另一个是地面探测器floor detector,它可以找到机器人的姿势相对于地面,增加了高度旋转一致性的轨迹。当前的姿态估计及其相应的点云被发送到闭环检测模块,该模块试图在新的点云和以前的点云之间找到闭环,再次执行scan to scan的匹配。此外,利用姿态、循环和地板系数(由floor detector模块估计的输出)来构建姿态图,表示机器人的轨迹。最后,对姿态图进行了优化,以提高姿态的精度。

        IMU和GPS数据(图1中的粉红色)可以集成到姿态图构建模块中,以提高估计轨迹的精度。此外,预先计算的里程计(例如,通过一个不同的传感器或系统)可以被输入到跟踪器中,作为扫描匹配的初始估计。最后,使用pre-tracker模块(图1中绿色)进行多级scan to scan的匹配,在跟踪步骤前快速估计机器人的运动:将该估计传给到跟踪器,作为scan to scan 的初始猜测,以提高模块的精度和性能。

B. System modularity 模块化

 与文献中大多数可用的系统不同,我们提出的框架是完全模块化的,它的组件彼此独立地工作。这可能的要感谢用于创建系统的寄存器和调度技术。一个模块的结构如图2所示。它由一个或多个观察者observers、一个或多个分派队列dispatch queues、一个核心core和一个或多个通知程序notififiers组成。此外,ART-SLAM是一个零拷贝软件,允许细化大量的数据,同时将其保留在内存中。

         观察者允许一个模块在数据可用时立即捕获数据,这与类型无关(类似于回调触发)。由于数据的到达速率与处理所需的时间不同,观察者将接收到的数据放入一个或多个调度队列中,即FIFO(先进先出)结构,目的是避免了传入数据的丢失。该模块的核心core是其主要特征:它每次详细阐述每个队列的一个数据,并从相对调度队列中提取出来。一旦核心完成其任务,它就将模块的副产品交给通知程序,通知程序将其广播给所有需要的模块。使用调度队列的优点是,如果不需要时间一致性,则可以在多个线程上并行地执行相同的核心任务。

        这种工厂式的结构允许与辅助部件、改进部件或第三方模块的高度集成。例如,如果一个人想看到跟踪器使用它自己实现的可视化器估计的轨迹,它将只需要将可视化器注册到跟踪器,并以所需的方式转换广播数据(数据类型转换)。与现有的框架和中间软件相比,使用这种实现带来了多种优势,例如并行执行独立的核心任务的可能性可移植性(因为它嵌入在ART-SLAM中)和高度的定制程度。

C. Pre-fifilterer

        预过滤器模块的目的是减少输入点云的大小,并消除噪声异常值。数据减少或降采样是至关重要的,因为正如介绍中所述,如果云的大小足够大(超过20K点已经被证明是旧设备上的瓶颈),那么点云上的扫描匹配可能会变得需要计算资源。降采样可以将点云减少5倍,如果需要,甚至更多,同时保留初始扫描的空间结构和密度。 

        然后对云进行过滤,以去除异常值和噪声点。这个操作是更昂贵的w.r.t.降采样的任务。为了提高性能,请使用w.r.t.HDL [9 A portable 3d lidar-based system for long-term and wide-area people behavior measurement],我们将点云分成四对八分体,分别对每对进行过滤,获得约30%的加速。在此之后,所有较小的点云被组合在一起,形成一个更大的、经过过滤的点云,准备被广播给其他模块。

D. Tracker

        短期数据关联,也称为姿态跟踪,建立了连续姿态之间的运动。跟踪器采用基于关键帧的方法来估计机器人的轨迹,使用最先进的算法(ICP [2],GICP [14],VGICP [10]和NDT [3]),这取决于用户的选择和机器人导航的环境。关键帧是描述机器人在其轨迹的选定位置上的运动的数据结构。它们由多个变量来描述,用于收集与机器人姿态相关的数据。 

        在ART-SLAM中,每个关键帧包含一个点云和由跟踪器估计的姿态(里程计),这些数据也用于循闭环检测、姿态图构造和地图创建。关键帧中包含的其他有用信息是与点云相关联的时间戳,即从轨迹开始时的估计累积距离,如果可以,通过IMU也可以记录下加速度和姿态。

        为了减少执行SLAM所需的计算资源,跟踪器输入中的所有过滤点云不会成为关键帧。除与接收到的系统第一个点云对应的第一个关键帧外,其他关键帧必须至少满足以下条件之一:

  •    距离超过用户定义的平移∆距离
  •    角度超过用户定义的旋转∆方向弧度 
  •    时间戳超过用户定义的间隔∆T秒的时间

        阈值∆距离,∆方向和∆T取决于数据集和类型的轨迹的估计,并应该相应调整以获得合理数量的关键帧,太少会降低SLAM系统的准确性,太多会降低其性能。例如,在室内场景中,∆距离可以设置为0.2米,而在大型城市环境中,∆距离可以>2米。        

        给定当前关键帧K_n对应的点云和输入c_t中可用的最新的滤波点云,对它们进行scan to scan 匹配,找出它们的相对运动。该算法需要对运动进行初始估计,以提高性能和精度。初始估计有两种选择:可以通过其他方法(例如使用预跟踪器模块估计),或者假定常量运动模型,并使用先前的相对转换(当前关键帧Kn的点云和先前过滤后的点云c_{t-1})。通常,基于点云的跟踪算法会找到连续点云c_{t-1}c_t之间的相对运动,然后将此变换与之前的变换组合起来。这种方法可能看起来更准确,但点云距离当前关键帧越远,它就会累积误差。在ART-SLAM中,机器人的运动总是被称为时间最近关键帧,只有在估计扫描匹配的初值时,才考虑最接近的关键帧和前的运动,如前一段。

        这种方法是ART-SLAM独有的(HDL没有),如果有预先计算的里程计测量,系统还可以跳过输入云(这意味着不执行扫描匹配)。后者,即使不是完全准确的,也允许立即检查当前的点云是否是选择一个新的关键帧的候选对象。如果不是,则跟踪器不执行扫描匹配,并且当前关键帧和预先计算的里程计之间的相对转换被保存为下一次迭代中的运动估计。跳过扫描匹配步骤极大地提高了跟踪器的性能,因为它可以实时获得准确的结果。 

        一旦跟踪器检测到一个点云,以满足上面描述的关键帧创建标准,一个新的关键帧就会建立,并传播到闭环检测和姿态图生成模块。

 E. Pre-tracker

         虽然在时间上,预跟踪器模块与预过滤器并行工作,但为了理解其工作原理,我们首先描述了预过滤器和跟踪器模块。实际上,在两个全尺度点云之间执行对齐配准将得到最佳的转换估计,因为所有的三维点都被考虑在内。然而,这种方法往往不适合实时应用,特别是在低端设备上。如第II-D小节所述,可以辅助扫描匹配,并已有一个初始估计,这可以减少达到匹配收敛所需的时间,并提高两点云之间估计转换的精度。

         为了计算一个可行的初始估计来给跟踪器,我们创建了一个预跟踪器模块,它执行多尺度扫描匹配,工作原理如下。首先,将输入给预过滤器的相同点云输入给预跟踪器。在这里,它被严重降采样,将其减少到初始元素数量的10%以下。然后使用降采样后减少的点云与之前的降采样云进行scan to scan的匹配。这种对齐是快速的,因为点云的大小减小了,即使不像使用非降采样云那样精确。

        如果初始点云的元素数相对较大(大于60K 3D点),则通过上述步骤得到的变换立即传播给跟踪器,作为当前扫描匹配的初始估计。另一方面,如果初始云的大小相对较小,整个过程可以以不同的规模重复。对点云进行降采样,其比例因子低于预跟踪器的第一阶段,以获得一个减少的云,其大小大于通过第一阶段获得的点云。同样,利用所获得的点云与之前的降采样云进行scan to scan的匹配,以获得快速的结果,但比第一阶段获得的转换更准确。此时,由第二阶段产生的相对运动被广播到跟踪器,如前所述,将被用作当前扫描匹配中的初始估计。

        采用pre-跟踪器被证明是有益的不仅在准确性,因为它给跟踪器初始猜测接近真正的转换,而且在性能,因为它允许跟踪器跳过一些帧,这不会不使用的SLAM系统,如II-D小节所述。

F. Floor detection

        为了加强轨迹中的高度和方向的一致性,对过滤后的点云进行处理,以找到其中的基平面。这可以被建模为一个由平面方程表示的四维向量GP(a、b、c、d)

                        a ∗ x + b y + c z + d = 0

        

        地面探测可以处理多种场景,如平面或平面样运动(如城市道路)、粗糙的地形(如岩石路径)和有上升下降的环境。虽然HDL [9]只处理平面运动,但在ART-SLAM中考虑了所有的场景。在第一种情况下,即平面运动,地面探测模块采用一个点云,并以以下方式进行操作。直观地说,由于可以在输入scan的一个小区域内找到地面,因此由地板探测器执行的第一步是在一个可接受的搜索范围内裁剪点云。这一步大大减少了点云的大小,提高了在搜索地板时的性能。然后,对剪切后的输出点云进行过滤,消除法线为特别不垂直的点。这样做是为了避免由于环境中类似平面的表面而可能造成的错误,如墙壁和建筑。最后,对滤波(过滤)后的激光扫描进行平面检测的随机采样一致(RANSAC),对地平面系数进行检测和估计。

        在处理粗糙的地形时,无法用以前的方法找到地面,因为使用RANSAC无法检测到平面结构。输入scan被进一步剪切,这次不是垂直的,而是水平的:只保留距离点云中心的阈值距离内的3D点。这样做是为了修剪点云,使其尽可能接近机器人,去除异常物体,如大岩石、原木或任何不像平面的东西。然后用剩下的少数点用最小二乘法进行封闭形式的平面拟合。 

         一旦找到,如果参数{a、b、c、d},它们与之相应点云相关的时间戳一起传递到姿态图构建器模块。最后一种场景(倾斜面识别)通过使用点云来识别是比较困难的,因为倾斜面与机器人车轮平行,不能通过使用点云来检测与非倾斜面区分开来。斜平面的发现过程发生在姿态图生成器模块中。当一组地板系数{a、b、c、d}与关键帧相关联时,生成器将检查例如在垂直方向中是否有明显的变化与(用户定义)上一个关键帧相比。如果是肯定的,则表示机器人轨迹的坡度发生了变化,并且检测到一个倾斜的地平面。

G. Loop closure

         在移动的过程中,机器人可能会回到之前访问过的地方,在其轨迹中形成一个循环。寻找闭环在估计的机器人姿态中增加了运动约束,纠正了漂移和估计误差。关于闭环检测的困难部分不是说明循环的存在,这可以通过简单的扫描匹配来完成,而是检测闭环只是一种可能的情况是时的判断。要做到这一点,我们需要决定何时何地去寻找。在ART-SLAM中,检测分连续三个步骤进行,以有效地在收集到的关键帧内搜索闭环。

        首先,每次有一个关键帧K_{query}可用时,都会将其与以前所有现有的关键帧进行比较,从而创建一个查询候选问题结构。而不是在所有可能的{K_{new}K_{candidate}}对之间进行scan-to-scan匹配,执行基于里程计的选择。如果K_{query}K_{candidate}在轨迹上太接近,这意味着它们的累积距离很低,它们不能被认为是候选的,因为两个关键帧,对应于一个获得的点云,不太可能导致一个闭环。此外,闭环检测器检查通过跟踪估计的K_{candidate}的位置是否在姿态对应的K_{query}的附近,在一个阈值范围内,这解释了跟踪模块引起的漂移误差。如果K_{query}K_{candidate}满足这些约束,这意味着它们在空间和在时间上足够接近,它们可以被认为是一个闭环候选对,并被输入到下一个阶段。

        一旦找到了所有的候选对,它们就必须进一步减小,以避免不必要的计算和浪费资源。[8 Scan Context]中提出的方法将点云转换为二维极坐标网格,并使用kd树选择k个最相似的点云与给定的点云查询进行有效的比较。ART-SLAM中有效的环路闭包检测的第二阶段采用该方法,通过将与查询关键帧相关的点云的二维极坐标网格与候选关键帧对应的二维极坐标网格进行比较。在这一步结束时,只剩下k个用于循环闭合的候选对,可以在下一步和最后一步中使用。

        数量少的候选对象允许对每对点云进行scan-to-scan的匹配,以获得一组相对运动。然后对所有的变换进行比较,找到最好的一个,即计算精度最高的一个,对应于所有对K_{query}K_{candidate}之间的最小距离。如果找到最佳匹配,则检测到一个新的闭环,并将其作为一个新的约束添加到姿态图中。

         与HDL [9]不同的是,在ART-SLAM中,Scan Context的方法的添加允许可伸缩和有效的循环闭包。实际上,随着要估计的轨迹长度的增加,需要检查闭环检测的对数也会增加,因为添加了越来越多的关键帧。然而,前两个步骤都是非常快速的操作,前者主要由一个矩阵乘法组成,后者被证明是可伸缩的[8]。此外,在姿态图中插入关键帧时,预先计算了二维坐标性网格,进一步减少了闭环检测模块所需的计算时间。在第二阶段结束时,最多总是有k个候选对,独立于要检查的关键帧数,使这种三阶段的方法适用于有效的闭环检测。

H. Pose graph building and optimization

         正如在介绍和系统描述中提到的,我们的框架是图SLAM [6]的一种形式。在图SLAM中,机器人的姿态被建模为一个图中的节点,称为位姿图,并且标记他们在环境中的位置。

        节点与表示姿态之间的空间约束的边连接,由传感器测量(如IMU或GPS)或场景元素产生,作为我们的例子中的地板系数。姿态图中的每个节点代表一个机器人的位置和在该位置获得的测量值(点云);此外,每个节点都与对应的关键帧相关联。两个节点之间的边由与节点相对应的机器人姿态相对变换的概率分布组成。这些转换要么是跟踪模块给出的顺序位置之间的里程计测量值,要么是通过对齐两个关键帧之间获得的传感器测量值来确定的。由于噪声破坏了传感器和机器人里程计中的漂移,相关的边代表了软约束,而不是固定的。但是,可以插入不能以任何方式修改的绝对约束。这些约束的例子是地板系数、GPS或IMU数据,尽管它们也可以将其设置为非绝对约束,以考虑传感器或测量的不确定性。而且,位姿图中的边可以在实现闭环检测时在两个非连续node中添加。

        一旦给出了位姿图的结构,就可以通过优化算法来计算满足所有传感器和运动约束的最优轨迹,给出了较高的精度估计,同时阐述了大量的姿态。在我们的实现中,我们使用了g2o优化框架[7],因为它被证明在长轨迹上是快速和准确的。此外,g2o允许在姿态图中插入自定义元素,因此,它是我们的模块化系统的最优解决方案。

        选择将机器人的轨迹建模为一个图是有多种原因的。首先,这些姿态可以很容易地在任何时候存储和可视化,还包括图中包含的附加信息(边缘、由其他传感器或地面的数据创建的特殊节点)。此外,g2o [7]图优化器计算最优最小成本函数的能力,以满足所有的约束条件,使我们的系统具有较高的精度和一致性在解决SLAM问题的估计技术中。这在自动驾驶中很重要,特别是在处理大规模环境时。更多关于使用图的优点的细节出现在[6]中。

III. EXPERIMENTAL VALIDATION OF THE SYSTEM

 A. Setup

         将该系统与基于点云的SLAM的其他方法进行了比较: LOAM [17]、LeGO-LOAM [15]、A-LOAM、LeGO-LOAM-BOR和HDL[9],A-LOAM和LeGO-LOAM-BOR是LeGO-LOAM的两个高级版本(LeGO-LOAM的代码改进和工程重构)。我们在四种场景下评估这些系统:三个来自KITTI数据集[4] [5],分别对应于一个短序列、一个中序列和一个长序列,另一个来自RADIATE数据集[16],代表一个没有循环的中序列。

        LOAM、LeGO-LOAM、A-LOAM和LeGO-LOAMBOR不需要特定的参数调整,尽管它们需要定制一个模块的实现(点云投影),这取决于所使用的激光传感器。在我们的测试中,我们根据LeGO-LOAM的作者的建议,根据所使用的数据集对应的传感器相应地改变了这些参数。另一方面,HDL和ART-SLAM共享相同的配置参数,例如,关键帧选择阈值和预过滤方法。表一显示了在实验中使用的最重要的参数,包括HDL和ART-SLAM,以允许复现性。由于很少有系统只处理点云,为了进行公平的比较,我们只使用点云来执行SLAM,而不利用来自其他传感器的数据,如IMU或GPS。

         实验在一台2012年戴尔64位笔记本电脑上进行测试,Intel(R) Core(TM) i5-3337U CPU@1.80 GHz x4核,每个都有3072Kb的缓存大小。

B. Comparison and result

         为了评估系统,我们计算了绝对轨迹误差(ATE)。这个度量测量真实点和估计轨迹点之间的差异。作为一个预处理步骤,我们使用时间戳和点云指数将估计的姿态与地面真实姿态关联起来。我们还包括对估计轨迹的视觉评估,并在考虑的四种场景中的两种中显示重建的三维地图。然而,所有的系统都是实时运行的,这意味着它们可以以其采集速率处理数据,除了HDL,它在执行跟踪和循环闭合检测时需要更多的时间(大约是采集速率的两到三倍)。

        图3显示了KITTI测程数据集[4]在序列07上的估计轨迹。除LOAM外,所有考虑进行比较的方法都能准确地跟踪地面真实轨迹,正确地找到环路,优化姿态。相反,LOAM会迅速偏离真正的轨迹:这是由于没有执行闭环检测,这与其他系统不同。表二进一步详细说明了所得到的结果,因为它表示了绝对轨迹误差的平均值、均方根误差(RMSE)和标准差(STD),单位是米。本文提出的系统具有最高的精度,以及HDL。这并不奇怪,因为这些方法依赖于full point cloud scan-to-scan的匹配,而其他方法则依赖于跟踪和匹配从点云中提取的三维特征。

        在处理了一个存在闭环的大序列后,我们还在一个较短的序列上评估了系统。由于短数据集没有地面事实,我们使用与点云一起提供的GPS数据。图4显示了KITTI原始数据集[5]在城市序列05上的估计轨迹。与前面一样,除LOAM外,所有方法都准确地表示了地面真实,轨迹误差小。结果或多或少是相同的,这也就不足为奇了,因为短轨迹跟踪执行的时间是有限的,并且没有足够的距离来累积较大的误差。表三显示了ATE的统计数据,单位为米。与之前一样,除了LOAM外,所有的系统都显示出良好的结果,准确地跟踪GPS信号,由于其相对较高的精度,这里用作地面真值。

       在图5中,我们展示了ART-SLAM在最复杂的序列之一上的行为,即KITTI里程计数据集的序列00。在比较中,我们没有包括LOAM和A-LOAM,它们估计的轨迹远离地面的真实情况,并且会使数字更加混乱。图6和图7分别显示了用ART-SLAM重建的图谱和它的详细面积。从表四中可以看出,所提出的系统达到了较高的精度,达到了几乎与HDL相当的低平移误差。

         最后,我们展示了通过ART-SLAM对RADIATE数据集[16]的City 01序列所实现的精度的视觉评估。该序列相对较长,不包含环闭合,增加了估计机器人轨迹的难度。由于没有地面事实,我们对创建的3D地图进行视觉检查不一致性。通过ART-SLAM获得的地图,在图8中完全可见,详细显示在图9中,显示了与道路结构及其内部元素的明显一致性,再次证明了所提出的系统的准确性。此外,图10显示了所得到的轨迹与HDL和LeGOLOAM-BOR的比较(其他系统不能运行该场景),证明了即使在没有闭环的情况下,ART-SLAM也是准确的。

ATE ON SEQUENCE 07 OF KITTI ODOMETRY DATASET 

 

 ATE ON THE SHORT CITY SEQUENCE 05 OF KITTI RAW DATASET [5]

IV. CONCLUSIONS

         我们提出了ART-SLAM,一种快速、基础优化的激光雷达里程计和建图方法,能够在复杂环境中执行移动机器人的姿态估计。ART-SLAM与最先进的系统不同,它不绑定到任何框架,并且可以很容易地移植到任何设备上。由于其模块的独立性质,它也可以有效地改进和扩展,并且它包括许多升级现有的类似系统,如预跟踪、智能环路闭合和优化闭环检测。该方法在一系列与户外环境对应的数据集上进行了评估,分别代表短、中或长序列。结果表明,与目前最先进的技术相比,大ART-SLAM可以获得类似或更好的精度,并降低了计算成本高精度的系统。该系统被证明与基于特征的系统一样快,意味着实时或接近实时性能,与点云扫描匹配方法一样精确。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LSD-SLAM是一种大规模直接单目SLAM算法,它是在2013年由扬·恩格尔斯等人提出的。该算法的目标是实现在没有任何先验知识或环境特征的情况下,通过单个摄像头从连续的图像序列中建立和跟踪三维地图,并且能够同时确定相机的姿态。 LSD-SLAM的核心思想是利用摄像头的像素强度信息进行定位和建图,而不依赖于传统的特征点提取和匹配。它通过高斯金字塔和灰度差分技术来提取特征,并使用稀疏数据库存储和匹配这些特征,以实现实时的建图和定位。 在LSD-SLAM中,首先需要对图像进行预处理,包括降噪和创建高斯金字塔。然后,通过计算图像中相邻帧之间的灰度差分,得到特征点的深度信息。通过对这些深度信息进行尺度一致性检查和相机姿态估计,可以建立起相机的轨迹和三维地图。 LSD-SLAM的优点之一是其能够在大规模环境下进行建图,且对于纹理较弱的区域也能较好地定位。此外,LSD-SLAM还具有较低的计算复杂度,能够实时运行,适用于移动机器人、增强现实和无人驾驶等领域。 然而,LSD-SLAM也存在一些限制,如对于场景中出现大运动或快速变化的情况,其定位和建图的精度可能会下降。此外,它对于镜头畸变和光照变化也较为敏感。 总结来说,LSD-SLAM是一种利用单个摄像头进行大规模建图和定位的算法。它通过直接使用图像的像素强度信息,不依赖于传统特征点的提取和匹配。尽管LSD-SLAM具有优点和限制,但其在许多实际应用中具有潜在的价值和广阔的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值