直接教导机器人的系统和方法与流程

文档序号:20166549发布日期:2020-03-24 21:35阅读:251来源:国知局
直接教导机器人的系统和方法与流程

相关应用的交叉引用

本申请要求2017年8月10日提交的、colasanto等人的题为“systemandmethodofdirectteachingarobot”的美国临时申请序列号62/543,652和2017年8月14日提交的、colasanto等人的题为“systemandmethodofdirectteachingarobot”的美国临时申请序列号62/545,020的优先权,所述申请的公开内容特此通过引用以其整体并入本文中。

本公开总体上涉及教导系统,并且更具体地涉及直接教导机器人的系统和方法。



背景技术:

除非本文中另有指示,否则本节中描述的材料不是对本申请中权利要求的现有技术,并且不通过包含在本节中而被承认为现有技术。



技术实现要素:

在下面阐述本文中公开的某些实施例的概述。应当理解,呈现这些方面仅仅是为了向读者提供这某些实施例的简要概述,并且这些方面不旨在限制本公开的范围。事实上,本公开可以涵盖下面可能没有阐述的各种方面。

本公开的实施例涉及用于教导机器人的系统和方法。一个这样的系统可以包括具有多个传感器的可穿戴设备,所述多个传感器用于感测表示被施加在目标上的用户身体的任何部分的至少一个移动、定向、位置、力和扭矩的信号。所述系统进一步包括被配置成接收感测信号的处理设备,处理设备进一步被配置成存储定义为教导命令的数据的感测信号;用于控制机器人的控制器,其接收教导命令的数据并根据接收到的教导命令的数据操作机器人;用以检测作为机器人工件的对象的位置和定向的对象传感器;以及视觉输入设备,其通信地耦合到处理设备和控制器中的至少一个,其中视觉输入设备被配置成向用户生成由机器人关于对象执行的任务的视觉视图,并且在机器人操作期间视觉上校正机器人并覆写由控制器接收的教导命令的数据。控制器被配置成接收对象的检测到的位置和定向,并根据教导命令的数据操作机器人来执行操作,所述教导命令包括使机器人更靠近对象地移位、移动、升高和降低中的至少一个。视觉输入设备使得能够在机器人操作期间可视化学习结果。处理设备使得能够在可穿戴设备、对象传感器、视觉输入设备和控制器中的任何之间进行数据传递。可穿戴设备是手套、腕戴设备、手表或戒指。视觉输入设备是隐形眼镜、眼镜、护目镜或头盔式显示器。被定义为教导命令的数据的感测信号存储在计算机可读介质和云数据库中的至少一个上。教导命令的数据选自由以下各项组成的组:末端执行器运动、抓握运动、抓握强度、向对象的接近运动、提升运动、保持运动、投掷运动和挥动运动。传感器的示例是运动感测、位置感测、磁感测、加速度计、陀螺仪、全球定位(gps)、惯性感测或力感测。

根据本公开的另一方面,一种用于教导机器人的系统包括:输入组装件,其具有多个传感器并且在机器人操作期间可视化学习结果,所述多个传感器用于感测表示被施加在目标上的用户身体的任何部分的至少一个移动、定向、位置、力和扭矩的模拟信号。所述系统进一步包括:被配置成接收感测信号的处理设备,处理设备进一步被配置成存储定义为教导命令的数据的感测信号;以及控制器,其接收教导命令的数据并根据接收到的教导命令的数据操作机器人,其中输入组装件被配置成在机器人操作期间视觉上校正机器人并覆写由控制器接收到的教导命令的数据。对象传感器被配置成检测作为机器人工件的对象对于所述系统的位置和定向。控制器接收对象的检测到的位置和定向,并根据教导命令的数据操作机器人来执行操作,所述教导命令包括使机器人更靠近对象地移位、移动、升高和降低中的至少一个。处理设备使得能够在输入组装件、对象传感器和控制器中的任何之间进行数据传递。输入组装件包括:具有多个传感器的可穿戴设备,所述多个传感器用于感测表示被施加在目标上的用户身体的部分的至少一个移动、定向、位置、力和扭矩的模拟信号;以及视觉输入设备,其被配置成使得能够在机器人操作期间可视化学习结果并视觉上校正机器人。可穿戴设备是手套、腕戴设备、手表或戒指。视觉输入设备是隐形眼镜、眼镜、护目镜或头戴式显示器。

