大规模多会话图SLAM的在线全局环路闭包检测

摘要-对于大规模、长期的同步定位与地图(SLAM),机器人必须处理由被绑架的机器人问题或多会话映射引起的未知初始定位。本文通过将SLAM系统与全局环路闭合检测方法结合来解决这些问题,该方法本质上处理了这些情况。然而,全局环路闭合检测方法的在线处理通常受环境大小的影响。所提出的基于图的SLAM系统使用一种只考虑地图部分以满足在线处理需求的内存管理方法。使用配备有激光测距仪和Kinect的机器人的建筑物的五个室内测绘会话,测试和演示了该方法。
一、引言
在现实生活中操作的自主机器人必须能够在大的、非结构化的、动态的和未知的空间中导航。为此,它们必须构建其操作环境的映射,以便将其自身定位在其中,这个问题称为同时定位和映射(Sim..localization and mapping,SLAM)。SLAM中的一个关键特征是检测先前访问的区域以减少地图错误,称为环路闭合检测的过程。我们的兴趣在于基于图的SLAM方法[1],该方法使用节点作为姿态,使用链接作为里程计和循环闭合转换。
虽然基于单会话图的SLAM已经被大量地解决了[2]-[4],但是多会话SLAM涉及必须处理这样的事实,即机器人在长期的操作期间最终将被关闭并移动到另一个位置而不知道它。这种情形包括所谓的绑架机器人问题和初始状态问题:当机器人打开时,它不知道它与先前创建的地图的相对位置。进行多会话映射的一种方法是让机器人在启动时将自己定位在先前构建的地图中。这个解决方案的优点是总是使用相同的引用,并且在会话中只创建一个映射。然而,机器人必须在已经映射的环境的一部分开始,否则它永远无法在其中重新定位。另一种方法是使用自己的引用初始化新映射,当遇到以前访问的位置时,可以计算两个映射之间的转换。在[5 ]中,使用称为“锚节点”的特殊节点来保持地图之间的转换信息。类似的方法也用于多机器人映射[6]:当机器人看到另一个或当两个机器人在它们各自的地图上看到地标时,计算地图之间的变换。

通过独立于机器人的估计位置[7],全局环路闭合检测方法能够本质上解决使用不同的参考文献[8]确定机器人何时返回到先前地图的问题。流行的全局循环检测方法是基于外观的[9 ] -(12),利用图像的独特性。这些方法背后的基本思想是通过比较所有以前的图像和新的图像来进行循环闭合检测。
当在映射之间找到循环闭包时,可以通过组合来自每个会话的图来创建全局图。然后,可以使用图形姿态优化方法[13]–[15]来使用每个地图内部以及地图之间的姿态和链接变换来减少里程计误差。
所有的解决方案可以集成在一起,创建一个基于功能图的SLAM系统。然而,对于闭环检测和图优化方法,在线约束满足受限于环境的大小。对于大规模的和长期的操作,地图越大,在线处理数据所需的计算能力就越大。移动机器人的计算资源是有限的,因此在线地图更新是有限的,因此地图的某些部分必须被遗忘。存储器管理方法[16]可用于限制映射的大小,使得总是在固定的时限下处理循环闭合检测,从而满足长期和大规模环境映射的在线要求。
本文提出的解决方案同时解决了两个问题:多会话映射和具有有限计算资源的在线地图更新。全局环路闭合检测在映射会话中使用,以检测机器人何时重新映射先前的映射。使用这些循环闭合约束,优化了图表,以将轨迹误差最小化,并在同一参考中将地图合并在一起。内存管理机制用于限制通过全局循环闭合检测和图形优化处理的数据,以便独立于环境的大小而尊重在线约束。使用室内环境中的机器人,在五个映射会话上测试该算法。论文的结构如下:第二节介绍了我们的方法。第三节介绍实验结果,第四节讨论该方法在非常长时间手术中的局限性。第五部分总结全文。

二。在线多会话图形SLAM
在我们的方法中,地图的底层结构是一个带有节点和链接的图。节点为地图中的每个位置节省测距。节点还包含用于环路闭合检测的可视化信息,如激光扫描、RGB图像、深度图像和可视化单词[17]。链路存储节点之间的刚性几何变换。有两种类型的链接:邻居和循环闭包。相邻节点在当前和先前节点之间加入它们的测距法变换。
当在当前节点与来自相同或先前映射的节点之间发现循环关闭检测时,将添加循环关闭链接。本文的贡献在于通过内存管理过程[16]将循环关闭检测[16]和图优化[14]这两种算法结合起来,该过程限制了从图中可用于循环关闭检测和图优化的节点数量,因此它们总是满足在线要求。
A.闭合检测

