首页 / 专利库 / 解剖与生理 / 肩膀 / 用于机器人训练的用户接口

用于机器人训练的用户接口

阅读:179发布:2021-12-16

专利汇可以提供用于机器人训练的用户接口专利检索,专利查询,专利分析的服务。并且根据各个 实施例 ,在 机器人 内嵌入的用户 接口 经由直接和直觉的物理交互促成了机器人训练。在一些实施例中,用户接口包括 手腕 套箍,当由用户抓住该手腕套箍时,将机器人转换到不受 力 重力补偿模式。,下面是用于机器人训练的用户接口专利的具体信息内容。

1.一种机器人,包括:
能够移动的机器人附件;
在所述附件的末端处设置的、(i)围绕所述末端的部分并且包括压感应开关的套箍,以及(ii)围绕所述套箍在其上设置的压力传递层,该压力传递层用于将外部施加至所述套箍的压力传递给所述开关;以及
电路,该电路响应于在所述套箍被抓住时施加于所述开关的压力,用于使得所述机器人在不受力重力补偿模式下操作,从而所述附件响应于施加于所述套箍的力实质上没有阻力地移动。
2.根据权利要求1所述的机器人,其中:
所述机器人能够交替地在(a)训练模式或者(b)执行模式下操作,其中所述机器人在训练模式下学习和存储与任务相关的参数,所述机器人在执行模式下根据之前存储的参数来执行任务;以及
所述电路响应于在所述套箍被抓住时施加于所述开关的压力,还使得所述机器人在训练模式下操作。
3.根据权利要求1所述的机器人,其中,所述套箍还包括在该套箍的两个相对侧的每一侧上的多个能够按压的按钮。
4.根据权利要求3所述的机器人,其中,能够通过触摸来区别所述按钮。
5.根据权利要求4所述的机器人,所述按钮包括凸状按钮和凹状按钮。
6.根据权利要求4所述的机器人,其中,所述按钮包括圆形按钮和细长形按钮。
7.根据权利要求1所述的机器人,其中所述压力感应开关包括柔性电阻器。
8.根据权利要求1所述的机器人,其中所述压力感应开关包括微按钮开关。
9.根据权利要求1所述的机器人,其中所述压力传递层包括弹性橡胶或者由弹性橡胶组成。
10.一种能够与用户直接交互的机器人,包括:
机器人主体,其包括躯干和附接到该躯干的头部和至少一个附件;以及
集成到所述机器人主体内的用户接口,其包括:(i)用于向用户传达信息的视觉显示器;(ii)用于捕获所述机器人的环境的图像的至少一个摄像机;以及(iii)响应于触摸或者机械致动中的至少一个的至少一个机械输入装置;以及
处理器,用于处理由所述用户接口捕获的输入,并且基于该输入控制所述至少一个附件或者视觉显示器,其中所述用户接口能够在训练模式下操作,从而基于训练模式期间所述接口的用户操作和对所述附件的操纵,所述处理器识别和存储与机器人移动的序列的自主执行相关的参数,以用于重复执行。
11.根据权利要求10所述的机器人,其中,所述用户接口被配置为促成编程或者训练所述机器人中的至少一个。
12.根据权利要求10所述的机器人,其中,所述视觉显示器被配置为显示由所述至少一个摄像机捕获的图像、图形用户接口以及显示面部表情的计算机图形。
13.根据权利要求12所述的机器人,其中,所述视觉显示器被配置为交替显示图像、图形用户接口和面部表情。
14.根据权利要求10所述的机器人,其中,所述至少一个机械输入装置包括在所述躯干的两侧上以及在所述至少一个附件中的每一个上布置的相同的导航器。
15.根据权利要求14所述的机器人,其中,所述导航器被共同配置为使得经由多个导航器提供的一系列用户输入与经由单独一个导航器提供的该一系列用户输入导致相同的响应。
16.根据权利要求14所述的机器人,其中,每个导航器包括多个机械致动的元件。
17.根据权利要求10所述的机器人,其中,所述至少一个机械输入装置包括在所述机器人上的不同位置设置的多个机械输入装置,所述处理器被配置为响应于用户对机械输入装置的操纵以及基于被操纵的输入装置的位置,使所述机器人转向用户的估计位置。
18.根据权利要求17所述的机器人,其中,所述多个机械输入装置包括在所述机器人的肩膀上设置的触摸板
19.根据权利要求17所述的机器人,其中,所述多个机械输入装置包括在所述至少一个附件的末端处附接到所述至少一个附件的至少一个手腕套箍。
20.根据权利要求17所述的机器人,其中,使所述机器人转向用户包括使所述视觉显示器面向用户。
21.根据权利要求17所述的机器人,其中,使所述机器人转向用户包括将所述至少一个附件中的一个向用户移动。
22.根据权利要求10所述的机器人,还包括用于安装所述主体的基座,所述基座包括能够在向上的方向和向下的方向之间翻转的平部分,其中向上的方向为所述基座提供了第一高度,并且向下的方向为所述基座提供了第二高度,该第一高度与第二高度不同。
23.一种被配置为与用户交互的机器人,包括:
在所述机器人上的不同位置设置的多个用户输入装置;以及
处理器,用于响应于经由任何用户输入装置提供的输入并且基于该用户输入装置的位置,使所述机器人(i)估计用户的位置,并且(ii)将所述用户输入装置或机器人附件中的至少一个转向估计的位置,以便允许用户操纵所述机器人。
24.一种被配置为与用户交互的机器人,包括:
机器人主体,包括躯干和附接到该躯干的头部和至少一个附件;
在所述机器人上的不同位置设置的多个相同的导航器,用于接收来自用户的输入;以及
处理器,用于处理所述输入,并且基于所述输入控制所述至少一个附件的动作;
其中,所述导航器和处理器被共同配置为使得经由多个导航器提供的一系列用户输入与经由单独一个导航器提供的该一系列用户输入导致相同的动作。
25.一种机器人-用户交互方法,包括:
遵循在所述机器人上的不同位置设置的多个相同的导航器中的第一导航器的操纵,使得根据第一导航器的操纵执行动作;以及
遵循所述多个相同的导航器中的第二导航器的随后的操纵,使得所述机器人根据第二导航器的操纵继续执行所述动作。
26.一种机器人,包括:
至少一个用户能够引导的机器人附件,用于操纵对象,所述至少一个附件包括至少一个能够移动的关节;
处理器,被配置为基于三维自模型连续地跟踪所述至少一个附件以及所述机器人的其他部分的位置、方向和速度,以及
触觉模,用于生成在所述至少一个关节处的力,所述触觉模块被配置为在所述机器人的其他部分周围的指定空间区域内至少部分地抵抗所述至少一个附件的用户引导,以便预防在附件和所述机器人的其他部分之间的碰撞。
27.根据权利要求26所述的机器人,其中,所述力取决于在所述附件和所述机器人的其它部分之间的距离。
28.根据权利要求27所述的机器人,其中,所述力还取决于所述附件的运动方向或者速度中的至少一个。
29.根据权利要求28所述的机器人,其中,所述力随所述附件向所述机器人的其他部分移近而增加。
30.根据权利要求27所述的机器人,其中,所述力随距离线性变化。
31.根据权利要求26所述的机器人,其中,所述力随距离非线性变化。
32.一种机器人,包括:
至少一个用户能够引导的机器人附件,包括用于操纵对象的终端执行器;
触觉模块,用于生成在所述终端执行器处的力;以及
控制系统,用于监控实际或模拟环境中的至少一个环境条件的存在,该环境条件具有与其相关联的相应触觉签名,所述触觉签名包括指定了时间变量力模式的数据,以及与由用户在外部施加的力相比在量级上小至少一个数量级并且以较高的速率变化,以便向用户提供触觉线索而不干扰附件的运动,
其中,所述控制系统响应于检测到所述至少一个环境条件的其中一个,使得所述触觉模块根据与检测到的环境条件相关联的触觉签名来生成随时间变化的力。
33.根据权利要求32所述的机器人,还包括训练模块,该训练模块被配置为将所述至少一个触觉签名与至少一个相应的环境条件相关联。
34.根据权利要求32所述的机器人,其中,所述至少一个环境条件包括在指定位置出现所述机器人或者在机器人摄像机的视野中出现指定对象中的至少一个。
35.一种用于向引导机器人附件的用户提供触觉反馈的机器人实现的方法,所述方法包括:
基于三维自模型连续地跟踪所述附件以及机器人的其他部分的位置、方向和速度,以及
在附件进入所述机器人的其他部分周围的指定空间区域时,通过生成在所述附件处的阻力来至少部分地抵抗所述附件的用户引导,以便预防在所述附件和所述机器人的其它部分之间的碰撞。
36.根据权利要求35所述的方法,其中,阻力的大小取决于所述附件与所述机器人的其他部分的距离、所述附件的运动方向或者所述附件的运动速度中的至少一个。
37.一种用于向引导机器人终端执行器的用户提供触觉反馈的机器人实现的方法,所述方法包括:
响应于检测到实际或模拟环境条件,根据与检测到的环境条件相关联的触觉签名生成在终端执行器处的随时间变化的力,
其中,所述触觉签名包括指定了时间变量力模式的数据,以及与由用户在外部施加的力相比在量级上小至少一个数量级并且以较高的速率变化,以便向用户提供触觉线索而不干扰附件的运动。

