用于轨迹规划的物体度量的实时确定的制作方法

文档序号:11159757阅读:437来源:国知局
用于轨迹规划的物体度量的实时确定的制造方法与工艺

本申请要求2014年7月16日递交的美国专利申请第14/333,258号的优先权,特此通过引用将该美国专利申请全部并入。



背景技术:

除非本文另外指出,否则本部分中描述的材料并不是本申请中的权利要求的现有技术,并且并不因为被包括在本部分中就被承认为是现有技术。

机器人系统,例如包含抓取组件的机器人臂,可用于涉及拾起或移动物体的应用。例如,机器人设备可用于用物体填充货柜,创建物体的堆叠,或者从卡车箱卸载物体。在一些情况中,所有物体可能是相同类型的。在其他情况中,货柜或卡车可包含不同类型的物体的混合,例如盒装物品、金属罐、轮胎或者其他可堆叠物体。这种机器人系统可基于关于物体在环境中何处的预定知识来指导机器人臂拾起物体。



技术实现要素:

本公开提供了可帮助确定用于利用机器人设备移动物体的轨迹的方法和装置。基于不同的可能物体测量可确定多个可能的轨迹来用机器人设备的末端执行器移动物体。在机器人设备拾起物体之后,可从指示出物体的一个或多个测量的一个或多个传感器接收传感器数据。然后可基于接收到的传感器数据从多个可能的轨迹中选择一轨迹。机器人设备随后可被控制来通过所选轨迹移动物体。

在一个示例中,提供了一种方法,其包括基于多个可能的物体测量来确定多个可能的轨迹用于以机器人操纵器的末端执行器移动物体。该方法还可包括使得机器人操纵器用末端执行器拾起物体。在使得机器人操纵器利用末端执行器拾起物体之后,该方法还可包括从一个或多个传感器接收指示出物体的一个或多个测量的传感器数据。基于接收到的传感器数据,该方法还可包括从多个可能轨迹之中选择用于移动物体的轨迹。该方法还可包括使得机器人操纵器通过所选轨迹移动物体。

在另外的示例中,公开了一种包括机器人操纵器、至少一个传感器和控制系统的系统。该控制系统可被配置为基于多个可能的物体测量确定用于利用机器人操纵器的末端执行器移动物体的多个可能轨迹。该控制系统还可被配置为使得机器人操纵器用末端执行器拾起物体。在使得机器人操纵器利用末端执行器拾起物体之后,该控制系统还可被配置为从至少一个传感器接收指示出物体的一个或多个测量的传感器数据。基于接收到的传感器数据,该控制系统还可被配置为从多个可能轨迹之中选择用于移动物体的轨迹。该控制系统还可被配置为使得机器人操纵器通过所选轨迹移动物体。

在另一示例中,公开了一种非暂态计算机可读介质,其中存储有指令,这些指令当被计算系统执行时使得该计算系统执行功能。这些功能可包括基于多个可能的物体测量确定用于利用机器人操纵器的末端执行器移动物体的多个可能轨迹。这些功能还可包括使得机器人操纵器用末端执行器拾起物体。在使得机器人操纵器利用末端执行器拾起物体之后,这些功能还可包括从一个或多个传感器接收指示出物体的一个或多个测量的传感器数据。基于接收到的传感器数据,这些功能还可包括从多个可能轨迹之中选择用于移动物体的轨迹。这些功能还可包括使得机器人操纵器通过所选轨迹移动物体。

在另外一个示例中,一种系统可包括用于基于多个可能的物体测量来确定用于利用机器人操纵器的末端执行器移动物体的多个可能轨迹的装置。该系统还可包括用于使得机器人操纵器用末端执行器拾起物体的装置。在使得机器人操纵器利用末端执行器拾起物体之后,该系统还可包括用于从一个或多个传感器接收指示出物体的一个或多个测量的传感器数据的装置。基于接收到的传感器数据,该系统还可包括用于从多个可能轨迹之中选择用于移动物体的轨迹的装置。该系统还可包括用于使得机器人操纵器通过所选轨迹移动物体的装置。

前述总结只是例示性的,而并不打算以任何方式进行限定。除了以上描述的例示性方面、实施例和特征以外,通过参考附图和接下来的详细描述和附图,更多的方面、实施例和特征将变得清楚。

附图说明

图1A根据示例实施例示出了安装在可动推车上的机器人臂。

图1B是根据示例实施例图示出机器人设备的功能框图。

图2A根据示例实施例示出了机器人臂和一堆箱子。

图2B根据示例实施例示出了由安装在机器人臂上的传感器扫描来自图2A的那堆箱子。

图2C根据示例实施例示出了来自图2A的机器人臂移动箱子。

图3是根据示例实施例的方法的框图。

图4A根据示例实施例图示了用机器人移动物体的不同轨迹。

图4B根据示例实施例图示了由来自图4A的机器人拾起物体。

图4C根据示例实施例图示了用于测量来自图4A的物体的传感器。

图4D根据示例实施例图示了用于移动来自图4A的物体的所选轨迹。

图4E根据示例实施例图示了通过来自图4D的所选轨迹移动物体。

图5根据示例实施例图示了三角测量深度传感器。

图6A根据示例实施例图示了具有力-扭矩传感器的机器人操纵器。

图6B根据示例实施例图示了使用来自图6A的力-扭矩传感器来确定物体维度。

具体实施方式

本文描述了示例方法和系统。本文描述的任何示例实施例或特征不一定要被解释为比其他实施例或特征更优选或有利。本文描述的示例实施例不欲进行限定。容易理解,公开的系统和方法的某些方面可按许多种不同的配置来布置和组合,所有这些在这里都已设想到。

另外,附图中示出的特定布置不应当被视为限制性的。应当理解,其他实施例可包括更多或更少的给定附图中所示的每种元素。另外,一些图示的元素可被组合或省略。此外,示例实施例可包括附图中没有图示的元素。

示例实施例可帮助提供对用于轨迹规划的物体度量的确定。例如,机器人操纵器(例如,机器人臂)可配备有末端执行器(例如,吸取抓具)来拾起和移动诸如箱子之类的物体。在箱子拾取期间,关于被拾取的箱子的一些信息可能是未知的,直到箱子已经被拾起和/或移动了一定量之后。例如,箱子重量或箱子深度可能只有在箱子在空中之后才可由一个或多个传感器测量。在一些示例中,这些测量可影响机器人应当使用什么轨迹来运输箱子。例如,箱子度量可影响机器人可在不掉落箱子的情况下运输箱子的速度或者影响是否可使用特定路径而不会引起碰撞。因此,对于不同的可能物体测量可确定多个可能的轨迹。在从传感器数据确定了物体测量之后,可从可能的轨迹中选择用于运输物体的轨迹,并且该轨迹被机器人用于运输物体。

