用于使用机器视觉系统执行同时定位和映射的系统和方法与流程

文档序号:12141579阅读:470来源:国知局
用于使用机器视觉系统执行同时定位和映射的系统和方法与流程

本文描述了用于捕获图像的系统和方法,该系统和方法用于获得视觉测量以便在同时定位和映射中的使用。



背景技术:

许多机器人是由计算机控制的机电系统(electro-mechanical)的机器。移动机器人具有在其环境中四处移动的能力,并且不固定到一个物理位置。如今常用的移动机器人的示例是自动化引导车辆或自动引导车辆(AGV)。AGV被典型地认为是跟随地板中的标记或电线或者使用用于导航的视觉系统或激光器的移动机器人。可以在工业、军事和安全环境中发现移动机器人。它们还作为消费产品出现,用于娱乐或执行具体任务,诸如真空清洁和家庭助理(home assistance)。

为了实现完全自主性,移动机器人典型地需要拥有在没有用户干预的情况下探索其环境、构建可靠的环境地图并且在地图内定位其本身的能力。已经在同时定位和映射(SLAM)领域中进行了显著的研究来解决移动机器人学中的这个问题。更精准的传感器和更好的导航算法的开发已经使得能够实现朝着构建更好的机器人的显著进步。



技术实现要素:

本发明提供一种被配置成导航操作环境的移动机器人,该移动机器人包括:具有顶部表面的主体;被安装到主体的驱动器;在顶部表面的平面之下、在主体的几何中心附近的凹入结构;与驱动器通信的控制器电路,其中控制器电路引导驱动器通过环境、使用基于相机的导航系统来导航移动机器人;以及包括定义相机视野和相机光学轴的光学器件的相机,其中:相机被定位在凹入结构内,并且被倾斜使得相机光学轴在与顶部表面一致的水平面上方以30-40度的锐角对准并且在机器人主体的向前驱动方向上被瞄准,相机的视野在垂直方向上横跨45-65度的截锥体,并且相机被配置成捕获移动机器人的操作环境的图像。

在若干实施例中,相机由关于相机的光学轴以锐角对准的镜头盖保护。

在某些实施例中,镜头盖相对于凹入结构的开口向后缩回,并且关于相机的光学轴成锐角,该锐角比在由顶部表面定义的平面与相机的光学轴之间形成的角度更接近直角。

在若干实施例中,锐角在15和70度之间。

在一些实施例中,在由凹入结构中的开口定义的平面与相机的光学轴之间形成的角度范围在10和60度之间。

在一些实施例中,相机的视野在离静态特征3英尺至10英尺的距离处瞄准静态特征,该静态特征位于离地板表面3英尺至8英尺的范围中。

在一些实施例中,相机图像包含每英寸约6-12个像素,并且在图像的顶部的特征比移动机器人以其移动的速度更快地在连续图像之间向上移动,并且在图像的底部的特征比移动机器人以其移动的速度更慢地在连续图像之间向下移动,并且其中控制器被配置成在识别连续图像之间的视差中确定移动机器人的速度和图像中特征的位置。

在某些实施例中,移动机器人以每秒220mm到每秒450mm的速度移动,并且相对于水平方向低于45度的特征将比每秒大约306mm更慢地进行跟踪,并且高于45度的特征将比每秒306mm更快地进行跟踪。

在一些实施例中,光学器件定义在1.8和2.0之间的f数。

在若干实施例中,光学器件定义至少40cm的焦距。

在一些实施例中,主体进一步包括:与控制器电路通信的存储器;以及与驱动器通信的里程计传感器系统,其中存储器进一步包含视觉测量应用、同时定位和映射(SLAM)应用、地标数据库以及地标的地图,其中控制器电路引导处理器:致动驱动器并使用里程计传感器系统捕获里程计数据;通过向视觉测量应用至少提供捕获的里程计信息和捕获的图像,获取视觉测量;通过向SLAM应用至少提供里程计信息和视觉测量作为输入,确定更新的地标的地图内的更新的机器人姿态;并且基于包括更新的地标的地图内的更新的机器人姿态的输入确定机器人行为。

在一些实施例中,地标数据库包括:多个地标的描述;多个地标中的每一个的地标图像以及从其捕获地标图像的相关联的地标姿态;以与来自多个地标的给定地标相关联的多个特征的描述,该描述包括与给定地标相关联的多个特征中的每一个的3D位置。

在某些实施例中,视觉测量应用引导处理器以:识别输入图像内的特征;基于在输入图像中识别的特征与和地标数据库中识别的地标的地标图像相关联的匹配特征的相似性,识别输入图像中来自地标数据库的地标;并且通过确定导致与输入图像中识别的特征的最高程度的相似性的、与识别的地标相关联的匹配特征的3D结构的刚性变换来估计最可能的相对姿态,其中刚性变换基于相对姿态的估计和锐角来确定,相机的光学轴在移动机器人的运动方向上方以该锐角来对准。

在一些实施例中,识别输入图像中的地标包括比较来自输入图像的未校正的图像块和地标数据库内的地标图像。

在若干实施例中,SLAM应用引导处理器:基于先前的位置估计、里程计数据和至少一个视觉测量,估计移动机器人在地标的地图内的位置;并且基于移动机器人的估计的位置、里程计数据和至少一个视觉测量,更新地标的地图。

在一些实施例中,控制器电路进一步引导处理器:致动驱动器以朝着在先前输入帧中识别的地标平移移动机器人;并且视觉测量应用进一步指示处理器在先前输入图像中识别特征所在的位置上方的位置中搜索在先前输入图像中识别的地标的特征。

在一些实施例中,视觉测量应用进一步引导处理器通过以下各项生成新地标:检测图像的序列中的图像内的特征;从图像的序列识别形成多个图像中的地标的一组特征;在使用形成多个图像中的每一个中的地标的该组识别的特征来捕获多个图像中的每一个时,估计形成地标的该组特征的3D结构和相对机器人姿态;在地标数据库中记录新地标,其中记录新地标包括存储:新地标的图像,形成新地标的至少该组特征,以及形成新地标的该组特征的3D结构;并且向SLAM应用通知新地标的创建。

在若干实施例中,SLAM应用引导处理器:在捕获存储在地标数据库中的新地标的图像时,确定地标姿态作为移动机器人的姿态;并且在地标数据库中记录用于新地标的地标姿态。

在一些实施例中,视觉测量应用进一步引导处理器:在捕获多个图像中的每一个时,通过最小化形成地标的该组特征的3D结构到在捕获多个图像中的每一个时用于估计的相对机器人姿态的多个图像中的每一个上的再投影误差,估计形成地标的该组特征的3D结构以及相对机器人姿态。

在一些实施例中,视觉测量应用进一步引导处理器:通过比较来自图像序列中的图像的未校正的图像块,从图像序列识别多个图像中的至少一个地标。

在一些实施例中,至少一个处理器是由视觉测量应用、行为控制器应用和SLAM应用引导的单个处理器。

在多个实施例中,至少一个处理器包括至少两个处理器,其中行为控制器应用引导至少两个处理器中的第一个,并且虚拟测量应用和SLAM应用引导至少两个处理器中的另一个。

在一些实施例中,机器视觉传感器系统进一步包括在机器人的顶部表面下方并且具有相对于顶部表面的水平面向上成角度的焦轴的多个相机,并且其中至少一个相机面向与向前驱动方向相反的反向驱动方向。

在一些实施例中,机器视觉传感器系统包括第二相机,第二相机包括定义相机视野和相机光学轴的光学器件;并且第二相机被定位,使得第二相机的光学器件的光学轴以运动方向上方的角度对准。

在若干实施例中,机器视觉系统包括具有重叠视野的立体相机对。

在若干实施例中,相机被定位在离地板表面最多6英寸的距离处的凹入结构内。

在一些实施例中,相机视野瞄准位于在平面墙壁上离地板表面3英尺至8英尺的范围中的静态特征。

在若干实施例中,相机图像每英寸包含约6-12个像素。

在某些实施例中,相机是不具有IR滤波器的320×420 VGA、3百万像素的相机。

该发明的一些实施例提供一种被配置成导航操作环境的移动机器人,包括主体,该主体包括位于离底部表面不超过6英寸的高度的顶部表面,该主体包括在顶部表面下方的凹入结构,该主体包含:至少一个处理器;包含行为控制器应用的存储器:其中行为控制器应用引导处理器基于捕获的图像来导航环境;机器视觉传感器系统,包括被配置成捕获移动机器人的操作环境的图像的相机,该相机包括定义相机视野和相机光学轴的光学器件,其中该相机被定位在凹入结构内,并且被倾斜使得光学轴在移动机器人的向前驱动运动方向上方以在10和60度之间的锐角对准。

在一些实施例中,主体进一步包括:保护相机的镜头盖,其中镜头盖相对于凹入结构的开口向后缩回,并且关于相机的光学轴成锐角,该锐角比在由凹入结构中的开口定义的平面与相机的光学轴之间形成的角度更接近直角。

在一些实施例中,相机是不具有IR滤波器的320×420 VGA、3百万像素的相机。

附图说明

图1A图示移动机器人的前透视图。

图1B图示移动机器人的底部。

图1C图示机器人的控制器电路的框图。

图2A图示包括在凹入结构内的倾斜相机的移动机器人的顶部透视图。

图2B图示移动机器人的倾斜相机的横截面图。

图3A-3C图示防止镜头变形的镜头保持器,该变形由于从移动机器人到镜头的机械应力的传递而可能发生在相机镜头中。

图4图示移动机器人,其配置有面向前和面向后倾斜的相机,该相机包含在移动机器人的主体的顶部内的分离的凹陷内并且使用镜头盖来保护。

图5图示以图4中图示的方式配置的移动机器人的面向前和后倾斜的相机的横截面图。

图6图示可以为使用增强导航系统的VSLAM使用的移动机器人控制器电路。

图7概念性地图示被配置成基于(但不限于)VSLAM过程而使得能够在环境内导航的移动机器人行为控制应用。

图8是图示可以可选地由移动机器人用于导航环境的过程的流程图。

图9是图示可以可选地由移动机器人用于识别用于在导航中使用的新地标的过程的流程图。

图10是图示可以可选地由移动机器人用于使用先前创建的地标来确定相对姿态的过程的流程图。

图11A-11C图示由具有相机的移动机器人捕获的视野的示例,该相机被配置以使得光学轴与移动机器人的向前运动方向对准。

图12A-12C图示由相机捕获的场景的视图的示例,该相机被倾斜以使得其光学轴形成在移动机器人的运动方向上方的锐角。

图13A图示可以用于确定到特征的距离的视差。

图13B图示确定视差的特征的向上移动的示例。

图14A图示通过模拟虚拟室内环境中的模拟移动机器人的面向前相机的视点而生成的图像。

图14B图示通过模拟相机的视点而生成的图像,该相机具有与用于生成图14A中所示的图像的模拟中使用的相机相同的视野(除了相机被倾斜以使得相机的光学轴在模拟移动机器人的向前运动方向上方成30度角之外)。