说明书全文

用于机器人训练的用户接口

[0001] 相关申请的交叉引用
[0002] 本发明要求在2012年9月17日提交的申请号为13/621657、13/621706、13/621708、13/621658、13/621648、13/621687、13/621517、13/621519和13/621561的美国专利申请,还有在2012年6月12日提交的申请号为61/662646以及在2012年7月27日提交的申请号为61/
676586的美国临时专利申请的优先权和权益,该美国专利申请和美国临时专利申请通过引用被全部包含与此。

技术领域

[0003] 本发明总的涉及机器人用户交互和机器人训练。更具体地,各个实施例涉及促成直接物理交互的用户接口。

背景技术

[0004] 工业机器人执行各种各样的任务,该任务涉及在不具有人类干预或仅具有最少人类干预的情况下对物理对象的精确和重复的移动与操纵。例如,机器人用于喷涂汽车零部件、将部件焊接到一起,以及组装电子装置。机器人还可以用于根据特定的坐标在特定位置处拿起对象、将它们传送到目的位置,并且将它们放下,例如,将它们堆叠或者放置到存在于目的位置处的纸板盒内。典型的工业机器人包括具有被设计来用于特定的任务的终端执行器的一个或多个手臂,以及相关联的基于计算机的控制器
[0005] 通常用语言来编程用于现有的工业机器人的控制器,该语言为机器人手指定精确的位置和轨迹。在编程的任务的执行期间,机器人手臂将与其最末端的链节(link)相关联的参考坐标按精确指定的轨迹移动到精确指定的新位置。现有工业机器人成功的原因在于它们在受限环境中的操作,其允许编程机器人的人(通常参与构造机器人的工作空间的过程)以高可信度预测哪些对象将一直存在于工作空间中以及它们将位于哪里。因此,将机器人手臂上的参考点经由特定的轨迹移动到特定的坐标,并且接着操作终端执行器(例如打开或关闭机器人的夹持器),导致现实世界中的动作,该动作完成期望的机器人的特定任务。
[0006] 编程传统工业机器人通常需要高级的技术专长,并且要求用户从机器人可以理解的度思考。例如,程序员可使用六维向量来指定沿着机器人手臂最末端的链节的方向的三维空间中的参考点。对于具有六或者更少的自由度的机器人手臂,该向量唯一确定机器人的所有关节的设置。如果机器人手臂具有多于六的自由度,则需要进一步指定手臂的期望姿势,以消除任何歧义。
[0007] 用于工业机器人的当前编程系统具有用户输入层,该用户输入层允许程序员通过设置轨迹的端点来规避六维向量,其中,通过将手臂物理地移动到期望的姿势和位置并且接着使得机器人记录该位置来设置轨迹的端点。在一种方法中,这由远程、网络化计算机或者在示教阶段插入机器人控制器的外部示教附件(即手持式控制终端)来实现。示教附件通常包括LCD屏、操纵杆或类似的操纵装置、一个或多个按钮,且有时包括完整的键盘(其可以是在触摸屏上弹出的“软”键盘),它们一起允许用户来控制和移动机器人。另一种技术涉及将测传感器(可选地具有把手)装配到机器人手臂的最末端的链节,并且使用户将该手臂转换到一种模式,其中在该模式下机器人对由测力传感器检测到的力作出响应,这允许用户用手将机器人手臂引导到期望的位置。通常,这首先需要远程地将机器人从执行模式转换到训练模式,其中,在执行模式下机器人根据之前编程的任务进行移动,在训练模式下用户接近机器人是安全的。其次,需要将机器人转换到可引导模式,其中用户可以例如通过按下示教附件上的按钮,来将机器人手臂向四周自由地移动并且记录位置。
[0008] 在用这种方式对机器人教导位置或轨迹后,程序员接着向机器人提供明确的动作命令。例如,如果任务涉及拿起对象,则程序员可能需要指定机器人必须降低其夹持器的距离、对象的宽度或者在机器人手指之间用于拿起对象的必要的距离,和/或机器人需要施加于对象以便握住该对象的力。本步骤还需要程序员将甚至如拿起对象一样简单的任务分解为离散的步骤,并且为每个步骤提供精确的参数值。
[0009] 一旦已为特定任务恰当地编程了机器人,该机器人可以重复和有效地执行该任务,而不是任何其他任务。将该机器人用于不同任务可能实质上需要重新编程它,这是耗时并且因此代价很高的过程。
[0010] 类似地,对编程的任务的任何调整(例如拿起或目的位置的变化)是难以实现的,因为它们可能需要重写之前输入的参数和/或重复训练过程的步骤。因此,传统的工业机器人通常被设计和利用来在生产过程中执行高度专业化、价值增值的任务,其中由通过自动化的随后的成本节约来担保在机器人硬件软件中的大量投资。尽管对人类来说经常是单调的,但具有一定程度的变化性(该变化性使得用传统机器人实现它们的自动化是成本低效的)的更通用任务通常留给了人类劳动者。
[0011] 因此,需要可以针对新任务容易且快速地训练的通用的机器人,优选地,不需要训练员的专业技术能力。

发明内容