多种不同类型和/或组合的传感器可用于确定箱子度量以便确定使用哪个轨迹来运输箱子。在一些示例中,可使用安装在机器人臂上的传感器和安装在固定位置的其他传感器的组合。被机器人拾起的物体可能被遮挡,使得该物体只有一部分是单个相机可见的。一个示例是在从货盘或外观面拾取箱子时,其中箱子维度的至少一些可能是未知的并且是个体相机不可见的。在这种情况下,来自臂上传感器以及在环境内策略性放置的臂外传感器的数据可被组合并用于在物体被拾取时分析物体的维度。在另外的示例中,物体的一个或多个未知维度可在一个或多个传感器的前方被移动来确定或细调物体测量。此外,物体的某些维度只用视觉数据可能是不确定的。因此,除了视觉相机以外或者取代视觉相机,传感器中的一些或全部可以是深度传感器。

在另外的示例中,传感器之一可以是安装在机器人臂上的具有低剖面的深度传感器。在一些示例中,可能难以将传统的深度传感器以合理的配置放置在抓具上来确定物体的深度维度,尤其当抓具非常接近物体时更是如此。因此,可使用包括激光束线和偏移相机的三角测量深度传感器。这类传感器可具有低剖面,使得其可在抓具已与物体接触并且因此与物体非常接近之后确定物体深度。在一些示例中,来自其他类型的深度传感器和/或视觉传感器的数据也可与来自低剖面三角测量传感器的数据相结合来更好地细调对箱子维度的估计。

在额外的示例中,安装在机器人臂上的力-扭矩传感器可用于帮助确定箱子属性。力-扭矩传感器可被定位在吸取抓具上方以便确定由被抓具握持的物体引起的力和/或扭矩。基于此数据,力-扭矩传感器可用于确定拾起的箱子的参数,例如质量、重心、质心、质心有多静态、和/或惯性矩阵。在额外的示例中,力-扭矩传感器也可用于确定物体的一个或多个维度。具体地,通过利用力控制使物体围绕着与邻近表面接触的物体的边缘转动,系统可在完全拾起箱子之前确定该维度的幅度。

在一些示例中,对于不同的可能物体测量可预规划用于运输物体的一个或多个轨迹。规划系统可要求一定量的时间来在给定特定物体测量的情况下计算轨迹。因此,在一些示例中,从预规划的轨迹中进行选择以避免不得不让机器人等待规划系统确定要使用的轨迹,可能是有利的。在一个示例中,可以联合规划轨迹的最优“树”,这些轨迹具有共同的起始点,并且基于一个或多个物体属性的不同可能测量而分支。然后,一旦在运行中获得了测量,就可选择顺着该树下去选择特定轨迹的路径。例如,第一轨迹可以是为轻箱子规划的,第二轨迹可以是为中等重量箱子规划的,并且第三轨迹可以是为重箱子规划的。在另外的示例中,也可考虑额外的属性。例如,可基于箱子维度(例如,大致方形的箱子与细长的箱子)进一步细调为轻箱子规划的第一轨迹。

在额外的示例中,轨迹规划的一些或全部可随着确定物体测量而在运行中(例如,实时)完成。例如,在一个示例中,在第一时段期间可以规划并使用保守轨迹,其允许了在可能测量的极端(例如,非常重的箱子或者非常长的箱子)物体的安全移动。随着物体测量变得可用,轨迹可被修改成允许更快速的物体运输(例如,更轻或更小箱子的)的更激进轨迹。在一些示例中,随着确定更精确的测量,可在不同的时间点发生多个级别的细调。在另外的示例中,可使用预规划轨迹和运行中调整的组合。例如,对于可能测量的不同范围(例如,对于小箱子、中等大小箱子和大箱子)可确定预规划轨迹。基于物体落入哪个范围中可选择预规划轨迹之一,然后可基于确切的物体测量和/或基于其他物体属性来进一步细调轨迹。

现在将详细述及各种实施例,这些实施例的示例在附图中图示。在以下详细描述中,阐述了许多具体细节以便提供对本公开和描述的实施例的透彻理解。然而,没有这些具体细节也可以实现本公开。在其他情况中,没有详细描述公知的方法、过程、组件和电路,以免不必要地模糊实施例的各方面。

根据各种实施例,本文描述了用于箱子和/或其他物体的自动化装载和/或卸载的方法和系统,例如装载到贮存货柜中或者从车辆卸载。在一些示例实施例中,箱子或物体可被自动组织并放置到货盘上。在示例内,使装载/卸载卡车的过程和/或从物体创建货盘的过程自动化以便更容易贮存和运输可提供多个工业和商业优点。

根据各种实施例,使装载/卸载卡车的过程和/或创建货盘的过程自动化可包括包含一个或多个机器人设备来移动物体或执行其他功能。在一些实施例中,通过与带轮基座、万向基座(例如,可在任何方向上移动的基座)或者天花板、墙壁或地板上的轨道耦合,可以使机器人设备可移动。在一些实施例中,基座可以是提升基座。

在一些示例中,描述了包括一个或多个传感器、一个或多个计算机和一个或多个机器人臂的系统。传感器可扫描包含一个或多个物体的环境以便捕捉视觉数据和/或三维(3D)深度信息。来自扫描的数据随后可被集成到更大区域的表示中以便提供数字环境重建。在额外的示例中,重建的环境随后可用于识别要拾起的物体,确定对物体的拾取位置和/或为一个或多个机器人臂和/或移动基座规划无碰撞轨迹。

当在本文使用时,术语“箱子”将指可被放置到货盘上或者装载到卡车或货柜上或从卡车或货柜卸载的任何物体或物品。例如,除了矩形固体以外,“箱子”还可以指罐子、鼓形物、轮胎或者任何其他“简单”形状的几何物品。因此,“装载”和“卸载”各自可用于暗示另一者。例如,如果一示例描述了用于装载卡车的方法,则要理解基本上相同的方法也可用于卸载卡车。当在本文使用时,“货盘装运”(palletizing)指的是将箱子装载到货盘上并且以使得货盘上的箱子可在货盘上被贮存或运输的方式来堆叠或布置箱子。此外,术语“货盘装运”和“货盘拆卸”各自可用于暗示另一者。

当然,这里的示例也可应用到除了箱子以外的物体,以及应用到各种大小和形状的物体。

根据各种实施例,机器人操纵器可被安装在万向推车上(例如,具有允许推车在任何方向上移动的轮子的推车)。图1A描绘了包含机器人操纵器的示范性万向推车。在一些实施例中,可动推车112可包括安装在推车112上的机器人臂102。机器人臂102可包含抓取组件104,用于抓取环境内的物体。推车可包含一个或多个轮子114,轮子114可以是以两个自由度工作的万向轮。在另外的示例中,在万向推车112上可包括卷绕式前传送带110。在一些示例中,卷绕式前传送带可允许机器人在从卡车货柜或货盘卸载箱子或者向卡车货柜或货盘装载箱子时不是必须要将其抓具向左或右旋转。

在其他示例中,机器人操纵器可被安装在不同类型的可动装置上或者可完全不被安装在可动基座上。例如,机器人操纵器可被安装在工厂设置内的固定位置处。在其他示例实施例中,一个或多个机器人操纵器可被安装在卡车或货柜的轨道上。在这种示例中,机器人操纵器可用于装载或卸载卡车或货柜。

