由移动机器人来追踪及跟随运动对象的制作方法

文档序号:6294301阅读:689来源:国知局
由移动机器人来追踪及跟随运动对象的制作方法
【专利摘要】机器人使用传感器数据追踪对象,并且跟随用户所选择的对象。该对象可以由用户从机器人所识别出的一组对象中指定。机器人和该对象的相对位置和定向被确定。机器人的位置和定向可以被使用以便维持对象和机器人间的期望关系。通过使用机器人的导航系统,在机器人运动期间,障碍可以被避开。如果机器人失去与正被追踪的对象的联系,机器人可以继续导航并搜索环境直到对象被重新获取。
【专利说明】由移动机器人来追踪及跟随运动对象
[0001]背景
[0002]通常通过引导机器人按照特定方向或沿着指定路径或朝向指定位置运动来控制移动机器人的运动。机器人可包括允许其在按照指定方向或朝向指定位置或沿着指定路径运动时避开障碍的传感器。
[0003]例如,通常由正在观看常由机器人上的相机提供的实况视频馈送的操作员来远程地控制机器人。在观看视频时,操作员可以引导机器人按照各种方向运动以及执行各种操作。这种控制的一个挑战是时常需要调整机器人上相机和话筒的位置。
[0004]作为另一个示例,机器人通常被引导绕一个空间或多个空间运动以执行各种任务。此类任务可以包括清洁或拍照或收集其他传感器输入。在此类任务期间,机器人可以自主地运动并避开障碍,并因而较少被操作员控制或不被操作员控制。
[0005]概述
[0006]提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
[0007]通过把机器人使用传感器数据(诸如音频和视频信息)来标识和追踪对象(诸如人)的能力与测量对象的位置及定向的能力相结合,机器人可以被指令追踪及跟随对象。要被追踪及跟随的对象可以由用户从一组被机器人识别的对象中指定。被追踪的对象可以是人。在许多情况下,通过仅识别或追踪对象的一部分(诸如面部或头部)可以识别并追踪对象。
[0008]例如,可使用应用到机器人的传感器输入的多种模式识别技术中的任何一种来识别对象。例如,面部识别或形状识别可以被应用到图像数据。语音识别或声源定位可以被应用到由一组话筒采集的音频数据。
[0009]用户可以是本地的或远程的。本地用户可以基于他或她的语音或其它用户输入来向机器人提供跟随对象(包括他自己或她自己)的指令。通过用户界面使得远程用户能够输入对机器人识别出的一个或多个对象中的一对象的选择。
[0010]在给定被选择的对象的情况下,可以确定对象和机器人的相对位置及定向,诸如x、y位置及定向。运动控制系统可随后控制机器人的运动以维持相对于被追随对象的指定相对位置及定向。在此运动期间,可以使用常规的避障技术来避开障碍。在某些情况下,障碍将遮掩从其识别被追随对象的传感器信息。在此情况下,机器人可以诸如在对象的最后已知方向上继续导航并搜索环境以尝试重新获取对象。如果对象被重新获取,追踪继续。
[0011]因此,在一方面,用于追踪及跟随对象的过程涉及从机器人接收传感器数据进存储器。使用传感器数据来追踪机器人环境中的对象。机器人被引导运动以便维持机器人相对于被追踪对象的中的一个或多个的相对位置及定向。使用传感器数据来控制机器人的运动以便避开障碍。
[0012]在另一方面,用于追踪及跟随对象的计算机器包括对象识别模块,对象识别模块具有从机器人环境接收传感器数据的输入,以及指示在环境中识别出的对象的输出。追踪及跟随模块具有指示要被追踪的被选择对象的输入,以及指示供机器人跟随被选择对象的位置及定向的输出。导航模块具有接收位置及定向的输入,以及引导机器人沿着避开障碍的路径运动到期望位置及定向的、到机器人的运动控制系统的输出。
[0013]在一个实施例中,使用户能够选择机器人被引导跟随的被追踪的对象中的一个或多个。可向用户提供实况视频馈送,被追踪的对象在该实况视频馈送中被指示。
[0014]在另一个实施例中,如果对对象的追踪跟丢对象,则过程还包括尝试重新获取对跟丢的对象的追踪。尝试重新获取对跟丢的对象的追踪可包括调整机器人的位置及定向。
[0015]在一个实施例中,两个机器人可以维持会话,在该会话中每个机器人追踪并跟随在其环境中的人。以此方式,处于不同位置的两个人(每人都有机器人)在他们各自都在其相应的环境中到处运动时可以相互“访问”(例如,相互看到并听到),如果两个机器人都追踪及跟随相应的参与者并将他们保持在相机框内的话。每个人可指令相应的机器人跟随他自己或她自己。通过维持机器人相对于人的相对位置及定向,相机和话筒可保持对着人。
[0016]在以下描述中,对附图进行了参考,附图构成了实施方式的一部分且在其中作为示例示出了本发明技术的具体示例实现。可以理解,可以使用其它实施例并且可以做出结构上的改变而不背离本发明的范围。
[0017]附图简述
[0018]图1是示例移动机器人系统的框图。
[0019]图2是示出追踪及跟随的示例实现的数据流程图。
[0020]图3是描述图2的系统的操作的流程图。
[0021]图4是描述用于机器人的远程呈现应用的示例设置的流程图。
[0022]图5是在其中可以实现这样的系统的示例计算设备的框图。
[0023]详细描述
[0024]以下部分提供在其中可以实现由机器人进行追踪及跟随的示例操作环境。参考图1,移动机器人100具有数个组件。
[0025]传感器102检测有关周围环境及该环境中对象104的信息。传感器102将传感器数据106作为输入提供给机器人的系统的其余部分。示例传感器包括但不限于一个或多个摄像机、一个或多个话筒(诸如话筒阵列)、红外探测器以及邻近度探测器。本发明不限于传感器102的特定设置或布置,只要传感器提供的传感器数据106使对象能够被识别并被追踪或者使障碍能被避开。
[0026]对象识别模块108使用传感器数据106来标识对象,以及它们在空间中相对于机器人100的位置及定向。运动控制模块110控制机器人100的运动方向和速度。导航模块112基于障碍回避以及其他路径跟随过程来确定运动控制模块的方向114。对象识别、运动控制及导航系统可以以本领域普通技术人员已知的多种方式中的任何一种来实现,并且本发明并不因此而受限。
[0027]在定期的时间帧处,对象识别模块提供有关识别出的对象116的信息,包括每个对象的位置及定向以及描述对象的信息,诸如对象的标识符。可以对机器人的传感器输入应用各种模式识别技术以识别对象。例如,对象识别模块108可以使用视频信息和处理图像来标识特定形状或面部。邻近度探测器可提供有关对象到机器人100的距离的信息。通过随着时间处理图像并追踪对象,对象识别模块108可以确定对象是否在运动。可以使用声源定位来标识发出声音的对象(诸如人及他或她的语音)的位置。对象识别模块108向下文将要更加详述的用户界面118和追踪及跟随模块122提供有关识别出的对象116的信
肩、O
[0028]在许多应用中,要被识别及追踪的对象是人。识别及追踪可以识别对象的一部分,诸如面部。一旦对象被识别,就可以通过监视对象的一点或一区域来追踪对象。例如,如果机器人跟随人,它可以首先识别面部随后跟随身体上的一点或一区域。
[0029]在一个示例实现中,用户界面118允许用户查看有关被识别的对象的信息并提供指示哪个对象要被机器人100追踪及跟随的用户选择120。用户选择120被提供给机器人100中的追踪及跟随模块122,追踪及跟随模块122使用来自对象追踪模块108的信息并引导导航模块112来确定机器人100如何追踪及跟随对象。在另一个实现中,用户界面处理传感器数据以确定操作员的指令。例如,用户可以说“跟随”或作手势以提供用户选择120,指令机器人100跟随在其视野内被识别出的人或对象。
[0030]给定该上下文的情况下,将结合附图2-4详述追踪及跟随模块122的示例实现。
[0031]在附图2中,该模块的示例实现的框图包括接收有关识别出的对象202的信息的对象跟随模块200。该信息包括,例如识别出的每个对象的标识符及其位置。当前用户选择204的指不指令对象跟随|旲块有关要被追踪的对象。
[0032]给定有关识别出的对象202的信息以及用户选择204的情况下,对象跟随模块200在数个模式中执行数个操作。首先,如果没有被选择的对象,则对象跟随模块200处于等待模式并且等候用户选择。
[0033]如果已经选择了要跟随的对象,对象跟随模块200开始追踪模式。在追踪模式下,如果对象的位置保持在距其初始位置一阈值距离内或者以其他方式保持在机器人的视野内,机器人不运动。例如,模块200可以确定图像中的对象是否在机器人视野内的边界框中。并且,该模块可以确定对象的深度或机器人与对象间的距离是否在预订范围内。如果被追踪的对象的位置显著改变,则对象跟随模块通知位置计算模块206机器人需要被运动以跟随被追踪的对象。对象跟随模块200向位置计算模块206提供有关对象的信息208,诸如其位置、定向及其方向和运动速度。
[0034]位置计算模块206接收有关被追踪的对象的信息208,并为机器人提供新位置214作为它的输出。这可以是新的x、y位置或新定向或这两者。例如,机器人可以被指令旋转45度。机器人可以改变它的位置及定向以匹配相对于对象的期望相对位置及定向。新位置信息214被提供给机器人的导航控制系统。
[0035]如果在有关识别出的对象的信息中没有再发现被选择的对象,模块200进入重新获取模式并向对象重新获取模块210通知诸如“对象跟丢”的消息212,以及有关被识别的对象的其他信息。例如,对象的运动方向及速度可以是有用信息。
[0036]给定用户选择204的情况下,对象重新获取模块210确定如何重新定位对象,这涉及运动该机器人。模块210确定机器人的新位置214。例如,给定对象的方向及速度的情况下,可以计算出要将机器人从机器人的当前位置运动至的新位置以及运动到该新位置的速度。取决于有关机器人的环境的可用信息,可以使用其他技术。
[0037]直到对象被重新获取,或重新获取因超时而终止或被用户终止,对象重新获取模块使用有关对象跟丢的信息以及接收到的有关识别出的对象的信息来重新定位对象。具体而言,对象重新获取模块把给定时间帧内有关识别出的对象的信息与它所具有的有关跟丢对象的信息进行比较。如果发现了匹配,则匹配的对象现在是要被对象跟随模块200追踪的对象。对象重新获取模块把有关匹配的对象的信息提供回对象跟随模块,对象跟随模块重新开始追踪。
[0038]现在将结合附图3来描述用以描述附图2的系统操作的流程图。
[0039]过程在机器人致力于追踪及跟随对象之后开始。在追踪及跟随对象时,机器人检测300对象的运动,诸如通过位置或尺寸的变化。具体而言,它追踪包括位置及速度的对象的三维数据。如果检测到运动,则机器人确定302该运动量是否足够机器人运动或作出某一其它反应。例如,机器人可以确定相对距离和定向是否在特定边界内。特定边界将取决于对机器人的应用或使用。注意如果被追踪的对象的定向可以被追踪,该定向信息可被用来运动机器人以确保机器人“面向”对象,或确保机器人的定向与相对于对象的期望定向匹配。
[0040]如果对象和机器人的相对位置及定向不在预定的边界内,则机器人位置及定向可以被调整304。给定期望的位置及定向的情况下,可以由导航系统根据对机器人的应用或使用来确定运动的路径及速度。例如,导航系统可以跟随最短路径,并且维持到对象的近跟随距离。导航系统还可以尝试跟随被对象跟随的相同路径。
[0041]也可以提供对机器人的其它反应。例如,相机、话筒或其它传感器的位置可以被改变。如果机器人具有其它可动部件,仅某些部件可以被运动。可以提供指示机器人状态或其表达的其它信息。例如,可以输出声音或显示来指示机器人正预期被追踪对象的跟丢。
[0042]在机器人对对象的运动作出反应之后,机器人继续追踪300对象。如果追踪失败,过程以重新获取对象的步骤308继续。如果发现潜在目标,并且如在步骤310所确定的作出了与原始对象的匹配,则过程返回到追踪300对象。否则,系统继续尝试重新获取308对象。
[0043]现在参考图4,现在将描述开始对对象的追踪及跟随的过程。图1中,用户界面允许向用户通知识别出的对象并选择要追踪的对象。作为示例实现,机器人的远程呈现会话提供400来自机器人的实况视频馈送。该会话一般被实现为在通过通信链路与机器人连接的远程计算机上运行的客户机应用。机器人的对象识别模块计算对象的位置并向客户机应用发送402此信息。客户机应用的用户界面可以显示标识404实况视频馈送中的对象的信息,诸如指示识别出的对象的覆盖。用户随后被允许选择404对象,并且该选择被发送406至机器人。一接收到该选择,机器人就进入408对目标的追踪及跟随模式。还可以向用户界面提供允许用户取消此模式或选择要跟随的新对象或人的机制。
[0044]多个应用可使用此由机器人来追踪及跟随对象的技术来实现。例如,通过引导机器人跟随被选择的对象可以简化机器人的远程呈现会话。机器人还可被操作员引导来跟随操作员或其它对象,把操作员从引导机器人运动的任务中解脱出来。
[0045]在一个实施例中,两个机器人可维持其中每个机器人追踪及跟随其环境中的人的会话。以此方式,处于不同位置的两个人(每人都有机器人)在他们各自都在其相应的环境中到处运动时可以相互“访问”(例如相互看到并听到),,如果两个机器人都追踪及跟随相应的参与者并将他们保持在相机框内的话。每个人可指令相应的机器人跟随他自己或她自己。通过维持机器人相对于人的相对位置及定向,相机和话筒可保持对着人。[0046]现在已经描述了示例实现,将描述这一系统被设计成在其中操作的计算环境。以下描述旨在提供对其中可实现该系统的合适的计算环境的简要概括描述。该系统可以用众多通用或专用计算硬件配置来实现。移动机器人一般具有和其他公知计算设备相似的计算能力,公知计算设备诸如个人计算机、手持式或膝上型设备(例如,媒体播放器、笔记本计算机、蜂窝电话、个人数据助理、语音记录器)、多处理器系统、基于微处理器的系统、机顶盒、游戏控制台、可编程消费电子产品等等。由于机器人的控制系统也可以在与机器人分离和/或远离的计算机上,因此其他计算机器可以被用来实现在此所述的机器人系统。
[0047]图5示出了合适的计算系统环境的示例。该计算系统环境只是合适的计算环境的一个示例,并且不旨在对这一计算环境的使用范围或功能提出任何限制。也不应将该计算环境解释为对示例性操作环境中示出的任一组件或其组合有任何依赖性或要求。
[0048]参考图5,示例计算环境包括计算机器,诸如计算机器500。在其最基本的配置中,计算机器500通常包括至少一个处理单元502和存储器504。计算设备可包括多个处理单元和/或附加共同处理单元,诸如图形处理单元520。取决于计算设备的确切配置和类型,存储器504可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。该最基本配置在图5中由虚线506来示出。另外,计算机器500还可具有附加的特征/功能。例如,计算机器500还可包括附加存储(可移动和/或不可移动),包括但不限于磁盘、光盘或磁带。在图5中通过可移动存储508和不可移动存储510示出这样的附加存储。计算机存储介质包括以用于存储诸如计算机程序指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储器504、可移动存储508和不可移动存储510全部都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPR0M、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备,或者可用于存储所需信息并且可由计算机器500访问的任何其它介质。任何这样的计算机存储介质都可以是计算机器500的一部分。
[0049]计算机器500还可包含使该设备能与其它设备进行通信的通信连接512。通信连接512是通信介质的一个示例。通信介质通常携带诸如载波或其他传输机制等已调制数据信号中的计算机程序指令、数据结构、程序模块或其他数据,并包括任何信息传递介质。术语“已调制数据信号”是指以在信号中对信息进行编码的方式来设置或改变其一个或多个特征、由此改变该信号的接收设备的配置或状态的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。
[0050]计算机器500可具有各种输入设备514,诸如显示器、键盘、鼠标、笔、相机、触摸输入设备等。还可包括输出设备516,诸如扬声器、打印机等。所有这些设备在本领域中是公知的并且不必在此详细讨论。
[0051]该种系统可以在包括诸如程序模块等由计算机器处理的计算机可执行指令和/或计算机解释的指令的软件的一般环境中实现。一般而言,程序模块包括在由处理单元处理时指令处理单元执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。该系统还能在其中任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。
[0052]在所附权利要求的主题中的术语“制品”、“过程”、“机器”和“物质组成”旨在将权利要求限制到被认为落入35U.S.C.§ 101中的这些术语的使用所定义的可被专利保护的主题的范围内。
[0053]上文中提到的此处描述的替换实施方式中的任一个或全部可以按形成附加混合实施方式所需的任何组合使用。应该理解,在所附权利要求中定义的主题没有必要限于上述的特定实现 。上述特定实现仅作为例子被揭示。
【权利要求】
1.一种计算机实现的过程,包括: 从机器人接收传感器数据进存储器; 使用所述传感器数据来追踪在所述机器人的环境中的一个或多个对象; 引导所述机器人运动以便维持所述机器人相对于所述被追踪的对象中的一个或多个的相对位置和定向;以及 使用所述传感器数据来控制所述机器人的运动以便避开障碍。
2.如权利要求1所述的计算机实现的过程,其特征在于,进一步包括: 向用户提供实况视频馈送并在所述实况视频馈送中指示被追踪的对象。
3.如权利要求2所述的计算机实现的过程,其特征在于,如果对对象的追踪跟丢对象,则所述过程还包括通过调整所述机器人的位置和定向尝试重新获取对被跟丢对象的追踪。
4.如权利要求1所述的计算机实现的过程,其特征在于,被追踪的对象是人,并且所述过程还包括在第二环境中提供第二机器人,以及: 从第二机器人接收传感器数据进存储器; 使用所述传感器数据来追踪在所述第二机器人的第二环境中的人; 引导所述第二机器人运动以便维持所述机器人相对于在所述第二环境中的被追踪人的相对位置和定向;以及 使用所述传感器数据来控制所述机器人的运动以便避开障碍。
5.—种制品,包括: 计算机存储介质; 存储在所述计算机存储介质上的计算机程序指令,当所述计算机程序指令被处理设备处理时,指令所述处理设备执行包括以下的过程: 从机器人接收传感器数据进存储器; 使用所述传感器数据来追踪在所述机器人的环境中的对象; 引导所述机器人运动以便维持所述机器人相对于被追踪对象中的一个或多个的相对位置和定向; 使用所述传感器数据来控制所述机器人的运动以便避开障碍。
6.一种计算机器,包括: 对象识别模块,所述对象识别模块具有从机器人的环境接收传感器数据的输入,以及指示在所述环境中识别出的对象的输出; 追踪及跟随模块,所述追踪及跟随模块具有指示要被追踪的被选择的对象的输入,以及指示供所述机器人跟随所述被选择的对象的位置和定向的输出;以及 导航模块,所述导航模块具有接收所述位置和定向的输入,以及引导所述机器人沿着避开障碍的路径运动到期望位置和定向的、对机器人的运动控制系统的输出。
7.如权利要求6所述的计算机器,其特征在于,所述追踪及跟随模块包括对象追踪模块,所述对象追踪模块具有接收有关识别出的对象的信息的输入,以及指示所述被选择的对象是否在预定边界内的输出。
8.如权利要求7所述的计算机器,其特征在于,所述追踪及跟随模块包括位置计算模块,所述位置计算模块具有用于接收指示所述被选择的对象是否在预定边界内的输出的输入,以及为所述机器人提供使所述对象在所述边界内的位置和定向的输出。
9.如权利要求8所述的计算机器,其特征在于,所述追踪及跟随模块包括对象重新获取模块,所述对象重新获取模块具有接收有关所述识别出的对象的信息的输入,以及提供所述期望位置和定向以运动所述机器人来尝试重新获取所述被选择的对象的输出。
10.如权利要求9所述的计算机器,其特征在于,还包括用户界面,所述用户界面向用户提供有关识别出的对象的信息,并且所述用户界面具有允许用户选择所述识别出的对象中的一个的机 制。
【文档编号】G05D3/00GK103608741SQ201280028950
【公开日】2014年2月26日 申请日期:2012年6月10日 优先权日:2011年6月13日
【发明者】C·F·奥利维三世, J·S·弗伊莱德, A·弗隆, J·科尔, N·T·克林顿, R·桑切斯, F·伯安那克, M·M·沙拉比, H·N·基科日 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1