波士顿动力 搬运机器人「用于抓取和放置多个物体的机器人抓取系统和方法」专利

文摘   2024-11-01 23:30   北京  

一种通过移动机器人的抓取器抓取和/或放置多个物体的方法。该多物体抓取方法包括:通过移动机器人的基于吸力的抓取器确定一个或多个候选物体组,每个候选物体组包含多个物体;为每个候选物体组确定一个抓取质量评分;并通过移动机器人的基于吸力的抓取器基于至少部分抓取质量评分,抓取候选物体组中的所有物体。多物体放置方法包括:确定与传送带相关的允许宽度;基于允许宽度和多个被抓取物体的尺寸,选择一种多物体放置技术;并基于选定的多物体放置技术控制移动机器人将多个被抓取的物体放置到传送带上。翻译而来供参考,亦可加入知识星球阅读英文原版、中文译本(见文末)

图1A和图1B是机器人100的透视图,根据本发明的一个示例性实施方案。机器人100包括一个移动底座110和一个机械臂130。移动底座110配有全向驱动系统,使底座能够在水平面内沿任意方向移动,并围绕垂直于该平面的轴旋转。移动底座110的每个车轮112都可以独立转向和驱动。此外,移动底座110配备多个距离传感器116,帮助机器人100在其环境中安全移动。机械臂130为一个6自由度(6-DOF)的机械臂,包含三个俯仰关节和一个3自由度的腕关节。机械臂130的远端安装了一个末端执行器150。机械臂130通过转台120与移动底座110连接,该转台可以相对于移动底座110旋转。除了机械臂130之外,一个感知桅杆140也连接到转台120上,因此转台120相对于移动底座110的旋转会同时带动机械臂130和感知桅杆140旋转。机械臂130在运动学上受到限制,以避免与感知桅杆140发生碰撞。感知桅杆140还可以相对于转台120独立旋转,并包括多个感知模块142,用于收集机器人环境中一个或多个物体的信息。机器人100的集成结构和系统级设计使其在多种不同应用中能够快速高效地操作,以下提供了一些应用实例。

图2A展示了机器人10a、106和10c在仓库环境中执行不同任务的情况。第一个机器人10a在卡车(或集装箱)内,将卡车中的堆叠箱子11移到传送带12上(此特定任务将在下文中结合图2B进行更详细的讨论)。在传送带12的另一端,第二个机器人104将箱子11整理在托盘13上。在仓库的另一区域,第三个机器人10c从货架上取下箱子,以在托盘上组建订单(此特定任务将在下文中结合图2C进行更详细的讨论)。机器人10a、105和10c可以是相同机器人的不同实例或相似的机器人。因此,这些描述的机器人可以理解为多用途的专用机器人,它们设计用于准确高效地执行特定任务,但并不限于执行单一或少量任务。

图2B展示了机器人20a从卡车29卸载箱子21并将其放置在传送带22上的场景。在此箱子抓取应用中(以及其他类似的箱子抓取应用中),机器人20a反复抓取一个箱子,旋转,将箱子放置,然后再旋转回去抓取下一个箱子。尽管图2B中的机器人20a是不同于图1A和1B中的机器人100的一个实施例,但参考图1A和1B中的机器人100的组件将有助于解释图2B中机器人20a的操作。

在操作过程中,机器人20a的感知桅杆(类似于图1A和1B中的感知桅杆140)可以独立于安装它的转台(类似于转台120)旋转,使感知模块(类似于感知模块142)可以捕捉环境图像,从而让机器人20a在执行当前移动的同时规划下一个动作。例如,当机器人20a从卡车29中的箱子堆叠中抓取第一个箱子时,感知桅杆上的感知模块可能指向并收集关于第一个箱子放置位置(如传送带22)的信息。然后,在转台旋转并且机器人20a将第一个箱子放置在传送带上时,感知桅杆可以相对于转台旋转,使感知模块指向箱子堆叠,并收集关于箱子堆叠的信息,用于确定要抓取的第二个箱子。当转台旋转回来以允许机器人抓取第二个箱子时,感知桅杆可能会收集传送带周围区域的更新信息。通过这种方式,机器人20a可以并行化原本需要顺序执行的任务,从而实现更快速和高效的操作。

图2B中还值得注意的是机器人20a在与人类(如工人27a和275)协同工作。由于机器人20a设计用于执行许多传统上由人类完成的任务,因此其占地面积较小,既能进入为人类设计的区域,又能最小化围绕机器人的安全区域(例如,防止人类进入的区域和/或关联有其他安全控制的区域,详细说明见下文)。

图2C展示了机器人30a执行订单组建任务的情况,其中机器人30a将箱子31放置在托盘33上。图2C中,托盘33位于一个自主移动机器人(AMR)34上,但应当理解,该示例中的机器人30a的能力也适用于不与AMR相关的托盘组建。在该任务中,机器人30a从仓库货架35的上方、下方或内部取下箱子31,并将箱子放置在托盘33上。某些相对于货架的位置和方向可能提示不同的抓取策略。例如,位于低层货架的箱子可以通过机械臂末端执行器抓取箱子顶部表面(即执行“顶部抓取”)来轻松拾取。然而,如果待抓取的箱子位于一堆箱子顶部,并且箱子顶部与货架的水平隔板之间间隙有限,机器人可能会选择抓取箱子侧面(即执行“侧面抓取”)。

为在受限环境中抓取一些箱子,机器人可能需要仔细调整机械臂的方向,以避免接触其他箱子或周围的货架。例如,在典型的“钥匙孔问题”中,机器人可能只能通过穿过一个由其他箱子或货架界定的小空间或狭窄区域(类似于钥匙孔)来访问目标箱子。在这种情况下,移动底座和机械臂的协调可能会有所帮助。例如,能够向任意方向平移底座使机器人能够尽可能靠近货架,实际上延长了其机械臂的长度(相比无法任意靠近货架的传统机器人)。此外,能够向后平移底座使机器人可以在抓取箱子后将机械臂从货架中抽出,而无需调整关节角度(或最小化关节角度的调整),从而为许多钥匙孔问题提供了简单的解决方案。

图2A-2C中展示的任务只是集成移动操作机器人可用于的部分应用示例,本披露并不限于配置为执行这些特定任务的机器人。例如,所描述的机器人可以适用于执行包括但不限于以下任务:从卡车或集装箱中移出物体;将物体放置在传送带上;从传送带上移出物体;将物体整理成堆;将物体整理在托盘上;将物体放置在货架上;在货架上整理物体;从货架上取出物体;从顶部抓取物体(如执行“顶部抓取”);从侧面抓取物体(如执行“侧面抓取”);与其他移动操作机器人协调;与其他仓库机器人协调(如与AMR协调);与人类协作;以及其他众多任务。

图3是机器人400的透视图,根据本发明的一个示例性实施方案。机器人400包括一个移动底座410和一个与移动底座可旋转连接的转台420。一个机械臂430和一个感知桅杆440连接到转台420上。感知桅杆440包含一个驱动装置444,能够使感知桅杆440相对于转台420和/或移动底座410旋转,从而可以独立控制感知桅杆的感知模块442的方向。

图3中的机械臂430是一个6自由度(6-DOF)的机械臂。当结合能够相对于移动底座围绕与Z轴平行的垂直轴偏航的转台420时,机械臂/转台系统可以被视为一个7自由度(7-DOF)系统。6-DOF机械臂430包括三个俯仰关节432、434和436,以及一个3自由度的腕部438,某些实施方案中腕部可以是一个球形3自由度腕部。

