CN111279391B - 一种构建移动设备运动模型的方法及相关系统 - Google Patents
一种构建移动设备运动模型的方法及相关系统 Download PDFInfo
- Publication number
- CN111279391B CN111279391B CN201880063630.XA CN201880063630A CN111279391B CN 111279391 B CN111279391 B CN 111279391B CN 201880063630 A CN201880063630 A CN 201880063630A CN 111279391 B CN111279391 B CN 111279391B
- Authority
- CN
- China
- Prior art keywords
- closed loop
- closed
- graph
- pose
- closed loops
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 230000033001 locomotion Effects 0.000 title claims abstract description 14
- 238000012360 testing method Methods 0.000 claims abstract description 24
- 230000003190 augmentative effect Effects 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 10
- 238000003064 k means clustering Methods 0.000 claims description 5
- 230000000717 retained effect Effects 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 238000005259 measurement Methods 0.000 claims description 3
- 238000009826 distribution Methods 0.000 description 19
- 230000007704 transition Effects 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 14
- 238000005457 optimization Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000002347 injection Methods 0.000 description 8
- 239000007924 injection Substances 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 230000003416 augmentation Effects 0.000 description 5
- 230000004807 localization Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000014616 translation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000000546 chi-square test Methods 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 206010034701 Peroneal nerve palsy Diseases 0.000 description 1
- 102000008115 Signaling Lymphocytic Activation Molecule Family Member 1 Human genes 0.000 description 1
- 108010074687 Signaling Lymphocytic Activation Molecule Family Member 1 Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000005358 geomagnetic field Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
- G01C22/02—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers by conversion into electric waveforms and subsequent integration, e.g. using tachometer generator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
一种构建移动设备的运动模型的计算机实现的方法1000,其中该方法包括使用所述设备的传感器获得提供所述移动设备的估计位姿的位置数据1002;基于来自所述传感器的位置数据生成初始图1004,所述图的节点提供所述设备的一系列可能的位姿,所述图的边表示里程和/或闭环约束;通过在每个闭环与一组其他闭环之间进行成对一致性测试1006,处理所述图以估计每个闭环置信度评分;以及通过基于所述置信度评分对每个闭环进行保留或删除1008从所述初始图生成增广图。
Description
本发明涉及一种构建一个或以上移动设备的运动模型的方法和相关系统。具体而言,实施例可以利用同时定位与建图(SLAM)。更具体地,本发明涉及所识别的闭环的处理,该闭环可以被正确或不正确地识别,并且优选地输出提供运动模型的位姿图。
位姿图同时定位与建图(Simultaneous Localization and Mapping,SLAM)是现有技术中最流行、最有效的机器人定位技术之一,并且在过去十年中引起了人们的极大兴趣。位姿图通常由传感器的前端构建,带有表示约束(例如里程的观测值,通常受长期漂移的影响)的边,和表示机器人位姿或地标的节点。“位姿”通常包含位置和方向。
重新访问某个区域时-例如,当前端识别出机器人(或人)已返回到先前访问的位置时会产生闭环。因此,可以计算出第一次访问的机器人的位姿和后续访问的机器人的位姿之间的转换-这个转换链接两个不同轨迹上的节点,因此被描述为闭环。通过在图中插入其他边(或约束)来表示闭环。
方便地,位姿图SLAM后端可用于通过最小化位姿图的误差来获得改进的机器人的位置。
在位姿图SLAM系统中,不正确的闭环会阻碍优化器收敛到正确的解,从而显著降低定位精度和地图一致性。因此,研究人员试图在存在大量假阳性闭环的情况下提高其鲁棒性。假阳性闭环是指系统错误识别的闭环,即不是真正的闭环。
在典型的机器人应用中,平台配备了功能强大的传感器,例如激光雷达和视觉系统,可以高度准确地检测闭环。
但是,在一些信息量较少的新兴应用中,例如用于基于智能手机定位的地球地磁场,模糊闭环的数量可能会不成比例地高于真实闭环的数量。现有的方法在使用不可靠的前端系统时往往会失败,很大一部分(实际上是大部分)推断出的闭环是不正确的。
现有的后端优化器可以容忍一小部分不正确的闭环。但是,如果假阳性闭环的数量过高(例如>50%),则图优化可能会表现不佳或完全失败。
近年来,通过提高后端对假阳性闭环的鲁棒性,为提高位姿图SLAM系统的可靠性做出了巨大的努力。现有算法主要集中在如何检测假阳性闭环并进一步减轻其影响上,例如,请参见:
[1]N.Sunderhauf和P.Protzel,2012年IEEE国际会议上的机器人与自动化(ICRA)中的“迈向位姿图猛击的强大后端”,IEEE,2012,第1254–1261页;
[2]N.Sunderhauf和P.Protzel,2012年IEEE/RSJ国际会议上的智能机器人和系统中的“可切换的约束实现鲁棒的位姿图猛击”,IEEE,2012,第1879–1884页;
[3]P.Agarwal,G.D.Tipaldi,L.Spinello,C.Stachniss和W.Burgard,,2013年IEEE国际会议上的机器人与自动化(ICRA)中的“使用动态协方差缩放的鲁棒图优化”,IEEE,2013,第62-69页;
[4]Y.Latif,C.Cadena和J.Neira,Proc机器人技术:科学系统中的“稳健的循环随着时间的推移而关闭”,2013,第233–240页;
[5]E.Olson和P.Agarwal,“关于鲁棒机器人映射的混合物网络的推论”,《国际机器人研究杂志》,2013,第32卷,第7期,第826–840页;
[6]E.Olson,“关于用于鲁棒机器人映射的混合物网络的推理”,《机器人技术:科学与系统》,第8章,第313页,2013;
[7]G.H.Lee,F.Fraundorfer和M.Pollefeys,2013年IEEE/RSJ国际会议上的智能机器人和系统中的“以期望最大化的稳健性位姿图闭环”,IEEE,2013,第556–563页;
[8]Y.Latif,C.Cadena和J.Neira,“位姿图大满贯的鲁棒循环随时间而关闭”,《国际机器人研究杂志》,第1611–1626页,2013年;
[9]L.Carlone,A.Censi和F.Dellaert,2014年IEEE/RSJ国际会议上的智能机器人和系统中的“通过l-1弛豫选择良好的测量:一种图上鲁棒估计的凸方法”,IEEE,2014年,第2667–2674页;
[10]M.C.Graham,J.P.How和D.E.Gustafson,2015年IEEE/RSJ国际会议上的智能机器人与系统(IROS)中的“以一致性进行检查的稳健增量猛击”,IEEE,2015年,第117–124页;
[11]A.V.Segal和I.D.Reid,IEEE/RSJ国际会议上的智能机器人与系统(IROS2014)的“用于鲁棒位姿图估计的混合推理优化”,IEEE,2014年,第2675–2682页;和
[12]A.D.Fourie,J.Leonard和M.Kaess,2016年IEEE/RSJ国际会议上的智能机器人与系统(IROS)中的“贝叶斯树的非参数置信解”,IEEE,2016年,第2189–2196页。
在过去的几年中,已经提出了几种鲁棒的后端算法来解决由假阳性闭环引起的问题。就使用的技术而言,它们可以大致分为两种类型:
A、基于增广模型的方法;以及
B、基于图一致性的方法。
A、基于增广模型的方法
基于增广模型的方法着重在于如何通过在图形优化过程中考虑假正闭环并排除异常值来研究建模位姿图SLAM问题。
Sunderhauf和Protzel[1]、[2]表示因子图的拓扑可以部分不固定,并提出了可切换约束(Switchable Constraints,SC)的思想,其中将可切换变量分配给每个闭环约束。一旦将约束视为异常值,就会在优化过程中将其关闭。
基于这项工作,Agarwal等人[3]引入了动态协方差缩放(Dynamic CovarianceScaling,DCS),它用m估计器代替了二次成本并达到了更快的收敛速度。
Olson和Agarwal[5]、[6]通过合并两个不同的高斯模型来创建混合模型。他们的主要见解是在模型之间使用max运算符而不是sum运算符,因为它可以大大简化后验最大似然的求解。
Lee等人[7]将鲁棒的后端问题建模为贝叶斯网络,并应用分类期望最大化算法对其进行求解。分配一个附加变量作为每个闭环约束的权重,最后减小离群值的权重以减轻优化过程中离群值的影响。
尽管基于增广模型的方法可以在合理数量的假阳性闭环的情况下实现卓越的性能,但仍存在一些缺点。例如,如[3]中报道的那样,DCS往往对随机分布的离群值无效。此外,这些方法依赖于参数调整。
B、基于图一致性的方法
基于图一致性的方法旨在基于一致性检查来选择闭环的子集进行位姿优化。实现、逆向、恢复(Realizing,Reversing,Recovering,RRR)算法[4]、[8]首先根据时间戳将所有闭环划分为几个群集,然后应用多个χ2检验以检查群集内和群集间一致性。群集中单个闭环或具有较高χ2错误的整个群集将被排除。
最近[9]和[10]也关注图一致性。但是,与RRR不同,它们会搜索约束的最大一致性子集。
还有一些其他作品不属于上述两个类别。Segal等人[11]提出了一种在贝叶斯树上应用混合推理的优化方法。它结合了非线性最小二乘和离散推断,并使用离散状态来启用或禁用测量。Fourie等人[12]提出了一种非参数方法,并获得了贝叶斯树的更通用的解决方案。
尽管这些方法有助于精确定位,但是在存在许多假阳性闭环的情况下操作这些方法仍然具有挑战性。
因此,本文描述的实施例旨在改善至少一些上述问题和/或提供一种更精确地在环境内定位的方法/系统。
根据本发明的第一方面,提供了一种构建移动设备的运动模型的计算机实现的方法。该方法可以包括使用设备的传感器来获得提供估计的移动设备位姿的数据。该数据可以被称为位置数据;然后生成初始图,该图可以基于来自传感器的位置数据,该图的节点提供设备的一系列可能的位姿,并且其中的边代表里程和/或闭环约束。然后该方法可以处理该图以为每个闭环估计置信度评分。通常,通过在每个闭环与一组其他闭环之间执行成对一致性测试来生成置信度评分。方便地,然后该方法从初始图生成增广图。
产生增广图可以包括基于置信度评分保留和/或删除每个闭环。
生成增广图可以进一步包括将人工闭环边插入到所述图中成对的保留闭环对之间的步骤。在这样的实现例中,可以通过选择一个或以上成对节点并计算链接成对节点的边来创建人工闭环,每条新边代表一个新的闭环。可以通过确定将成对的第一节点的位姿转换为成对的第二节点的位姿的转换来计算人工边。
在成对节点之间执行的一致性检查可以是空间一致性检查。
可以相对于以下一个或以上确定移动设备的估计位姿:
(i)该设备的初始位姿;
(ii)设备的先前位姿,而不是最初的位姿;和/或
(iii)另一台设备的先前或当前位姿。
如果闭环的置信度评分低于第一水平,则可以将其从图中删除。第一水平可以是固定的,也可以是学习的。在这种实施例中,如果置信度评分在第一水平以上,则可以保留闭环。
可以使用k均值聚类或其他聚类将闭环聚类为两组。可以从图中删除由聚类生成的具有两组中较低中心值的组中的闭环。具有较低中心值的组可以被描述为离群组。如果闭环在中心值较高的组中,则可以保留。具有较高中心值的组可以被描述为内部组。
如果一对闭环的相关的置信度评分高于第二水平,则可以使用该对闭环来播种人工闭环的生成。第二水平可以是固定的,也可以从数据中学习的。
在使用k均值聚类的实施例中,第二级可能是保留组(内部组)的中心值。
该方法可以进一步包括使用增广图来生成建筑物内部的模型。该模型可以被认为是地图等。
该方法可以进一步包括使用增广图以允许一个或以上移动设备的第一设备基于其他移动设备的轨迹定位其自身。
该设备可以是移动电话、智能手表、惯性测量单元(IMU)或智能相机。
该设备可以被配置为由人、机器人或车辆携带。
该设备可以是能够自行移动的车辆或机器人,也可以是其一部分。
根据本发明的第二方面,提供了一种包含指令的机器可读介质,当处理器读取该指令时,该指令使该处理器实现本发明的第一方面的方法。
根据本发明的第三方面,提供了一种包括处理器的系统,该处理器被配置为执行以下步骤中的至少一个:
a)基于来自移动设备传感器的位置数据获得初始图(方便地,该图的节点提供该设备的一系列可能的位姿,该图的边表示里程和/或闭环约束);
b)通过在每个闭环与一组其他闭环之间执行成对一致性测试,处理该图以估计每个闭环置信度评分;以及
c)通过基于置信度评分保留和/或删除每个闭环,从初始图生成增广图。
处理器可以配置为将人工闭环边插入到所述图中成对的保留闭环之间。处理器可以进一步被配置为基于置信度评分来识别保留的闭环的子集,并且仅使用保留的闭环的子集中的闭环来播种人工闭环。
该系统可以进一步包括移动设备。该移动设备可以包括或已安装提供位置数据的传感器。
该系统可以由移动设备提供。该移动设备可以包括或已安装。
(i)被配置为提供位置数据的传感器;以及
(ii)处理器。
这些步骤可以在至少两个处理器之间分配;因此,以上对“处理器”的任何提及可能等同地意味着两个或以上处理器共同处理。
由于没有一种算法可以轻松地去除所有假阳性闭环,因此可以通过扩大位姿图中的内部值,正确闭环,相对于离群值(假阳性闭环)的比例来使位姿图SLAM系统变得更加鲁棒。为此,本文公开的技术不仅可以排除假阳性闭环,而且可以通过增强彼此高度一致的闭环来注入额外的真阳性闭环。本文讨论的结果证明了这种新的方法组合如何面对高比例的错误闭环产生收益。
一些方面和/或实施例可以提供以下至少一项贡献:
1)一种即使在假阳性闭环占绝大多数情况下,也可以在中间层中可靠地检测和消除假阳性闭环的机制;以及
2)在扩展的Rauch-Tung-Striebel平滑器的框架内,将自动重构人工闭环并将其注入位姿图中,该框架具有增强可靠闭环的优点。
技术人员将理解,关于本发明的一个方面描述的特征可以适当地变通地应用于本发明的其他方面。
在本发明的上述任何方面中所指的机器可读介质可以是以下任何一种:DVD ROM/RAM(包括-R/-RW或R/RW)、硬盘、内存(包括USB驱动器、SD卡、小型闪存卡等)、传输信号(包括互联网下载、ftp文件传输等)、电线、等。
现在仅以举例的方式,参照附图,对本发明的实施例进行详细说明,其中:
图1示出了走廊中两个轨迹T1和T2的闭环;
图2A和2B示出了SLAM结果,分别使用现有技术方法和本文公开的方法的实施例,使用可切换的约束后端将地面真值与计算的位置进行比较;
图2C和2D示出了SLAM结果,分别使用现有技术方法和本文公开的方法的实施例,使用动态协方差缩放后端将地面真值与计算位置进行比较;
图3A(现有技术)示意性地示出了现有技术的SLAM方法;
图3B示意性地示出了根据本发明的SLAM方法;
图4示出了根据本发明的实施例所示的成对的闭环的空间一致性检查;
图5示出了根据本发明的实施例所示的用于潜在的人工闭环的图形模型的公式;
图6A-6F示出了示例结果,其将现有技术方法的性能与具有不同后端的本发明的实施例的方法的性能进行了比较;
图7A-7C示出了示例结果,其比较了现有技术方法的性能与具有不同后端的本发明的实施例的方法的性能;
图8A-8F示出了示例结果,其比较了现有技术的方法性能与具有不同后端的本发明的实施例的方法的性能;和
图9A至图9F示出了示例结果,其将现有技术方法的性能与具有不同后端的本发明的两种实施例(离群值去除、离群值去除和人工闭环插入)的方法性能进行比较;
图10示出了本发明一些的实施例所示的方法;和
图11示出了本发明一些的实施例所示的方法。
如下所述的实施例实现了中间层,该中间层被嵌入在前端和后端之间,以提高SLAM(同时定位与建图)系统的鲁棒性。在许多实施例中,该嵌入使得相同的前端和后端可以像在现有技术中一样使用。本领域技术人员将理解,实施例不需要在所谓的中间层中实现,并且可以被装备为其他元素的一部分,或者实际上处于其他拓扑中。
在一些实施例中,描述了关于在环境中移动的一个或以上设备的定位。此处,设备可以是任何能够提供给出设备位置估计值数据的设备;即位置数据。这样的设备可以由人(例如,智能手机/智能手表)、机器人(例如,地面/空中)或物体(例如,轮椅)携带。本领域技术人员将理解,任何传感器的数据都存在一定程度的不确定性,并且尽管某些传感器的模态比其他更准确,而位置数据将仅给出设备位置的估计值。位置数据可以从任何合适的传感器生成,但是特别地传感器可以是以下任何示例:磁力计、加速度计、陀螺仪、WIFI、GSM(全球移动通信系统)、UMTS(通用移动电信系统)、LTE(长期演进)、相机、GPS(全球定位系统-包括GLONASS、Galileo、BeiDou-2等)、LiDAR(光检测和测距)、相机等。
便利地,该设备被配置为使用作为该设备的一部分的处理电路来本地处理位置数据。然而,可以想到的是,位置数据是远程处理的,或者实际上是部分在设备上处理,部分远程处理。本领域技术人员将理解如何修改实施例以在设备之间划分处理,并且鉴于此,以下描述与在何处执行处理无关。技术人员将理解,移动设备可以简单地收集并发送传感器数据以进行远程处理,并且可以不在本地执行任何重要的数据处理。
远程处理位置数据的实施例通常将具有网络连接。这样的网络连接将很可能由包括GSM、UMTS、LTE、无线上网、蓝牙等技术提供。
综上所述,实施例被配置为改变一个位姿图(此处方便地称为图)。方便地,位姿图是由前端生成的。进一步方便地,然后可以通过后端系统优化变更后的图。
通过大量的实验,证明了该方法与现有方法和各种后端相比,具有显著的精度和鲁棒性,验证了该方法的有效性(请参见下图2、6、7、8和9)。
Ⅰ.系统概述
为了避免疑问,图1用于描述如本文中相关实施例所描述的闭环的概念。图1示出了包括走廊102的示例环境100,在走廊102上标出了设备101沿着走廊102的第一轨迹(T1)104和第二轨迹(T2)106。因此,在所描述的实施例中,走廊102提供了使设备101移动通过的环境。实施例被配置为生成设备101的运动模型,并且位姿图可以被认为是提供一个或以上移动设备的运动模型。
因此,所描述的实施例并不是对环境102本身进行建模,而是对一个或以上设备
101在该环境中的运动进行建模。技术人员将理解,这可以间接地允许环境102的估算近似图,尤其是当大量设备101或同一设备101的大量轨迹经过环境时。例如,这可用于基于众包数据的近似平面图的生成,或其他数据收集机制。
标记三个闭环,L1、L2和L3,如本领域技术人员将理解的那样,可以将一个闭环视为在一定置信度内确定该设备先前已访问该位置。
图1示出了设备101分别以轨迹段T1(104)和T2(106)两次经过相同的地方的示例。假设前端发现链接两个轨迹中的节点的三个闭环-L1、L2和L3。闭环通常包含有关两个节点之间的相对位姿和相应协方差的信息。假设只有闭环L1和L2为真阳性,即它们的相对位姿是正确的,而闭环L3为假阳性,即具有一个不正确的相对转换,如下所述。
图1显示了以下闭环:
闭环L1表明第一轨迹(T1)104上的第一点142和第二轨迹(T2)106上的第一点162已经相对于彼此定位;虽然这并不一定要求它们在物理上靠近,但闭环通常在环境的同一部分的节点之间,在这种情况下为走廊102。技术人员将理解,闭环不指示或不需要有关环境本身的任何信息-该环境很容易是田野、道路或任何其他环境。不需要任何地图之类的知识。
闭环L2表明在第一轨迹(T1)104上的第二点144和在第二轨迹(T2)106上的第二点164已经相对于彼此定位。
闭环L3指示第一轨迹(T1)104上的第三点146和第二轨迹(T2)106上的第二点164再次相对于彼此定位。
在图1中,闭环L1和L2为真阳性;即,L1和L2在确定相关点之间的估计值转换(相对位姿)时是正确的;但是,L3表示假阳性闭环。闭环的两个端点(即节点)之间的距离不一定很短;即,它们不必表示物理上靠近的位置;一旦确定转换与地面真值相似,就将给定的闭环确定为正确的闭环。将L3与地面真值相比较会发现L3与地面真值不匹配,错误闭环也是如此。
尽管在图1中最长的闭环(L3)被认为是不正确的,但事实上它最长只是一个巧合。由于闭环本身为边,为两个节点之间的约束,因此可以包含较大的位移。技术人员将理解,实际上,通常在两个位置物理上接近时检测到闭环,因为更容易获得这两个节点的相似观测值并检测闭环。本文中关于“同一地点”或具有“接近”端点的任何参考均应据此解释。
新插入的(人工的)闭环也是如此;在实施例中,通过概率传播方法,例如RTS平滑器,计算出人工闭环的转换。
技术人员将理解,闭环的两个端点之间的距离不一定是短的,节点不一定必须在物理上是“闭合的”。如果闭环指示的转换与地面真值相似,则闭环是正确的。在图1中,L3是一个伪闭合,但是技术人员会理解,具有大转换的闭环不一定是伪闭环。
许多误报是由于两个地方相距甚远,但又有某些共同点。由于观测的特征不足,可以得到两个不同地点的相似观测结果,从而导致人们以往认为该两个地点接近或相同。
另外,“闭合”的定义在实施例之间可以不同,并且两个位姿在物理上也不必闭合(对距离没有特别的要求,例如1或2米)。在某些实施例中,是否存在闭环可以由对位置数据的置信度或其他类似的约束来确定。闭环表示两个位姿(来自单个或多个设备)之间的转换(位置和方向)约束。一旦可以精确计算出转换,物理距离就不重要了。
在所描述的实施例中,这通常分两个步骤进行评估:
(i)首先,通过检查传感器数据的相似性,例如观察图像外观和磁幅值,在两个位姿(图节点)之间检测到闭环;和
(ii)然后,如果相似度高,则计算两个位姿(图节点)之间的转换。这个转换可以在前端使用不同的技术来确定,具体取决于传感器的类型,系统要求甚至操作环境等。
同样适用于下文讨论的人工闭环,其转换是通过概率传播方法计算的-在这种情况下为Rauch-Tung-Striebel(RTS)平滑器。
在图1中,L1和L2在其端子之间包含正确的相对位姿,但L3没有。
图3A和3B将现有技术的系统架构30(图3A)与所描述的实施例的系统架构300(图3B)进行比较和对比。
在图3A中,相对细的实线用于里程边,相对粗的虚线用于真实闭环,而相对较细的虚线303用于假闭环。在图3A和3B中,另外还有点划线311,这些线311表示人工添加的闭环。
可以看出,与现有技术的系统架构30相比,所描述的实施例的系统架构300(此处提供的实施例的一种实现由发明人提供的图形修补程序(Graph-Tinker GTk)算法提供)具有额外的部分310。即,所描述的实施例被实现为SLAM前端24和后端38之间的中间层310。
现有技术架构30获取原始数据32,并将其传递到SLAM前端34。然后由前端34的图形模块36形成初始图37(位姿图),该初始图37包括位姿节点、里程边和闭环边。位姿节点可以方便地称为节点,并提供给定实例中设备可能的位置和方向。
通常,节点具有关联的概率函数,该函数给出设备位于该位置的概率。在所描述的实施例的位姿图中,所有节点都被建模为高斯分布,它使用均值和协方差矩阵表示该节点位置或位姿的概率。
然后将该图37传递到SLAM后端38。SLAM后端38执行进一步的处理并输出最终图39。
在描述的实施例中,相同的原始数据32以与现有技术相同的方式被传递到SLAM前端34。实际上,前端34可以与现有技术中使用的前端相同。如果使用相同的前端,则由前端34的图形模块36形成与现有技术系统30相同的图37,该图37包括姿势节点、里程边和闭环边。
然而,在所描述的实施例中,该初始图37不直接传递至后端38,而是传递至中间层310。
如下面更详细描述的,中间层310在离群值剔除模块302处执行离群值剔除。离群值剔除模块302检测并消除不一致的闭环(即离群值,例如线303,其可以被认为等同于图1的闭环L3)。离群值从图37中删除。离群值剔除模块302生成304一致子图305,该一致子图305对应于初始图37,其中去除了离群(不一致)闭环例如303,而保留了另外的闭环。因此,一致子图305包括位姿节点、里程边和一致性闭环,并且由于删除了假阳性(离群值)而提高了精度,因此可以将其视为增广图。
然后,由内部注入模块306在一致子图305上进行内部注入。通过内部注入模块306重建并插入一组人工闭环,生成308增广图307。
增广图307包括位姿节点、里程边、一致的闭环(原始的闭环被认为是正确的)和注入的闭环(基于原始的闭环生成的闭环被认为是正确)。鉴于更多的阳性闭环,在增广图307内注入的闭环有助于从后端38发出更可靠的输出(例如,参见图307的区域311)。
在所描述的实施例中,然后将增广图307传递到现有技术架构30中所使用的后端38。因为增广图307比第一(初始)图37更准确,所以即使使用了与现有技术系统30中相同的后端38,在所描述的实施例中由后端38输出的最终图309也不同于现有技术系统30的输出。在此,最终图形309提供了可以认为是设备101通过其环境的运动模型。
技术人员将理解,实施例可以使用至少两个设备的轨迹-闭环可以指示一个设备A在另一个设备B先前在的同一位置(或至少在足够接近且易于识别的位置,以便能可靠地计算两者之间的转换);用于形成回路的轨迹可能不是同一设备移动的。
这三个位姿图37、305、307给出了一个使用MIT-Killian-Court数据集的示例。虚线303和点划线311分别代表假阳性和注入闭环。
图3B示出了所描述的实施例的系统300的概观。
方便地,实施例将它们自身构建为中间层310,该中间层是对现有技术后端38的补充,并且可以与它们串联操作。然而,技术人员将理解,本文描述的概念不需要如此构建。
所描述的实施例的中间层310以来自前端34(即,至少在该实施例中,生成位姿图36、37的过程)的初始位姿图36、37为输入,并且输出增广位姿图307,供后端38使用。
从上面的图3B的描述可以看出,在所描述的实施例中,中间层310可以被描述为具有两个步骤。首先,中间层310被配置为通过离群值排除模块302检测并去除假阳性的闭环(离群值),保留一致闭环。其次,基于内部注入模块306选择一致闭环的子集来重建人工闭环并创建增广图。
人工闭环的生成可以被认为是对正确但先前未发现的闭环的识别。内部注入模块306使用具有置信度以及里程数据的已知闭环来确定实际上还有哪些其他位姿节点在附近,以及它们之间的转换,并将其作为额外的闭环注入。
将闭环划分为多个子集(离群集,然后将一致闭环(内部值)分离为一个用于生成人工闭环的子集和剩余子集),如下在实施例中所述:
在计算出每个闭环的通过率之后,使用k均值聚类将所有闭环根据通过率分为两组。基于k均值,每个组都有一个中心值。通过率中心值较高的组被视为包含正确闭环的组,称为内部组,另一组称为离群组,并被排除。
更具体地说,在此实施例中,遵循以下步骤:
i)将闭环分类为离群值,如果在离群值组中则将其排除;
ii)保留闭环,但如果它在内部组中并且通过率低于内部组的中心值,则不要将其用于人工闭环生成;
iii)保留闭环,但如果它在内部组中并且通过率高于内部组的中心值,则还可以将其用于人工闭合。
因此,在所描述的实施例中,中间层310生成可以被认为是增广位姿图307、308的图,然后将该增广位姿图308传递给SLAM后端38,以便后端38通过优化来计算适当的设备位姿。下文描述的实施例在后端38中使用了g2o(R.Kummerle、G.Grisetti,H.Strasdat、K.Konolige和W.Burgard在2011年IEEE国际会议上的机器人与自动化(ICRA)中的“g2o:图形优化的通用框架”,IEEE,2011年,第3607–3613页)。
有关图SLAM及其后端的更多信息,可以在以下各个地方找到:
G.Grisetti、R.Kummerle、C.Stachniss和W.Burgard,《IEEE智能交通系统杂志》中的“基于图的猛击教程”,第2卷,第4期,第31-34页,2010年;以及
S.Thrun,W.Burgard和D.Fox,概率机器人,麻省理工学院出版社,2005年。
在下一个小节中,将讨论应用空间一致性检查来估计闭环是否正确的方法。
A、一致闭环的检测与选择
1)一对闭环的空间一致性测试:
空间一致性测试应用于构建图中的每个闭环对。图4演示了两个示例对,分别是两个轨迹,T1 104和T2 106,的(L1,L2)和(L1,L3)。技术人员将理解,由于实施例是在一对闭环的背景下检查一致性,因此无需了解基本分布。
以第一个示例为例,并参考图4,两个闭环L1和L2。这两个闭环之间的两个轨迹段(与闭环边一起)在位姿图402、404、452、454中形成一个闭合链(或环路)。通过沿此环路移动并检查是否有可能返回初始点来测试两个闭环之间的一致性。
例如,从图4的四个子图中的任何一个都具有具有初始位姿矢量和零协方差矩阵,从轨迹T1的起始点开始,利用T1的里程、闭环L2、T2的里程、闭环L1所提供的相对平移和旋转信息,可以计算出沿环路移动后的最终位姿。空间一致性由最终位姿等于初始位姿的概率表示。请注意,在此过程中,可以沿任意方向(设备101最初移动边的方向不是限制性的)移动里程边(和闭环边)。
图4中最上面的两个曲线图402、452分别说明了地面真值轨迹T1、T2和每个(地面真值)的终端节点之间的真实转换L1、L2。在各种实施例中,可能不知道此真实信息,因此模型是最佳的可用估计。图4中最下面的两个曲线图404,454展示了这样一个模型(在这种情况下,计算得出的位姿图)。
特别的,在图4的左侧400,成对闭环L1(第一闭环)和L2通过了空间一致性测试,是因为它在穿过回路后几乎返回到初始位姿。左上方的曲线图402说明了两个轨迹和相关闭环的地面真值。左下角的曲线图04展示了相同信息的模型(即通过航位推算得出的里程边,和针对实际上遵循了顶部曲线图402中所示路线的设备计算出的闭环),但T1段的初始位置设置为原点,并且其初始方向为x轴的正方向。通过航位推算确定轨迹边T1、T2,并计算闭环L1、L2。在左侧400中,两个闭环L1和L2通过空间一致性测试,是因为它们的端点之间的相对位移与这两个位置的真实位移一致,而不是因为它们的两个端点彼此靠近。最初的位姿和最后一个位姿接近的事实是一个有用的确认性指示,表明L1和L2具有正确的链接点。
L3在与任何其他闭环件共同测试时未通过空间一致性测试,因此是假阳性且与两个位置的真实位移不一致。
技术人员将理解,顶图402与底图404等效,其具有旋转和平移以将初始位置设置为原点-轨迹和闭环与地面真值匹配。
相比之下,在图4的右侧450上,闭环L1和L3彼此不一致。这表明闭环L1或闭环L3可能是错误的(或两者都不正确)。技术人员将理解,即使具有旋转和平移以将初始位置设置为由航位推算数据计算出的原点-轨迹和闭环与地面真值不匹配,顶图452也不等于底图444。通过与地面真值进行比较,或者通过比较L1和L2之间以及L3和L2之间的空间一致性,L3被标识为错误的闭环。
直觉是,封装在闭环对中的相对位姿应该与出站和入站轨迹段的里程信息(即闭环的位姿节点之间的轨迹部分)一致。如本领域技术人员将理解的,在此,段是轨迹的一部分(即段),例如每个T1和T2。它们之间的两个闭环和轨迹形成一个闭合链或图中的环路,如图4所示。所描述的实施例的系统300所做出的假设是:里程边仅遭受有限的累积漂移,并且没有经历大的,突然的里程误差。在此假设下,闭环对的一致性可以基于航位推算概率传播和aχ2检验进行组合检验。
更具体地说,灵感来自M.Mazuran,G.D.Tipaldi、L.Spinello、W.Burgard和C.Stachniss在《机器人与自动化》(ICRA)的“大满贯中地图一致性的统计量度”,IEEE,2014年,第3650–3655页中的统计方法以测量两个闭环之间的一致性。为简单起见,将轨迹T1的初始点作为具有初始位姿向量和零协方差矩阵的起点。利用由里程边和闭环边两者提供的相对位姿信息,可以通过航位推算来计算出穿过环路后最终位姿的概率分布。反向计算入站轨迹T2和闭环L1中里程边的相对位姿和协方差矩阵,形成一个单向环路。然后,可以假设如果这两个闭环彼此一致,则最终位姿的分布均值应接近初始位姿。这是因为,当行进距离很短时,由里程漂移提供的误差应该很小。因此,提供了均值是零向量(与初始位姿相同)且协方差等于计算的最终位姿之一的分布的零假设。最终,用χ2检验检查最终的位姿是否可以被接受为原假设。
如图4所示,由于闭环L1和L2为真阳性,并且前端系统记录的相对位姿是正确的,因此经过出入站轨迹后返回初始位姿的近邻的概率相对较高。相反,这不适用于L1和L3,因为来自假阳性闭环L3的两个节点之间的相对位姿错误。
基于位姿节点,里程边和闭环边,可以计算最终位姿与其初始位姿匹配的概率分布。
设为轨迹Ti的位姿,以及对应里程边的正态分布。以闭环L1和L2为例,让两个闭环边分别遵循分布和 请注意,以上数据均可直接在构建的位姿图中使用。将入站轨迹段T2和闭环L1中的相对位姿和协方差矩阵取反以形成单向环路。将初始位姿的概率分布定义为p0:
其中0是3x3零矩阵。因此,最终的位姿的分布可以通过以下链式得出:
mk=f(mk-1,ik),k∈1,2,…,n1+n2+2, (2)
其中mk和Sk是在时刻k的航位推算的均值和协方差,Ik和Vk是在时刻k的控制变量的均值和协方差,而f(·)是设备的运动模型。表示最终位姿的概率分布,它给出了遍历环路后最终位置的分布。在所描述的实施例中,该分布本身并不用于提供关于两个闭环是否在空间上一致的置信度,而是用作测试的一部分。Aχ2检验用于确定计算的分布是否应被接受为零假设,其中最终的位姿为零均值分布。如果接受零假设,则认为这对闭环符合1-α置信度。χ2(α)是卡方累积分布函数的逆函数,并且α设置为默认值0.1。技术人员将理解,在卡方检验中,存在几个常用的值,包括0.01、0.05、0.1。选择的值0.1不太严格(与列出的其他两个标准值相比),但更严格或更不严格的值可以在其他实施例中使用。
该置信度由卡方检验的参数alpha给出。如果设置了较小的alpha值,但一对闭环仍然通过卡方检验,则很有可能这两个闭环在空间上彼此一致。可以为成对的闭环分配一个置信度评分,表明它们是一致的。在所使用的方法中,这可以称为高置信度评分。
单个闭环的置信度评分是通过在该闭环与其他闭环之间执行多个成对的空间一致性测试来计算的,下面将对此进行详细讨论。
在每对闭环上测量空间一致性是不理想的,因为较长的轨迹段会在里程上产生较大的累积漂移,从而导致空间一致性测试的结果不准确。另一个原因是,计算开销相对于闭环的数量呈平方增长。因此,在描述的实施例中,对闭环之间的两个轨迹段的最大距离设置了限制。
2)闭环选择:
当所有空间一致性测试完成时,每个闭环L可能通过np测试,而在nf测试中失败。可以假设,np与np+nf的比率称为通过率,应与图中的真阳性率(真阳性数与所有闭环的比率)相似。这种假设背后的直觉是,真阳性更可能彼此一致,而假阳性则难以与其他闭环一致。由于随机离群值是初始图37的主要焦点,是由前端系统34生成的最常见的离群值,因此所有闭环,包括真阳性和假阳性,都倾向于在一定程度上均匀分布在图37中,尤其是当闭环的数量很大时。因此,局部比率的真阳性率应与总体真阳性率相似。为了滤除假阳性,使用基于每个闭环通过率的阈值Theta;滤除假阳性可能被认为是拒绝低于某个合格率的闭环;该阈值可以是固定的,也可以根据现有的闭环的合格率值统计方法例如聚类(例如高斯或k均值的混合)等方法来确定。在所描述的实施例中,使用k均值聚类。
因此,可以看出,闭环的通过率可以认为是确定该闭环的置信度(或有效性)分数。可以认为这是对该闭环的置信度。技术人员将理解,np和nf的其他功能可以用于导出置信度的替代度量。
因此,在上述闭环检测和选择之后,产生了一致子图305,在该一致子图305中,至少闭环的大部分为真阳性。值得注意的是,在此阶段不必消除所有假阳性,因为在随后的重建步骤中,将构建并注入人工闭环以进一步增强该子图的真阳性闭环。
B、闭环重建
本节说明如何重构人工闭环,然后将其引入到由先前选定的一致闭环生成的一致子图305中。这人工闭环可被认为是从具有较高置信度(或有效性)分数(即良好置信度)的闭环生成的附加闭环。
1)搜索邻居:
每个一致性闭环首先分配一个一致性邻居闭环,该邻居闭环是通过闭环中的最短路径算法发现的。更具体地,在所描述的实施例中,通过从所选择的闭环的一个节点开始,采用Dijkstra的最短路径算法来找到另一闭环,该另一闭环在所选择的闭环的两个节点之间的最短路径上并且在空间上与其保持一致。当且仅当唯一的闭环存在于该最短路径上并且最短路径的长度在最大距离阈值以下时,搜索结果才被接受。因此,在图中选择一对闭环作为候选者,以便在它们之间进一步播种闭环。
之所以在闭环与其一致的邻居之间而不是所有一致的闭环之间构建人工闭环,是因为当在环路上遍历的距离由于里程漂移而变短时,空间一致性测试通常更可靠。这样,以这种方式构建闭环的一个优点是产生了更鲁棒的人工闭环例如311。确保在两个正确的闭环之间插入人工闭环的一种方法是要求两个闭环都具有高置信度(有效性)得分,即两个闭环的置信度指标(例如通过率)都可能超过一个比决定是保留还是拒绝闭环的阈值(Theta)更严格的阈值(Theta'),该更严格的阈值可以设置为固定值,也可以通过统计方法,例如聚类(原始阈值Theta),根据数据确定。Theta和Theta’可以被认为是第一和第二置信水平。
2)计算轨迹段之间的相对位姿:
对于每个具有一致邻居的闭环,在它们之间的两个轨迹段上构建人工闭环311。为此,使用两种信息。一种是连通性,指示应该通过人工边来连接哪两个位姿节点,哪条边可以被计算以链接节点。另一个是两个位姿节点之间的相对转换及其协方差矩阵。为了正确计算它们,了解两个轨迹段之间的相对转换很有用。
由于两个轨迹段之间的相对转换可以通过选定的闭环或其一致的相邻闭环来定义,因此使用了通过更多空间一致性测试的闭环,这表明更强的一致性。在描述的实施例中,如果两个闭环恰好具有相等的一致性,则随机选择一个。然后,可以根据所选闭环的两个位姿中的相对转换,将一个轨迹段转换为相对于另一个轨迹段具有大致正确的相对位姿。
3)构建潜在的闭环连通性:
一旦知道了两个轨迹段之间的相对转换,并且旋转了一个轨迹段以相对于另一个具有正确的相对位姿,下一步就是构建人工闭环的连通性。动态时间规整(Dynamic TimeWarping,DTW)(例如,参见M.Müller,“动态时间规整”,有关音乐和运动的信息检索,第69-84页,2007年)用于匹配两个轨迹中的位姿。由于DTW仅允许关联以相同方向穿过的轨迹,因此如果两个轨迹段的方向不同,则一个轨迹段将被反转。两个轨迹段之间的所有位姿匹配项都是潜在的人工闭环,但是,它们仅包含没有转换的连通性和闭环所需的协方差信息。随后的小节重点介绍如何计算此信息。
4)构建潜在的人工闭环的模型:
为了计算相对转换(包括平移和旋转)以及每个潜在人工闭环的相应协方差,公式化的图形模型如图5所示。
是来自两个轨迹段T1和T2的潜在闭环。L0被认为是初始的人工闭环并将Ln被建模为最后的人工闭环的观察值。
在图5的上部510中,有两个轨迹的分段T1 104和T2 106,其中包含位姿节点(浅灰色和深灰色阴影圆圈)和里程边(实心黑色箭头)。选定的闭环及其一致邻居分别为L0和Ln(垂直虚线箭头)。由于在最后一步中构建了所有潜在人工闭环的连通性,因此在图中用(虚线箭头)表示。一旦获得任意两个闭环之间的轨迹段的里程信息,就可以通过航位推算概率传播从一个闭环的分布推导出另一个闭环的分布。因此,通过将选定的闭环L0作为初始闭环,并将其一致的邻居Ln为最后一个闭环的观测值,可以获得如图底部所示的回路闭合链520。因此,在描述的实施例中,所有闭环,包括人工的和两个真实的,都被建模为模型中的节点(黑色和白色实心圆),然后将计算其相对位姿和协方差。
5)计算相对位姿和协方差:
所有人工闭环的分布都可以通过航位推算得出,其中将每个闭环而不是位姿作为状态变量。概率从初始闭环通过扩展Rauch-Tung-Striebel(Extended Rauch-Tung-Striebel,ERTS)平滑器传播,并且传播的均值和方差受最后人工闭环的观测值的约束,以避免发散。注意,上面提到的所有人工闭环仍然是潜在的闭环。
假设是潜在的人工闭环,其中以及是要计算的状态变量和协方差,除了初始闭环与选择的闭环相同,即而实际上是一致邻居的被视为模型中最后一个潜在的人工闭环的观测值。请注意,所有x0和xn都是表示闭环中相对位姿的向量,而以及是协方差矩阵。此外,两个潜在的人工闭环之间的轨迹段T1和T2的里程边分别由 和表示。由于本实施例采用了DTW算法,因此在一个潜在的人工闭环及其后继者的每个轨迹段中,最多只能有一个里程边。为了简洁,这里仅描述在两个闭环之间具有两个里程边的情况。这比其他情况更为复杂,因此技术人员将能够毫无困难地据此进行教学。
由于在“贝叶斯滤波和平滑”,剑桥大学出版社,2013年,第3卷中提到的标准ERTS平滑器被应用在该实施例中,这里仅介绍平滑器中使用的过渡模型和观测模型。前者解决了从潜在的人工闭环到后继的传播,其中里程边以及的传播过程如下:
其中,等式3a是从到的转换。其非线性是选择ERTS而不是RTS更平滑的原因。矩阵M是旋转矩阵,是的方向,表示此里程边中的相对旋转。f()是设备运动模型,0是零向量。公式3b显示了如何传播协方差矩阵,其中J表示相对于每个输入向量的函数g()的雅可比矩阵。
当没有观察到潜在的人工闭环时,上述方程式在正向过程中传播分布。对于具有观测值Ln的最后一个闭环以下观察模型用于执行更新步骤。
其中矩阵H是一个3x3的单位矩阵,它将最后一个潜在人工闭环的平均值与零均值高斯噪声相加,其协方差函数与其一个邻居相等,一致邻居闭环Ln。由于线性关系,避免了观测模型的偏导数计算。
6)选择潜在的闭环注入:
在所有可能的人工闭环中,只有具有最小不确定性的固定百分比(例如10%)被注入到一致子图305所示的实施例中,从而为后端38生成了增广位姿图307。在其他实施例中,可以注入10%以外的量。例如,可以注入以下任何一种:5%、15%、20%、25%。
Ⅲ、实验结果
所描述的实施例是在Matlab中实现的,并在八个公共数据集上进行了测试。
在竞争方法方面,RRR[8]被认为是另一个中间层,并使用了后端(DCS[3],SC[1]和柯西鲁棒内核-[19]P.Agarwal,“基于鲁棒图的本地化和制图”,博士学位论文,德国弗莱堡大学,2015年)和开源实现。值得注意的是,可以在补充文件中找到进一步的广泛实验结果:https://github.com/xie9187/IROS2017-Supplementary-results。
A、数据集
为了公平地评估本文所公开的方法并将其与其他方法进行比较,将八个不同的公共数据集用于实验。Bicocca、Bovisa04和Bovisa06数据集来自参考文献[8]。Manhattan3500Olson(M3500Olson)、ringCity、city10000和intel数据集可在vertigo[2](https://openslam.org/vertigo)的开源软件包中获得。MIT-Killian-Court(MIT)数据集也是开源的(http://www.lucacarlone.com/index.php/resources/datasets)。
表I列出了使用的数据集。
表I:实验中使用的公共数据集
在每个数据集中,根据图中原始闭环的数量随机生成不同数量(25%、50%、100%、200%)的离群值。因此,对于每个数据集,将创建四个带有附加离群值的附加数据集。从特殊欧氏群SE(2)的均匀分布中采样每个离群值的相对位姿,同时将信息矩阵设置为图中原始闭环的信息矩阵的平均值。
B、有和没有中间层310
在本部分中,当将所描述的实施例用作前端34和后端38之间的中间层310时,验证了整个系统300的增强的鲁棒性。
将三种以g2o和vertigo实现的鲁棒后端算法,柯西健壮内核(Cauchy robustkernel,Cauchy)[19],DCS[3]和SC[1]与提出的中间层310结合使用。当这些后端38在具有越来越多的离群值的所有数据集上与中间层310结合/不结合时,将这些后端38的性能进行比较。尽管已经对所有具有多个离群值数量的数据集进行了实验,但为简洁起见,表II和图6仅说明了离群值占比分别为50%、100%和200%的M3500Olson、ringCity和MIT数据集的结果。
表II:在4个数据集上结合/不结合RRR或GTk的不同后端的结果
如表II所示,其中列出了优化的位姿图的均方根误差(RMSE),所描述的实现例(GTk)可能会显着改善三个鲁棒后端的鲁棒性。尽管在少数情况下,当应用所描述的实施例(GTk)时,RMSE略有增加,但是总体上可以看到整个系统300的鲁棒性的提高,从而使后端38收敛到正确的结果。此外,此表中还提到了RRR(用作另一个中间层),并将在下一节中对其进行详细讨论。
下表II-A显示了与GTk略有不同的实施例的等效数据,与没有中间层和仅除去离群值的中间层相比:
表II-A 4个数据集的不同后端与无中间层、离群值拒绝(OR)或GTk(离群值拒绝和内部值插入)分别组合的结果
表II-A再次显示了优化的位姿图的均方根误差(RMSE)。可以看出,当单独使用提出的离群值拒绝(OR)算法时,该系统对于假阳性闭环的鲁棒性要强于没有中间层的系统。从表中可以看出,当应用GTk的这种实现方式时,系统的鲁棒性得到进一步增强,精度大大提高。尽管在极少数情况下应用此实施例时误差会略有增加,但通常可以看到整个系统的鲁棒性有所提高,有助于后端收敛到正确的结果。
对这些实验的进一步分析表明,离群值拒绝(OR)算法可改善优化结果,因为该算法可有效去除大部分假阳性闭环。但是,由于也拒绝了许多真阳性值,因此该图损失了一些必要的约束,并且没有全局收敛到地面真值。相比之下,当应用包括GTk实施例的描述为插入人工闭环的进一步步骤的实施例时,这些损失的约束是通过惯性注入算法人工构建的,从而使后端收敛到精确的重构。通常,可以看到,离群值拒绝和内部值插入的组合可以使现有的SLAM方法更加鲁棒,而无需进行大量参数调整。
对于MIT-Killian-Court数据集,仅当与Cauchy和SC一起使用时,合并所描述的实施例(GTk)的好处才出现,因为DCS会失败,即使没有参数Φ从0.1调整为10的额外离群值。因此,所描述的实施例(GTk)不能改善该数据集上的DCS后端。尽管对于Intel Research数据集,由于其位姿节点的初始化已经接近地面真值,因此在对任意数量的离群值进行优化后,所有方法都易于获得令人满意的结果。
在ringCity和M3500Olson数据集中,通过实施例(GTk)实现了显着的改进,RMSE降低了数倍,除了在M3500Olson数据集上应用SC不会因任何数量的离群值而失败。
图6A-F显示了在具有100%额外离群值的三个数据集上测试的具有/不具有正在描述的实施例(GTk)的不同后端的几个示例结果。
实线602a-f示出了地面真值。虚线604a-f示出了使用GTk/no-GTk与后端的组合的计算。
图6A示出了与描述的实施例中没有中间层310的DCS后端38相比的地面真值602a(Manhattan3500Olson数据集)的曲线图600a。图6B示出了与用于所描述的实施例的带有中间层310的DCS后端38相比相同的地面真值602a的曲线图600b。可以看出,当使用中间层310时,该模型与地面真值更紧密地匹配。
图6C示出了与使用没有中间层310的SC后端38相比的地面真值602c(ringCity数据集)的曲线图600c。图6D示出了与使用带有中间层310的SC后端38相比,相同的地面真值602c的曲线图600d。可以看出,当使用中间层310时,该模型与地面真值更紧密地匹配。
图6E示出了与使用没有中间层310的柯西鲁棒内核后端38相比的地面真值602e(MIT-Killian-Court数据集)的曲线图600e。图6F示出了与使用带有中间层310的柯西鲁棒性内核后端38相比相同地面真值602e的曲线图600f。可以看出,当使用中间层310时,该模型与地面真值更紧密地匹配。
图9使用Mahattan3500Olson(图9A-9C)和ringCity(图9D-9F)数据集说明了不同中间层的影响。可以看出,通过有效地去除了大部分假阳性闭环,离群剔除(OR)实施例极大地改善了优化结果。
结果显示了具有200%附加离群值的两个数据集上不同中间层的输出。与没有中间层的现有技术方法相比,显示了离群值拒绝(OR)实施例和整个图形修补程序(GraphTinker,GTk)实施例的影响。红色(较深的灰色)迹线(902a、902d)显示了地面真值。对于三个图中的每组(即,图9A-9C为一个地面真值902a,图9D-9F为第二地面真值902d),地面真值保持相同。绿色(较浅的灰色)迹线显示计算出的模型。
图9A至9C分别示出了Manhattan3500Olson数据集上的DCS(无中间层)、OR-DCS和GTk-DCS的结果;即,所有三幅图都使用动态协方差缩放(DCS)后端,只是中间层不同(或不存在)。
图9D至9F示出了ringCity数据集上的SC(无中间层)、OR-SC和GTk-SC的结果;同样,这三幅图都使用相同的后端,即如上所述的可切换约束后端。
有关更多结果,请参考上面的补充文件。
本领域技术人员将理解,虽然所示的数据集与全局地图的x-y坐标有关,但是本文讨论的方法可以在存在闭环的任何环境中使用,无论是否存在全局地图。例如,它可以在基于经验的导航类型的情况下使用,如WO2013117940“定位传感器和相关设备的方法”中所讨论的。
C、与RRR比较
对于现有的鲁棒图SLAM算法和后端38,RRR与使用开源资源描述的实施例最相似。因此,选择它作为比较。
图2A-D示出了使用先前讨论的实现、反转、恢复(RRR)算法[8]以及针对位姿图SLAM描述的实施例的中间层的结果。实线202a、202c示出了地面真值(GT)。虚线204a-d示出了模型。
图2A和2B显示了基于可转换约束(SC)[2]后端的具有1790(200%)个附加离群值的Intel Research数据集的结果,曲线图200a显示了使用RRR,图200b显示了使用中间层310代替了RRR,二者具有相同的后端38。
图2C和2D显示了基于动态协方差标度(DCS)[3]后端38的city10000数据集上具有21376(200%)额外假阳性闭环的结果,图200c显示了RRR的使用,图200d显示了使用中间层310代替RRR,二者具有相同的后端38。
使用所有数据集测试了RRR和中间层310与DCS和SC后端38的组合。
一些结果显示在表II(上),图7和图8中。值得注意的是,在所有实验中都在RRR和中间层310中都使用了默认参数值,原因是人们认为鲁棒的中间层不应依赖手动调整的参数。
图7A-D示出了在将RRR和中间层310应用于几个数据集以及两个不同的鲁棒后端38(DCS和SC)的比较。在每个数据集中,生成越来越多百分比的附加随机假阳性(如x轴所示,分别为0%、25%、50%、100%和200%)。
图7A-C说明了结果的RMSE。每个子图(700a、700b、700c)代表在数据集上的实验,其中x轴表示附加假阳性数与初始闭环之间的比率。
红色和蓝色的框(每个簇中的前两个,即最左边的两个)代表RRR的结果,而绿色和橙色的框(每个簇中的最后两个,即最右边的两个),代表所述实施例的中间层310的结果。
在每个图700a-c中的每组箱线图中,RRR-DCS的箱形图在最左边,与RRR-SC的箱形图相邻。中间层310-SC的箱形图在最右边,与中间层310-DCS的箱形图相邻。
在图7A中,可以看出,尽管中间层310与SC结合时性能往往较差,但当将DCS用作Bovisa04数据集上的鲁棒后端时,RMSE会大大降低(图7A)。
在所有这些情况下,中间层310均优于RRR,尤其是在M3500Olson(图7B)和ringCity(图7C)数据集上。
有关更详细的结果以及与RRR的比较,请参考上面引用的补充文件。
图8A-F示出了三个数据集上的一些结果,用于将RRR或中间层310与DCS和SC组合为鲁棒后端38进行比较。
实线802a-e是地面真值。虚线804a-f是模型。
图8A和8B显示了Bovisa04数据集上的RRR和中间层310(分别为曲线图800a和800b)的结果,其中有200%离群值,以DCS作为后端38。
图8C和8D显示了在M3500Olson数据集上的RRR和中间层310(分别为图800c
和800d)的结果,其中有200%附加假阳性,以SC为后端38。
图8E和8F显示了MIT-Killian-Court数据集上的RRR和中间层310结果(分别为图800c和800d),其中有100%的异常值,以SC作为后端38。
在每对中,地面真值线802相同。
D、运行时分析
尽管在所描述的实施例中,中间层310是用Matlab而不是C或C++来实现的,
但是发现运行时间是合理的。本领域技术人员将理解,可以以任何适当的语言来实现中间层310或其他实现。
表III中给出了八个数据集上的中间层310的详细运行时间。
表III:GTk在8个数据集上的运行时间
本披露发现所描述的实施例中最耗时的部分是执行大量的空间一致性测试,同时在图中寻找闭环的一致子集。
在这一实施例中,通过用一个阈值限制测试中环路的行进距离,大大减少了要比较的闭环数,从而避免了相对于闭环数的平方时间的增加。因此,该阈值在某种程度上决定了运行时间。但是,一个极小的阈值将阻止所选的闭环与足够的其他闭环进行比较。因此,在所描述的实施例中将默认值设置为300步,以在运行时间和性能之间实现适当的平衡。在所描述的实施例中,每个步骤是携带该设备的人所采取的实际步骤。在此实施例中,一个步骤对应一个里程边;在替代实施例中,“步数”可以对应于设定的步数或车轮旋转数、设定的距离、设定的行驶时间、暂停之间的时间等。
图10总结了本发明实施例的方法1000。在步骤1002获得位姿数据,并在步骤1004根据该数据生成图。该图通过在点1006处执行每个闭环与其他闭环之间的成对一致性测试,来估计每个闭环置信度评分。如果对它们的准确性的置信度太低(例如,低于第一阈值/水平的置信度评分,或者k均值聚类组的中心值低于其他k均值聚类组的中心值),则删除闭环,否则在步骤1008中将其保留在图中。一致子图305是步骤1008的输出,因为不一致的闭环(离群值)应已删除,仅保留一致闭环。
步骤1010是在实现了上述“GTk”方法加之所有实施例(但不是在全部实施例中)共有的异常离群值去除(OR)方法的实施例中,进行人工闭环插入。步骤1010的输出是图3B中所示的增广图307。
图11总结了本发明的实施例的方法1100,其包括人工闭环(即GTk方法),并且其中仅保留闭环的子集用于生成人工闭环。如果对人工闭环的精确度的置信度足够高(例如,高于第二阈值/水平,其高于第一阈值,或者高于内部k均值聚类组的中心值),则可以选择闭环来生成人工闭环。技术人员将理解,可以以许多不同的方式来计算置信度评分,并且较低的置信度评分可以指示在某些实施例中较高的置信度。
从以上所述,本领域技术人员将理解,可以认为本发明的实施例/方面提供了以下内容:
·一种空间一致性测试算法,用于测量一对闭环之间(例如,第一和后续闭环之间)的一致性,并选择一致子集,即使假阳性闭环构成了识别出的闭环的绝大多数,也将其删除;
·通过在扩展的Rauch-Tung-Striebel平滑器框架内自动重构和注入可信赖的人工闭环,开发了一种方法来提高位姿图SLAM的鲁棒性;
·通过上述两种方法构建了一个通用的中间层,称为图形修补程序(Graph-Tinker,GTk),可以将其与任何前端和后端系统结合使用以提高其性能。
本文描述的实施例的使用可以包括但不限于以下任何示例:
(i)允许设备相对于其他设备轨迹进行本地化;例如,配备有智能设备(例如,智能手机、智能手表、消防员标准套件的一部分等)的消防员,在进入建筑物时,他或她可以相对于已经走入建筑物内部的其他消防员的轨迹来定位他或她自己;
(ii)创建交通或落脚点地图,例如用于零售调查,以确定顾客的步行和看望位置;
(iii)创建设备运行所经过的环境的地图。
技术人员将理解,本文公开的实施例可以用于一个设备的轨迹或多个设备的轨迹的SLAM。此外,单个实施例使用的轨迹可能是由不同类型的设备生成的轨迹的混合物,例如某些是由机器人生成的,某些是由其他移动物体生成的,某些是由人生成的。
Claims (24)
1.一种构建一个或多个移动设备的运动模型的计算机实现的方法,其中,所述方法包括:
使用所述设备的传感器获得提供所述一个或多个移动设备的估计位姿的位置数据;
基于来自所述传感器的所述位置数据生成初始图,所述图的节点提供所述设备的一系列可能的位姿,所述图的边表示里程和闭环约束;
通过在每个闭环与一组其他闭环之间进行成对一致性测试,处理所述图以估计每个闭环置信度评分;以及
通过以下方式从所述初始图生成增广图:
基于所述置信度评分对每个闭环进行保留或删除;以及
将人工闭环边插入到所述图中成对的保留闭环之间。
2.根据权利要求1所述的方法,其中,通过选择所述图的一个或以上成对节点并且计算链接所述成对节点的边来创建所述人工闭环,每条新边表示一个新的闭环。
3.根据权利要求2所述的方法,其中,通过确定将所述成对的第一节点的所述位姿转换为所述成对的第二节点的位姿的转换来计算人工边。
4.根据上述权利要求1-3中任一项所述的方法,其中,在成对节点之间执行的所述一致性测试是空间一致性校验。
5.根据上述权利要求1所述的方法,其中,相对于所述设备的初始位姿来确定所述移动设备的估计位姿。
6.根据上述权利要求1所述的方法,其中,如果所述闭环的置信度评分低于第一水平,则从所述图删除所述闭环。
7.根据上述权利要求1所述的方法,其中,如果所述闭环的置信度评分低于第一水平,则从所述图中删除所述闭环,所述第一水平是固定的或学习的。
8.根据权利要求6或权利要求7所述的方法,其中,如果所述置信度评分高于所述第一水平,则保留所述闭环。
9.根据上述权利要求1所述的方法,其中,使用k均值聚类将所述闭环聚类为两组,并且从所述图中删除中心值较低的所述组中的所述闭环。
10.根据权利要求9所述的方法,其中,如果所述闭环处于中心值较高的所述组中,则所述闭环被保留。
11.根据上述权利要求10所述的方法,其中,如果一对闭环的所述置信度评分高于第二水平,则使用该对闭环来播种所述人工闭环的生成,并且其中所述第二水平是固定的或从数据中学习的。
12.根据上述权利要求11所述的方法,其中,所述第二水平是所述保留组的中心值。
13.根据上述权利要求1所述的方法,其中,如果一对闭环的所述置信度评分高于第二水平,则使用该对闭环来播种所述人工闭环的生成,并且其中所述第二水平是固定的或从数据中学习的。
14.根据上述权利要求1所述的方法,进一步包括使用所述增广图来生成建筑物内部的模型。
15.根据上述权利要求1所述的方法,还包括:使用所述增广图,以允许所述一个或以上移动设备的第一移动设备基于其他所述移动设备的轨迹定位自身。
16.根据上述权利要求1所述的方法,其中,所述一个或多个设备是移动电话、智能手表、惯性测量单元(IMU)或智能相机。
17.根据上述权利要求中1所述的方法,其中,所述一个或多个设备被配置为由人、机器人或车辆携带。
18.根据上述权利要求1所述的方法,其中,所述一个或多个设备被配置为能够自身移动的车辆或机器人或成为其一部分。
19.一种包含机器可读介质的指令,当处理器读取指令时,该指令使该处理器实现上述权利要求1-18任一项的方法。
20.一种包括处理器的系统,所述处理器被配置为执行以下步骤:
基于来自一个或多个移动设备的传感器的位置数据获得初始图,该图的节点提供一系列可能的所述一个或多个设备的位姿,该图的边表示里程和/或闭环约束;
通过在每个闭环与一组其他闭环之间进行成对一致性测试,处理所述图以估计每个闭环置信度评分;
通过基于所述置信度评分对每个闭环进行保留或删除,从所述初始图生成增广图;以及
将人工闭环边插入到所述图中成对的保留闭环之间。
21.根据权利要求20所述的系统,其特征在于,所述处理器进一步被配置为基于所述置信度评分来识别所述保留闭环的子集,并且仅使用所述保留闭环的所述子集中的闭环来播种人工闭环。
22.根据权利要求20或权利要求21所述的系统,进一步包括:
所述一个或多个移动设备,其中所述一个或多个移动设备包括或已安装所述传感器,所述传感器被配置为提供所述位置数据。
23.根据权利要求20或权利要求21所述的系统,其特征在于,所述系统由所述一个或多个移动设备提供,其中所述一个或多个移动设备包括或已安装所述处理器和所述传感器,所述传感器被配置为提供所述位置数据。
24.根据权利要求20或权利要求21所述的系统,其特征在于,所述步骤在至少两个处理器之间分配。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GR20170100360 | 2017-07-31 | ||
GR20170100360 | 2017-07-31 | ||
GB1718507.5 | 2017-11-09 | ||
GBGB1718507.5A GB201718507D0 (en) | 2017-07-31 | 2017-11-09 | A method of constructing a model of the motion of a mobile device and related systems |
PCT/GB2018/052188 WO2019025788A1 (en) | 2017-07-31 | 2018-07-31 | METHOD FOR CONSTRUCTING A MOVEMENT MODEL OF A MOBILE DEVICE AND ASSOCIATED SYSTEMS |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111279391A CN111279391A (zh) | 2020-06-12 |
CN111279391B true CN111279391B (zh) | 2023-08-18 |
Family
ID=60788492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880063630.XA Active CN111279391B (zh) | 2017-07-31 | 2018-07-31 | 一种构建移动设备运动模型的方法及相关系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11625870B2 (zh) |
EP (1) | EP3662445B1 (zh) |
CN (1) | CN111279391B (zh) |
AU (1) | AU2018311303B2 (zh) |
GB (1) | GB201718507D0 (zh) |
WO (1) | WO2019025788A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108680185B (zh) * | 2018-04-26 | 2020-09-22 | 广东宝乐机器人股份有限公司 | 移动机器人的陀螺仪数据校正方法、装置和设备 |
DK201970121A1 (en) | 2018-10-30 | 2020-06-04 | Aptiv Technologies Limited | GENERATION OF OPTIMAL TRAJECTORIES FOR NAVIGATION OF VEHICLES |
US11803184B2 (en) * | 2018-12-18 | 2023-10-31 | Motional Ad Llc | Methods for generating maps using hyper-graph data structures |
CA3028708A1 (en) * | 2018-12-28 | 2020-06-28 | Zih Corp. | Method, system and apparatus for dynamic loop closure in mapping trajectories |
DE102019202702B3 (de) | 2019-02-28 | 2020-08-13 | Kuka Deutschland Gmbh | Abfahren einer vorgegebenen Anordnung von Wegen mit einem mobilen Roboter |
GB2588572B (en) | 2019-03-20 | 2024-01-10 | Navenio Ltd | Transition Detection |
CN111854769B (zh) * | 2019-04-25 | 2022-07-22 | 北京嘀嘀无限科技发展有限公司 | 位姿数据处理方法、装置、地图生成设备和存储介质 |
CN110260859B (zh) * | 2019-06-06 | 2022-12-13 | 哈尔滨工程大学 | 一种考虑数据关联间耦合关系的位姿图修正方法 |
CN111780756A (zh) * | 2020-07-20 | 2020-10-16 | 北京百度网讯科技有限公司 | 车辆航位推算方法、装置、设备以及存储介质 |
GB2597335A (en) | 2020-07-20 | 2022-01-26 | Navenio Ltd | Map matching trajectories |
CN112762938B (zh) * | 2020-12-24 | 2022-08-09 | 哈尔滨工程大学 | 一种基于旋转矩阵的因子图协同定位方法 |
US11567163B2 (en) * | 2021-04-07 | 2023-01-31 | Zebra Technologies Corporation | Mobile device locationing |
WO2024135390A1 (ja) * | 2022-12-19 | 2024-06-27 | パナソニックIpマネジメント株式会社 | 撮影データの処理装置、撮影データの処理方法、及び撮影データの処理プログラム |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564224B1 (en) * | 1999-12-06 | 2003-05-13 | Kivera, Inc. | Method and apparatus for merging multiple road map databases |
CN102343123A (zh) * | 2010-07-29 | 2012-02-08 | 鼎迈医疗科技(苏州)有限公司 | 反馈式神经电刺激系统及其反馈控制方法 |
CN103140812A (zh) * | 2010-10-11 | 2013-06-05 | 通用电气公司 | 用于基于信号处理的故障检测、隔离和矫正的系统、方法和设备 |
CN104374395A (zh) * | 2014-03-31 | 2015-02-25 | 南京邮电大学 | 基于图的视觉slam方法 |
CN105527968A (zh) * | 2014-09-29 | 2016-04-27 | 联想(北京)有限公司 | 信息处理方法和信息处理装置 |
EP3078935A1 (en) * | 2015-04-10 | 2016-10-12 | The European Atomic Energy Community (EURATOM), represented by the European Commission | Method and device for real-time mapping and localization |
CN106780608A (zh) * | 2016-11-23 | 2017-05-31 | 北京地平线机器人技术研发有限公司 | 位姿信息估计方法、装置和可移动设备 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2199982A1 (en) | 2008-12-19 | 2010-06-23 | Nederlandse Organisatie voor toegepast-natuurwetenschappelijk Onderzoek TNO | Method and apparatus for measuring the trajectory of a vehicle |
DE102009027602A1 (de) | 2009-07-10 | 2011-01-20 | Robert Bosch Gmbh | Selbststeuerndes Fahrzeug |
CA2772636A1 (en) | 2009-08-31 | 2011-03-03 | Neato Robotics, Inc. | Method and apparatus for simultaneous localization and mapping of mobile robot environment |
KR101782057B1 (ko) | 2010-05-03 | 2017-09-26 | 삼성전자주식회사 | 지도 생성 장치 및 방법 |
JP2012064131A (ja) | 2010-09-17 | 2012-03-29 | Tokyo Institute Of Technology | 地図生成装置、地図生成方法、移動体の移動方法、及びロボット装置 |
EP2619742B1 (en) * | 2010-09-24 | 2018-02-28 | iRobot Corporation | Systems and methods for vslam optimization |
WO2012166814A1 (en) | 2011-05-31 | 2012-12-06 | Honda Motor Co., Ltd. | Online environment mapping |
GB201202344D0 (en) | 2012-02-10 | 2012-03-28 | Isis Innovation | Method of locating a sensor and related apparatus |
WO2013165391A1 (en) | 2012-05-01 | 2013-11-07 | Intel Corporation | Simultaneous localization and mapping using spatial and temporal coherence for indoor location |
CN102831446A (zh) | 2012-08-20 | 2012-12-19 | 南京邮电大学 | 单目视觉slam中基于图像外观的闭环检测方法 |
CN103901774B (zh) | 2012-12-28 | 2017-02-08 | 联想(北京)有限公司 | 高效鲁棒的基于多传感器的slam协调方法及系统 |
DE102013211126A1 (de) | 2013-06-14 | 2014-12-18 | Robert Bosch Gmbh | Verfahren zum Modellieren eines Umfelds eines Fahrzeugs |
WO2014202258A1 (en) | 2013-06-21 | 2014-12-24 | National University Of Ireland, Maynooth | A method for mapping an environment |
EP3014469B1 (en) | 2013-06-28 | 2018-08-01 | Intel Corporation | Systems and methods for revisit location detection |
US9146299B2 (en) * | 2013-08-06 | 2015-09-29 | Qualcomm Incorporated | Method and apparatus for position estimation using trajectory |
US20160327653A1 (en) * | 2014-02-03 | 2016-11-10 | Board Of Regents, The University Of Texas System | System and method for fusion of camera and global navigation satellite system (gnss) carrier-phase measurements for globally-referenced mobile device pose determination |
WO2015121677A1 (en) | 2014-02-17 | 2015-08-20 | Isis Innovation Ltd | Determining the position of a mobile device in a geographical area |
US9741140B2 (en) * | 2014-05-19 | 2017-08-22 | Microsoft Technology Licensing, Llc | Fast solving for loop closure using a relative state space |
GB201500411D0 (en) | 2014-09-15 | 2015-02-25 | Isis Innovation | Determining the position of a mobile device in a geographical area |
CN104850615A (zh) | 2015-05-14 | 2015-08-19 | 西安电子科技大学 | 一种基于g2o的SLAM后端优化算法方法 |
US10360718B2 (en) | 2015-08-14 | 2019-07-23 | Samsung Electronics Co., Ltd. | Method and apparatus for constructing three dimensional model of object |
US9612123B1 (en) | 2015-11-04 | 2017-04-04 | Zoox, Inc. | Adaptive mapping to navigate autonomous vehicles responsive to physical environment changes |
CN105856230B (zh) | 2016-05-06 | 2017-11-24 | 简燕梅 | 一种可提高机器人位姿一致性的orb关键帧闭环检测slam方法 |
-
2017
- 2017-11-09 GB GBGB1718507.5A patent/GB201718507D0/en not_active Ceased
-
2018
- 2018-07-31 CN CN201880063630.XA patent/CN111279391B/zh active Active
- 2018-07-31 EP EP18765966.9A patent/EP3662445B1/en active Active
- 2018-07-31 AU AU2018311303A patent/AU2018311303B2/en active Active
- 2018-07-31 WO PCT/GB2018/052188 patent/WO2019025788A1/en unknown
- 2018-07-31 US US16/635,189 patent/US11625870B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564224B1 (en) * | 1999-12-06 | 2003-05-13 | Kivera, Inc. | Method and apparatus for merging multiple road map databases |
CN102343123A (zh) * | 2010-07-29 | 2012-02-08 | 鼎迈医疗科技(苏州)有限公司 | 反馈式神经电刺激系统及其反馈控制方法 |
CN103140812A (zh) * | 2010-10-11 | 2013-06-05 | 通用电气公司 | 用于基于信号处理的故障检测、隔离和矫正的系统、方法和设备 |
CN104374395A (zh) * | 2014-03-31 | 2015-02-25 | 南京邮电大学 | 基于图的视觉slam方法 |
CN105527968A (zh) * | 2014-09-29 | 2016-04-27 | 联想(北京)有限公司 | 信息处理方法和信息处理装置 |
EP3078935A1 (en) * | 2015-04-10 | 2016-10-12 | The European Atomic Energy Community (EURATOM), represented by the European Commission | Method and device for real-time mapping and localization |
CN106780608A (zh) * | 2016-11-23 | 2017-05-31 | 北京地平线机器人技术研发有限公司 | 位姿信息估计方法、装置和可移动设备 |
Non-Patent Citations (1)
Title |
---|
艾青林等.基于ORB 关键帧匹配算法的机器人SLAM 实现.《机电工程》.2016,第33卷(第5期),513-520. * |
Also Published As
Publication number | Publication date |
---|---|
GB201718507D0 (en) | 2017-12-27 |
US11625870B2 (en) | 2023-04-11 |
AU2018311303A1 (en) | 2020-02-20 |
EP3662445B1 (en) | 2022-05-11 |
CN111279391A (zh) | 2020-06-12 |
AU2018311303B2 (en) | 2023-02-23 |
WO2019025788A1 (en) | 2019-02-07 |
EP3662445A1 (en) | 2020-06-10 |
US20210097739A1 (en) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111279391B (zh) | 一种构建移动设备运动模型的方法及相关系统 | |
Zhou et al. | To learn or not to learn: Visual localization from essential matrices | |
Mei et al. | Closing loops without places | |
Botterill et al. | Bag‐of‐words‐driven, single‐camera simultaneous localization and mapping | |
Zhang et al. | Graph-based place recognition in image sequences with CNN features | |
Zhang et al. | Hierarchical topic model based object association for semantic SLAM | |
Grisetti et al. | Robust optimization of factor graphs by using condensed measurements | |
Li et al. | GESAC: Robust graph enhanced sample consensus for point cloud registration | |
Wang et al. | 3d lidar and stereo fusion using stereo matching network with conditional cost volume normalization | |
US9858503B2 (en) | Acceleration of linear classifiers | |
Komorowski et al. | Egonn: Egocentric neural network for point cloud based 6dof relocalization at the city scale | |
Ma et al. | Feature matching via motion-consistency driven probabilistic graphical model | |
Ding et al. | Persistent stereo visual localization on cross-modal invariant map | |
Cheng et al. | Hierarchical visual localization for visually impaired people using multimodal images | |
Saleem et al. | Neural network-based recent research developments in SLAM for autonomous ground vehicles: A review | |
Ge et al. | Global registration of multiview unordered forest point clouds guided by common subgraphs | |
Bui et al. | D2s: Representing local descriptors and global scene coordinates for camera relocalization | |
Goldman et al. | Robust epipolar geometry estimation using noisy pose priors | |
Lee et al. | Learning to register unbalanced point pairs | |
KR20240115727A (ko) | 비주얼 로컬라이제이션을 수행하기 위한 방법 및 장치 | |
Munoz et al. | Improving Place Recognition Using Dynamic Object Detection | |
Klüssendorff et al. | Graph-based visual SLAM and visual odometry using an RGB-D camera | |
Zhan et al. | On-the-Fly SfM: What you capture is What you get | |
Mao et al. | An adaptive localization system for image storage and localization latency requirements | |
Kang et al. | Improving disparity estimation based on residual cost volume and reconstruction error volume |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |