掌桥专利:专业的专利平台
掌桥专利
首页

基于运动引导和自然语言命令的机器人系统

文献发布时间:2024-04-18 19:58:30


基于运动引导和自然语言命令的机器人系统

技术领域

本文中描述的实施例总体上涉及机器人系统,更具体地,涉及将自然语言命令中的一个或多个动作分类为需要附加引导的动作或已学习的子例程或设计子例程。根据分类,机器人系统可以要么自动地指示机器人系统执行各种动作,要么接收并且存储由用户施加于机器人的一个或多个部分的一个或多个动作。注意到施加的一个或多个动作可以被与被分类为需要附加引导的动作的自然语言命令相关地存储。

背景技术

常规的机器人可以响应于从操作者接收到口头指令来执行一个或多个动作。然而,由于操作者可能说出的口头指令的不同置换和组合和在这些口头指令中可能存在的歧义程度,机器人可能不能正确地执行这些任务。另外,口头指令可以描述高度复杂的、需要来自操作者的任务特定的引导的任务。

因此,存在对于使得机器人能够准确地、高效地执行任务或任务序列的机器人系统的需要。

发明内容

在一个实施例中,提供一种用于训练机器人的方法。所述方法包括:接收用于在真实世界环境内执行动作的自然语言命令,计算装置对所述自然语言命令进行解析,将所述动作分类为与用于执行所述动作的引导相关联,接收用于执行所述动作的引导,所述引导包括用于执行所述动作的在真实世界环境内施加于机器人的至少一个部分的运动,以及将所述自然语言命令与施加于机器人的所述至少一个部分的运动相关地存储。

在另一个实施例中,提供一种机器人系统。所述机器人系统包括机器人,所述机器人包括相机、麦克风、存储器和控制器。所述控制器被配置为:接收用于在真实世界环境内执行动作的自然语言命令,对所述自然语言命令进行解析,将所述动作分类为与用于执行所述动作的引导相关联,接收用于执行所述动作的引导,所述引导包括用于执行所述动作的在真实世界环境内施加于机器人的至少一个部分的运动,以及将所述自然语言命令与施加于机器人的所述至少一个部分的运动相关地存储在存储器中。

鉴于结合附图的以下详述描述,通过本文中描述的实施例提供的这些特征和附加特征将被更充分地理解。

附图说明

附图中说明的实施例本质上是说明性的和示例性的,并不意图限制权利要求限定的主题。说明性实施例的以下详述描述在结合以下附图阅读时可以被理解,在附图中,相似的结构用相似的标号指示,并且在附图中:

图1A描绘如本公开中描述的机器人系统的示例实现;

图1B描绘根据本文中描述和例示说明的一个或多个实施例的、本公开的机器人的示例操作的流程图;

图2A描绘根据本文中描述和例示说明的一个或多个实施例的、机器人执行与设计子例程相关联的动作;

图2B描绘根据本文中描述和例示说明的一个或多个实施例的、机器人执行与设计子例程相对应的另一个动作;

图3A描绘根据本文中描述和例示说明的一个或多个实施例的、作为结果机器人进入训练模式的操作者和机器人之间的交互;

图3B描绘根据本文中描述和例示说明的一个或多个实施例的、操作者通过将一组运动施加于机器人来向机器人提供引导,以促进清洁房间的拐角中的桌子的任务的完成;

图4A描绘根据本文中描述和例示说明的一个或多个实施例的、操作者输出用于根据序列执行多个动作的示例自然语言命令;

图4B描绘根据本文中描述和例示说明的一个或多个实施例的、机器人执行图4A的示例自然语言命令中包括的动作序列中的动作中的第一动作;

图4C描绘根据本文中描述和例示说明的一个或多个实施例的、机器人执行如图4A中例示说明的示例自然语言命令中包括的动作序列中的动作中的第二动作;以及

图5描绘根据本文中描述和例示说明的一个或多个实施例的、被配置为执行本公开中描述的特征和功能性中的一个或多个的控制器的非限制性例子。

具体实施方式

如上所述,虽然常规的机器人和机器人系统可以能够响应于来自操作者的口头命令执行一些任务,但是执行这些任务的有效性受各种因素限制。特别是,口头命令中的歧义性、某些任务的复杂性可能阻止这些机器人准确地执行各种任务。

