首页 / 专利库 / 人工智能 / 机器人自主导航 / 用于使用视觉稀疏地图进行自主导航的系统和方法

用于使用视觉稀疏地图进行自主导航的系统和方法

阅读:986发布:2020-05-15

专利汇可以提供用于使用视觉稀疏地图进行自主导航的系统和方法专利检索,专利查询,专利分析的服务。并且一种用于使用视觉稀疏地图进行自主导航的系统和方法。该系统包括 机器人 设备,该机器人设备具有RGB-D相机、处理器和存储有计算机可执行代码的存储设备。计算机可执行代码被配置为:基于所捕获的RGB-D图像获得视觉稀疏地图;捕获RGB图像;获取机器人设备的当前 姿态 ;找到与机器人设备的当前姿态最接近的关键 帧 ;找到目标路径点,该目标路径点在最近关键帧之前约预定距离处;基于机器人设备与目标路径点之间的相对 位置 计算机器人设备的平移速度和旋转速度;以及使用计算的平移速度和旋转速度来控制机器人设备的操作以实现自主导航。,下面是用于使用视觉稀疏地图进行自主导航的系统和方法专利的具体信息内容。

1.一种用于使用视觉稀疏地图进行自主导航的方法,包括:
获得所述视觉稀疏地图,所述视觉稀疏地图包括多个视觉特征点和多个关键
使用视觉传感器捕获图像;
机器人设备的处理器基于所述图像和所述视觉稀疏地图获取所述机器人设备的当前姿态
由所述处理器找到最近关键帧,其中所述最近关键帧是所述多个关键帧中与所述机器人设备的当前姿态最接近的一个关键帧;
由所述处理器找到目标路径点,其中所述目标路径点是所述多个关键帧中在所述最近关键帧之前并且与所述最近关键帧具有预定距离的一个关键帧;
由所述处理器基于所述机器人设备与所述目标路径点之间的相对位置计算所述机器人设备的平移速度和旋转速度;以及
由所述处理器使用计算的平移速度和旋转速度来控制所述机器人设备的操作以实现自主导航。
2.根据权利要求1所述的方法,其中,所述预定义距离在30厘米至50厘米的范围内。
3.根据权利要求1所述的方法,其中,基于所述机器人设备的当前姿态与所述目标路径点之间的平移差和度差来执行计算所述平移速度和所述旋转速度的步骤,所述平移差tD和所述角度差θD通过以下来进行计算:
tD=||tT-tR||,以及
θD=|θT-θR|,
其中tT是所述目标路径点在所述视觉稀疏地图中的位置,tR是所述机器人设备在所述视觉稀疏地图中的位置,tD是所述机器人设备的位置与所述目标路径点的位置之间的平移差;以及
其中θT是所述目标路径点在所述视觉稀疏地图的2D空间中的朝向,θR是所述机器人设备在所述视觉稀疏地图的2D空间中的朝向,θD是所述机器人设备的朝向与所述目标路径点的朝向之间的角度差。
4.根据权利要求3所述的方法,其中,所述平移速度VT和所述旋转速度Vθ通过以下来进行计算:
以及
其中Vm是所述机器人设备的期望最大平移速度,θh是用于减小VT的角度差阈值,并且α是经验系数。
5.根据权利要求4所述的方法,其中θh约为55至60度,并且α在3至12的范围内,所述视觉传感器是RGB-D相机,所述视觉稀疏地图是基于所述视觉传感器收集的RGB-D图像获得的,并且所捕获的图像是RGB图像。
6.根据权利要求1所述的方法,其中所述多个关键帧被列为{x0,x1,,……,xk-1,xk},xk由第k关键帧的三维坐标定义,k是xk的索引,并且所述目标路径点具有比所述最近关键帧的索引大的索引。
7.根据权利要求5所述的系统,其中,所述计算机可执行代码被配置为通过以下来获得所述视觉稀疏地图:
收集每个所述RGB-D图像;
从每个所述RGB-D图像中提取特征点;以及
针对每个所述RGB-D图像:
基于提取的特征点和局部地图中的特征点,预测当前图像与所述局部地图之间的相对姿态;
通过将提取的特征点与最后一个关键帧中的特征点进行比较来确定当前图像是否是新关键帧;
使用所述新关键帧优化所述局部地图;
基于所述新关键帧确定环路闭合;以及
存储提取的特征点和所述新关键帧以获得所述视觉稀疏地图。
8.根据权利要求7所述的系统,其中,使用运动模型、视觉测距和重新定位中的至少一个来执行预测相对姿态的步骤。
9.根据权利要求7所述的系统,其中如果当前图像与最后一个关键帧之间的匹配点的数量小于阈值,则确定当前图像是所述新关键帧。
10.根据权利要求7所述的系统,其中,所述计算机可执行代码被配置为当所述局部地图中的关键帧的数量大于阈值时删除旧关键帧。
11.根据权利要求7所述的系统,其中确定环路闭合的步骤使用由视觉词汇组成的地点识别数据库
12.一种用于使用视觉稀疏地图进行自主导航的系统,所述系统包括机器人设备,其中所述机器人设备包括视觉传感器、处理器和存储有计算机可执行代码的存储设备,当在所述处理器处执行所述计算机可执行代码时,使所述处理器实现权利要求1至11中任一项所述的方法。
13.一种存储有计算机可执行代码的非暂时性计算机可读介质,其中,当在机器人设备的处理器处执行所述计算机可执行代码时,使所述处理器实现权利要求1至11中任一项所述的方法。

说明书全文

用于使用视觉稀疏地图进行自主导航的系统和方法

[0001] 相关申请的交叉引用
[0002] 在本公开的描述中引用和讨论了一些参考文献,其可以包括专利、专利申请和各种出版物。提供对这些参考文献的引用和/或讨论仅仅是为了使本公开的描述更清楚,而不是承认任何这些参考文献是本文所述公开的“现有技术”。本说明书中引用和讨论的所有参考文献均以引用的方式整体并入本文,如同每篇参考文献单独地以引用的方式并入本文。

技术领域

[0003] 本公开总体上涉及自主导航领域,并且更具体地涉及用于使用视觉稀疏地图进行自主导航的系统和方法。

背景技术

[0004] 这里提供的背景技术描述是为了总体上给出本公开的背景。既不明确地承认也不暗示地承认当前列名的发明人的在背景技术部分中描述的范围内的工作、以及在提交时可能不是作为现有技术的描述的各方面为本发明的现有技术。
[0005] 为了使机器人到达目标位置,自主导航是一个必不可少的组成部分。针对自主导航,引入了密集地图。然而,基于密集地图的自主导航存在一些难题。首先,密集地图的大多数点对于定位和导航是冗余的。其次,如果环境发生变化,则需要定期更新密集地图。因此,需要进行高成本的地图管理和计算。第三,随着地图尺寸的增加,存储密集地图需要巨大的内存。
[0006] 因此,本领域存在未解决的需求,需要解决上述缺陷和不足。

发明内容