从转台420开始,机械臂430包括一个转台偏移部件422,相对于转台420是固定的。转台偏移部件422的远端与第一个连杆433的近端在第一个关节432处可旋转连接。第一个连杆433的远端与第二个连杆435的近端在第二个关节434处可旋转连接。第二个连杆435的远端与第三个连杆437的近端在第三个关节436处可旋转连接。第一个、第二个和第三个关节432、434和436分别与第一、第二和第三轴432a、434a和436a相关联。

第一、第二和第三关节432、434和436还与第一、第二和第三驱动装置(未标出)相关联,这些驱动装置能够围绕一个轴旋转连杆。一般来说,第n个驱动装置配置为围绕与第n个关节相关的第n个轴旋转第n个连杆。具体来说,第一个驱动装置配置为围绕与第一个关节432相关的第一个轴432a旋转第一个连杆433;第二个驱动装置配置为围绕与第二个关节434相关的第二个轴434a旋转第二个连杆435;第三个驱动装置配置为围绕与第三个关节436相关的第三个轴436a旋转第三个连杆437。在图3所示的实施例中,第一、第二和第三轴432a、434a和436a平行(在本例中均平行于X轴)。在图3所示的实施例中,第一、第二和第三关节432、434和436均为俯仰关节。

在某些实施方案中,一个高度集成的移动操作机器人的机械臂可能包括比上述机械臂更多或更少的自由度。此外,一个机械臂不必局限于具有三个俯仰关节和一个3自由度的腕部。一个高度集成的移动操作机器人的机械臂可以包括任何适合的关节类型和数量,无论是旋转关节还是滑动关节。旋转关节不一定要作为俯仰关节布置,而是可以是俯仰、滚转、偏航或其他任何适合类型的关节。

回到图3,机械臂430包括一个腕部438。如上所述,腕部438是一个3自由度的腕部,在某些实施方案中可以是一个球形3自由度腕部。腕部438与第三个连杆437的远端相连。腕部438包含三个驱动装置,配置为围绕三个互相垂直的轴旋转与腕部438的远端相连的末端执行器450。具体来说,腕部可能包括一个第一个腕部驱动装置,用于围绕第一个腕部轴相对于机械臂的远端连杆(例如第三个连杆437)旋转末端执行器;一个第二个腕部驱动装置,用于围绕第二个腕部轴相对于远端连杆旋转末端执行器;一个第三个腕部驱动装置,用于围绕第三个腕部轴相对于远端连杆旋转末端执行器。第一个、第二个和第三个腕部轴可以互相垂直。在球形腕部的实施方案中,第一个、第二个和第三个腕部轴可以相交。

在某些实施方案中,末端执行器可能与一个或多个传感器相关联。例如,一个力/扭矩传感器可以测量施加在末端执行器上的力和/或扭矩(如扳手)。此外或替代地,一个传感器可以测量末端执行器(以及例如末端执行器抓取的物体)在机械臂腕部上的作用力和/或扭矩。这些传感器信号可能用于质量估算和/或路径规划操作中。在某些实施方案中,与末端执行器相关的传感器可以包括一个集成的力/扭矩传感器,例如一个6轴力/扭矩传感器。在某些实施方案中,可能使用单独的传感器(例如,单独的力和扭矩传感器)。有些实施方案可能仅包括力传感器(例如单轴力传感器或多轴力传感器),有些实施方案可能仅包括扭矩传感器。在某些实施方案中,末端执行器可以包括自定义的传感装置。例如,可以布置一个或多个传感器(例如一个或多个单轴传感器),以实现沿多个轴的力和/或扭矩感测。末端执行器(或机械臂的其他部分)还可以包括适当数量和配置的相机、距离传感器、压力传感器、光传感器或任何其他适合的传感器,无论是用于感测负载特性还是其他用途,本披露不受此限制。

如上所述,负责在拣放操作中将物体从一个位置移动到另一个位置的机器人设备,通过在单次拣放周期内抓取和放置多个物体可以提高其性能,前提是拣放操作可以在不损坏物体的情况下完成。本披露的某些实施方案涉及多重抓取规划和执行以及多重放置操作的技术。

为实现多重抓取操作,机器人设备可以确定可以一起抓取的物体组,规划抓取这些物体组的策略(例如,包括抓取器的姿势确定),然后根据规划的策略抓取物体组。或者,在某些实施方案中,可以评估第一位置处的多个物体以确定是否符合多重抓取条件(例如,物体是否足够小)。在确定符合多重抓取条件的物体后,可以选择一个目标物体进行抓取,并评估附近符合多重抓取条件的物体,以确定是否可以与目标物体一起多重抓取。图4展示了执行多重抓取操作的过程455,根据本披露的某些实施方案。在步骤460中,确定一个要用机器人设备的末端执行器抓取的目标物体(例如,一个包裹如箱子)。在某些实施方案中,感知模块可以从捕捉的一个或多个图像(例如RGBD图像)中检测候选物体。例如,可以使用一个或多个训练过的物体检测模型来检测图像中的一个或多个物体表面,并选择特定的目标物体(例如作为下一个被机器人设备抓取的物体)。在某些实施方案中,可以确定适合机器人设备抓取的一组物体(可以包括机器人周围环境中的所有物体或部分物体)作为候选对象进行抓取。然后,可以基于各种启发式、规则或与特定环境和/或机器人设备能力相关的其他因素,从候选对象中选择一个目标物体。

过程455然后进行到步骤462,其中确定要进行多重抓取的一个或多个候选物体组。例如,通过机器人设备的感知系统检测到的位于目标物体附近的每个“非目标”物体可以被评估,以确定该物体是否符合一个或多个条件,以便其被包含在可与目标物体一起多重抓取的物体组中。相反,也可以评估每个非目标物体,以确定其是否不符合多重抓取条件,是否应从多重抓取候选物体组中排除。

图5A示意性地展示了一个机器人设备可抓取的箱子堆叠的示例场景。在图5A的示例中,目标箱子510已被选定(例如,通过一个箱子抓取顺序过程)。堆叠中的其他箱子可以进行评估,以确定它们是否是可以与箱子510一起进行多重抓取操作的有效候选对象。可以使用多种标准来确定一个物体是否是多重抓取操作中的有效候选对象。例如,如果该物体的正面与目标物体的正面未很好地对齐,则该物体可能会被排除在多重抓取的考虑范围之外。图5A中的箱子512展示了一个未对齐的非目标物体的示例,可能会被排除在多重抓取考虑之外。如图所示,箱子512的前面位于目标箱子510的正面较远的位置。在某些实施方案中,如果非目标物体相对于目标物体的未对齐超过阈值(例如2厘米、3厘米、5厘米等),则该非目标物体可能会被排除在多重抓取候选对象之外。

图5D和5E示意性地展示了两个物体的俯视图,这些物体未完全对齐但可能仍被视为可以一起抓取的候选对象。图5D展示了用于确定邻近物体是否足够对齐以便一起抓取的第一种过程,根据本披露的一些实施方案。尽管图5D仅展示了两个邻近物体相对于彼此的对齐情况,但应理解,这里描述的技术也可以用于确定两个以上邻近物体的对齐情况。如图5D所示,可以相对于目标物体572的正面方向定义一个对齐窗口570。在图5D的示例中,对齐窗口570由一组与目标物体572方向对齐的平行平面组成,平行平面之间隔有预定距离。如果目标物体572和邻近物体574的正面的四个角都落在对齐窗口570内,则可以确定目标物体572和邻近物体574已足够对齐,可以一起抓取。然而,如果如图5D所示,至少有一个角落超出了对齐窗口570,则可能确定目标物体572和邻近物体574未足够对齐,无法作为多重抓取操作中候选物体组的一部分一起抓取。