根据本公开的又一方面,一种教导机器人的方法包括:由输入设备感测模拟信号,所述模拟信号表示被施加在目标上的用户身体的任何部分的至少一个移动、定向、位置、力和扭矩;由处理器接收感测信号;将定义为教导命令的数据的感测信号存储在非暂时性计算机可读存储介质上;以及由控制器控制机器人。控制器接收教导命令的数据并根据接收到的教导命令的数据操作机器人,而输入设备在机器人操作期间视觉上校正机器人并覆写由控制器接收的教导命令的数据。所述方法进一步包括检测作为机器人工件的对象的位置和定向,其中由控制器接收对象的检测到的位置和定向,并根据教导命令的数据操作机器人来执行操作。所述方法进一步包括在机器人操作期间使得能够通过输入设备可视化学习结果。

根据本公开的另外的又一方面,一种教导机器人的系统包括一个或多个处理器、存储器和一个或多个程序,其中所述一个或多个程序被存储在存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个程序包括:用于利用可穿戴设备检测表示用户身体的任何部分的至少一个移动、定向、位置、力和扭矩的信号的指令,用于处理检测到的信号的指令,用于存储定义为教导命令的数据的经处理信号的指令,用于根据教导命令的数据操作机器人的指令,以及用于在机器人操作期间视觉上校正机器人的指令。所述系统进一步包括用于在机器人操作期间可视化学习结果以及覆写由控制器接收的教导命令的数据的指令。

根据本公开的另一方面,一种其中存储有指令的计算机可读存储介质,所述指令当由用于教导机器人的设备执行时,使得所述设备:利用可穿戴设备检测表示用户身体的任何部分的至少一个移动、定向、位置、力和扭矩的信号,处理定义为教导命令的数据的检测到的信号,根据教导命令的数据操作机器人,以及在机器人操作期间视觉上校正机器人。所述计算机可读存储介质进一步包括指令,所述指令使得所述设备在机器人操作期间可视化学习结果,其中根据教导命令的数据操作机器人包括基于由对象传感器检测到的、作为机器人工件的对象的位置和定向,并且使机器人更靠近对象地移位、移动、上升或降低,以便根据教导命令的数据执行操作。

附图说明

当参考附图阅读以下对某些示例性实施例的详细描述时,本公开的这些和其他特征、方面和优点将变得更好理解,在附图中,同样的字符贯穿附图表示同样的技术,其中:

图1a是根据本公开的实施例的在操作者-机器人环境上实现的教导系统的透视图;

图1b是示出了图1a的教导系统的增强现实视图的示例;

图2a是根据本公开的另一实施例的在操作者-机器人环境上实现的教导系统的透视图;

图2b是示出了图2a的教导系统的增强现实视图的示例;以及

图3是根据本公开的实施例的机器人教导系统的示意性框图。

图4是根据本公开的另一实施例的机器人教导系统的示意性框图。

图5是图4的系统的数据流的框图。

图6是由图4的系统的对象传感器模块实现的过程的流程图。

图7是由图4的系统的可穿戴设备模块实现的过程的流程图。

图8是由图4的系统的训练模块实现的过程的流程图。

图9是由图4的系统的规划模块实现的过程的流程图。

具体实施方式

出于促进对本公开原理的理解的目的,现在将对在附图中图示的并且在以下撰写说明书中描述的实施例进行参考。理解到,不因此而旨在限制本公开的范围。进一步理解到,本公开包括对图示的实施例的任何变更和修改,并且包括如本公开所属领域的普通技术人员通常将想到的本公开原理的另外应用。