[0007] 在某些方面,本公开涉及用于使用稀疏地图进行自主导航的系统。在某些实施例中,所述系统包括机器人设备,所述机器人设备具有视觉传感器、处理器和存储有计算机可执行代码的存储设备。当在所述处理器处执行所述计算机可执行代码时,所述计算机可执行代码被配置为:
[0008] 获得所述视觉稀疏地图,所述视觉稀疏地图包括多个视觉特征点和多个关键
[0009] 使用所述视觉传感器捕获图像;
[0010] 基于所述图像和所述视觉稀疏地图获取所述机器人设备的当前姿态
[0011] 找到最近关键帧,其中所述最近关键帧是所述多个关键帧中与所述机器人设备的当前姿态最接近的一个关键帧;
[0012] 找到目标路径点(waypoint),其中所述目标路径点是所述多个关键帧中在所述最近关键帧前方并且与所述最近关键帧具有预定距离(或者距所述最近关键帧预定距离处的周围或最接近)的一个关键帧;
[0013] 基于所述机器人设备与所述目标路径点之间的相对位置计算所述机器人设备的平移速度和旋转速度;以及
[0014] 使用计算的平移速度和旋转速度来控制机器人设备的操作以实现自主导航。
[0015] 在某些实施例中,所述视觉传感器是红绿蓝深度(RGB-D)相机,所述视觉稀疏地图是使用所述RGB-D相机收集的RGB-D图像获得的,并且所捕获的图像是RGB图像。
[0016] 在某些实施例中,所述预定距离在2厘米(cm)至800厘米的范围内。在某些实施例中,所述预定距离在20厘米至80厘米的范围内。在某些实施例中,所述预定距离在30厘米至50厘米的范围内。在某些实施例中,所述预定距离约为40厘米。在某些实施例中,所述预定距离可以根据参考线和机器人的速度发生变化。
[0017] 在某些实施例中,所述计算机可执行代码被配置为基于所述机器人设备的当前姿态与所述目标路径点之间的平移差和度差来计算所述平移速度和所述旋转速度,所述平移差tD和所述角度差θD通过以下来进行计算:
[0018] tD=||tT-tR||,以及
[0019] θD=|θT-θR|,
[0020] 其中tT是所述目标路径点在所述视觉稀疏地图中的位置,tR是所述机器人设备在所述视觉稀疏地图中的位置,tD是所述机器人设备的位置与所述目标路径点的位置之间的平移差;以及θT是所述目标路径点在所述视觉稀疏地图的2D空间中的朝向,θR是所述机器人设备在所述视觉稀疏地图的2D空间中的朝向,θD是所述机器人设备的朝向与所述目标路径点的朝向之间的角度差。
[0021] 在某些实施例中,所述计算机可执行代码被配置为通过以下来计算所述平移速度VT和所述旋转速度Vθ:
[0022]
[0023]
[0024] 其中Vm是所述机器人设备的期望最大平移速度,θh是用于减小VT的角度差阈值,并且α是经验系数。
[0025] 在某些实施例中,θh在30度至80度的范围内。在某些实施例中,θh在45度至65度的范围内。在某些实施例中,θh在55度至60度的范围内。在某些实施例中,θh约为57度。在某些实施例中,α在0.5至50的范围内。在某些实施例中,α在2至20的范围内。在某些实施例中,α在3至12的范围内。在某些实施例中,α约为6。在某些实施例中,θh和α可以根据参考线和机器人的速度而改变。
[0026] 在某些实施例中,所述多个关键帧被列为{x0,x1,……,xk-1,xk},xk由第k关键帧的三维坐标定义,k是xk的索引,并且所述目标路径点具有比所述最近关键帧的索引大的索引。在某些实施例中,沿着所述机器人设备的驱动方向列出关键帧,列表中后面列出的关键帧在列表中前面列出的关键帧前方。即,关键帧xk在xk-1前方,……,并且关键帧x1在关键帧x0前方。
[0027] 在某些实施例中,所述视觉传感器是RGB-D相机,所述视觉稀疏地图是基于所述视觉传感器收集的RGB-D图像获得的,并且所捕获的图像是RGB图像。
[0028] 在某些实施例中,所述计算机可执行代码被配置为通过以下来获得所述视觉稀疏地图:收集每个所述RGB-D图像;从每个所述RGB-D图像中提取特征点;以及针对每个所述RGB-D图像:
[0029] 基于提取的特征点和局部地图中的特征点,预测当前图像与所述局部地图之间的相对姿态;
[0030] 通过将提取的特征点与最后一个关键帧中的特征点进行比较来确定当前图像是否是新关键帧;
[0031] 使用所述新关键帧优化所述局部地图;
[0032] 基于所述新关键帧确定环路闭合(loop closure);以及
[0033] 存储提取的特征点和所述新关键帧以获得所述视觉稀疏地图。
[0034] 在某些实施例中,还可以使用RGB图像而不是RGB-D图像来执行所述视觉稀疏地图的获得。
[0035] 在某些实施例中,使用运动模型、视觉测距和重新定位中的至少一个来执行预测相对姿态的步骤。
[0036] 在某些实施例中,如果当前图像与最后一个关键帧之间的匹配点的数量小于阈值,则确定当前图像是所述新关键帧。在某些实施例中,匹配点的阈值约为2%至40%。在某些实施例中,匹配点的阈值约为5%至20%。在某些实施例中,匹配点的阈值约为10%,这意味着新关键帧可以包括约90%的新地图点。在某些实施例中,可根据环境的视觉特征稀疏性改变匹配点的阈值。
[0037] 在某些实施例中,该计算机可执行代码被配置为在关键帧冗余时删除旧关键帧,以保持紧凑的局部地图。在某些实施例中,如果关键帧所具有的地图点的约90%已在至少其他三个关键帧中看到,则该关键帧被确定为冗余关键帧并在局部地图中被删除。
[0038] 在某些实施例中,确定环路闭合的步骤使用由视觉词汇组成的地点识别数据库
[0039] 在某些方面,本公开涉及用于使用稀疏地图进行自主导航的方法。在某些实施例中,所述方法包括:
[0040] 获得所述视觉稀疏地图,所述视觉稀疏地图包括多个视觉特征点和多个关键帧;
[0041] 使用所述视觉传感器捕获图像;
[0042] 由机器人设备的处理器基于所述图像和所述视觉稀疏地图获取所述机器人设备的当前姿态;
[0043] 由所述处理器找到最近关键帧,其中所述最近关键帧是所述多个关键帧中与所述机器人设备的当前姿态最接近的一个关键帧;
[0044] 由所述处理器找到目标路径点,其中所述目标路径点是所述多个关键帧中在所述最近关键帧前方并且与所述最近关键帧具有预定距离(或者距所述最近关键帧预定距离处的周围或最接近)的一个关键帧;
[0045] 由所述处理器基于所述机器人设备与所述目标路径点之间的相对位置计算所述机器人设备的平移速度和旋转速度;以及
[0046] 由所述处理器使用计算的平移速度和旋转速度来控制所述机器人设备的操作以实现自主导航。
[0047] 在某些实施例中,所述视觉传感器是RGB-D相机,所述视觉稀疏地图是使用所述RGB-D相机收集的RGB-D图像获得的,并且所捕获的图像是RGB图像。
[0048] 在某些实施例中,所述预定距离在2厘米至800厘米的范围内。在某些实施例中,所述预定距离在20厘米至80厘米的范围内。在某些实施例中,所述预定距离在30厘米至50厘米的范围内。在某些实施例中,所述预定距离约为40厘米。
[0049] 在某些实施例中,基于所述机器人设备的当前姿态与所述目标路径点之间的平移差和角度差来执行计算所述平移速度和所述旋转速度的步骤,所述平移差tD和所述角度差θD通过以下来进行计算:
[0050] tD=||tT-tR||,以及
[0051] θD=|θT-θR|,
[0052] 其中tT是所述目标路径点在所述视觉稀疏地图中的位置,tR是所述机器人设备在所述视觉稀疏地图中的位置,tD是所述机器人设备的位置与所述目标路径点的位置之间的平移差;以及
[0053] 其中θT是所述目标路径点在所述视觉稀疏地图的2D空间中的朝向,θR是所述机器人设备在所述视觉稀疏地图的2D空间中的朝向,θD是所述机器人设备的朝向与所述目标路径点的朝向之间的角度差。
[0054] 在某些实施例中,所述平移速度VT和所述旋转速度Vθ通过以下公式计算:
[0055] 以及
[0056]
[0057] 其中Vm是所述机器人设备的期望最大平移速度,θh是用于减小VT的角度差阈值,并且α是经验系数。
[0058] 在某些实施例中,θh在30度至80度的范围内。在某些实施例中,θh在45度至65度的范围内。在某些实施例中,θh在55度至60度的范围内。在某些实施例中,θh约为57度。在某些实施例中,α在0.5至50的范围内。在某些实施例中,α在2至20的范围内。在某些实施例中,α在3至12的范围内。在某些实施例中,α约为6。
[0059] 在某些方面,本公开涉及存储有计算机可执行代码的非暂时性计算机可读介质。在某些实施例中,所述计算机可执行代码当在机器人设备的处理器处执行时被配置为执行上述方法。
[0060] 从结合以下附图及其说明文字对优选实施例的详细描述,本公开的这些方面和其他方面将变得更加清楚,尽管在不脱离本公开新颖概念的精神和范围的情况下,可以对本文进行变化和修改