本公开的机器人系统解决并且克服这些缺陷。具体地说,本公开的机器人系统包括使得机器人系统能够执行涉及高复杂度的任务(也就是,通过分析自然语言命令并且将这些命令中包括的一个或多个动作与从操作者接收的外部引导相关)的多个组件和特征。外部引导可以为施加于机器人的一个或多个部分的特定运动的形式。在操作中,本公开的机器人系统可以从操作者接收自然语言命令,对自然语言命令中包括的词语进行解析,并且将命令中提及的一个或多个动作或任务分类为与引导相关联。在将动作中的一个或多个分类为相关联的引导后,机器人系统可以输出请求附加引导的语音命令,响应于该命令,操作者可以将一个或多个动作直接施加于机器人的至少一部分。例如,响应于请求用于完成特定任务的附加引导的语音命令,例如,“清洁房间的拐角中的桌子”,操作者可以沿着房间中的路径将机器人运送到位于房间的拐角中的桌子(例如,使机器人绕过障碍物),并且移动机器人的一个或多个部分以执行各种动作(例如,使机器人102的手臂在桌子的表面区域上方移动以清洁桌子)。

在实施例中,这些引导运动可以与自然语言命令中指定的动作或任务相关地被存储在机器人的存储器中。在实施例中,如果操作者在未来的日子说出与“清洁房间的拐角中的桌子”基本上类似的或相同的自然语言命令,则机器人可以访问与清洁房间的拐角中的桌子的任务相关地存储的引导运动,并且在没有任何附加引导的情况下执行任务。这样,机器人可以能够高效地且准确地执行高复杂度的任务。注意到机器人还可以被预先编程为在没有来自操作者的先验引导的情况下执行某些任务。例如,基本任务(比如拿起机器人附近的物体、执行擦拭操作、放置操作、抓握操作等)可以是机器人能够执行的预先编程的任务。不同地,比如在房间内导航、在房间中扫地等的任务可以是与附加引导相关联的或者需要附加引导的任务或动作。

图1A描绘如本公开中描述的机器人系统的示例实现。在实施例中,图1A的机器人系统100包括机器人102,机器人102在机器人的手臂上具有端部执行器103,端部执行器103可以被配置为远离和朝向彼此移动以便抓握、移动、旋转和以其他方式操纵各种外部物体。在另一个实施例中,机器人102可以使用控制器104(例如,计算装置)和致动器来操作或控制。控制器104可以向致动器提供指令,基于这些指令,致动器可以操作来除了机器人102的其他部分之外、还移动手臂和机器人端部执行器103,以便在真实世界环境(例如,用户的住宅、用户的办公室等)内执行各种任务。在实施例中,机器人102还可以包括相机(即,如在下面详细地描述的并且在图5中例示说明的相机514)和麦克风(即,如图5中例示说明的麦克风516)。致动器可以是发动机,诸如,例如,Dynamixel XM540-W270-R发动机。

在实施例中,注意到机器人102的手臂上的端部执行器103可以为包括设置在其上的可变形传感器的可变形夹具的形式。可变形传感器可以被定位在可变形夹具中的每个内,并且可以为能够有高空间分辨率的相机或类似的传感器。被定位在可变形夹具中的每个内的可变形传感器可以为向机器人提供细腻的触感(例如,与和人的手指相关联的触摸类似)的密集拉伸感测传感器。可变形传感器还可以具有用于测量朝向和远离传感器的移动的深度分辨率。

在实施例中,如图1A中例示说明的,用户(诸如,例如,操作者、工程师、技术员、消费者等)可以说出可以被机器人102的麦克风捕捉的自然语言命令。例如,用户可以说出诸如“清洁这个房间中的桌子”、“拿起地上的花瓶”等的自然语言命令。自然语言命令可以被机器人102的麦克风接收,并且作为响应,在实施例中,机器人102可以自动地且在没有用户干预的情况下,执行自然语言命令中指定的动作。在其他实施例中,在接收到自然语言命令后,机器人102可以输出请求来自用户的澄清的语音命令,例如,“任务未理解”、“请澄清,我需要帮助”等。