以最有助于理解所要求保护的主题的方式,各种操作可以依次被描述为多个分立的动作或操作。然而,描述的次序不应当被解释为暗示这些操作必然是次序相关的。特别地,这些操作可以不按呈现的次序执行。所描述的操作可以以与所描述的实施例相比不同的次序来被执行。在附加实施例中,可以执行各种附加操作和/或可以省略所描述的操作。

图1a图示了根据本公开的实施例的在操作者-机器人环境100上实现的教导系统的透视图。在环境100中,存在操作者或用户102和机器人104。由操作者102穿戴的可穿戴计算机或设备118被配置成跟踪或检测操作者102的身体或身体的一部分(诸如手臂、手、手指或手掌)的移动、定向、位置、力、扭矩或其组合。在一个示例中,可穿戴计算机或设备118包括多个元件,所述多个元件用于跟踪或检测表示操作者102的身体或身体的一部分(诸如手臂、手、手指或手掌)的至少一个移动、定向、位置、力或扭矩的模拟信号。在另一个示例中,可穿戴计算机或设备118包括多个元件,所述多个元件用于感测模拟信号,所述模拟信号表示操作者102的身体或身体的一部分(诸如手臂、手、手指或手掌)的至少一个移动、定向、位置、力或扭矩。可穿戴计算机或设备118可以是手套、腕戴设备、手表或戒指。可以提供由操作者102穿戴的基于视觉的计算机114,以在机器人104的操作之前、期间或之后可视化学习结果。基于视觉的计算机114可以是由操作者102穿戴的隐形眼镜、眼镜、护目镜或头盔式显示器。在一些实施例中,基于视觉的计算机114是基于视觉的增强现实(ar)计算机,其被配置成可视化学习结果、覆写由控制器接收的教导命令以及视觉上校正机器人的操作。操作者102使用他或她的其上具有可穿戴计算机或设备104的手指、手、手臂或手掌,以用于教导机器人如何处理在台面、桌子等的基座或表面114上的对象112。如所图示的,作为一个示例,操作者102拾起位于表面114上的一个或多个对象112,并将(一个或多个)对象112放置到器皿106、108(诸如盒子或容器)中。在另一个替代示例中,操作者102拾起在器皿106、108内部发现或包含的一个或多个对象112,并将(一个或多个)对象112放置在表面114上。可穿戴计算机或设备118的元件感测或跟踪操作者102的手臂、手、手指或手掌的移动、定向、位置、力或扭矩。表示任何移动、定向、位置、力或扭矩的感测或跟踪信号被处理并存储为教导命令的数据。直接或间接地耦合到可穿戴设备118的一个或多个处理器接收所感测或跟踪的信息或信号,以在所感测或跟踪的信息被传输或转发到非暂时性计算机可读存储介质或机器可读介质以供存储之前进行处理。在另一个实施例中,可穿戴设备118包括用于处理所感测或跟踪的信息的处理器。取决于某些应用,包括所感测/跟踪的信息的部分任务、单个任务或多个任务可以被传输或转发到一个或多个处理器进行处理。在一个实施例中,用于存储的非暂时性计算机可读存储介质或机器可读介质可以是云数据库、本地数据库、可穿戴设备118上的存储单元、瘦客户机上的数据库、存储单元,所述瘦客户机诸如能够存储被定义为教导命令的数据的经处理的信息的个人设备、移动设备、平板电话、平板设备、个人数字助理(pda)、膝上型计算机、便携式设备、腕戴设备、体戴设备或任何合适的设备。用于确定移动、定向、位置、力或扭矩的感测或跟踪元件的示例是运动感测、位置感测、磁感测、加速度计、陀螺仪、全球定位系统(gps)、惯性感测、压力感测或任何合适的感测和跟踪技术。从可穿戴设备118到处理器或非暂时性计算机可读存储介质中的至少一个的信息传送通过有线或无线链路来完成。