附图说明

[0061] 根据详细描述和附图将更全面地理解本公开。这些附图示出了本公开的一个或多个实施例,并且与说明书一起用于解释本公开的原理。在任何可能的地方,贯穿附图,相同的附图标记用于表示实施例的相同或类似的元件,在附图中:
[0062] 图1示意性地描绘了根据本公开某些实施例的用于使用视觉稀疏地图进行自主导航的系统。
[0063] 图2示意性地描绘了根据本公开某些实施例的视觉稀疏地图。
[0064] 图3示意性地描绘了根据本公开某些实施例的用于使用视觉稀疏地图进行自主导航的系统。
[0065] 图4示意性地描绘了根据本公开某些实施例的用于获得视觉稀疏地图的方法。
[0066] 图5示意性地描绘了根据本公开某些实施例的用于使用视觉稀疏地图进行自主导航的方法。
[0067] 图6示意性地描绘了根据本公开某些实施例的示例性自主导航系统
[0068] 图7示意性地描绘了根据本公开某些实施例的示例性自主导航系统。
[0069] 图8A至图8F示出了根据本公开某些实施例的用于数据收集的办公环境。
[0070] 图9A和图9B分别示出了数据集II和III的地图和轨迹。
[0071] 图10示出了数据集I的地图和定位轨迹。
[0072] 图11A至图11C分别示出了数据集I、II和III的自主导航中的地图和定位轨迹。
[0073] 图12A至图12D示出了根据本公开某些实施例的用于数据收集的室外环境。
[0074] 图13A至图13D分别示出了数据集IV、VI、VIII和IX的定位和地图的轨迹。
[0075] 图14示出了根据本公开某些实施例的自主导航中的定位和地图的轨迹。

具体实施方式