图5E展示了用于确定邻近物体是否足够对齐以便一起抓取的第二种过程,该过程对一个物体(例如目标物体572)的方向依赖较少,根据本披露的一些实施方案。尽管图5E仅展示了两个邻近物体相对于彼此的对齐情况,但应理解,这里描述的技术也可以用于确定两个以上邻近物体的对齐情况。例如,如果目标物体附近有多个邻近物体,则在考虑物体的对齐情况时可以考虑两个或多个个体物体的方向。如图5E所示,可以相对于目标物体582和邻近物体584的正面方向定义一个对齐窗口580,这使得邻近物体584的方向在对齐确定中相比图5D的对齐过程具有更大的影响。如果如图5E的示例中所示,目标物体582和邻近物体584的正面的所有角都在对齐窗口580内,则可以确定目标物体582和邻近物体584已足够对齐,可以一起抓取。然而,如果目标物体582和邻近物体584的正面角中至少有一个超出了对齐窗口580,则可能确定目标物体582和邻近物体584未足够对齐,无法作为多重抓取操作中候选物体组的一部分一起抓取。

排除非目标物体作为多重抓取候选对象的其他标准的非限制性示例包括:物体是否太大、是否有未知尺寸和/或是否最长边与目标物体的最长边不同。图5A中的箱子514展示了一个非目标物体的示例,该物体太大或具有未知尺寸,因此被排除为与目标箱子510一起抓取的有效多重抓取候选对象。在某些实施方案中,机器人设备可能会存储多个物体原型的信息(例如,机器人设备最近通过其感知系统检测到的箱子)。在可能的情况下,通过机器人系统的感知系统检测到的每个物体都可以与其中一个原型相关联。无法以一定置信度(例如,由于具有未知尺寸,如深度)与原型匹配的物体,可能需要进行“抓取器内”检测。在抓取器内检测过程中,可以控制机器人设备抓取该物体并将其旋转,以确定一个或多个未知尺寸(例如深度尺寸)。然后可以基于具有完整尺寸规格的物体创建一个新的原型。在图5A的示例中,查看堆叠的正面时,箱子514可能具有未知的深度尺寸,因而无法与任何存储的原型匹配。由于对箱子514的这种不确定性,它可能会被排除为有效的多重抓取候选对象。在基于上述标准排除箱子512和514作为有效的多重抓取候选对象后,剩下的箱子516和518可能会被包括在有效多重抓取候选对象集合中。例如,尽管箱子518的正面与目标箱子510的正面略有未对齐,但未对齐量小于阈值,因而仍然是有效的多重抓取候选对象。

在确定了有效的多重抓取候选对象集合(例如,可以与目标物体一起抓取的物体)后,可以使用有效多重抓取候选对象集合中的物体来确定多个候选物体组。例如,可能会出现有效多重抓取候选对象集合中包含的物体数量超过机器人设备的抓取器能够同时抓取的数量的情况。因此,可以形成并评估多个候选物体组(每个组都包含目标物体)。在某些实施方案中,候选组中的某些物体可能会由于与其他已被排除的物体的依赖关系而从组中排除(例如,图5A示例中的箱子512和514)。例如,在考虑一个特定的抓取器姿势时,可以确定候选组中的任何物体是否被不包含在该组中的物体覆盖。如果一个物体被另一个已被排除的物体压在顶部,则该物体可被视为被覆盖。将被其他物体覆盖的物体包括在候选组中可能导致未抓取的箱子(位于上方的物体)掉落在地面上,从而减慢机器人的速度并可能损坏掉落物体的内容。

图5B示意性地展示了基于堆叠物体之间依赖关系的覆盖物体的概念。在图5B的示例中,箱子B和C依赖于箱子A,因为箱子A压在箱子B和C上。因此,任何包含箱子B或C的候选组都应包括箱子A,以避免抓取被覆盖的箱子。

图5C示意性地展示了一个特定抓取器姿势下的被覆盖箱子的概念,使用虚线箱550表示。在图5C的示例中,由于与堆叠中其他箱子未对齐,箱子530已被排除在多重抓取之外。尽管在图5C中,抓取器在该姿势下可以接触到箱子520、522和524,但若在此组中抓取箱子524可能导致排除的箱子530(位于箱子524上方)掉落到地面上,因为它依赖于箱子524。因此,对于图5C所示的抓取器姿势,箱子524可能会被排除在组之外,仅包含箱子520和522。

在本披露的某些实施方案中,确定特定抓取器姿势的最大有效物体组后(例如图5C中的箱子520和522),可以检查一个或多个有效的子组(例如,不包含被覆盖物体的子组)以确定是否可以获得更好的抓取质量。例如,在某些情况下,可能更倾向于不抓取候选组中的每一个可接触的物体。例如,如果预期某些抓取器吸盘在特定抓取器姿势下仅能接触到一个物体的一小部分,则可能更倾向于将该物体留待稍后作为另一组的一部分抓取。

回到图4中的过程455,在步骤462确定了一个或多个多重抓取候选物体组后,过程455进入步骤464,对每个候选物体组的抓取质量进行评估。例如,可以针对每个候选物体组评估多个候选抓取器姿势。一些候选抓取器姿势可能由于与环境(例如卡车的侧面或墙壁)发生碰撞而被排除,而其他候选抓取器姿势可能提供更高质量的物体组抓取。在某些实施方案中,步骤462和464可以合并为一个步骤。例如,可以在确定下一个候选组之前评估每个候选物体组的抓取质量。这样的实施方案可能比先确定所有候选组然后评估这些组的抓取质量的方案使用更少的计算资源,因为可以仅在内存中保留到目前为止抓取质量最佳的候选组(或具有最高抓取质量分数的几个候选组),并与识别出的下一个候选组进行比较。

在某些实施方案中,确定候选物体组的抓取质量包括使用抓取器与物体的物理模型来确定候选物体组中每个物体的抓取质量。图6A示意性地展示了物体侧面抓取的力图,展示了抓取器与物体之间的预期作用力。特别是侧面抓取由于级联失效(即位于抓取器顶部的吸盘承受的力过大,导致抓取器与物体分离)而具有维持高抓取质量的挑战。需要注意的是,级联失效也可能发生在顶部抓取中(例如,当顶部抓取未直接位于物体重心上方时)。某些实施方案针对为候选物体组中的每个物体建模这些作用力并确定抓取器定位以减少抓取失败的技术。

在某些实施方案中,用于估计物体与抓取器交互的物理模型可以确定组中所有物体中“最弱”吸盘所需的预期力,并将该预期力用作该组的抓取质量评分。例如,较高的分数可能表示较差的抓取质量,因为对机器人硬件的要求更高。如图6A所示,物理模型可以考虑抓取器与物体之间的各种静态力,包括抓取器施加到物体上的吸力、抓取器与物体接触界面的摩擦力,以及物体被抓取器抓住时的重力。假设抓取器的所有吸盘施加相同的吸力,并假设吸盘的线性负载,可以确定最弱吸盘的负载,并至少部分地利用该力来确定抓取器在特定姿势下抓住物体时的抓取质量评分。

在某些实施方案中,可以使用一个或多个启发式方法来优先选择具有较多物体的候选组。从机器人的吞吐量角度来看,选择这些组可能是有利的,但可能会增加对抓取中最弱吸盘的要求。图6B示意性地展示了相对于待抓取物体的不同抓取器姿势的抓取质量评估。在相对于目标物体的给定抓取器姿势下,可以分析抓取器可以到达的物体及其子集,以确定抓取质量评分。在图6B中,最左侧的场景中单个箱子的抓取与良好的抓取质量评分相关,因为箱子的整个正面都与抓取器的吸盘接触。由于更大数量的物体组可能更受偏好,因此也可以评估两箱和三箱组的抓取质量分析。如图6B所示,在两箱场景中,两个箱子的整个正面都与抓取器的吸盘接触,从而为两箱组提供了良好的抓取质量评分。考虑到图6B左侧的两个具有良好抓取质量评分的场景,可以选择较大的两箱组作为优选,因为在这种多重抓取操作中可以安全地移动多个箱子。