图1B是根据示例实施例图示出机器人设备100的功能框图。机器人设备100可包括各种子系统,例如机械系统120、传感系统130、控制系统140以及电源150。机器人设备100可包括更多或更少的子系统,并且每个子系统可包括多个元素。另外,机器人设备100的每个子系统和元素可被互连。从而,机器人设备100的描述的功能中的一个或多个可被分割成额外的功能组件或物理组件,或者组合成更少的功能组件或物理组件。在一些另外的示例中,可向图1A和1B所示的示例添加额外的功能组件和/或物理组件。

机械系统120可包括上文联系图1A描述的组件,包括机器人臂102、抓具104、传送带110、(可动或万向)推车112和一个或多个轮子114。机械系统120可额外地包括马达122,马达122可以是由电力供能的电动机,或者可由多种不同的能量源供能,例如基于气体的燃料或者太阳能。此外,马达122可被配置为从电源150接收电力。电源150可向机器人设备100的各种组件提供电力,并且可表示例如可再充电锂离子或铅酸电池。在示例实施例中,这种电池的一个或多个电池组可被配置为提供电力。其他电源材料和类型也是可能的。

传感系统130可使用附着到机器人臂102的一个或多个传感器,例如传感器106和传感器108,它们可以是随着机器人臂102移动而感测关于环境的信息的2D传感器和/或3D深度传感器。传感系统可确定关于环境的信息,该信息可被控制系统140(例如,运行运动规划软件的计算机)用来高效地拾取和移动箱子。控制系统140可位于设备上或者可与设备远程通信。在另外的示例中,来自在移动基座上固定安装的一个或多个2D或3D传感器(例如前导航传感器116和后导航传感器118)和安装在机器人臂上的一个或多个传感器(例如传感器106和传感器108)的扫描可被集成来构建环境的数字模型,包括卡车或其他货柜的侧面、地板、天花板和/或前壁。利用此信息,控制系统140可使得移动基座导航到某一位置中来卸载或装载。

在额外的示例中,可从3D传感器提取平面表面信息来对墙壁、地板和/或箱面建模。在对地板建模之后,将物体投影到地板平面上可使得能够分割障碍物和/或诸如箱子之类的目标物体。地板平面投影也可用于对货柜或卡车的波形侧建模,这些波形侧可能不会被准确建模为平面。在另外的示例中,侧壁角度、地板平面颠簸和俯仰和/或与侧壁的距离可用于将移动基座调遣到货柜中而没有碰撞。使用扩展的3D信息而不是单线扫描可帮助使得导航信息的提取鲁棒。例如,侧壁可具有被3D传感器捕捉的垂直幅度。使用单线的深度信息的扫描系统如果垂直扫描则可能更缓慢,和/或不那么鲁棒,因为它们获取更少的信息。在额外的示例中,前平面建模可确定在卡车卸载中到要拾取的下一组物体的距离。

在另外的示例中,机器人臂102可配备有抓具104,例如数字吸取栅格抓具。在这种实施例中,抓具可包括一个或多个吸入阀,这些吸入阀可由远程传感开启或关闭,或者由单点距离测量和/或通过检测是否实现吸取来开启或关闭。在额外的示例中,数字吸取栅格抓具可包括铰接式延伸。在一些实施例中,用流变液体或粉末来促进吸取抓具的可能性可使能在具有高曲率的物体上的额外的抓取。

在一些实施例中,抓具可有可能跨越若干个箱子或物体并且对于覆盖的物体中的一些或全部开启吸取。在一些实施例中,吸取或粘附设备可以是“数字”栅格,使得机器人设备可开启将会适配感测到要抓取的箱子的任何数目的吸取设备。在一些实现方式中,系统可注意到箱子中的缝隙(相邻箱子之间的分隔),使得吸取器可在该缝隙的两侧被激活来一次拾起两个箱子,从而使吞吐量加倍。在一些实施例中,吸取器可在一定量的时间之后感测其是否能够成功抓住一表面,在此之后它们可自动关断。在另外的示例中,吸取器的节段可折向下来抓住箱子的顶部。例如,抓具最初可以完全展开的形式开始,然后符合被抓取的表面。

在另外的示例中,机器人臂可实现摆动运动来改善吸取抓取。在另外的示例中,机器人臂可以使箱子从一侧摆动到另一侧来帮助将箱子与其周围分割。在其他实施例中,臂可在拾起箱子时摆动以避免冲撞其他物体。在这种实施例中,当尝试粘附到物体以便利用吸取拾起它时,机器人臂可采用摆动运动来使得与物体有牢固接触。在另外的示例中,机器人臂可在机器人臂正拾起物体时摆动物体以使得箱子可轻柔地破除与其他物品的摩擦或重叠接触。这可帮助避免太直接或太迅速地向上拔起物体使得其他物品被抛入空中的情形。

根据各种实施例,纸箱可具有凹的、凸的或其他形式带皱的表面,这使得吸取设备难以粘附。从而,在吸取设备进行吸取接触时摆动吸取设备可使得能够在纸箱和其他非平面物体上具有更可靠的抓取。在另外的示例中,当最初抓取箱子时,几个中心吸取设备可被开启并且臂可随着其开始拉出箱子而来回摆动。这可破除与其他箱子的表面粘附并且帮助开始拉出箱子。一旦至少部分拉出了箱子,随后就可将箱子与其他箱子更容易地分割。在一些实施例中,在杂乱环境中拾起物体的同时进行摆动可将其他物体从拾起的物体移除,从而防止不合需要地拾起周围物体。

根据各种实施例,物品的分割对于成功的抓取可能是必要的。在一些实施例中,一光滑表面片可属于两个单独的物体。在这种情况中,操纵器与物体的交互可用于扰乱该场景以更好地将物体与彼此分割。对于运动分离,在传送机上的物体、在滑动装置上的物体、在搬运物中移动的物体和/或在搬运物内活跃推挤的物体的自然或受迫运动可被光流、视差或时间延迟视图所跟踪来计算立体深度以便增强物体分割。

在其他示例中,被传感系统使用的传感器中的一个或多个可以是注册到深度传感设备的RGBaD(RGB+主动深度)彩色或单色相机,该深度传感设备使用主动视觉技术,例如将图案投影到场景中,来使得能够在一个或多个相机和已知的偏移图案投影仪之间进行深度三角测量。这种类型的传感器数据可帮助使能鲁棒的分割。根据各种实施例,诸如条码、纹理一致性、颜色、3D表面属性或表面上的印刷文本之类的线索也可用于识别物体和/或发现其姿势以便知道在何处和/或如何放置该物体(例如,将该物体装入固定接收容器中)。在一些实施例中,也可采用阴影或纹理差别来分割物体。

机器人设备100的许多或所有功能可受控制系统140控制。控制系统140可包括至少一个处理器142(其可包括至少一个微处理器),处理器142执行存储在例如存储器146这样的非暂态计算机可读介质中的指令144。控制系统140还可表示可用来以分布方式控制机器人设备100的个体组件或子系统的多个计算设备。