用于全局环路闭合检测的环路,使用在[16 ]中描述的字包方法。简单地说,这种方法使用贝叶斯滤波器来评估所有先前图像的闭环闭合假设。当闭环闭合假设达到预定义的阈值H时,检测到环路闭合。视觉词是量化为增量式视觉词典的SUVF特征,用于计算滤波器所需的似然度。
本文中,提取视觉词的RGB图像与深度图像配准,即,对于RGB图像中的每个2D点,可以使用校准矩阵和深度图像给出的深度信息来计算3D位置。然后知道视觉单词的3D位置。当检测到环路闭合时,使用3D视觉单词对应用RANSAC方法计算匹配图像之间的刚性变换。如果找到最小I内嵌项,则接受循环闭包,并将具有当前节点和循环闭包假设节点之间这种转换的链接添加到图中。如果机器人被约束在单个平面上操作,则变换可以通过使用匹配节点中包含的激光扫描的2D迭代最近点(ICP)优化[18]来细化。
B.图优化

TORO[14](Tree-.netwORk Optimizer)是用于图优化的方法,其中节点姿态和连接变换被用作约束。当发现环路闭合时,由测距法引入的误差可以传播到所有链路,从而校正映射。当只有一个映射时,使用TORO从地图的图中创建树相对简单:TORO树因此只有一个根。在多会话映射中,创建的不同映射具有它们自己的根与它们自己的参考帧。当在映射之间发生闭包时,如果有多个根,TROO就不能优化图。如果地图的某些部分在当时被遗忘或不可用,可能也难以找到唯一的根(因为用于满足在线处理需求的内存管理方法,Sect.IIC)。为了疏远这些问题,我们的方法采用树的根作为添加到当前映射图的最新节点,当前映射图总是在会话内和会话间映射之间唯一定义。

C.在线多会话映射的内存管理
对于在线映射,新的传入数据必须比获取它们所需的时间处理得更快。例如,如果数据是以1Hz获取的,那么应该向图中添加新的数据,并且进行全局循环闭合检测,并且应该在不到R=1秒的时间内进行图形优化。问题是闭环闭合检测和图形优化所需的时间取决于MAP的图形大小。
长期和大规模的在线地图,然后限制了环境的大小。为了解决这个问题,使用RTABMap内存管理方法[16]通过循环闭合检测和图优化算法在线维护可管理的图,从而使本文提出的度量SLAM方法独立于环境的大小。
该方法的工作原理如下。存储器由短期存储器(STM)、工作存储器(WM)和长期存储器(LTM)组成,如图1所示。STM是获取新数据时添加到图中的新节点的入口点,并且具有固定大小的S。STM中的节点通常彼此非常相似,因此不考虑用于循环闭合检测。当STM大小到达S节点时,将最老的节点移动到WM,以考虑环路闭合检测。WM的大小间接地依赖于一个固定的时限T。当处理新数据所需的时间达到T时,图的一些节点从WM转移到LTM,从而保持WM的大小几乎恒定。LTM不用于环路闭合检测和图优化。
然而,如果检测到循环闭合,则旧节点的LTM中的邻居可以传输回WM(称为检索的过程)以进行进一步的循环闭合检测。换句话说,当机器人重新访问以前被遗忘的区域时,如果该区域的至少一个节点仍然在WM中,它可以递增地记住该区域。
在WM中保持哪些节点的选择基于STM中的权重更新步骤。用于增加节点重量的启发式方法是基于这样的原则,即像人类所做的[19]、[20]一样,机器人应该记住他们大部分时间都在其中度过的区域。因此,机器人在特定位置上的时间越长,节点的权重就越大。如果两个连续图像是相似的,即图像之间的对应视觉词的比率超过指定的阈值Y,则第一图像的节点的权重增加1,并且没有为第二图像创建新节点。通过遵循这种启发式,搜索时间和空间之间的折衷因此由环境和机器人的经验驱动。WM中最老和最小加权的节点比其他的节点先被传输到LTM,因此在WM中只保留较长时间可见的节点。

对于本文提出的方法,局部映射由最大全连通图组成,该图可以通过从最后一个节点(用作根)到WM中的那些节点的邻居和循环闭合链接创建。图2说明了这个概念。菱形表示每个映射会话的初始节点和结束节点。LTM中的节点用红色表示,而其他节点则是WM中的节点。当前本地映射仅使用与最后一个节点(虚线区域中的所有节点)链接的WM中的节点来创建和优化。因此,本地映射不仅仅代表最新的映射会话:它可以通过循环闭合链接(绿色链接)跨越多会话映射。仍然在WM中的未包括在本地映射中的其他节点无法通过此时WM中可用的链接从最后一个节点到达。
使用这种内存管理方法,图的某些部分可能缺失以进行图优化,如II-B中所述。联机图优化是在本地地图上进行的,此时WM中可以使用约束。不使用传递到LTM的约束,从而限制了与使用可用的所有约束相比的图形质量。这是妥协,使之能够满足在线处理要求。然而,如果需要,该方法仍然能够通过使用LTM的所有约束来创建全局映射,并且离线地执行全局图优化。