图15是示出精度的比较的图表,移动机器人能够用该精度来确定其在上述模拟的每一个中的地板平面中的相对姿态。

图16A图示使用广角镜头配置的移动机器人的相机的采样网格。

图16B图示使用具有窄视野的倾斜相机的采样场景。

图17A图示具体类型的遮挡的示例以及由遮挡的相机捕获的结果图像。

图17B图示由相机捕获的图像的示例,其中半透明遮挡导致图像的模糊部分。

图18图示不透明遮挡的示例。

图18B图示由相机捕获的图像的示例,其中不透明遮挡导致场景的一部分的完全遮挡。

图19是图示可以可选地由移动机器人执行的遮挡检测过程的流程图。

图20图示通信图,该通信图图示在移动机器人、外部服务器和用户设备之间的通信。

图21图示用于向用户设备通知遮挡的系统。

图22图示机器人,该机器人具有离地板表面不超过4英寸的顶部表面、安装在移动机器人的顶部表面下方的相机;该机器人具有横跨截锥体(frustum)的视野,该截锥体在垂直方向上具有大约50-60度的视野角δ并且在水平方向(horizontal)上方成大约30度的锐角的光学轴155。

具体实施方式

现在转向附图,特别是图1A-1C、4和5,图示用于使用包括一个或多个倾斜相机125的移动机器人10机器视觉系统执行视觉同时定位和映射(VSLAM)的系统和方法。在实现方式中,一个或多个倾斜相机125以相对于机器人的顶部表面108的固定角度凹入移动机器人10的主体100的中心部分内,并且一个或多个倾斜相机125中的每一个被关于相机的光学轴155以锐角对准的镜头盖135保护。在相机125凹入移动机器人10的主体100的一部分中的情况下,镜头盖135也可相对于凹陷130的开口向后缩回(set back)。在实现方式中,导航系统120是作为从地板表面到机器人的顶部表面108不高于4英寸的房屋清洁机器人的移动机器人10的一部分。以这种方式,房屋清洁机器人10可以导航到紧密的空间中(例如,在椅子之下和在厨房橱柜的面框之下)。在若干实现方式中,移动机器人10的直径为13.9英寸,并且重量为8.4磅,并以每秒220mm到每秒450mm的速度移动。在该发明的又一个可选方面中,一个或多个倾斜相机125被倾斜,使得房屋清洁机器人10可以捕获可靠静态的特征丰富的物体(诸如悬挂在家里的墙壁上的相框和没有位移的其它特征)的图像。如下面进一步讨论的,移动机器人10可以使用位于地板上方的特定高度范围处的可靠静态物体的特征以建立环境的地图,并且使用基于视觉的传感器和基于视觉的同时定位和映射(或VSLAM)来导航。

SLAM与视觉传感器的组合经常被称为VSLAM 740。VSLAM 740过程典型地是基于视觉和里程计的,并且使得能够实现在特征丰富的环境中的可靠导航。这样的视觉技术可以由诸如移动机器人10之类的车辆使用,以使用连续更新的自生成地图来自主地导航环境。已经提出了用于在VSLAM 740中使用的各种机器视觉系统,其包括含有一个或多个相机125的机器视觉系统。

根据该发明的实施例的系统和方法使用相机125来执行VSLAM 740,该相机125被安装在移动机器人10的顶部表面108下方并且具有在移动机器人10的顶部表面108上方以锐角对准的光学轴155。许多VSLAM 740过程分析在一系列图像中捕获的特征的视差,以便估计到特征的距离和/或对位置作三角测量。一般地,针对在已经从不同有利位置捕获的一系列图像之间的一组特征观察的视差的量确定在环境内用其映射这些特征的精度。观察的视差越大,距离测量越精准。

当移动机器人10采用具有与向前运动方向平行对准的镜头140的光学轴155的前视相机125时,一般仅仅存在最小量的视差,随着机器人朝着特征移动,可以在直接被定位在移动机器人10前面的一组特征中观察该视差。如下面进一步讨论的,随着移动机器人10朝着特征移动,在前视相机的视野的中心可见的特征可能在尺度上增加,其中在特征的连续图像之间有很小的可辨别的视差。相应地,在前视相机的视野的中心内的特征的3D结构可能难以从随着移动机器人10朝着特征向前移动时捕获的一系列图像中确定。该问题对于诸如房屋清洁机器人之类的小型移动机器人特别严重,其中机器人形状因素指示靠近地面的相机放置(例如,在地面上方4英寸或更小)。前视相机的位置精度可以通过增加前视相机的视野来改进。然而,增加视野减小了针对给定的图像传感器分辨率捕获的图像数据的角分辨率。此外,增加视野,使得可以观察关于相机的视野的外围部分或相机的离轴视野的视差,其中广角镜头的失真典型地最大,并且由相机捕获的图像的角分辨率最小。

以在向前运动方向上方的角度倾斜相机可以增加当相机朝着物体移动时跨过相机的视野观察的视差。特别地,在向前运动方向上方以一角度倾斜相机增加在视野的中心内观察的视差,相机视野的部分具有最高的角分辨率。经倾斜以使得其光学轴155相对于与向前运动方向对准的水平轴形成锐角的在相机的视野的中心内可观察的特征将在当朝着特征移动时捕获的一系列图像中向上移动。相应地,诸如(但不限于)频繁地悬挂在住宅的墙壁上并且以任何尺度和在各种照明条件下具有可容易辨别的特征的相框和电视之类的物体为在住宅环境中操作的诸如房屋清洁机器人之类的移动机器人提供极好的导航地标。

向上倾斜相机125还可以使得移动机器人10能够更精确地确定悬挂在墙壁上的物体的下侧的3D结构。此外,倾斜相机125允许移动机器人10聚焦在其中特征不变(诸如在门框、相框和其它静态家具和物体周围成像的那些特征)的典型室内环境内的区域,允许移动机器人100重复地识别可靠的地标,由此在环境内精准地定位和映射。另外,在实现方式中,移动机器人10上的相机125是以小于30毫秒的速率、用每秒3帧的图像处理速率传递图像的320×240 QVGA,0.0768mP相机(或640×480VGS,0.3MP相机)。在实现方式中,相机125没有用于在低照明环境中更好的特征检测的IR滤波器。在实现方式中,如果可检测特征的数量落在用于最小数量的用于检测地标的特征的阈值以下,移动机器人10将创建新地标。在实施例中,地标的阈值数量是以大约每秒1ft或大约每秒306mm的速率、以每英尺行程1-10个地标(并且优选地每英尺机器人行程3个地标)的速率检测的可识别特征的群集。在实现方式中,如果环境太暗并且照明不足以用于特征检测,移动机器人10将取决于另一个传感器来定位,该传感器诸如是瞄准地板的光学航位推测传感器(例如LED或激光照明的鼠标传感器)。

关于在相机125的视野的中心内可见的特征进行的视差测量可以通过为增加的角分辨率牺牲视野来更精确地进行。在若干实施例中,通过利用采用具有例如78度的水平视野的视图镜头140的倾斜相机125,使用具体传感器分辨率实现的角分辨率相对于采用广角镜头的前视相机增加。在窄视野镜头140和广角镜头之间的典型区别在于:透视投影一般是对窄视野镜头的真实成像特性的良好近似,然而广角镜头引入失真。相应地,当与跨过广角镜头的视野经历的角分辨率和MTF的变化相比时,镜头的角分辨率和调制传递函数(MTF)倾向于在窄视野镜头的视野上方更均匀。可以使用计算昂贵的失真纠正操作来纠正由广角镜头引入的失真,并且可以在由相机捕获的图像校正之后确定视差。当利用窄视野相机125时,可以在随后的图像处理过程中利用未校正的图像。相应地,与适当的VSLAM过程结合地使用窄视野镜头可以相对于使用宽视野镜头的更传统的VSLAM过程提供优点,因为它们避免执行额外的计算昂贵的校正步骤,并且可以定位具有更高精度的特征和/或地标(即特征的集)。下面参照图16A详细描述使用窄视野镜头捕获环境的实现方式的示例。

许多VSLAM过程依靠具有在观察的特征之间的宽基线来执行定位。如下面进一步讨论的,替代方法涉及将具有与众不同的3D结构的相关特征识别为地标。基于形成地标的特征的3D结构和由移动机器人10捕获的图像中的特征的外观,可以容易地确定移动机器人10的相对姿态。因此,相对姿态估计的精度很大程度上取决于角精度,可以用该角精度测量在由移动机器人10的相机125捕获的图像内观察的特征之间的距离。相应地,用具有窄视野镜头的倾斜相机125配置移动机器人10可以实现超过配备有面向前相机或者具有更宽视野和相同分辨率的相机的等效系统的改进的性能。以下参照图1A和2A-B详细描述使用倾斜相机125的实现方式。

在许多实施例中,基于专用的要求来确定移动机器人10的相机125的视野以及在相机的光学轴155和向前运动方向之间形成的具体角度,专用的要求包括(但不限于)相机125的帧速率、移动机器人10的速度以及用于在移动机器人10内执行图像处理的一个或多个处理器的处理能力。如可以容易地理解的,移动机器人10的速度越大,在捕获的帧之间的观察的视差越大。通过重叠帧的FOV来观察视差,并且移动机器人10以每秒220mm和每秒450mm之间的速度移动,并且优选地以每秒306mm的速度移动。增加相机125的倾斜可以进一步增加视差。观察视差的能力取决于移动机器人10可以实时捕获和处理图像数据的帧的速率。较低的帧速率可以通过较大的视野来补偿。然而,如上所指出的,增加视野可能带来校正捕获的图像的计算成本。因此,在移动机器人10的许多可选配置中,选择倾斜的相机125和视野以满足具体移动机器人及其操作环境的要求。

通过添加被定位在移动机器人10周围的不同位置处的额外相机125、410,可以增加导航系统120的有效视野而不减小角分辨率。在该发明的一个可选方面,每个相机125、410被容纳在具有分离的保护镜头盖135的移动机器人10的主体100中的分离的凹陷130内。某些实施例可包括面向前倾斜相机125和一个或多个面向后倾斜相机410两者。下面参照图4和5详细描述使用多个相机的实现方式。多个相机125、410的使用可允许移动机器人10观察用于在VSLAM中使用的更多特征和/或地标,同时维持用其检测这些特征的角精度。容易地识别机器人10周围的一个或多个方向上的地标帮助快速重新定位以恢复清洁任务,并且在其中移动或丢失机器人10的绑架事件(kidnapping event)之后继续建立环境的地图。此外,面向后倾斜相机410可允许VLSAM过程使用相同的地标,而不管运动的方向。这可能在以“玉米排(corn-row)”模式导航环境的移动机器人10中是有用的。在这种情况下,每当移动机器人10转向时,其可以使用对面向前相机125可见以使用由面向后相机410捕获的图像数据在返回路径上导航的特征和/或地标。此外,在给定较窄视野镜头的增加的空间分辨率(假设相当的传感器分辨率)的情况下,面向后倾斜相机410可用比在移动机器人10例如使用360度全方位相机的情况下高的角精度检测地标。