假设进一步更大的组可能更受偏好,可以评估图6B右侧所示的两种三箱场景中不同抓取器姿势的抓取质量评分。最右侧的三箱场景可能被判定为抓取质量评分较差,因为组中的最右侧箱子与抓取器的吸盘接触面积很小。在这种情况下,最弱吸盘可能位于组中最右侧箱子的正面,且如果在此场景下尝试抓取,组中最右侧的箱子可能无法以足够的强度被抓住,可能会掉落。在图6B所示的两种三箱场景中,“居中”抓取器姿势(右中)中,只有一个箱子(中间箱子)的抓取器吸盘完全覆盖接触到其表面,而其他两个箱子仅部分覆盖抓取器接触区域。这样的场景可能与左侧两个场景的“良好”抓取质量评分和最右侧三箱场景的“差”抓取质量评分之间的评分相关。从图6B展示的四种抓取器姿势中,基于其关联的“良好”抓取质量评分并包含最大的箱子组,可能会选择两箱抓取器姿势。

不同类型的误差(例如物体感知误差、机械臂动作误差、机器人校准误差等)可能会导致难以确定抓取器的哪个吸盘能够接触并成功密封住机器人尝试抓取的物体。在某些实施方案中,可以根据吸盘是否能够与物体形成良好密封的置信度对一个或多个吸盘进行分类。例如,每个吸盘可以被分类为有信心或无信心的吸盘。此类分类可以使机器人在进行抓取规划和/或抓取器控制时对无信心的吸盘更加谨慎处理。在图6C展示的示例中,每个抓取器的吸盘可以包括一个内径610(在此内径区域内应用吸力)和一个形成吸盘外边界的外径612。内径610和外径612之间的材料可以是可压缩的,以便在尝试抓取物体时使吸盘紧贴物体。为了确保与物体形成良好的密封,重要的是吸盘的整个内径610与物体接触,但外径612是否完全接触物体则不那么重要。在某些实施方案中,如果吸盘的外径612位于被抓取的物体表面内且超过第一个容差值,则一个或多个吸盘可以被分类为有信心的;而如果吸盘的内径610在被抓取的物体表面内但外径612未超过第二个容差值,则吸盘可被分类为无信心的。在某些实施方案中,第一容差值和第二容差值是相同的。

在某些实施方案中,抓取器吸盘的分类(例如有信心或无信心)可以用来为抓取器获取物体时的控制策略提供信息,从而提高抓取的整体稳健性。图6D展示了一个抓取器控制器的示例架构620,根据本披露的一些实施方案。如图所示,抓取器控制器622可以与一组并行运行的子控制器相关联,这些子控制器与执行吸盘相关的各种控制操作(例如泄漏检测、吸盘重试等)的模块对应。每个子控制器及其对应的模块可以与具有不同置信度级别的吸盘相关联。例如,架构620包括一个有信心子控制器624及其关联的第一模块628,以及一个无信心子控制器626及其关联的第二模块630。这些模块(例如第一模块628,第二模块630)可以基于关联吸盘的置信度进行差异化和/或调整。例如,无信心子控制器626可能配置为指示模块630执行泄漏检测,但使用的吸盘重试次数较少,以区别于分类为有信心的吸盘。通过这种方式,无信心的吸盘可以关联到更严格的控制策略,从而使剩余吸盘(例如与较高置信度相关联的吸盘)在抓取物体时产生更好的真空效果。

发明人认识到,在为多重抓取操作进行抓取规划时,可以考虑除了抓取质量之外的其他因素,例如影响机器人成功抓取和移动物体的能力的因素。例如,堆叠物体的前方稳定性可能会受到机器人从堆叠中抓取物体顺序的影响。通常,优先从堆叠的最上方连续抓取物体,以避免在堆叠中形成不稳定的物体列。为此,一些实施方案在考虑在多重抓取操作中要抓取哪些物体时,会对堆叠中的物体之间的依赖关系进行建模。在一个实施方案中,可以使用无环图来建模堆叠中物体之间的依赖关系,图中的每个节点对应一个物体,图中从节点A到节点B的每条有向边表示物体A在物理上阻挡了物体B。堆叠中每个物体的“深度”(或未被排除在多重抓取之外的物体的子集)可以被确定为从一个自由物体(即深度为0的物体)到表示该物体的节点之间的最长路径。递归地,堆叠中给定物体的深度可能比直接阻挡它的箱子中的最大深度多一。图7A示意性地展示了根据本披露的一些实施方案计算的堆叠前方不同箱子的深度。如图所示,前方最上排的箱子是“自由”箱子,分配的深度为0。位于前方自由箱子下方的箱子分配深度为1,最底排的箱子分配深度为2。在为多重抓取操作进行抓取规划时,可能优先选择总深度较低的候选物体组,而不是总深度较高的候选物体组。图7A展示了在前方垂直排列的第一候选物体组710和水平排列的第二候选物体组720。第一候选物体组710的物体总深度为0+1+2=3,而第二候选物体组720的物体总深度为0+0+0=0。在此示例中,基于总深度较低的0,优先选择第二候选物体组720进行抓取,而不是总深度较高的第一候选物体组710。

作为在考虑候选物体组时可能考量的另一个因素,一些实施方案会考虑组内物体的放置方式(例如在传送带、托盘上等)。例如,第一候选物体组中的某些物体可能比第二候选物体组中的物体更快速或更可靠地放置。在确定多重抓取操作中要抓取哪个候选物体组时,可以考虑物体放置的各种方面。在一个将物体放置在传送带上的示例中,可以至少部分基于抓取物体组时是否需要高空掉落以获得期望的放置方向(例如物体的最长尺寸沿传送带移动方向对齐)来选择候选物体组。为此,本披露的一些实施方案可以确定每个候选物体组的放置方向,并确定组中任何物体的下落高度是否超过阈值下落距离。与超过阈值下落距离的候选组相比,可能优先选择组中少量或没有物体超过阈值下落距离的候选组来进行抓取。需要注意的是,下落距离只是物体放置属性的一个示例,可以在确定选择哪个候选物体组进行抓取时予以考虑,还可以使用其他或替代的物体放置属性。

在单物体抓取操作中,任何使抓取器的吸盘数量合理地接触待抓取物体表面的抓取器姿势(例如水平、倾斜、垂直)都可以被考虑。在多重抓取操作中(至少对于矩形表面的物体),通常优先选择水平或垂直对齐的多个物体,因为抓取器的倾斜方向可能导致与某些箱子的接触最小,即使在此抓取器姿势下它们在抓取器的可达范围内。

返回图4中的过程455,在评估了候选物体组的抓取质量(例如所有可达的有效物体及其子集)后,过程455进入步骤466,在此判断是否存在与优质抓取评分(例如,抓取质量评分高于特定阈值)相关的至少包含两个物体的候选物体组。如上所述,除了抓取质量之外,还可以在选择候选物体组时考虑其他因素,包括但不限于候选物体组的总深度和/或物体放置属性。如果在步骤466中确定没有与优质抓取评分相关的至少包含两个物体的候选物体组,过程455进入步骤468,执行单物体抓取操作(例如抓取目标物体)。执行单物体抓取操作后,过程455进入步骤476,将单个物体移动到目标位置。如果在步骤466中确定存在多个物体且抓取质量评分高于阈值的候选物体组(即有效的多重抓取操作是可能的),过程455进入步骤470,尝试抓取评分最高的候选物体组。然后,过程455进入步骤472,在此判断是否对组中所有物体产生足够的吸力。