[0012] 在各个实施例中,本发明提供能够经由不需要特殊技术专长的直觉的、与人类似的交互针对各种任务来训练的机器人。因此,可快速且经济实惠地将该机器人结合到生产过程中。在一些实施例中,在机器人中嵌入用户接口,并且该用户接口促成了机器人和用户之间的直接物理交互,这消除了对外部示教附件或者其他远程控制的需求。在其他交互中,机器人促成了机器人手臂或其他附件的用户引导(无需测力传感器),这允许用户直接抓住手臂,并且在一些实施例中,还在用户握着手臂的同时向她提供触觉反馈
[0013] 通常在力控制的模式下以及以对于用户接近机器人来说安全的方式(例如,甚至当机器人移动以执行任务时)操作机器人,以便将机器人转换到训练模式,其中力控制的模式允许机器人快速响应任何外部力。在一些实施例中,机器人包括在其每个手臂上的手腕套箍,当由用户操纵(例如抓住)该手腕套箍时,自动将机器人转换到训练模式以及不受力重力补偿模式,该不受力重力补偿模式允许用户手动地引导手臂。机器人保持在该可引导模式下除非用户放开套箍,并且不转换回执行模式,直到其接收到要这样做的明确命令。机器人可被编程和配置为使得一旦用户将手臂带入期望位置,她可以采用简单推动按钮来指导机器人执行特定的动作(例如,在对象周围关闭夹持器)。除了在训练期间充当输入装置,当由用户引导时,机器人手臂还可以向用户提供触觉反馈。例如,为避免自碰撞,当用户将手臂推向可能导致与另一个机器人部分的潜在有害接触的方向时,机器人可施加增加的阻力。当由用户握着时,手臂还可以响应于某些条件(例如,接近特定类型的对象)施加随时间变化的力模式(或“触觉签名”),从而向用户提供直觉的信息。
[0014] 作为其用户接口的部分,机器人可包括位于其主体上各个地方的触摸板,其允许机器人基于触摸检测和推断用户的位置,并且作为响应转向用户。另外,机器人可具有数个位置方便的相同的机械控制件集合(称作“导航器”),其允许用户在与机器人交互的期间改变她的位置而不导致中断。机器人还可以模仿某些人类行为,以提供关于其内部状态或者其想要执行的下一个动作的直觉上可理解的线索。例如,机器人屏幕可显示眼睛,其通过它们的注视指示机器人要移动的方向,或者通过困惑的表情来通知用户机器人需要进一步输入。
[0015] 由于它们易于使用,因此对于针对新任务训练和重新训练机器人,用户接口据此造成相当低的障碍,并且因此,可在许多情况(其中传统机器人可能成本昂贵)下经济地部署它们。使用根据各个实施例的机器人的好处包括:例如自动执行高重复性、单调且非人体工学(并且因此对于人类这样做通常不健康)的简单任务
[0016] 在一个方面,本发明涉及一种机器人,包括具有在其末端(即远离机器人的自由终端)处设置的套箍的能够移动的机器人附件。所述套箍包括压力感应开关(例如,包括柔性电阻器或微按钮开关),以及围绕所述套箍在其上设置的压力传递层(例如,包括弹性橡胶或者由弹性橡胶组成),用于将外部施加的压力传递给所述开关。在一些实施例中,所述套箍还包括在该套箍的两个相对侧的每一侧上的多个能够按压的按钮。可通过触摸来区别所述按钮,例如,一个按钮可以是凸状的且其他是凹状的,和/或一个按钮可以是圆形的且其他按钮是细长形的。所述机器人还包括在所述套箍被抓住时响应于施加于所述开关的压力的电路,其使得所述机器人在不受力重力补偿模式下操作,其中所述附件响应于施加于所述套箍的力实质上没有阻力地移动。在一些实施例中,所述机器人交替地在训练模式或者执行模式下操作,其中所述机器人在训练模式下学习和存储与任务相关的参数,所述机器人在执行模式下根据之前存储的参数来执行任务;所述电路在这种情况可响应于施加于所述开关的压力,还使得所述机器人在训练模式下操作。
[0017] 在另一个方面,本发明涉及一种能够与用户直接交互的机器人。所述机器人包括主体,其具有躯干和附接到该躯干的头部和至少一个附件。用户接口集成到所述机器人主体,其包括用于向用户传达信息的视觉显示器、用于捕获所述机器人的环境的图像的一个或多个摄像机;以及响应于触摸或者机械致动中的至少一个的一个或多个机械输入装置。所述机器人还具有处理器,用于处理由所述用户接口捕获的输入,并且基于该输入控制所述附件和/或视觉显示器。用户接口可被配置为促成编程和/或训练所述机器人(不需要所述机器人外部的额外输入装置)。所述机器人还可以包括具有部分的基座,该部分可翻转并且根据该部分的哪一侧向上以及哪一侧向下,向所述基座的高度提供不同的量。
[0018] 在一些实施例中,所述视觉显示器被配置为在显示器的不同部分交替或同时显示由摄像机捕获的图像、图形用户接口和/或显示面部表情的计算机图形。经由面部表情,所述机器人可向用户提供直觉的信息,例如,机器人可以通过其眼睛注视的方向发出其要移动到哪的信号。在一些实施例中,机械输入装置包括例如在所述躯干的两侧上以及在每个附件上布置的多个相同的导航器(即机械致动的元件或者其他用户控制件的集合)。所述导航器可被共同配置为使得经由多个导航器提供的一系列用户输入与经由单独一个导航器提供的该一系列用户输入导致相同的响应。在一些实施例中,在所述机器人上的不同位置设置机械输入装置,并且所述处理器被配置为响应于用户对一个机械输入装置的操纵以及基于被操纵的输入装置的位置,使所述机器人转向用户的估计位置(例如,通过将视觉显示器转至面向用户和/或将一个附件向用户移动)。例如,机器人可包括在肩膀上设置的触摸板,和/或在所述附件的末端处附接到所述附件的手腕套箍。
[0019] 在另一个方面,本发明提供一种被配置为与用户交互的机器人,其包括在所述机器人上的不同位置设置的多个用户输入装置;以及处理器,用于响应于经由任何用户输入装置提供的输入并且基于该用户输入装置的位置,使所述机器人转向用户的估计位置。
[0020] 在又一个方面,本发明提供一种机器人(也被配置为与用户交互),包括机器人主体,其具有躯干和附接到该躯干的头部和一个或多个附件;用于接收来自用户的输入的多个相同的导航器;以及处理器,用于处理所述输入,并且基于所述输入控制所述附件的动作。在所述机器人上的不同位置设置导航器,且所述导航器和处理器被共同配置为使得经由多个导航器提供的一系列用户输入与经由单独一个导航器提供的该一系列用户输入导致相同的动作。
[0021] 在进一步的方面提供一种机器人-用户交互方法。所述方法包括遵循在所述机器人上的不同位置设置的多个相同的导航器中的第一导航器的操纵,使得根据第一导航器的操纵执行动作的步骤;以及遵循相同的导航器中的第二导航器的随后的操纵,使得所述机器人根据第二导航器的操纵继续执行所述动作的步骤。
[0022] 另一个方面涉及一种机器人,具有用于操纵对象的一个或多个用户可引导的机器人附件(每个附件包括一个或多个可移动的关节)以及用于生成在所述关节处的力的触觉模。可用硬件(包括通常用于将力施加于关节的硬件)和/或软件实现的所述触觉模块被配置为在所述机器人的其他部分周围的指定空间区域内至少部分地抵抗所述至少一个附件的用户引导,以便预防在附件和所述机器人的其他部分之间的碰撞。由所述触觉模块生成的力可(线性或非线性)取决于在所述附件和所述机器人的其它部分之间的距离,和/或取决于所述附件的运动方向或者速度。在某些实施例中,所述力随所述附件向所述机器人的其他部分移近而增加。
[0023] 在一个方面,本发明还提供一种用于向引导机器人附件的用户提供触觉反馈的机器人实现的方法。所述方法涉及:在附件进入所述机器人的其他部分周围的指定空间区域时,通过生成在所述附件处的阻力来至少部分地抵抗所述附件的用户引导,以便预防在所述附件和所述机器人的其它部分之间的碰撞。阻力的大小可取决于所述附件与所述机器人的其他部分的距离和/或所述附件的运动方向或速度。
[0024] 在进一步的实施例中,本发明的各个实施例提供了一种机器人,具有包括用于操纵对象的终端执行器的用户可引导的机器人附件、用于生成在所述终端执行器处的力的触觉模块;以及用于监控实际或模拟环境中的一个或多个环境条件(例如,在指定位置出现所述机器人或者在机器人摄像机的视野中出现指定对象)的存在的控制系统,该环境条件具有与其相关联的相应触觉签名。响应于检测到一个环境条件,控制系统使得所述触觉模块根据与检测到的环境条件相关联的触觉签名来生成随时间变化的力。机器人还可以包括训练模块,该训练模块被配置为将所述触觉签名与相应的环境条件相关联。
[0025] 在另一个方面,本发明涉及一种用于向引导机器人终端执行器的用户提供触觉反馈的机器人实现的方法,该方法涉及响应于检测到实际或模拟环境条件,根据与检测到的环境条件相关联的触觉签名生成在终端执行器处的随时间变化的力。附图说明
[0026] 根据本发明下面的具体实施方式,尤其在结合附图领会该具体实施方式时,前述内容将更容易理解,其中:
[0027] 图1是描述根据各个实施例的系统的框图
[0028] 图2A和2B是根据各个实施例的机器人的透视图;
[0029] 图3A-3D是根据各个实施例的机器人夹持器的透视图;
[0030] 图4A是根据各个实施例的机器人基座的分解图;
[0031] 图4B和4C是根据各个实施例的在两种配置下的图4A的机器人基座的透视图;
[0032] 图4D和4E是根据各个实施例的在两种配置下的图4A的机器人基座的可翻转部分的透明侧视图;
[0033] 图5是根据各个实施例的导航器的透视图;
[0034] 图6是根据各个实施例的手腕套箍(wrist cuff)的透视图;以及
[0035] 图7是描述根据各个实施例的机器人计算和控制功能的实现的框图。