三、结果
用于实验的数据集是使用AZIMUT-3机器人[21]获取的,如图3所示,该机器人装备有URG-04LX激光测距仪和Kinect传感器。Kinect中的RGB图像用于基于外观的循环闭合检测,而深度图像用于寻找视觉单词的3D位置。从Kinect创建的激光扫描和RGB-D点云被用于地图可视化。正如在II-A中提到的,因为在这个实验中,机器人被限制为单个平面,所以在激光扫描下使用2DICP对环路闭合变换进行细化以提高精度:然后变换被限制在三个自由度(x,y和z轴上的旋转),忽略noi通过视觉变换计算其他自由度。


通过在我们实验室的不同位置启动机器人,进行了五个映射会话(总长度为750米)。在映射会话之间,机器人被关闭以复位测距,并移动到另一个位置。在每个会话中,机器人重新访问先前会话中映射的至少一部分环境。数据采集是使用ROS PACK机制(http://Ro.org)来完成的。
在ROS袋中,在1 Hz(即,R=1秒)中记录测距、激光扫描、RGB图像和深度图像。可以使用与获取期间相同的定时播放ROS包,为映射提供逼真的输入,并为使用ROS的其他算法提供良好的通用格式。每个映射会话使用一个ROS包。ROS包在MacBook Pro 2010:2.66 GHz的英特尔核心I7和SSD硬盘驱动器上进行处理(保存LTM)。
进行了两个实验(STM大小S=10,RANSAC的最小内隐I=5,假设阈值H=0:11,相似性阈值Y=0:45)。对于第一个实验,我们的方法独立处理每个映射会话,即在每个会话之间清除内存。时间限制T设置为0:7s。图4示出了会话1, 2和3的结果图,有图优化和无图优化。浅灰色区域是使用激光测距仪检测到的空白空间。在这些实验中,没有节点被转移到LTM(局部地图等于全局映射)。图6证实了这一点:对于这些会话,T从未达到,因此所有节点都用于循环关闭检测和图优化。图5显示了映射会话4和5(即,映射4和Map 5)的结果:未优化的全局图(左)、最后的局部图(中)和全局图(右)。本地映射是从最后一个节点在线创建的最大映射(在WM中可用节点),全局映射是在映射会话(在WM和LTM中所有节点)之后离线生成的。如图6所示,T在结尾之前到达。图5b)说明了向LTM传输节点以满足在线需求的效果。即使用仍然在WM中的映射的较老部分可以检测到循环闭包(如a所示),如果循环闭包的邻居在LTM中,则无法全局优化映射。为了进行比较,图5c)是使用LTM中的所有约束离线创建的映射:这里,具有映射旧部分的循环闭包对图形优化有影响。

对于第二个实验,五个映射的数据集被一个接一个地处理,就像在真正的多会话映射试验中一样。机器人在每次会话前将测距法复位到零时自动启动一个新的地图。在会话之间保存了内存,T也设置为0:7s。图7显示了最后的局部映射(浅灰色区域中的节点是WM中的节点)和全局图(蓝线),没有优化。地图彼此相交,因为它们都是从同一个参照物开始的。在同一个映射(会话内)中检测到的循环闭包和在映射(会话间)之间检测到的循环闭包分别以红色和绿色显示。为了更容易地区分会话间环路闭包,图8示出了随着时间推移姿态的y值的全局图。注意,每个会话的所有路径在Y=0开始,并且它们没有通过邻居链路连接在一起。使用所有检测到的环路闭合来优化图,导致所有五个映射会话的单个完全连接映射。图9示出了通过使用图的优化姿态从Kinect组装RGB-D点云得到的全局地图。