发明人认识到,计划的物体组抓取的预期质量可能与实际尝试后的抓取质量不同。例如,抓取器上的一个或多个吸盘可能无法在组中一个或多个物体的抓取面上形成良好的密封(例如由于物体表面完整性问题、抓取器中存在有缺陷的吸盘组件等)。在步骤472中,评估组中每个抓取物体的抓取质量,以确定抓取器是否对抓取的物体产生足够的吸力,能够在不掉落的情况下安全移动物体。在某些实施方案中,基于吸力的抓取器的每个吸盘组件可以包含一个压力传感器,能够测量吸盘组件内的压力。这些单独吸盘压力测量可以使机器人设备确定抓取器的吸盘中有多少与组中每个物体的表面充分接触。对于吸力不足的物体,可以判断该物体的吸力失败,过程455可能进入步骤474,在移动剩余物体到目标位置之前释放吸力不足的物体。

在单物体抓取操作中,如果在尝试抓取后判断目标物体吸力失败,机器人设备可以被配置为释放目标物体并从堆叠中抓取另一个物体(例如下一个最佳目标候选物体)。对于多重抓取操作中抓取多个物体的情况,如果所有抓取物体吸力不足,它们都可能被释放,类似于单物体抓取的情况。然而,如果部分抓取物体具有良好的吸力,而其他物体没有,如何处理吸力不足的物体可能不如单物体操作直接。在抓取组中物体水平排列的情况下,机器人设备在某些实施方案中可以仅释放吸力不足的物体,并继续将剩余物体移动到目标位置。在抓取组中物体垂直排列的情况下,机器人设备在某些实施方案中可以基于吸力不足物体和组中其他物体的相对位置,选择性释放抓取组中的物体。

7B示意性地展示了一个多重抓取场景,其中计划的多重抓取包含一组垂直排列的三个箱子。在此场景中,堆叠中的底部箱子可能被视为一个“被覆盖”箱子,因为成功从堆叠中提取该箱子可能依赖于成功提取上面的箱子(图7B示例中的中间箱子)。在尝试抓取垂直堆叠的箱子(例如通过对箱子施加吸力)后,如果确定中间箱子的吸力不足,则可以释放中间箱子和其下方的箱子,仅提起并搬运顶部箱子到目标位置,以避免抓取被覆盖的底部箱子。相反,如果只有底部箱子被判断为吸力不足,机器人设备可以仅释放底部箱子,并继续提起并搬运顶部两个箱子到目标位置。

在单物体抓取操作中,当在运输过程中掉落抓取的物体时,机器人设备可以被配置为启动掉落物体序列,在继续下一个抓取-放置循环之前取回掉落的物体。在某些实施方案中,在多重抓取场景中搬运过程中掉落一个或多个物体后,机器人设备可以完成放置任何仍被抓取的物体,然后取回掉落的物体再继续下一个抓取-放置循环。

碰撞避免对于确保抓取的物体在运输到目标位置时不会因与环境特征(例如卡车的墙壁或天花板)发生碰撞而掉落至关重要。在单物体抓取场景中,可以通过将抓取的目标物体建模为沿规划路径移动的体积来考虑碰撞避免。如果建模体积接触到一个或多个障碍物(例如卡车墙壁、卡车天花板、机器人设备),则可以确定该轨迹为无效轨迹,不会选择执行。在多重抓取场景中,某些实施方案可能将同时抓取的物体建模为包含组中所有物体的单个体积,而不考虑它们的实际形状。尽管在某些情况下,如果抓取的物体尺寸不同,这种建模方法可能显得过于保守,但这种方法相比逐个建模组中每个物体计算需求更低。

在机器人抓取物体后,机器人可以确定如何将物体放置在目标位置(例如在传送带、推车或托盘上)。物体在目标位置的放置方向可能会影响,例如物体放置的稳定性。因此,以期望的方向(例如顶部朝上、最小侧面朝上、长侧面朝下等)在目标位置放置物体可能很重要,以确保或促进物体在目标位置的稳定性。

在某些情况下,物体在目标位置的期望方向可能至少部分取决于机器人执行的特定任务。例如,在将箱子从卡车上卸载到传送带时,可能期望将传输箱子的最长尺寸沿传送带的行进方向对齐,以促进箱子在传送带表面的稳定放置。在某些情况下,物体的期望方向可能取决于物体的一个或多个特征。例如,如果物体是包含易碎部件(例如玻璃器皿)的箱子,期望的方向可能是保持箱子与堆叠中的方向相同(例如顶部朝上),以避免因侧翻或倒置而损坏内容物。确定物体是否应当顶部朝上放置,例如因为其包含易碎物品,可以通过任何合适的方法进行。例如,一个或多个与物体关联的原型可能包含关于物体的信息,可以用于确定该物体应当顶部朝上放置。在某些实施方案中,可以至少部分基于物体上的标签(例如条形码、产品标签等)确定物体内容信息,并基于标签识别来确定该物体应当以顶部朝上的方向放置。在某些实施方案中,物体内容信息还可用于更改机器人操作参数(例如机械臂速度、机械臂加速度)。

在某些实施方案中,在确定机器人将物体放置在目标位置的期望方向时,可以考虑上述多种因素(或附加因素)。例如,尽管通常希望将物体放置在传送带上,其最长尺寸沿传送带行进方向对齐,底面与传送带平面平行,但当物体包含易碎内容物和/或物体具有不均匀的重量分布时,可能更偏好于传送带上顶部朝上的方向放置。在某些情况下,可以在实现顶部朝上方向的同时,将物体旋转,使物体底面朝向传送带表面,以促进传送带表面的稳定性(例如将底面最长尺寸沿传送带长度放置)。

在单物体抓取操作中,单个抓取的物体可以根据期望的方向进行定位(例如,通过机械臂的移动),至少部分地基于该期望方向。例如,机器人可以确定一个轨迹,使物体以期望的方向到达目标位置。如本文所述,轨迹的确定也可以至少部分地避免与机器人环境中的其他物体(例如卡车墙壁、其他物体、传送带)发生碰撞。被机器人抓取的物体的方向可以包括在确定的轨迹中,以确保物体在到达目标位置时符合期望的方向,并且满足与轨迹相关的任何约束(例如在轨迹过程中保持物体顶部朝上)。

在本文描述的多重抓取操作中,抓取的物体组可以类似于单物体抓取操作一样进行定位(例如通过机械臂的移动),至少部分地基于期望的方向,使得物体组以期望的方向到达目标位置。然而,由于多重抓取操作中多个物体一起抓取,组中所有抓取的物体将一起重新定位,以使组中第一个放置的物体位于期望的方向上。实际上,由于多重抓取过程中限制抓取物体的最长尺寸在堆叠中方向相似,如上所述,将物体组旋转到组中一个物体的期望方向也可能将组中其他抓取的物体旋转到它们的放置期望方向。换句话说,旋转抓取的物体组,使组中的一个物体的最长尺寸沿传送带的长度方向放置,在许多情况下会使组中其余物体也相对于传送带方向相似地排列,而无需在放置组中第一个物体后再调整抓取器姿势,再放置组中的下一个物体。

与在传送带或目标位置的其他结构上放置单个物体的单物体抓取操作不同,在多重抓取操作中,必须从抓取器中释放多个物体,以确保每个物体都以稳定的方式放置(例如通过消除或减少放置物体相对于传送带表面的悬垂)。如本文所述,机器人设备可以配置为控制抓取器的各个吸盘,使组中所有物体可以同时释放(通过关闭所有吸盘的吸力)或按顺序释放(一次仅关闭部分吸盘的吸力)。物体(如箱子)在传送带上的放置方式可能很重要,以便传送带移动过程中扫描仪能够成功扫描物体。例如,可能希望物体在传送带上分隔开(使物体的侧面对扫描仪可见),并且物体排列稳定(例如不会翻倒)以便运输。

