背景技术:
除非本文另有说明,否则本部分中描述的材料不是本申请中的权利要求的现有技术,并且不因包括在本部分中而承认为现有技术。
机器人系统,诸如机器人臂或者另一机器人装置,可用于涉及拾取、移动或以其它方式与各种尺寸物体相互作用的应用。例如,诸如这些的机器人装置可以在工厂和其它工业环境中找到。这些机器人装置中的一些可以是非顺应性机器人装置,这样的机器人装置通常是高转矩的,且被配置成几乎不或者不考虑它们周围环境(例如,在移动的机器人装置附近走道的人)地执行物理动作。诸如这些的其它机器人装置可以是顺应性机器人装置,这样的机器人装置考虑到它们的周围环境,并且可以采用防碰撞系统和/或可以响应于检测到碰撞而采取专门动作以减少进一步碰撞及对附近物体或者人员损伤的可能性。
技术实现要素:
本申请公开了涉及用于机器人装置的虚拟安全罩(safety cage)的实施例。在一个方面,本申请描述了一种方法。该方法可以包括接收请求机器人装置在机器人装置占据的物理环境中执行物理动作的指令。该方法还可以包括响应于接收所述指令,确定所述机器人装置的一个或多个物理部件的一个或多个估计轨迹,其中所述一个或多个估计轨迹是当所述机器人装置执行物理动作时,所述一个或多个物理部件被估计沿着其移动的一个或多个轨迹,并且其中所述一个或多个估计轨迹是基于所述一个或多个物理部件的一个或多个参数。该方法还可以包括确定在执行物理动作时,机器人装置被估计在物理环境中占据的空间的虚拟表示,其中所述空间基于机器人装置的一个或多个物理部件的一个或多个估计轨迹确定。所述方法还可以包括将空间的位置的指示提供到物理环境中。
在另一方面,本申请描述了其上存储有指令的非暂态计算机可读介质,所述指令在由计算装置执行时使得计算装置执行操作。所述操作可以包括接收请求机器人装置在机器人装置占据的物理环境中执行物理动作的指令。所述操作还可以包括响应于接收所述指令,确定所述机器人装置的一个或多个物理部件的一个或多个估计轨迹,其中所述一个或多个估计轨迹是当所述机器人装置执行物理动作时,所述一个或多个物理部件被估计沿着其移动的一个或多个轨迹,并且其中所述一个或多个估计轨迹是基于所述一个或多个物理部件的一个或多个参数。该方法可以进一步包括确定在执行物理动作的同时,机器人装置被估计在物理环境中占据的空间的虚拟表示,其中所述空间基于机器人装置的一个或多个物理部件的一个或多个估计轨迹确定。所述方法还可以进一步包括将空间的位置的指示提供到所述物理环境中。
在又一方面,本申请描述了一种系统。所述系统可以包括机器人装置、一个或多个光学装置、无线通信接口、至少一个处理器和包括指令的数据存储器,所述指令能够由所述至少一个处理器操作以使所述系统执行操作。所述操作可以包括接收请求机器人装置在所述机器人装置占据的物理环境中执行物理动作的指令。所述功能还可以包括响应于接收所述指令,确定所述机器人装置的一个或多个物理部件的一个或多个估计轨迹,其中所述一个或多个估计轨迹是当所述机器人装置执行物理动作时,所述一个或多个物理部件被估计沿着其移动的一个或多个轨迹,并且其中所述一个或多个估计轨迹是基于所述一个或多个物理部件的一个或多个参数。所述操作可以进一步包括确定在执行物理动作时,机器人装置被估计在物理环境中占据的空间的虚拟表示,其中所述空间基于机器人装置的一个或多个物理部件的一个或多个估计轨迹确定。所述操作还可以进一步包括通过一个或多个无线通信接口和一个或多个光学装置将空间的位置的指示提供到物理环境中。
在再一方面,提供了一种系统,所述系统包括用于接收请求机器人装置在机器人装置占据的物理环境中执行物理动作的指令的装置。所述系统还可以包括用于响应于接收所述指令,确定所述机器人装置的一个或多个物理部件的一个或多个估计轨迹的装置,其中所述一个或多个估计轨迹是当所述机器人装置执行物理动作时,所述一个或多个物理部件被估计沿着其移动的一个或多个轨迹,并且其中所述一个或多个估计轨迹是基于所述一个或多个物理部件的一个或多个参数。所述系统还可以包括用于确定在执行物理动作的同时,机器人装置被估计在物理环境中占据的空间的虚拟表示的装置,其中所述空间基于机器人装置的一个或多个物理部件的一个或多个估计轨迹确定。所述系统还可以进一步包括用于将空间的位置的指示提供到物理环境中的装置。
前述概略仅是说明性的,并且不旨在以任何方式进行限制。除了上述的说明性方面、实施例和特征之外,通过参考附图和以下详细描述,其它方面、实施例和特征将变得显而易见。
附图说明
图1A示出根据一示例实施例的安装在可移动设备上的机器人臂。
图1B是示出根据一示例实施例的机器人装置的功能框图。
图2是示出根据一示例实施例的、机器人装置可以在其中操作的示例系统的框图。
图3是根据本文描述的至少一些实施例的示例方法的流程图。
图4A和4B示出了根据本文描述的至少一些实施例的被执行的示例方法的示例操作。
图5A和5B示出了根据本文描述的至少一些实施例的被执行的示例方法的示例操作。
图6示出了根据本文描述的至少一些实施例的被执行的示例方法的示例操作。
具体实施方式
本文描述了示例性方法和系统。本文所描述的任何示例性实施例或特征不必然被解释为优于或胜过其它实施例或特征。这里描述的示例实施例不意味着限制。将容易理解,所公开的系统和方法的某些方面可以以各种各样的不同配置来布置和组合,本文中预期所有这些配置。
图中所示的具体布置不应被视为限制性的。应当理解,其它实施例可以包括给定附图中示出的更多或更少的各元件。此外,所示元件中的一些元件可以组合或省略。此外,示例实施例可以包括图中未示出的元件。
在下面的描述中,术语“传感器”、“照相机”或“光学传感器”可以互换使用,并且可以指被配置为执行3D图像感测、3D深度感测、2D图像感测、2D深度感测(即,2D图像和对应的深度图)和/或对装置物理环境的其它类型感测的装置(单一布置或者立体布置)。
此外,在以下描述中,术语“机器人装置”和“机器人操纵器”可以可互换地用于描述一个或多个机器人装置,例如机器人臂,该机器人装置被配置为抓取、移动或以其它方式操纵物理对象,例如箱子,或被配置为执行可以涉及与给定物理环境中的物理对象(诸如人、其它机器人装置或其它类型物理对象)交互的其它动作。此外,术语“机器人操纵器”也可以用于共同描述多个机器人装置的组合,例如安装在可移动设备上的机器人臂。应当理解,机器人操纵器可以不限于这些配置。
如所讨论的,一些机器人装置可以是顺应性机器人装置,而其它机器人装置可以是非顺应性的。为了减轻对人类伤害的风险,任一类型的机器人装置可在可与人类隔离的环境中操作。特别地,这样的隔离环境可以包括由机器人装置可达到的空间的体积,其中该体积被本文中可以称为“静态安全罩”的空间所包围。
因此,可能期望机器人装置持续地估计其未来轨迹,以及附近移动物体和人的轨迹,并且在一定的规定时间限制内动态地确定/调节包围机器人装置的可达空间的体积的“虚拟安全罩”。例如,在一些实施例中,机器人装置(或与机器人装置相关联的计算系统)可接收请求机器人装置在由机器人装置占据的物理环境中执行物理动作的指令,例如将机器人臂从一个位置到另一个。然后,响应于接收到该指令,机器人装置可以基于在执行物理动作中涉及的机器人装置的一个或多个物理部件的一个或多个参数来确定物理动作的一个或多个估计轨迹。即,一个或多个估计的轨迹可以是当机器人装置执行物理动作时一个或多个物理组件可以被估计沿着其移动的轨迹。在示例中,这样的估计轨迹可以对应于机器人装置沿着估计轨迹移动以执行物理动作的相应概率。例如,由于可能出现的物理部件的参数的可能不确定性(例如,机器人装置的关节可能磨损,或者另外地不如其它关节可靠),能够估计到可能轨迹的范围,每个可能轨迹均考虑到一系列不确定性并且每个具有相关联的置信分数。
此外,基于所确定的一个或多个估计轨迹,机器人装置然后可以确定在执行物理动作时机器人装置被估计在物理环境中占据的空间的虚拟表示(即,虚拟安全罩)。在一些情况下,可以响应于机器人装置检测到附近的移动物体或人来调节该虚拟表示。例如,机器人装置可以访问人或其它对象的在各种速度和轨迹下的预定运动的数据库,并且可以使用该数据库来预测附近移动物体或人的未来轨迹。给定物体/人的预测轨迹,机器人装置可以将该轨迹与其自己的估计轨迹进行比较,并且确定机器人装置将在随后的预定时段内占据的空间的路径和体积将在什么程度上与该物体/人将在该相同预定时段内占据的空间的路径和体积交叉。然后,机器人装置可以基于两个路径/体积之间的潜在交叉(或潜在缺乏)来调节(例如,扩展或收缩)其虚拟安全罩。
此外,还可以希望机器人装置将空间的位置的指示提供到物理环境中,例如关于所确定的虚拟安全罩的视觉和/或音频指示。例如,该指示可以采取投射在机器人装置的周围环境中的彩色和/或闪烁警告光、音频报警或表示虚拟安全罩的2D图像表示的形式,该2D图像表示被围绕机器人装置投射到地板上。这些指示还可以提供给远程客户端装置,诸如移动电话、平板电脑、可穿戴计算装置和其它计算装置。此外,这样的客户端计算装置可以被配置为显示3D模型,并且因此,机器人装置可以提供该虚拟表示的3D模型/地图,用于在客户端计算装置上显示。
在示例中,机器人装置的虚拟安全罩的确定和维护可以提供许多工业和商业优点,例如促进空间节省。例如,机器人装置和人可能能够在有限空间中更有效地且可能协作地存在和工作。通过在给定时刻和预定未来时段上计算机器人装置可达到的空间的精确表示(即使当这种空间具有复杂形状时),这些表示能够提供给人和/或其它机器人装置,使得人和/或其它机器人装置能够避免彼此干扰,或者以其它方式有效地使用它们共享的物理环境。其它优点也是可能的。
现在将详细参考各种实施例,这些实施例的示例在附图中示出。在以下详细描述中,阐述了许多具体细节以便提供对本公开和所描述的实施例的透彻理解。然而,本公开可以在没有这些具体细节的情况下实施。在其它情况下,没有详细描述公知的方法、过程、部件和电路,以免不必要地模糊实施例的方面。
根据各种实施例,机器人装置可以包括安装在可移动设备上的机器人操纵器,例如完整约束推车(例如,具有允许推车沿任何方向移动的轮子的推车)。图1描绘了这样的机器人装置100,其包括包含机器人操纵器的示例性完整约束推车。也就是说,在一些实施例中,可移动的完整约束推车102可以包括安装在推车上的机器人臂104。机器人臂104可以包含用于夹持或以其它方式与环境中的物体相互作用的夹持部件106。在一些实施例中,夹持部件106可以是高功率磁化夹持器、手形夹持器、吸取夹持器和/或另一类型的夹持器。推车可以包含一个或多个轮108,这些轮可以是以两个自由度操作的完整约束轮。在其它示例中,机器人装置100可以包括其它部件,例如其它机器人操纵器。在又其它示例中,机器人操纵器可以安装在不同类型的可移动设备上或者可以根本不安装在可移动基座上。例如,机器人操纵器可以安装在工厂设施或其它设施内的固定位置。
图1B是示出根据一示例性实施例的机器人装置(例如,图1A的机器人装置100)的功能框图。机器人装置100可以包括各种子系统,例如机械系统120、感测系统130、控制系统140以及电源150。机器人装置100可以包括更多或更少的子系统,并且每个子系统可以包括多个元件。此外,机器人装置100的一个或多个子系统和元件可以互连或集成在一起。因此,机器人装置100的所描述的操作中的一个或多个可以被划分为附加的功能或物理部件,或组合成更少的功能或物理部件。在一些另外的示例中,附加的功能和/或物理部件可以被添加到图1A和1B所示的示例。在又另外的示例中,包括在机器人装置100中的系统中的一个或多个可以布置成远离机器人装置。
机械系统120可以包括上面关于图1A描述的部件,包括机器人臂104、夹持器106、(可移动或完整约束)推车102和一个或多个轮108。机械系统120可以额外包括被包括在机器人装置100中的一个或多个马达(未示出),并且所述一个或多个马达被配置为将多个刚性设备连接在一起以形成机器人装置的各种部件,例如各种关节、轮子等。在实践中,当机器人装置100接收到执行特定动作的指令时,每个马达机可以被配置为接收相对指令以执行组成特定动作的各个动作,和/或多个马达可以被配置为接收相同指令以执行动作。因此,每个马达可以具有与该马达相关联的相应操作参数,以促进马达的特定动作的执行,例如马达可以承受的可能马达转矩的范围,以及其它可能的操作参数。此外,这些马达可以是由电力供能的电马达,或者可以由许多不同的能量源(例如,基于气体的燃料或太阳能)供能。另外,马达可以被配置为从电源130接收电力。电源130可以对机器人装置100的各种部件提供电力,并且可以表示例如可再充电锂离子电池或铅酸电池。在一示例实施例中,这种电池的一个或多个组可以被配置为提供电力。其它的电源材料和类型也是可能的。
感测系统140可以使用附接到机器人装置100的一个或多个传感器,诸如前导航传感器110和后导航传感器112。感测系统140还可以使用附接在机器人装置100上的其它地方的一个或多个其它传感器(未示出),诸如位于机器人臂104上的传感器,该传感器可以随着机器人臂移动而感测关于机器人臂的物理环境的信息。前导航传感器110和后导航传感器112以及其它传感器可以以类似于刚刚描述的方式和/或本文所描述的任何其它方式起作用。
感测系统140可以确定关于机器人装置100的物理环境的信息,该信息能够由控制系统150(例如,运行运动规划软件的计算机)使用以与环境有效地交互。在示例内,由感测系统140获得的信息可以被集成以构建环境的数字模型。使用该信息,控制系统150可以使机器人装置100的一个或多个部件导航到用于执行特定动作的位置。在另外的示例中,关于机器人装置100的物理环境的信息,诸如从3D传感器提取的用于对环境建模的信息,可以用于操纵机器人装置以避免与环境中的其它物理对象碰撞或以其它方式促进机器人装置的导航。此外,这样的信息可以用于环境重建。可以通过感测环境并将该信息提取为具有简单数学3D几何形状(例如,平面、圆柱、圆锥、半球等)的简化几何模型来执行环境重建。在一些情况下,这样的技术可以使运动规划更容易,和/或可以更容易检测到模型妨碍(例如,碰撞)。
此外,控制系统150可以使用其它信息来促进机器人装置100可执行的导航和其它任务。例如,控制系统150可以将来自机械系统120的信息(例如,马达的操作参数)与来自感测系统140和/或指示系统160的信息组合,以确定机器人装置100在任何给定时间点的未来移动的虚拟表示。在示例中,指示系统160由此可以被配置为向机器人装置100的周围环境提供与虚拟表示相关联的指示。因此,指示系统160可以包括一个或多个照相机/投影仪(例如,图1A所示的光学装置116)、扬声器、振动发生器(即,引起振动的装置)和/或被配置为将空间的指示提供到机器人装置占据的物理环境的其它装置。例如,在确定机器人装置100的轨迹可能与环境中另一移动物体的轨迹干涉时,光学装置116可以被配置为闪烁警告灯。在另外的示例中,扬声器可以被配置为提供警告报警。在又另外的示例中,振动发生器可以被配置为振动机器人装置和/或由机器人装置占据的物理环境的其它部分。指示系统160还可以被配置为执行其它操作。
机器人装置100的许多或所有操作能够由控制系统150控制。控制系统150可以包括至少一个处理器152(其可以包括至少一个微处理器),以执行存储在非暂态计算机可读介质(诸如存储器156)中的指令154。控制系统150还可表示可用于以分布式方式控制机器人装置100的各个部件或子系统的多个计算装置。控制系统150可以被设置为机器人装置100的一部分,或者可以与机器人装置远程通信。
在一些实施例中,存储器146可以包含指令144(例如,程序逻辑),指令144可由处理器142执行以执行机器人装置100的各种操作,包括以上结合图1A-1B所描述的那些操作。存储器146还可以包含附加指令,包括用于向机械系统120、传感器系统130和/或控制系统140中的一个或多个发送数据、接收数据、与之交互和/或对其进行控制的指令。
图2是示出根据一示例实施例的、机器人装置可以在其中操作的示例系统200的框图。如图所示,系统200可以包括关于图1A-1B所描述的机器人装置100、第二机器人装置210、远程传感器和/或投影仪(或其它这样的装置)220、远程计算装置230和中央控制系统240。在一示例实施例中,系统200的每个实体使用相应的通信链路250(例如,有线连接或无线连接)与控制系统240通信。控制系统240可以是与图1B中所描述的机器人装置100的本地控制系统150类似地操作的控制系统。控制系统240还可以具有其它操作,诸如与促进系统200的每个实体之间的数据通信相关的操作。在一些实施例中,系统200的每个实体可以各自具有相应的控制系统。
通信链路250被例示为无线连接;然而,也可以使用有线连接。例如,通信链路250中的一个或多个可以是诸如通用串行总线或并行总线的有线串行总线。有线连接也可以是专有连接。通信链路250还可以是使用例如无线电技术、IEEE 802.11(包括任何IEEE 802.11修订版)中描述的通信协议、蜂窝技术(诸如GSM、CDMA、UMTS、EV-DO、WiMAX或LTE)或技术,以及其它可能的技术。在示例内,远程计算装置230可以经由因特网访问,并且可以包括与特定web服务(例如,社交网络、照片共享、地址簿等)相关联的计算集群。
此外,如图所示,系统200的一个或多个实体可以包含使通信链路250能够使用的硬件,例如处理器、发送器、接收器、天线等。虽然未示出,但是应当理解,系统200的一个或多个实体可以彼此直接通信(例如,机器人装置100可以直接与远程计算装置230和远程传感器/投影仪220通信,而不是经由控制系统240)。
第二机器人装置210可以是与关于图1A-1B所讨论的机器人装置100类似或不同地配置的机器人装置。第二机器人装置210可以采取机器人操纵器或另一类型的机器人装置的形式。在示例内,第二机器人装置210可以与机器人装置100(可能直接地或经由控制系统240,如上所述)交换数据,诸如与两个机器人装置的环境相关联的数据、与两个机器人装置的未来轨迹相关联的数据以及诊断数据,以及其它可能的数据。
在一些示例中,第二机器人装置210可以位于机器人装置100附近,或在机器人装置100的近距离内的其它地方。在其它示例中,第二机器人装置210可以位于与机器人装置100和/或系统200的任何其它实体不同的环境中。在示例中,在两个机器人装置之间传送的数据以及在系统200的实体之间传送的其它数据可以关联于每个机器人装置的碰撞避免、轨迹规划和/或虚拟安全罩的确定/投影,以及其它可能情形。
应当理解,该第二机器人装置210还可以代表也可以与控制系统240通信和/或与系统200的一个或多个实体直接通信的其它机器人装置。
远程传感器/投影仪220可以是远离系统200的一个或多个实体(即,机器人装置100、210)布置的并且可操作以执行本文所述的操作的任何类型的传感器或投影仪。根据本文描述的方法,例如,远程传感器/投影仪220可以被配置为与作为机器人装置的一部分设置的一个或多个传感器或投影仪一起被配置为收集与机器人装置的环境相关联的数据和/或向机器人装置的环境提供信息和/或向远程计算装置230提供信息。作为示例,在机器人装置100和第二机器人装置210已经确定(借助于控制系统240)它们相应的虚拟安全罩的更新的边界或其它特征之后,一个或多个远程投影仪220和/或机器人装置本地的一个或多个投影仪可将虚拟安全罩的可视表示投射到环境中,例如3D全息图或2D正投影。另外或替代地,一个或多个远程扬声器、喇叭等可以提供与虚拟安全罩相关联的音频表示。根据该示例,控制系统240还可以向远程计算装置230提供一个或多个可视表示和音频表示。例如,远程计算装置230可以向远程计算装置的用户显示虚拟安全罩的可视表示。其它示例也是可能的。
远程计算装置230可以是能够接收数据并显示对应于该数据或与该数据相关联的信息的任何类型的装置,诸如膝上型计算机、移动电话、可佩戴计算装置(例如,头戴式或手腕可安装显示器)、平板计算装置等。远程计算装置230可以包括包括处理器和显示器的显示系统。显示器可以是例如光学透视显示器、光学环视显示器或视频透视显示器。处理器可以从控制系统240和/或从系统200的其它实体接收数据,并且配置数据以在显示器上显示。处理器可以是任何类型的处理器,例如微处理器或数字信号处理器。
远程计算装置230还可以包括板载数据存储器,例如联接到处理器的存储器。例如,存储器可以存储能够由处理器访问和执行的软件。
此外,远程计算装置230可以被配置为代表系统200的一个或多个实体(例如,控制系统240)执行操作。例如,远程计算装置230可以从机器人装置100接收数据,并且通过代表机器人装置100和/或代表控制系统240执行特定处理操作来确定机器人装置的虚拟安全罩。然后,远程计算装置230可以将结果数据发送回系统200中的其它实体。该功能可以被称为“云”计算。
在一些实施例中,机器人装置可以将数据上传到控制系统240或诸如服务器的另一远程计算装置(未示出),以便机器人装置与其它机器人装置共享经验,以实现学习行为。例如,机器人装置100可以穿过通路以及遇到障碍物,并且能够向其它机器人装置(例如,第二机器人装置210)通知(例如,通过云)障碍物的位置。作为另一示例,机器人装置100可以经由远程传感器220获得关于移动物体的信息,并且可以估计移动物体的未来轨迹和速度。然后,机器人装置100可以与控制系统240和/或与第二机器人装置210共享该信息。然后,第二机器人装置210可以响应于移动物体的未来轨迹和速度而采取一些动作。总的来说,机器人装置100、210可以被配置为共享被收集的数据,以实现更快适应,使得每个机器人能够基于先前机器人的学习经验构建。此外,根据本文所描述的各种实施例,系统200的每个实体可以访问基本上实时的数据。
在其它示例中,系统200可以包括与图2所示的实体中的一个集成的安全系统(未示出)。安全系统可以被配置为执行本文描述的操作或根据虚拟安全罩进行其它操作。
图3是根据本文描述的至少一些实施例的用于检测、重建和促进机器人与环境交互的示例方法的流程图。图3中所示的方法300呈现了方法的实施例,该方法例如能够与图1A至2中所示的机器人装置和系统一起使用,或者可以通过图1A至2中的任何部件的组合、诸如控制系统150和240中的一个或多个来执行。此外,方法的这种实施例能够根据图4A-4B、5A-5B和6所示的系统和方面来执行。方法300可以包括如框302-308中的一个或多个例示的一个或多个操作或动作。尽管以顺序次序示出了这些框,但是在一些情况下,这些框可以并行地和/或以与本文所描述的顺序不同的顺序来执行。此外,各种框可以被组合成更少的框、被划分为附加的框和/或基于期望实现方式而被移除。
此外,对于方法300和本文公开的其它过程和方法,流程图示出了本实施例的一个可能实现的功能和操作。在这点上,每个框可以表示程序代码中的模块、段或部分,其包括可由处理器执行以用于实现过程中的特定逻辑操作或步骤的一个或多个指令。程序代码可以存储在任何类型的计算机可读介质上,例如,诸如包括磁盘驱动器或硬盘驱动器的存储设备。计算机可读介质可以包括非暂态计算机可读介质,例如,诸如在短时段上存储数据的计算机可读介质,象寄存器存储器、处理器高速缓存和随机存取存储器(RAM)之类。计算机可读介质还可以包括非暂态介质,诸如辅助或持久长期存储器,例如象只读存储器(ROM)、光盘或磁盘、光盘只读存储器(CD-ROM)之类。计算机可读介质还可以是任何其它易失性或非易失性存储系统。计算机可读介质可以被认为是例如计算机可读存储介质、有形存储装置或其它制造品。
另外,对于方法300和本文公开的其它过程和方法,图3中的每个框可以表示被有线连接以执行在过程中的特定逻辑操作的电路。
方法300的操作可以完全由一计算装置执行,或者可以分布在多个计算装置和/或服务器上。在一些示例中,计算装置可以从联接到计算装置的传感器或其它部件接收信息,或者在计算装置是服务器的情况下,可以从收集信息的另一装置接收信息。计算装置还可以与服务器通信以确定物理对象的尺寸,例如,其中服务器可以包括机器人装置和移动物体的累积预定轨迹的数据库和/或可以促进该方法300的执行的其它信息的情形。
在框302,方法300包括接收请求机器人装置在由机器人装置占据的物理环境中执行物理动作的指令。在示例中,指令可以包括一个或多个子指令,当执行时,这些子指令可以使机器人装置执行动作序列。该指令在被执行时还可以使机器人装置的多个部件执行相应的动作。例如,指令可以是用于机器人装置在由机器人装置占据的物理环境中移动物理对象的指令。在该场景中,该指令的执行可以使机器人装置从机器人装置的当前位置移动到接近物理对象的位置。当移动或者然后保持固定在接近物理对象的位置时,机器人装置然后可以使用机器人臂或其它机器人操纵器来抓取和移动物理对象,然后可能再次移动离开物理对象的先前位置。其它的示例指令也是可能的。
该指令可以由机器人装置本身接收,或由联接到机器人装置或远离机器人装置布置且被配置为控制机器人装置的控制系统或其它计算装置接收。此外,应当理解,方法300的一个或多个操作可以在接收到的指令的实际执行之前、期间或之后执行。
在框304,方法300包括响应于接收到指令,确定(例如,由一个或多个处理器)机器人装置的一个或多个物理部件的一个或多个估计轨迹,其中所述一个或多个估计轨迹是在机器人装置执行物理动作时,所述一个或多个物理部件被估计沿着其移动的一个或多个轨迹,并且其中所述一个或多个估计轨迹是基于所述一个或多个物理部件的一个或多个参数。在执行物理动作中涉及的机器人装置的一个或多个物理部件的一个或多个参数可以包括一个或多个物理部件的最大转矩、一个或多个物理部件的最大功率输出、一个或多个物理部件的关节角度、两个或多个物理部件之间的距离、一个或多个物理部件的有效质量(即,一个或多个物理部件的多少和动量)、一个或多个物理部件的运动范围,以及其它可能参数。
在示例内,特定物理部件的特定参数可以优先于物理部件的其它参数。在其它示例中,具有一定运动范围的物理部件可以优先于机器人装置的其它物理部件。在其它示例内,特定物理组件的某些参数可以影响相同或其它物理部件的其它参数,并且因此可以在确定一个或多个估计轨迹时考虑部件之间的关系(即,一个关节可以具有特定质量并且可以联接到具有不同质量的另一关节,当执行物理动作时,这可能影响关节组合的移动)。
在示例内,计算装置可以采用一种或多种类型的模型预测控制(例如,后退水平控制)或其它类型的过程控制来确定一个或多个估计的轨迹并执行方法300的其它操作。例如,给定机器人装置及其物理部件的当前状态(例如,一个或多个物理组件的当前加速度、功率输出、动量等),计算装置可以确定机器人装置及其部件在一定时段内可以处于的多个状态。因此,计算装置可以确定物理部件被估计在预定时段内遵循的物理部件的一个或多个估计轨迹,所述预定时段诸如是在指令执行之后的预定时段、在接收到指令之后的预定时段或者在其它可能的时间参考点之后的预定时段。
在示例内,当确定一个或多个估计轨迹时,计算装置还可以考虑过去状态、过去移动和与机器人装置和/或其它机器人装置相关联的其它先前确定的信息。
计算装置还可以分析与机器人装置的一个或多个物理部件相关联的不确定性,其中这样的不确定性会在一个或多个确定的估计轨迹中产生噪声。因此,确定一个或多个估计轨迹可以包括基于与机器人装置的一个或多个物理部件相关联的不确定性来确定一个或多个估计轨迹。此外,确定一个或多个估计轨迹可以涉及确定多个估计轨迹,并且将各个概率(即,置信分数或其它不确定性度量)与沿着多个确定的估计轨迹移动的机器人装置相关联。作为示例,参与执行物理动作的机器人装置的一个或多个物理部件可以具有百分之九十的几率在执行动作时沿着一个轨迹移动,但是也可以具有百分之五的几率在执行动作时沿着不同轨迹移动。因此,计算装置可以对那些相应概率确定两个估计轨迹。在相关示例内,响应于接收的指令,可以确定轨迹族,其中轨迹族中的每个成员具有相关联的置信分数。在这样的示例中,轨迹族的成员可以聚集在一起和/或叠加。其它的示例也是可能的。
在示例场景中,在执行物理动作的机器人装置中可以涉及一个或多个马达,并且基于这些马达的一个或多个参数,例如马达的可持续转矩的范围,计算装置可以估计机器人装置可在机器人装置开始执行物理动作之后的十秒内在空间中可以占据的轨迹。作为相关示例,计算装置可以首先查询马达的先前轨迹的数据库、马达参数的先前状态和/或与马达相关联的其它信息,然后确定这样的信息指示其中一个马达失效的中等概率。然后,计算装置可以考虑到该失效的中等概率来确定与用于执行物理动作的一个或多个马达相关联的一个或多个估计轨迹。其它示例也是可能的,并且应当理解,如本文所述的“不确定性”不应限于与部件失效相关联的概率。相反,不确定性可以表示与机器人装置的一个或多个物理部件相关联的任何因素,这样的因素可以改变由机器人装置执行物理动作所涉及的一个或多个轨迹。
在一些实施例中,机器人装置的物理部件的一个或多个估计轨迹可以采取一个或多个物理部件的运动范围的至少一部分的形式。估计运动范围可以在物理部件被估计在预定时段内遵循的物理部件的一个或多个估计轨迹之外或做为其替代来确定。此外,也可以确定与一个或多个物理部件相关联的不确定性水平。这可以导致针对每个物理部件确定多个运动范围,其中每个运动范围对应于表示根据该相应物理部件的一个或多个参数发生该特定运动范围的可能性的给定概率/不确定性,
在示例中,一个或多个估计轨迹的确定还可以涉及确定执行物理动作所涉及的一个或多个物理部件在执行一个或多个估计轨迹时可占据的空间体积,从而导致马达和/或其它部件同时或非同时地移动,并且在沿着一个或多个估计轨迹移动的同时扫除空间体积。为了确定该空间体积,计算装置可以考虑各种因素,诸如一个或多个物理部件的当前动量、与一个或多个物理部件相关联的诊断信息或上述其它因素,这两者都关联于一个或多个物理部件的当前状态并且关联于一个或多个物理部件的过去状态(或未被包括为机器人装置的部分的一个或多个相关物理部件的过去状态)。
在示例中,可以确定一个或多个体积,这些体积中的一个或多个与相应的概率相关联。并且与关于确定的估计轨迹的讨论一致,多个确定的空间体积可以聚集在一起、迭加或重叠。例如,与多个确定的估计轨迹的相应估计轨迹相对应的多个空间体积的叠加可以包括机器人装置被估计占据以执行物理动作的多个不同体积的空间。
在另外的示例中,计算装置可以通过向服务器提供执行物理动作的指令来确定估计的轨迹,服务器执行多个仿真并将与估计轨迹相关联的参数返回给计算装置。
在框306处,方法300包括确定在执行物理动作时机器人装置被估计在物理环境中占据的空间的虚拟表示(即,虚拟安全罩),其中基于机器人装置的一个或多个物理部件的一个或多个估计轨迹来确定所述空间。例如,当一个或多个估计轨迹是与多个概率、置信分数或其它度量相关联的多个估计轨迹时,可以基于多个估计轨迹并且还基于相应概率来确定在机器人装置的物理环境中的空间的虚拟表示,所述相应概率关联于机器人装置沿着多个确定的估计轨迹移动(即,机器人装置的物理部件占据给定轨迹的可能性)。
在一些示例中,虚拟表示可以采用虚拟边界或虚拟全体积的形式,所述虚拟边界或者虚拟全体积可以包括将来要被机器人装置的物理部件占据的空间的至少一部分。
在示例内,虚拟表示可以采取更保守的虚拟边界/体积的形式,诸如包括该空间体积的球形、椭圆形或抛物线边界/体积。其它开放的二次曲面或封闭的二次曲面(和/或相关联的体积)也是可能的。在这样的示例中,虚拟表示可以包括机器人装置的物理环境中的更多空间,其超过机器人装置将随着时间物理地占据的实际空间。在其它示例中,虚拟表示可以采取更限制性地限制机器人装置的运动的等值面或其它表面或体积的形式。例如,在多个机器人装置和/或人彼此接近地工作的环境中,可能需要较不保守的虚拟表示。
在一些情况下,所接收的指令可以是用于机器人装置拾取和移动物理对象的指令。在这种情况下,计算装置例如可以基于一个或多个估计轨迹和/或基于物理对象的一个或多个预定特性(例如,大小、重量等),来确定机器人装置将占据的物理环境中的空间和基于机器人装置使物理对象移动而估计物理对象占据的空间两者。例如,响应于接收到这样的指令,计算装置可以查询可以具有关于将由机器人装置移动的物理对象的大小的信息的数据库。然后,当确定一个或多个估计轨迹时或当确定虚拟表示时,计算装置可以考虑物理对象的大小。例如,计算装置可以使用物理对象的表面上离机器人装置上的参考点最远的点来确定空间中的被跟踪体积,所述被跟踪体积表示机器人装置和物理对象随着机器人装置拾起并移动物理对象将经过的时间的至少一部分期间占据的空间。
在其中计算装置确定在预定时段内物理部件被估计遵循的物理部件的一个或多个估计轨迹的一些实施例中,虚拟表示的空间因此可以包括在该预定时段期间机器人装置被估计占据以执行物理动作的空间。
在示例中,每当新的指令或子指令被计算装置接收或执行时,可以确定新的虚拟表示。因此,虚拟表示可以是当接收到新指令或确定了估计轨迹的修改时实时改变的动画表示。在其它示例内,计算装置可以被配置为响应于接收到用户输入或指示执行调谐的命令的另一类型输入来调谐(即,调节)该虚拟表示。在这样的示例内,可以基于各种因素(例如概率和风险)来调节虚拟表示。例如,虚拟表示可以从不太保守的虚拟安全罩调节到较保守的虚拟安全罩,其中较保守的虚拟安全罩包括与额外未来轨迹相关联的空间,尽管那些未来轨迹不太可能。这种保守的调节可以降低碰撞危险或其它危险的风险。替代地,可以调节虚拟表示以仅包括具有高置信分数的未来轨迹和空间。其它示例也是可能的。
在其它示例中,在接收到用于机器人装置从第一位置移动、拾取在第二位置处的物体并将物体移动到第三位置的指令时,虚拟表示可以根据执行该任务的机器人装置并且还基于上述的预定时段,而自动或手动地调节。例如,在接收这样的指令之前,虚拟表示可以包括在第一位置处围绕机器人装置的较小空间体积。然后,在接收到指令之后(或者在接收指令之后的某个时间),虚拟表示可以扩展为包括第二位置,以及可能另外的第三位置,以及机器人装置可以在第一和第二位置之间以及在第二和第三位置之间行进/占据的一个或多个可能的未来路径(和相关联的体积)。在到达第二位置时,或当机器人装置行进到第二位置时,虚拟表示可被动态地调节以收缩,以便不再包括当从第一位置行进到第二位置时机器人装置先前占据的路径/空间。然后,当机器人装置行进到第三位置时,或在机器人装置到达第三位置时,可进行类似的进一步调节。其它示例也是可能的。如上所述,在这些和其它示例中,机器人装置可以与投影仪或被配置为提供机器人装置将来占据何处的指示的其它装置通信,无论是在短时间段还是更长的时间段期间。
因此,在框308处,方法300包括将关于空间的位置的指示提供到物理环境中。此外,在本文描述的示例的至少一部分内,指示可以包括聚合或迭加的空间/边界的视觉指示,和/或可以包括与一个或多个估计轨迹相关联的这种空间/边界的可区分的重叠的视觉指示。此外,指示可以包括与在框304处确定的一个或多个估计轨迹以及在框306处确定的对应空间/边界相关联的概率、置信分数或其它度量的视觉指示。再进一步,该指示可以包括在框304中确定的一个或多个估计轨迹的视觉指示和/或音频指示和/或其它类型的指示。
在示例中,音频指示可以包括警报\环境噪声、一个或多个口语话语、预先记录的安全消息、结构化音频模式以及具有变化的频率、节奏、音量、音色等的其它类型音频。不同的音频指示可以用于空间的不同的确定虚拟表示。另外或替代地,多个不同的音频指示可以包括在指示中。作为示例,当机器人装置或外部传感器检测到在机器人装置的物理环境内的移动物体时,计算装置可以在移动物体在距机器人装置的给定距离范围内时使环境中的扬声器播放声音,并且当移动物体在距机器人装置的其它距离范围内时可以引起其它不同的声音(例如,当移动物体在非常接近机器人装置的范围内并且可能处于与机器人装置碰撞的风险时,可以听到更大的更突出的声音)。作为另一示例,当与机器人装置相关联的当前虚拟表示是更保守的虚拟表示(即,具有较小安全风险的更大虚拟安全罩)时,可以在环境中间歇地或连续地播放闲适、平静的噪声,而当当前虚拟表示是不太保守的虚拟表示时,可以在环境中间歇地或连续地播放较大的噪声,反之亦然。其它示例也是可能的。
该指示可以包括2D指示和/或3D指示。在示例中,附接到机器人装置或远离机器人装置设置的投影仪可投射与该空间相关联的光。例如,光可以投射在机器人装置将来可能占据的空间下方的地板的一些或所有区域上,并且可以用作警告灯。光也可以投射在另一表面上,例如机器人装置的物理环境中的壁、天花板或另一表面。附加地或替代地,光可以投射到空气中,而不瞄准任何特定表面。光可以被投影为一种或多种颜色或色调。例如,当空间包括不确定性的区域或体积时,可以使用不同颜色或亮度的光来指示机器人装置将来可能不太会占据的区域。其它示例也是可能的。
在其它示例中,指示可以采取投影在机器人装置的物理环境中的表面上的、空间的2D图像的形式。例如,2D图像可以是3D虚拟表示的正交投影(例如,中空3D边界或全3D体积)。例如,3D虚拟表示可以正交地投射到地板或墙壁上,并且可以用作比上述光更详细和可区分的视觉指示。作为另一示例,2D图像可以是物理环境的俯视或其它的透视图,包括与虚拟安全罩的当前状态相关联的高亮显示的或以其它方式指示的2D区域。在这些示例内,2D图像可以描绘表示所确定的一个或多个估计轨迹的一个或多个2D路径(例如,2D图像可以包括表示机器人装置的一个或多个物理部件的未来路径的被跟踪线)。此外,2D图像还可以描绘机器人装置的各个部件及其相应的轨迹。再另外,2D图像可以包括与一个或多个估计轨迹相关联的概率的数字或其它视觉指示。其它示例也是可能的。
在另外的示例中,指示可以采取空间的全息3D指示的形式,通过改变激光器(例如,等离子体激光器)的使用、干涉、衍射、光强度和/或其它全息的领域中已知或未知的参数。这种指示可以是实际尺度的全息图,该全息图被投影为“填充”至少机器人装置未来将占据的地方的大气空间(airspace)。附加地或替代地,指示可以被投影为较小尺度的全息图。3D全息图还可以描绘代表所确定的一个或多个估计轨迹的一个或多个3D路径,其被投影在由机器人装置占据的物理环境中的空间内。例如,轨迹可以在视觉上被指示为全息图像,或者可以由沿着轨迹的路径投影的一个或多个光(例如,细的定向激光)以及其它的可能性。3D全息图可以投影或以其它方式显示为开放二次曲面、封闭二次曲面、凸包、等值面或其它复合或非复合的表面/体积。
在另外的示例中,指示可以采取虚拟表示的3D模型的形式。3D模型可以描绘代表所确定的一个或多个估计轨迹的一个或多个3D路径。此外,3D模型可以包括开放的二次曲面、封闭的二次曲面、凸包、等值面或其它复合或非复合的表面/体积。
与2D指示类似,3D指示可以包括聚集、迭加、重叠等的多个空间,以便指示机器人装置可能的未来移动的族。
在另一些实施例中,指示可以涉及将光投射到与所接收的指令相关联的物理对象上的投影仪、照相机或其它光学装置。例如,机器人装置可以将单个光束投射到已经指令机器人装置拾取的盒子上,以向人或其它机器人装置指示机器人装置计划朝向盒子移动并拾取它。光可以在接收到指令之后的某个点投射,并且可以被投射预定时间段。
在更进一步的示例中,指示可以采取振动指示或者修改由机器人装置占据的物理环境的其它类型指示的形式。例如,联接到机器人装置或远离机器人装置设置的振动发生器装置可以使得物理环境中的地面区域或物理环境的另一部分(例如壁、柱子或物理环境中的其它物理对象)振动。在另一示例中,计算装置可以向诸如移动电话或其它无线通信装置的远程计算装置提供使该远程计算装置振动的通知。这样的振动可以用于警告该远程计算装置的用户他们已经进入或即将进入机器人装置的虚拟安全罩。其它示例也是可能的。
在一些实施例中,计算装置可以向远程计算装置(例如图2中所示的远程计算装置)提供指示。如上所述,远程计算装置可以是被配置为在远程计算装置处显示或以其它方式提供指示的计算装置。例如,计算装置可以向具有头戴式显示器的可穿戴计算装置提供虚拟安全罩的动态虚拟3D模型或其它类型3D表示。这样的指示也可以被提供给具有增强现实能力的其它计算装置。作为另一示例,计算设备可以向具有触摸屏的平板计算装置提供3D模型,其中平板计算装置的用户然后能够放大3D模型或者以其它方式与3D模型交互。例如,用户能够选择参与执行物理动作的机器人装置的各个部件,并查看那些部件的未来轨迹、不确定性水平、各自的虚拟安全罩以及与各个部件相关联的其它信息,诸如一个或多个参数(例如,功率水平、当前速度等)的数字显示。还可以显示一个或多个估计轨迹以及对应于每个估计轨迹的概率。此外,远程计算装置的用户能够远程地调节空间的指示。例如,远程计算装置可以包括拨盘或其他可调节输入装置,使得用户能够操纵该输入装置以增大或减小虚拟安全罩的尺寸。其它示例也是可能的。
在一些实施例中,可以在机器人装置执行物理动作的至少一部分时连续地提供指示。例如,当指令是用于机器人装置从一个位置移动到另一个位置时,随着机器人装置从一个位置向另一个位置移动,可以连续地投射3D虚拟安全罩边界。在这样的示例中,虚拟安全罩可以在视觉上表现为与机器人装置一起从一个位置向另一个位置移位保持其尺寸和形状,但是在其它示例中,虚拟安全罩可以在机器人装置移动的同时改变其尺寸,诸如,如果机器人装置突然检测到接近机器人装置的移动物体。其它示例也是可能的。
在示例内,并且根据上述讨论,机器人装置可以包括涉及执行物理动作的至少一个机器人操纵器,例如一个或多个机器人臂。因此,方法300可以包括用于确定参与执行物理动作的至少一个机器人操纵器的相应运动范围的操作。因此,确定虚拟表示可以至少部分地基于至少一个机器人操纵器的、所确定的相应运动范围,并且指示可以包括所确定的相应运动范围的视觉指示。
在示例中,可以基于在机器人装置的物理环境中检测到的移动物体(诸如人、车辆和其它机器人装置)以及其它可能性来确定和调节虚拟安全罩。在这样的示例中,计算设备可以使用环境中的一个或多个传感器来识别移动物体。例如,计算装置可以采用静态背景相减或更概率的方法,例如卡尔曼滤波器,以将环境中的静态障碍物与环境中的动态障碍物分离。
响应于识别移动物体,计算设备可以经由一个或多个传感器和/或其它装置确定与移动物体相关联的参数,诸如移动物体的当前速度、当前加速度、当前移动方向和物体的质量,以及其他可能性。计算装置然后可以至少部分地基于所确定的移动物体的参数来确定在预定时段上移动物体被估计沿着其移动的、移动物体的估计轨迹。也可以基于与移动物体相关联的预定不确定性来确定其它估计轨迹。此外,该场景中的预定时段可以在确定参数时开始,或者可以在另一时间点开始。此外,本文关于移动物体讨论的预定时段可以与上文关于机器人装置所讨论的预定时段相同或不同。
在实践中,在此论述的预定时段可指代执行安全停止或者其它类型安全机动(例如,防止碰撞)所需时段和一个或多个处理器计算虚拟安全罩的参数(例如,体积)所需时段的和。
在这些示例中,可能需要由机器人装置采取更紧急响应动作的、为了安全目的的移动物体的运动预测(即,“短期预测”)可以根据与基于人的安全标准相关的均匀运动界限来执行(例如,假设人能够以至多3米/秒移动)。短期预测可以允许机器人装置在任何不可预见的障碍物的情况下实现安全停止,并且可能需要对机器人装置和移动物体中的一个或多个的保守运动估计。此外,可能需要由机器人装置采取不太紧急响应动作并且可促进机器人装置的平滑响应操作的运动预测(即,“长期预测”)可采用概率方法,例如卡尔曼滤波器或与用于高通行区的学习先验相结合的粒子滤波器(即,诸如走道的一些区域,其被随着时间观察,经常有人或其它移动物体/障碍物移动通过这些区域,因此应该在区域之间的概率分布中给予增加的权重)。长期预测可以实现规避特性,其可以减少对更紧急的安全停止的需要,并且可以在关于运动估计的较少确定性的情况下操作。在一些实施例中,计算装置可以同时实现短期预测和长期预测两者。
计算装置可以访问人和其它移动物体的预定运动的本地或远程数据库以获取过去移动物体的各种速度、质量,轨迹和/或其它参数,并且可以使用该数据库来预测检测的移动物体的未来轨迹。因此,计算装置可以部分地基于与检测到的移动物体至少部分类似的移动物体的预定参数来确定至少一个估计轨迹。例如,计算装置可以基于其它移动物体的预定运动(或者可能地,同一移动物体的预定运动)推断出移动物体的未来运动。
接下来,计算装置可以将移动物体的估计轨迹与在框304确定的机器人装置的物理部件的一个或多个估计轨迹进行比较。例如,计算装置可以确定移动物体的一个或多个估计轨迹是否将与机器人装置的物理部件的一个或多个估计轨迹相交或以其它方式干涉,并且在一些实施例中,可能将该确定限制为可能在预定时段内发生的相交。作为另一示例,计算装置可以使用移动物体的参数和移动物体的一个或多个估计轨迹来确定移动物体在预定时段内可以占据的空间的一个或多个估计体积,该一个或多个估计的空间体积可能与相对概率相关联。计算装置然后可以确定移动物体的一个或多个估计的空间体积是否与机器人装置可能在预定时段内占据的空间的一个或多个体积重叠。作为又一示例,当计算装置确定移动物体将不与机器人装置的轨迹相交时,计算装置仍然可以在调节机器人装置的虚拟安全罩时,将从机器人装置及机器人装置的轨迹到移动物体的轨迹的距离与机器人装置的轨迹进行比较。其它示例也是可能的。
基于该比较的输出,计算装置然后可以调节由机器人装置占据的物理环境中的空间的虚拟表示,并且将与调节的虚拟表示相关联的空间位置的指示提供到物理环境中。例如,如果计算设备确定移动物体将很快进入机器人装置的轨迹的给定距离内,则计算装置可以通过调节机器人装置的轨迹或对机器人装置的运动的其它约束来收缩虚拟安全罩。因此,指示可以包括由调节的虚拟表示表现的空间的位置的一个或多个视觉指示和音频指示,诸如上述的视觉指示和音频指示中的一个或多个。此外,指示还可以以可视方式描绘代表移动物体的所确定的估计轨迹的路径,例如以类似于上述方式的方式。
此外,在一些示例中,计算装置可以通过实现本文描述的操作中的一个或多个来确定用于移动物体的虚拟安全罩。例如,基于移动物体的一个或多个估计轨迹并且进一步基于移动物体的参数(并且可能地还基于与先前的移动物体相关联的数据),计算装置可以确定在机器人装置的物理环境中的空间体积的虚拟表示,该空间体积包括移动物体被估计占据的空间。
响应于上述比较的输出,并且可能地响应于关于移动物体做出的其它确定,计算装置也可以执行其它动作。例如,计算装置可以指令机器人装置降低其速度、停止和/或改变其轨迹,以避免机器人装置和移动物体之间的碰撞。此外,计算装置可以通过投射警告光和/或发出警报声以及其它可能方式,来将即将发生的碰撞或潜在碰撞传送到机器人装置和移动物体的周围环境。再另外,计算装置可以将机器人装置设置为以“安全移动模式”操作,在该模式中,机器人装置可以采取上述动作中的一个或多个,以避免在环境中的碰撞或以其它方式安全地操作。
在示例中,在识别到机器人装置的环境中的移动物体之后的某一点,计算装置可经由在机器人装置的物理环境中的一个或多个传感器识别移动物体在距机器人装置的阈值距离之外。例如,计算装置可以确定机器人装置不再有碰撞或以其它方式干涉移动物体的风险。响应于识别出移动物体在该阈值距离之外,计算装置然后可以扩展物理环境中的空间的虚拟表示,使得空间增大。计算装置然后可以提供与扩展的虚拟表示相关联的指示,其中该指示包括扩展空间的视觉指示和扩展空间的音频指示中的一个或多个。
在示例中,当没有检测到移动物体时,或当确定移动物体相对执行物理动作的机器人装置具有阈值低风险(例如,这样的移动物体离开机器人装置一预定距离)时,可以指示机器人装置以较高速度移动。此外,当在给定距离内没有检测到人或其它移动物体时,计算装置为机器人装置维持的虚拟安全罩可随时间扩展和增长。相反,当人或其它移动物体的预期未来运动开始与机器人重叠时,或者当人或其它移动物体大体接近机器人装置时,计算装置可以指令机器人装置减速并且可以开始逐渐收缩虚拟安全罩。在一些示例中,如果检测到人或其它移动物体在预定的和可校准的阈值距离内,则机器人装置可以完全停止其所有运动,并且虚拟安全罩可以被设置为零(即,消失)。其它示例也是可能的。
应当理解,在实践中,在安全保证和机器人装置的系统性能之间可能存在权衡。因此,可以将轨迹确定的方案和虚拟安全罩确定的方案组合,以在需要时允许可靠操作,而在正常情况下,对机器人装置的轨迹的简明非紧急调整(例如,对机器人装置的重新路线设定)可以是优选的。
还应当理解,可以连续或间歇地执行检测和监视移动物体的操作,以便动态地调节虚拟表示并动态地更新与动态调节后的虚拟表示相对应的指示。
还应当进一步理解,该方法的一个或多个操作可以连续或间歇地执行,以便动态地调节虚拟表示并动态地更新与动态调节后的虚拟表示相对应的指示。在示例中,例如,机器人装置的物理部件在任何给定时间点能具有的运动范围能够连续地或频繁地计算,并被提供给其它的人/装置。并且在示例内,机器人装置和/或相关联的系统可以连续地或频繁地监视机器人装置的周围环境,以便维持虚拟安全罩。其它示例也是可能的。
图4A和4B示出了根据本文描述的至少一些实施例的正在执行的示例方法的示例操作。图4A示出了机器人装置400沿着第一轨迹406A从第一位置402向第二位置404A移动,而图4B示出了机器人装置沿着较长的第二轨迹406B从第一位置向不同的第二位置404B移动。因此,计算装置(未示出)可以基于第一轨迹406A确定第一虚拟表示408,并且还可以基于第二轨迹406B确定第二虚拟表示410。如图所示,第一虚拟表示408的空间小于第二虚拟表示410的空间,因为在沿着第二轨迹406B移动时,机器人装置400的物理部件(例如,所示的关节、刚性臂段和夹持器)可占据更多空间。在示例内,第一和第二虚拟表示408、410可以在机器人装置400的环境中投影为3D全息图,或者可以以其它方式指示给用户、用户的计算装置、其它机器人装置等。此外,这些各自的3D全息图可以被聚集(在这种情况下,其可以仅导致第二虚拟表示410的全息图,因为第二虚拟表示包括第一虚拟表示408的几乎全部)、迭加、重叠或以其它方式集成一起。
在另外的示例中,计算装置可以将第一轨迹406A估计为较高概率轨迹,而计算装置可以将第二轨迹406B估计为较低概率轨迹,反之亦然。例如,可能是由于可能先前已使机器人装置移动超过指令机器人装置移动的位置的、对机器人装置400的一个或多个部件之前检测到的误差,可能存在96%的概率与第一轨迹406A相关联,并且可能存4%的概率在与第二轨迹406B相关联。其它示例也是可能的。
在另外的示例中,计算装置可以确定机器人臂的一个或多个关节、机器人臂的一个或多个刚性臂段、机器人臂的夹持器和/或其它物理部件的全部或部分运动范围。因此,由第一和第二虚拟表示表现的第一和第二空间的指示可包括那些运动范围的视觉指示。例如,在一些场景中,第二轨迹406B可以是机器人装置在z方向上的运动范围的程度(即,机器人装置可以被设计成仅在z方向上在第一位置402和位置404B之间移动)。
图5A和5B示出了根据本文描述的至少一些实施例的正在执行的示例方法的示例操作。图5A示出了具有类似于等值面外壳的复杂体积虚拟安全罩边界502A的机器人装置500。根据上述方法300,虚拟安全罩502A可以限制例如机器人装置500在预定时段内的所有未来移动和运动范围。虚拟安全罩502A可以在环境中对人可见(例如,投影为全息图),或者可以替代地仅作为提供用于在远程计算装置上显示的3D模型可见等等。此外,联接到机器人装置500的投影仪504可以在机器人装置的环境中的地板上投射照明地板上的一区域的光506A,该区域在机器人装置的至少一个物理部件在预定时段内可占据的位置下方。
图5B示出了调节后的复杂体积虚拟安全罩边界502B。虚拟安全罩502B与图5A的虚拟安全罩502A相比可以被扩展,并且该虚拟安全罩502B可以限定当机器人装置夹持物理对象508时,机器人装置500在预定时段内的所有未来移动和运动范围。这样的罩502A还可以考虑到物理对象508的大小和尺寸以及物理对象508在由机器人装置移动时将占据的区域。在这种情况下,投影仪504可以在机器人装置的环境中的地板上投射照亮地板上一区域的不同的光506B,该区域是在操纵物理对象508时机器人装置的至少一个物理部件可以在预定时段内占据的位置的下方。该不同的光506B可以具有不同的颜色,可以被投射成重复地闪光,或者可以以与提供其他光506A的方式不同的另一种方式提供。
图6示出了根据本文描述的至少一些实施例的正在执行的示例方法的示例操作。在该示例中,计算装置(未示出)可以确定在即将到来的预定时段(例如,一秒)中,机器人装置的机器人臂600可以沿着将与行进车辆606的另一个轨迹604相交的轨迹602移动。在进行该确定时或之前,机器人臂600的虚拟安全罩608的一个或多个尺寸可以椭圆形方式界定,如图所示。然而,在做出该确定时,计算装置可以调节机器人臂600的轨迹,其中调节后的轨迹610使得机器人臂600将在不与行进车辆606的轨迹604相交的位置处紧急停止。计算装置还可以相应地调节虚拟安全罩,其中调节后的虚拟安全罩612在一个或多个维度上以球面限制,如图所示。此外,在一些情况下,计算装置还可以确定用于行进车辆606的虚拟安全罩614,并且可以确定调整后的虚拟安全罩612以使调节后的虚拟安全罩不与行进车辆的虚拟安全罩相交。
应当理解,本文描述的布置仅用于示例的目的。因此,本领域技术人员将理解,可以替代地使用其它布置和其它元件(例如,机器、接口、操作、顺序和操作分组等),并且一些元件可以总体根据期望结果被省略。此外,描述的许多元件是可以被实现为离散或分布式部件的或以任何合适组合和位置结合其它部件的功能实体,或者被描述为独立结构的其他结构元件可被组合。
虽然本文公开了各种方面和实施例,但是其它方面和实施例对于本领域技术人员将是显而易见的。本文公开的各个方面和实施例是为了说明的目的,并且不旨在限制,其中真实范围由所附权利要求以及这些权利要求所赋予的等同物的全部范围来指示。还应当理解,本文所使用的术语仅用于描述特定实施例的目的,而不意在限制。