在实施例中,在输出对于澄清的请求后,机器人102可以进入训练模式,在该模式下,机器人102可以存储(例如,由操作者)施加于机器人102或机器人102的一个或多个部分的任何运动。例如,对于特定于诸如“清洁桌子”的任务的澄清的请求在被机器人102输出后,用户可以直接操纵或引导机器人102的一个或多个部分执行某些运动。例如,用户可以将机器人102从房间的门附近的地点物理地引导或移动到房间的桌子108所在的拐角。导航可以包括沿着路径110、围绕餐桌106物理地引导机器人102。机器人102的物理引导或移动可以通过用户将指令无线地(或者通过有线连接)发送给控制器104而发生,控制器104然后可以控制机器人102从房间中的一个地点到另一个地点的移动。可替代地,用户可以物理地接触机器人102,并将机器人从房间中的一个地点移动到另一个地点。另外,用户还可以物理地引导或移动机器人102的手臂上的端部执行器103来执行清洁运动,清洁运动可以包括端部执行器103在桌子108上执行的擦拭运动。在实施例中,邻近传感器和接触传感器可以用于检测用户做出的接触以便引导端部执行器103执行这些动作,例如,清洁动作、擦拭运动等。

在实施例中,控制器104可以将用户施加于机器人102的运动(例如,将机器人从房间中的一个地点导航或引导到另一个地点,使用端部执行器103在桌子108上执行擦拭运动,等等)与用户所说出的自然语言命令相关地存储。换句话说,控制器104可以将用户施加于机器人102的运动与“清洁这个房间中的桌子”的自然语言命令相关地存储。因此,在未来,如果另一个自然语言命令被用户说出,例如,“清洁房间中的桌子”,则机器人102可以自动地且在没有用户干预的情况下,从房间内的一个地点导航到桌子108所在的另一个地点,并且清洁桌子108。在实施例中,控制器104还可以能够执行如用户所说的特定的自然语言命令(例如,“拿起地上的物体”和“清洁桌子”)中指定的任务序列。

图1B描绘根据本文中描述和例示说明的一个或多个实施例的机器人102的示例操作的流程图120。在实施例中,在方框122,如上所述,用于在真实世界环境内执行动作的自然命令可以被机器人102的麦克风接收。注意到多个麦克风可以被安装在机器人102上以便准确地捕捉用户所说出的自然语言命令。

在实施例中,在方框124,可以对自然语言命令进行解析。具体地说,控制器104可以使用一种或多种自然语言言语辨识技术来对自然语言命令进行分析,并且识别机器人102可能需要执行的一个或多个特定的动作或步骤。例如,控制器104可以通过划分“拿”、“起”、“物体”、“上”和“地”的词语中的每个来对陈述“拿起地上的物体”进行解析。控制器104然后可以通过对这些词语进行分析来识别可能需要被执行的特定的一个动作或一组动作。

在实施例中,在方框126,可以将自然语言命令中指定的动作分类为与用于执行该动作的引导相关联。例如,在实施例中,控制器104可以对接收的自然语言命令进行解析,对自然语言命令中包括的词语进行分析,并且确定自然语言命令中指定的动作可以与附加引导相关联。例如,在实施例中,控制器104可以将“清洁这个房间中的桌子”的自然语言命令分析为与附加引导相关联,因为机器人102可以被定位在房间内的特定区域中,并且可能不能从该位置导航到桌子的地点。另外,桌子可能需要的清洁方式可能不清楚。

例如,控制器104可能没有为执行清洁操作(例如,擦拭操作)而需要采取的动作的记录。照此,在这样的情形下,控制器104可以将动作分类为与附加引导相关联,并且将指示如此的语音消息(例如,“请澄清任务,我需要帮助”、或“任务不清楚”等)输出给用户。注意到,在这样的场景中,机器人102可以进入训练模式。可替代地,在实施例中,如果自然语言命令中的动作与存储在控制器104的存储器(即,如图5中例示说明的存储器502)中的特定步骤相关联,则机器人102可以自动地且在没有用户干预的情况下,执行这些步骤。

例如,如果机器人102的麦克风接收到自然语言命令,诸如,例如,“从你前面的地上拿起物体”,则机器人102可以将该任务分类为设计子例程(例如,预先编程的能力),并且自动地且在没有用户干预的情况下,开始执行一个或多个动作。在实施例中,机器人102可以将机器人102的主体的上部部分向下弯曲,将端部执行器103远离主体延伸某个距离,并且抓住位于机器人的特定邻域(例如,1米、2米等)内的一个或多个物体。在实施例中,在抓住地上的一个或多个物体之前,定位在机器人102上的相机可以捕捉位于机器人102的特定邻域内的地上的一个或多个物体的一个或多个图像,并且控制器104可以对这些图像进行分析,并操纵端部执行器103以便利一个或多个物体的抓握和拿起。