在一些实施例中,存储器146可包含指令144(例如,程序逻辑),指令144可被处理器142执行来执行机器人设备100的各种功能,包括以上联系图1A-1B描述的那些。存储器146也可包含额外的指令,包括向机械系统120、传感器系统130和/或控制系统140中的一者或多者发送数据、从其接收数据、与其交互和/或对其进行控制的指令。

根据各种实施例,描述了一种感知引导的机器人。例如,机器人设备可利用感知与规划的组合来引导机器人臂拾起箱子并将其放置到其需要去到的地方。图2A根据示例实施例图示了来自图1A的机器人设备的一部分与一堆箱子。如图所示,机器人设备可包括如上所述的具有抓取组件104的机器人臂102、传感器106和108以及传送机110。在一些示例中,机器人设备可被安装在如联系图1A描述的万向推车上,可被安装在不同类型的可动装置上,可被安装在铁轨或轨道上,或者可以是固定的。机器人设备可被控制来从包含箱子的形状和大小的异种混合的一堆箱子220中拾取箱子。

在示例内,包括2D和/或3D的物体的模型的虚拟环境可被确定并用于开发用于拾起箱子的规划或策略。在一些示例中,机器人可使用一个或多个传感器来扫描包含物体的环境,如图2B中所示。随着机器人臂102移动,臂上的传感器106可捕捉关于该堆箱子220的传感器数据以便确定个体箱子的形状和/或位置。在额外的示例中,通过集成来自个体(例如3D)扫描的信息可构建3D环境的更大图片。执行这些扫描的传感器可被放置在固定位置、放置在机器人臂上和/或放置在其他位置。根据各种实施例,可根据多种不同技术中的任何一种或全部来构造和使用扫描。

在一些示例中,可通过移动其上安装了一个或多个3D传感器的机器人臂来进行扫描。来自臂位置的反馈可提供关于传感器被定位在何处的姿势信息并且可用于帮助集成。替换地,或者额外地,可利用一个或多个2D传感器来进行扫描,例如通过利用运动并且跟踪环境中的关键点。在另外的示例中,扫描可从具有覆盖给定领域的视野(fields of view,FOV)的固定安装相机进行。在额外的示例中,可从视觉上对准扫描以帮助精细的姿势估计,可能给出更好的集成结果。

在另外的示例中,可利用3D体积或表面模型来构建虚拟环境以集成信息(例如,来自不同传感器的信息)。这可允许系统在更大的环境内操作,例如在一个传感器可能不足以覆盖大环境的情况下。这种技术也可提高捕捉的细节水平,这可帮助机器人设备执行各种任务。具体地,与仅仅来自单个扫描相比集成信息可产生更精细的细节(例如,通过降低噪声水平)。这可使得更好的物体检测、表面拾取或其他应用成为可能。

在另外的示例中,通过感测环境并且将该信息提取到简单数学3D几何形态(例如,平面、圆柱、圆锥、半球等等)的简化几何模型中可执行广角环境重建。在一些情况中,这种技术可使得运动规划更容易和/或可使得对模型的违反(例如,碰撞)更容易检测。替换地,或者额外地,这种技术可允许参数化的描述来扩展环境。例如,地面可被视为在遮挡它的物体背后延伸的平面。

在额外的示例中,可以3D提取环境中的平面或其他数学表面。这些已知的“理想”表面检测可被组合成环境的更精确模型。例如,平面可用于确定墙壁(或其数学描述)和其他障碍物的完整幅度以避免碰撞和检测感兴趣的物体在何处。另外,物体的数学表示可用于寻找异常,例如当人进入环境中时。这种事件可违反理想模型,这可使得对其的检测更容易。

在其他示例中,诸如箱子之类的某些物体可具有简单的平面形态。例如,金属罐可具有圆柱体的几何形态并且轮胎可具有圆环面的几何形态。示例系统可利用某些物体的这个特点来对它们建模和/或确定如何对这些物体进行运动规划。例如,某些形状的已知模板可用于细调检测到的看起来匹配特定形状的环境内的物体的特征。

在一些示例中,可至少部分经由一个或多个外观面来表示2D和3D信息。外观面(facade)可被定义为包含一组物体的接近平面的构造,被表示为深度地图(例如,作为第三维的距离的2D地图)。外观面的示例可包括卡车中的箱子壁、包含箱子或其他物体的货盘堆叠的顶部或者一箱杂乱物体的顶部。

在另外的示例中,可从箱子构造外观面,以例如规划应当以何种顺序拾起箱子。例如,如图2C中所示,箱子222可被机器人设备识别为下一个要拾起的箱子。可在基于由一个或多个传感器(例如传感器106和108)收集的传感器数据构造的表示箱子220的堆叠的前壁的外观面内识别箱子222。控制系统随后可确定箱子222是下一个要拾取的箱子,其中可能基于其形状和大小、其在箱子220的堆叠的顶部的位置和/或基于用于箱子的目标货柜或位置的特性来确定。随后可控制机器人臂102利用抓具104来拾起箱子222并将箱子222放置到传送带110上(例如,将箱子222运输到贮存区域中)。

在额外的示例中,外观面可被表示为3D表面信息的正交投影。此表示可允许解析外观面来为特定应用确定令人感兴趣的区域。例如,在卡车卸载时,可基于外观面表示来确定要拾取的下一个箱子的左上角。在其他示例中,可确定集成的3D环境的正交投影以给出用于执行应用相关任务的宽FOV、易解析表示。一个这种任务可以是找到箱子的一个或多个角落(例如,左上)来拾取。另一个这种任务可涉及找到良好的表面(例如,相对平坦且较大)来将物体拾取出容器。

在另外的示例中,一堆箱子的3D模型可被构造并用作模型来帮助规划和跟踪向堆叠或货盘装载箱子/从堆叠或货盘卸载箱子的进度。外观面的任何一个实际相机视图都可遭受视点遮挡和透视变形。因此,经由机器人臂移动的多个RGBD视图和/或来自推车基座或固定位置的不同视图可组合来创建要拾取的箱子的单个外观面。

在其他示例中,3D模型可用于碰撞避免。在示例内,规划无碰撞轨迹可涉及确定环境中的物体和表面的3D位置。轨迹优化器可利用由环境重建提供的3D信息来优化在障碍物存在的情况下的路径。在另外的示例中,优化器可实时工作并且可接受许多种类的约束。作为这种约束的示例,优化器可尝试使末端执行器在整个轨迹中始终保持水平。

在额外的示例中,环境可被捕捉为3D点的网格或集合。机器人臂可被表示为平面片段的凸包以便进行快速碰撞检查。环境的经常性或频繁的更新可允许机器人臂迅速地响应变化。在另外的示例中,优化器可在其整个路径中到处执行频繁的连续碰撞检查。优化器可接受成本形式的任意约束,例如与物体保持一定距离或者从给定角度接近目标位置。此外,优化器可通过在关节空间中工作、保持跟踪缠绕和从多个相反的动力学解决方案之中选择目标位置来避免机器人故障状况。用于运动规划的一个策略可涉及向前展望若干次移动来了解选择的目标关节位置对于下一次移动是否将会是可接受的。

