点云PCL免费知识星球,点云论文速读。
文章:A General Framework for Lifelong Localization and Mapping in Changing Environment
作者:Min Zhao, Xin Guo, Le Song, Baoxing Qin, Xuesong Shi, Gim Hee Lee, Guanghui Sun
编译:点云PCL
文章仅做学术分享,如有侵权联系删文。未经博主同意请勿擅自转载。
摘要
大多数现实场景中(如商场和超市)的环境随时都在变化,不考虑这些更改的预构建建图很容易过时。因此,有必要建立最新的环境地图,以适配机器人的长期定位问题。为此,本文提出了一个通用的长期同步定位和建图(SLAM)框架,该框架使用多部分地图表示,并利用一种有效的地图更新策略,包括地图构建、位姿图细化和稀疏化,为了减少内存使用的无限增长,我们提出了一种基于Chow-Liu最大互信息生成树的地图修剪方法。通过一个多月的机器人在真实超市环境中的部署,所提出的SLAM框架已经得到了全面的验证。此外,我们还发布了从室内和室外变化环境中收集的数据集,希望能够加速长期定位的SLAM研究,数据集可在
https://github.com/sanduan168/lifelong-SLAM-dataset
主要贡献
典型的SLAM系统由前端和后端模块组成,前端模块从传感器获取数据,如激光雷达点云和相机图像,并计算连续数据帧之间的位姿关系,后端模块通过运行回环检测来校正前端估计的漂移,为了应对环境变化,我们在前端和后端模块的基础上引入了地图更新模块,此地图更新模块执行以下操作:
- 在进行定位时收集传感器数据并记录动态场景。
- 检测旧地图和实时更新地图之间的差异。
- 使用实时更新的地图修剪旧地图,从而在高效恒定的计算复杂度下跟上环境变化。
在本文中,作者提出了一个长期定位和建图的一般框架,具体地说,该框架跟踪场景中的变化,并维护最新的地图,以便进行准确而稳健的定位估计,作者在超市环境中连续工作一个多月的真实商业机器人上测试了此方法。实验结果表明,在环境发生重大变化的情况下,该方法能够实现精确而鲁棒的定位。本文的主要贡献总结如下:
- 提出了一种在不断变化的环境中完整的长期SLAM总体框架;
- 在保持计算和内存复杂性的情况下,有效运行一种基于子地图的图形稀疏化方法;
- 开放了在不断变化的环境中,激光雷达、IMU和车轮编码器数据的公共数据集,用于长期SLAM的研究。
主要内容
图2,提出的长期SLAM框架概述
A.整体结构
如图2所示该系统由三个子系统组成:局部激光雷达里程计(LLO)、全局激光雷达匹配(GLM)和位姿图优化(PGR),LLO的作用是构建一系列局部一致的子地图,GLM子系统负责计算传入扫描点云和全局子地图之间的相对约束,并将子映地图和约束插入PGR,PGR是我们系统中最重要的部分,它从LLO和GLM收集子地图和约束关系,修剪并保存在历史地图中的旧的子地图,并执行姿势图稀疏化和优化。
B. Multi-session定位
地图管理程序的方法基于图3所示的地图更新过程,部署到新环境中的机器人必须首先执行建图,收集传感器数据(包括激光雷达、IMU和车轮编码器),并构建当前环境的地图表示,该地图由多个占用栅格子地图组成,其中每个子地图包括固定数量的具有相应位姿的激光雷达扫描数据。有两个优点:
1)局部扫描点云到子地图匹配,单个子地图不受全局优化的影响;
2)通过修剪旧的子地图并向其添加新子地图中,可以方便地更新全局贴图。
建图阶段结束后,机器人执行定位任务并从LLO创建新的子地图,这些子地图总是最新的,不断记录当前环境的最新特征,创建新的submap后,将其传输到PGR以进行后续的map更新,除LLO外,传感器数据还输入到GLM,GLM负责计算全局地图中扫描点云和地图之间的相对测量约束,并将约束输出到PGR。PGR是框架的关键子系统,它分别从LLO和GLM接收新的子地图和约束关系。PGR由三个模块组成:子地图修剪、位姿图稀疏化和位姿图优化。它通过替换旧会话中过时的子地图来维护最新的子地图。此外,为了保持姿态图的稀疏特性,去除了相关的陈旧子地图、节点和约束关系,来自PGR的其余子地图被传输到全局子地图数据库,用于后续的定位任务,我们称此过程为“地图更新”。每个定位部分都重复上述步骤,以估计机器人的姿势并获得更新的地图。
图3,地图更新过程的示意图,在建图阶段的session0期间,首先构建一个新地图,给定预先构建的地图,机器人然后估计其姿势,并在接下来的定位阶段更新地图。
C. 位姿图优化
1)子地图修剪:在长期定位的背景下,每当机器人重新进入之前访问过的地形时,新的子贴地图将被添加到全局地图,而不是过时的子地图,关键的想法是修剪旧的子地图以限制其数量。大多数现有方法依赖于环境变化检测。他们需要通过逐单元比较旧地图和最新地图,找出何时更新本地的地图,为了降低计算复杂度,我们采用计算过时子地图的重叠率,如果比率低于定义的阈值,则不会删除旧的子贴图,否则,它们将在以下位姿图稀疏化模块中标记为修剪和删除,无论旧子地图的状态如何,新子贴图都将添加到姿势图中。这种方法的优点是,我们可以为在固定区域工作的机器人保持恒定的计算时间。
2)位姿图稀疏化:丢弃修剪子地图的直接方法是抛出与子地图连接的所有约束和节点,然而,这种方法会丢失很多关于位姿图的信息,从而导致位姿图的不稳定性,边缘化是缓解这一问题的有效途径,为了避免在所有变量对之间引入新边,从而降低图的稀疏性并大大增加计算复杂度,这里采用Chow-Liu树将单个消除团近似为稀疏树结构。
图4示出了稀疏化过程,给定一个原始位姿图(图4(a)),在图4(b)(蓝色虚线矩形)中预定移除一个带有两个节点的子地图,我们提取相关的子地图和节点(图4(b)中带有红色点圆的点)作为局部因子图,在边缘化子地图和节点后,前邻居形成一个消去团,使图变得稠密(图4(c))。
图4,举例说明了基于Chow–Liu最大互信息生成树的图稀疏化。(a) 未移除子地图的原始位姿图,(b) 选择中央子地图及其节点进行修剪。红色虚线圆圈突出显示具有蓝色矩形约束的相关子地图和节点。(c) 边缘化后的结果,它们的前邻居形成了一个消去团,使得位姿图变得稠密(d) 由消除团的Chow–Liu树近似得出的结果。(e) 将消除后并到原始姿势图中
实验
A.实验设置和数据集
图5,该清洁机器人配备了一台TiM571 2D激光雷达,它配备了用于航位推算的编码器和HI219M AHRS(带车载3-aixs加速计、3-aixs陀螺仪和3-aixs罗盘)。Intel SR300 RGBD摄像头用于感知和避障
为了验证我们的算法,我们在超市部署了一个三轮清洁机器人,如图5所示。包括定位、导航和感知在内的算法模块在配备Intel i5-4300M CPU和8G内存的工业计算机上执行,在一个月的时间里,机器人以随机的起始位置在室内环境中执行清洁任务,我们选择位于中国北京的一家超市作为实验地点,因为它的人流、移动的手推车、货物等高度动态,这对任何定位算法的准确性和稳定性都是一个巨大的挑战。由于测试数据对于设计更鲁棒的定位系统非常有价值,因此我们将其作为数据集收集并发布,以加速长期SLAM研究。数据集中的场景包括市场、车库和办公室,由2D激光雷达(Sick TiM571)和3D激光雷达(RoboSense RS-LiDAR-16)记录,数据集还记录其他传感器数据,包括车轮编码器和IMU,对于每个数据序列,我们仔细校准了设备内部的外部信息,特别是激光雷达和里程计之间的转换,我们还以10 Hz的频率提供了真值姿态,通过将激光雷达扫描与预先构建的一致地图进行比较。
B.算法评估
图12显示了实验结果,(a) (b)(c)是从市场收集的,每列中的左上角图像和右上角图像显示在不同时间捕获的大致相同的位置。左下方和右下方的图像显示了相应的地图更新结果。应该注意的是,地图的外观与子地图不同,因为为了方便查看,我们将子地图切片连接到单个占用栅格地图中,此外,我们在车库场景中测试了我们的算法,(e)(f)(g)显示了结果。图6显示了在市场上运行一个月后地图变化的结果。(a) 是地图阶段的预构建地图,(b)是基于(a)的更新地图。
图12,环境变化实例及相应的地图更新实验。(a)、(b)和(c)中的结果来自市场。(d)、(e)和(f)来自车库
图6 显示了在超市里运行一个月后地图变化的结果。(a) 是建图阶段的预构建地图,(b)是基于(a)的更新地图,我们比较这两种地图之间的差异如(c)所示。
图7,25个超市数据的定位测试结果,每个算法左上角的百分比值为MRCL,右下角的百分比值为CRI
长期SLAM在多次地图更新后的定位表现
总结
为了解决现实世界中的环境变化问题,我们提出了一个完整的可长期运行的SLAM框架,该方法利用多个定位会话和地图更新策略,可以跟踪场景变化并获得最新地图,提出了一种基于子地图稀疏化方法,长期SLAM图的复杂性,经过15次地图更新后,节点和子贴图的数量大致保持不变,计算负载随地图更新25次而变化,在Chow-Liu最大互信息生成树上平衡计算复杂度和定位精度,一个多月来,在真实的超市中全面验证了我们的方法,实验表明,该方法在实际应用中具有一定的实用价值,此外,我们发布了我们的终身SLAM数据集,以加速这些场景中健壮的SLAM研究,然而,我们的方法目前没有考虑到环境的意外急剧变化,更改可能会导致定位漂移,因为传入扫描点云和地图之间没有有效的约束度量,在未来,我们计划探索更健壮的定位算法来解决这个问题。