在方框128中,机器人102可以接收执行在方框126中被分类为与附加引导相关联的动作的引导。具体地说,引导可以包括施加于机器人102的至少一个部分的运动。如上所述,如果自然语言命令为“清洁这个房间中的桌子”(控制器104已经将其分类为与附加引导相关联),则控制器104可以从机器人102的扬声器输出自然语言命令中的任务或动作不能被机器人102执行并且该命令可能与附加引导相关联。作为响应,如上所述,用户可以将一个或多个运动直接施加于机器人102的一个或多个部分上,例如,沿着路径将机器人102物理地运送或移动到桌子,抓住机器人102的端部执行器,并且在桌子的外缘上移动该端部执行器103,从而执行清洁运动。在方框130中,控制器104将把自然语言命令与施加于机器人的至少一个部分的运动相关地存储。进一步注意到,除了相机之外,机器人102还可以包括邻近传感器和接触传感器的组合。邻近传感器和接触传感器可以用于检测用户做出的接触以便引导端部执行器103执行这些动作,例如,清洁动作、擦拭运动等。

图2A描绘根据本文中描述和例示说明的一个或多个实施例的、机器人102执行与设计子例程相关联的动作。具体地说,图2A描述示例操作,在该操作中,操作者202输出诸如“拿起桌子上的花瓶”的示例自然语言命令203。在实施例中,控制器104可以对示例自然语言命令203进行解析,并且将命令中包括的动作分类为与设计子例程—机器人102被预先编程要执行的一个或多个动作—相关或相关联。换句话说,控制器104在对自然语言命令203中的词语进行分析后,可以确定机器人102可以在没有来自操作者202的任何附加引导的情况下执行自然语言命令203中包括的动作。如图2A中例示说明的,响应于接收到“拿起桌子上的花瓶”的自然语言命令,机器人102可以启动相机,捕捉位于示例桌子206上的花瓶208的一个或多个图像,对图像进行分析以识别花瓶208在示例桌子206上的地点,并且使端部执行器103朝向花瓶208延伸并且抓住它。

图2B描绘根据本文中描述和例示说明的一个或多个实施例的、机器人102执行与设计子例程相对应的另一个动作。具体地说,图2B描绘操作者202说出自然语言命令214,诸如,例如,“擦桌子”。作为响应,机器人102的控制器104可以对自然语言命令进行解析,并且将命令中包括的动作分类为与机器人102被预先编程要执行的一个或多个动作(即,设计子例程)相关或相关联。例如,在实施例中,控制器104在接收到擦桌子的命令后,可以访问存储在机器人102的存储器(即,如图5中例示说明的存储器502)中的与用于擦桌子的特定动作相关的指令,并且执行这些指令。因此,机器人102可以自动地且在没有用户干预的情况下,在示例桌子216上执行擦拭动作。在实施例中,在执行擦拭动作之前,控制器104可以指示相机拍摄示例桌子216的多个图像,并且对这些图像进行分析以除了确定机器人102和示例桌子216之间的距离之外,还确定示例桌子216的尺寸等等。基于这样的数据,控制器104可以促进擦拭动作的执行。进一步注意到。

图3A描绘根据本文中描述和例示说明的一个或多个实施例的、作为结果机器人102进入训练模式的操作者202和机器人102之间的交互。具体地说,在图3A中,操作者202可以说出示例自然语言命令302,诸如,例如,“清洁房间的拐角中的桌子”,该命令可以被定位在机器人102上的麦克风接收。控制器104可以对命令中包括的主题(例如,单个的词语)进行解析,对这些词语进行分析,并且将这些词语中提及的动作分类到特定类别(例如,可以与附加引导相关联的动作、设计子例程或者已学习的子例程)中。在实施例中,如图3A中例示说明的,因为例如机器人102可能不知道房间的拐角中的桌子的地点,可能没有被训练以清洁其上存在物体的桌子、等等,所以控制器104可以确定清洁房间的拐角中的桌子的任务应被分类为与附加引导相关联的动作。照此,响应于示例自然语言命令302,控制器104可以输出示例语音命令304,该命令指示操作者202必须澄清他的指令,并且机器人102需要帮助来完成示例自然语言命令302中包括的任务。