在操作期间,安装在移动机器人10上的一个或多个相机125由于各种原因中的任何一个而可变得阻塞。例如,随着时间的过去并且移动机器人10的使用,灰尘和碎屑可累积在相机镜头140或镜头盖135上,并且从而遮挡正被捕获的图像的部分。移动机器人10能够检测某种类型的障碍物何时正在遮挡相机镜头140的一个或多个部分。当遮挡被检测时,移动机器人10可提供通知,该通知例如通知用户清洁保护相机镜头140的镜头盖135以便去除遮挡。为了检测阻塞相机125的视野的一部分的遮挡的存在,一些实施例分析为VSLAM过程提供有用信息的图像的特定部分,并且基于该分析,能够确定可遮挡视野的某些其它部分。特别地,一些实施例可以维持视野的不同部分的直方图以及每个部分正在用其捕获图像数据的频率,该数据正被用于在移动机器人10的导航期间通过使用VSLAM的环境生成新地标和/或识别现有地标。与低频率一起使用的区域可以被标记为遮挡,并且相应地生成通知。

虽然下面的大部分讨论描述与具体VSLAM过程结合使用的相机配置,但是本文公开的技术可以由使用各种不同映射和导航机制中的任一个配置的移动机器人10来利用。相应地,下面进一步讨论合并用于在导航环境中使用的一个或多个倾斜相机125的移动机器人10的各种可选配置。

具有增强的视觉传感器配置的移动机器人

移动机器人10合并包括相机125的导航系统120,相机125可以捕获在移动机器人10的导航和围绕移动机器人10的环境的映射中由VSLAM过程使用的图像数据。图1A-2B中图示在移动机器人10的导航系统120中使用的倾斜相机125。特别地,图1图示移动机器人10的前透视图,并且图2图示基本上布置在包含倾斜相机125的移动机器人10的主体100的中间的凹陷130。如可以容易地理解的,相机125由镜头盖135保护,镜头盖135被配置以使得镜头盖135的一个边缘比镜头盖135的第二边缘更靠近凹陷130的开口。以这种方式,镜头盖135与相机125的光学轴155形成锐角α,该锐角α比在平面与相机125的光学轴155之间形成的角度φ更接近于直角,该平面是由在移动机器人10的主体100内的凹入结构130中的开口定义的。在一些实施例中,锐角α可在15和70度之间的范围,并且锐角φ可在10和60度之间的范围。以这种方式使镜头盖135成角度是该发明的可选方面,并且镜头盖135可以在包含倾斜相机125的移动机器人主体100的凹陷130中的开口的平面中来实现或者被凹入,但是平行于移动机器人主体100的凹陷130中的开口的平面。下面进一步讨论在移动机器人10的主体100中的凹陷130内的倾斜相机125的配置。

如示出机器人10的底部的图1B以及描绘机器人10的控制器电路605和可与控制器电路605一起操作的机器人10的系统的框图的图1C中所示,移动机器人10包括由位于主体100之下的驱动器111支撑的主体100,该驱动器111包括可跨过地板表面调遣(maneuver)机器人10的左驱动器轮模块111a和右驱动器轮模块111b。在实现方式中,驱动器是在公开号2012/0317744的美国专利申请中所述的机器人的驱动器,本文通过引用将该申请的全部内容并入。在许多实现方式中,移动机器人10离地板表面不高于4英寸,以便允许移动机器人10通过典型的室内环境内的紧密空间导航。

移动机器人10可以被配置成基于驱动命令来致动其驱动器111。在一些实施例中,驱动命令可具有x、y和θ分量,并且命令可由控制器电路605发出。移动机器人主体100可具有对应于成形体的前一半的向前部分105,以及对应于成形体的后一半的向后部分110。驱动器包括可向控制器电路605提供里程计的右驱动轮模块111a和左驱动轮模块111b。轮模块111a、111b基本上沿着由主体100定义的横向轴X布置,并且包括驱动各自的轮113a、113b的各自的驱动马达112a、112b。驱动马达112a、112b可以可释放地连接到主体100(例如,经由紧固件或免工具连接),其中驱动马达112a、112b可选地基本上被定位在各自的轮113a、113b之上。轮模块111a、111b可以可释放地附接到底盘并且由弹簧迫使与清洁表面接合。移动机器人10可包括脚轮116,脚轮116被布置以支撑移动机器人主体100的一部分,这里是圆形主体100的前部。在具有悬臂清洁头的其它实现方式(诸如正方形前面或墓石形状的机器人主体100)中,脚轮被布置在机器人主体100的向后部分。移动机器人主体100支撑用于为移动机器人10的任何电气组件供电的电源(例如,电池117)。

再次参考图1A和1B,移动机器人10可以通过相对于由主体100定义的三个相互垂直的轴的(横向轴X、纵向轴Y和中心垂直轴Z)的运动的各种组合而跨过清洁表面移动。沿着纵向轴Y的向前运动方向被指定为F(下文中有时被称为“向前”),并且沿着纵向轴Y的后驱动方向被指定为A(下文中有时被称为“向后”)。横向轴X在机器人的右侧R和左侧L之间基本上沿着由轮模块的中心点定义的轴延伸。

在许多实施例中,主体100的向前部分105承载缓冲器115,该缓冲器115可以用于检测(例如,经由缓冲器传感器系统550的一个或多个传感器)事件,该事件包括(但不限于)在移动机器人10的驱动路径中的障碍物。取决于移动机器人10的行为编程,该移动机器人10的行为编程可通过控制轮模块111a、111b响应于事件(例如,远离检测的障碍物而后退)调遣机器人10,来对由缓冲器115、悬崖传感器119a-119f以及一个或多个接近传感器120a-120n检测的事件(例如,障碍物、悬崖、墙壁)进行响应。

如所图示的,用户接口126被布置在主体100的顶部部分上,并且可以用于接收一个或多个用户命令和/或显示移动机器人10的状态。用户接口126与由机器人10携带的控制器电路605通信,使得由用户接口126接收的一个或多个命令可以启动由机器人10执行清洁例程。

移动机器人10还可包括在顶部盖108之下的嵌入在机器人10的主体100内的相机125导航系统120。导航系统120可包括捕获周围环境的图像的一个或多个相机125(例如,标准相机、体积点云成像相机、三维(3D)成像相机、具有深度地图传感器的相机、可见光相机和/或红外相机)。在一个可选配置中,相机125捕获相对于移动机器人10的运动轴(例如,F或A)以锐角定位的环境的图像。例如,如图22中所图示,在具有离地板表面不超过4英寸的顶部表面108的机器人10的实现方式中,安装在机器人10的顶部表面108下方的相机125将检测在一般3-14英尺的高度处的环境中的特征,该相机125具有在垂直方向上横跨大约50-60度的截锥体的视野以及在水平方向上方成大约30度角的光学轴155。例如,具有这些相机设置的这些尺寸的移动机器人10将在3英尺的距离处、在大约6英寸至4.5英尺的高度处;在5英尺的距离处、在大约9英寸至7.5英尺的高度处;以及在10英尺的距离处、在大约1.2英尺至14英尺的高度处观看物体。通过在其中特征不变(诸如在门框、相框以及其它静态家具和物体周围成像的那些特征)的区域上聚焦相机125视野的未失真中心部分,机器人10重复地识别可靠的地标,由此在环境内进行精准地定位和映射。

在这些实施例中,相机125的镜头140(图2A和2B)在向上方向上成角度,使得其主要捕获具有其可靠的未失真部分的图像,该部分被聚焦在典型的室内环境中的墙壁的特征丰富的不变的区域、墙壁天花板交汇处、以及在围绕移动机器人10的天花板的一部分上。如上所指出的,包括(但不限于)住宅容纳环境的许多环境包括在墙壁上悬挂和群集的变化和静态的物体,该物体提供对于执行导航有用的特征和/或地标。在大约2-15英尺(例如,3-10英尺、3-9英尺、3-8英尺)的区域中典型地可用的物体(诸如门和窗框、图片和大型家具)具有很小的位移,因此提供导致更精准和可靠地识别的地标的创建的可靠成像的特征几何形状。通过在窄视野中的区域中聚集可靠特征,改进可地标的确定并且因此改进了定位确定。通过聚集从没有位移的项目成像的变化和区别的特征,移动机器人10建立可靠的地标的地图。

相机125可被可选地倾斜,使得相机125的视野的下部外围不被移动机器人10的主体100遮挡。替代地,在实现方式中,移动机器人10的主体100部分地遮挡倾斜相机125的视野的下部部分,并且当对特征成像时,控制器电路605丢弃视野的该部分。如上所指出的,随着移动机器人10通过环境移动,倾斜相机125可以增加跨过相机125的视野观察的视差的量。在实现方式中,移动机器人10采用带有具有足够窄视野的光学器件的倾斜相机125,使得透视投影可以被假设为对窄视野镜头的真实成像特性的良好近似。可以执行随后的图像处理而不校正图像,并且相机125可以观察具有比也将引入失真的更广角镜头高的角分辨率的特征。

由相机125捕获的图像可由VSLAM过程使用,以便做出关于将采取以在环境操作周围调遣移动机器人10的动作的智能决定。虽然导航系统120的相机125在图1A-1C和2A-2B中被图示被包含在移动机器人10的顶部表面108下方的中心定位的凹陷130内,但是形成移动机器人10的导航系统120的部分的相机125可以额外地或替代地被排列在移动机器人10上的一个或多个位置和取向中的任一个(包括在前缓冲器上或内并且沿着移动机器人的侧面)处。

除了导航系统120的相机125之外,移动机器人10还可包括不同类型的传感器系统500,以便实现可靠和鲁棒的自主移动。额外的传感器系统500可与彼此结合使用以创建移动机器人10的环境的感知,该感知足以允许机器人做出关于将在该环境中采取的动作的智能决定。各种传感器系统可包括由机器人主体100支撑的一个或多个类型的传感器,其包括但不限于障碍物检测障碍物避免(ODOA)传感器、通信传感器、导航传感器、测距传感器、接近传感器、接触传感器(例如缓冲器传感器)、声呐、雷达、LIDAR(光检测和测距,其可能需要测量散射光的属性的光学遥感以发现远处目标的范围和/或其它信息)和/或LADAR(激光检测和测距)。在一些实现方式中,传感器系统包括测距声纳传感器、接近悬崖检测器119a-119f、接近传感器120a-120n(例如,“n”是在远望机器人10的侧壁的接近传感器的阵列中的无限数量)、缓冲器传感器系统550中的接触传感器、激光扫描器和/或成像声纳。

存在涉及将传感器放置在机器人学平台上的若干挑战。首先,传感器被典型地放置,使得它们具有在移动机器人10周围的感兴趣区域的最大覆盖。其次,传感器以这样的机器人本身造成对传感器的绝对最小的遮挡的方式被典型地放置;本质上,传感器不应被放置成使得它们被机器人本身遮蔽。第三,传感器的放置和安装不应当侵入平台的工业设计的其余部分。在美学方面,可以假设:具有不明显地安装的传感器的机器人比其它方式更有吸引力。在实用性方面,应当以一种方式安装传感器,以便不干扰正常机器人操作(例如,在障碍物上形成阻碍)。