图10 a)示出了从所有映射会话创建的结果的局部映射。因为本地映射仅从WM中直接或间接链接到最后一个节点的节点构建,所以只有小部分全局映射可以在线获得。注意,本地映射也小于独立获取的Map 5(如图5所示):在第二个实验中,仍然在WM中的先前映射会话中具有更多权重的节点,因此来自最新映射会话的更多节点被传输到LTM,而不用于本地地图创建。这些高权重节点位于图10 b的浅灰色区域中。蓝线表示使用LTM中的所有约束创建的全局图。当使用LTM中的所有约束时,局部映射也稍微更直。在实验结束时,全局图具有2074个节点,所有映射会话都连接,WM中有330个节点(分别来自地图1、2、3、4和5的107、12、27、28、156个节点),其中173个节点对本地地图是可访问的(来自地图1、2、3、4和5的4、15、6、0、148个节点,resp正常地)。对于局部映射,从最后一个会话中的高比例的节点是正常的,这是最近的一个。旧版本的节点是从最新的闭环发现的LTM中检索的节点。例如,当机器人正在映射一个新区域时,只有最后一个会话的节点将在本地映射中。

为了观察记忆管理对创建的地图质量的影响,我们进行了同样的实验,没有T。然后将所有节点保持在WM中,并且在每个时间步长上通过回路闭合检测和图优化来处理它们。通常,在没有将节点转移到LTM的情况下,将检测到更多的循环闭合,因此将使用更多的约束进行图优化。
如图12所示,处理时间变得大于获取时间R,T=0:7s的情况并非如此。然而,如果没有T,则检测到193个会话内和387个会话间环路闭合,相比之下,在线实验分别检测到188和258。图11将得到的全局地图与(蓝色)和没有(红色)T进行比较。通过与建筑方案比较(计划像生成的地图一样缩放为5cm/像素,地图是手动定向的,因此轨迹与穿过的大多数门对齐),没有T(红色)的实验质量略好于T(蓝色),可能是因为更多的循环闭包用于图形优化。然而,对于这两个条件,来自地图5的大循环与建筑计划没有正确对齐。机器人只经过这一区域一次,并且从它进入的同一扇门离开,使得图形优化算法更难纠正这个单一入口点的角度误差。为了进行比较,地图的左边部分在会话4期间也经过了一次,但是机器人从另一扇门离开该区域,从而使该区域对角误差更加鲁棒。

四、讨论
在处理时间方面,结果表明,所提出的方法能够独立于环境的大小来满足在线处理要求。然而,映射质量取决于可以检测到的环路闭锁的数量。为了满足在线要求,机器人在LTM中传输地图中不能用于环路闭合检测的部分。对于多会话映射,如果在使用新映射检测循环关闭之前将先前映射的所有节点转移到LTM,则最坏情况会发生。这将导致完全忘记以前的地图:在WM中甚至LTM中都不会有链接可以将这个旧地图连接到新地图,甚至对于全局地图的构建来说,它也会被忽略。为了避免这个问题,我们的方法可以为WM中的每个映射保持至少一个节点。然而,如果映射会话的数量变得非常高(例如,数千个会话),则这些节点肯定必须在LTM中传输以满足在线需求。对于长期的、大规模的和多会话的映射,地图的某些部分将被完全遗忘,因此需要某种启发式来有效地管理重要节点以保持在WM中。
另一个观察是频繁地重读旧地图增加了全球地图质量。一个机器人自主映射一个设施,当检测到一个旧的地图,决定重新访问它的一些部分,以检测更多的会话间闭包,从而创建更多的约束图形优化。在进行的实验中,没有检测到无效的环路闭包。如果出现这种情况,则将错误约束添加到图形优化中,从而导致MAP错误。一些图优化方法,如〔22〕,〔23〕处理可能的无效匹配,并且可用于增加所提出的方法的鲁棒性。

五、结论
本文提出的基于图的SLAM方法能够满足大规模、长期和多会话在线地图绘制的需要。通过限制WM中可用于全局环路闭合检测和图优化的节点数量,实现了对新获取的数据的在线处理。我们的方法是紧密基于全局闭环检测,允许它自然地处理绑架的机器人问题和里程计中的严重错误。我们的代码是开源的,可以在http://rtabMAP.GooGoCord.COM/。
在以后的工作中,我们计划研究自主探索策略对多会话映射的影响,特别是如何基于可用于在线映射和图形优化的节点来主动地指导探索。