图3B描绘根据本文中描述和例示说明的一个或多个实施例的、操作者202通过将一组运动施加于机器人102以促进清洁房间的拐角中的桌子的任务的完成来向机器人102提供引导。在实施例中,当控制器104输出指示需要澄清自然语言命令302的示例语音命令304时,操作者202可以通过将特定的运动施加于机器人102的一个或多个部分来提供引导。具体地说,操作者202可以沿着路径110(例如,绕过示例餐桌106)运送机器人102,并且将机器人102定位在离示例桌子108大约半英尺内。另外,操作者202可以引导端部执行器103以使得端部执行器103可以抓住物体301中的每个,并且将物体310移动到示例桌子108的特定侧(例如,桌子的右侧)。操作者202可以进一步引导端部执行器103以使得端部执行器103可以在示例桌子108的左侧执行擦拭动作。其后,端部执行器103可以被引导将物体310移动到桌子的左侧,其后,附加的擦拭动作可以在示例桌子108的右侧被执行。

在这些任务期间,定位在机器人102上的相机可以被启动,并且操作者202提供的引导的实时流可以被捕捉。这些图像和机器人102的一个或多个组件的物理移动可以被存储在机器人102的存储器中。进一步注意到示例自然语言命令302可以与施加于机器人102的一个或多个部分的运动或动作相关地存储在机器人的存储器中。另外,在未来,如果操作者202说出示例自然语言命令302(即,“清洁房间的拐角中的桌子”),则机器人102可以自动地且在没有用户干预的情况下,开始沿着路径110行进,在示例桌子108前面停下,并且清洁房间的拐角中的桌子108,例如,通过如上所述将位于桌子上的物体移动到其一侧、清洁桌子的另一侧、将物体移动到桌子的另一侧等等来清洁。

图4A描绘根据本文中描述和例示说明的一个或多个实施例的、操作者202输出用于根据序列执行多个动作的示例自然语言命令。如图4A中例示说明的,操作者202可以说出示例自然语言命令402,并且指定将被执行的多个动作,诸如,例如,“清洁房间的拐角中的桌子”和“清洁厨房柜台”。如以上详细地描述的,这样的命令可以被机器人102的麦克风接收,并且被控制器104分析。具体地说,控制器104可以对示例自然语言命令402的词语进行解析,将示例自然语言命令402中包括的多个动作中的每个分类为例如设计子例程、已学习的子例程、或者与引导相关联或需要引导的动作。在实施例中,清洁房间的拐角中的桌子和清洁厨房柜台的动作可以被分类为已学习的子例程。换句话说,自然语言命令可能一开始已经被说出,并且被机器人102的一个或多个扬声器接收,并且特定的动作序列可能已经被操作者施加于机器人102的一个或多个部分。施加的动作的特定序列可以与自然语言命令相关联地存储,以使得在未来的实例中,操作者可以说出自然语言命令,并且机器人102可以自动地开始执行先前被施加的并且目前被与自然语言命令相关地存储的特定的动作序列。进一步注意到如上所述,如果“清洁房间的拐角中的桌子”或“清洁厨房柜台”的自然语言命令中的任一个是需要附加引导的动作,则机器人102可以输出对于附加引导的请求。作为响应,操作者或用户可以将一个或多个动作直接施加于机器人102的一个或多个部分上,例如,物理地移动机器人102的手臂。其后,施加的运动和自然语言命令可以被彼此相关地存储在机器人102的存储器中。

返回到例子,基于操作者202先前将各种特定的运动施加于机器人102的至少一部分,这继而可以被与操作者202说出的自然语言命令相关地存储。在分类之后,控制器104可以访问存储在机器人102的存储器中的已学习的子例程,存储器中可以存储“清洁房间的拐角中的桌子并且清洁厨房柜台”的示例自然语言命令,并且自动地且在没有用户干预的情况下发起这些运动的执行。在实施例中,然而,在接收到示例自然语言命令402后,机器人102可以输出语音命令403,诸如,例如,“这些任务将被完成”。注意到存储在机器人102的存储器中的已学习的子例程的复杂性可能不同。