下面进一步讨论可以在移动机器人10的导航系统120的实现方式中采用的额外选项。

机器视觉系统

为了通过环境导航,移动机器人10可使用从各种不同类型的传感器收集的信息,以便确定其周围环境的特性。如上所指出的,移动机器人10使用导航系统120,导航系统120包括捕获周围环境的图像的一个或多个相机125。可将图像提供给VSLAM过程,用于在环境内移动机器人10的定位和映射中使用。图2A图示顶部透视图,并且图2B图示在图1A中图示的移动机器人10的倾斜相机125的截面图。特别地,图2A(和对应的图2B)图示容纳在移动机器人10的主体100中的凹入结构130内并且由镜头盖135覆盖的倾斜相机125。如图2B和22中所描绘,相机125包括具有光学轴155的相机镜头140,该光学轴155相对于定义移动机器人10的运动方向的水平轴成锐角φ。因此,镜头140主要瞄准在将捕获墙壁、墙壁-天花板交叉点以及在较小程度上在典型室内环境内的天花板的方向。例如,如图22中所图示,在具有离地板表面2205不超过4英寸的顶部表面108的机器人10的实现方式中,安装在移动机器人10的顶部表面108下方的相机125将在一般3-14英尺的高度处检测环境中的特征2215,该相机125具有横跨截锥体的视野和光学轴155,该截锥体在垂直方向上具有大约50-60度的视野角δ,该光学轴155在水平方向上方成大约30度的锐角φ。例如,具有这些相机设置的这些尺寸的移动机器人10将在3英尺的距离Dw处、在大约6英寸至4.5英尺的高度处;在5英尺的距离Dw处、在大约9英寸至7.5英尺的高度处;并且在10英尺的距离Dw处、在大约1.2英尺至14英尺的高度处看到物体。通过在其中特征不变(诸如在门框、相框2215以及其它静态家具和具有容易成像的特征几何形状的物体处成像的那些特征)的特征丰富区域上聚焦倾斜相机125的未失真的视野,机器人10重复地识别可靠的地标,由此在环境内精准和有效地定位和映射。这对于在中断机器人10的任务的绑架事件之后的重新定位是特别有用的。已经被从一个位置移动到另一个位置或进入暗室或者在家具区域下方的机器人10快速地识别在这些高度处的唯一的一组特征,并且容易地并且确切地知道其位置。瞄准不变的天花板或具有重复特征的天花板(诸如具有瓦片的吊顶或具有均匀间隔的照明特征的天花板)的相机将不容易知道其位置,并且将必须找出在其上定位的唯一特征,诸如房间的角落。本发明的移动机器人10因此是有效的并且在有用的位置处精准地拾取其清洁例程,而不必随机地移动到其中地标在地图上可识别的区域。

在图22的实现方式中,相机125的视野以35度的上部角度(upper angle)β和95度的下部角度(lower angle)ψ射到诸如家庭墙壁的垂直平面表面,并且光学轴155以60度的下部角度τ与垂直平面表面相交。墙壁特征一与具有较小视野的相机125接近,该墙壁特征就变得有用。例如,在实现方式中,机器人10包括诸如以上刚刚描述的瞄准墙壁2210并具有50度的视野的倾斜相机125,该相机相当于(equate to)直接前视相机的分辨率的3倍(例如,在离墙壁8英尺的距离Dw处,用于直接向前的特征(每英寸约12个像素),并且用于8英尺高的特征(每英寸约6个像素))。具有最高分辨率的特征将是墙壁上的最低特征,并且因此相机125瞄准以便不错过那些特征。图22的相机125的配置创建更多的可跟踪的光学流,但是通过具有大于45度的视野的至少一半来维持高像素计数。在相机125的视野中的与机器人10成45度的特征将以与移动机器人10相同的速度即时地跟踪相机125视野的正中间。在实施例中,移动机器人10以每秒220mm和每秒450mm之间的速度移动,并且优选地以大约每秒306mm的速度或每秒1ft的速度移动。随着移动机器人10朝着墙壁2210前进,所有物体将在视野中增高。低于45度的特征将比在45度处的特征更慢地跟踪并且向上和侧向加速,并且高于45度的特征将比在45度处的特征更快地跟踪并且更快地加速。在实现方式中,低于45度的特征将比大约每秒1ft慢地跟踪,并且高于45度的特征将比每秒1ft快地跟踪。在实现方式中,第一组边缘像素以看起来比移动机器人10的自我运动快的速率垂直跟踪,并且第二组边缘像素以看起来等于或慢于机器人自我运动的速率垂直跟踪。在实现方式中,相机125被排列成离地板小于6英寸,其中50度的视野被定向为横跨在水平方向上方-10度和90度之间限定的50度范围(例如,从30-80度延伸),并且相机125被定向为限于观看在3和8英尺之间的高度处的移动机器人10的前向墙壁的部分,只要移动机器人10离墙壁2210在3-10英尺之间的距离Dw。

返回到图2A和2B的实现方式,镜头盖135也被压入到凹入结构130中,并且被定位在移动机器人10的顶部表面108下方。另外,相对于相机的光学轴155以锐角α对准镜头盖135,该锐角α大于形成凹入结构130的开口的平面和相机125的光学轴155之间的锐角φ。在实施例中,锐角α的范围在15和70度之间,并且锐角φ的范围在10和60度之间。相对于光学轴155使镜头盖125成角度防止不想要的成像问题,诸如可能阻止相机125有效成像特征的光反射和/或折射。

如上所指出的,移动机器人10可以可选地包括提供图像的窄视野镜头140,其中透视投影可以被假设为对窄视野镜头的真实成像特性的良好近似。在窄视野镜头140由移动机器人10利用的情况下,通过引入复杂失真纠正处理作为图像处理流水线的部分,从移动机器人10到镜头140的机械应力的传递可以使镜头失真,消除了利用窄视野镜头140的一些益处。镜头保持器的设计可以在防止机械应力从移动机器人10传递到镜头140和避免镜头140的失真方面起重要作用。下面进一步讨论可以在移动机器人10的一个或多个相机125中可选地利用的镜头保持器的实现方式。

镜头保持器

图3A-3C描绘防止镜头变形的镜头保持器310的实现方式,由于从移动机器人10到镜头140的机械应力的传递而可能在相机镜头140中发生镜头变形。图3A图示用于保持相机镜头140的镜头保持器310。镜头保持器310连接到由一组星形肋330支撑的一组螺钉凸台320。图3B图示镜头保持器310的侧视图。特别地,该图图示:螺钉凸台320的底部被定位在镜头保持器主体310上方的一距离处。在图示的镜头保持器310中,螺钉凸台320被定位在镜头保持器主体310上方0.5mm。螺钉凸台320被定位在镜头保持器主体310上方的具体距离典型地取决于给定应用的要求。图3C图示在星形肋330处经历几乎所有的变形(例如,在深色区域中所示的应力),其中在镜头保持器主体310中几乎没有发生变形。将镜头保持器主体310直接连接到螺钉凸台320而没有星形肋330的设计在整个镜头保持器主体310上经常经历显著量的变形,由此使正被保持在主体310内的镜头140变形。通过使用星形肋330,镜头保持器310能够重定向从将镜头保持器310旋拧到星形支架330上施加的力,同时维持镜头保持器主体310的结构。虽然上面参照图3A-3C描述具有星形肋的镜头保持器设计的范围,但是可以构造各种星形肋设计配置中的任何一个,包括沿着镜头保持器主体在不同位置处并且相对于螺钉凸台在不同高度处定位的三个或更多个星形肋。

虽然移动机器人10被视为具有嵌入在图1A-2B中的移动机器人体100的顶部盖内的单个相机125,但是移动机器人10可以包括各种可选的相机配置中的任何一个,包括(但不限于)沿着移动机器人主体100在不同位置处并且以一个或多个锐角观看角定位的一个或多个相机125。

具有向前和向后相机的移动机器人

移动机器人10可以可选地包括围绕移动机器人的主体100分布的多个相机。特别有利的配置涉及使用面向前倾斜相机125和面向后倾斜相机410。面向前和向后倾斜相机125、410可以可选地包含在移动机器人10的主体100的顶部108内的分离的凹陷130a、130b内,并且使用以与上面参照图1A和2A-2B的关于在镜头盖135后面安装单个凹陷130和倾斜相机125所述的那些类似的方式配置的镜头盖135a、135b来保护。图4中图示配置有面向前和面向后倾斜相机125、410的移动机器人10,面向前和面向后倾斜相机125、410被包含在移动机器人10的主体100的顶部108内的分离的凹陷130a、130b内并且使用镜头盖135a、135b来保护。特别地,图4图示移动机器人10,移动机器人10配置有在捕获移动机器人10前面的环境的方向上瞄准的面向前倾斜相机125以及在捕获移动机器人10后面的环境的方向上瞄准的面向后倾斜相机410。非常像上面关于图22所述的实施例,相机125、410成约30度(例如25度、35度)的角度以将大约50度的高截锥体(例如45度、55度)视野聚焦在位于3-8英尺高的范围中的静态特征上。在实施例中,相机将大约60度的高截锥体(例如55度、65度)视野聚焦在位于3-8英尺高的范围中的静态特征上。前和后相机125、410被嵌入在移动机器人主体100内的分离的凹入结构130a、130b内,并且每个由各自的镜头盖135a、135b覆盖。每个镜头盖135a、135b从其包含倾斜相机125、410的对应的凹入结构130a、130b的开口向后缩回,并且相对于凹入结构130a、130b的开口的平面(例如,顶部表面108)以锐角α对准。

图5中概念性地图示以图4中图示的方式配置的移动机器人10的面向前和后倾斜相机125、410的横截面图。倾斜相机125、410被定位,使得相机125、410中的每一个的各自的光学轴155a、155b在移动机器人10的向前和向后运动方向上在顶部表面108上方以锐角φ对准。通过以这些角设置相机125、410,面向前相机125主要瞄准墙壁、天花板、很大程度上不可移动的家具(诸如直接在典型的室内环境中的移动机器人10前面的电视机橱、长沙发椅和工作台面)的顶部,并且随着移动机器人10在向前方向上行进,面向后相机410主要瞄准墙壁、天花板、很大程度上不可移动的家具(诸如在移动机器人10后面的电视机橱、长沙发椅和工作台面)的顶部。使用倾斜的面向前和面向后相机125、410允许移动机器人10观察高集中的可靠的静态和不变的特征,以在周围环境内建立重复可识别的唯一可识别的地标,用于在VSLAM中使用,同时维持用其检测这些特征的角精度。此外,当这些地标不再在前相机125的视野内时,倾斜的后相机410可允许VLSAM过程使用先前由倾斜前相机125使用的相同地标。这可能是特别有用的,例如,当移动机器人10被配置成以“玉米排”模式导航其环境时,并且当移动机器人10在绑架事件(在绑架事件中,移动机器人10被强制地移动到新位置或者由于照明变化而失去姿态的跟踪)之后恢复定位时。在这种情况下,每当移动机器人10转向时,使用前相机125观察的相同地标由面向后相机410捕获,以在返回路径上导航。此外,假设相同的传感器分辨率,面向后相机410可用比在移动机器人10将使用例如360度全向相机的情形下高的角精度检测地标。这是由于当在周围环境内捕获特征时可以用变窄的镜头获得的增加的空间分辨率。