图1b图示了增强现实视图150的示例,增强现实视图150示出了通过组合了使用图1a的教导系统的实现的基于视觉的计算机114而生成的学习结果。操作者102穿戴基于视觉的增强现实(ar)计算机114,并看到现实世界,其包括身体或身体的一部分的移动、定向、位置、力或扭矩连同表示例如机器人104’和学习结果的计算机生成的图形。一旦可视化了学习结果,基于视觉的ar计算机114就可以验证学习结果的准确性。基于视觉的ar计算机114使得控制器对机器人104’不做任何事情,或者变更/校正/改变机器人104’的控制或操作。在该图示中,与由操作者102执行的教导序列一致的学习结果经由操作者102穿戴的基于视觉的ar计算机114来被验证。教导系统的细节可以在以下(一个或多个)图中进一步被描述。

图2a和2b分别图示了根据本公开的另一实施例的在操作者-机器人环境200上实现的教导系统的透视图和ar视图250的示例。与图1a不同,用于在操作者-机器人环境200上使用的机器人204正在根据先前被存储或记录在非暂时性计算机可读存储介质或机器可读介质中的教导序列或教导命令的数据来执行任务。在机器人204的操作期间,操作者202通过基于视觉的ar设备214观察学习结果。如果学习结果与所记录的教导序列或教导命令的数据一致,则不需要改变。然而,如果学习结果需要一些升级或修改,则由机器人204执行的所记录的教导序列的至少一部分被修改或变更。例如,所记录的教导序列包括拾取、上升、从左到右以及降落移动,其现在被修改为在从左到右与降落移动之间包括第二拾取和上升移动。基于视觉的ar设备214生成所记录的任务或教导序列的学习结果的视觉视图,通过覆写由控制器接收的所记录的教导序列或任务来视觉上校正机器人,如图2b中所图示。取决于应用,可以全部或部分地替换、修改、更新或变更先前被记录的教导序列或教导命令的数据的整体或大部分。

图3是根据本公开的示例性实施例的机器人教导系统300的示意性框图。系统300包括一个或多个处理器370,一个或多个处理器370将可穿戴设备318通信地耦合到用于控制机器人304的控制器390。在系统300中提供了非暂时性计算机可读存储介质372,诸如用于存储一个或多个程序的存储器。可替代地,非暂时性计算机可读存储介质可以远程地定位在系统300之外的其他地方。例如,非暂时性计算机可读存储介质372可以定位在云网络或任何合适的远程无线网络上。由一个或多个处理器370执行的所存储程序包括但不限于:用于利用可穿戴设备318检测表示用户身体的任何部分的至少一个移动、定向、位置、力和扭矩的信号的指令、用于处理检测到的信号的指令、用于存储定义为教导命令的数据的经处理的信号的指令、用于根据教导命令的数据操作机器人304的指令以及用于在机器人304的操作期间视觉上校正机器人304的指令。由一个或多个处理器执行的所存储程序进一步包括:用于在机器人304的操作期间可视化学习结果以及覆写由控制器390接收的教导命令的数据的指令。用于跟踪、感测和检测用户身体的任何部分的移动、定向、位置、力和扭矩的一个或多个感测元件392可以并入可穿戴设备318中。在一些示例中,可穿戴设备318可以包括数据手套394,以确定人体或手势。

a.传感器数据:传感器数据是从对象传感器和可穿戴设备接收的数据。它包括但不限于被施加到对象的至少一个用户身体部分的移动、定向、位置、力和扭矩。传感器数据还包括从对象传感器接收的数据,例如对象的位置、定向、类型或类别。

b.教导算法——它是处理设备的主要过程。它应用数学变换和算法将传感器数据信息归纳成教导命令。