确保多重抓取操作中所有抓取的物体以最小化传送带上悬垂的方式放置的一种技术可能是将每个放置的物体居中放在传送带中心,且其最长尺寸与传送带行进方向平行。然而,这种方法可能不是在传送带上放置抓取组中多个物体的最快方式。此外,如果组中的所有物体都可以以不靠近传送带边缘的方式放置,也可能不需要所有物体都以这种方式放置。

图8A展示了一个控制机器人执行“多重放置”操作的过程800,其中机器人抓取器抓住的多个物体被放置在传送带上,并使用特定的技术进行放置,这些操作符合本披露的一些实施方案。过程800从步骤810开始,在此确定机器人抓取器抓住的物体的最终物体方向和传送带的允许宽度。例如,可以由操作员在开始使用机器人进行拣放操作之前向机器人提供传送带的允许宽度测量值作为输入。需要注意的是,传送带的允许宽度可能小于传送带的实际宽度,以确保物体不会被放置得过于靠近传送带的边缘(例如,传送带的每个边缘可能存在不包括在允许宽度内的容差量)。如本文所述,在某些实施方案中,将物体的最长尺寸沿传送带行进方向放置可能是有益的。步骤810中确定的最终物体方向可能表示物体在放置于传送带之前的方向。过程800然后进入步骤812,在此基于传送带的允许宽度以及在最终物体方向下抓取物体组的宽度,至少部分地选择一种多重放置技术。如上所述,在一些实施方案中,抓取的物体组可以被建模为一个包含组中所有物体的体积,并且该建模体积可以至少部分地用于确定机器人的机械臂轨迹。在一些实施方案中,该建模体积还可以至少部分地用于确定如何将物体放置在传送带上,具体情况将在下文更详细地描述。选择多重放置技术后,过程800进入步骤814,通过使用选定的多重放置技术控制机器人将抓取的物体组放置在传送带上。

在某些实施方案中,可以根据抓取的物体组的宽度是否小于或大于传送带的允许宽度,在两种多重放置技术之间进行选择。然而,应理解的是,根据本文所述的技术配置的机器人可以从任何合适数量的多重放置技术中选择,此处提供的两种技术选择的示例仅供参考。图8B展示了过程800的步骤812的决策过程,用于确定在将多个物体放置在传送带上时选择“平移放置”技术还是“并排放置”技术,这符合本披露的一些实施方案。

如图8B所示,在步骤820中,可以判断物体组在其最终方向下的宽度是否小于传送带的允许宽度。如果确定物体组在其最终方向下的宽度小于传送带的允许宽度(即如果并排放置,所有抓取的物体都可以位于允许宽度内),则图8B的过程进入步骤822,在此选择“平移”多重放置技术。在平移多重放置技术中,抓取器相对于传送带排列,使得抓取的物体组位于传送带的中央。第一个物体放置在传送带上,同时控制抓取器向传送带运动方向的相反方向移动,然后放置下一个物体。在使用平移技术放置两个物体的示例中,两个物体一个接一个地放置在传送带上。尽管机器人可以在不移动抓取器至传送带运动方向相反方向的情况下(例如等到第一个物体沿传送带移动足够远后再放置下一个物体)将多个物体按同样的方式(一个接一个)放置在传送带上,但使用平移技术进行多重放置可能提高物体放置的速度,至少部分地因为这种技术不依赖传送带在物体放置后移动物体的速度。

如果在步骤820中确定抓取的物体组的宽度不小于传送带的允许宽度,图8B的过程进入步骤824,在此选择“并排放置”多重放置技术。在并排放置技术中,通过在抓取器沿传送带运动方向的相反方向移动的同时沿传送带宽度方向横向移动,确保组中所有物体在放置时都位于传送带的允许宽度内。在某些情况下,与并排放置技术相比,执行平移多重放置技术可能更受偏好,因为它可能使机器人更快地将组中多个抓取的物体放置,从而提高机器人的拣放操作吞吐量。

图9A示意性地展示了为在传送带上放置多个抓取物体选择多重放置技术的过程,符合本披露的一些实施方案。如上所述,当选择平移多重放置技术时,仅需将抓取器移向传送带运动的反方向来放置物体。在并排放置时,抓取器既要向传送带运动的反方向移动,也要沿传送带允许宽度横向移动,以确保组中所有物体均在传送带的允许宽度内放置。

图9B示意性地展示了使用连续轨迹的并排多重放置操作,符合本披露的一些实施方案。如本文所述,尽管可以通过等待传送带将已放置的物体移开一定距离后再放置下一个物体,但通过控制机器人机械臂向传送带运动的反方向移动抓取器可能更快地将物体放置在传送带上。如图9B所示,物体在传送带上的并排放置过程可以按以下步骤进行:

1. 将抓取器定位,以放置抓取组中的第一个物体。抓取器释放第一个物体,该物体随传送带远离抓取器位置移动。

2. 确定放置下一个抓取物体时抓取器所需的位置。在某些实施方案中,会考虑移动抓取器至该位置所需的时间和先前物体因传送带速度移动的距离。在确定的抓取器位置中,下一个物体可以在最短时间内直接位于第一个物体之后。

3. 控制抓取器移动到下一个物体放置的抓取器位置,避免抓取的任何物体与传送带上已放置的物体发生碰撞。一旦到位,下一个物体便被放置在传送带上。为了避免与先前放置的物体发生碰撞,抓取器可能首先向后移动,使得下一个放置的物体避开先前放置的物体的后方,然后抓取器再横向移动(垂直于传送带的移动方向)。在某些实施方案中,抓取器在放置物体之间的位置移动以平滑的运动进行,尽量减少第一个和后续物体放置之间的时间。

4. 从步骤2开始重复此过程,直到所有抓取的箱子都放置在传送带上。

如上所述,当在传送带上放置物体时,通常希望物体的最长尺寸沿传送带移动方向、最大表面朝下放置(本文也称为“长边朝向传送带运动方向,大面朝下”)。然而,在某些情况下,以不同的方向放置至少一些物体可能会增加单位时间内传送带上可放置的物体数量(例如每小时的箱数)。在某些实施方案中,长边朝向传送带运动方向,大面朝下可能是放置物体的默认方向,但可以基于抓取物体的特性(包括但不限于物体的大小、形状和/或重量)以不同方向放置。例如,为了提高放置速度,物体可能会以不同于默认方向(如长边朝向传送带运动方向,大面朝下)的方式放置,而不会显著增加物体放置后从传送带掉落的风险。

图9C示意性地展示了此过程的示例。如图所示,场景910展示了一个默认放置操作,其中多个抓取的物体以并排放置方式放置在传送带上。如上所述,在并排放置中,第一个物体被放置在传送带上,随后抓取器移动到新位置,同时远离传送带的行进方向并横向移动,然后放置组中的第二个物体。在场景910中,放置第二个物体后,抓取器再次移动以放置第三个物体。图9C还展示了场景912,其中物体以不同于长边朝向传送带运动方向、大面朝下(例如默认方向)的方向放置在传送带上,从而提高了物体放置速度。与场景910的并排放置不同,场景912中的物体放置速度通过使用内联放置加快。尽管场景912中的内联放置并未使物体的最长尺寸与传送带方向对齐,但由于抓取器无需在放置物体之间改变位置(或仅在放置物体之间向传送带行进方向的反方向移动),相对于场景910,三个物体的放置速度有所提高。