在一些实施例中,相机125、410两者可以捕获周围环境的图像并将这些图像提供给VSLAM过程。在某些实施例中,仅仅相机125或410中的一个向VSLAM过程提供输入图像。例如,移动机器人10可使用面向前相机125来检测和跟踪与地标相关联的一组特征,同时在向前方向上朝着地标移动,并且在切换方向时使用面向后相机410来检测和跟踪相同的一组特征,同时远离地标移动。

移动机器人10可使用倾斜的前和后相机125、410二者来同时捕获周围环境的图像,由此以比单个相机125使能的机器人10少的时间捕获周围环境的更大部分。移动机器人10可以可选地利用广角、全向、全景或鱼眼型镜头,从而以降低的角分辨率为代价捕获更多的周围环境。然而,通过使用每个都具有与例如全景相机相比窄的视野的两个相机125、410来提供输入图像,VSLAM过程能够检测与将使用全景或类似的宽视野镜头实现的类似数量的特征,但是每个特征以较高的角分辨率、用较窄视野镜头(假设相当的传感器分辨率)来捕获。特别地,变窄的视野在垂直方向上横跨大约50-60度的截锥体,并且能够在一般3-14英尺的高度处检测环境中的特征。如下面所讨论的,向VSLAM过程提供在由机器视觉传感器系统120捕获的图像内可见的特征的位置的更高精度测量使得VSLAM过程能够映射环境并且精确地定位移动机器人10的位置。

虽然上面参照图4和5描述涉及倾斜的面向前和面向后相机125、410的移动机器人10的各种可选配置,但是移动机器人10可以可选地使用各种相机配置中的任何一个来配置,该相机配置包括与在运动方向上对准的向前相机(未示出)组合的倾斜的前相机125、以不同角度倾斜的多个面向前相机、立体相机对、具有相邻或部分重叠视野的两个或更多个倾斜相机、和/或以不同角度成角度以适应例如移动机器人10的斜顶部表面108的前和后相机125和140。使用由移动机器人10的导航系统120中的一个或多个倾斜相机125捕获的图像数据执行VSLAM的过程由控制器电路605典型地执行,控制器电路605还可负责实现由移动机器人10支持的其它行为。下面进一步讨论根据该发明的各种实施例的机器人控制器605和由机器人控制器执行的VSLAM过程。

机器人控制器

基于移动机器人10的周围操作环境的特性和/或移动机器人10的状态,典型地从许多行为选择移动机器人10的行为。在许多实施例中,可从由导航系统120捕获的图像确定环境的特性。捕获的图像可以由一个或多个VSLAM过程使用以映射移动机器人10周围的环境并且定位环境内的移动机器人10的位置。

图6中图示可以用于使用增强型导航系统120的VSLAM的移动机器人控制器电路605(下文中被称为“控制器电路605”)。机器人控制器电路605包括与存储器625、网络接口660和输入/输出接口620通信的处理器610。处理器610可以是单个微处理器、多个微处理器、多核处理器、微控制器和/或可以由软件和/或固件配置的任何其它通用计算系统。存储器625包含视觉测量应用630、SLAM应用635、地标640的一个或多个地图、行为控制应用645和地标数据库650。存储器625可以可选地包含各种软件应用、数据结构、文件和/或数据库(适合于具体应用的要求)中的任何一个。

地标数据库650包含关于许多先前观察的地标的信息,移动机器人10可以利用该地标来执行可以从其确定相对姿态的视觉测量。地标可以被认为是具有具体3D结构的特征的集合。各种特征中的任何一个可以用于识别地标,包括(但不限于)2D特征、3D特征、使用尺度不变特征变换(SIFT)描述符识别的特征、使用加速鲁棒特征(SURF)描述符识别的特征、和/或使用二进制鲁棒独立基本特征(BRIEF)描述符识别的特征。当移动机器人10被配置为房屋清洁机器人时,地标可能是(但不限于)基于相框的角的3D结构识别的一组特征,或者基于门框的3D结构识别的一组特征。这样的特征基于房间内的静态几何形状,并且虽然特征具有某种照明和尺度变化,但是它们比位于频繁地位移(例如椅子、垃圾桶,宠物等)的环境的较低区域内的物体总体上更容易被辨别和识别为地标。在实现方式中,移动机器人10上的相机125是没有用于在低照明环境下的特征的更好检测的IR滤波器的320×240 QVGA,0.0768MP相机(或640×480 VGP,0.3MP相机)。在实现方式中,特别是当机器人10正在开始新的任务而不在运行之间存储数据或进入先前未探测的区域时,移动机器人10将创建新地标。在实现方式中,如果照明变化使得先前观看的特征不可辨别并且可检测特征的数量落在用于检测地标的特征的最小数量的阈值以下,移动机器人10也将创建新地标。在实施例中,地标的阈值数量是以大约每秒1ft或大约每秒306mm的速率、以每英尺行程1-10个地标(并且优选地每英尺机器人行程3个地标)的速率检测的可识别特征的群集。机器人10从而以该照明强度为可辨别的特征建立有用的定位地图,并且在实现方式中,机器人存储具有以各种光强度(例如,与包括和季节性照明变化相关联的日历日期和一天的时间的数据相关联的强度)观看的地标的一个或多个持久地图。在再一些其它实现方式中,如果环境太暗并且照明不足以用于特征检测,移动机器人10将取决于另一个传感器或组合传感器,诸如瞄准地板(例如LED或激光照明的鼠标传感器)来定位的轮里程计和光学航位推测漂移检测传感器114(图1B)。在一个实现方式中,地标数据库650包括从可以被称为地标姿态的具体姿态捕获的地标图像。视觉测量涉及确定相对于地标姿态的姿态。为了便于视觉测量,地标数据库650存储与每个地标相关联的一组特征和该组特征的3D结构。

视觉测量应用630将输入图像的一部分与地标图像匹配,并且然后基于来自在输入图像中识别的地标的特征与从自地标数据库650检索的地标识别的特征的3D结构的空间关系来确定相对姿态。存在各种选项以用于基于来自在输入图像中识别的地标的特征和识别的特征的3D结构来确定相对姿态,包括(但不限于)基于生成与输入图像中观察的特征最相似的特征的空间关系的3D结构的刚性变换来确定相对姿态,由此最小化再投影误差。替代地或另外,给定视觉测量系统内的误差源的统计特性的特征和知识的观察的空间关系,刚性变换产生最可能的相对姿态的估计。不管用于确定相对姿态的具体过程,通过更精确地测量形成地标的特征的3D结构和/或在输入图像内识别的特征之间的空间关系,提高相对姿态估计的精度。下面进一步讨论用于创建用于在视觉测量中使用的新地标和用于使用地标确定相对姿态的过程。

再次参考图6,基于先前的位置估计、里程计数据和从视觉测量应用接收的至少一个视觉测量,SLAM应用635在地标的地图内估计移动机器人10的位置。如上所指出的,由SLAM应用635利用的视觉测量可以可选地是相对姿态估计,该相对姿态估计是相对于与在地标数据库650内识别的地标相关联的地标姿态确定的。在实施例中,SLAM应用635使用相对姿态和里程计数据和/或鼠标传感器漂移数据,以相对于地标的地图更新机器人10的位置估计。移动机器人10利用各种SLAM中的任何一个来更新位置估计,该SLAM包括(但不限于)2013年5月17日公开的2012/0121161、题为“Systems and Methods for VSLAM Optimization”的美国专利公开,以及2011年7月14日公开的2011/0167574、题为“Methods and Systems for Complete Coverage of a Surface By An Autonomous Robot”的美国专利公开中所述的过程,这些美国专利公开的相关公开内容由此通过引用而被整体并入。SLAM应用635然后可以基于新估计的移动机器人10的位置来更新地标的地图640。

地标的地图640包括移动机器人10周围的环境的地图和地标相对于移动机器人在环境内的定位的位置。地标的地图640可包括描述地图中的每个地标的各条信息,包括(但不限于)对描述地标数据库内的地标的数据的引用。

行为控制应用630基于周围环境和移动机器人10的状态来控制移动机器人10的不同行为的致动。在一些实施例中,随着图像由SLAM应用635捕获和分析,行为控制应用645基于移动机器人10周围的环境的理解来确定移动机器人10应当如何行为。行为控制应用645可基于环境的特定特性和/或移动机器人10的状态来从许多不同的行为中选择。行为可包括但不限于墙壁跟随行为、障碍物回避行为、逃避行为以及可由移动机器人10致动的许多其它原始行为。

在若干实施例中,输入/输出接口620向诸如(但不限于)传感器之类的设备提供与处理器和/或存储器通信的能力。在一些实施例中,网络接口660向移动机器人10提供经由有线和/或无线数据连接与远程计算设备(诸如计算机和智能电话设备)通信的能力。虽然图6中图示各种机器人控制器605架构,但是可以在机器人控制器电路605的实现方式中利用各种架构中的任何一个,包括其中机器人行为控制器应用645位于非易失性固态存储器或某个其它形式的存储装置中并且在运行时间被加载到存储器中、和/或其中机器人行为控制器应用使用各种软件、硬件和/或固件来实现的架构。下面进一步讨论当由类似于上述机器人控制器电路605的机器人控制器配置时移动机器人10的概念性操作。

移动机器人行为控制系统

移动机器人10可包括用于基于周围环境和/或移动机器人的状态来确定移动机器人的行为的行为控制应用710。移动机器人10可以包括由具体传感器输入激活的一个或多个行为,并且仲裁器确定应当激活哪些行为。输入可以包括移动机器人10周围的环境的图像,并且可以响应于从一个或多个捕获的图像确定的环境的特性来激活行为。

图7中概念性地图示被配置成基于(但不限于)VSLAM过程而使能环境内的导航的移动机器人行为控制应用710。移动机器人行为控制应用710可以从由移动机器人10携带的一个或多个传感器720(例如,机器视觉系统、碰撞、接近、墙壁、停滞和/或悬崖传感器)接收关于其周围环境的信息。移动机器人行为控制应用710可以响应于从传感器760接收的信息来控制机器人资源725(例如,轮模块)的利用,使移动机器人10致动可基于周围环境的行为。例如,当移动机器人10用于清洁环境时,移动机器人行为控制应用710可从导航系统120接收图像,并且引导移动机器人10通过环境导航,同时避免图像内检测到障碍物和杂波。移动机器人行为控制应用710可以使用与包含非暂时性机器可读指令的存储器通信的一个或多个处理器来实现,该非暂时性机器可读指令配置一个或多个处理器以实现编程的行为730和控制仲裁器750。