在一些实施例中,路径约束,例如对于机器人臂、相机、线缆和/或其他组件的碰撞避免,可被放入基于约束的规划解决器中并被求解来得出为了感知而移动臂的最佳路径。此外,在一些实施例中,解决器可确定用于拾起、移动和放置物体的最佳路径。

根据各种实施例,3D和/或视觉传感器可被校准来确定其相对于工作空间的姿势。在固定传感器的情况下,校准可确定其在工作空间中的固定姿势。在臂上的传感器的情况下,校准可确定传感器从其附着到的臂链节的偏移姿势。

在示例内,校准技术可允许对工作空间中的任意数目的传感器的校准。校准可涉及确定多种参数和系数中的一些或全部。例如,校准可解出一个或多个固有参数,例如焦距和图像中心。作为另一示例,校准可确定一个或多个畸变系数,例如径向和切向畸变的模型。作为另外一个示例,校准可解出一个或多个外部参数,其中物体在相对于图案或其他传感器的场景中,这些传感器识别了场景中的同一图案。

在一些示例中,校准可至少部分利用校准图案来执行,校准图案可以是2D或3D的特征的已知集合。例如,可以使用点的已知图案,其中每个点和其他点之间的距离是已知的。校准可至少部分通过收集物体的多个不同视图来执行。在另外的示例中,在不同的位置捕捉校准图案的多个视图可允许(1)对相机的一个或多个系数的校准和/或(2)关于相机相对于坐标系统在何处的知识,该坐标系统是由校准图案固定之处确立的。在特定实施例中,场景中的相机可识别机器人臂上的校准图案,同时臂上的相机识别场景中的校准图案。

在额外的示例中,校准可涉及固定在场景中的相机。在此情况下,校准图案可被放置在机器人臂上。机器人臂可被配置为随着机器人臂上的校准图案的多个视图被收集而移动穿过场景。这可帮助校准相机和/或对于将相机的坐标系统与机器人的坐标系统联系起来是有用的。另外,每个设备相对于其他设备的关系可由每个设备随着机器人臂移动而确定。

在某些示例中,校准可涉及位于机器人臂上的相机。校准图案可被安装在墙壁或桌子上。然后,相机可被四处移动,从不同的机器人或机器人臂位置收集校准图案的多个视图。当收集不同的3D或2D视图时(例如,2、20、200),这些视图可用于解出校准关系。在校准之后,当臂上的相机移动时,系统可确定其相对于基于场景中的校准图案的位置设置的坐标系统在何处。在特定实施例中,校准图案和相机都可以是可动的。例如,校准图案可位于传送带上,机器人臂可被配置为在该传送带上放置箱子。在校准之后,系统可确定相机相对于传送带上的该地点在何处。

在另外的示例中,为了3D传感器校准的鲁棒估计,可在两阶段过程中执行非线性优化。在一个阶段中,可从目标和传感器的相对姿势偏移得出初始化。在另一阶段中,给定初始化,批束调整可用于找到相机与目标点一起的最优姿势。校准可被扩展到对诸如关节长度和关节角度偏移之类的机器人参数的估计。

在其他示例中,相机在校准图案上的或者校准图案在相机上的已知的、精确的机器人运动可用于改善校准结果。例如,关于相机确切地如何移动的信息可用于获得更准确的相机校准。也就是说,如果相机被向右移动50mm,则可检测从校准物体的相应(透视投影)移动量。此信息可用于联合或单独优化校准和跟踪参数。

在额外的示例中,机器人可着眼于其正在进行的校准并且以使获得更好校准的信息最大化的方式来移动。例如,其可检测到一些视图区域尚未被看到并且去到这些视图。

在另外的示例中,提出了用于大体上从杂乱的收集区域到限定的容器的异种分类物品的实际操纵的系统。在一些实施例中,包含物品的拾取位置可能对于精确物体取向(一个或多个取向)不敏感并且物品可被混合在一起。在额外的示例中,物品的放置位置可能对物体取向敏感或不敏感。在一些示例中,拾取和放置区域可被定义为对于拾取或放置物体可接受的3D区域,带有一些容差。拾取和放置区域可能是非常杂乱的,具有相似的和/或全异的物体。在其他实施例中,物品可来自固定装置或者被放入固定装置中,固定装置例如是将分类的物品保持在特定取向的金属或塑料搭扣。

在额外的示例中,拾取和放置位置的环境建模可用于智能抓取位置和运动,以及事件报告(例如,当放置区域满了或者拾取区域空了时)。在一些示例中,可计算物体包围盒并且可找出物体的区别特征(例如纹理、颜色、条码或OCR)。在一些实施例中,通过对照由物体类型或物体ID索引的位置指派的数据库进行匹配,可将物体分类到指派目的地位置中。例如,物体的位置可通过读取条码、考虑物体的大小和/或通过识别物体的特定种类来得出。

在一些示例中,可以确定机器人设备的规划以便实现物体的目标位置内物体的特定配置。例如,装载/卸载或构造/解构货盘的目标可以是实现:1)致密堆积,其中箱子之间的气隙最小化,和/或2)不容易倒塌的稳定堆积。在一些实施例中,稳定性可要求一般来说重的物体在底部,并且轻的物体在顶部。在其他示例中,可创建货盘以避免非交织列堆叠、列倾斜或者坏堆叠的其他特性。

在另外的示例中,可以装载货盘或卡车/货柜以使得后续卸载过程中人类操作者的工作达到最低限度。例如,在一些实施例中,可以按后进先出顺序来放置物品以使得在开包时最先需要的物品在顶部,第二需要的物品在下一层,等等依此类推。在其他示例中,货盘的装载可独立于物品如何朝着包装单元流动。从而,根据一些实施例,系统可处理按随机顺序或者按预先已知的顺序发送的包裹。此外,在一些实施例中,系统可在运行中适应于物品的流动的变化。在另外的示例中,通过将一个或多个箱子保持在临时贮存区中可记录并缓冲这些箱子,其中在该临时贮存区中这些箱子的顺序可沿途被改变。

根据各种实施例,2D仿真器和/或3D仿真器可被利用于卡车或货柜装载/卸载或用于货盘装载/卸载。在一些示例中,一堆箱子的状态可在物理世界中被捕捉并被输入到仿真器中。在一些实施例中,从一个箱子到所有箱子的可变大小箱子队列可被仿真器用于找到下一个要拾取的箱子。例如,2个箱子或4个箱子或10个箱子的队列可被仿真器考虑。

在另外的示例中,仿真器可搜索队列中的箱子以通过试探算法和/或通过强力或多分辨率搜索来找到最佳箱子放置。在一些实施例中,系统可以以在先前更粗略水平中找到的最佳地点周围的越来越精细的箱子放置来递增。在一些实施例中,一旦确定了特定的下一个箱子的放置,就可使用物理规划器来进行运动规划以便将该箱子高效地移动到所确定的位置。在另外的示例中,可针对堆叠的质量(例如,密度、稳定性和/或顺序放置)连续地监视物理和仿真堆叠。在一些示例中,可重复该过程直到已放置了所有箱子或者目标货柜不再能够装入另一箱子为止。

