具有深度视觉闭环的室内类似环境的二维 LiDAR-SLAM 算法
A 2-D LiDAR-SLAM Algorithm for Indoor Similar Environment With Deep Visual Loop Closure
摘要:同步定位与建图(SLAM)是实现机器人智能的关键技术。与摄像头相比,在室内环境下使用光探测和测距(LiDAR)可以实现更高的精度和稳定性。然而,LiDAR只能获取环境的几何结构信息,而带有环路检测的LiDAR SLAM在几何结构信息缺失或相似的场景中容易出现故障。因此,我们提出了一种闭环算法,融合视觉和扫描信息,利用深层特征进行环路检测,然后结合相机和激光雷达数据进行环路验证。我们将其命名为融合SLAM(FSLAM),它使用紧耦合将两者融合以进行环路校正。我们比较了基于深度神经网络分层特征网络(HF-Net)的视觉特征提取和手工特征提取算法 ORB 之间的差异。所提出的FSLAM方法能够在具有相似几何结构的场景中成功进行建图,同时其定位和建图精度与其他算法相比显着提高。
索引术语——数据融合、光检测和测距(LiDAR)、闭环、同步定位和建图(SLAM)、视觉特征提取。
一、引言
随着人工智能的快速发展以及工业和社会智能需求的不断增长,自主机器人受到广泛关注。由于任务日益复杂,对智能机器人的需求也不断增加。同步定位与建图(SLAM)是实现机器人智能的关键技术[1]。当机器人从未知环境中的未知位置出发时,它可以构建一致的地图并确定其在地图中的位置。借助SLAM技术,机器人可以在未知环境下实现室内外定位和导航。
与室外定位不同,全球导航卫星系统(GNSS)由于建筑物遮挡,室内信号较弱,难以执行定位导航任务。一般来说,室内定位和导航任务通常使用多个基站,例如无线保真(Wi-Fi)、蓝牙或超宽带(UWB)[2]、[3]、[4]。通过使用这些无源定位技术,可以通过测量机器人与基站之间的距离来获得三维(3-D)位置。然而,这些实现的主要缺点是必须预先建立非常密集的基站网络,这在大规模区域中成本高昂且不现实。相比之下,SLAM仅利用机器人自身的传感器来实现导航任务,无需任何附近的基站信号,这使得SLAM技术成为室内定位和导航的重要组成部分。
SLAM可分为基于光探测与测距(LiDAR)的和基于视觉的,随着计算机视觉的发展,视觉SLAM因其信息量大而备受关注,是当前研究领域的热点和广泛的应用。同时,基于激光雷达的SLAM是最稳定的主流SLAM技术,通过向各个方向发射激光束来直接获取环境信息,稳定性和精度更高。大多数应用都使用二维激光雷达进行定位和测绘,并且在行业中也得到广泛应用。
然而,激光雷达只能获取环境的几何信息,这可能使得仅激光雷达的SLAM容易出现定位或建图问题,特别是在缺乏几何纹理或重复几何结构的情况下。在存在平行廊道的环境中,由于廊道的几何结构相似且在地图中距离较近,因此在构建地图时会将两条廊道视为同一条廊道,从而进行融合。在图书馆环境中,由于书架的几何结构非常相似,很容易将不同行的书架误认为是检测闭环,而优化时会将不同行的书架融合,导致严重错误在测绘中。
为了解决这些问题,我们提出了一种在室内类似环境中进行精确且鲁棒的定位和建图系统,该系统以紧密耦合的方式融合了二维激光雷达和单目信息。我们的设计具有以下贡献。
1)我们提出了一种结合视觉框架和激光框架的闭环验证方法。通过深度学习网络的视觉数据检测循环帧,并通过激光数据验证,以避免错误的循环闭合。
2)我们设计了一个循环约束,并使用扫描到子图匹配来融合扫描和视觉的紧密耦合。另外,采用非线性优化来减少系统的累积误差。即使在稀疏的二维 LiDAR 点云上,该方法也可以有效使用。
3)比较深度学习技术与传统手工方式的特征提取算法的性能,验证深度学习在类似环境下的优越性,并据此设计回环检测算法。
4)所提出的SLAM系统可以在具有相似几何结构的场景中成功运行,同时其定位和建图精度显着提高。
本文的其余部分组织如下。第二节回顾了相关工作。第三节概述了拟议系统。第四节介绍了我们系统中应用的详细算法描述,第五节提供了实验结果。最后,第六节提供了本文的总结。
二.相关工作
在本节中,我们将简要回顾 LiDAR SLAM 和回环检测方面的工作。
A. LiDAR SLAM
基于二维激光的 SLAM 通常使用基于滤波器的方法来执行,例如 GMapping 算法,该算法使用 Rao-Blackwellized 粒子滤波器(RBPF)来预测状态转换函数 [5]。为了减少滤波方法的累积误差,越来越多的系统采用优化方法。 Karto-SLAM提出稀疏姿态调整(SPA)来有效地从约束图计算稀疏矩阵,大大加快了收敛速度[6]。 Hector-SLAM基于高斯-牛顿迭代公式,通过多分辨率网格图进行扫描匹配,有效提高了线路的实时性,但该算法不包含环路检测,因此也很难消除累积误差[7] ]。此外,cartographer使用扫描到子图匹配来求解位姿,使用非线性优化使结果更好,并且还添加了循环检测模块,这是基于2D激光的SLAM算法中广泛使用的算法之一[8]。之后,2-D激光SLAM算法更加注重简化计算,例如VinySLAM[9]、[10]、[11],以减少其对高成本硬件的依赖。
因此,越来越多的工作集中在基于视觉LiDAR融合的SLAM上,可分为四种研究路线[12]。第一个是扩展卡尔曼滤波器(EKF)SLAM 的经典公式[13]、[14];第二种方法是使用LiDAR测量来改进视觉SLAM[15]、[16]、[17]。相反,也有一些方法可以利用视觉数据来优化 LiDAR slam [18]、[19],并且其他研究尝试将 LiDAR 和视觉 SLAM 结果结合起来 [20]、[21]、[22]。
B. 回环检测
回环检测和校正对于高精度SLAM数据处理至关重要。长期积累的误差可以通过环路检测模块中历史状态的匹配来修正。与激光雷达信息相比,视觉数据可以获得更多的结构、纹理等环境信息,因此更有利于回环检测。
在计算机视觉领域,常见的回环检测都是采用传统方法实现的。当首先在新帧中提取SIFT、SURF或定向FAST和旋转BRIEF(ORB)特征时,我们将它们与最近的帧进行匹配,然后,可以可靠地估计相机运动,例如ORB-SLAM [23] ,[24],[25]。
然而,传统的特征提取容易受到光强变化和运动模糊等因素的影响,因此深度学习算法近年来也被广泛应用于slam的循环检测中[26]。深度学习和卷积神经网络可以生成图像描述符;然后,匹配两帧图像的描述符以进行回环检测[27],[28]。 SuperPoint和GCN等一些研究表明深度学习网络可以获取图像特征点而不是ORB特征,然后与词袋库结合进行回环检测[29]、[30]、[31]。还有一些算法,例如DXSLAM[32],通过深度学习网络同时获得图像全局描述符和图像特征点,并利用图像全局描述符进行回环检测。
三.系统概述
整体系统结构如图1所示。本文的SLAM框架以二维激光雷达为核心用于定位和绘图的传感器。由于单目运动估计的精度和鲁棒性较低,因此仅用于回环检测。该系统是基于cartographer [6]、[8]、[33]构建的,这是经典的2-D LiDAR SLAM算法。所提出的闭环算法使用 HF-Net,取代了原来的算法并保持了与之前系统的兼容性。此外,完整的SLAM系统包括数据输入模块、定位与建图模块、数据输出与可视化模块。
图1.FSLAM系统结构。
四.方法
A. 关键帧构建
前端注册模块使用传感器数据来估计机器人的运动。由于本文中同时使用了激光雷达和视觉传感器,因此关键帧构建的准确性对于后续建图的准确性至关重要。关键帧构建的难点主要包括视觉数据的处理、视觉数据与激光扫描的融合。有四个基本步骤:相机和激光雷达的标定、时间标定和插值、求解视觉特征点的世界坐标以及关键帧构建。
张等人[34]提出了一种单目相机和二维激光雷达的外参标定算法。本文基于单目相机与二维激光雷达外标定的算法理论,通过外标定可以得到激光雷达坐标系与相机坐标系之间的变换矩阵Tcl = (Rcl , tcl ),其中Rcl和 tcl 分别代表旋转和平移。数据可以根据变换矩阵在两个坐标系之间进行变换,以保证空间一致性。
采用时间校准和插值来解决不同采集频率的传感器问题。如图2所示,由于采样频率不同,在获取视觉帧时,对应的时间戳下可能不存在激光帧。因此,坐标两个数据不能直接转换。在本文中,我们对激光帧的数量进行插值以适应视觉框架,并且仅将激光帧姿势进行变换以与视觉框架同步,以减少计算量。
图 2. 时间校准和插值示意图。
我们定义扫描坐标系为 fi l ,此时激光坐标系到世界坐标系的变换用扫描得到的旋转矩阵 Ri wl ∈ R3×3 和平移向量 ti wl ∈ R3 来表示匹配。在 fi l 和 fi+1 l 之间到达的图像帧是 f i c 。从相机坐标系到世界坐标系的变换表示为旋转矩阵R j wc ∈ R3×3和平移向量tj wc ∈ R3,这是本节要求解的量。通过外参标定得到从LiDAR坐标系到相机坐标系的旋转矩阵Ri cl ∈ R3×3和平移向量ti cl ∈ R3。
时间插值的目的是求解对应于图像f j c 的时刻的激光帧位姿(R j wl , t j wl )。 LiDAR 运动在扫描过程中以恒定的角速度和线速度进行建模,然后系统状态的变化量也可以被视为短时间间隔内的恒定速度。因此,我们可以在 fi l 和 fi+1 l 之间均匀地插值激光帧,可以通过以下等式计算:
其中 θi 和 θ j 分别是激光雷达坐标系 fi l 和相机坐标系 f j c 中的旋转,1t 是两个时间戳之间的时间,R j wl 是旋转矩阵,Z 轴由 Rodrigues 公式定义。
然后,我们可以将视觉数据从相机坐标系转换到世界坐标系,其计算公式为
求解全局帧中特征点的 3D 位置的关键是计算两个帧之间的相对位姿,以对一组特征点进行三角测量,而单目 SLAM 需要运动信息来解决这个问题,因为深度无法从单个图像。我们直接使用上面求解的相机位姿进行三角测量,这减少了计算量并避免了单目相机的尺度模糊。
(Ri cw, ti cw ) 和 (R j cw, t j cw) 分别为 f i c 和 f j c 处的相机位姿,两帧的相对位姿求解如下:
两帧的特征点基于曼哈顿距离进行匹配,我们可以使用对极几何来估计立体图像对中两个对应的2D图像点的3D坐标
其中 Fi j 是两帧的基本矩阵,Pi = (ui , vi ) 和 Pj = (u j , v j ) 分别是 fi c 和 f j c 的匹配特征。然而,由于存在误差,该点并不处于理论位置,因此我们检查极线的距离是否低于阈值极线,以明确接受图像对。
当获得多个特征匹配时,可以通过直接线性变换(DLT)方法求解3D坐标以构造3D地图点
其中 Pw = (X, Y, Z , 1) 是 P 在世界坐标系中的 3-D 坐标,pi = (xi /zi , yi /zi , 1) 且 p j = (x j /z j , y j /z j , 1) 分别是对应图像帧 f i c 和 f j c 的相机归一化坐标。 f i c 和 f j c 从相机坐标系到世界坐标系的变换分别表示为 Tiw = (Riw, tiw) 和 Tjw = (R jw, t jw )。 T kT iw 表示 Tiw 的第 k 列。通过奇异值分解(SVD)解决问题,我们可以得到Pw。我们将检查结果并通过卡方检验去除异常值。当地图点投影到图像f i c 和f j c 的重投影误差均小于阈值时,3维地图点被接受;否则,它将被丢弃。
经过上述操作后,我们将匹配到的帧作为一个关键帧,记为 F = { fl , fc, msub} 。 fl是包含点云数据和LiDAR位姿的扫描帧; fc 是包含特征、局部描述符、全局描述符和 3-D 地图点集的视觉框架; msub 是子图。
B. 闭环检测
二维激光雷达对环境信息的访问有限,因为它只能获取 x−y 平面上的数据。当使用大规模场景数据进行闭环检测时,点云的局限性可能会导致不匹配甚至错误的状态估计。因此,我们利用视觉数据进行闭环检测和激光雷达来提供更准确的环境结构信息,充分利用两种数据的优势,弥补各自的不足。
之前构建的关键帧F包含大量信息。随着机器人运动时间逐渐增长,在历史帧中搜索相似图像会带来大量计算量,因此系统嵌入了词袋(BoW)[35]地点识别模块来减轻图像的计算量匹配。通过使用BoW模型中的k维(k-D)树,通过比较词向量与聚类中心之间的距离来逐渐搜索最相似的图像,即循环框。
我们受 ORB-SLAM [23] 的启发,构建了关键帧之间的共视信息,并且在搜索循环帧时,具有共视关系的关键帧将被排除。考虑到不同场景和算法的实时性,我们使用当前关键帧与回环帧之间的全局描述符的欧氏距离作为匹配分数,而不是验证所有回环帧,计算如下:
其中x是当前帧Fcurrent的全局描述符,y是回环帧的全局描述符。根据这个匹配分数对循环候选进行排序,然后,我们将从较高分数开始检查顺序的一致性。一旦循环候选帧通过验证,我们将丢弃后续候选帧。由于如果仅使用关键帧的二维像素平面中的图像信息,环路闭合容易出错,因此使用扫描的环境信息进行验证循环帧。我们执行分支定界方法[33]来计算扫描到子图的匹配作为约束,这意味着搜索与当前扫描数据与子图最匹配的机器人姿势
其中 T 根据扫描位姿将扫描点 {hk }k=1,...,K , hk ∈ R2 从扫描帧变换到子图帧,K 为扫描点,W 为搜索窗口,Mnearest( T hk)是子图M通过首先将其参数四舍五入到最近的网格点来扩展到所有点,即将网格点的值扩展到相应的像素[8]。
此外,对于通过扫描验证的循环子图,我们将该子图中的3D地图点重新投影到当前图像帧以找到匹配的特征点,如果匹配的特征点对的数量超过阈值,则接受循环帧。此步骤验证循环,同时确保有足够的匹配点用于后续的闭环优化。算法的结构如图 3 所示。
图 3. 闭环检测的结构
C. 循环闭合优化
当前帧和循环闭合中的循环帧使我们能够通过检测机器人何时到达环境中先前到达的位置来校正位姿和尺度漂移。在这个阶段,本文还融合了视觉和激光数据,以避免激光雷达在大场景下的不匹配问题。为了融合两种数据以优化位姿并提高精度,我们设计了一种基于紧耦合非线性优化的闭环校正算法。
合理的损失函数是优化的关键。对于激光点云和视觉地图点,我们基于扫描到子图匹配和重投影误差构建损失函数。在对数据进行归一化以统一数据量级后,我们还为损失项添加权重以考虑数据源的可靠性。考虑到优化后的姿态不应与初始姿态相差太大,平移和旋转变化也被构造为损失项,以避免远距离不匹配。最后,综合考虑构建联合损失函数。
对于 LiDAR,当扫描匹配器负责找到使子地图中扫描点的概率最大化的扫描姿势时,激光扫描和子地图处于最佳估计位置。我们将其视为非线性最小二乘问题。激光损耗项归一化如下:
其中 xiij = (ti j , θi j ) 为扫描框在循环子图 j 坐标系中的位姿,Txiij 为扫描点 hk 到子图 j 的转换矩阵。
对于视觉来说,子图和当前帧之间存在多组匹配的3D地图点,并且这些地图点和它们到当前帧的2D投影点之间存在重投影误差。因此,我们通过最小化所有匹配点的总投影误差来构造视觉损失项,其计算公式为
其中 Pp = {Pm P } m=1,...,M 是当前帧中与循环子图中的地图点匹配的特征集,M 是匹配点对的数量,相机内在矩阵为C,r为搜索特征匹配时的搜索半径。 (Rcw,tcw)是从世界坐标系到当前帧相机坐标系的变换。
最后,联合损失函数如下所示:
其中α、β和γ是分配给不同损失项的权重,可以根据传感器和应用场景设置。如果环境几何结构丰富或视觉纹理较少,或者相机的可靠性较弱,则提高α,反之则提高β。考虑到优化后的姿态不应与初始姿态相差太大,平移和旋转变化量也被构造为损失项,以避免长时间不匹配距离,因此 1x、1y 和 1θ 是平移和角度变量,thx 和 th y 是预定义的平移阈值。
D.评估方法
为了测试特征提取算法的性能,我们使用精度来衡量图像检索的准确性。回环准确率也称为检查准确率,准确率越高,检索准确的概率越高,回环检测的准确率越高
TP表示真阳性循环数,FP表示假阳性循环数,TP和FP之和为总循环数N。为了实现鲁棒性分析,我们测量了视觉模块的跟踪丢失率(LR)和平均重跟踪帧(ARF)方面的特征提取算法的差异。考虑到不同算法的计算速率不同,采用踪迹丢失时间与总运行时间的比值作为LR
其中N是损失的次数,tstart i和t end i分别是第i次损失的开始和结束时刻,tstart和tend分别是系统运行的开始和结束时刻。重跟踪帧是指跟踪丢失后再次成功跟踪所需的帧数。这反映了跟踪丢失后快速重新启动跟踪的能力。 ARF 的计算方式如 (16) 所示
其中N是丢失的数量,Nframe i是第i次成功重跟踪所需的帧数。
V. 实验
在本节中,我们展示了根据记录的传感器数据计算出的 SLAM 算法的一些结果。我们发现SLAM领域的室内数据集通常基于单传感器数据。即使某些数据集包含多传感器数据,但除主传感器外,其他传感器数据大多用作参考值,因此不提供传感器之间的校准信息。这种情况使得现有数据集很难评估相机和激光雷达融合的室内SLAM算法。因此,考虑到在仿真环境下更容易获得真实值,本文制作了测试数据集用于在仿真环境下验证融合传感器的室内SLAM算法。同时,还收集了现实世界的数据集,以证明算法在实际环境中的可行性和准确性。
我们在两个区域进行实验:展厅和图书馆书架。考虑到轨迹绝对误差的评估以及实验的方便性,在现场实验之前,我们在ROS Melodic操作系统下搭建了基于Gazebo 9的仿真环境。我们记录运动的真实轨迹,以比较模拟环境中算法的准确性,并比较真实场景中实际轨迹与构建地图的可靠性。仿真场景和真实场景如图4所示。
图4 图书馆书架和大厅的模拟与真实环境。
图书馆书架环境是一个典型的几何相似场景,我们的小车绕着许多间距和高度相同的书架行驶。每个书架的外观差异较大,因为书架上的书籍有不同颜色的封面,可以解决纹理上的映射误差问题。展厅内没有相似的几何结构,但有相似的外观纹理。较少的外观纹理信息很容易导致依赖视觉定位的算法出现跟踪失败问题。这两种不同的实验环境可以帮助评估我们提出的算法的性能和有效性。
实验设备如图5所示。模拟采用Inter Core i7-1075H CPU、16GB RAM、Nvidia GeForce RTX2060 GPU;以韩国ROBOTIS公司生产的turtlebot3机器人为框架,顶部放置Hokuyo 2-D LiDAR,附近放置单目相机,并对LiDAR进行标定摄像头是通过Autoware软件执行的。机器人的运动系统被拆除,整个机器人被绑在图书推车上。上位机的Raspberry Pi控制板更换为PC。激光雷达的帧率为10Hz,照片分辨率为680×480,频率为20Hz。该分辨率能够在有效提取特征的同时,还能保证计算量不会太大。相机通过USB与电脑连接,激光雷达通过网线连接,保证数据传输的低延迟。对获取的数据进行后处理,后处理所用的实验配置与仿真实验一致。
图 5. 推车上的数据采集设备。
为了进一步验证FSLAM系统的性能,我们选择了无循环的cartographer、cartographer和ORB-FSLAM三种算法作为对照组; ORB-FSLAM是使用ORB特征提取算法的FSLAM。定位精度的评估可以通过定性和定量两种方式进行。进行定性分析时,可以直观地比较各个SLAM算法估计的轨迹与真实值的差异,通过定性分析可以比较不同算法在不同场景、不同路线下的鲁棒性。在定位的定量评估中,通常使用绝对轨迹误差(ATE)来衡量全局一致性。由于本文算法的重点是减少全局累积误差,因此 ATE 及其相应的统计指标,包括均值、中值、标准差 (Std)、误差平方和 (SSE) 以及均值根平方误差(RMSE)将用于算法评估。地图精度分析将以定量方式进行。由于真实地图很难获得关键点之间的距离,因此我们可以测量门到门的距离、货架尺寸、走廊长度等作为真实值。我们计算地图中真实值和测量值之间的误差来评估地图质量。
A. 特征提取
在手工制作的视觉特征中,ORB 算法广为人知[36]。 ORB 功能建立在 FAST 关键点检测器和 Brief 描述符的基础上。此外,ORB-SLAM已成为视觉SLAM中最具代表性的方法之一。另一方面,基于深度学习网络的特征提取已经取代手工特征成为主导相关研究和应用。 SuperPoint-SLAM中的SuperPoint是SLAM领域使用的深度学习特征提取算法的代表算法[4],可以实时提取特征。 SuperPoint是一个用于关键点检测和特征描述的自监督框架,在某些数据集上比ORB具有更好的性能。另一个代表性算法是HF-Net,它应用于DXSLAM[32]中进行特征提取。 HF-Net[37]可以用单个CNN模型给出局部特征(关键点及其描述符)和全局特征(图像描述符),并且在实时条件下也取得了良好的结果。我们在实验前阶段尝试了多种特征提取算法,经过多次比较中,我们选择以上两种作为传统和深度学习方法的代表进行验证。为了阐明深度特征的优势,本文比较了深度特征提取算法和手工特征提取算法之间的差异。
为了处理这个任务,我们构建了一个图像测试数据集。数据来自多个公共数据集[38]、[39]、[40]、[41],仅保留公共数据集中的室内场景图像。我们对 ORB、SuperPoint 和 HF-Net 的提取效果进行了定性实验分析。两种算法提取的特征数量最大均为1000,实验结果如图6所示。选取测试集中的三幅代表性图像作为例子,展示各种算法的特征点提取效果。第一列是低纹理区域,ORB特征提取器在白墙上获得的特征点较少,而深度特征提取器几乎恢复了墙壁上的纹理;第二列是昏暗的环境,如图像的下半部分所示,ORB提取的特征点较少,而深度特征提取器在此环境下仍然可以提取更多的特征点;图像的第三列是低纹理的长走廊环境,HF-Net 可以比其他方法提取更多结构化特征点。可以验证,深层特征比ORB特征可以应用在更多的环境中,受光照影响更小,即使在缺乏视觉纹理的环境中也能具有良好的特征点检测能力。
图6.特征提取结果
在定量实验中,我们将三种特征提取算法应用于FSLAM,并在两个模拟环境中进行实验,结果如表1所示。在两种场景中,HF-FSLAM检测到251和230个循环帧对,这显着比手工算法更高。虽然 ORB-FSLAM 的精度也不错,但其循环帧对数量较少,表明它检测到的有效循环较少。同时,SP-FSLAM检测到的两个循环帧对的数量环境差异较大,说明两个场景下环路检测率波动较大,算法不稳定。
在回环检测的鲁棒性实验中,我们在两个模拟环境中记录了三组运动数据。如图7所示,实色线表示实际跟踪情况,虚线部分为跟踪丢失的位置。两种算法在库仿真环境下的鲁棒性结果如表2所示。无论环境如何,HF-FSLAM的LR都可以保持在0.1以下,并且跟踪连续性比ORB-FSLAM和SP-FSLAM好得多。在重跟踪帧方面,HF-FSLAM和SP-FSLAM的表现比ORB-FSLAM好得多,并且HF-FSLAM的值低于SP-FSLAM,这表明它在丢失跟踪后重新开始跟踪的能力更强。
图 7. 虚拟环境中的跟踪图
从以上分析可知,具有深层特征的算法在保证算法实时性的同时,比传统手工方法具有更低的跟踪LR,这表明前者具有更高的有效跟踪率,并且具有更好的鲁棒性。同时,具有深层特征的方法具有较低的平均重跟踪帧率,这意味着它可以在跟踪丢失后更快地重新开始跟踪。因此,深层特征从特征数量和鲁棒性来看,提取方法更适合本文。
B.轨迹结果
rosbag分别在图书馆环境和展厅的模拟环境中记录,记录了传感器数据和机器人位姿的真实值。我们分别运行每组算法,并通过相似变换将系统的轨迹与地面实况对齐,以获得绝对位置误差的评估结果。得到两种场景四种状态下的轨迹图如下。
图8为模拟场景中得到的图书馆环境的ATE示意图,图9为展厅环境的ATE示意图。 a、b、c、d分别表示无环路制图师、制图师、ORB-FSLAM、HF-SLAM的轨迹。图中虚线是作为参考的真值轨迹,彩色轨迹是通过相应算法得到的轨迹。
图 8. 图书馆书架场景的轨迹误差比较。
从图8(b)可以看出,制图者的轨迹更加混乱,与真实轨迹的差异更大,甚至比没有环的情况还要大,这也证明了错误的闭环检测会让SLAM系统完全崩溃。碰撞。此外,如图 8(c) 和 (d) 所示,无论使用何种视觉特征提取算法,FSLAM 都会为所有这些序列产生明显更准确的轨迹,其中它们似乎受到较小的漂移。
图 9 显示机器人的运动形成了一个循环。对比子图,无论是使用扫描闭环的制图师还是本文提出的使用融合闭环的FSLAM系统,其误差都比不使用闭环的制图师系统要小,这也体现了闭环优化的作用是有用的。
图9 展厅场景轨迹误差对比。
表三和表四显示了绝对位置误差的定量分析结果,cartographer_wl 表示无循环的制图师。无论算法如何,在具有相似几何形状的图书馆环境中,误差通常比在展厅环境中更高,这也意味着具有相似几何形状的场景对于SLAM来说是一个复杂的结构。由于激光传感器的优势,不受环境外观纹理影响较小,这使得系统相比纯视觉SLAM具有更好的鲁棒性。另外,图10给出了定量分析结果的直方图,从中可以看出各组算法的准确率差异比较更直观。在书架环境中,我们的方法显着改进。在霍尔意义上,HF-FSLAM的RMSE分别比cartographer和ORB-FSLAM提高了54.1%和18.9%。因此,本文设计的FSLAM系统与其他系统相比可以显着减小轨迹误差,并且具有更高的定位精度。
图 10. 两种环境中的绝对误差。
为了论证算法在实际中的可行性,我们还将本文设计的算法放在具有上述设备的真实环境中,四种轨迹如图11所示。在展厅环境中,轨迹基本相似因为结构明显,特征点较多。在图书馆环境下,实验结果与我们的预期一致。带循环的纯 LiDAR 算法由于结构相似而导致错误的循环,因此产生最差的轨迹。 Cartographer在x坐标上明显短于其他轨迹,证明LiDAR里程计受到环境干扰。由于误差的累积,越接近终点,无环路制图师的轨迹漂移越大。相比之下,ORB-FSLAM和HF-SLAM的轨迹保持在更好的水平。
图11.真实环境中的轨迹比较
C. 映射结果
建图实验也在不同环境的四种条件下进行。以该环境下的货架尺寸和各货架之间的间距为标准进行选择。我们仍然选择上述四种算法进行映射比较,并应用与上一组实验相同的rosbag;最终构建的地图中的关键位置数据是在RVIZ接口中测量的,并与相应的真实值计算误差。平均误差用于评估绘图的准确性。
仿真环境的映射结果如图12所示。第一行是书架环境,第二行是大厅环境。对于书架场景来说,制图师的地图出现严重错误,地图几乎无法使用,这表明仅LiDAR算法在具有相似几何结构的环境中并不可靠。在没有循环的制图师的映射结果中,可以在红色框中清楚地看到映射误差,由于全局累积误差的存在,书柜的侧面出现重叠。
图 12. 模拟环境中的映射结果。
图13中的第三张图是ORB-FSLAM结果,第四张是本文提出的HF-FSLAM系统。两种方法的建图精度均明显优于同一区域内无环路SLAM,证明系统成功优化了地图。仔细观察映射结果后,我们发现HF-FSLAM的书架边缘比ORB-FSLAM更少模糊,这证明了深度特征提取算法的优势。对于书架场景,在红框标注的区域,还可以看出,有环路闭合的算法的准确性比没有环路的算法要好。 FSLAM的结果比无循环的算法边缘更清晰,建图效果更好,这也验证了闭环模块对建图的影响。
图 13. 真实环境中的映射结果。
真实环境的映射结果如图13所示,与虚拟环境中的性能一致。在真实的书架环境中,HF-FSLAM 是性能最好的系统。不带循环的cartographer构建的地图存在明显的累积误差,在这种环境下cartographer无法正常工作。在真实的大厅环境中,由于场地面积较小且结构明显,四种SLAM方法的地图精度相差不大。
表V和表VI显示了书架环境中的测绘精度评估结果。从数据中从表中可以看出,LiDAR闭环优化算法在这种环境下几乎失败,无法对地图进行定量分析。其他三类无论是否使用闭环优化,每种算法的构建精度都较高,误差在0.05 m以内。由于运动范围较小或用于评估的参考关键位置缺乏测量辨别力,三种算法的误差范围没有显着差异。与表五和表六的数字相比,由于模拟环境中的干扰项较少,因此仿真环境中的结果精度略高于真实环境中的结果。使用循环的系统在构建地图时的错误比不使用循环的系统要少。 HF-FSLAM 的误差最小,这证实了我们方法的优越性。
六.结论
基于LiDAR的SLAM可以获得准确的结构信息,但缺乏纹理,这可能会影响机器人定位的准确性。采用闭环检测的激光雷达SLAM算法极易出现误检测并导致系统崩溃,尤其是在几何结构相似的场景下。
在本文中,我们讨论了闭环错误的原因并添加视觉纹理信息来解决该问题。此外,还构建了一种可靠的闭环算法,将视觉数据和激光数据紧密耦合地融合在一起。我们还探讨了传统提取算法和深度学习视觉特征提取算法之间的差异,并通过特征提取和鲁棒性验证了 HF-Net 的优越性。最后设计了一个完整的SLAM系统FSLAM。我们使用 HF-Net 提取特征点以辅助图书馆书架环境中的 2-D LiDAR 测绘。与ORB方法相比,本研究提出的方法可以显着提高定位精度和建图精度。
对于未来的工作,考虑到库中有大量的线特征,我们在闭环中仅使用点特征。我们将应用线路特征来提高校准效率并进一步提高鲁棒性。
标签:Closure,Algorithm,环境,Indoor,FSLAM,LiDAR,算法,SLAM,视觉 From: https://www.cnblogs.com/Gaowaly/p/18508490