编程的行为730可以包括可用于致动移动机器人10的不同行为的各种模块。特别地,编程的行为730可包括VSLAM模块740和对应的VSLAM数据库744、导航模块742和许多额外行为模块743。

VSLAM模块740管理其中移动机器人10操作的环境的映射以及关于映射的移动机器人的定位。VSLAM模块740可以在VSLAM数据库744中存储关于环境的映射的数据。数据可包括环境的地图以及地图的不同区域的特性,例如包括包含障碍物的区域、包含可穿过地板的其它区域、已经穿过的区域、尚未穿过的区域的边境、描述具体区域的信息的日期和时间和/或可适合于具体应用的要求的额外信息。在许多实例中,VSLAM数据库744还包括关于环境的边界(包括楼梯、墙壁和/或门的位置)的信息。如可以容易地理解的,许多其它类型的数据可以可选地由VSLAM模块740存储和利用,以便映射移动机器人10的操作环境。在VSLAM模块740执行视觉测量并且使用视觉测量来提供相对姿态作为到SLAM模块的输入的情况下,VSLAM数据库744可以包括类似于上述地标数据库650的地标数据库。

导航模块742基于环境的特性来致动移动机器人10将以其通过环境导航的方式。例如,在实现方式中,导航模块742可引导移动机器人10改变方向,以每秒大约306mm的速度驱动,并且然后在接近障碍物时减速,以某种方式驱动(例如,摆动方式来擦拭地板,或靠墙壁推动的方式来清洁侧壁),或导航到家庭充电站。

还可指定用于控制移动机器人10的行为的其它行为743。此外,为了使行为740-743更强大,可能在多个行为的输出之间仲裁和/或将多个行为的输出一起链接到另一个行为模块的输入以提供复杂的组合功能。行为740-743旨在实现移动机器人10的总认知的可管理部分。

再次参考图7,控制仲裁器750有助于允许编程的行为730的模块740-743各自控制移动机器人10,而不需要知道任何其它行为。换句话说,控制仲裁器750在机器人的编程的行为730和资源725之间提供简单的优先化的控制机制。控制仲裁器750可访问编程的行为730的行为740-743,并且在运行时间在行为740-743之中控制对机器人资源760的访问。控制仲裁器750确定哪个模块740-743具有对如由该模块所需的机器人资源760的控制(例如,在模块之中的优先级层次)。行为740-743可以动态地开始和停止,并且彼此完全独立地运行。编程的行为730还允许可以被一起组合以相互帮助的复杂行为。

机器人资源760可以是具有一个或多个硬件控制器的功能模块(例如,致动器、驱动器及其集)的网络。控制仲裁器750的命令典型地专用于执行给定动作的资源。用其配置移动机器人10的具体资源典型地取决于移动机器人10适于的具体应用的要求。

虽然上面关于图6-7描述了具体机器人控制器和行为控制应用,但是可以在移动机器人10内可选地利用各种机器人控制器中的任何一个,包括不依靠基于行为的控制范例的控制器。再次参考图1-4,移动机器人10包括可以包括一个或多个倾斜相机125的导航系统120。下面进一步讨论移动机器人10可以以其使用由一个或多个倾斜相机125捕获的输入图像可选地执行VSLAM过程以促进其编程的行为的方式。

VSLAM概述

移动机器人10可以连续地检测和处理来自各种机载传感器的信息,以便通过环境导航。图8中图示了可以可选地由移动机器人10使用以导航环境的过程800。该过程确定(805)机器人行为。机器人行为可由机器人控制器电路605基于各种因素确定,除了各种其它考虑外,各种因素还包括移动机器人10周围的环境的特定特性、移动机器人10的当前状态、正由移动机器人执行的特定操作以及由移动机器人10使用的电源的状态。移动机器人10确定(810)行为是否涉及机器人10的姿态的改变。当移动机器人10确定不需要姿态改变时,该过程完成行为并且确定新行为(805)。否则过程致动(815)移动机器人10的驱动器111。在一些实施例中,驱动器111使用两个或更多个轮113a、113b来跨过表面移动机器人。在其它实施例中,驱动器111可使用一个或多个旋转垫或槽状轨道,一个或多个旋转垫或槽状轨道基于垫或轨道沿着表面的旋转来使移动机器人10跨过表面移动。

随着移动机器人10移动,捕获图像和里程计数据(820)。在该发明的一个可选方面,移动机器人10在先前图像的捕获随后行进阈值距离(诸如(但不限于)图像之间的20cm)之后捕获每个新图像。图像捕获之间的具体距离典型地取决于包括(但不限于)机器人10的速度、相机125的视野以及具体移动机器人10配置的实时处理能力的因素。在若干实施例中,里程计数据由一个或多个不同类型的里程计提供,该里程计包括基于轮的旋转捕获里程计数据的轮里程计,或者通过基于在连续图像之间观察的光学流来捕获跟踪表面的图像并确定行进的距离(包括校正任何航向漂移)而获得里程计数据的光学流里程计系统。其它实施例可使用如适合于具体应用的要求的额外的里程计传感器或这些传感器的组合。

可以由移动机器人10基于里程计数据和由倾斜相机125捕获的捕获图像来生成视觉测量(825)。在一些实施例中,过程800将新图像与存储在地标数据库中的一组地标图像匹配,并且对于每个匹配,给定3D结构以及在新视图和地标图像之间的特征对应而估计相对于地标的地标姿态确定的相对姿态。

然后可以使用视觉测量数据和里程计数据来执行SLAM过程(步骤830)。移动机器人10可以可选地维持地标的地图,并且执行SLAM过程以估计移动机器人10在该地图内的位置。SLAM过程还可以更新地标的地图。

由移动机器人10进行关于过程是否已经完成的确定(835),并且如果是这样,完成。否则,过程确定新行为(805)。

类似于上面参照图8所述的过程的导航过程的执行可以通过利用相机125来得到显著地增强,该相机125被倾斜,使得其光学轴155与移动机器人10的向前运动方向形成锐角,如上面参照图2A、2B和22所述。类似地,增加相机125的角分辨率(通过利用窄视野相机和/或增加相机传感器的分辨率)可以增加导航过程的有效性。下面参照在地标创建期间的3D结构的测量和在导航期间捕获的输入图像内识别的特征的空间关系的测量来进一步讨论移动机器人10的导航过程对观察的视差和/或空间分辨率的灵敏度。

地标创建和基于地标的导航

移动机器人10可以利用地标来执行导航,该地标是具有具体的视觉上可辨别的3D结构的特征的集合。移动机器人10通过捕获环境的图像并且观察和聚集图像之间的共同特征来创建地标。通过重叠图像并且测量特征中的每一个之间的视差并且估计图像的捕获之间的姿态变化,以已知速度移动的移动机器人10可以测量到特征中的每一个的距离。这些距离然后可以用于确定定义地标的一组特征的3D结构。如上所讨论的,当随后观察形成地标的一些或所有特征时,特征的3D结构的知识可以用于估计移动机器人10的相对姿态。在实现方式中,移动机器人10可以在行进的距离上采用两个或更多个图像以便定位。

图9中图示可以可选地由移动机器人10用于识别用于在导航中使用的新地标的过程。过程900包括获得(902)输入图像的序列。图像序列可以包括少至两个输入图像。可以在输入图像的两个或更多个中的特征之间建立(904)对应。可以利用各种特征中的任何一个,包括(但不限于)2D特征、3D特征、使用尺度不变特征变换(SIFT)描述符识别的特征、使用加速鲁棒特征(SURF)描述符识别的特征和/或使用二进制鲁棒独立基本特征(BRIEF)描述符识别的特征。在一个实现方式中,机器人10使用FAST SLAM和Brief描述符。假设的对应可以仅仅使用特征描述符或通过利用由里程计数据提供的运动估计来生成。建立(904)对应的过程可以可选地涉及应用几何约束以消除被错误地识别为两个或更多个输入图像之间的对应的特征。

给定用于识别的特征的3D结构的具体估计,通过最小化在输入图像的每一个中观察的特征的位置与预测的位置之间的再投影误差,然后可以确定(906)识别的特征的3D结构。由于在捕获输入图像时在移动机器人10的相对姿态中的不确定性,移动机器人10可以使用包括(但不限于)束调整的技术来同时确定(906)识别的特征的3D结构并估计在输入图像的捕获期间的移动机器人的相对运动。移动机器人10可以可选地使用用于从运动确定结构的各种过程中的任何一个,包括(但不限于)三焦距张量法。

可以向地标数据库添加(908)关于新识别的地标的信息。移动机器人10可以可选地将输入图像中的一个或多个或输入图像的部分以及从中捕获具体输入图像的姿态的估计与地标数据库中的地标相关联,作为地标图像和对应的地标姿态。移动机器人10还可以可选地存储特征和/或与地标相关联的特征的描述符以及特征的3D结构的描述。如可以容易地理解的,数据库的具体结构典型地基于具体应用的要求来确定,并且可以包括(但不限于)用于基于观察的特征执行有效地近似最近邻搜索的kd-树的集合的使用。然后可以由移动机器人10在随后的导航期间确定相对姿态中利用由移动机器人10添加到地标数据库的信息。

图10中图示可以可选地由移动机器人10用于使用先前创建的地标来确定相对姿态的过程。过程1000包括获得(1002)一个或多个输入图像。移动机器人10可以比较(1004)输入图像内的特征和与地标数据库中的各种地标相关联的特征。用于识别输入图像中的特征的过程典型地是用于在新地标的创建期间识别特征的相同过程。

当输入图像中的特征和地标数据库中的一个或多个地标的特征之间存在足够的相似性时,移动机器人10可以确定(1006)来自地标数据库的已知地标在输入图像内是可见的。基于最接近地匹配在其中地标是可见的输入图像内观察的特征的空间关系的地标的特征的3D结构的再投影,移动机器人10然后可以估计(1008)相对于与地标数据库中的地标相关联的地标姿态的机器人的姿态。相对姿态可以可选地是移动机器人10相对于与地标数据库中的地标相关联的地标姿态的平移和/或旋转的描述。以其表示相对姿态的具体方式很大程度上取决于特定应用的要求。确定最可能的相对姿态估计的过程可以取决于移动机器人10的配置而变化。在移动机器人10的一个可选配置中,成本度量用于最小化在输入图像内可见的地标特征的再投影误差。在移动机器人10的另一个可选配置中,估计过程考虑与估计形成地标的特征的3D结构和/或地标姿态的位置的过程中的一个或多个相关联的可能的误差源。在移动机器人10的一个具体配置中,使用形成地标的特征的3D结构的再投影来形成相对姿态的初始估计,并且然后假设特征的3D结构和相对姿态可以变化而执行最大相似性估计。在移动机器人10的其它配置中,基于里程计数据、用于创建地标的图像中的特征的位置、地标的3D结构和/或与在输入图像内可见的地标相关联的特征的空间关系中的一个或多个,各种技术中的任何一个可以用于确定相对姿态。