图3图示了一流程图,其根据示例实施例示出了可允许为机器人设备确定轨迹来移动物体的方法300。方法300可利用上述的任何机器人设备执行,例如包括安装在具有一个或多个传感器的可动推车上的机器人臂的设备,如联系图1A-1B所图示和描述的。在其他示例中,方法300可利用安装在不同类型的可动装置上、安装在铁轨或轨道上或者安装在固定位置的机器人操纵器来执行。在另外的示例中,方法300的一部分或全部可由位于机器人设备上和/或与机器人设备远程通信的一个或多个控制系统来执行。此外,虽然可描述具有单个机器人臂的示例,但各种替换实施例可包括任何数目的机器人臂,或者可包括与至少一个机器人操纵器集成的其他自动化系统。

此外,注意到联系本文描述的流程图描述的功能可实现为特殊功能和/或配置的一般功能硬件模块,被处理器执行来实现联系图3所示的流程图描述的特定逻辑功能、判定和/或步骤的程序代码的一些部分。当被使用时,程序代码可被存储在任何类型的计算机可读介质上,例如包括盘或硬盘驱动器的存储设备。

此外,图3所示的流程图的每个方框可表示被布线来执行该过程中的特定逻辑功能的电路。除非具体指出,否则图3所示的流程图中的功能可不按示出或论述的顺序执行,包括基本上同时执行分开描述的功能,或者在一些示例中甚至按相反顺序执行,这取决于所涉及的功能,只要维持描述的方法的整体功能即可。

如图3的方框302所示,方法300最初可涉及确定多个可能的轨迹来用于以机器人操纵器的末端执行器移动物体。更具体而言,可基于不同的可能物体测量来确定可能轨迹。在一些示例中,可对单个物体属性的不同可能值或值的范围确定不同的轨迹。例如,可影响轨迹的物体属性包括物体维度、大小、形状、质量、重心和/或惯性矩阵。在另外的示例中,也可以为两个或更多个不同属性的测量的不同可能组合确定轨迹。

根据各种实施例,可基于不同的物体测量确定轨迹以便实现不同的可能目标和/或最大化或最小化机器人使用的轨迹某些方面。例如,可确定轨迹来最小化将物体移动到特定位置所需要的时间量,同时确保机器人的抓具不会掉落物体。在另外的示例中,另一目标可以是确定轨迹来在不引起涉及物体的碰撞的情况下移动该物体。在其他示例中,可基于不同的物体测量来确定机器人的末端执行器的路径、相应的速度曲线和/或相应的加速度曲线。在另外的示例中,可通过利用不同的可能物体测量作为输入求解约束优化问题来确定轨迹(例如,以便最小化运输物体所需要的时间)。

在额外的示例中,可基于不同的物体属性来确定用于运输物体的轨迹的端点。例如,可基于物体的大小和/或维度来确定物体的放下位置(例如,以确保物体可装入目标放下位置内)。在另外的示例中,可额外或替换使用诸如形状或质量之类的其他物体属性来确定放下位置。

在一些示例实施例中,可在拾起物体之前预先确定轨迹中的一个或多个。例如,可在拾起物体之前数分钟或数秒钟确定用于不同的可能物体测量的轨迹以避免由额外的运行中轨迹规划引起的延迟。在一些示例中,对于特定属性的物体测量的不同可能范围(例如,轻箱子或重箱子)可确定不同的轨迹。在另外的示例中,对于两个或更多个不同属性的每一者的物体测量的不同可能范围(例如,重的小箱子或轻的大箱子)可确定不同轨迹。在这种示例中,可确定可能轨迹的“树”,其中树的每一级对应于特定物体属性的不同可能值。因此,树的最低一级可包含用于两个或更多个不同物体属性的值的每个可能组合的轨迹。

在额外的示例中,可基于用于选择轨迹的传感器数据何时将可能可用来确定可能轨迹的共同起始点。起始点可以是空间中的点(例如,持有物体的机器人的抓具的空间中的点)和/或特定的时间点(例如,在拾起物体的5秒后)。通过规划不同可能轨迹从共同的起始点开始,机器人可在接收到了用于选择轨迹的传感器数据的时间点或者该时间点附近开始使用所选轨迹。

图4A-4E共同图示了根据示例实施例为机器人选择轨迹来移动物体。图4A图示了用于移动物体的不同可能轨迹。更具体而言,机器人臂402可具有末端执行器404,例如用于拾起和移动物体的抓具。机器人臂402可被指令(例如,由控制系统指令)从包含多个堆叠的箱子的外观面406拾起箱子408。在一些示例中,箱子408的一个或多个测量在箱子408被机器人臂402拾起之前可能不是已知的。例如,如图4A中所示,箱子408的深度可能是未知的并且在箱子408被堆叠在外观面406内期间可能是很难或者不可能确定的(例如,如果其他箱子或物体对于传感器遮挡了箱子408的话)。

在一些示例中,可能可以预测两个或更多个很可能的测量或测量的范围。例如,在一个示例中,箱子408可能是大致立方体形状的或者其可以是矩形的。箱子410例示了箱子408的一个可能深度,并且箱子414例示了箱子408的另一个可能深度。在另外的示例中,可使用箱子深度的多于两个不同可能测量。在其他示例中,可额外地或替换地使用诸如质量或重心之类的额外的未知属性。

可基于第一可能箱子深度410确定用于移动箱子408的第一轨迹412。可基于第二可能箱子深度414确定用于移动箱子408的第二轨迹416。在一些示例中,轨迹412和416可被确定为在不引起机器人臂402的末端执行器404掉落箱子408的情况下移动箱子408。在其他示例中,可基于预测的箱子大小确定不同的轨迹以避免碰撞。例如,与箱子形状410相比,可能必须将箱子形状414在空中提升得更高,以避免撞倒或以其他方式碰撞外观面406内的其他箱子。

在一些示例中,可以为轨迹412和416确定末端执行器404和/或箱子408的通过空间的路径(例如,具有6个自由度)。在其他示例中,也可确定与路径相对应的速度和/或加速度曲线。例如,与箱子形状414相比,可能可以将箱子形状410移动得更快,而不会在移动期间引起末端执行器404掉落箱子。

在另外的示例中,在机器人臂402拾起了箱子408之后可确定可能轨迹中的一些或全部。例如,包括路径规划组件的控制系统可用于随着关于箱子属性的信息基于接收到的传感器数据变得可用而在运行中确定和/或修改轨迹。

在一个示例中,在拾起箱子之后的初始时段期间可使用第一保守轨迹。保守轨迹对于任何预测的或者可能的箱子测量可能都是使用起来安全的(例如,避免碰撞或者掉落箱子)。例如,轨迹416可以是对于箱子形状414和箱子形状410都可行的保守轨迹。在一些示例中,随后可接收到传感器数据,指示出可使用更激进的轨迹(例如,更小的箱子可被移动得更快)。例如,轨迹412可以是在接收到指示箱子大小的传感器数据之后在以后某时间点确定的更激进轨迹。在另外的示例中,可随着接收到更多传感器数据在多个时间点确定和/或细调轨迹。