图4B描绘根据本文中描述和例示说明的一个或多个实施例的、机器人102执行如图4A中例示说明的示例自然语言命令402中包括的动作序列中的动作中的第一动作。具体地说,如图4B中例示说明的,机器人102可以基于控制器104访问机器人的存储器并且执行存储的与已学习的子例程相对应的指令来执行清洁房间的拐角中的桌子的动作。基于以已学习的子例程的形式存储的、先前施加于机器人102的至少一部分的一个或多个运动,机器人102可以自动地且在没有用户干预的情况下,沿着路径110从房间中的特定地点行进到房间的桌子108所在的拐角。

另外,在实施例中,在到达房间的拐角中的桌子108后,机器人102可以启动定位在机器人102上的相机,并且捕捉位于桌子108上的外部物体404的一个或多个图像。机器人102然后可以启动端部执行器103的操作,以使得端部执行器103位于的手臂可以朝向外部物体404延伸,抓住这些外部物体中的每个,并且将这些物体移动到桌子的特定侧,例如,桌子108的右侧。其后,端部执行器103可以在桌子108的左侧执行一个或多个擦拭操作。端部执行器103然后可以将外部物体404从桌子108的右侧移动到桌子108的左侧,并且在桌子108的右侧执行一个或多个擦拭操作。这样,机器人102可以自动地且在没有用户干预的情况下,执行清洁房间的拐角中的桌子108的动作。

图4C描绘根据本文中描述和例示说明的一个或多个实施例的、机器人102执行如图4A中例示说明的示例自然语言命令402中包括的动作序列中的动作中的第二动作。具体地说,机器人102的控制器104可以访问与操作者202先前施加的一个或多个运动相对应的已学习的子例程以用于引导机器人102执行清洁厨房柜台的动作。具体地说,在访问存储在机器人102的存储器中的已学习的子例程之后,控制器104可以执行指令,这些指令将导致机器人102在完成清洁桌子108的动作后行进到厨房柜台406并且执行一个或多个擦拭操作。这样,机器人102可以自动地且在没有用户干预的情况下,执行清洁厨房柜台406的动作。

图5描绘根据本文中描述和例示说明的一个或多个实施例的、被配置为执行本公开中描述的特征和功能性中的一个或多个的控制器104(计算装置)的非限制性例子。如例示说明的,控制器104包括处理器506、输入/输出硬件508、网络接口硬件510、数据存储组件512、存储器502、麦克风516和相机514。存储器502可以被配置为易失性和/或非易失性存储器,照此,可以包括随机存取存储器(包括SRAM、DRAM和/或其他类型的RAM)、闪存、安全数字(SD)存储器、寄存器、紧凑盘(CD)、数字多功能盘(DVD)(不管是本地的,还是基于云的)、和/或其他类型的非暂时性计算机可读介质。根据特定的实施例,这些非暂时性计算机可读介质可以驻存在计算装置和/或在控制器104外部的装置内。

存储器502可以存储操作指令503,其中每个都可以被实施为计算机程序、固件等。存储器602可以包括RAM、ROM、闪存、硬盘驱动器、或能够存储操作指令503以使得操作指令503可以被处理器506访问的任何装置。操作指令503可以包括用任一代(例如,1GL、2GL、3GL、4GL或5GL)的任何编程语言编写的(一个或多个)逻辑或算法,诸如,例如,可以被控制器104直接执行的机器语言、或可以被编译或汇编为机器可读的且可执行的指令并且被存储在存储器502上的汇编语言、面向对象的编程(OOP)、脚本语言、微代码等。可替代地,操作指令503可以用硬件描述语言(HDL)编写,诸如要么经由现场可编程门阵列(FPGA)配置或专用集成电路(ASIC)、要么经由它们的等同物实现的逻辑。因此,本文中描述的方法可以用任何常规的计算机编程语言实现为预先编程的硬件元件,或者实现为硬件组件和软件组件的组合。处理器506连同存储器602一起可以作为用于控制器104的控制器进行操作。

本地接口504也包括在图5中,并且可以被实现为促进控制器104的组件之间的通信的总线或其他通信接口。处理器506可以包括可操作为接收并且执行来自存储器502(诸如来自数据存储组件512和/或存储器502)的操作指令503的任何处理组件。因此,处理器506可以为集成电路、微芯片、计算机或任何其他计算装置。如上所述,输入/输出硬件508可以包括扬声器、麦克风和/或其他输入/输出组件,和/或可以被配置为与扬声器、麦克风和/或其他输入/输出组件通过接口配合。