当移动机器人10未检测到输入图像内的已知地标的存在时,移动机器人可以可选地尝试创建(1010)新地标,或者可简单地获得另一个输入图像。

移动机器人10可以向SLAM过程提供(1012)估计的相对姿态和识别的地标的标识,SLAM过程可以确定全局姿态估计和/或更新由移动机器人维持的地标的全局地图。如上所指出的,可以可选地使用各种SLAM过程中的任何一个来配置移动机器人10,该SLAM过程依靠相对于已知地标被确定为输入的相对姿态估计。在实现方式中,机器人10使用FAST SLAM和BRIEF描述符。

上述用于创建新地标和用于基于先前创建的地标导航的过程依靠可以使用一组特征的3D结构的再投影来建立的空间关系。如下面参照图11-16B进一步讨论的,相机光学轴155相对于移动机器人10的向前运动方向的对准可以在移动机器人可以用其导航的精度中起重要作用。在移动机器人10的向前运动方向上直接对准相机125可以负面地影响再投影过程的精度。当相机沿着其光学轴155朝着地标移动时,很少或没有观察到视差,并且再投影过程单独依靠尺度的变化。给移动机器人10配置有经倾斜以使得其光学轴155形成移动机器人10的向前运动方向以上的角度的至少一个相机125可以增加观察的视差和使用再投影进行的测量的精度。

图11A-11C中图示由具有相机125的移动机器人10捕获的视野的示例,该相机125被配置以使得光学轴155与移动机器人的向前运动方向对准。移动机器人10在图11A中被示出在室内环境中。移动机器人10被配置有具有视野的面向前相机125,面向前相机125正在捕获在角落1106中会合的两面墙壁1102、1104的部分以及环境的地表面1108的各种部分。移动机器人10被示为沿着相机的光学轴155朝着角落1106移动。场景1112、1114和1116的连续较小部分被图示为在图11A、11B和11C中被捕获。在图11A、11B和11C中所示的三个视图1112、1114、1116中的每一个中仍然可见的特征看起来越大,移动机器人10离角落1106越靠近。然而,在连续视图1112、1114和1116之间的相机125的视野的中心内观察很小的视差。图13A中概念性地图示随着相机125沿着相机125的光学轴155直接朝着运动方向上的特征移动时在特征的视图之间的视差缺乏。随着相机125移动得更靠近特征,特征在三个连续视图1300、1302、1304中的每一个中的尺寸增加。然而,特征仍然在相机125的视野内居中。因此,到特征的距离难以用任何精度确定。此外,诸如角落之类的特征(其对于导航典型地非常不同)可以在不同尺度上看起来非常类似。再次参考图11A-11C,角落1106将在视图1112、1114和1116中的每一个中看起来非常类似。

如上面关于图2A、2B和22所述,倾斜相机125以使得其光学轴155在移动机器人10的运动方向上方形成锐角增加跨过相机的视野观察的视差。当移动机器人10被配置为房屋清洁机器人时,移动机器人10被约束成跨过一般平面的地板移动。即使当地板是斜的时,移动机器人10也不在沿着相机125的光学轴155的方向上移动。因此,移动机器人10的平移导致场景的不同视图之间的可观察的视差。

图12A-12C中图示了由经倾斜以使得其光学轴155在移动机器人10的运动方向上方形成锐角的相机125捕获的场景的视图的示例。移动机器人10捕获与图11A-11C中所示的场景相似的涉及在角落1206处会合的两个墙壁1202、1204的场景的视图。移动机器人10沿着地板1208在朝着角落1206的运动方向1210上移动。因为当以上面关于图11A-11C所述的方式将移动机器人10配置有前视相机时,配置有倾斜相机125的移动机器人捕获场景的连续较小部分的视图1212、1214、1216。然而,相机125的倾斜导致相机的视野在沿着墙壁1202、1204向下移位的连续视图中的每一个中。因此,在三个视图中的每一个中可见的特征看起来在连续视图1212、1214、1216之间向上移动。图13B中概念性地图示特征的向上移动。随着移动机器人10沿着地板在朝着特征的方向上移动,特征尺寸增加,并且在三个连续视图1310、1312、1314中的每一个中逐渐向上移动。

为了图示可观察的视差,叠加三个连续视图1310、1312、1314。当特征不位于相机125的视野的正中心线上时,特征将向上移动并远离相机的视野的中心线。如可以容易地理解的,显著视差的存在可以用于以比可以由在图13A中图示的连续视图1300、1302、1304中观察的特征形成的精度高得多的精度来确定到特征的距离。当跨过特征的集考虑时,增加的视差提供关于形成地标的一组特征的3D结构的更多信息。例如,如果一组特征对应于具有诸如门框而不是墙壁上的仅仅一个圆的3D结构的环境中的物体,然后随着移动机器人10移动得更靠近门框,它将能够以更高的精度确定门框的3D结构。如上所指出的,用其确定地标的3D结构的精度显著影响在随后的导航期间使用地标做出的相对姿态估计的精度。相机125的倾斜还可以使得移动机器人10能够看到更多的物体下侧。由被配置为室内清洁物体的移动机器人10用于导航所依靠的许多物体是被悬挂或安装到诸如(但不限于)相框、纯平电视和扬声器系统之类的墙壁上的相对平坦的物体。倾斜相机125增加专用于对这样的物体的下侧进行成像的相机的视野的部分。相应地,可以更精确地确定物体的下侧的3D结构,导致基于地标的3D结构的更精确的后续导航。

由下面参照图14A、14B和15所述的一系列模拟图示当确定地标的3D结构并估计相对姿态时增加可观察的视差的影响。所述模拟涉及模拟朝着房间的角落移动的移动机器人10可以用其使用前视相机来确定其相对姿态的精度(其被与使用被倾斜使得相机125的光学轴在移动机器人10的运动方向上方形成锐角的相机实现的精度相比较)。

图14A是通过模拟虚拟室内环境中的模拟的移动机器人的面向前相机的视点而生成的图像1400。虚拟室内环境是在其墙壁和天花板上包括纹理的房间,该纹理采用在形成角落的两个墙壁上的猎豹1402的图像和的斑马1404的图像以及在虚拟房间的天花板1406上的日出1406的图像的形式。在模拟中,虚拟房间的尺寸为4个单位乘4个单位的房间,其具有2个单位高的墙壁。模拟移动机器人相机在地板上方1个单位,并且前视相机被指向角落。在模拟中,移动机器人基于在朝着角落向前移动0.5个单位之后获得的图像中识别的特征的比较来确定相对姿态的移位。由模拟移动机器人使用类似于上述那些的过程识别的特征被图示为多个十字1408。图14B是通过模拟相机的视点生成的图像1450,该相机具有与用于在生成图14中所示的图像1400的模拟中使用的相机相同的视野(除了该相机被倾斜以使得相机的光学轴在模拟移动机器人的向前运动方向上方30度角之外)。由模拟移动机器人识别并用于执行定位的特征被图示为多个十字1452。

图15是示出精度的比较的图表,移动机器人能够用该精度确定其在上述模拟的每一个中的地板平面中的相对姿态。图表1500图示在使用具有面向前相机的模拟移动机器人确定的相对姿态中的不确定性1502,和在使用具有相机(该相机被倾斜使得相机的光学轴在移动机器人的运动方向上方30度角)的模拟移动机器人确定的相对姿态中的不确定性1504。如上所指出的,模拟涉及模拟移动机器人朝着虚拟房间的角落移动0.5个单位。在模拟移动机器人的真实位置的左边或右边和在相对于向前运动方向定义的模拟移动机器人的真实位置的前面或后面的误差方面表示不确定性。左右不确定性可以被认为是在垂直于运动方向的维度中的不确定性,并且前后不确定性可以被认为是在与运动方向平行的维度上的不确定性。如可以通过观看图15理解的,经倾斜以使得相机的光学轴在移动机器人的运动方向上方30度角的相机的使用在两个维度上实现了相对于面向前相机的不确定性的减小。垂直于运动方向的尺寸的不确定性的减小是轻微的,然而,在沿着运动方向的维度上实现了不确定性的显著减小。

虽然上述模拟比较面向前相机和经倾斜以使得其光学轴在移动机器人的运动方向上方30度角的相机,但是类似的位置不确定性的减小可以使用经倾斜以使得相机的光学轴在移动机器人的运动方向上方以其它锐角对准的相机来实现。此外,虽然上面参照图9和图10描述使用倾斜相机125来增加在由使用用于创建地标和基于地标确定相对姿态的过程的相机捕获的连续图像中观察的视差的益处,但是类似的益处可以通过利用一个或多个倾斜相机125来使用移动机器人10捕获场景的图像来获得,该移动机器人10使用各种可选的VSLAM导航过程中的任何一个来配置。

采用广角镜头的相机典型地用于被配置成执行VSLAM和CV-SLAM的移动机器人中。使用倾斜相机125的显著益处在于:在相机的视野的中心内观察的特征可以用于获得精确的深度估计。如下面进一步讨论的,移动机器人10可以用其确定地标的3D结构的精度可以通过利用配置有窄视野镜头140的倾斜相机125来进一步增加,该倾斜相机125相对于采用具有相同分辨率和更宽视野镜头的传感器的相机具有增加的角分辨率。

用增加的角分辨率增加导航精度

将移动机器人10配置为具有窄视野和增加的角分辨率的倾斜相机125可以增加移动机器人10可以用其确定地标的3D结构的精度以及基于地标的3D结构的再投影确定的相对姿态估计的精度。此外,窄视野镜头的使用可以使得移动机器人10能够执行图像处理,而无需校正由相机125获取的图像的计算成本(例如,时间、处理能力等)。如可以容易地理解的,减少处理负载可以使得移动机器人10能够以更高的帧速率处理更多的图像(使得移动机器人能够更快地移动),降低功率消耗(增加电池寿命)和/或向移动机器人10提供额外的处理能力来执行其它功能。

图16A和16B图示精度的增加,与当使用具有比较宽视野的前视相机配置移动机器人时相比,当使用具有窄视野的倾斜相机125配置移动机器人10时可以用该精度来定位地标。图16A图示使用广角镜头配置的移动机器人10的相机125的采样网格1600。采样网格1600概念性地图示由直接前视相机125中的每个像素采样的场景的部分。在真实世界应用中,移动机器人10典型地配置有高得多的分辨率的相机。然而,非常低分辨率的采样网格用于图示角分辨率和失真对随后的图像处理的影响。采样网格1600采样场景,该场景是典型的客厅,包括长沙发椅1620、咖啡桌1625、电视1630、加框图片1635和窗口1640。当移动机器人10在沿着相机125的光学轴155的方向上移动时,在相机的视野的中心部分内观察非常小的视差,并且从相机125的视野的外围处的特征获得3D结构的最可靠的深度估计。由广角镜头引起的失真被概念性地图示为采样网格1600内的曲线。由于失真,与在相机的视野的中心处的相机的角分辨率相比,在相机的视野的外围处的相机125的角分辨率较低。较低的角分辨率被描绘为采样网格1600内的顶点之间的较大间隔。因此,用比较低的精度观察在相机125的视野的外围内观察的特征。可能在导航中使用的特征是长沙发椅的前角。阴影1610用于指示可指示地标的像素的分组。如可以通过与图16B(以下讨论)比较所看到的,比较低的分辨率意味着在使用不同组的像素观察特征之前可以发生采样网格1600的显著移位和旋转。相应地,移动机器人10的定位的精度相对低得多。