在某些实施方案中,当物体的两个或多个尺寸在某个容差范围内相似时,放置物体的默认位置(例如,在传送带中央放置、长边朝向传送带行进方向、大面朝下)可以被改变。例如,容差可能由物体的一个或多个特征(包括但不限于物体的大小和/或至少两个尺寸的纵横比)决定。在某些实施方案中,当物体的最短尺寸与次短尺寸的比率大于一个稳定性容差时,可以改变默认放置方式。该比率大于稳定性容差可能表明物体以非最短尺寸面朝上的方向放置时仍然稳定。在某些实施方案中,可以根据上述因素的组合或其他因素来改变默认放置方式。

在一些实施方案中,改变机器设备放置物体的默认位置包括更改一个或两个方面:更改放置类型(例如,以不同的方向对齐物体,使得抓取器朝向不同的方向,例如从正面放置(抓取器垂直对齐)到顶部放置(抓取器水平对齐)),或改变抓取物体组的方向(例如旋转物体组,使其可以按内联方式放置,图9C的场景912中展示了一个示例)。

当机器人的机械臂从机器人底座延伸得更远时,机械臂中的电机需要更努力地工作以支撑起机械臂及其抓取的物体的重量。然而,机械臂离机器人底座越远,有助于在传送带上放置多个物体时更长的拉回运动(例如,如图9B中描述的情况),从而提高物体放置的速度。本披露的一些实施方案实现了机械臂伸展限制,以确定机械臂的伸展长度,使其在考虑抓取和放置的物体数量及特性的情况下,实现物体在传送带上快速的整体放置。在某些实施方案中,在确定机器人的机械臂伸展时,可以结合以下一个或多个标准:支撑机械臂和负载在不同伸展情况下所需的力、抓取物体的大小和位置及物体在传送带上所需的间距,以及传送带的速度(例如,传送带速度越大,传送带将更快地将物体从抓取器释放位置带走)。在某些实施方案中,可以将要放置的抓取物体的长度加在一起,以估算在传送带上放置所有抓取物体组所需的间距。在释放任何物体到传送带上之前,可能预先确定放置物体的布局,并使用该布局来确定抓取器释放第一个箱子的位置。

一旦确定了所需的机械臂伸展长度,它可以受到机器人力需求所允许的最大臂伸展的限制。图9D展示了一个根据本披露的一些实施方案选择臂伸展并受臂伸展限制约束的示例。在图9D的顶部部分,所需的臂伸展(例如,通过上述过程计算)小于臂伸展限制,因此在从抓取到物体组放置的过程中使用所需臂伸展。在图9D的底部部分,所需的臂伸展大于臂伸展限制。在这种情况下,从抓取到放置物体组的过程中,臂伸展设定为臂伸展限制。

图10展示了机器人装置1000的一个示例配置,这是本发明的一个示例实施方案。一个示例实现涉及一种配置有至少一个机器人肢体、一个或多个传感器以及一个处理系统的机器人装置。机器人肢体可能是一个多关节的机器人附肢,包含多个通过关节连接的部件。机器人肢体还可以包含多个执行器(例如,2-5个执行器),这些执行器连接到肢体部件上,能够使机器人肢体在关节限制的运动范围内移动。传感器可以配置为测量机器人的属性,例如关节角度、执行器内的压力、关节扭矩,以及肢体部件在某一时刻的位置、速度和/或加速度。传感器还可以配置为测量机器人体(或称为机器人基座)的方向(例如,身体方向测量)。其他示例属性包括机器人装置的各组件的质量等。机器人装置的处理系统可以直接从角度传感器信息中确定关节角度,或者通过其他传感器信息间接计算关节角度。然后,处理系统可以基于检测到的基座方向和关节角度估计机器人的方向。

这里的“方向”可能指对象的角度位置。在某些情况下,方向可以指围绕三个轴的旋转量(例如,以度或弧度为单位)。在某些情况下,机器人的方向可能指相对于特定参考框架(如地面或其所在表面)的方向。方向可以通过欧拉角、泰特-布莱恩角(也称为偏航、俯仰和滚动角)和/或四元数来描述。在某些情况下,例如在计算机可读介质上,方向可以表示为方向矩阵和/或方向四元数等。

在某些场景中,机器人基座上的传感器测量结果可能表明机器人具有需要控制一个或多个多关节附肢以维持平衡的方向和/或线性和/或角速度。在这些场景中,机器人肢体的方向和/或运动可能已使得无需平衡控制。例如,机器人身体可能向左倾斜,且测量身体方向的传感器可能表明需要移动肢体以平衡机器人;但机器人的一条或多条肢体可能向右延伸,从而使机器人保持平衡,即便基座传感器显示的情况不同。机器人的肢体可以对身体施加扭矩,也可能影响机器人的质心。因此,机器人某一部分的方向和角速度测量可能无法准确代表机器人身体和肢体组合的方向和角速度(即“整体”方向和角速度)。

在某些实现中,处理系统可以基于检测到的基座方向和测得的关节角度来估计整个机器人的整体方向和/或角速度。处理系统上存储了机器人关节角度与其对机器人基座方向和/或角速度的影响之间的关系。机器人关节角度与基座运动之间的关系可以根据机器人的运动学和肢体的质量属性确定。换句话说,这种关系可以指定关节角度对机器人整体方向和/或角速度的影响。此外,处理系统可以配置为区分由内部运动引起的方向和/或角速度成分以及由外部运动引起的方向和/或角速度成分。进一步,处理系统可以区分整体方向的成分以确定机器人的整体偏航速率、俯仰速率和滚动速率(统称为“整体角速度”)。

在某些实现中,机器人装置还可以包括一个控制系统,用于基于简化的机器人模型控制机器人装置。控制系统可以接收机器人的整体方向和/或角速度估计值,然后控制一个或多个机器人的关节肢体使其表现出特定的行为(例如,保持机器人的平衡)。

在某些实现中,机器人装置可以包括力传感器,用于测量或估计外力(例如机器人肢体对地面施加的力),以及用于测量机器人肢体方向的运动传感器。处理系统可以根据传感器测量的信息确定机器人的角动量。控制系统可以配置为具有基于反馈的状态观测器,该观测器接收测得的角动量和整体角速度,并提供机器人的角动量的低噪声估计。状态观测器还可以接收作用在机器人上的扭矩或力的测量值和/或估计值,并将其作为确定机器人的角动量低噪声估计的基础。

在某些实现中,处理系统可以存储多个关节角度对机器人基座方向和/或角速度影响的关系。处理系统可以基于关节角度选择特定关系,以确定整体方向和/或角速度。例如,一个关系可能对应于特定关节角度在0到90度之间,另一个关系可能对应于关节角度在91到180度之间。选择的关系可能比其他关系更准确地估计机器人的整体方向。

在某些实现中,处理系统可以存储多个机器人关节角度与基座方向和/或角速度之间的关系。每个关系可能对应一个或多个关节角度值范围(例如,操作范围)。在这些实现中,机器人可以在一种或多种模式下运行。操作模式可以对应于一个或多个关节角度处于相应的操作范围内。在这些实现中,每种操作模式可以对应某种关系。

机器人的角速度可以包含描述机器人的方向(例如旋转角度)的多个成分。对于机器人来说,向左或向右的旋转角度称为“偏航”;向上或向下的旋转角度称为“俯仰”;向左或向右倾斜的旋转角度称为“滚动”。此外,偏航、俯仰和滚动的变化速率分别称为“偏航速率”、“俯仰速率”和“滚动速率”。

图10展示了机器人装置(或“机器人”)1000的示例配置,这是本发明的一个示例实施方案。机器人装置1000表示一个配置为执行本文所述操作的机器人示例。此外,机器人装置1000可以配置为自主、半自主操作和/或根据用户提供的指令操作,可以以不同形式存在,例如人形机器人、两足机器人、四足机器人或其他移动机器人等。此外,机器人装置1000还可以称为机器人系统、移动机器人或机器人。