具体实施方式

[0036] 根据本发明的机器人可通常在两种模式下操作:训练模式和任务执行模式,其中在训练模式下机器人经由感测和用户输入学会如何执行某些任务,且在任务执行模式期间该机器人(可选地,部分基于机器人经由传感器对其环境的感知)自主地执行任务,而无需直接的用户交互。本文中,广泛地使用术语“训练”,并且其意在包含在任务(其中正为该任务训练机器人)执行之前的专用训练会话,以及在更多用户信息和/或反馈补充之前接收的训练的情况下(例如,由于在训练会话期间没有预料到所遇到的情况)任务执行的中断。
[0037] 在各个实施例中,本发明提供机器人-用户接口,其经由机器人和用户之间的直接交互促成机器人训练。该接口的一些组件是专用的用户输入/输出装置,而其他组件具有独立于用户交互的功能,但在某些情况下辅助充当输入和/或输出装置。图1概念性地描述了根据各个实施例的机器人的主要功能系统组件,由粗的轮廓指示作为用户接口的部分的组件,即促成与用户的信息交换。
[0038] 机器人包括一个或多个附件100,其通常包括用于操纵和移动对象或者执行其他有用工作的终端执行器,例如平行的双指夹持器、吸盘夹持器或者多指灵巧手。附件100通常包括经由可移动关节连接的多个链节,该关节诸如是铰链或旋转关节。由一个或多个控制器102控制附件100的移动,该控制器102通常包括监控和改变机器人位置、运动学、动力学和力的较高级机器人控制器104,以及与高级控制器104通信并且接收来自高级控制器104的命令的一个或多个关节级控制器106,该一个或多个关节级控制器106驱动与关节相关联的独立的电机致动器,以便如所指示地移动附件100或者机器人的其他移动部分。附件100还可以具有一个或多个集成的力传感器108,该力传感器108测量外部(例如当用户引导机器人手臂时由该用户)施加于该附件的力。
[0039] 机器人通常还包括一个或多个摄像机110或者其他光传感器,用于在训练期间以及任务执行期间在视觉上感知其环境。另外,机器人可利用其他类型的传感器112来捕获关于其环境和/或其自身状态的信息,其中传感器112例如是压力传感器温度传感器、声纳传感器加速计、陀螺仪等。例如,机器人可使用声纳传感器的环来检测附近的对象或者人,并且使用加速计或陀螺仪来跟踪其主体和附件的位置和方向。
[0040] 除了这种通用的感测输入,机器人还可以从用户接收输入。出于该目的,机器人可包括用户可操纵机械控制件114(如按钮、拨号盘、滑块等)、触摸感应盘116,以及允许用户经由直接物理接触与机器人交互的类似的控制件。如果将机器人附件100配置为检测由用户施加的力和/或导致的位置变化,机器人附件100自身可充当这种机械输入装置。在某些实施方式中,用户还可以例如通过在摄像机的视野内打手势来提供视觉输入,因此,摄像机110可以是用户接口的部分。最后,机器人可包括诸如鼠标和键盘的传统用户输入装置,和/或像麦克的音频输入装置(未示出)。为促成从机器人到用户的反向信息流,机器人可具有一个或多个用于显示文本和/或图像的视觉输出装置(如显示器118),和/或音频输出装置(如扬声器)。此外,附件100可充当输出装置:在用户(例如握着终端执行器)移动附件100时,他可以体验触觉反馈,即由机器人内部生成的、用于自主地移动附件100或者抵抗用户的移动的力。
[0041] 计算设施114位于机器人的中心,其处理感测和用户输入,并且控制机器人的移动以及去往输出装置的信息和信号流。可将计算设施114嵌入机器人中,或者远程提供计算设施114且计算设施114经由有线或无线链接与机器人通信。如在下文中更详细解释的,计算设施114可基于其操作模式执行不同的程序模块。例如,任务执行模块120可包括用于由机器人基于感测输入自主执行任务的指令,而训练模块122可管理用户交互和机器人学习。任务执行和训练模块120、122可由一组共享的数据结构联系在一起并且通过其交互,其中在训练阶段创建和/或填充并且随后在任务执行阶段使用该组共享的数据结构。用这种方法,计算设施114和用户接口一起可以促成针对特定任务经由直觉的、以任务为中心的交互来训练机器人。然而,本文描述的各种用户接口组件也可以用于训练传统工业机器人(例如,通过沿期望轨迹引导机器人的附件,其中由机器人记录该期望轨迹供以后使用),并且不需要与本文描述的特定架构结合。
[0042] 图2A和2B示出了根据本文一个示例性实施例的机器人200。机器人200具有人形外观:其包括主体(或躯干)202、头部204,以及具有在其终端处附接的夹持器208的两个手臂206。每个手臂包括七个链节和在其末端的手腕209。链节经由七个关节彼此连接并且被连接到机器人主体202,该七个关节一起为手臂206的运动提供了七自由度。如图2A中的箭头所指示的,每个关节或者提供铰链,该铰链允许两个链节之间的角度变化(即允许链节绕通过关节的轴转动,该轴与该链节的轴垂直),或者促成更末端的链节绕其轴转动。机器人200通常在力控制模式下操作,而不是如许多传统工业机器人在位置控制模式下操作。在位置控制模式下,不管它们可能在它们的轨迹上遇到的任何外力,机器人手臂接收命令以(通常非常快速地)移动到指定的空间坐标,这使得当机器人在移动时进入机器人的工作空间通常是危险的。与之相比,在力控制模式下,致动器将指定的力施加于关节。尽管可计算导致将手臂移动到某些空间位置和/或沿某些轨迹移动的力,但是当机器人遇到意外的外力时,计划的运动通常将被中断。因此,力控制模式使得例如在出现由意外碰撞导致的力的情况下,在机器人上执行的碰撞检测行为能够停止运动。在示例的机器人200中,关节中的串联弹性致动器(SEA)用来施加如由关节级控制器106指示的力,并且测量在关节处的力,以便用于反馈控制、碰撞检测并且估计外部(例如由用户)施加于手臂206的手腕209的任何力。
例如,在1997年7月22日发布的美国专利No.5650704中详细描述了SEA,该美国专利的全部披露内容通过引用被包含于此。
[0043] 机器人的夹持器208可以是适用于特定应用中的机器人操作的任何终端执行器。在一些实施例中,它们是机械夹持器,例如,每个机械夹持器包括从手腕209延伸出来的、彼此平行的两个或更多个手指,并且与对方具有可变、机械可调节的距离。可选地,夹持器208可以是经由管子连接到机器人内的单元的吸爪,其将来自连接到该单元的外部源的压缩空气转换成吸力。其他类型的夹持器也在本发明的范围内。可从手臂206(或者手腕209)容易地拆卸该夹持器208,这允许用户轻易地将它们换为其他类型的夹持器或者不同尺寸的夹持器。例如在一些实施例中,如图3A-3D中描述的,可将通用的手指传送机构300或者简单的手附接到手腕,并且接着可将各种形状和大小的手指302在与不同的最大手指间隔相对应的多个位置中的一个位置处(见图3A)简单地拧入(图3B)手300的可滑动元件304,并且此后经由可滑动元件304来调节手指的距离d。手指302可装配有栓306、抓住元件308或者促成与对象310的结合并且拿起对象310的其他部件。栓306用于在夹持器接触到对象310时停止夹持器的下降运动,例如,使得手指在对象的特定部分对齐,或者防止手300的“手掌”与对象
310之间的接触(例如,以避免摩擦)。抓住元件308可存在不同的变体,并且提供适用于各种材料、重量等的对象310的不同的抓住表面。
[0044] 再次参考图2A和2B,机器人主体202安装在基座210上,根据其中使用机器人200的特定应用和环境的需要,该基座210可以是固定的、可滚动的或者可以其他方式移动的。可经由基座210的不同高度来调节机器人主体202的垂直位置。在一些实施例中,基座210包括可相对于对方垂直移动的两个部分,这允许在某个范围内连续地调节高度。在图4A-4E描述的其他更简单的实施例中,在组装时基座210具有固定的高度但包括部分400,可以平地翻转该部分400,并且可将其形状塑造成使得根据哪个表面向上以及哪个表面向下,向基座210增加不同的高度。可将该可翻转部分400制造成单个铸模件,并且在适用于机器人的两个不同工作级时,其较少地增加了机器人的成本。可在柱402上安装可翻转部分400。例如,如图所示,部分400可滑动到柱402上并且用螺钉固定在柱402上。图4B和4C示出了在与可翻转部分400的两个方向相对应的两个高度的基座210,并且图4D和4E提供了可翻转部分400的透明近距离视图。在高配置下(图4B和4D),可翻转部分400与柱402仅略微地重叠,这将其高度h的较大部分加入基座210的总高度。在低配置下(图4C和4D),可翻转部分400与柱402明显重叠,这样仅最低限度(如果有的话)地增加了基座210的总高度。
[0045] 可在机器人的主体202、头部204和手臂206中完全或者部分地嵌入机器人的用户接口。在某些实施例中,可经由在机器人内建立的控制件来完成机器人训练的所有方面,这消除了对外部训练附件或者远程控制的需求。用户接口和机器人的行为可以在很大程度上模拟人类行为,这允许用户无需高级技术专长就能够使他自己快速地熟悉机器人200、与机器人经由简单物理交互(例如通过引导机器人的手臂)进行交互,以及基于直觉的视觉、触觉或其他线索解释和/或预计其动作。此外,机器人200可包括具有菜单、文本输入字段等的更传统的用户接口,该用户接口以技术熟练的用户熟悉的语言提供关于机器人状态的信息,并且允许操纵机器人状态。
[0046] 在图2A和2B描述的实施例中,机器人具有集成在其头部204的屏幕212(例如LCD屏),该屏幕212可绕与该屏幕212平行的垂直轴旋转,并且绕与该屏幕212平行的水平轴点头。屏幕212有时显示脸,并且有时以不同的组合显示文本、菜单、图标、空间地图以及来自机器人摄像机的图像。机器人200可在任何时候基于其当前模式、内部状态、训练阶段和/或其环境中的特定触发条件,选择显示什么。在展示脸时,机器人可采用人类直观上理解的方式将信息传达给人类训练员。例如,响应于不完整的用户输入,机器人可显示困惑的神情以提示训练员提供说明,机器人还可以提供听觉线索。机器人还可以用它的眼睛跟随用户或者感兴趣的对象,从而发出其当前关注什么的信号。其他类型的屏幕显示也可以促成与用户以直觉的方式通信。例如,机器人可以向屏幕212发送用图形覆盖的直播视频,该图形描述了机器人如何解释其“看到”了什么。除了屏幕212,机器人还可包括其他视觉指示器,例如,在其头部204中屏幕212上方的状态灯214的环。状态灯214可闪烁、改变颜色等,以向用户报告机器人的状态。例如,状态灯可闪烁以指示机器人在等待进一步的输入,或者从黄色变为红色以在视觉上警告用户危险或错误状况。
[0047] 机器人200包括五个摄像机。摄像机216位于两个手腕209中的每一个手腕中,使得机器人200可以“看见”其将要拿起的对象,并且相应地调节其夹持器208。另外,机器人具有在其胸部的并排的两个摄像机218,以提供工作空间的广角视图,并且允许机器人200在视觉上检测将被操纵的设备或对象。最后,机器人200具有在其屏幕212上方的摄像头220,摄像头220方向朝外以检测环境中的人。在一些实施例中,除了在环境中连续地监控人和对象,摄像机还充当视觉用户输入装置。例如,用户可指示在工作空间中感兴趣的对象、示范机器人应该如何抓住该对象,或者做出机器人被编程来识别的某些手势(例如“停止”、“向左移动”等)。机器人200还可以包括在每个手腕中的距离传感器,以及在其头部的(例如与状态灯214结合的)声纳传感器的环,其用于检测环境中的移动对象;参见在2012年4月26日提交的同时待审的美国专利申请No.13/456915,并且该美国专利申请通过引用被包含与此。
[0048] 除了用于在视觉上和/或在听觉上检测对象的这些传感器,机器人200可包括在其手臂206和主体202上的多个触摸感应传感器和机械特征,其促成了与人(例如训练员)的机械交互。例如,如图2B所描述的,机器人200具有对称地位于该机器人的肩膀上的两个触摸板230。通过敲击触摸板230中的任何一个,即使当用户在机器人的后面出现,她也可以获得机器人的注意,并且还指示在训练该机器人时她想要站在哪一侧。机器人200可通过将其屏幕212转向用户并且呈现其在用户侧的一个手臂206来进行响应,以允许她容易地够到夹持器208。类似地,机器人手臂206和主体202上的其他物理用户交互元件可用于向机器人200报告用户的位置。例如,如果用户通过围绕机器人手腕209的触摸感应套箍来引导机器人的一个手臂,则机器人200假设该用户位于手腕209和夹持器208正指向的方向。通常,机器人使用跟踪交互元件的位置的三维自模型,基于最近被触摸的交互元件来估计训练员站在哪。(该三维自模型是本领域技术人员公知的。简要而言,机器人连续地跟踪其每个关节的旋转量,并且使用该信息以及关节的相对位置的运动学模型来计算每个机器人部分的三维位置和三维方向)。这种功能使得机器人能够确定其屏幕212的方向,以便当用户在该机器人的工作空间中移动时连续地面向她并且跟随她。这种能力是有用的,例如,在绕机器人移动以将机器人的手臂206引导到期望位置之后,当用户需要查看屏幕212时:代替后退到她之前的位置来查看屏幕212,用户可以简单地敲击附近的触摸板230,其使得机器人将其屏幕212转向她。
[0049] 为了在与机器人的交互期间进一步方便用户,并且允许用户甚至在交互中自由地改变她相对于机器人的位置,机器人200可具有在该机器人的不同位置的一种或多种交互元件的多个副本。例如,所描述的机器人200包括在其手臂上、胸部和背部的四个相同的机械控制件集合232(每个集合总的称作“导航器”),无论用户站在机器人的前面、后面或侧面,其中至少一个集合是可访问的。如图5所描述的,每个导航器232可例如包括中心旋钮500,以及在旋钮500上方和下方的两个按钮502、504。上部和下部的按钮502、504可具有不同的意义和用途,且这些意义和用途可以是多变的,并可由设计者或者在一些实施例中由用户重新分配。中心旋钮500可以是具有按下功能的连续数字旋钮。导航器232允许用户(例如,通过选择菜单项、在训练和执行模式之间转换)对于在屏幕212上显示的信息进行响应,并且经由数字旋钮500输入数字(例如,以指示将在盒中包装多少行和列的对象)或者文本(例如,密码或者对象和任务名称)。在一些实施例中,旋钮500和/或按钮502、504的功能是依赖于场景的,也就是说,它们根据训练阶段、机器人请求的输入等而变化。例如,一个按钮最初可用于将机器人转换到训练模式,并且随后用于以肯定的方式回答由机器人提出的(以及,例如在屏幕上显示的)问题,而其他按钮可用于以否定的方式来回答。导航器还可以包括灯元件506(例如,以弧线的形式在上部和下部按钮周围的蓝灯,以及围绕中心旋钮的白灯),该灯元件506在训练期间在某些条件下打开,并且可提供按钮和旋钮的当前功能的指示。当然,本文描述的特定导航器的实施例仅是一组机械控制元件的一个示例,一个或多个控制元件以及指示器特征的许多其他的组合和配置是可能的,并且在本发明的范围内。
[0050] 在任何给定的时间,所有导航器232具有相同的功能。因此,训练员可使用它们中的任何一个来进行机器人训练,并且可以在任何时候简单地通过使用另一个来转换到该另一个导航器。即使输入的片段属于单个事务,机器人200以与经由单独一个导航器232提供的相同输入的相同的响应方式来响应经由两个或更多个导航器232顺序提供的用户输入。这可能是有用的,例如,在针对对象的外观从前面训练机器人时,当用户意识到他挡住了光,并且因此围绕机器人走到其后面,以便使用机器人侧的一个导航器来完成训练。举另一个例子,如果用户将机器人手臂移动到他自己的手臂的范围外(在使用手臂上的导航器将机器人训练为举起对象之后),则他可能不能再看到该导航器,因为其现在在机器人手臂的顶部,并且因此转换到主体侧的导航器。类似地。可采用相同的方式来配置绕手腕209的两个套箍(将在下文中进一步描述)并且其可以以相同的方式运行,这允许用户根据是否方便,在左和右机器人手臂206之间转换。因此,在向用户提供极大的灵活性来选择她相对于机器人200的位置的同时,多个相同的导航器232、手腕套箍或者其他用户交互元件促成了无缝交互。
[0051] 在训练机器人200时,用户经常将机器人的手臂206引导到期望的位置和/或调节夹持器208。例如,用户可向机器人展示如何用包括两个手指的机械夹持器来抓住对象,其中通过将夹持器定位到对象周围(对象的每侧具有一个手指),并且接着朝对方推动手指直到它们接触到对象,或者可选地,简单地按下按钮以使得夹持器关闭直到其遇到来自对象的阻力。为促成这种直接的机械交互以及用户对手臂206的引导,手臂206可具有手腕套箍,该手腕套箍被设计为由用户抓住,可选地,具有按钮或者其他机械控制件。
[0052] 在一个实施例中,如图6所示,手腕套箍600形成围绕手腕209的带状物,其在标记手臂206的终端的圆板602的下方。在套箍600的下方,在手腕209内建立摄像头216和测距仪606。套箍600被设计为从左边或右边被抓住,在任何情况下,在拇指在一侧并且食指和中指在另一侧。套箍600可在每一侧具有两个按钮608、610,其位于可由用户的中指方便地操作的位置。可将按钮608、610设计为可根据触摸来识别其区别,例如,一个按钮可具有凸起的细长形状,而另一个按钮可具有凹下的圆形形状。在所描述的实施例中,无论从哪一侧抓住套箍600,对于用右手抓,圆形按钮610更远;并且对于用左手抓,细长按钮608更远。当以自然的方式(即,如预期的那样)抓住套箍600时,用户的拇指和食指在这两个按钮608、610的上方。
[0053] 套箍600具有在用户抓住它时(与在机器人上执行的软件结合)进行检测的集成的触摸或压力传感器,例如,一个或多个柔性电阻器或者按下按钮开关。可用传递压力的弹性橡胶来覆盖套箍600,使得通过简单地抓住套箍来激活开关。传感器和控制程序可被配置来区分刻意的抓和与手腕的意外的物理接触。激活开关的触发条件可包括:例如,在手腕的两侧上施加压力(如当用拇指和食指抓住套箍600时)、压力超过指定的阈值,或者压力持续指定的时间。使用这些适当的条件,与抓住不同的接触(例如意外的短暂敲打)通常不会激活开关。
[0054] 在各个实施例中,当用户通过手腕套箍600抓住手臂206时,计算设施114使得机器人自动地转换到不受力重力补偿模式。(在力控制模式下操作机器人使得用户在任何时候(包括在运动中)抓住手臂206是可行的和安全的,因为甚至在激活套箍之前,手臂206可以对意外的力立即进行响应)。在不受力重力补偿模式下,机器人控制器104操作机器人手臂,以便在补偿重力的同时表现得像在每个关节处具有低摩擦轴承的一组链节,使得手臂不会下降到最低的可能配置(而是相反,表现得像在太空中)。为实现重力补偿,控制器104基于内部存储的、机器人质量分布的详细数字化表示模型,考虑机器人的即时运动学配置,并且将转矩应用于每个关节,以抵消该关节末端所有链节的重力。另外,机器人依赖于每个关节中的SEA,以便估计由用户施加于手腕600的力,也就是说,在SEA中的传感器测量关节处的力,并且接着机器人控制器104和/或计算设施114使用手臂的运动学模型以及每个链节中的质量分布的模型,来减去重力导致的力。每个链节上剩余的力是由用户施加于手腕600的力造成的。机器人控制器104试着使这些剩余力中的每个力为零,从而导致机器人遵循该用户施加的力,无论用户如何推动手臂206的终端,这提供了几乎为零的推回的力。换句话说,归因于机器人控制器104对一旦由训练员握住手腕套箍600所施加的力的响应能力,手臂206响应于甚至很小的力自由地移动,其中该力仅受到其惯性的阻碍。因此,用户可例如为了训练目的将手臂206从一个地点轻易地移动到另一个地点。
[0055] 在一些实施例中,抓住手腕套箍600导致机器人200不仅转换到不受力重力补偿模式,还转换到训练模式,其中机器人200等待并且响应于来自用户的输入。无论用户是否紧握套箍600,机器人200通常将保持在训练模式下,直到其接收到(例如通过按下按钮)返回执行模式的明确命令。可在训练过程中使用手腕套箍600上的两个按钮608、610,例如以便通过在不同的点(例如,多边形的顶点)处点击一个按钮来标出区域、确认对象的正确视觉选择,或者手动导致夹持器打开或关闭。
[0056] 在一些实施例中,在训练期间,机器人的手臂206同时充当用户输入和输出装置:在用户引导手臂206以向机器人200展示特定的轨迹或位置时,手臂206可向用户提供触觉反馈。例如,机器人200可被配置为检测其手臂与其主体的其他部分(例如其屏幕212)的即将发生的自碰撞,并且抵抗其手臂以可能导致这种碰撞的方式的移动。因此,如果用户(可能漫不经心地)引导机器人手臂206,以致可能出现碰撞,他将感觉到来自机器人的阻力,该阻力与他通常会感觉到的为零的力形成明显的对比,并且因此向他警告问题。一旦机器人的夹持器或者沿机器人手臂的另一个相关点在其他机器人部分的阈值距离(即,其他机器人部分周围的“保护区”)内,可触发由机器人施加的(以及经由相关关节,由机器人控制器
104发送到该相关关节的命令影响的)抵抗力,以避免自碰撞。机器人200可基于其三维自模型检测到机器人手臂206进入保护区,其中该三维自模型使用机器人对在关节处施加的力的知识连续地计算跟踪所有机器人部分的位置、方向和速度。可选地或者另外地,可向手臂
206装配允许直接测量距离的适当的传感器,例如安装到其手腕600内的距离传感器606。由机器人生成的抵抗力可随手臂与其他机器人部分的距离的减少而增加。另外,这可以取决于机器人附件移动的速度向量(即速度和方向)。例如,如果手臂向另一个机器人部分快速移动,则抵抗力可能较大,然而,如果手臂以较低的速度移动和/或朝着与其他机器人部分的表面大体平行的方向移动,则抵抗力可能较小。
[0057] 机器人200通常足够强大到能够阻止常人造成碰撞(不论是无意的或者是有意的)。例如,人不能使得机器人200用其手指戳其眼睛(即LCD屏幕212)。实际上,在一些实施例中,屏幕212由虚拟保护球包围,用户可通过在该屏幕212上滑动手指并且感觉抵抗力的开始地点来感觉其保护范围。同样地,如果用户试着将夹持器208移动到可能导致机器人的肘部与主体碰撞的工作空间中的地点,他可以感觉到集中于肘部的抵抗力。提供一个进一步的例子,在其中允许用户在不受力模式下同时引导两个手臂的实施例中,用户不会使它们彼此碰撞。由右手臂感觉的抵抗力取决于左手臂的位置并且反之亦然,因此,由力场有效地包围每个手臂,该力场在空间中随着手臂移动而移动。由控制器104响应于如上文描述的感测的条件发送给适当的关节级控制器器106的命令来实现该力场。
[0058] 触觉反馈还可以用于用不同的“特殊效果”或“触觉签名”来“注释”某些地点、对象或机器人动作,即独特的时间变量力模式,如一系列的点击,或者模拟在振动带(rumble strip)上或跨砂纸的移动的力。通常,触觉签名涉及机器人生成的力,与在引导手臂时由用户在外部施加的力相比,该机器人生成的力在量级上显著较小(例如小一个或多个数量级)并且以更高的速率变化;因此,触觉签名向用户提供触觉线索,而不干扰手臂的整体运动。
[0059] 例如,触觉签名可与空间中的某些位置相关联,并且在用户向周围引导手臂206时向她提供直觉信息。例如,为帮助用户将机器人的夹持器置于传送带上方的中心,机器人可通过给予用户跨砂纸移动的感觉来发出正确位置的信号(在机器人夹持器和传送带之间不存在任何物理接触)。触觉信号还可以用于提醒用户在某些位置处训练的动作的类型。例如,当在放下位置上移动手臂时,其可以给予用户特定粗糙度的砂纸感觉,并且当在拿起位置上移动该手臂时,其可以稍微上下摇晃。可选地,当拿起位置与延伸的区域(而不是点)相对应时,同样可用砂纸感觉来注释该区域,但其与放下区域相比具有不同的粗糙度。提供另一个例子,当在传送带上引导手臂时,该手臂可在与传送机对齐的二维向量的方向上保持不受力,但可能需要少量的力将其相对于传送机推到一旁并且离开该区域。触觉签名还可以促成训练。例如,当用户将机器人手臂返回到先前的位置时,只要手臂在该位置的附近,其就可以“对齐”到该位置(类似地,如文件图标对齐到计算机桌面上的文件夹),即机器人可应用少量的力将手臂移动到该位置,然而如果用户想要移动到不同的地点仍然允许她抵抗该力。
[0060] 通常,无论其是位置本身、在该位置存在的设备的特定部分或者特定类型的对象、在该位置处发生的运动或其他动作,还是该位置的可测量参数(例如,高度、压力等),与特定位置相关联的且可由机器人检测的任何环境条件可用于在机器人的手臂或夹持器到达该位置时启动特定的触觉签名,从而向用户提供与她对手臂的引导直接相关的信息。此外,触觉签名可指示与手臂的位置不相关的环境条件或者机器人的状态。例如,当机器人在其视野中检测到某个对象时,该机器人可经由触觉签名向用户发送信号。当用户专注于引导机器人的手臂206时,该反馈可以是对通信的其他通道(例如LCD屏幕212)的有益补充。
[0061] 此外,触觉签名可用于模拟环境,并且因此允许用户甚至在缺少训练相关的对象、设备等的情况下训练机器人。例如,要训练机器人在虚拟传送带上放下(真实的)对象,用户可通过该任务的运动来引导机器人而不需要在训练期间具有传送带,取而代之的是依赖于指示对象会在何时位于传送带的上方(例如,通过给予用户砂纸感觉)或者对象何时会接触传送带(例如,通过施加轻微的触觉推回)的触觉签名。换句话说,机器人维护不同环境(这里是传送带)的内部规范表示,包括通常在这些环境中找到的物品的空间位置,以及该物品的物理特征。由计算设施114将这些物理特征中的至少一些(例如,表面纹理)转换成触觉签名,并且由在所选的虚拟环境中操作机器人的用户进行体验。在一些实施例中,可由用户经由用户接口(从默认值)改变环境的特征。
[0062] 为了向用户提供触觉反馈,机器人可利用结合了软件触觉模块的硬件组件,其中该硬件组件与在有用工作的执行期间用来操作机器人手臂206的硬件组件相同,例如,在关节处的力生成电机或致动器,以及驱动它们的关节级控制器106和机器人控制器104;该软件触觉模块(基于接收的数据,例如,来自自碰撞检测模块或者监控环境条件的模块的数据)计算期望的触觉力,并且向控制器提供适当的命令。可选地或者另外地,触觉反馈,尤其是触觉签名,可由专用的触觉硬件来启动,例如,集成到机器人的手腕600内的轻微力致动器(low-force actuator)和关联控制器,和/或根据签名经由相关的关节级控制器106调节夹持器的运动的过滤器
[0063] 当然,上文描述的机器人200仅是根据本发明的多个可能的机器人实施例中的一个实施例。可采用对于本领域技术人员来说显而易见的方式来修改各个组件和特征。例如,机器人通常可具有任何数量的手臂(或者更普遍地,附件),并且每个手臂可具有任何数量的自由度。不需要由仅提供一个转动自由度的关节来连接手臂的链节,而是手臂可以例如包括提供两个转动自由度的球窝式关节和/或促成平移运动的轨道系统。另外,用来代替夹持器或者除了夹持器之外,机器人可具有其他类型的终端执行器,例如工具(如钻、锯等)或者测量装置(例如秤、仪表等)。此外,可在不同的位置安装上文描述的一些用户接口组件,或者修改该用户接口组件的结构和功能细节。当然,在每个实施例中,各种用户接口组件无需全部使用。另外,可使用其他类型的输入和输出装置来补充机器人的用户交互能力。例如,机器人可包括用于音频通信的扬声器和/或麦克风。
[0064] 如参考图1所指示的,计算设施114促成和指导了在机器人控制器、传感器和用户接口之间的信息交换。计算设施114可以利用通用计算机或者各种其他的处理装置中的任何一种,包括但不限于:专用计算机、微控制器专用集成电路(ASIC)、现场可编程阵列(FPGA)、数字信号处理器(DSP)或者可编程门阵列(PGA)。在各个实施例中,使用多个不同的处理装置的组合。此外,在一些实施例中,在物理集成到机器人内的组件以及与机器人通信的外部组件之间分布全部的控制功能。
[0065] 图7描述了在通用计算机700上实现的计算设施114的示例性实施方式,包括中央处理单元(CPU)702(例如,四核英特尔处理器)、系统存储器704和非易失性海量存储装置(例如,一个或多个硬盘和/或光存储单元)706。计算机700还包括双向系统总线708,其中CPU 702、存储器704和存储装置706通过该双向系统总线708彼此通信,并且与诸如关节级控制器106(其可以例如是ARM处理器)、屏幕118、摄像机110、导航器232、手腕套箍600、触摸板116、力传感器108、其他类型的传感器112和/或传统输入装置(例如键盘或鼠标)709的内部或外部输入/输出装置通信。
[0066] 系统存储器704包含指令(概念性地描述为模块组),该指令控制CPU 702的操作以及该CPU 702与其他硬件组件的交互。可采用任何合适的编程语言来编写各个模块,包括但不限于:诸如C、C++、C#、Ada、Basic、Cobra、Fortran、Java、Lisp、Perl、Python、Ruby或对象Pascal的高级语言,或者低级汇编语言;在一些实施例中,用不同的语言编写不同的模块。模块可包括操作系统710(例如Gentoo Linux),其指导低级基本系统功能的执行,如存储器分配、文件管理和海量存储装置706的操作。在较高级,一个或多个服务应用可实现机器人控制器104、用于分析摄像机图像的图像处理模块712、用于读取传感器值(包括在关节处的力传感器708的那些值)并且检查它们的一致性和/或合理性的传感器监控模块714、用于经由各个机械控制元件解释用户输入并且在训练和执行模式之间转换的用户输入模块516、用于控制LCD屏幕和各种指示灯的用户输出模块718、碰撞和自碰撞检测模块720、用于计算经由机器人附件提供给用户的力反馈的触觉模块722,以及分别在训练和执行模式下管理机器人的总体行为的训练和执行模块122、120。当然,可采用多个可选择的方式对各个功能进行分组和组织。
[0067] 为经由简单的直觉用户交互来促成以任务为中心的训练,计算机700可在系统存储器704或者存储装置706中存储基本任务(例如拿起或放下对象)和关联对象(例如要拿起的小部件的类型)以及地点(例如传送带)的原型库。在训练期间,训练模块122基于用户和感测输入来实例化和填充这些原型。例如,当用户已经在某个对象上方或者在某个对象周围放置了机器人夹持器,并且按下按钮来指示她想要机器人拿起该对象时,训练模块122可创建拿起原型以及关联的地点和对象原型的实例。接着,机器人可使用其手腕摄像机216拍摄对象的图像、使用其图像处理模块712分析该图像以提取相关的视觉特征、用这些视觉特征来填充对象实例、记录夹持器的当前位置以填充位置实例、关闭其夹持器直到其力传感器检测到阻力,以及在拿起实例中存储其手指之间的关联距离(以及任何其他相关信息)。接着(在存储器704中或者在存储装置706上)存储各个填充的实例,供以后使用。在随后的时间,当机器人在执行模式下操作时,任务执行模块120可将夹持器返回到存储的拿起位置、针对与存储的视觉特征相匹配的对象监控该位置,以及一旦机器人看到该对象,执行拿起实例。因此,机器人能够基于当前的感测信息独立地执行先前训练的任务。在2012年6月
21日提交的美国临时专利申请No.61/662646中提供了关于原型、实例,以及在训练和任务执行模块122、120之间的相互作用的更多细节。
[0068] 以上示例描述了结合了适当的计算功能的本文描述的用户接口是如何允许用户像她训练另一个人类一样来训练机器人的:通过使用视觉输入和直接的机械交互,向机器人展示做什么以及怎样做。要正确地解释用户的输入并且以如一般用户可能期望的方式进行响应,机器人依赖于关于用户动作的意义的预先编程的假设。优选地,这些假设基于公共的、统计学上可适用的人类行为。当然,由于人类行为的本质,该假设并不适用于所有情况下的每个用户。相应地,机器人允许用户例如经由传统的用户菜单,通过在更深的级别提供输入来重写默认值。在一些实施例中,机器人基于默认假设做动作,除非并且直到用户主动中断它,例如,通过抓住运动中的机器人夹持器来中断,或者通过按下被指定为使得机器人停止其当前动作的按钮来中断。可选地,机器人可以响应于初始用户输入,等待指定的时间,并且接着根据默认值继续执行,直到在此期间用户已经提供了额外的信息。在其他实施例中,机器人明确地请求用户对默认值或者可选的指令的确认。例如,如果用户确定机器人的手腕摄像机的方向以便查看工作表面上的对象,并且按下手腕套箍600上的按钮,则机器人可以通过在屏幕上显示问题“拿起对象?”来进行响应。如果用户以肯定的方式回答(例如,通过再次按下该按钮),则机器人继续执行以降低其夹持器并且拿起对象。否则,计算机可呈现对可选任务的选择(例如,包括生成对象的视觉模型的任务),供用户从中选择。
[0069] 随着用户进入更深级别的交互,他需要的技术知识通常也增加。实际上,要向传统的机器人训练员提供高级技术专长以及精确地控制机器人的细节动作的期望,机器人可提供可选的“专家”接口,该“专家”接口规避较简单的、更直观的用户接口。在优选的实施例中,用户可在她可以与机器人交互的各个级别中进行选择,其中每个级别需要由用户提供的不同细节量,并且机器人基于其预先编程的默认值提供剩余的信息(如果有的话)。例如,考虑训练交互,其中机器人学习如何拿起特定对象。机器人可默认降低其夹持器(其手指包围对象),直到该夹持器与工作表面的(例如用在手腕内建立的距离传感器测量的)距离在指定的小距离(例如1cm)内,并且接着在对象周围关闭夹持器,直到其测量到来自该对象的指定的推回力。接着机器人可尝试举起该对象;如果操作成功则其在关联的拿起实例中记录推回力的大小,并且如果在抬升夹持器时该对象仍在工作表面上,则机器人用更大的力重复其尝试。用这种方式,机器人可以迭代地确定用于举起和握住该对象的适当的力。然而,用户可决定直接输入一些参数或者所有参数,而非让机器人自己算出相关参数。例如,在某些实例中,用户可能希望改变在拿起期间机器人夹持器在工作表面上的高度。另外,用户可能已经(例如,根据之前的经验)知道了施加于要握住和举起的对象的最优力,并且可以因此简单地输入该力,从而避免了对机器人反复试验的需要。不同的训练等级体现由用户输入以替换默认值的不同量的信息,其中更“专业”的级别与更多的用户输入以及对默认值更少的依赖相对应。
[0070] 本文采用的术语和语句被用作说明书的术语和语句而不是用于限制,并且在使用该术语和语句时,没有排除所展示和描述的特征或其部分的任何等价物的意图。此外,在描述了本发明的某些实施例后,可使用结合本文公开的概念的其他实施例而不会背离本发明的精神和范围,对于本领域普通技术人员来说是显而易见的。特别地,本发明的实施例不需要包括本文描述的所有特征或者具有所有优点。相反,它们可以具有特征和优点的任何子集或者组合。因此,在各个方面,所描述的实施例仅被认为是示意性的而非限制性的。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