相比之下,图16B中图示的移动机器人10使用具有窄视野的倾斜相机125采样场景。由于倾斜的相机125,移动机器人10能够跨过相机的视野精确地确定特征的3D结构。相对于图16A中图示的相机的角分辨率,使相机125的视野变窄显著地增加相机的角分辨率。图16B中图示的移动机器人10的采样网格1650用高得多的角分辨率或采样密度来采样场景。因此,可以用其确定具体特征的位置的精度高得多。此外,窄视野镜头140引入非常小的失真。因此,角分辨率跨过较窄的视野不显著地减小,并且移动机器人10可以处理图像数据而不首先执行校正。使用更窄的视野镜头、以更精细的精度测量视差的能力可以导致形成地标的特征的3D结构和那些结构元件到移动机器人10的距离的更精确的估计,该移动机器人10以已知速度相对于静止地标移动。另外,基于3D结构到新视点中的再投影误差的最小化,更准确地测量在图像内识别的特征之间的距离的能力可以导致更精确的相对姿态估计。相应地,倾斜相机125和窄视野镜头140的组合可以在导航期间基于VSLAM过程导致高得多的定位精度。可能在导航中使用的特征是相框1635的右上角。阴影1660用于指示可指示地标的像素的分组。如可以通过与图16A(上面讨论的)比较看到的,比较高的分辨率意味着采样网格的小移位和/或旋转将导致该特征由不同组的像素观察。相应地,移动机器人10的定位的精度相对高得多。

虽然在图16A和16B中为了概念性地图示相对于具有广角镜头的前视相机利用具有窄视野的倾斜相机125的益处的目的而图示不同的视野,但是可以使用具有各种视野中的任何一个的倾斜相机125配置移动机器人10。窄视野镜头被典型地认为是其中透视投影一般是对镜头的真实成像特性的良好近似的镜头,而广角镜头引入失真。在一个可选配置中,倾斜相机125配置有具窄视野镜头,该窄视野镜头具有含有从65-75度的范围选择的水平视野和从45-65度的范围选择的垂直视野的镜头。在实现方式中,倾斜相机125镜头具有72度的水平视野和50度的垂直视野。在另一个可选配置中,倾斜相机125配置有窄视野镜头,该窄视野镜头具有处于水平方向上70和80度以及垂直方向上50和60度或者在其之间的视野。如可以容易地理解的,在移动机器人10的一个或多个相机125中利用的具体镜头140和/或具体视野镜头140很大程度上取决于给定应用的要求。

当相机125的一些或全部视野被遮挡或严重模糊时,由移动机器人10利用的相机125的视野的程度可以很大程度上不相关。相应地,移动机器人10可以可选地被配置成检测遮挡并通知用户需要检查移动机器人10以尝试从连续图像的比较中忽略遮挡。下面进一步讨论可以可选地由移动机器人10采用的遮挡检测过程。

遮挡检测

由于对移动机器人10周围的环境中的元素的正在进行的暴露,移动机器人10的导航系统120中的一个或多个相机125、140可经历恶化的功能性。特别地,在室内环境内,灰尘、碎片、指纹、毛发、食物颗粒和各种其它物体随着移动机器人10清洁环境而可能收集并停留在一个或多个相机镜头盖135上。这些障碍物可降低由相机125捕获的用于在VSLAM过程中使用的图像的质量,并且从而减少通过室内环境的移动机器人10的导航的精准度。为了维持足够水平的导航性能,当做出移动机器人10不再从至少一个相机125的一些或全部视图接收有用信息的确定时,移动机器人10可向用户提供通知。

移动机器人10的相机125之一的视野的一部分可以以其变得遮挡的方式随着移动机器人10可以被配置成在其中操作的环境而变化。当视野的一部分被遮蔽时,相机125可不提供可由包括(但不限于)VSLAM过程的导航过程使用的任何有用的图像数据。图17A-18B中概念性地图示具体类型的遮挡和由遮挡的相机125捕获的结果图像的示例。在图17A中图示半透明遮挡1706。相机125被示为凹入在移动机器人10的主体100内,并且具有位于凹陷的开口1704内的镜头盖135。半透明遮挡1706(例如手指污迹或水滴)存在于镜头盖135上。图17B中概念性地图示由相机125捕获的图像1710,其中半透明遮挡1706导致图像1712的模糊部分。如可以容易地理解的,模糊可能导致缺乏关于特征的特征对应,该特征本来将在由半透明遮挡失真的相机视野的部分内被识别。因此,由于诸如(但不限于)视觉测量过程之类的导航过程不能识别相机视野的受影响部分内的地标,遮挡1706的存在将随时间的过去而变得明显。

在图18A中图示不透明遮挡1806。相机125被类似地示为凹入在移动机器人10的主体100内,并且具有位于凹陷130的开口1804内的镜头盖135。不透明遮挡1806(例如灰尘颗粒、墨滴或碎片纸)存在于镜头盖135上。图18B中概念性地图示由相机125捕获的图像1810,其中不透明遮挡1806导致场景1812的一部分的完全遮挡。在移动机器人10检测由不透明遮挡1806影响的场景的部分内的特征的方面上来说,移动机器人10将不能够观察到关于场景的连续视图中的那些特征的任何视差。不透明遮挡1806将典型地看起来像在连续图像中具有相同维度的相同位置中的假地标。这种视差的缺乏防止在地标的创建中使用与遮挡1806相关联的任何特征,因为移动机器人10将不能够确定用于地标的任何3D结构。相应地,随着时间的过去,不透明遮挡1806的存在将随着时间的过去而变得明显,这是由于诸如(但不限于)视觉测量过程之类的导航过程不能识别相机125视野的受影响部分内的地标。移动机器人10可以可选地通过检测出现在相同位置中的特征来更快地检测不透明遮挡1806,而不管移动机器人10的旋转和/或平移。

图19中图示可以可选地由移动机器人10执行的遮挡检测过程。过程1900包括捕获(1905)输入图像以用于在导航中使用。如上所指出的,移动机器人10可以可选地使用位于移动机器人10的主体100的顶部盖中的凹陷130内的相机125来配置和/或相机125可被倾斜以使得相机的光学轴155在移动机器人10的向前运动方向上方形成锐角。

移动机器人10确定(1910)其中特征在包括(但不限于)VSLAM过程的导航过程期间被识别和利用的一个或多个相机125的视野的不同部分,并且相应地更新(1915)遮挡检测数据。当以导航过程执行VSLAM过程的这样的方式配置移动机器人10时,图像的某些部分可包含特征,VSLAM过程可利用该特征生成用于在执行视觉测量和映射环境中使用的地标。移动机器人10可以收集描述用于生成和/或检测地标的图像的部分的遮挡检测数据,并且图像的这些部分可对应于相机视野的不同部分。在该发明的一个可选方面,移动机器人10可将视野的各种部分的直方图维持成用于识别特征。当存在遮挡时,直方图将反映:视野的这些部分没有正由VSLAM用于生成和/或检测地标。

移动机器人10可以确定(1920)是否已经捕获某个阈值数量的输入图像。在许多实施例中,阈值数量的输入图像可变化,并且遮挡检测的精准度一般将随更大数量的输入图像而增加。当没有捕获阈值数量的图像时,过程继续(1905)以捕获额外图像。在实施例中,阈值数量的图像是以每秒大约1ft或每秒大约306mm的速率、每英尺行程1-10个图像并且优选地每英尺机器人行程3个图像。当已经捕获阈值数量的图像时,过程确定(1925)遮挡检测数据是否识别正在捕获未由导航过程使用的图像数据的相机125的视野的一个或多个部分。当遮挡检测数据不识别正在捕获未由导航过程使用的图像数据的视野的一个或多个部分时,移动机器人10假设一个或多个相机125的视野未被遮挡,并且遮挡检测过程完成。

在一个实现方式中,当遮挡检测数据识别视野的一个或多个部分正在捕获未由导航过程使用的图像数据时,移动机器人10向与移动机器人10相关联的一个或多个用户提供(1930)相机遮挡通知,使得用户可以从相机125的视野清除遮挡。在过程的一个可选方面,通知以电子消息的形式递送给正在使用位于移动机器人10可以与其通信的服务器上的用户帐户信息的用户。例如,可通过电子邮件、文本消息或其它通信来通知用户。在另一个可选方面,可通过移动机器人10上的某种形式的指示器(诸如闪光灯、声音或其它适当的警报机制)来通知用户。移动机器人10还可被可选地配置有移动机器人可以用于尝试消除检测的遮挡的刮片、风扇、气刀和/或另一种适当的清洁机制。

图20中图示根据该发明的可选方面图示在移动机器人10、外部服务器和用户设备之间的通信的通信图。特别地,图20图示向外部服务器2020发送遮挡通知的移动机器人10。移动机器人10可在其检测到遮挡的存在之后发送通知,该遮挡正在遮挡移动机器人10上的相机的视野的一部分,使得相机图像的未遮挡部分对于定位机器人10不再有用。在该发明的可选方面,移动机器人10可使用诸如例如蓝牙的短距离通信协议而向用户设备直接发送通知。在从移动机器人10接收到通知时,外部服务器2020向被注册以接收通知的一个或多个用户设备发送消息。在该发明的可选方面,外部服务器可发送SMS文本消息、自动语音邮件和/或电子邮件消息中的任何一个。在该发明的另一个可选方面,移动机器人10可在周期性的基础上发送通知,同时检测遮挡的继续存在。例如,移动机器人10可发送基于每日、每周或其它时间的通知提醒,同时检测遮挡。在其它可选方面,移动机器人10可以每当其开始清洁环境时发送通知。

图21中图示根据该发明的实施例的用于向用户设备通知遮挡的系统。系统2100包括服务器2104,该服务器2104接收和处理来自一个或多个移动机器人的消息。特别地,当服务器从移动机器人10接收消息时,它可以向一个或多个用户设备2105-2107提供消息。

在若干实施例中,各种用户设备可以使用HTTP、SMS文本或另一个适当的协议来经由诸如因特网之类的网络2108接收消息。在图示的实施例中,用户设备包括个人计算机2105-2106和移动电话2107。在其它实施例中,用户设备可以包括消费电子设备,诸如DVD播放器、蓝光播放器、电视、机顶盒、视频游戏控制台、平板电脑以及能够经由HTTP连接到服务器并接收消息的其它设备。

虽然上面包含了对该发明的许多具体可选方面的描述,但是这些不应被解释为对该发明的范围的限制,而是作为其不同配置的示例。相应地,该发明的范围不应当由图示的示例确定,而是由所附权利要求及其等同物确定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1