如图10所示,机器人装置1000包括处理器1002、数据存储1004、程序指令1006、控制器1008、传感器1010、动力源1012、机械部件1014和电气部件1016。机器人装置1000为示例用途,可以包含更多或更少的组件,而不偏离本披露的范围。机器人装置1000的各个组件可以以任何方式连接,包括电子通信方式(例如有线或无线连接)。此外,在一些示例中,机器人装置1000的组件可以分布在多个独立的物理实体上,而不仅限于单个实体。其他示例可能存在。

处理器1002可以作为一个或多个通用处理器或专用处理器(例如数字信号处理器、应用专用集成电路等)操作。处理器1002可以配置为执行存储在数据存储1004中的计算机可读程序指令1006,程序指令可用于实现本文所述的机器人装置1000的操作。例如,程序指令1006可以实现控制器1008的操作,控制器1008可以配置为激活和/或停用机械部件1014和电气部件1016。处理器1002可以操作并使机器人装置1000执行各种功能,包括本文描述的功能。

数据存储1004可以是多种存储介质中的一种,例如内存。例如,数据存储1004可以包含或采用一个或多个可由处理器1002读取或访问的计算机可读存储介质。一个或多个计算机可读存储介质可以包括易失性和/或非易失性存储组件,例如光学、磁性、有机或其他内存或磁盘存储,可以与处理器1002整体集成或部分集成。在一些实现中,数据存储1004可以使用单一物理设备(例如一个光学、磁性、有机或其他内存或磁盘存储单元)实现,而在其他实现中,数据存储1004可以使用两个或更多物理设备实现,这些设备可以通过电子方式通信(例如有线或无线通信)。此外,除了计算机可读程序指令1006,数据存储1004还可以包含额外的数据,例如诊断数据等。

机器人装置1000可以包括至少一个控制器1008,它可以与机器人装置1000进行接口。控制器1008可以作为机器人装置1000部分之间的连接桥梁,例如机械部件1014和/或电气部件1016之间的连接。在某些情况下,控制器1008可以作为机器人装置1000和另一计算设备之间的接口。此外,控制器1008可以作为机器人装置1000和用户之间的接口。控制器1008可以包括多个用于与机器人装置1000通信的组件,包括一个或多个操纵杆或按钮等功能。控制器1008还可以执行其他操作。

此外,机器人装置1000包含一个或多个传感器1010,例如力传感器、接近传感器、运动传感器、负载传感器、位置传感器、触觉传感器、深度传感器、超声波传感器和/或红外传感器等可能的传感器。传感器1010可以向处理器1002提供传感器数据,以便机器人装置1000能够适当与环境互动,并监控其系统的操作状态。传感器数据可以用于评估激活和停用机械部件1014和电气部件1016的各种因素,通过控制器1008和/或机器人装置1000的计算系统进行操作。

传感器1010可以为控制器1008和/或计算系统提供机器人装置环境的信息,用以确定机器人装置1000的操作。例如,传感器1010可以捕获与环境地形或附近物体位置相关的数据,这可能有助于环境识别和导航等。在示例配置中,机器人装置1000可以包含一个传感系统,该系统可能包括相机、雷达(RADAR)、激光雷达(LIDAR)、飞行时间(ToF)相机、全球定位系统(GPS)接收器和/或其他用于捕捉机器人装置1000周围环境信息的传感器。传感器1010可以实时监测环境并检测障碍物、地形元素、天气状况、温度和/或其他环境参数。

此外,机器人装置1000可能还包括其他传感器1010,这些传感器用于接收机器人装置1000状态的信息,包括监控机器人装置1000各组件状态的传感器1010。传感器1010可以测量机器人装置1000的系统活动,并根据机器人装置1000各功能的操作接收信息,例如可扩展腿、手臂或其他机械和/或电气功能。传感器提供的数据可以使机器人装置的计算系统确定操作中的错误并监控组件的整体功能。

例如,计算系统可以利用传感器数据来确定机器人装置1000在操作期间的稳定性以及与电量水平、通信活动、需要修复的组件等相关的测量数据。例如配置中,机器人装置1000可能包括陀螺仪、加速度计和/或其他可能的传感器,以提供与机器人装置操作状态相关的传感器数据。此外,传感器1010还可以监测机器人装置1000当前正在操作的功能状态。此外,传感器1010可以测量机器人的某一肢体与机器人装置质心之间的距离。传感器1010可能还用于其他示例用途。

此外,机器人装置1000还可以包括一个或多个电源1012,以向机器人装置1000的各种组件供电。机器人装置可能包含各种可能的动力系统,例如液压系统、电力系统、电池和/或其他类型的动力系统。例如,机器人装置1000可以包含一个或多个电池,通过有线和/或无线连接向组件提供电力。在示例中,机械部件1014和电气部件1016可以分别连接到不同的电源,或者由相同电源供电。机器人装置1000的组件也可以连接到多个电源。

在示例配置中,可以使用任何类型的电源为机器人装置1000供电,例如汽油和/或电动引擎。此外,电源1012可以通过各种充电方式充电,例如与外部电源的有线连接、无线充电、燃烧或其他示例。此外,机器人装置1000可以包括一个液压系统,该系统通过流体动力为机械部件1014提供动力。机器人装置1000的组件可以基于液压系统的液压油传输到不同的液压马达和液压缸。例如,机器人装置1000的液压系统可以通过小型管道、软管或其他连接件在机器人装置的组件之间传输大量的功率。机器人装置1000还可能包含其他电源。

机械部件1014表示机器人装置1000的硬件,这些硬件使机器人装置1000能够运作并执行物理功能。例如,机器人装置1000可能包括执行器、可扩展的腿、手臂、轮子、一个或多个用于容纳计算系统或其他组件的结构体和/或其他机械部件。机械部件1014的设计可能取决于机器人装置1000的功能和任务需求。因此,机器人装置1000可以根据其操作和功能使用不同的机械部件1014。在一些示例中,机器人装置1000可以配置为添加和/或移除机械部件1014,这可能需要用户和/或其他机器人的协助。

电气部件1016可能包含各种能够处理、传输、提供电荷或电信号的组件。例如,电气部件1016可能包括电线、电路和/或无线通信的发射器和接收器,以实现机器人装置1000的操作。电气部件1016可以与机械部件1014协同工作,使机器人装置1000能够执行各种操作。电气部件1016可以配置为将电源1012的电力提供给各机械部件1014。此外,机器人装置1000可能包括电动马达。其他电气部件1016的示例可能还包括其他配置。

在某些实现中,机器人装置1000还可以包括通信链接1018,配置为发送和/或接收信息。通信链接1018可以传输指示机器人装置1000各组件状态的数据。例如,传感器1010读取的信息可以通过通信链接1018传输到独立设备。其他诊断信息指示电源1012、机械部件1014、电气部件1016、处理器1002、数据存储1004和/或控制器1008的完整性或状态,也可以通过通信链接1018传输到外部通信设备。

在某些实现中,机器人装置1000可以通过通信链接1018接收信息,并由处理器1002处理。接收到的信息可以在执行程序指令1006期间被处理器1002访问。此外,接收到的信息可以改变控制器1008的某些方面,从而影响机械部件1014或电气部件1016的行为。在某些情况下,接收到的信息表示请求特定信息的查询(例如,机器人装置1000的一个或多个组件的操作状态),处理器1002随后可以将该信息通过通信链接1018传输出去。

篇幅所限,以上仅摘录部分内容,

如需获取英文原版、中文译文请加入知识星球,

并搜索编号“A244”获取详细资料。


另在知识星球新增了一篇非公开资料

具身智能助力跨越数字与物理空间的融合(S150

AI工业
树立大江大海大格局,练基础基层基本功。共同打造落地的、一流的工业智能产品。
 最新文章