c.教导命令——教导命令是教导算法的计算的结果。它们利用以对象为中心的表示来描述演示的任务,其包括但不限于提升运动、保持运动、放置运动、抓握强度、对象相互作用力、对象姿势以及操作者执行的运动。这些教导命令独立于用于感测的硬件,并且独立于控制器和机器人。教导命令存储在存储器中。

d:控制器378——控制器是具有有限处理能力的机器人特定硬件。它接收教导命令,并根据来自对象传感器的当前信号对它们进行适配。控制器直接操作机器人。允许用户使用输入视觉设备来覆写教导命令。

e:机器人运动学和动力学380——从工作流程中删除。

f:机器人任务信息382——从工作流程中删除。

已经作为举例示出了以上描述的实施例,并且应当理解,这些实施例可以容许各种修改和替代形式。应当进一步理解,权利要求不旨在限于所公开的特定形式,而是覆盖落入本公开的精神和范围内的所有修改、等同物和替代物。

本公开范围内的实施例还可以包括用于在其上承载或存储有计算机可执行指令或数据结构的非暂时性计算机可读存储介质或机器可读介质。这样的非暂时性计算机可读存储介质或机器可读介质可以是通用或专用计算机可以访问的任何可用介质。作为举例而非限制,这样的非暂时性计算机可读存储介质或机器可读介质可以包括ram、rom、eeprom、cd-rom或其他光盘存储装置、磁盘存储装置或其他磁存储设备,或者可以用于以计算机可执行指令或数据结构的形式承载或存储所期望的程序代码构件的任何其他介质。上述的组合也应当被包括在非暂时性计算机可读存储介质或机器可读介质的范围内。

也可以在分布式计算环境中实践实施例,在分布式计算环境中,由通过通信网络(通过硬连线链接、无线链接或通过其组合)而链接的本地和远程处理设备来执行任务。

计算机可执行指令包括例如使得通用计算机、专用计算机或专用处理设备执行特定功能或功能组的指令和数据。计算机可执行指令还包括由独立或网络环境中的计算机执行的程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件和数据结构等。计算机可执行指令、相关联的数据结构以及程序模块表示用于执行本文中公开的方法的步骤的程序代码构件的示例。这样的可执行指令的特定序列或相关联的数据结构表示用于实现这样的步骤中描述的功能的对应动作的示例。

图4是根据本公开的机器人教导系统400的另一示例性实施例的示意性框图。系统400包括可穿戴设备402、对象传感器404、机器人406、机器人控制器408、用户输入设备410、存储器412和处理设备414。

可穿戴设备402是由用户穿戴的设备,诸如手套、腕戴设备、戒指、贴片等,其被配置成跟踪或检测用户的身体或身体的一部分(诸如手臂、手、手指或手掌)的移动、定向、位置、力、扭矩或其组合。可穿戴设备402包括一个或多个感测元件,所述一个或多个感测元件用于感测或跟踪用户的手臂、手、手指或手掌的移动、定向、位置、力或扭矩。用于确定移动、定向、位置、力或扭矩的感测或跟踪元件的示例是运动感测、位置感测、磁感测、加速度计、陀螺仪、全球定位系统(gps)、惯性感测、压力感测或任何合适的感测和跟踪技术。

所述系统包括至少一个对象传感器404,至少一个对象传感器404用于感测学习环境或工作空间的物理特性,并向处理设备提供传感器输出。所述系统使用传感器输出来标识和区分学习环境中的对象。任何合适类型和数量的传感器可以用于向所述系统提供输入,所述传感器包括光学传感器、接近传感器、加速度计、压力传感器、温度传感器等。