返回参考图3,方法300还可涉及使得机器人操纵器用末端执行器拾起物体,如方框304所示。在一些示例中,末端执行器可包括抓具,例如吸取抓具,其附着到物体并且允许机器人操纵器(例如,机器人臂)移动物体经过轨迹。在另外的示例中,也可使用能够移动物体的不同类型的抓具或末端执行器。

图4B根据示例实施例图示了由来自图4A的机器人拾起物体。更具体而言,机器人臂402可被控制为将其吸取抓具404定位在箱子408上方以便将箱子408从箱子的外观面406举起。如这里所示,在一些示例中,轨迹可能需要被移动一定的量以允许深度传感器收集传感器数据来确定物体的一个或多个维度。例如,箱子408可能需要被举起得足够高以使得其垂直深度不会被箱子的外观面406内的其他箱子遮挡。

返回参考图3,方法300还可涉及从一个或多个传感器接收指示出物体的一个或多个测量的传感器数据,如方框306所示。更具体而言,在使得机器人操纵器拾起物体之后(例如,利用吸取抓具拾起),可从一个或多个传感器接收数据,这些传感器可包括不同类型的传感器的组合,例如视觉传感器、深度传感器、真空传感器和/或力-扭矩传感器。在另外的示例中,可在拾起之后的物体移动的初始“系统识别”阶段期间接收传感器数据。在一些示例中,在系统识别阶段期间可以促进传感器数据收集的方式来定位或调遣物体。在其他示例中,轨迹可以简单地被朝着放下位置移动经过规划路径的初始片段,同时也接收传感器数据。

在一些示例中,一个或多个深度或视觉传感器可被安装或以其他方式定位在机器人臂上。随着机器人臂移动来抓取并拾起物体,(一个或多个)臂上传感器可收集传感器数据以便估计物体的维度、大小和/或形状。在一些示例中,仅利用臂上传感器可能无法确定物体的一个或多个维度。例如,机器人的一部分或者环境内的其他物体或事物可能对于臂上传感器遮挡住了物体的一侧或多侧或者一面或多面。因此,在一些示例中,将来自一个或多个臂上传感器的传感器数据与来自定位在环境内的一个或多个臂外视觉或深度传感器的传感器数据相组合可能是有利的。

图4C根据示例实施例图示了用于测量来自图4A的物体的传感器。更具体而言,机器人臂402可配备有传感器418,传感器418可以是深度传感器或视觉传感器。此外,传感器420和422可以是安装或定位在环境内的点的深度或视觉传感器。在一些示例中,传感器420和422的位置可被选择为接收指示出臂上传感器418可能检测不到的诸如箱子408之类的物体的一个或多个维度的传感器数据。更多或更少臂上和/或臂外传感器的其他组合,包括不同类型的传感器,也是可能的。

在另外的示例中,机器人臂402可被控制为在初始系统识别阶段期间在诸如传感器420或422之类的一个或多个传感器前方移动箱子408。在此阶段期间,可首先识别箱子408的一个或多个未知维度。随后可确定机器人402用来移动箱子408的轨迹或路径以使得箱子408的未知维度被导向成使得它们可被一个或多个臂外和/或臂上传感器检测到。在另外的示例中,系统也可确定关于何时将接收到允许估计未知箱子维度的传感器数据的估计。在一些示例中,这个时间或者这个时间的机器人402的预期位置可被用作确定机器人402移动箱子408的轨迹的起始点。

在额外的示例中,三角测量深度传感器可被安装在机器人臂上用于感测接近的物体,例如被机器人臂的抓具抓取的物体。三角测量深度传感器可包括激光束投影仪和相对于该激光束投影仪具有预定偏移的相机。激光束投影仪和相机的位置随后可用于对物体上相机检测到激光的点的位置进行三角测量。在另外的示例中,三角测量深度传感器可具有低剖面以避免在检测接近物体的同时被机器人臂或安装在机器人臂上的其他组件遮挡。

图5根据示例实施例示出了三角测量深度传感器。更具体而言,激光束投影仪508可被安装在机器人臂502上的某一点,该点允许了被抓具504抓取的箱子506的一个或多个维度上的深度检测。此外,偏移相机512可被安装在机器人臂502上,相对于激光束投影仪508具有已知的偏移。相机512可被配置为检测由激光束投影仪508投影到箱子506上的激光束510。激光束投影仪508可被控制为将激光510投影到箱子506上的不同点上,并且箱子506上相机512不再能够检测到激光束510的点可被确定。通过利用激光束投影仪508和相机512的位置对不再能够检测到激光束510的点进行三角测量,可以确定对箱子506的边缘和箱子506的相应深度的估计。在另外的示例中,三角测量深度传感器也可与一个或多个其他臂上传感器和/或一个或多个臂外传感器结合使用。

在额外的示例中,机器人可配备有力-扭矩传感器来辅助确定物体的测量。更具体而言,力-扭矩传感器可被定位在机器人臂上抓具上方以便检测由已被抓具拾起的物体引起的力和/或扭矩。为了轨迹规划,力-扭矩传感器可测量物体的多种不同属性,可能包括质量、重心、质心、质心有多静态、和/或惯性矩阵。在另外的示例中,力-扭矩传感器也可用于测量一个或多个维度上物体的深度。

图6A根据示例实施例图示了定位在机器人臂上的力-扭矩传感器。更具体而言,机器人臂602可配备有抓具604,例如吸取抓具,用于拾起和移动物体。力-扭矩传感器606可被定位在机器人臂602上抓具604上方某一点以检测由被抓取的物体引起的力和/或扭矩。机器人臂602可被控制来利用抓具604抓取箱子608。来自力-扭矩传感器606的传感器数据随后可被接收并用于确定箱子608的属性,例如其质量、重心和/或完全惯性矩阵。

在另外的示例中,力-扭矩传感器也可用于估计未知的物体维度。更具体而言,通过使物体围绕着与相邻表面接近的物体边缘转动,系统可使用抓具所遵循的轨迹来确定相对于物体的该边缘的物体的深度。在使物体转动的同时,系统可使用力控制(例如,基于从力-扭矩传感器接收的数据)来维持物体的边缘与相邻表面的接触,而无需关于箱子维度的先验知识。所获得的抓具轨迹的半径于是可指示出相对于与相邻表面接近的物体边缘的物体的特定维度。

图6B图示了来自图6A的力-扭矩传感器确定物体维度的示例应用。具体地,箱子608可被抓具604抓取并且机器人臂602可使得箱子608的边缘围绕着相邻表面612上的接触点610转动。从力-扭矩传感器606接收的指示出由物体608在机器人臂602上引起的力的传感器数据可用于确保在机器人602使箱子608转动时箱子608的边缘与表面612在接触点610处维持接触。抓具604所遵循的轨迹的半径于是可用于估计相对于与相邻表面612接触的物体边缘的箱子608的深度614。