操作指令503可以包括操作系统和/或用于管理控制器104的组件的其他软件。应理解虽然图5中的组件被例示为驻存在控制器104内,但是这仅仅是个例子。在一些实施例中,组件中的一个或多个可以驻存在控制器104的外部或其他装置内。应理解虽然控制器104被例示为单个装置,但是这也仅仅是个例子。作为例子,本文中描述的功能性和/或组件中的一个或多个可以由控制器104提供。根据特定的实施例,这些装置中的任何一个都可以具有与图5中描绘的那些组件类似的组件。为此,这些装置中的任何一个都可以包括用执行本文中描述的功能性的指令。

相机514可以是具有能够检测紫外波段、可见光波段或红外波段中的辐射的感测装置阵列。相机可以具有任何分辨率。在一些实施例中,一个或多个光学组件(诸如镜、鱼眼透镜或任何其他类型的透镜)可以光学地耦合到相机。相机514可以具有使得能够捕捉150度到180度弧形范围内的数字内容的广角特征。可替代地,相机514可以具有使得能够捕捉窄弧形范围(例如,60度到90度弧形范围)内的数字内容的窄角特征。在实施例中,相机514可以能够捕捉720像素分辨率、1080像素分辨率等的标准图像或高清图像。可替代地或另外,相机514可以具有在预定时间段内捕捉连续的实时视频流的功能性。

现在应理解本公开的实施例针对一种用于训练并且操作机器人的方法。所述方法包括:接收用于在真实世界环境内执行动作的自然语言命令,计算装置对所述自然语言命令进行解析,将所述动作分类为与用于执行所述动作的引导相关联,接收用于执行所述动作的引导,所述引导包括用于执行所述动作的在真实世界环境内施加于机器人的至少一个部分的运动,以及将所述自然语言命令与施加于机器人的所述至少一个部分的运动相关地存储。现在应理解本公开的实施例还针对一种包括机器人的机器人系统,所述机器人包括相机、麦克风、存储器和控制器。所述控制器被配置为:接收用于在真实世界环境内执行动作的自然语言命令,对所述自然语言命令进行解析,将所述动作分类为与用于执行所述动作的引导相关联,接收用于执行所述动作的引导,所述引导包括用于执行所述动作的在真实世界环境内施加于机器人的至少一个部分的运动,并且将所述自然语言命令与施加于机器人的所述至少一个部分的运动相关地存储在存储器中。

在第一方面,通过机器人的计算装置实现的方法包括:接收用于在真实世界环境内执行动作的自然语言命令,计算装置对所述自然语言命令进行解析,将所述动作分类为与用于执行所述动作的引导相关联,接收用于执行所述动作的引导,所述引导包括用于执行所述动作的在真实世界环境内施加于机器人的至少一个部分的运动,以及将所述自然语言命令与所述运动相关地存储在计算装置的存储器中。

在第二方面,第一方面的方法进一步包括:在将所述动作分类为与用于执行所述动作的引导相关联后,进入训练模式。

在第三方面,第一方面或第二方面的方法进一步包括:接收用于在真实世界环境内执行所述动作的附加自然语言命令,计算装置对所述附加自然语言命令进行解析,以及将所述附加自然语言命令中的动作分类为已学习的子例程。

在第四方面,第三方面的方法,其中所述已学习的子例程为导航操作或清洁操作中的至少一个。

在第五方面,第三方面的方法,进一步包括独立于所述引导,在真实世界环境内自动地执行所述动作。

在第六方面,第一方面至第五方面中的任何一个的方法,进一步包括:接收用于在真实世界环境内执行附加动作的附加自然语言命令,以及基于特定于机器人的预先编程的能力,将所述附加动作分类为设计的子例程。

在第七方面,第六方面的方法,其中所述设计的子例程为抓握操作、放置操作、擦拭操作或工具更换操作中的至少一个。

在第八方面,第七方面的方法,其中所述设计的子例程为抓握操作、放置操作、擦拭操作或工具更换操作中的至少一个。