机器人406是被设计成在很少至没有来自人类操作者的干预的情况下执行一种或多种类型的任务的机电设备。一些机器人包括多个刚性部件,所述多个刚性部件通过形成肢体的电动化关节而连接,所述肢体可以以受控的铰接方式移动。机器人还可以被装备有使得能够例如使用轮、踏板、腿、翼、螺旋桨等从一个地方自主移动到另一个地方的机构。机器人肢体可以配备有各种不同类型的机构和/或工具,以用于执行不同类型的任务。机器人还可以配备有一个或多个传感器,以用于出于控制目的而感测机器人定位在其中的环境的一个或多个物理属性。

机器人控制器408是具有处理能力的电气设备,其被配置成从处理设备414接收高级命令(例如教导命令)以执行特定任务,并将命令转化成用于机器人406的致动器的低级命令序列,所述低级命令序列使得机器人执行特定任务。机器人控制器408可以接收例如来自对象传感器404和/或机器人406传感器的传感器输入,以促进用于机器人的控制和命令生成。控制器408直接操作机器人。

系统400包括至少一个输入设备410,其使得用户能够与所述系统交互。在一个实施例中,输入设备410是视觉输入设备(例如智能眼镜),其用于在机器人406的操作之前、期间或之后可视化学习结果。视觉输入设备410可以是由用户穿戴的隐形眼镜、智能眼镜、智能护目镜或头盔式显示器。在一些实施例中,视觉输入设备410可以包括基于视觉的增强现实(ar)系统,所述系统被配置成可视化学习结果,覆写由控制器接收的教导命令,以及视觉上校正机器人的操作。

存储器412是用于存储由处理设备414执行的程序指令以及由处理设备414用来实现所述系统的各种功能的处理数据的非暂时性计算机可读存储介质。由处理设备414执行的所存储程序包括但不限于:用于利用可穿戴设备402检测表示用户身体的任何部分的至少一个移动、定向、位置、力和扭矩的信号的指令,用于处理检测到的信号的指令,用于存储定义为教导命令的数据的经处理的信号的指令,用于根据教导命令的数据操作机器人406的指令,以及用于在机器人操作期间视觉上校正机器人406的指令。由处理设备执行的所存储程序进一步包括用于在机器人406的操作期间可视化学习结果以及覆写由控制器408接收的教导命令的数据的指令。系统存储器412可以是任何合适类型的存储器,并且可以在单个设备中被实现或者跨多个设备分布,仅举几例,所述存储器包括固态存储器、磁存储器或光学存储器。

处理设备414是系统400的主要组件,并负责系统的多个关键方面,所述多个关键方面包括:接收和处理(来自对象传感器和可穿戴设备的)传感器数据、通过直接演示而从操作者学习任务、规划学习任务的执行、向机器人控制器传送教导命令、接收操作者反馈以及经由视觉输入设备与用户交互。处理设备414包括至少一个处理器,诸如中央处理单元(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)设备或微控制器,所述至少一个处理器被配置成执行被存储在存储器412中的编程指令。

为了实现所述系统的功能性,处理设备414由四个子模块组成。每个子模块具有由处理设备、外部设备或存储器单元的另一个子模块接收/发送的特定输入/输出。这些子模块包括对象传感器模块416、可穿戴设备模块418、训练模块420和规划器模块422。如本文中所使用的,术语“模块”和“子模块”是指能够执行与该元件相关联的功能性的任何已知的或以后开发的硬件、软件、固件、人工智能、模糊逻辑或这些的组合。模块或子模块封装相关的功能,并提供用于接收输入、传输输出和访问模块功能的清楚定义的接口。

图5描绘了通过存储器单元在处理设备414的不同子模块与机器人控制器408之间的信息流。这些存储器单元可以在系统存储器中实现和/或可以在处理设备的内部或外部。任何合适的数据结构或存储器存储结构可以用于存储用于子模块的数据。如图5中所描绘的,可以以数据库(例如,查询唯一的“键”,检索与键相关联的信息)或堆栈(条目的协调列表(ordinatedlist))的形式来组织存储在存储器单元中的数据。

