一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

具有基于图像的尺寸确定机制的机器人系统及其操作方法与流程

2023-02-19 06:26:24 来源:中国专利 TAG:

具有基于图像的尺寸确定机制的机器人系统及其操作方法
1.相关申请
2.本技术要求2021年8月9日提交的美国临时专利申请序列号63/231,210的权益,所述临时专利申请以引用方式整体并入本文。
3.本技术包含与以下专利申请相关的主题:2019年3月1日提交的美国专利申请第16/290,741号,现为美国专利第10,369,701号;2019年6月17日提交的美国专利申请第16/443,743号,现为美国专利第10,562,188号;2019年6月17日提交的美国专利申请第16/443,757号,现为美国专利第10,562,189号;2020年1月7日提交的美国专利申请第16/736,667号,现为美国专利第11,034,025号;2021年5月6日提交的美国专利申请第17/313,921号;2019年8月13日提交的美国专利申请第16/539,790号,现为美国专利第10,703,584号;以及2020年5月29日提交的美国专利申请第16/888,376号。所有这些申请的主题以引用方式并入本文。
4.本技术还包含与本文同时提交的标题为“robotic system with depth-based processing mechanism and methods for operating the same”的美国专利申请______(代理人案号131837.8022.us01)相关的主题,所述专利申请的主题以引用方式并入本文。
技术领域
5.本技术总体涉及机器人系统,并且更具体地涉及具有基于图像的物体尺寸确定机制的机器人系统。


背景技术:

6.机器人(例如,被配置为自动地/自主地执行物理动作的机器)现在广泛用于许多领域中。例如,机器人可用于在制造、包装、运输和/或装运等方面执行各种任务(例如,操纵或搬运物体)。在执行任务时,机器人可以复制人类动作,由此代替或减少原本执行危险或重复性任务所需的人类参与。机器人通常缺乏复制分析和执行更复杂的任务所需的人类敏感性、灵活性和/或适应性必要的精密性。例如,机器人通常难以基于有限的信息推断多个结论和/或概括。因此,仍然需要改进的机器人系统和技术来推断结论和/或概括。
附图说明
7.图1示出根据本技术的一个或多个实施方案的机器人系统在其中运输物体的示例性环境。
8.图2是示出根据本技术的一个或多个实施方案的机器人系统的框图。
9.图3示出根据本技术的一个或多个实施方案的机器人搬运组件。
10.图4a示出根据本技术的一个或多个实施方案的示例性堆叠。
11.图4b示出根据本技术的一个或多个实施方案的描绘堆叠的示例性图像数据。
12.图5a示出根据本技术的一个或多个实施方案的起始位置的第一图像。
13.图5b示出根据本技术的一个或多个实施方案的起始位置的第二图像。
14.图6是根据本技术的一个或多个实施方案的用于操作机器人系统的流程图。
具体实施方式
15.本文描述了用于基于在任务执行期间或任务执行之间捕获的一个或多个图像(例如,二维(2d)视觉描绘、三维(3d)深度测量等)推导估计的系统和方法。在一些实施方案中,机器人系统可被配置为将一个或多个物体(例如,盒、包裹、物体等)从起始位置(例如,货盘、仓位、输送机等)搬运到任务位置(例如,不同的货盘、仓位、输送机等)。机器人系统可获得描绘在对应物体的搬运期间和/或跨对应物体的搬运的起始位置和/或任务位置的一组或一系列图像数据(例如,2d描绘和/或深度图)。机器人系统可使用图像数据来估计和/或推导所搬运物体的各个方面,诸如所搬运物体的一个或多个尺寸(例如,高度)。
16.在下文中,阐述众多具体细节以提供对目前公开的技术的透彻理解。在其他实施方案中,可在没有这些具体细节的情况下实践在此处介绍的技术。在其他情况下,未详细描述诸如特定功能或例程之类的公知特征以避免不必要地使本公开不清楚。在此描述中对“实施方案”、“一个实施方案”等的引用意味着所描述的特定特征、结构、材料或特性包括在本公开的至少一个实施方案中。因此,此类短语在本说明书中的出现不一定全都是指同一实施方案。另一方面,此类引用也不一定互相排斥。此外,特定特征、结构、材料或特性可通过任何合适的方式组合在一个或多个实施方案中。应理解,附图中示出的各种实施方案仅仅是说明性表示,并且不一定按比例绘制。
17.为了清楚起见,在下面的描述中没有阐述描述周知的并且通常与机器人系统和子系统相关联但是可能不必要地使所公开技术的一些重要方面模糊的结构或过程的若干细节。此外,虽然以下公开内容阐述本技术的不同方面的若干实施方案,但若干其他实施方案可具有不同于此章节中所述的那些配置或部件的配置或部件。因此,所公开的技术可具有带有附加元件或没有下文所述的若干元件的其他实施方案。
18.下文所述的本公开的许多实施方案或各方面可采取计算机或控制器可执行指令的形式,包括由可编程计算机或控制器执行的例程。相关领域的技术人员将了解,可在除了下文所示和所述的计算机或控制器系统之外的计算机或控制器系统上实践所公开的技术。本文描述的技术可体现在专用计算机或数据处理器中,所述专用计算机或数据处理器被具体编程、配置或构造成执行下文描述的计算机可执行指令中的一个或多个。因此,本文一般使用的术语“计算机”和“控制器”是指任何数据处理器,并且可包括互联网电器和手持式装置(包括掌上计算机、可穿戴计算机、蜂窝或移动电话、多处理器系统、基于处理器的或可编程的消费型电子器件、网络计算机、微型计算机等)。由这些计算机和控制器处理的信息可在任何合适的显示介质(包括液晶显示器(lcd))处呈现。用于执行计算机或控制器可执行的任务的指令可存储在任何合适的计算机可读介质中或上,所述计算机可读介质包括硬件、固件或硬件与固件的组合。指令可包含在任何合适的存储器装置中,所述存储器装置包括(例如)闪存驱动器、usb装置和/或其他合适的介质,包括有形非瞬态计算机可读介质。
19.术语“耦接”和“连接”以及它们的派生词在本文中可用于描述部件之间的结构关系。应理解,这些术语并不意图作为彼此的同义词。而是,在特定实施方案中,“连接”可用于指示两个或更多个元件彼此直接接触。除非在上下文中另外变得明显,否则术语“耦接”可用于指示两个或更多个元件彼此直接或间接(在其之间有其他中间元件)接触,或者两个或
更多个元件彼此配合或交互(例如,如呈因果关系,诸如用于信号发射/接收或用于函数调用),或这两者。
20.合适的环境
21.图1是根据本技术的一个或多个实施方案的机器人系统100在其中运输物体的示例性环境的图示。机器人系统100可包括被配置为执行一个或多个任务的一个或多个单元(例如,机器人)和/或与所述一个或多个单元通信。物体检测/更新的各个方面可由各种单元来实践或实现。
22.对于图1所示的示例,机器人系统100可包括仓库或分配/装运枢纽中的卸载单元102、搬运单元104或搬运组件(例如,码垛机器人和/或拣货机器人)、运输单元106、装载单元108或它们的组合,和/或与前述各项通信。机器人系统100中的单元中的每一个可被配置为执行一个或多个任务。可以按顺序组合所述任务以执行实现目标的操作,诸如从卡车或货车上卸载物体并将所述物体存放在仓库中,或者从存放位置卸载物体并准备装运所述物体。对于另一个示例,任务可包括将物体放置在目标位置上(例如,在货盘的顶部上和/或在仓位/笼/盒/箱内部)。如下文所述,机器人系统可推导用于放置和/或堆叠物体的计划(例如,放置位置/取向、用于搬运物体的顺序和/或对应运动计划)。单元中的每一个可被配置为根据推导的计划中的一个或多个执行一系列动作(例如,通过操作其中的一个或多个部件)以执行任务。
23.在一些实施方案中,任务可包括操纵(例如,移动和/或重新定向)目标物体112(例如,对应于正在执行的任务的包裹、盒、箱、笼、货盘等中的一者),诸如将目标物体112从起始位置114移动到任务位置116。例如,卸载单元102(例如,拆箱机器人)可被配置为将目标物体112从载具(例如,卡车)中的位置搬运到输送带上的位置。另外,搬运单元104可被配置为将目标物体112从一个位置(例如,输送带、货盘或仓位)搬运到另一个位置(例如,货盘、仓位等)。对于另一个示例,搬运单元104(例如,码垛机器人)可被配置为将目标物体112从源位置(例如,货盘、拣取区域和/或输送机)搬运到目的地货盘。在完成操作时,运输单元106可将目标物体112从与搬运单元104相关联的区域搬运到与装载单元108相关联的区域,并且装载单元108可(例如,通过移动承载目标物体112的货盘)将目标物体112从搬运单元104搬运到存放位置(例如,货架上的位置)。
24.出于说明目的,在装运中心的情景中描述了机器人系统100;然而,应理解,机器人系统100可被配置为在其他环境中/出于其他目的(诸如用于制造、组装、包装、医疗保健和/或其他类型的自动化)执行任务。还应理解,机器人系统100可包括图1中未示出的其他单元,诸如操纵器、服务机器人、模块化机器人等,和/或与所述其他单元通信。例如,在一些实施方案中,其他单元可包括:卸垛单元,所述卸垛单元用于将物体从笼车或货盘搬运到输送机或其他货盘上;集装箱切换单元,所述集装箱切换单元用于将物体从一个集装箱搬运到另一集装箱;包装单元,所述包装单元用于包装物体;分拣单元,所述分拣单元用于根据物体的一个或多个特性对物体进行分组;拣货单元,所述拣货单元用于根据物体的一个或多个特性以不同方式操纵(例如,用于分拣、分组和/或搬运)物体;或它们的组合。
25.机器人系统100可包括和/耦接到在关节处连接以用于运动(例如,旋转和/或平移位移)的物理或结构构件(例如,机器人操纵器臂)。结构构件和关节可形成被配置为操纵末端执行器(例如,夹持器)的动力链,所述末端执行器被配置为根据机器人系统100的用途/
操作来执行一个或多个任务(例如,夹持、自旋、焊接等)。机器人系统100可包括被配置为围绕对应的关节或在对应的关节处对结构构件进行驱动或操纵(例如,位移和/或重新定向)的致动装置(例如,马达、致动器、电线、人造肌肉、电活性聚合物等)和/或与所述致动装置通信。在一些实施方案中,机器人单元可包括被配置为将对应的单元/底架从一个地方运输到另一个地方的运输马达。
26.机器人系统100可包括被配置为获得用于实现任务(诸如,用于操纵结构构件和/或运输机器人单元)的信息的传感器和/或与所述传感器通信。传感器可包括被配置为检测或测量机器人系统100的一个或多个物理性质(例如,一个或多个结构构件/其关节的状态、状况和/或位置)和/或周围环境的一个或多个物理性质的装置。传感器的一些示例可包括加速度计、陀螺仪、力传感器、应变仪、触觉传感器、扭矩传感器、位置编码器等。
27.在一些实施方案中,例如,传感器可以包括被配置为检测周围环境的一个或多个成像装置(例如,视觉和/或红外相机、2d和/或3d成像相机、距离测量装置,诸如激光雷达或雷达等)。成像装置可生成所检测环境的可通过机器/计算机视觉来处理(例如,用于自动检查、机器人引导或其他机器人应用)的表示,诸如数字图像和/或点云。机器人系统100可处理数字图像和/或点云,以标识目标物体112、起始位置114、任务位置116、目标物体112的姿势、或它们的组合。
28.对于操纵目标物体112,机器人系统100可捕获并分析指定区域(例如,拣取位置,诸如卡车内部或输送带上)的图像,以标识目标物体112及其起始位置114。类似地,机器人系统100可捕获并分析另一指定区域(例如,用于将物体放置在输送机上的投放位置、用于将物体放置在集装箱内部的位置,或货盘上用于堆叠目的的位置)的图像,以标识任务位置116。例如,成像装置可包括被配置为生成拣取区域的图像的一个或多个相机和/或被配置为生成任务区域(例如,投放区域)的图像的一个或多个相机。基于所捕获图像,机器人系统100可确定起始位置114、任务位置116、相关联姿势、打包/放置计划、搬运/打包顺序和/或其他处理结果。
29.在一些实施方案中,例如,传感器可包括被配置为检测机器人系统100的结构构件(例如,机械臂和/或末端执行器)和/或对应的关节的位置的位置传感器(例如,位置编码器、电位计等)。机器人系统100可使用位置传感器来在任务的执行期间跟踪结构构件和/或关节的位置和/或取向。
30.机器人系统
31.图2是示出根据本技术的一个或多个实施方案的机器人系统100的部件的框图。在一些实施方案中,例如,机器人系统100(例如,在上文所述的单元或组件和/或机器人中的一者或多者处)可包括电子/电气装置,诸如一个或多个处理器202、一个或多个存储装置204、一个或多个通信装置206、一个或多个输入输出装置208、一个或多个致动装置212、一个或多个运输马达214、一个或多个传感器216、或它们的组合。多种装置可通过有线连接和/或无线连接彼此耦接。例如,用于机器人系统100的一个或多个单元/部件和/或机器人单元中的一个或多个可包括总线,诸如系统总线、外围部件互连(pci)总线或pci-express总线、hypertransport或工业标准架构(isa)总线、小型计算机系统接口(scsi)总线、通用串行总线(usb)、iic(i2c)总线,或电气和电子工程师协会(ieee)标准1394总线(也称为“火线”)。另外,例如,机器人系统100可包括桥接器、适配器、控制器,或用于在装置之间提供有
线连接的其他信号相关的装置和/或与前述各项通信。无线连接可基于例如蜂窝通信协议(例如,3g、4g、lte、5g等)、无线局域网(lan)协议(例如,无线保真(wifi))、对等或装置间通信协议(例如,蓝牙、近场通信(nfc)等)、物联网(iot)协议(例如,nb-iot、zigbee、z波、lte-m等)和/或其他无线通信协议。
32.处理器202可包括被配置为执行存储在存储装置204(例如,计算机存储器)上的指令(例如,软件指令)的数据处理器(例如,中央处理单元(cpu)、专用计算机和/或机载服务器)。处理器202可实现控制其他装置/与其他装置交互的程序指令,从而致使机器人系统100执行动作、任务和/或操作。
33.存储装置204可包括其上存储有程序指令(例如,软件)的非暂时性计算机可读介质。存储装置204的一些示例可包括易失性存储器(例如,高速缓存和/或随机存取存储器(ram))和/或非易失性存储器(例如,闪存存储器和/或磁盘驱动器)。存储装置204的其他示例可包括便携式存储器驱动器和/或云存储装置。
34.在一些实施方案中,存储装置204可用于进一步存储主数据、处理结果和/或预定数据/阈值并提供对它们的访问。例如,存储装置204可存储包括对可由机器人系统100操纵的物体(例如,盒、箱、集装箱和/或产品)的描述的主数据。在一个或多个实施方案中,主数据可包括预期由机器人系统100操纵的物体的尺寸、形状(例如,潜在姿势的一个或多个模板或基元和/或用于识别呈不同姿势的物体的轮廓形状的计算机生成的模型)、质量/重量信息、颜色方案、图像、标识信息(例如,条形码、快速响应(qr)码、徽标等和/或它们的预期位置)、预期质量或重量、或它们的组合。另外地或替代地,存储装置204还可包括表示不同潜在物体形状和/或其不同姿势的轮廓形状的通用基元。例如,通用基元可包括预期将被包括在物体堆叠中的不同物体形状的轮廓形状和大小。在一些实施方案中,主数据可包括关于物体的操纵相关信息,诸如物体中的每一个上的质心(com)位置、对应于一个或多个动作/操纵的预期传感器测量结果(例如,力、扭矩、压力和/或接触测量结果)、或它们的组合。机器人系统可查找压力水平(例如,真空水平、抽吸水平等)、夹持/拣取区域(例如,要激活的区域或成排的真空夹持器)以及用于控制搬运机器人的其他所存储的主数据。
35.存储装置204还可存储物体跟踪数据。在一些实施方案中,物体跟踪数据可包括所扫描、所操纵或所搬运物体的记录。在一些实施方案中,物体跟踪数据可包括物体在一个或多个位置(例如,指定拣取或投放位置和/或输送带)处的图像数据(例如,照片、点云、实时视频馈送等)和/或物体在一个或多个位置处的放置位置/姿势。替代地或另外地,物体跟踪数据可包括标识在位置之间搬运的物体的搬运历史和/或其他搬运相关数据(例如,序列内每个所搬运物体的时间和/或位置、经实现以搬运每个物体的计划的标识符、搬运的状态等)。
36.通信装置206可包括被配置为通过网络与外部或远程装置通信的电路。例如,通信装置206可包括接收器、发射器、调制器/解调器(调制解调器)、信号检测器、信号编码器/解码器、连接器端口、网卡等。通信装置206可被配置为根据一个或多个通信协议(例如,互联网协议(ip)、无线通信协议等)来发送、接收和/或处理电信号。在一些实施方案中,机器人系统100可使用通信装置206来在机器人系统100的单元之间交换信息和/或与在机器人系统100外部的系统或装置交换信息(例如,用于报告、数据采集、分析和/或故障排除目的)。
37.输入输出装置208可包括被配置为将信息传达给人类操作员和/或从人类操作员
接收信息的用户接口装置。例如,输入输出装置208可包括显示器210和/或用于将信息传达给人类操作员的其他输出装置(例如,扬声器、触觉电路、或触觉反馈装置等)。另外,输入输出装置208可包括控制或接收装置,诸如键盘、鼠标、触摸屏、传声器、用户接口(ui)传感器(例如,用于接收运动命令的相机)、可穿戴输入装置等。在一些实施方案中,机器人系统100可使用输入输出装置208来在执行动作、任务、操作或它们的组合时与人类操作员交互。
38.在一些实施方案中,控制器(例如,单独封装的装置)可包括处理器202、存储装置204、通信装置206和/或输入输出装置208。控制器可以是独立的部件或单元/组件的一部分。例如,机器人系统100的每个卸载单元、搬运组件、运输单元和装载单元可包括一个或多个控制器。在一些实施方案中,单个控制器可控制多个单元或独立部件。
39.机器人系统100可包括在关节处连接以用于运动(例如,旋转和/或平移位移)的物理或结构构件(例如,机器人操纵器臂)和/与所述物理或结构构件通信。结构构件和关节可形成被配置为操纵末端执行器(例如,夹持器)的动力链,所述末端执行器被配置为根据机器人系统100的用途/操作来执行一个或多个任务(例如,夹持、自旋、焊接等)。动力链可包括被配置为围绕对应的关节或在对应的关节处对结构构件进行驱动或操纵(例如,位移和/或重新定向)的致动装置212(例如,马达、致动器、电线、人造肌肉、电活性聚合物等)。在一些实施方案中,动力链可包括被配置为将对应的单元/底架从一个地方运输到另一个地方的运输马达214。例如,致动装置212和运输马达214可连接到机械臂、线性滑块或其他机器人部件或作为其一部分。
40.传感器216可被配置为获得用于实现任务(诸如,用于操纵结构构件和/或运输机器人单元)的信息。传感器216可包括被配置为检测或测量控制器、机器人单元(例如,一个或多个结构构件/其关节的状态、状况和/或位置)和/或周围环境的一个或多个物理性质的装置。传感器216的一些示例可包括接触传感器、接近传感器、加速度计、陀螺仪、力传感器、应变仪、扭矩传感器、位置编码器、压力传感器、真空传感器等。
41.在一些实施方案中,例如,传感器216可包括被配置为检测周围环境的一个或多个成像装置222(例如,2d和/或3d成像装置)。成像装置可包括相机(包括视觉和/或红外相机)、激光雷达装置、雷达装置和/或其他测距或检测装置。成像装置222可生成用于实现机器/计算机视觉(例如,用于自动检查、机器人引导或其他机器人应用)的所检测环境的表示,诸如数字图像、深度图和/或点云。
42.现在参考图1和图2,机器人系统100(通过例如处理器202)可处理图像数据和/或点云以标识图1的目标物体112、图1的起始位置114、图1的任务位置116、图1的目标物体112的姿势或它们的组合。机器人系统100可使用来自成像装置222的图像数据来确定如何访问和拣取物体。可分析物体的图像以确定用于设置真空夹持器组件的位置以夹持目标物体的运动计划。机器人系统100可(例如,通过各种单元)捕获并分析指定区域(例如,卡车内部、集装箱内部或输送带上的物体的拣取位置)的图像,以标识目标物体112及其起始位置114。类似地,机器人系统100可捕获并分析另一指定区域(例如,用于将物体放置在输送带上的投放位置、用于将物体放置在集装箱内部的位置,或货盘上用于堆叠目的的位置)的图像,以标识任务位置116。
43.另外,例如,图2的传感器216可包括图2的被配置为检测机器人系统100的结构构件(例如,机械臂和/或末端执行器)和/或对应的关节的位置的位置传感器224。机器人系统
100可使用位置传感器224来在任务的执行期间跟踪结构构件和/或关节的位置和/或取向。本文所公开的卸载单元、搬运单元/组件、运输单元和装载单元可包括传感器216。
44.在一些实施方案中,传感器216可包括被配置为诸如在末端执行器处测量施加到动力链的力的一个或多个力传感器226(例如,重量传感器、应变仪、压阻/压电传感器、电容传感器、弹阻传感器和/或其他触觉传感器)。例如,传感器216可用于确定机械臂上的负载(例如,被抓握的物体)。力传感器226可附接至末端执行器或在末端执行器周围并且被配置为使得所得测量结果表示被抓握的物体的重量和/或相对于参考位置的扭矩矢量。在一个或多个实施方案中,机器人系统100可处理物体的扭矩矢量、重量和/或其他物理特质(例如,尺寸)以估计被抓握的物体的com。
45.机器人搬运组件
46.图3示出根据本技术的一个或多个实施方案的搬运单元104。搬运单元104可包括成像系统160和机械臂系统132。成像系统160可提供从具有卸垛平台110和/或目标位置的目标环境捕获的图像数据。机械臂系统132可包括机械臂组件139和末端执行器140(例如,夹持器组件)。机械臂组件139可将末端执行器140的位置设置在位于拣取环境或区域163处的堆叠165中的一组物体上方。
47.图3示出末端执行器140承载位置被设置在输送机120(例如,输送带)上方的单个目标物体(例如,目标物体112)。末端执行器140可将目标物体112释放到输送带120上,然后机械臂系统132可通过将卸载的末端执行器140的位置直接设置在包裹112a、包裹112b或两者上方来取回包裹112a、112b。然后,末端执行器140可通过真空夹持件固持包裹112a、112b中的一者或多者,并且机械臂系统132可将所保持的包裹112a和/或112b承载到输送机120正上方的位置。然后末端执行器140可将包裹112a、112b释放(例如,同时地或顺序地)到输送机120上。此过程可重复任何次数以将物体从堆叠165承载到输送机120。
48.继续参考图3,卸垛平台110可包括当准备运输时可将多个目标物体112(单数形式,“物体112”)堆叠和/或放置在其上的任何平台、表面和/或结构。成像系统160可包括被配置为捕获在卸垛平台110和/或输送机120上的包裹112a、112b的图像数据(例如,2d和/或3d描绘)的一个或多个成像装置161。成像装置161可在拣取环境或区域163处捕获距离数据、位置数据、视频、静态图像、激光雷达数据、雷达数据和/或运动。在一些实施方案中,成像装置161可面向向下放置在对应位置上方,诸如以提供位置和其中的物体的俯视图描绘。另外地或替代地,成像装置161可侧向偏移并至少部分地沿侧向方向朝向对应位置放置,例如以提供侧视图和/或透视图。
49.应当注意,尽管本文使用了术语“物体”和“包裹”,但是术语包括能够被夹持、提升、运输和递送的任何其他物品,诸如但不限于“箱”、“盒”、“纸箱”或它们的任何组合。此外,尽管在本文所公开的附图中示出多边形盒(例如,矩形盒),但是盒的形状不限于这种形状,而是包括如下文详细讨论的能够被夹持、提升、运输和递送的任何规则或不规则形状。
50.类似卸垛平台110,输送机120可包括被指定为接收包裹112a、112b以用于进一步的任务/操作的任何平台、表面和/或结构。在一些实施方案中,输送机120可包括用于将物体112从一个位置(例如,释放点)运输到另一位置以进行进一步的操作(例如,分拣和/或存放)的输送机系统。在一些实施方案中,机器人系统100可包括被配置为提供从具有目标放置位置(例如,输送机120)的目标环境捕获的图像数据的第二成像系统(未示出)。第二成像
系统可捕获在接收/放置位置(例如,输送机120)上的包裹112a、112b的图像数据。
51.示例性任务实现过程
52.图4a示出根据本技术的一个或多个实施方案的示例性堆叠400。图4b示出根据本技术的一个或多个实施方案的描绘堆叠400的示例性图像数据406。现在一起参考图4a和图4b,图像数据406可表示堆叠400在起始位置(例如,图3的卸垛平台110)处的俯视图。图像数据406可包括来自图3的成像系统160的2d和/或3d数据。
53.如图4a所示,堆叠400(例如,物体堆叠)包括物体402,物体402包括以有组织的堆布置的物体(例如,物体402-1、402-2和402-3)。图4a中所示的堆叠400可对应于在将物体堆叠400中的任何物体402搬运到任务位置(例如,图1中的任务位置116)之前位于起始位置(例如,图1中的起始位置114)处的物体堆叠。图像数据406由此表示在从堆叠400拣选任何物体之前位于起始位置的堆叠400的俯视图(例如,图像数据406可被称为在前图像数据)。物体402可被布置成使得堆叠400的总体积最小化。在图4a中,物体402被布置成使得物体堆叠400具有共面或基本上共面的顶表面400-a。共面顶表面400-a由彼此相邻布置的物体402-1、402-2和402-3分别的共面或基本上共面的顶表面402-1a、402-2a和402-3a组成。如本文所用,物体堆叠的总体积对应于由物体堆叠的外边缘限定的体积。在图4a中,物体堆叠400具有对应于堆叠高度(hs)、堆叠宽度(hs)和堆叠长度(ls)的尺寸,并且物体堆叠400的体积(vs)对应于vs=hs×hs
×
ls。应注意,物体堆叠的体积是基于最外边缘和表面定义的,并且未考虑堆叠内的任何间距或间隙。例如,物体堆叠400中的物体的位置可被设置成彼此分开(例如,物体402-1与物体402-2之间具有间距)。物体堆叠400中的单个物体(例如,物体402-1)的体积具有对应于物体高度(ho)、物体宽度(ho)和物体长度(lo)的尺寸,并且物体的体积(vo)对应于vo=ho×ho
×
lo。在一些实施方案中,物体堆叠400位于放置平台(例如,货盘)上。
54.在一些实施方案中,图4b中的图像数据406可包括表示成像系统160与位于成像系统160的视野内的物体402的所检测表面/点之间的距离的深度图和/或点云。例如,如上所述,成像装置222可生成在对应于深度图和/或点云的图像中检测到的环境的表示。深度图可包括在沿侧向平面的离散点(例如,在图4b所示的x-y平面上的位置“n
1”、“n
2”和“n
3”处)的深度度量(例如,沿z方向)。对于图4b中所示的示例,图像数据406可描绘形成堆叠400的顶表面的九个物体402的共面顶表面(例如,匹配深度度量)(例如,物体402-1、402-2和402-3分别的共面或基本上共面的顶表面402-1a、402-2a和402-3a)。匹配深度可对应于堆叠高度(图4a中的hs)。图像数据406还可描绘放置平台404(例如,用点填充示出的货盘)的顶表面的深度度量。堆叠高度hs可对应于物体/堆叠的对应顶表面(例如,表面400-a)与放置平台的顶表面(例如,放置平台404的顶表面)之间的竖直距离。
55.在一些实施方案中,深度图和/或点云可用于标识两个相邻物体之间的间隙(例如,图4b的插图中的物体402-1a与402-2a之间的间隙408)。标识间隙可包括确定沿堆叠400的表面400-a的离散位置(例如,沿图4b中的堆叠400的表面400-a的位置“n
1”、“n
2”和“n
3”)处的深度度量。在图4b中,位置“n
1”位于表面402-1a上,位置“n
3”位于表面402-2a上,并且位置“n
2”位于表面402-1a与402-2a之间。在位置“n
2”处的深度度量大于(例如,较低的表面高度)位置“n
1”和“n
3”处的深度度量的情况下,机器人系统100可确定位置“n
2”对应于图4b中相邻物体402-1a与402-2a之间的间隙(例如,间隙408)。例如,机器人系统100可将围绕或限定间隙的边缘与形状模板和/或存储在主数据中的一组尺寸阈值进行比较。另外,机器人系
统100可比较位置“n
1”与“n
2”和/或“n
2”之间的深度度量的差。当边缘的形状未能与形状模板中表示的已知/预期物体匹配时,当一个或多个尺寸未能满足一组尺寸阈值(例如,间隙的宽度小于最小尺寸/宽度)时,和/或当高度差大于最小差阈值时,机器人系统100可将界定在边缘之间的区域确定为间隙。
56.机器人系统100可使用图像数据406来检测堆叠400中的物体402。物体检测可包括估计图像数据406中所描绘的物体的身份和/或位置。在一些实施方案中,机器人系统100可处理图像数据406(例如,2d和/或3d描绘)以标识其中描绘的角和/或边缘/线。这种标识可包括标识堆叠400的角和边缘和/或标识堆叠400中的物体402的角和边缘。机器人系统100可处理角和/或边缘以估计每个所描绘物体的表面或外围边界。机器人系统100可使用估计的边界来估计每个所描绘物体的有界表面(例如,顶表面)。例如,机器人系统可估计堆叠400的共面表面400-a的边界的物体402-1、402-2和402-3分别的表面402-1a、402-2a和402-3a的外围边界。例如,标识可包括基于图像检测方法分析对应于堆叠400的2d视觉图像的图像数据406,所述图像检测方法包括例如被训练以标识盒和包裹的角的算法。此外,可训练此类图像检测方法以将物体的角和边缘与物体上的视觉特征区分开来。例如,训练机器人系统以将物体表面上的襟翼、胶带或其他视觉特征与物体的实际边缘区分开来。
57.在一些实施方案中,机器人系统100基于将所估计表面的2d图像图案和/或表面边缘尺寸与主数据中的已知或所记录物体进行比较来标识所描绘的物体。例如,在图4b中,物体402以三乘三阵列布置。当比较产生匹配(例如,如由一组阈值定义,诸如重叠、置信度度量等)时,机器人系统100可检测到所标识的物体位于由所确定的边缘定义的位置处。在一些实施方案中,机器人系统100基于比较所估计表面的3d图像图案和/或表面边缘尺寸来标识所描绘的物体。
58.机器人系统100可将图像数据的未识别/未匹配部分处理为对应于一个或多个未识别或意外物体或对应于一个或多个间隙。例如,图像数据406的未识别部分可对应于不规则形状的物体或损坏的物体。机器人系统100可在操纵或任务实现期间自动地或自主地记录意外物体。在一些实施方案中,机器人系统100可推导用于夹持意外物体的最小可行区域(mvr)。机器人系统100可使用mvr来抓握和提升和/或将物体从起始位置搬运到任务位置。机器人系统100可基于其移动检测未识别物体的实际边缘、对应尺寸(例如,侧向尺寸)和/或视觉表面图像(例如,图像数据的对应部分)。机器人系统100可比较在移除/移动未识别物体之前和之后拍摄的图像,以推导其尺寸(例如,侧向尺寸和/或高度)。机器人系统100还可基于诸如使用交叉/线传感器和/或侧视相机在搬运期间测量或观察物体来确定搬运期间物体的高度。机器人系统100可在物体搬运期间获得其他测量结果或估计,诸如重量、com位置等。
59.机器人系统100可使用描述堆叠内容(诸如装运清单、订单收据、任务跟踪器(例如,对应于移除/搬运的物体的历史)等)的附加信息来处理物体(例如,已识别和/或未识别的物体)。例如,机器人系统100可基于堆叠的内容描述来确定预期物体的初步列表。在物体检测期间,机器人系统100可在其他物体之前将图像数据与初步列表上的物体的所记录的描述进行比较。
60.机器人系统100可使用物体检测、来自处理图像数据的结果、主数据、堆叠描述和/或附加描述性数据来推断关于堆叠、其中的物体和/或任务实现的状态的附加信息。例如,
机器人系统100可估计堆叠内的物体的数量和/或堆叠内的物体的布置。
61.示例性尺寸(高度)估计
62.在一些实施方案中,机器人系统100可使用所获得的数据来推导和/或确认所搬运物体的尺寸。为了处理尺寸,机器人系统100可获得和使用在不同时间(例如,在一组拣选/放置之前和/或之后)获得的一组或一系列图像数据。例如,机器人系统100可使用为物体检测而捕获的图像和/或其他图像(例如,为认证或其他目的而捕获的单独图像)来推导已经在图像之间搬运的物体的高度。
63.对于上下文,机器人系统100可推导搬运顺序和/或打包配置(例如,针对要放置在任务位置处的每个物体的一组放置位置)以及针对目标物体的运动计划。每个运动计划可包括用于操作机器人单元(例如,图1的搬运单元104、图1的机械臂系统132等)以将对应的一组物体从起始位置搬运到任务位置的一组命令和/或设置。因此,运动计划的开始部分可对应于拣选动作并且/或者运动计划的结束部分可对应于放置动作。机器人系统100(通过例如与控制器分离或包括在控制器中的计划装置/模块)可推导运动计划,使得放置动作遵循打包配置。此外,可根据搬运顺序对运动计划进行排序。
64.机器人系统100(通过例如控制器)可使用遵循搬运顺序的搬运历史(例如,拣选历史和/或放置历史)来跟踪运动计划的实现。搬运历史可表示在时间上从哪个位置拣选物体或将物体放置在哪个位置。搬运历史可包括物体检测信息(例如,物体标识符和/或物体的所估计起始位置)、物体的所估计大小或尺寸(例如,侧向尺寸)、表示用于搬运物体的运动计划的计划标识符、与搬运或运动计划的实现相关联的一个或多个时间戳、物体的所估计或所计划放置位置/姿势等。
65.机器人系统100(例如,使用与实现搬运的模块/过程分开的模块/过程)可在运动计划的实现期间和/或之后获得和处理另外的图像数据。机器人系统100可将所跟踪的历史与图像数据进行比较,以进一步推导或验证在图像的时间之间搬运的物体的尺寸。换句话说,机器人系统100可使用所跟踪的历史来确定如在所获得的图像中所描绘的被移除物体的侧向坐标。
66.对于推导的说明性示例,图5a示出根据本技术的一个或多个实施方案的起始位置的第一图像502(例如,在前图像数据),并且图5b示出根据本技术的一个或多个实施方案的起始位置的第二图像504(例如,后续图像数据)。第一图像502和第二图像504描绘包括物体402的堆叠400的俯视图图像,如关于图4a至图4b所描述的。第一图像502可描绘在拣选一个或多个物体之前对应的起始/任务位置,并且第二图像504可描绘在拣选一个或多个物体之后的位置。在一些实施方案中,第一图像和第二图像可以是顺序的并且表示在任务实现过程期间拍摄的两个紧接的图像。如图所示,在图5a中,堆叠400包括在物体位置1、2和3处的物体402。在图5b中,已移除来自物体位置1和2的物体(例如,已移除物体402-4和402-5,如用图案填充所示),而物体位置3仍具有物体(以白色填充所示)。
67.机器人系统100可比较在所拣选的物体处和/或周围的深度度量(在图5b中使用不同的填充来示出),以验证物体拣选,从而推导所搬运物体的一个或多个尺寸。如图所示,图5a中的第一图像502描绘位置1中的物体402-4,所述物体402-4随后被移除并且未描绘在图5b中。例如,机器人系统100可标识沿侧向平面的对应于所搬运物体402-4的初始检测的一个或多个比较位置(例如,沿x和y平面的位置,诸如对应于物体位置1的平面的位置“a”至“d”)。在一些实施方案中,所标识/所比较的位置可对应于所检测物体的一个或多个角、一个或多个边缘和/或中心部分(例如,从外边缘/角偏移预定侧向距离或所估计边缘长度的百分比的区域)。出于比较目的,机器人系统100可进一步标识对应于所检测物体(例如,邻接的角或边缘)的与所搬运物体相邻的位置。
68.机器人系统100可使用比较位置来比较移除之前和之后的图像(诸如第一图像502和第二图像504)中的深度度量,以推导被移除物体的高度(例如,图4a中所示的高度ho)。然而,由于被移除物体下面的层的特性可能是未知的,因此机器人系统100可实现另外的过程来推导被移除物体的高度。例如,被移除物体下方的支撑层的高度可能不均匀。因此,被移除物体可能已经由几个(例如,三个或更多个)接触点支撑。另外,一个或多个预定比较位置可与不受支撑的位置或间隙重叠。在此类情况下包括未经验证或未经处理的深度度量可能导致错误的高度推导。
69.因此,出于比较目的,机器人系统100可在比较位置处限定或验证一个或多个深度度量。例如,机器人系统100可基于将比较点处的深度度量相互比较来标识深度测量中的异常值。机器人系统100可标识并从考虑中移除与集合中的其他深度度量相差预定量或百分比的任何异常值深度度量。深度比较和异常值考虑可解释异常值比较点与支撑层中的间隙重叠的情况。因此,机器人系统100可移除由于分析被移除物体下面的间隙而导致的错误。
70.在一些实施方案中,机器人系统100可基于对多个比较位置(例如,比较位置“a”至“d”、“i”等)(诸如所估计角和/或中心部分)处的深度度量取平均值来推导所搬运物体的高度。特别地,当多个位置处的深度度量在预定义的阈值内时,可基于对深度度量取平均值来推导所搬运物体的高度,从而加快确定高度的过程。预定阈值可对应于深度测量结果的典型测量误差或者可由机器人系统的操作员任意设置。例如,机器人系统100的操作者可将阈值设置为所搬运物体的典型高度的一定百分比(例如,2%、5%或10%)。
71.另外地或替代地,机器人系统100可进一步基于所估计的com位置(例如,图5a至图5b中的com位置506),诸如通过跨之前图像和之后图像比较com位置处的深度度量推导高度。当在物体检测期间所搬运物体与对应的所记录物体匹配时,机器人系统100可从主数据访问com位置。当所搬运物体是未识别的物体时,机器人系统100可基于来自末端执行器上的力/扭矩传感器的测量结果(例如,重量和/或扭矩矢量测量结果)来估计在搬运期间(例如,在提升物体之后)物体的com(例如,对应于平衡点的侧向坐标和/或深度)。可存储所估计的com以用于记录未识别的物体。
72.另外地或替代地,诸如当支撑物体具有不规则/非平面表面时,机器人系统100可动态地标识和使用来自在移除图5b中的物体402-4之后获得的第二图像504的支撑位置来推导物体高度。例如,机器人系统100可分析在移除物体之后暴露的区域的深度度量以确定先前覆盖的表面(例如,在所搬运物体下面的物体的顶表面)上的一组最高点。例如,在图5b中,用点图案示出的区域在将物体402-4从图5a所示的位置1移动之后被暴露。机器人系统100可标识对应于相对于com的最高高度的一组侧向位置,诸如沿着一个或多个方向/轴线在距com阈值距离内和/或与com相对的位置内。机器人系统100可将对应的位置确定为支撑/接触点。机器人系统100可基于跨之前图像和之后图像比较接触点处的深度度量来计算高度。
73.较之其他位置处的度量,机器人系统100可优先考虑com、中心部分和/或支撑位置
处的深度度量。例如,机器人系统100可通过忽略其他位置处的深度度量、为优先考虑的位置处的度量提供更高的权重或它们的组合来进行优先化。因此,机器人系统100可通过分析被支撑位置处的高度来为被移除的静止物体的高度提供改进的精度。换句话说,机器人系统100可通过基于com和中心部分处理最可能被支撑的位置来提供所推导高度的增加的精度。此外,机器人系统100可使用com、中心部分和/或支撑位置来推导具有混合物体类型的堆叠(例如,包括具有不同形状和大小的多个物体的混合存货单位(sku)堆叠)内的物体的高度。
74.在一些实施方案中,机器人系统100通过根据第一比较位置(例如,在图5b中的最初被图5a中的物体402-4占据的位置1处的比较位置“a”)推导第一高度并且根据第二比较位置(例如,在图5b中的最初被图5a中的物体402-4占据的位置1处的比较位置“b”)推导第二高度来推导所搬运物体的高度。然后机器人系统可计算第一高度与第二高度之间的差。在第一高度与第二高度之间的差低于预定阈值高度差(例如,对应于测量误差的标称阈值高度差)的情况下,在搬运物体402-4之前,机器人系统通过对第一高度和第二高度取平均值并将所述平均值与从图4a测量的高度进行比较来确定所搬运物体402-4的高度。例如,当在比较位置“a”和“b”处测量的高度之间的差低于与深度测量结果的测量误差对应的标称阈值时,则机器人系统100确定图5b中的位置“a”和“b”对应于共面表面。在这种情况下,机器人系统基于在图5b中的比较位置“a”和“b”处测量的高度的平均值来确定所搬运物体的高度。在第一高度与第二高度之间的差高于预定阈值高度差的情况下,机器人系统100将第一高度和第二高度中的较低者分配用于计算所搬运物体的高度。例如,当在比较位置“a”和“b”处测量的高度之间的差大于标称阈值时,则机器人系统100确定图5b中的位置“a”和“b”不对应于共面表面。这种情况可对应于例如物体402-4已被放置在具有不同高度的两个不同物体的顶部上的情况(例如,图5b中的位置“a”对应于具有更大高度的物体并且位置“b”对应于具有较低高度的物体)。在这种情况下,机器人系统基于在图5b中的比较位置“a”和“b”处测量的高度中的较低者来确定所搬运物体的高度(例如,物体402-4已被具有更大高度的物体支撑)。
75.在一些实施方案中,机器人系统100可进一步处理深度度量相对于形状基元的所计算差。例如,机器人系统100可将被移除物体的深度度量的差和侧向尺寸与一个或多个形状基元的侧向尺寸(例如,预期的物体形状和尺寸)进行比较。使用比较结果,机器人系统100可将各种尺寸/度量映射到与唯一基元、预定物体姿势等相对应的先前标识的物体(诸如通过例如将每个值标识为物体的长度、宽度和高度中的一者)。
76.在一些实施方案中,机器人系统100在推导高度之前或在验证所推导的高度之前认证物体的安全移除。机器人系统100可基于分析剩余在起始位置处的物体(例如,物体的暴露表面,诸如顶表面)的形状(例如,在移除图5a中位置1所示的最顶部物体402-4之后暴露的图5a中位置1处的物体的形状)和/或位于任务位置处的物体的形状来认证安全移除。例如,机器人系统100可诸如使用先前标识的比较位置计算沿暴露表面或暴露表面之间的一个或多个坡度值。例如,机器人系统100可计算图5b中的两个比较位置“a”至“b”之间的坡度值。当所计算坡度在表示侧向/水平表面和/或对应于堆叠规则和/或物体形状基元的其他预期表面取向的预定阈值内时,机器人系统100可认证安全移除。例如,预定阈值对应于深度测量结果的典型测量误差。例如,预定阈值内的所计算坡度指示坡度近似为零,对应于
图5b中位置1处的平面表面。当所计算坡度在阈值内并且/或者所计算坡度是平面的(例如,中心部分的相对侧上的坡度)时,机器人系统100可估计对应的物体(例如,保留在起始位置处的在所搬运物体下方的物体和/或任务位置处的所搬运物体)没有损坏(例如,没有被压坏并保持其原始形状)。当所计算坡度在阈值之外时,并且/或者当所计算坡度不是平面的时,机器人系统100可估计对应的物体在搬运期间可能已经被压坏或损坏。机器人系统100可响应于估计被压坏的物体而绕过高度推导或其验证。
77.机器人系统100可类似地认证或确定其他搬运状况的状态。例如,机器人系统100可使用所确定的深度度量来确定其中一个或多个非意图的物体在目标物体的搬运期间被搬运或移动的非意图的多拣选。例如,机械臂在起始位置抓握两个物体,而不是像基于搬运计划意图的那样只抓握单个物体。当所检测/目标物体(如拣选历史所指示的)外部的深度度量跨拣选/放置之前和之后的图像不同时,机器人系统100可确定非意图的多拣选。
78.出于说明目的,物体高度计算是关于起始位置处的俯视图图像来描述的。然而,应当理解,机器人系统100可以不同的方式推导高度。例如,机器人系统100可类似地使用在任务位置处的放置之前和之后的图像来推导新放置的物体的高度。另外,机器人系统100可类似地使用侧视图和/或透视图像来确定一个或多个尺寸。
79.操作流程
80.图6是根据本技术的一个或多个实施方案的用于操作机器人系统的示例性方法600的流程图。方法600可用于基于在任务执行期间捕获的一个或多个测量结果(例如,深度度量)来推导估计(例如,物体尺寸)。方法600可基于使用图2的处理器202中的一个或多个执行存储在图2的存储装置204中的一个或多个上的指令来实现。在实现运动计划和/或方法600时,处理器202可将运动计划或相关联的一组/一系列命令/设置发送到机器人单元(例如,图1的搬运组件或搬运单元104和/或图3的末端执行器140)。因此,搬运单元104和/或末端执行器140可执行运动计划以抓握和搬运包裹。
81.在框604处,机器人系统100可获得描绘起始位置和/或目标位置的初始图像数据(例如,第一图像502)。机器人系统100可使用成像系统、传感器和/或相机(例如,关于图2描述的成像装置222和/或位置传感器224)。所获得的图像数据可包括描绘物体堆叠(例如,图4a中的堆叠400)和/或对应平台(例如,仓位、货盘、输送机等,诸如放置平台404)的2d图像和/或3d图像(例如,深度图)。
82.在框606处,机器人系统100可处理所获得的2d或3d图像以检测所描绘的物体。机器人系统100可处理所获得的图像(例如,图4b中的图像数据406)以检测物体堆叠(例如,包括物体402的物体堆叠400)中的物体的边缘和角。机器人系统可进一步使用检测到的物体的边缘和角来标识侧向表面。机器人系统100可检测边缘、标识表面和/或将表面的图像与主数据进行比较以检测物体。
83.在框610处,机器人系统100可推导堆叠中的物体的计划(例如,运动计划、搬运顺序、打包计划等)。机器人系统100可基于预定过程推导计划,诸如通过推导满足一组预定规则的每个物体的放置位置、推导实现打包计划的物体搬运顺序和/或推导根据从放置位置/姿势到起始位置的迭代潜在位置的运动计划。
84.在框612处,机器人系统100可诸如通过根据所计划的顺序(经由例如控制器)实现运动计划,来搬运堆叠中的物体。机器人系统100可实现运动计划以操作机械臂和/或末端
执行器,从而抓握目标物体、提升和搬运所抓握的物体,以及将物体释放在所计划位置。在框613处,机器人系统100可在物体的搬运期间获得另外数据。例如,机器人系统100可基于实现初始位移以将被抓握的物体的边缘与相邻物体分开来获得物体的侧向尺寸。另外,机器人系统100可获得由提升被抓握的物体产生的重量和/或扭矩矢量。机器人系统100可使用物体的重量、扭矩矢量、夹持位置和/或所估计尺寸来估计com。
85.在框614处,机器人系统100可在物体搬运(例如,运动计划的实现)期间获得后续图像数据。因此,机器人系统100可获得在搬运一个或多个物体子集之前(框604)和之后(框614)的图像(例如,2d图像和/或3d深度图)。机器人系统100可获得对起始位置和剩余物体的描绘和/或对目标位置和新放置的物体的描绘。例如,图5b中的第二图像504包括描绘在已经从堆叠400中移除至少一个物体402之后的起始位置的后续图像。
86.在框615处,机器人系统100可获得描述在两个连续图像之间搬运的物体的搬运历史。为了标识所搬运的物体,机器人系统100可确定与初始图像数据(框604)和后续图像数据(框614)相关联的时间(例如,时间戳)。机器人系统100可访问存储装置204并标识搬运历史中的对应时间。机器人系统100可将在搬运历史中的所标识时间之间搬运的物体标识为在图像之间搬运的物体。机器人系统100可进一步访问所搬运物体的检测信息以确定物体位置(例如,中心部分、边缘、角等)和/或与所搬运物体相关联的其他方面(例如,所估计的侧向尺寸、已知com等)。
87.在框616处,机器人系统100可基于将所获得的图像数据与在前/初始图像数据进行比较来推导所搬运物体的一个或多个尺寸(例如,物体高度)。在框622处,机器人系统100可如上所述确定和/或限定比较位置(例如,沿侧向平面的点)。比较位置的数量可以是每个物体两个、三个、四个或五个。例如,在图5a至图5b中,机器人系统100已经标识占据图5a中的位置1的物体402-4的角附近的比较位置“a”至“d”。机器人系统100可通过从图5b中的第二图像504中的比较位置“a”至“d”处的深度度量中提取图5a中的第一图像502中的比较位置“a”至“d”处的深度度量来确定物体402-4的高度。在一些实施方案中,系统100仅基于比较位置确定物体的高度,而不在最初被移除的物体占据的其他位置处处理高度以加速处理。框616处的高度确定可与关于框610和612描述的推导运动计划和根据运动计划来搬运物体并行或分开进行。
88.在一些实施方案中,推导所搬运物体的一个或多个尺寸包括标识两个相邻物体之间的间隙(例如,图4b的插图中的在物体402-1a与402-2a之间的间隙408)。标识间隙可包括确定沿表面的离散位置(例如,沿图4b中的堆叠400的表面400-a的位置“n
1”、“n
2”和“n
3”)处的深度度量。例如,在图4b中,位置“n
1”位于表面402-1a上,位置“n
3”位于表面402-2a上,并且位置“n
2”位于表面402-1a与402-2a之间。在位置“n
2”处的深度度量大于(例如,较低的表面高度)位置“n
1”和“n
3”处的深度度量的情况下,机器人系统100可确定位置“n
2”对应于图4b中相邻物体402-1a与402-2a之间的间隙(例如,间隙408)。例如,机器人系统100可将围绕或限定间隙的边缘与形状模板和/或存储在主数据中的一组尺寸阈值进行比较,以推导一个或多个尺寸。在物体堆叠是单个存货单位(sku)(例如,包括具有相同形状和大小的多个物体的sku)的情况下,机器人系统100可基于所标识的间隙来确定所搬运物体的一个或多个尺寸。例如,机器人系统100基于物体之间的所标识的间隙而不进行进一步处理(例如,非平面表面的分析),来确定单个sku物体堆叠包括一定数量的物体。
89.在框624处,机器人系统100可确定与所搬运物体相关联的图像区域的表面特性。表面特性可包括表面的尺寸(例如,图4a中的长度lo和宽度wo)、表面的形状和/或表面的坡度。例如,机器人系统100可计算比较位置中的一个或多个之间的坡度,并使用所述坡度来确定所搬运物体、周围物体和/或先前位于所搬运物体下方的物体的暴露表面是否具有平面表面特性或原本预期的表面特性。机器人系统100可使用此确定来验证周围物体或先前位于所搬运物体下方的物体在所搬运物体的移除期间没有被损坏。
90.此外,在所搬运物体、周围物体和/或先前位于所搬运物体下方的物体的暴露表面不具有平面表面特性和原本预期的表面特性的情况下,机器人系统100确定相应物体已在所搬运物体的拣起期间被损坏。例如,图5a示出包括在移除任何物体402之前物体堆叠400的俯视图图像的第一图像502。图5a示出包括在已经从位置1移除物体402-4之后物体堆叠400的俯视图的第二图像。比较位置“a”至“d”可用于确定从位置1(例如,在图5b中用点填充示出)移除的物体402-4下面暴露的表面的坡度,以确定所搬运物体下面的表面是否已损坏。
91.作为确定尺寸的一部分,机器人系统100可验证搬运,如框626处所示。在一些实施方案中,机器人系统100可在跨图像的坡度和/或深度差与一组阈值条件/值匹配时验证物体的搬运(例如,搬运成功)。例如,机器人系统100可在确定在如上所述的搬运期间所搬运物体、周围物体和/或先前支撑物体未被压坏时验证搬运。
92.为了在经过验证的搬运之后推导尺寸,机器人系统100可跨图像计算深度变化,如框628处所示。机器人系统100可计算在对应于所搬运物体的比较位置处的差(例如,如搬运历史所指示的)。在一些实施方案中,机器人系统100可如上所述计算深度度量的平均值和/或优先考虑某些位置(例如,com、所估计的支撑/接触位置、中心部分等)。
93.例如,为了在非平面表面上保持稳定,物体需要由围绕物体的com的至少三个表面位置支撑。机器人系统100由此可通过沿所搬运物体在被搬运之前所在的非平面表面标识围绕com的三个(或更多个)支撑位置来计算所搬运物体的高度。三个支撑位置基于深度度量来标识,使得三个支撑位置对应于沿表面获得的具有所有深度度量中最短深度度量的三个位置。所搬运物体的高度可通过对三个支撑位置处的深度度量取平均值而推导。
94.在框630处,机器人系统100可将所计算的深度变化与物体基元(例如,对应于预期物体形状和大小的基元)进行比较。机器人系统100可根据比较将深度变化映射到所搬运物体的尺寸或方向。因此,机器人系统100可将所搬运物体的深度变化和侧向尺寸映射到物体的长度、宽度和高度。
95.在一些实施方案中,方法600的步骤(例如,步骤604至630中的一者或多者)可如使用实线反馈箭头所示的那样迭代地重复,以例如针对物体堆叠中的多个物体来推导尺寸(框616)、确定表面特性(框624),或验证搬运(框626)。在框614中获得的后续图像数据可包括第一后续图像(例如,图5b中的第二图像504)和第二后续图像。第一后续图像是在已从物体堆叠搬运第一物体(例如,物体402-4)之后捕获的,并且第二后续图像是在已从物体堆叠搬运第二物体(例如,物体402-5)之后捕获的。机器人系统100可针对第一所搬运物体通过比较框614的第一后续图像和框604的初始图像数据来执行方法600的步骤614至630中的一者或多者。机器人系统100还可针对第二所搬运物体通过比较框614的第二后续图像和框604的初始图像数据来执行方法600的框614至630的操作。此外,在框614中获得的后续图像
4的角)。
100.在一些实施方案中,所述方法还包括:标识所述物体堆叠中的所述一个或多个物体的表面和边缘(例如,图4b中的物体堆叠400的表面和边缘)。所述标识包括从跟踪历史中检索关于在收集在前图像数据时记录为在起始位置处的物体(例如,物体402)的信息。所述标识还包括将对应于在前图像数据中的物体堆叠的高度的第一深度度量(例如,对应于图5a中的位置“a”至“d”和“i”至“k”的深度度量)与在收集在前图像数据时记录为在起始位置处的物体进行比较,以标识物体堆叠中的一个或多个物体的表面和边缘。
101.在一些实施方案中,标识所述物体堆叠中的所述一个或多个物体的所述表面或边缘还包括确定所述物体堆叠的高度(例如,图4a中的高度hs)。确定所述物体堆叠的所述高度包括:根据所述在前图像数据确定沿所述物体堆叠的共面顶表面的离散位置(例如,沿图5a中的堆叠400的顶表面的位置“a”至“d”和“i”至“j”)处的深度度量。所述在前图像数据包括表示成像系统(例如,图3中的成像系统160)与在所述在前图像数据中描绘的表面(例如,图像数据406中的堆叠400的表面400-a)之间的距离的深度图或点云。确定所述高度还包括:根据所述后续图像数据确定沿在搬运所述物体堆叠中的所述物体之前所述物体堆叠所在的放置平台的顶表面的离散位置(例如,沿放置平台404的位置“e”至“h”)处的深度度量。标识所述高度还包括:比较沿所述物体堆叠的所述共面顶表面的所述深度度量(例如,位置“a”至“d”处的深度度量)和沿所述放置平台的所述顶表面的所述深度度量(例如,位置“e”至“h”处的深度度量)以确定所述物体堆叠的所述高度。
102.在一些实施方案中,标识所述物体堆叠的所述表面或边缘还包括:标识物体堆叠中的一个或多个物体的侧向表面的轮廓(例如,图4b中的物体堆叠400中的物体402-1、402-2和402-3分别的表面402-1a、402-2a和402-3a)。标识所述轮廓包括:从与机器人系统相关联的存储器中检索包括与预期物体形状的轮廓形状对应的通用基元的数据。标识所述轮廓还包括:将沿物体堆叠的共面顶表面的离散位置(例如,图5a中的位置“a”至“d”和“i”至“j”)处的深度度量与通用基元进行比较以标识物体堆叠中的一个或多个物体的侧向表面的轮廓。
103.在一些实施方案中,标识一个或多个比较位置(例如,图5a中的位置“a”至“d”和“i”至“j”)包括:基于物体堆叠中的一个或多个物体的侧向表面的所标识轮廓,标识至少一个所搬运物体中的相应所搬运物体的角和/或中间部分。
104.在一些实施方案中,所述方法还包括:标识所述物体堆叠中的所述一个或多个物体中的两个相邻物体之间的间隙(例如,图4b的插图中的物体402-1a与402-2a之间的间隙408)。标识所述间隙包括:根据所述在前图像数据确定沿所述物体堆叠的表面的离散位置(例如,沿图4b中的堆叠400的表面400-a的位置“n
1”、“n
2”和“n
3”)处的深度度量。所述离散位置包括第一位置、第二位置和第三位置。所述第二位置与所述第一位置和所述第三位置相邻并且位于所述第一位置与所述第三位置之间。所述在前图像数据包括表示成像系统与在所述在前图像数据中描绘的表面之间的距离的深度图或点云。所述方法包括:确定所述第一位置、所述第二位置和所述第三位置处的深度度量之间的差。所述方法包括:根据确定所述第二位置处的深度度量比所述第一位置处的深度度量和所述第三位置处的深度度量大超过阈值深度值,确定所述第二位置对应于所述两个相邻物体之间的所述间隙。例如,在位置“n
2”处的深度度量大于位置“n
1”和“n
3”处的深度度量的情况下,机器人系统100确定位
置“n
2”对应于图4b中相邻物体402-1a与402-2a之间的间隙(例如,间隙408)。
105.在一些实施方案中,标识所述物体堆叠的所述表面或边缘包括:分析起始位置的在前图像(例如,图5a中的第一图像502)以标识物体堆叠的表面或边缘。前述图像数据包括描绘起始位置的俯视图的视觉二维图像。
106.在一些实施方案中,基于所述在前图像数据和所述后续图像数据确定所述至少一个所搬运物体包括:确定所述在前图像数据的所述第一深度度量与所述在前图像数据的所述第二深度度量之间的差。所述第一深度度量和所述第二深度度量是从包括所述物体堆叠的所述起始位置处的特定区域(例如,与图5a中的物体402-4的位置对应的位置1)收集的。所述方法包括:根据确定所述第一深度度量与所述第二度量之间的差高于阈值(例如,对应于典型测量不确定性的标称阈值),确定至少一个物体已经搬运离开所述起始位置处的所述物体堆叠。所述方法还包括:根据确定第一深度度量与第二深度度量之间的差低于阈值,确定没有物体已经搬运离开起始位置处的物体堆叠的特定区域。
107.在一些实施方案中,与至少一个所搬运物体对应的检测数据包括关于物体标识符(例如,唯一标识符,诸如与物体相关联的标识码)和/或与至少一个所搬运物体相关联的所估计起始位置的信息。
108.在一些实施方案中,从所述跟踪历史确定所述至少一个所搬运物体包括:确定与所述在前图像数据(例如,图5a中的第一图像502)相关联的第一时间戳和与所述后续图像数据(例如,图5b中的第二图像504)相关联的第二时间戳。所述方法包括:将所述第一时间戳和所述第二时间戳与包括指示物体何时被搬运的时间戳的所述跟踪历史进行比较。例如,机器人系统100确定预期将在第一时间戳与第二时间戳之间搬运的物体的标识。
109.在一些实施方案中,所述在前图像数据和/或所述后续图像数据包括所述起始位置和/或所述任务位置的三维深度图。
110.在一些实施方案中,所述方法还包括:计算所述在前图像数据和所述后续图像数据处的所述一个或多个比较位置中的两个比较位置(例如,沿着对应于图5a和图5b中的位置2的物体表面的位置“i”和“k”)之间的坡度,以用于确定与相应物体相关联的表面特性。例如,所述两个比较位置对应于在物体402-4从物体堆叠400中移除之前与物体402-4相邻的位置。所述方法包括:确定依据所述在前图像数据和所述后续图像数据计算的在所述两个比较位置之间的所述坡度的差是否保持在阈值(例如,对应于典型测量不确定性的标称阈值)内。所述方法还包括:根据确定依据所述在前图像数据和所述后续图像数据计算的在所述两个比较位置之间的所述坡度的所述差保持在所述阈值内,确定所述相应物体在搬运之后保持完好无损。所述方法还包括:根据确定依据所述在前图像数据和所述后续图像数据计算的在所述两个比较位置之间的所述坡度的所述差大于所述阈值,确定所述相应物体在搬运之后被损坏。例如,如果在位于图5b中的位置2处的物体402-5的顶表面上的位置“i”与“k”之间计算的坡度大于阈值,则机器人系统100确定在物体402-4从物体堆叠400中移除之后物体402-5被压坏。
111.在一些实施方案中,推导所述至少一个所搬运物体中的每个所搬运物体的所述高度包括:针对所述至少一个所搬运物体中的相应所搬运物体,根据第一比较位置(例如,在图5b中的最初被图5a中的物体402-4占据的位置1处的比较位置“a”)推导第一高度并且根据第二比较位置(例如,在图5b中的最初被图5a中的物体402-4占据的位置1处的比较位置“b”)推导第二高度。所述方法包括:确定所述第一高度与所述第二高度之间的差。所述方法包括:根据确定所述第一高度与所述第二高度之间的所述差低于预定阈值高度差,对所述第一高度和所述第二高度取平均值以推导所述相应所搬运物体的所述高度。例如,当在比较位置“a”和“b”处测量的高度之间的差低于与深度测量结果的测量误差对应的标称阈值时,则机器人系统100确定图5b中的位置“a”和“b”对应于共面表面。在这种情况下,机器人系统基于在图5b中的比较位置“a”和“b”处测量的高度的平均值来确定所搬运物体的高度。所述方法包括:根据确定所述第一高度与所述第二高度之间的所述差高于所述预定阈值高度差,将所述第一高度和所述第二高度中的较低者分配为所述相应所搬运物体的所述高度。例如,当在比较位置“a”和“b”处测量的高度之间的差大于标称阈值时,则机器人系统100确定图5b中的位置“a”和“b”不对应于共面表面。这种情况可对应于例如物体402-4已被放置在具有不同高度的两个不同物体的顶部上的情况(例如,图5b中的位置“a”对应于具有更大高度的物体并且位置“b”对应于具有较低高度的物体)。在这种情况下,机器人系统基于在图5b中的比较位置“a”和“b”处测量的高度中的较低者来确定所搬运物体的高度。
112.在一些实施方案中,所述方法还包括:确定至少一个所搬运物体中的每个所搬运物体的质心(例如,图5a至图5b中的com位置506)。质心是基于所述至少一个所搬运物体的重量和所述至少一个所搬运物体的扭矩矢量确定的。所述方法还包括:基于每个所搬运物体的质心推导至少一个所搬运物体的一个或多个尺寸。
113.在一些实施方案中,所述方法包括:确定至少一个所搬运物体的质心(例如,图5a至图5b中的com位置506)。质心基于以下进行确定:(1)相应所搬运物体的重量和/或(2)如在至少一个所搬运物体的搬运期间测量的至少一个所搬运物体的一个或多个扭矩矢量。所述方法包括:标识围绕所述质心的一组(例如,三个或更多个)支撑位置。所述三个支撑位置对应于具有来自沿所述至少一个所搬运物体(例如,在被搬运之前)最初所在的非平面表面的多个深度度量中的最短深度度量(例如,最高点)的位置。所述一组支撑位置可根据一个或多个空间要求来标识(例如,位于与在com位置处相交的至少两个轴线相对)。所述方法包括:对所述三个支撑位置处的所述深度度量取平均值,以推导所述至少一个所搬运物体的高度。所述方法还可包括:(1)估计至少一个所搬运物体的底表面的坡度或斜度,以及(2)使用所估计的坡度来计算至少一个所搬运物体的高度。
114.根据一些实施方案,所述方法包括:获得起始位置的第一图像数据(例如,图5a中的第一图像502),以用于将物体从起始位置搬运到任务位置。第一图像数据对应于俯视图并且包括对应于物体堆叠在起始位置处的高度的第一深度度量。所述方法包括:获得起始位置的第二图像数据(例如,图5b中的第二图像504)。所述第二图像数据对应于俯视图并且包括对应于所述物体堆叠在搬运物体堆叠中的第一物体之后的高度的第二深度度量。所述方法包括:获得起始位置的第三图像数据(例如,机器人系统100在从堆叠400搬运物体的同时顺序地重复获得起始位置的图像数据)。所述第三图像数据对应于俯视图并且包括对应于所述物体堆叠在搬运物体堆叠中的第一物体和第二物体之后的高度的第三深度度量。所述方法包括:通过标识表示第一物体最初占据的位置的第一组比较位置(例如,在对应于图4a中的物体402-4的位置1处的位置“a”至“d”)来确定第一物体的高度。所述方法包括:基于比较在表示第一物体最初占据的位置的第一组比较位置处的第一深度度量和第二深度度量来推导第一所搬运物体的高度。所述方法包括:通过标识表示第二物体最初占据的位置
的第二组比较位置(例如,在对应于图5a中的物体402-5的位置2处的位置“i”至“k”)来确定第二物体的高度。所述方法包括:基于比较在表示第二物体最初占据的位置的第二组比较位置处的第二深度度量和第三深度度量来推导第二所搬运物体的高度。
115.根据一些实施方案,一种机器人系统包括:至少一个处理器和至少一个存储器,所述至少一个存储器包括用于执行用于操作本公开的机器人系统的方法的处理器可执行指令。
116.根据一些实施方案,一种非暂时性计算机可读介质包括处理器指令,所述处理器指令在由一个或多个处理器执行时致使所述一个或多个处理器执行用于操作本公开的机器人系统的方法。
117.结论
118.所公开技术的示例的以上具体实施方式不意在是穷举的或将所公开技术限制为以上公开的精确形式。虽然以上出于说明性目的描述了所公开技术的具体示例,但是如相关领域的技术人员将认识到的,各种等效修改可能在所公开技术的范围内。例如,虽然过程或框是以给定次序呈现的,但替代实现方式可以不同次序执行具有步骤的例程或采用具有框的系统,并且可删除、移动、添加、细分、组合和/或修改一些过程或框来提供替代方案或子组合。这些过程或框中的每一个可以各种不同方式来实现。另外,虽然过程或框有时被示出为串联执行,但这些过程或框可替代地并行执行或实现,或者可在不同时间执行。此外,本文所指出的任何具体数目仅是示例;替代实现方式可采用不同值或范围。
119.可根据以上具体实施方式对所公开技术做出这些改变和其他改变。虽然具体实施方式描述了所公开技术的某些示例以及预期的最佳模式,但是无论以上描述在文本中出现的多么详细,都可通过许多方式来实践所公开技术。系统的细节可在其具体实现方式中相差甚大,但仍由本文所公开的技术涵盖。如上文所指出,在描述所公开技术的某些特征或方面时所用的特定术语不应被视为暗示本文中将术语重新定义为限于所公开技术的与所述技术相关联的任何具体特性、特征或方面。因此,除受所附权利要求限制之外,本发明不受其他限制。通常,除非以上具体实施方式部分明确限定了所附权利要求中使用的术语,否则此类术语不应被解释为将所公开技术限于说明书中所公开的具体示例。
120.虽然本发明的某些方面在下面以某些权利要求的形式呈现,但本技术人设想呈任何数目的权利要求形式的本发明的各个方面。因此,本技术人保留在提交本技术之后追加附加权利要求以在本技术中或在接续申请中追加此类附加权利要求形式的权利。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献