在第九方面,第一方面至第九方面的方法,进一步包括:接收用于根据序列执行多个动作的附加自然语言命令,所述序列包括第一动作和第二动作,所述第一动作为设计的子例程任务,所述第二动作为已学习的子例程。

在第十方面,第九方面的方法,进一步包括根据所述序列自动地执行所述多个动作中的每个。

在第十一方面,第六方面的方法,其中设计的子例程包括以下中的一个或多个:识别真实世界环境内的物体的尺寸;以及在机器人的预定义范围内移动这些物体中的一个或多个。

在第十二方面,一种机器人系统包括机器人,所述机器人包括相机、麦克风、存储器、控制器,所述控制器被配置为:接收用于在真实世界环境内执行动作的自然语言命令,对所述自然语言命令进行解析,将所述动作分类为与用于执行所述动作的引导相关联,接收用于执行所述动作的引导,所述引导包括用于执行所述动作的在真实世界环境内施加于机器人的至少一个部分的运动,以及将所述自然语言命令与所述运动相关地存储在存储器中。

在第十三方面,第十二方面的机器人系统,其中所述控制器被进一步配置为:在将所述动作分类为与用于执行所述动作的引导相关联后,进入训练模式。

在第十四方面,第十二方面或第十三方面的机器人系统,其中所述控制器被进一步配置为:接收用于在真实世界环境内执行所述动作的附加自然语言命令,对所述附加自然语言命令进行解析;以及将所述附加自然语言命令中的动作分类为已学习的子例程。

在第十五方面,第十四方面的机器人系统,其中所述控制器被进一步配置为接收用于在真实世界环境内执行所述动作的附加自然语言命令,对所述附加自然语言命令进行解析,以及将所述附加自然语言命令中的动作分类为已学习的子例程。

在第十六方面,第十四方面的机器人系统,其中所述控制器被进一步配置为独立于所述引导,在真实世界环境内自动地执行所述动作。

在第十七方面,第十二方面的机器人系统,其中所述控制器被进一步配置为:接收用于在真实世界环境内执行附加动作的附加自然语言命令,以及基于特定于机器人的预先编程的能力将所述附加动作分类为设计的子例程。

在第十八方面,第十七方面的机器人系统,其中设计的子例程为抓握操作、放置操作、擦拭操作或工具更换操作中的至少一个。

在第十九方面,第十二方面至第十八方面中的任何一个的机器人系统,其中所述控制器被进一步配置为接收用于根据序列执行多个动作的附加自然语言命令,所述序列包括第一任务和第二任务,所述第一任务为设计的子例程,所述第二任务为已学习的子例程。

在第二十方面,第十九方面的机器人系统,其中所述控制器被进一步配置为根据所述序列自动地执行所述多个动作中的每个。

本文中使用的术语仅仅是出于描述特定方面的目的,而非意图是限制。如本文中所使用的,单数形式“一个”、“一种”和“该”意图包括复数形式(包括“至少一个”),除非内容另有明确指示。“或”意指“和/或”。如本文中所使用的,术语“和/或”包括相关联的列出的项中的一个或多个中的任何组合和所有组合。将进一步理解术语“包括”或“包含”在被用于本说明书中时,指定所陈述的特征、区域、整数、步骤、操作、元素和/或组件的存在,但是不排除一个或多个其他的特征、区域、整数、步骤、操作、元素、组件和/或其组的存在或添加。术语“或其组合”意指包括前述元素中的至少一个的组合。

注意到术语“基本上”和“大约”在本文中可以被用于表示可以归于任何定量比较、值、测量或其他表示的内在的不确定性程度。这些术语在本文中还被用于表示定量表示在不导致所讨论的主题的基本功能改变的情况下与所陈述的参考的变化程度。

虽然本文中已经例示说明和描述了特定的实施例,但是应理解在不脱离要求保护的主题的精神和范围的情况下,可以做出各种其他的改变和修改。而且,尽管本文中已经描述了要求保护的主题的各方面,但是这样的方面不需要组合利用。因此意图是所附权利要求涵盖在要求保护的主题的范围内的所有的这样的改变和修改。

相关技术
  • 校正机器人的运动控制命令的方法及其相关设备
  • 一种基于自然语言处理的商场引导方法、系统及机器人
  • 基于脚部运动的机器人运动引导方法、系统以及终端
技术分类

06120116504342