[0076] 在以下示例中更具体地描述了本公开,这些示例仅用于说明目的,因为其中的许多修改和变化对于本领域技术人员来说是显而易见的。现在具体描述本公开的各实施例。参考附图,在所有附图中相同的附图标记(如果有的话)表示相同的组件。如在本文的说明中和整个所附权利要求书中所使用的,除非上下文另有明确说明,否则“一”、“一个”和“所述”包括复数指示物。此外,如在本文的说明中和整个所附权利要求书中所使用的,除非上下文另有明确说明,否则“在……中”的含义包括“在……中”和“在……上”。此外,为了方便读者,可以在说明书中使用标题或副标题,这不影响本公开的范围。另外,本说明书中使用的一些术语在下面更具体地定义。
[0077] 本说明书中使用的术语在本公开的上下文中以及使用每个术语的特定上下文中通常具有其在本领域中的通常含义。用于描述本公开的某些术语在下面或说明书中的其他地方进行讨论,以向实施者提供与本公开的说明有关的额外指导。为方便起见,可以突出显示某些术语,例如使用斜体和/或引号进行突出显示。突出显示的使用对术语的范围和含义没有影响;术语的范围和含义在相同的上下文中是相同的,无论是否突出显示。应当理解,可以以不止一种方式描述同一事物。因此,可以对本文所讨论的任何一个或多个术语使用替代语和同义词,并且对于术语是否在本文中详细阐述或讨论也没有任何特殊意义。提供了某些术语的同义词。对一个或多个同义词的叙述不排除使用其他同义词。本说明书中任何地方对示例(包括本文中讨论的任何术语的示例)的使用仅是说明性的,并且决不限制本公开或任何示例性术语的范围和含义。同样地,本公开不限于本说明书中给出的各种实施例。
[0078] 除非另外定义,否则本文使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常所理解的含义相同的含义。在发生冲突的情况下,本文件(包括定义)将起控制作用。
[0079] 如本文所使用的,“大约”、“约”或“近似”通常表示给定值或范围的20%以内,优选10%以内,更优选5%以内。本文给出的数值是近似的,意味着如果没有明确说明,可以推断出术语“大约”、“约”或“近似”。
[0080] 如本文所使用的,“多个”意指两个或更多个。
[0081] 如本文所使用的,术语“包含”、“包括”、“带有”、“具有”、“含有”、“涉及”等应理解为开放式的,即意味着“包括但不限于”。
[0082] 如本文所使用的,短语“A、B和C中的至少一个”应该被解释为使用非排他逻辑“或”来表示逻辑(A或B或C)。应当理解,方法内的一个或多个步骤可以以不同的顺序(或同时)执行,而不改变本公开的原理。
[0083] 如本文所使用的,术语“模”或“单元”可以指代以下各项、可以是以下各项的一部分或可以包括以下各项:专用集成电路(ASIC);电子电路;组合逻辑电路;现场可编程阵列(FPGA);执行代码的处理器(共享、专用或分组);提供所述功能的其他合适的硬件组件;或者例如在片上系统中的上述部分中的一些或全部的组合。术语模块或单元可以包括存储由处理器执行的代码的存储器(共享、专用或分组)。
[0084] 本文使用的术语“代码”可以包括软件固件和/或微代码,并且可以指代程序、例程、函数、类和/或对象。如上所使用的术语“共享”意味着可以使用单个(共享)处理器来执行来自多个模块的一些或所有代码。另外,来自多个模块的一些或所有代码可以由单个(共享)存储器存储。如上所使用的术语“分组”意味着可以使用一组处理器来执行来自单个模块的一些或所有代码。另外,可以使用一组存储器来存储来自单个模块的一些或所有代码。
[0085] 本文使用的术语“接口”通常是指用于在组件之间执行数据通信的、位于组件之间的交互点处的通信工具或部件。通常,接口可以适用于硬件和软件两者的级别,并且可以是单向或双向接口。物理硬件接口的示例可以包括电连接器、总线、端口、电缆、终端和其他I/O设备或组件。与接口通信的组件可以是例如计算机系统的多个组件或外围设备
[0086] 本公开的概述
[0087] 针对自主导航,已经引入了一些地图。其中,度量地图是自主导航的流行地图之一。在度量地图中,环境中的地标或物体的位置相对于全局坐标系存储在地图中。度量地图可以分为连续地图和离散地图。前者使用线条或多边形表示环境,后者使用单元格、点、面元(Surfel)、体素(Voxel)和特征表示环境。离散地图可以根据地图密度分类为密集地图和稀疏地图。单元格、点、面元和体素已用于密集地图,特征已用于稀疏地图。
[0088] 占用网格地图是将单元格用于自主导航的典型地图。占用网格地图的每个单元格表示空间是否被物体占据。在占用网格地图上计划导航路径。然而,占用网格地图通常以2D空间表示环境。
[0089] 针对3D空间,使用了密集点图。随着地图面积的增大,密集点云图中的点大幅增加。面元和体素可以降低点云图的大小。然而,面元和体素仍然需要高计算成本来进行后处理以生成面元和体素。此外,密集地图的大部分信息对于自主导航是冗余的。
[0090] 在某些方面,本公开涉及使用稀疏地图的自主导航系统。稀疏地图可以表示为特征(例如,视觉特征描述符)。由于每个视觉特征可以从图像中的角部或斑点(blob)生成,因此视觉特征点的数量远小于点云图的点。图1示意性地描绘了根据本公开某些实施例的用于使用视觉稀疏地图进行自主导航的系统。如图1所示,使用视觉稀疏地图的自主导航系统100包括两个步骤;1)图1的上部所示的地图生成;以及2)图1的下部所示的自主导航(使用来自上部的地图)。在地图生成步骤中,来自RBG-D相机的彩色图像和深度图像用于通过同时定位和映射(SLAM)生成视觉稀疏地图。图2示出了根据本公开某些实施例的视觉稀疏地图。由于视觉稀疏地图仅包括视觉特征点和关键帧,因此可以显著减小地图大小。每个视觉特征点具有视觉特征点的3D位置。每个关键帧具有3D位置和3D朝向。在自主导航步骤中,仅使用彩色图像进行定位。SLAM算法使用彩色图像和视觉稀疏地图计算机器人姿态。通过使用机器人姿态和视觉稀疏地图中的关键帧,路径点跟随器计算平移速度和角速度,以驱动机器人跟随参考线(即地图中的关键帧的列表)行进。
[0091] 如图1所示,SLAM既用于生成稀疏地图,也用于机器人设备的定位。在某些实施例中,修改ORB-SLAM2以用于构建视觉稀疏地图和定位。ORB-SLAM2通过引用整体并入本文。ORB-SLAM2包括三个模块:1)跟踪,2)局部地图绘制,以及3)环路闭合。完整的自主导航由地图绘制步骤、定位步骤和路径点跟随步骤描述。在地图绘制步骤中,准备视觉稀疏地图。在定位步骤中,基于当前图像和视觉稀疏地图计算当前机器人姿态。在路径点跟随步骤中,控制机器人设备以驱动从当前姿态到下一路径点。
[0092] 地图绘制:使用多个图像执行地图绘制。当捕获新图像时,跟踪模块会检查局部地图是否可用。如果没有可用的地图,则对局部地图进行初始化。通过计算两个图像之间的相对姿态以便对一组初始地图点进行三角测量,从而对局部地图进行初始化。如果局部地图可用,则跟踪模块使用运动模型预测新图像与局部地图之间的相对姿态。如果运动模型不可用,则针对最后一个关键帧使用视觉测距来预测相对姿态。如果既没有使用运动模型也没有使用视觉测距来预测相对姿态,则使用重新定位来预测相对姿态。重新定位使用地图中的视觉词汇查找相似的关键帧,并预测与最相似的关键帧的相对姿态。当通过运动模型、视觉测距或重新定位成功预测了相对姿态时,使用局部地图进一步细化相对姿态。在成功计算了新图像的相对姿态之后,跟踪模块确定新图像是否是新关键帧。如果当前图像与最后一个关键帧之间的匹配点的数量小于阈值,则将新图像确定为新关键帧。
[0093] 如果由跟踪模块生成了新关键帧,则新关键帧将添加到局部地图。给定新关键帧,局部地图模块使用局部光束平差法(Bundle Adjustment)(BA)来优化局部地图。为了限制局部地图的大小,局部地图模块检查局部地图中是否有旧关键帧。如果局部地图中的关键帧数量大于阈值,则从局部地图中删除最旧的关键帧之一,但将其保存在地图数据库中。
[0094] 给定新关键帧,环路闭合模块检查新关键帧是否是重新访问的图像。环路闭合模块使用由视觉词汇组成的地点识别数据库来识别重新访问的地点。如果在视觉词汇中找到新关键帧,则环路闭合模块使用姿态图优化和全局BA来优化整个地图。否则,新关键帧的视觉词汇被添加到地点识别数据库。
[0095] 在某些实施例中,本公开还包括用于将地图保存并加载到文件中的方法,该方法不包括在ORB-SLAM2中。该方法存储视觉特征点、关键帧和姿态图作为视觉稀疏地图的组成部分。每个视觉特征点具有地图中的3D位置和索引。每个关键帧具有索引、3D姿态和视觉特征描述符。姿态图使用顶点和边表示关键帧之间的连接信息。在姿态图中,顶点表示关键帧,边表示关键帧之间的可见连接。
[0096] 定位:给定地图,仅使用跟踪模块进行定位。在定位模式下,不更新局部地图和地图数据库。此外,不更新地点识别数据库。每当捕获新图像时,跟踪模块计算相机相对于地图原点的相对姿态。相机姿态XC由相机在地图中的位置{x,y,z}和朝向{横滚俯仰偏航}组成。地图的坐标对地图中第一个关键帧的姿态进行定位。
[0097] 路径点跟随器:通过使用来自视觉稀疏地图的参考线和相机姿态,路径点跟随器模块计算平移速度和角速度以控制机器人。我们假设XC与机器人姿态XR相同,因为在生成参考线时假设XC与机器人姿态XR相同(或者基于相机的外部参数确定XC与XR之间的关系)。换句话说,XC与XR之间的相对变换矩阵是相同矩阵。当捕获新图像时,由SLAM模块的跟踪模块计算XR。
[0098] 参考线是根据地图生成的。参考线表示为关键帧位置列表:
[0099] LR={X0,X1,…,Xk-1,Xk}
[0100] 其中XK={x,y,z}是地图中的第k个关键帧位置。
[0101] 如果跟踪模块成功计算了XR,则在LR中找到了距XR最近的关键帧XN。将距XN预定距离的关键帧确定为临时目标路径点XT。XR与XT之间的平移差δT和角度差δθ可以通过以下来进行计算:
[0102] tD=||tT-tR||
[0103] θD=|θT-θR|
[0104] 其中t={x,y,z},θ是机器人在2D空间中的朝向。
[0105] 为了控制机器人,通过以下来计算平移速度VT和旋转速度Vθ:
[0106]
[0107]
[0108] 其中Vm是机器人的期望最大平移速度。θh是用于减小VT的角度差阈值。如果θD大于θh,则VT减半。α是用于使用θD计算Vθ的经验系数。
[0109] 本公开的实施方式
[0110] 本公开涉及计算机系统。如附图中所示,计算机组件可以包括物理硬件组件(其被示为实线框)以及虚拟软件组件(其被示为虚线框)。除非另有说明,否则本领域普通技术人员将理解,这些计算机组件可以以软件、固件或硬件组件或其组合的形式来实现,但不限于上述形式。
[0111] 这里描述的装置、系统和方法可以由一个或多个处理器执行的一个或多个计算机程序实现。计算机程序包括存储在非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括存储的数据。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器、磁存储器和光存储器。
[0112] 在下文中,将参考示出了本公开实施例的附图,更详细地描述本公开。然而,本公开可以按照多种不同形式来表现,并且不应当被看做是限制在本文中阐述的实施例;相反,提供这些实施例,使得本公开将会全面和完整,并且将会向本领域技术人员完全传达本公开的范围。
[0113] 图3示意性地描绘了根据本公开某些实施例的用于使用视觉稀疏地图进行自主导航的系统。如图3所示,系统100包括机器人设备110。机器人设备110可以是地面机器人设备、增强现实/虚拟现实(AR/VR)设备、3D重建设备、无人驾驶飞行器(UAV)或计算设备等。机器人设备110可以包括但不限于处理器112、存储器114、存储设备116、视觉传感器150和惯性测量单元(IMU)/车轮编码器170。在某些实施例中,机器人设备110可以包括其他硬件组件和软件组件(未示出)以执行其相应的任务。这些硬件和软件组件的示例可以包括但不限于其他所需的存储器、接口、总线、输入/输出(I/O)模块或设备、网络接口和外围设备。机器人设备110还可以包括接口,该接口被配置为将机器人设备110连接到其他机器人设备或服务器。该接口可以是无线或有线网络接口、USB接口或用于通信的任何其他类型的接口。
[0114] 在某些实施例中,视觉传感器150包括相机或其他视觉传感器,并且被配置为捕获环境的图像或视频。在某些实施例中,视觉传感器150是RGB-D相机或RGB相机。在其他实施例中,视觉传感器150还可以包括光检测和测距(LIDAR)设备、灰度相机等。IMU/车轮编码器170可以包括一个或多个IMU、或一个或多个车轮编码器、或IMU和车轮编码器两者。IMU是惯性传感器(例如,加速度计、陀螺仪和磁计),其被配置为执行机器人设备110的惯性测量;
车轮编码器被配置为测量机器人设备110行进的距离。
[0115] 处理器112控制机器人设备110的操作。在某些实施例中,处理器112可以是中央处理单元(CPU)。存储器114可以是易失性存储器,例如随机存取存储器(RAM),用于在机器人设备110的操作期间存储数据和信息。在某些实施例中,存储器114可以是易失性存储器阵列。在某些实施例中,机器人设备110可以在一个以上的处理器112和/或一个以上的存储器114上运行。存储设备116是非易失性数据存储介质或设备。存储设备116的示例可以包括闪存、存储卡、USB驱动器或其他类型的非易失性存储设备,诸如硬盘驱动器、软盘、光盘驱动器或任何其他类型的数据存储设备。在某些实施例中,机器人设备110可以具有一个以上的存储设备116。在某些实施例中,机器人设备110还可以包括远程存储设备116。
[0116] 存储设备116存储计算机可执行代码。计算机可执行代码包括地图绘制和导航应用118、配置文件136、一个或多个姿态接收模块138、以及可选的其他应用(例如,操作系统)。地图绘制和导航应用118包括代码或指令,该代码或指令当在处理器112处被执行时可以执行稀疏地图生成和自主导航。配置文件136包括视觉传感器150的参数。姿态接收模块138被配置为在接收到地图绘制和导航应用118的当前姿态时,基于机器人设备110的当前姿态实时控制其操作。
[0117] 在某些实施例中,如图3所示,地图绘制和导航应用118包括RGB-D接收模块120、跟踪模块122、局部地图绘制模块124、环路闭合模块126、地点识别模块128、地图模块130、路径点跟随器132和机器人控制器134。在某些实施例中,当视觉传感器150是RGB相机或灰度相机时,RGB-D接收模块120也可以是RGB接收模块或灰度图像接收模块。
[0118] RGB-D接收模块120被配置为接收或检索由RGB-D传感器150捕获的RGB-D图像。在某些实施例中,RGB-D接收模块还可以被配置为检索RGB-D传感器150的配置信息,例如RGB-D传感器150的固有参数和/或外部参数,并使用这些参数对接收的RGB-D图像进行预处理。固有参数可以包括相机中心、失真校正和焦距;外部参数可以包括RGB-D相机150的安装位置和朝向。RGB-D图像包括R、G、B颜色通道和深度通道,RGB-D接收模块120可以划分通道,提供用于构建稀疏地图的颜色信息和深度信息,并提供用于机器人设备110的定位的颜色信息。
[0119] 在地图绘制期间,需要RGB-D或RGB图像。在自主导航期间,RGB图像就足够了,并且RGB-D接收模块120被配置为捕获RGB图像或从RGB-D图像中提取RGB图像,并将每个RGB图像发送到跟踪模块122。
[0120] 跟踪模块122被配置为将RGB-D相机150与每个图像或帧定位,并且决定何时插入新的关键帧。具体地,在从RGB-D接收模块120接收到当前RGB-D图像时,跟踪模块122被配置为检查局部地图是否可用。如果没有可用的局部地图,则跟踪模块122被配置为对局部地图进行初始化。在某些实施例中,由跟踪模块122对局部地图进行初始化。通过计算两个图像之间的相对姿态以便对一组初始地图点进行三角测量,从而对局部地图进行初始化。由于局部地图是地图的一部分,因此在对局部地图进行初始化时对地图进行初始化。如果局部地图可用,则跟踪模块122被配置为预测新图像与局部地图之间的相对姿态。跟踪模块122被配置为使用运动模型进行预测;如果运动模型不可用,则使用视觉测距;并且如果视觉测距不可用,则使用重定位。在某些实施例中,在成功预测之后,跟踪模块122还被配置为利用局部地图细化当前图像的相对姿态。
[0121] 跟踪模块122还被配置为确定新图像是否是新关键帧。在某些实施例中,如果当前图像与最后一个关键帧之间的匹配点的数量小于阈值,则将新图像确定为新关键帧。当新图像被确定为新的关键帧时,跟踪模块122还被配置为生成新的关键帧并将新的关键帧发送到局部地图绘制模块124。如果跟踪模块122确定新图像不是新关键帧,则该方法继续接收下一图像。
[0122] 在自主导航期间,跟踪模块122被配置为使用捕获的RGB图像和准备的视觉稀疏地图执行定位。通过执行定位,获取与捕获的RGB图像相对应的机器人姿态。
[0123] 局部地图绘制模块124被配置为在接收到新关键帧时,将新关键帧插入到局部地图,使用局部光束平差法(BA)优化局部地图,并将新关键帧发送到环路闭合模块126。在某些实施例中,局部地图绘制模块124还被配置为检查局部地图中是否存在旧关键帧,并且如果局部地图中的关键帧的数量大于阈值,则从局部地图中去除一个或多个旧关键帧。在某些实施例中,删除冗余关键帧以便维护紧凑的局部地图。在某些实施例中,如果关键帧所具有的地图点的90%已在至少其他三个关键帧中看到,则该关键帧被确定为冗余关键帧并在局部地图中被删除。在某些实施例中,已看到的地图点的数量可以在60%-99%的范围内。在某些实施例中,已看到的地图点的数量可以在85-95%的范围内。虽然旧的关键帧已从局部地图中删除,但它仍保留在大比例尺地图中。
[0124] 环路闭合模块126被配置为在接收到新关键帧时,检查该新关键帧是否是重新访问的图像,并使用由视觉词汇组成的地点识别数据库来识别重新访问的地点。如果在视觉词汇中找到新关键帧,则环路闭合模块126通过使用姿态图优化和全局BA来优化整个地图。如果没有检测到环路闭合,则环路闭合模块126将新关键帧的视觉词汇发送到地点识别模块128,并且地点识别模块128将新关键帧的视觉词汇添加到地点识别数据库。
[0125] 地点识别模块128被配置为在从环路闭合模块126接收到新关键帧的视觉词汇时,将新关键帧的视觉词汇存储到地点识别数据库。在某些实施例中,使用图像的ORB(定向FAST和旋转BRIEF)描述符来创建视觉词汇。识别数据库通过新关键帧的视觉词汇逐步更新。
[0126] 地图模块130被配置为在完成局部地图绘制和环路闭合时存储或更新优化后的地图,即视觉稀疏地图。视觉稀疏地图可以包含视觉特征点、关键帧和姿态图。每个视觉特征点具有地图中的3D位置和索引。每个关键帧具有索引、3D姿态和视觉特征描述符。姿态图使用顶点和边表示关键帧之间的连接信息。在姿态图中,顶点表示关键帧,边表示关键帧之间的可见连接。
[0127] 路径点跟随器132被配置为在从跟踪模块122接收到当前机器人姿态时,寻找距机器人设备110最近(即,最接近当前机器人姿态)的最近关键帧。然后,路径点跟随器132被配置为沿着机器人设备110的移动方向,寻找在最近关键帧之前且与最近关键帧具有预定距离的关键帧。找到的关键帧被命名为目标路径点。
[0128] 路径点跟随器132还被配置为:当机器人姿态和目标路径点可用时,计算机器人设备110与目标路径点之间的距离;以及计算机器人航向与机器人位置和目标路径点的矢量之间的角度。
[0129] 然后,路径点跟随器132被配置为基于计算的距离和角度来计算机器人设备110的平移速度和旋转速度,并将计算的平移速度和旋转速度发送到机器人控制器134。
[0130] 机器人控制器134被配置为在接收到计算的平移速度和旋转速度时控制机器人设备110的操作,使得机器人设备110从当前位置移动到目标路径点。
[0131] 图4示意性地描绘了根据本公开某些实施例的用于生成视觉稀疏地图的方法。在某些实施例中,如图4中所示的方法400可以在如图3所示的机器人设备110上实现。应特别注意,除非在本公开中另有说明,否则该方法的步骤可以以不同的顺序排列,因此不限于如图4所示的顺序。
[0132] 在过程402,RGB-D相机150捕获环境的RGB-D图像(或帧),并且RGB-D接收模块120接收或检索所捕获的图像。在接收到每个图像之后,RGB-D接收模块120处理当前图像并获得RGB数据和深度数据(或RGB-D图像),并将RGB数据和深度数据发送到跟踪模块。
[0133] 在过程404,响应于接收到当前RGB-D图像,跟踪模块122检查局部地图是否可用。如果没有可用的局部地图,则对局部地图进行初始化。如果局部地图可用,则跟踪模块122预测新图像与局部地图之间的相对姿态。跟踪模块122可以使用运动模型、视觉测距或重新定位来执行预测。在成功预测之后,跟踪模块122还可以利用局部地图细化相对姿态。
[0134] 在过程406,在完成姿态预测后,跟踪模块122确定新图像是否是新关键帧。在某些实施例中,如果当前图像与最后一个关键帧之间的匹配点的数量小于阈值,则将新图像确定为新关键帧。当确定新图像是新关键帧时,跟踪模块122生成新关键帧并将新关键帧发送到局部地图绘制模块124和环路闭合模块126。如果跟踪模块122确定新图像不是新关键帧,则该方法继续接收下一图像。
[0135] 在过程408,响应于接收到新关键帧,局部地图绘制模块124将新关键帧插入到局部地图,使用局部光束平差法(BA)优化局部地图,并将新关键帧发送到环路闭合模块126。在某些实施例中,局部地图绘制模块124还检查局部地图中是否存在旧关键帧,并且如果局部地图中的关键帧的数量大于阈值,则从局部地图中去除一个或多个旧关键帧。虽然旧的关键帧已从局部地图中删除,但它仍保留在大比例尺地图中。
[0136] 在过程410,响应于接收到新关键帧,环路闭合模块126检查新关键帧是否是重新访问的图像,并使用由视觉词汇组成的地点识别数据库识别重新访问的位置。如果在视觉词汇中找到新关键帧,则环路闭合模块126通过使用姿态图优化和全局BA来优化整个地图。如果没有检测到环路闭合,则环路闭合模块126将新关键帧的视觉词汇发送到地点识别模块128,并且地点识别模块128将新关键帧的视觉词汇添加到地点识别数据库。
[0137] 在过程412,在局部地图绘制和环路闭合完成时,地图模块130将优化后的地图存储或更新为视觉稀疏地图。地图包含视觉特征点、关键帧和姿态图。每个视觉特征点具有地图中的3D位置和索引。每个关键帧具有索引、3D姿态和视觉特征描述符。姿态图使用顶点和边表示关键帧之间的连接信息。在姿态图中,顶点表示关键帧,边表示关键帧之间的可见连接。
[0138] 过程402至414描述了在机器人设备110的地图绘制模式下对环境的地图绘制。在某些实施例中,地图绘制被划分为跟踪、局部地图绘制和环路闭合三个线程。在执行了步骤402至414并且视觉稀疏地图130可用之后,该方法可以进一步在定位模式下执行机器人设备110的定位。在某些实施例中,在定位模式下,不更新地点识别数据库128、局部地图和大比例尺地图130。每当捕获新图像时,跟踪模块122计算相机相对于地图原点的相对姿态。
[0139] 在生成并更新视觉稀疏地图130之后,视觉稀疏地图130可以用于导航,如图5所示。
[0140] 图5示意性地描绘了根据本公开某些实施例的用于使用视觉稀疏地图进行自主导航的方法。在某些实施例中,如图5中所示的方法500可以在如图3所示的机器人设备110上实现。应特别注意,除非在本公开中另有说明,否则该方法的步骤可以以不同的顺序排列,因此不限于如图5所示的顺序。
[0141] 在某些实施例中,该方法可以包括激活过程,该过程将机器人设备从地图绘制模式激活到定位模式。在地图绘制模式下,跟踪模块122、局部地图绘制模块124和环路闭合模块126接收RGB-D图像并提供参考线(关键帧)和视觉稀疏地图;并且在定位模式下,跟踪模块122接收RGB或RGB-D图像并提供定位的机器人姿态。
[0142] 在过程502,RGB-D接收模块120接收由视觉传感器150捕获的当前RGB图像(或从所捕获的RGB-D图像中提取RGB图像),并将RGB图像发送到跟踪模块122。RGB-D图像可以具有作为不同通道的R、G、B和深度,该过程仅使用颜色通道R、G和B。
[0143] 在过程504,响应于接收到RGB图像,跟踪模块122执行定位,并基于RGB图像和准备的视觉稀疏地图获取机器人姿态。机器人姿态可以由相机姿态XC表示,其包括相机在地图中的位置{x,y,z}和朝向{横滚,俯仰,偏航}。
[0144] 在过程506,在获取机器人姿态之后,路径点跟随器132寻找距相机位置最近的关键帧。
[0145] 然后,在过程508,路径点跟随器132寻找在最近关键帧之前且与最近关键帧具有预定义距离(具有与预定距离最接近的距离)的关键帧。找到的关键帧被命名为目标路径点。
[0146] 响应于获得机器人位置和目标路径点,路径点跟随器132在过程510计算机器人与目标路径点之间的距离;以及在过程512,计算机器人航向与机器人位置和目标路径点的矢量之间的角度。机器人航向是机器人朝向中的{偏航},矢量是从机器人位置到目标路径点的矢量。
[0147] 在过程514,基于所计算的距离和角度,路径点跟随器132计算机器人的平移速度和旋转速度,并将计算的平移速度和旋转速度发送到机器人控制器142。
[0148] 在接收到计算的平移速度和旋转速度时,机器人控制器142控制机器人设备110的操作,使得机器人设备110从当前位置移动到目标路径点。
[0149] 在另一方面,本公开涉及存储计算机可执行代码的非暂时性计算机可读介质。当在机器人设备110的处理器112处执行时,上述代码可以执行如上所述的方法400和500。在某些实施例中,非暂时性计算机可读介质可以包括但不限于任何物理或虚拟存储介质。在某些实施例中,非暂时性计算机可读介质可以实现为机器人设备110的存储设备116,如图3所示。
[0150] 本公开的示例
[0151] 在室内环境中使用带有Orbbec Astra Pro的Robotis Turtlebot 2并在室外环境中使用带有Logitech C920Pro的Clearpath Husky,对根据本公开某些实施例的自主导航系统进行评估。
[0152] A.系统
[0153] 图6示意性地描绘了根据本公开某些实施例的示例性自主导航系统。该系统适用于室内环境。如图6所示,系统600包括RGB-D相机601(Orbbec Astra Pro)、膝上型计算机603和机器人设备605(Turtlebot)。RGB-D相机601安装在机器人设备605上,并且在彩色图像和深度图像两者中都具有640×480像素分辨率。膝上型计算机603放置在RGB-D相机
601与机器人设备605之间。室外平台600中的自主导航建立在机器人操作系统(ROS)上。
[0154] 图7示意性地描绘了根据本公开某些实施例的示例性自主导航系统。该系统适用于室外环境。由于RGB-D相机可能无法在室外环境中工作,因此将RGB相机用于室外环境中的地图绘制和定位两者。如图7所示,系统700包括RGB相机701(Logitech C920Pro)、膝上型计算机703和机器人设备705(Clearpath Husky)。RGB相机701仅使用640×480彩色图像用于地图绘制和定位两者。RGB相机701和膝上型计算机703都安装在机器人设备705上。室外平台700中的自主导航建立在ROS上。
[0155] B.使用地图数据的定位精度
[0156] 在评估自主导航之前,评估使用地图数据的定位精度。相同的地图数据用于评估定位精度。然而,仅彩色图像用于定位,而彩色图像和深度图像两者用于在室内环境中构建地图。
[0157] 图8A至图8F示出了用于数据收集的办公环境。其中,图8A示出了办公室A,图8B示出了走廊,图8C示出了走廊处的电梯,图8D示出了办公室B的玻璃门,图8E示出了到办公室B的窄门,图8F示出了办公室B。收集办公环境中的总共三个数据集。第一数据集在办公室A中收集,其中包括桌子、椅子和架子。机器人从第一货架附近开始出发,并返回到起始位置。第二数据集在办公室A和走廊中收集。机器人从办公室A开始出发,沿着走廊行进,并在走廊尽头的电梯前停下来。第三数据集在办公室A、走廊和办公室B中收集。机器人从办公室A开始出发,沿着走廊行进并停在办公室B。走廊与办公室B之间有一个1米宽的窄门。表1示出了每个数据集的路径长度和环境。
[0158] 表1、室内环境中的数据集
[0159]
[0160] 图9A和图9B分别示出了数据集II和III的地图和轨迹。数据集I的地图和轨迹如图2所示。表2示出了使用地图数据集进行定位的误差。
[0161] 虽然将相同的地图数据集用于评估定位精度,但平均均方根误差(RMSE)为0.031米,因为ORB-SLAM2从彩色图像中随机生成视觉特征以进行定位。但是,平均RMSE对于自主导航是可接受的,因为路径的最小宽度是一米。图10示出了数据集I上的地图和定位轨迹,其中黑线表示参考线(即地图),虚线表示定位。由于RMSE为0.036米,所以定位轨迹基本上覆盖了地图轨迹。
[0162] 表2、使用地图数据进行定位的RMSE
[0163]
[0164] 还评估了环境变化的定位精度,因为在生成地图后环境可能发生变化。数据集I中相同地点处的大约30%的物体发生变化,并且收集新的数据集以用于评估定位。给定从数据集I生成的地图,定位RMSE为0.116±0.111米(平均值±标准差)。虽然环境变化会略微增大定位RMSE,但环境变化中的RMSE对于自主导航仍然是可接受的。
[0165] C.自主导航中的定位精度
[0166] 评估了在自主导航步骤中机器人行进时的定位误差。路径点跟随器驱动机器人尽可能靠近参考线行进。通过找到距由ORB-SLAM2定位估计的位置最近的路径点,来计算定位误差,如表3所示。
[0167] 表3、自主导航中的定位RMSE
[0168]
[0169] 实验结果表明:1)平均定位RMSE为0.116±0.082米(平均值±标准差);2)机器人成功地在三个不同的环境中导航行进,即使存在具有挑战性的环境,例如特征少的长走廊(长度:25米)和一米宽的窄门;3)机器人转向时误差相对较大;4)特征稀疏的长走廊增大了定位误差。图11A至图11C分别示出了数据集I、II和III的自主导航中的地图和定位轨迹,其中黑线表示参考线(即地图),虚线表示定位。
[0170] D.室外环境中的环境变化
[0171] 评估了室外环境中的环境变化时的定位误差。数据集是沿着美国加利福尼亚州圣克拉拉市JD.com办公室周围的人行道收集的。该路径由树下的直的、弯曲的和蜿蜒的人行道组成,如图12A至图12D所示。地图数据集是于2017年12月13日15:04收集的。地图的路径长度为114.70米。六个收集的数据集如表4所示。1)在晴天的不同时间收集了数据集IV至VII;2)在阴天收集了数据集VIII;在下雨天收集了数据集IX。
[0172] 表4、室外环境中环境变化时的定位分析
[0173]
[0174] 使用失败率和失败时间这两个度量来评估定位性能。失败率是定位失败与所有定位尝试的比率。失败时间是从定位失败到下一次定位成功的时间。由于通过手动驱动来收集数据集,因此不评估定位精度。
[0175] 如表4所示,实验结果表明:1)数据集VI具有最小的失败率,因为数据集VI是在与地图相似的时间和天气下收集的;2)数据集IV具有最大的失效率,因为数据集IV的照度由于太阳位置的原因与地图完全不同;3)在晴天,失败时间与失败率成正比关系,但在雨天和阴天,失败率与失败时间之间的比例关系无效;4)在下雨天,失败时间大于阴天,而失败率小于阴天。图13A至图13D分别示出了数据集IV、VI、VIII和IX中的定位和地图的轨迹,其中黑线表示参考线(即,地图),并且星点表示定位。
[0176] E.室外环境中的自主导航
[0177] 如前一节所述,ORB-SLAM2在室外环境中的不同时间和不同天气下不稳定。因此,我们在2018年1月11日(这是一个晴天)15:02评估了自主导航,与地图的时间和天气相似。
[0178] 实验结果表明,机器人在人行道上成功行进,定位RMSE为0.246±0.151米(平均值±标准差)。人行道的宽度约为1.5米。图14示出了自主导航中的定位和地图的轨迹。我们注意到机器人很少定位在弯曲的人行道中,因为大多数视觉特征来自远处的物体。
[0179] 总之,根据本公开的某些实施例,提供了针对室内环境和室外环境的仅使用视觉稀疏地图的自主导航系统。ORB-SLAM2用于地图绘制和定位。路径点跟随器驱动机器人按照参考线行进。评估了使用两个机器人平台的室内环境和室外环境中的提供的系统。实验结果表明:1)使用地图数据集进行定位的误差足够小,使得机器人可以在室内环境自主行进;2)机器人在包括环境变化的三个室内环境中成功行进;3)室外环境变化明显增大了定位失败率;4)机器人在与地图相似的时间和天气下成功地在室外环境中行进。实验视频可在https://drive.google.com/file/d/1DlDa6lkrQA6Zi2XAbKn0hZsR8cXLyX KO/view?usp=sharing获得,其通过引用整体并入本文。
[0180] 参考文献:
[0181] [1]R.Siegwart,I.R.Nourbakhsh,D.Scaramuzza,Introduction to Autonomous Mobile Robots,Second edition,The MIT Press,2011.
[0182] [2]J.C.Latombe,Robot Motion Planning,Kluwer Academic Publishers,1991.[0183] [3]A.Lazanas,J.C.Latombe,Landmark robot navigation,Proceedings of the Tenth National Conference on AI,1992.
[0184] [4]E.Marder-Eppstein,E.Berger,T.Foote,B.Gerkey,and K.Konolige,The office marathon:Robust navigation in an indoor office environment,Proc.IEEE International Conference on Robotics and Automation(ICRA),2010,pp.300-307.[0185] [5]K.Konolige,M.Agrawal,R.C.Bolles,C.Cowan,M.Fischler,and B.Gerkey,Outdoor mapping and navigation using stereo vision,Exp.Robot.,2008,pp.179-190.
[0186] [6]F.Dayoub,T.Morris,B.Upcroft,P.Corke,“Vision-only autonomous navigation using topometric maps,”Intelligent Robots and Systems(IROS),2013 IEEE/RSJ International Conference on,2013,pp.1923-1929.
[0187] [7]J.Engel,T.Schps,D.Cremers,LSD-SLAM:Large-Scale Direct Monocular SLAM,European Conference on Computer Vision(ECCV),2014.
[0188] [8]J.Engel,J.Sturm,D.Cremers,Semi-Dense Visual Odometry for a Monocular Camera,IEEE International Conference on Computer Vision(ICCV),2013.[0189] [9]S.Hong,6-DOF Pose Estimation for A Portable Navigation Device,PhD dissertation,University Of Arkansas at Little Rock,2014.
[0190] [10]R.F.Salas-Moreno,R.A.Newcombe,H.Strasdat,P.H.J.Kelly,A.J.Davison,SLAM++:Simultaneous Localisation and Mapping at the Level of Objects,IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2013,pp.1352-1359.
[0191] [11]R.F.Salas-Moreno,B.Glocken,P.H.J.Kelly,A.J.Davison,Dense planar SLAM,IEEE International Symposium on Mixed and Augmented Reality(IS-MAR),2014,pp.157-164.
[0192] [12]P.Henry,M.Krainin,E.Herbst,X.Ren,and D.Fox,RGB-D mapping Using Kinect-style depth cameras for dense 3D modeling of indoor environments,International Journal of Robotics Research,2012,Vol.31,No.5,pp.647-663.
[0193] [13]A.S.Huang,A.Bachrach,P.Henry,M.Krainin,D.Mat-urana,D.Fox,N.Roy,Visual odometry and mapping for autonomous flight using an RGB-D camera,International Symposium on Robotics Research(ISRR),2011,pp.1-16.
[0194] [14]R.A.Newcombe,S.Izadi,O.Hilliges,D.Molyneaux,D.Kim,A.J.Davison,P.Kohi,J.Shotton,S.Hodges,A.Fitzgibbon,KinectFusion:Real-time dense surface mapping and tracking,IEEE International Symposium on Mixed and Augmented Reality(ISMAR),2011,pp.127-136.
[0195] [15]V.Pradeep,C.Rhemann,S.Izadi,C.Zach,M.Bleyer,S.Bathiche,MonoFusion:Real-time 3D reconstruction of small scenes with a single web camera,2013 IEEE International Symposium on Mixed and Augmented Reality
(ISMAR),2013,pp.83-88.
[0196] [16]A.J.Davison,I.D.Reid,N.D.Molton,and O.Stasse,MonoSLAM:Real-time single camera SLAM,IEEE Transactions on Pattern Analysis and Machine Intelligence,2007,Vol.29,No.6,pp.1052-1067.
[0197] [17]R.Mur-Artal,J.M.M.Montiel,and J.D.Tardos,ORB-SLAM:a Versatile and Accurate Monocular SLAM system,IEEE Trans.Robot.,2015,pp.1147-1163.
[0198] [18]H.Lim,J.Lim,and H.J.Kim,Real-time 6-DOF monocular visual SLAM in a large-scale environment,2014 IEEE Inter-national Conference on Robotics and Automation(ICRA),2014,pp.1532-1539.
[0199] [19]J.Lim,J.-M.Frahm,and M.Pollefeys,Online environment mapping,CVPR 2011,2011,pp.3489-3496.
[0200] [20]H.Badino,D.Huber,and T.Kanade,Real-time topometric localization,IEEE Int.Conf.Robot.Autom.,no.ICRA,2012,pp.1635-1642.
[0201] [21]C.X.Guo,K.Sartipi,R.C.Dutoit,G.Georgiou,R.Li,J.O.Leary,E.D.Nerurkar,J.A.Hesch,and S.I.Roumeliotis,Large-Scale Cooperative 3D Visual-Inertial Mapping in a Manhattan World,Technical Report,University of 
Minnesota,Dept.of Comp.Sci.and Eng.,MARS Lab,2015.
[0202] [22]R.Mur-Artal,&J.D.Tardos,ORB-SLAM2:An Open-Source SLAM System for Monocular,Stereo,and RGB-D Cameras,IEEE Transactions on Robotics,2017.
[0203] [23]Robotis turtlebot2,http://www.turtlebot.com/turtlebot2/
[0204] [24]Orbbec Astra Pro,https://orbbec3d.com/product-astra-pro/
[0205] [25]Clearpath Husky,https://www.clearpathrobotics.com/huskyunmanned-ground-vehicle-robot/
[0206] [26]Logitech C920 Pro,https://www.logitech.com/en-us/product/hd-prowebcam-c920
[0207] [27]Robot Operating System(ROS),http://www.ros.org/
[0208] [28]Vicon motion capture system,https://www.vicon.com/。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