REFERENCES
[1] F. Lu and E. Milios, “Globally consistent range scan alignment for environment mapping,” Autonomous robots, vol. 4, no. 4, pp. 333– 349, 1997.
[2] M. Bosse, P. Newman, J. Leonard, and S. Teller, “Simultaneous localization and map building in large-scale cyclic environments using the Atlas framework,” Int. J. of Robotics Research, vol. 23, no. 12, pp. 1113–39, 2004.
[3] S. Thrun and M. Montemerlo, “The graph SLAM algorithm with applications to large-scale mapping of urban structures,” Int. J. of Robotics Research, vol. 25, no. 5-6, pp. 403–429, 2006.
[4] G. Grisetti, R. Kummerle, C. Stachniss, and W. Burgard, “A tutorial ¨ on graph-based SLAM,” Intelligent Transportation Systems Magazine, IEEE, vol. 2, no. 4, pp. 31–43, 2010.
[5] J. McDonald, M. Kaess, C. Cadena, J. Neira, and J. Leonard, “Realtime 6-DOF multi-session visual SLAM over large scale environments,” Robotics and Autonomous Systems, vol. 61, no. 10, pp. 1144– 58, 2012.
[6] B. Kim, M. Kaess, L. Fletcher, J. Leonard, A. Bachrach, N. Roy, and S. Teller, “Multiple relative pose graphs for robust cooperative mapping,” in Proc. IEEE Int. Conf. on Robotics and Automation. IEEE, 2010, pp. 3185–3192.
[7] K. L. Ho and P. Newman, “Loop closure detection in SLAM by combining visual and spatial appearance,” Robotics and Autonomous Systems, vol. 54, no. 9, pp. 740–749, 2006.
[8] M. Cummins and P. Newman, “Appearance-only SLAM at large scale with FAB-MAP 2.0,” The Int. J. of Robotics Research, vol. 30, no. 9, pp. 1100–1123, 2011.
[9] A. Angeli, D. Filliat, S. Doncieux, and J.-A. Meyer, “Fast and incremental method for loop-closure detection using bags of visual words,” IEEE Trans. on Robotics, vol. 24, no. 5, pp. 1027–1037, October 2008.
[10] T. Botterill, S. Mills, and R. Green, “Bag-of-words-driven, singlecamera simultaneous localization and mapping,” J. of Field Robotics, vol. 28, no. 2, pp. 204–226, 2011.
[11] K. Konolige, J. Bowman, J. Chen, P. Mihelich, M. Calonder, V. Lepetit, and P. Fua, “View-based maps,” The Int. J. of Robotics Research, vol. 29, no. 8, pp. 941–957, July 2010.
[12] O. Booij, Z. Zivkovic, and B. Krose, “Efficient data association for ¨ view based SLAM using connected dominating sets,” Robotics and Autonomous Systems, vol. 57, no. 12, pp. 1225–1234, 2009.
[13] J. Folkesson and H. I. Christensen, “Closing the loop with graphical SLAM,” IEEE Trans. on Robotics, vol. 23, no. 4, pp. 731–41, 2007.
[14] G. Grisetti, S. Grzonka, C. Stachniss, P. Pfaff, and W. Burgard, “Efficient estimation of accurate maximum likelihood maps in 3D,” in Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, 2007, pp. 3472–3478.
[15] H. Johannsson, M. Kaess, M. Fallon, and J. J. Leonard, “Temporally scalable visual SLAM using a reduced pose graph,” in RSS Workshop on Long-term Operation of Autonomous Robotic Systems in Changing Environments, Karlsruhe, Germany, May 2012.
[16] M. Labbe and F. Michaud, “Appearance-based loop closure detection for online large-scale and long-term operation,” IEEE Transactions on Robotics, vol. 29, no. 3, pp. 734–745, 2013.
[17] J. Sivic and A. Zisserman, “Video Google: A text retrieval approach to object matching in videos,” in Proc. 9th Int. Conf. on Computer Vision, Nice, France, 2003, pp. 1470–1478.
[18] P. J. Besl and N. D. McKay, “Method for registration of 3-D shapes,” in Robotics-DL tentative. International Society for Optics and Photonics, 1992, pp. 586–606.
[19] R. Atkinson and R. Shiffrin, “Human memory: A proposed system and its control processes,” in Psychology of Learning and Motivation: Advances in Research and Theory. Elsevier, 1968, vol. 2, pp. 89–195.
[20] A. Baddeley, Human Memory: Theory and Practice. Psychology Pr, 1997.
[21] F. Ferland, L. Clavien, J. Fremy, D. Letourneau, F. Michaud, and ´ M. Lauria, “Teleoperation of azimut-3, an omnidirectional nonholonomic platform with steerable wheels,” in Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, Oct 2010, pp. 2515–2516.
[22] Y. Latif, C. D. C. Lerma, and J. Neira, “Robust loop closing over time.” in Robotics: Science and Systems, Sydney, Australia, July 2012.
[23] N. Sunderhauf and P. Protzel, “Towards a robust back-end for pose graph SLAM,” in Proc. IEEE Int. Conf. on Robotics and Automation, 2012, pp. 1254–1261.

猜你喜欢

转载自blog.csdn.net/weixin_36662031/article/details/83960953
今日推荐