在一些示例中,相邻表面612可以是地面或地板。在其他示例中,相邻表面612可改为是位于箱子608下方的一个或多个其他物体的表面,例如当箱子608被从一堆箱子拾起时。在另外的示例中,额外地或替换地,环境内的其他表面可用作接触点来使物体转动。

在另外的示例中,可利用物体的一个或多个其他边缘作为接触点来重复使物体围绕物体的边缘转动的过程以确定物体的一个或多个额外的维度。

在额外的示例中,在初始系统识别阶段期间接收的传感器数据也可用于差错校正。例如,机器人可能已被指令通过在特定点抓取物体来拾起物体。来自一个或多个传感器的传感器数据可指示出物体被误拾取了并且需要被放下并再次被拾起。例如,视觉或深度传感器数据可指示出抓具没有被定位在机器人被指令使用的物体上的点(例如,由于光学传感或校准上的误差)。在另一示例中,力-扭矩传感器可指示出物体具有朝着一侧或另一侧偏置的非预期质心。在这种示例中,将物体放回并且在不同的点抓取它以考虑到从传感器数据获知的新信息,可能是有利的。

返回参考图3,方法300还可包括从可能的轨迹中选择一条轨迹来移动物体,如方框308所示。具体地,在接收传感器数据以确定或估计物体的一个或多个属性的一个或多个测量之后,可以为具有所确定或估计的测量的物体选择一轨迹。例如,如果对于小箱子、中等大小箱子和大箱子规划了可能的轨迹,则在确定箱子的大小之后,可以选择相应的轨迹来移动该箱子。

在另外的示例中,可基于多个不同的物体属性来选择轨迹,其中对于这些物体属性可在不同的时间确定测量。例如,对于具有不同重量和不同深度的物体可规划可能的轨迹。重量可在拾起物体之后不久利用力-扭矩传感器来确定。深度可在之后某时间点利用一个或多个深度传感器来确定。在这种示例中,一旦确定了重量就可首先选择与所确定的重量和最保守的预测深度(例如,最大可能箱子)相对应的轨迹。然后,在以后某时间点,当确定了物体的深度时,就可选择并从该时间点起使用与所确定的重量和所确定的深度两者相对应的轨迹。

在另外的示例中,可同时确定并选择一个或多个轨迹。例如,在一个示例中,物体可首先被移动经过保守轨迹,该保守轨迹假定物体具有要求最缓慢移动或最长可能路径的测量。然后,如果传感器数据指示出物体具有不同的测量以使得可以安全地使用更快的移动或更短的路径,则可在运行中确定新的轨迹。在这种示例中,并且只要已利用接收到的传感器数据确定了新轨迹,就可以选择新的轨道并且机器人就可切换到使用新轨迹。

图4D根据示例实施例图示了用于移动来自图4A的物体的所选轨迹。更具体而言,传感器数据可指示出箱子408具有与箱子形状410(而不是先前例示的箱子形状414)相对应的深度。因此,可以选择轨迹412来供机器人臂402用于移动箱子408。在另外的示例中,可从多于两个可能轨迹中选择轨迹412。在额外的示例中,基于估计的或确定的箱子测量,可从预定的轨迹进一步细调轨迹412。

返回参考图3,方法300还可涉及使得机器人移动物体经过所选轨迹,如方框310所示。在一些示例中,机器人可在标志系统识别阶段结束的时间点切换到所选轨迹。在另外的示例中,基于额外的接收到的传感器数据,可在沿着路径的一点或多点修改或调整轨迹。在一些示例中,额外的修改也可发生在额外的规划时间点或空间点。

图4E根据示例实施例图示了通过来自图4D的所选轨迹移动物体。更具体而言,机器人臂402可被命令通过所选轨迹412移动物体408。使得机器人臂402移动物体的指令可由位于机器人设备上的控制系统、由远程控制系统和/或由机载控制系统和远程控制系统的组合发送。

在另外的示例中,关于物体测量和/或所选轨迹的信息可被记录并用于未来的机器人控制。例如,可确定某些可能轨迹被规划了但很少被机器人使用,在此情况下可能不必要规划这些轨迹。在其他示例中,可确定某些规划的轨迹对于特定的物体测量效果不好,在此情况下这些规划轨迹可被修改来供未来使用。其他类型的机器学习也可用于细调轨迹规划来利用机器人设备移动物体。

本公开不限于本申请中描述的特定实施例,这些实施例意图作为各种方面的例示。在不脱离其精神和范围的情况下可做出许多修改和变化,这是本领域技术人员将会清楚的。除了本文列举的那些以外,本领域技术人员通过以上描述将会清楚在本公开的范围内的功能上等同的方法和装置。这种修改和变化意图被包括在所附权利要求的范围内。

以上详细描述参考附图对公开的系统、设备和方法的各种特征和功能进行了描述。在附图中,相似的符号通常标识相似的组件,除非上下文另有指示。本文和附图中描述的示例实施例不欲进行限定。在不脱离本文给出的主题的精神或范围的情况下,可以利用其他实施例,并且可以作出其他改变。容易理解,本文概括描述并且在附图中图示的本公开的各方面可按许多种不同的配置来布置、替换、组合、分离和设计,所有这些在这里都明确地设想到了。

表示信息的处理的方框,例如以上描述的方法300的方框,可对应于可被配置为执行本文描述的方法或技术的具体逻辑功能的电路。替换地或额外地,表示信息的处理的方框可对应于程序代码(包括相关数据)的模块、片段或部分。程序代码可包括可由处理器执行来实现方法或技术中的具体逻辑功能或动作的一个或多个指令。程序代码和/或相关数据可被存储在任何类型的计算机可读介质上,例如包括盘或硬盘驱动器在内的存储设备或其他存储介质。

计算机可读介质还可包括非暂态计算机可读介质,例如像寄存器存储器、处理器缓存和随机访问存储器(random access memory,RAM)那样短时间存储数据的计算机可读介质。计算机可读介质还可包括较长时间地存储程序代码和/或数据的非暂态计算机可读介质,例如次级或永久性长期存储装置,比如只读存储器(read only memory,ROM)、光盘或磁盘、致密盘只读存储器(compact-disc read only memory,CD-ROM)。计算机可读介质还可以是任何其他易失性或非易失性存储系统。计算机可读介质可被认为是例如计算机可读存储介质,或者有形存储设备。

另外,表示一个或多个信息传输的方块可对应于同一物理设备中的软件和/或硬件模块之间的信息传输。然而,其他信息传输可发生在不同物理设备中的软件模块和/或硬件模块之间。

附图中所示的特定布置不应当被视为限制性的。应当理解,其他实施例可包括更多或更少的给定附图中所示的每种元素。另外,一些图示的元素可被组合或省略。此外,示例实施例可包括附图中没有图示的元素。

虽然本文已公开了各种方面和实施例,但本领域技术人员将会清楚其他方面和实施例。本文公开的各种方面和实施例是为了例示,而并不打算进行限定,真实的范围和精神由所附权利要求指示。

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