参考图5,对象传感器模块416负责区分和标识学习环境中的对象。为此,对象传感器模块416接收对应于来自对象传感器404的传感器输出的传感器数据,并处理传感器数据以标识工作空间中的对象。与对象传感器模块416有关的数据被存储在输入db424中。在一个实施例中,对象传感器模块416向每个标识的对象分配唯一标识符(例如,对象_id,图6)。对象传感器模块416然后访问知识db426以确定对象的类型或分类。对象标识符和类型信息然后连同其他有关数据(诸如来自传感器的位置和定向数据)被存储在输入db424中。对象传感器模块416被配置成使用传感器输出来跟踪所标识的对象,并利用当前信息更新输入db424。

对象传感器模块处理来自连接到所述系统的对象传感器的数据。它负责标识对象,并且跟踪它们在工作空间中的位置和定向。当在工作空间中引入新对象时,对象传感器模块通过向其分配唯一的对象_id和类型_id来标识它。因此,新条目在输入db中被创建,并利用这些id被实例化。对象_id是对象db的唯一键,并且用于存储和访问关于对象状态和属性的信息。类型_id被用作知识db的唯一键,来对对象库进行索引,所述对象库收集不同类型对象的特性(诸如几何和动态属性)。在算法的每次迭代处,通过使用对象传感器的传感器数据来计算处于工作空间中的对象的位置和定向。在对应的对象_id条目处将每个对象的姿势存储在输入db中。

图6是在对象传感器模块中实现的算法的实施例的流程图。所述过程在框600处开始。对象传感器数据被处理以确定传感器数据与新对象还是与先前被标识的对象相关(框602)。如果传感器数据指示在工作空间中检测到新对象,则将唯一标识符(对象_id)分配给新对象(框604)。对象传感器模块然后访问知识db426以对新对象进行分类(框606)。基于知识db426中的信息,对象传感器模块向新对象分配类型标识符(类型_id)(框608)。然后,新对象信息(例如,对象_id、类型_id和传感器数据)被存储在输入db424中(框610)。如果传感器数据与先前被标识的对象相关,则在输入db424中更新与该对象相关的传感器数据(框612)。

再次参考图5,可穿戴设备模块418被配置成以如下方式与(一个或多个)可穿戴设备402交互:所述方式类似于对象传感器模块416与(一个或多个)对象传感器404交互的方式。可穿戴设备模块418在输入db424中维护与(一个或多个)可穿戴设备相关的信息。可穿戴设备模块418向连接到所述系统的每个可穿戴设备分配唯一标识符(例如,可穿戴_设备_id,图7)。可穿戴设备模块418接收来自可穿戴设备402的输出,并处理数据以确定用户的身体部分的定向、位置、力、扭矩等。然后,该信息与对应的可穿戴设备标识符相关联地存储在输入db424中。可穿戴设备模块418监视(一个或多个)可穿戴设备402的输出,并相应地更新输入db424中的信息。

可穿戴设备模块418处理来自可穿戴设备的数据,以便跟踪用户的指尖的位置和定向以及用户施加到工作空间中的对象上的力和扭矩。当新的可穿戴设备连接到所述系统时,模块向其分配唯一的可穿戴_设备_id。因此,新条目在输入db中被创建,并利用该id被实例化。在算法的迭代期间,模块收集来自在工作空间中进行动作的可穿戴设备的传感器数据,对它们进行处理,并在对应的可穿戴_设备_id条目处将它们存储到输入db中。

图7是在可穿戴设备模块418中实现的过程的实施例的流程图。所述过程在框700处开始。可穿戴设备数据被处理以确定所述数据与新的可穿戴设备、与先前被标识的设备相关(框702)。如果设备数据指示检测到新设备,则将唯一标识符(可穿戴_设备_id)分配给新设备(框704)。新设备信息(例如,可穿戴_设备_id和设备输出)然后被存储在输入db424中(框706)。如果设备数据与先前被标识的设备相关,则在输入db424中更新与该设备相关的设备数据(框708)。

返回图5,训练模块420被配置成从用户学习要由机器人406实现的任务。训练模块420具有对输入db424中的数据的访问,所述数据包括对象传感器输出和可穿戴设备输出。训练模块420还具有对包含教导命令模板列表的知识db426的访问。训练模块420被配置成通过参考来自输入db424的对象传感器数据和可穿戴设备数据选择适当的教导命令模板来生成教导命令的序列,以实现用户的演示任务。该教导命令的序列被保存在教导命令堆栈428中作为实例化的教导命令的协调列表。

图8是用于实现训练模块420的功能性的过程的实施例的流程图。该模块负责通过直接演示而从操作者学习任务。为此目的,使用以对象为中心的表示来描述任务。所述过程在框800处开始。训练模块420查询输入db424以接收工作空间中的对象_id和可穿戴_设备_id以及与对象和设备相关的感测数据(框802)。一旦接收到该信息,训练模块就知道工作空间的当前状态,所述当前状态包括对象的位置、定向和类型,用户的指尖的位置和定向,以及由用户的手施加到对象的对应的力和扭矩。

然后,训练模块标识工作空间中的任何活动对象(对象_id)(框804)。当用户对对象执行动作时,该对象被认为是“活动的”。用户动作的示例包括接近对象、抓握对象、提升对象、移动对象等等。训练模块访问知识db426,并选择与每个活动对象相关的教导命令模板,并将所选择的教导命令分配给对应的活动对象(框806)。训练模块选择最佳描述用户当前正在对活动对象执行的动作的教导命令模板。

参考被存储在输入_db424中的传感器信息,训练模块420为每个活动对象实例化所选择的模板(框808)。这结果得到教导命令的协调列表。实例化的教导命令模板(或简单的教导命令)描述对对象的特定动作,诸如对象从特定的初始位置移动到特定的最终位置,或者对象以特定配置且利用特定力被抓握。最后,教导模块将实例化的教导命令添加到教导命令堆栈430(框810)。

参考图5,规划器模块422具有对输入db424、知识db426、教导命令堆栈428和机器人命令堆栈430的访问。规划器模块422被配置成使用包含在知识db426中的信息将存储在教导命令堆栈428中的实例化的教导命令的序列转化成机器人命令的序列。机器人命令然后根据当前注册在输入db424中的对象而被实例化。最后,结果得到的实例化的机器人命令列表被存储在机器人命令堆栈430中。

图9是用于实现规划模块的功能性的过程的实施例的流程图。规划模块使用控制器将用以对象为中心的表示描述的学习任务转化成对机器人可执行的机器人命令的序列。所述过程在框900处开始。根据当前处于工作空间中的对象来规划机器人任务。为此,规划模块通过如下操作开始:选择工作空间中与要被实现的任务有关或兼容的对象(框902)。通过查询输入db424,规划模块能够取得定位在工作空间中的对象的位置、定向和类型。

规划模块422将对象分配给存储在堆栈中的教导命令(框904)。规划模块然后将教导命令转化成机器人命令(框906)。对于每个教导命令模板,知识db包含如下指令:所述指令关于如何将对应的教导命令(用以对象为中心的表示来表述的单个动作)转换为机器人命令集。机器人命令是可以由控制器执行的参数化低级控制命令。因此,对于教导命令堆栈428的每个教导命令,规划模块使用相关联的对象的位置和定向来实例化对应的机器人命令集。实例化的机器人命令然后被添加到机器人命令堆栈430(框908)。为了执行任务,机器人控制器访问机器人命令堆栈,并依次执行机器人命令,以执行由用户先前演示的任务。

虽然已经在附图和前述描述中详细地图示和描述了本公开,但是其在性质上应当被认为是说明性的,而不是限制性的。理解到,已经呈现了仅优选实施例,并且期望保护落入本公开的精神内的所有改变、修改和另外的应用。

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