logo好方法网

用于使用实时放置模拟来码垛包裹的机器人系统


技术摘要:
一种用于在目的地处以指定布置来布置包裹的机器人系统。所述机器人系统处理传入包裹,将所述包裹存储在暂时存储区域中,执行模拟功能以生成或更新模拟堆叠计划,确定码垛触发项的发生,并且在确定所述码垛触发项的发生时根据所述模拟堆叠计划将所述包裹放置在货盘上。  全部
背景技术:
随着性能的不断增强和成本的降低,许多机器人(例如,被配置来 自动地/自主地 执行物理动作的机器)现在广泛用于许多领域。例如,  机器人可用于在制造和/组装、打包 和/或包装、运输和/或装运等中执  行多种任务(例如,跨空间操纵或搬运物体)。在执行任 务时,机器人  可复制人类动作,从而替代或减少执行危险或重复性任务原本所需的  人类 参与。 然而,尽管技术不断进步,但机器人往往缺乏复制执行更复杂任  务所需的人类敏 感性和/或适应性所必需的复杂程度。例如,机器人往  往缺乏在所执行动作中考虑可能由 多种真实世界因素造成的偏差或  不确定性的控制粒度和灵活性。因此,仍然需要用于控制 和管理机器 人的多方面以不管多种真实世界因素如何都完成任务的改进的技术  和系统。 在包装行业中,传统系统使用离线打包模拟器来预定打包顺序/  布置。传统打包 模拟器处理物体信息(例如,箱形状/大小)以生成打包  计划。打包计划可规定和/或要求物 4 CN 111605938 A 说 明 书 2/32 页 体(例如,货盘、仓、笼、盒等)在 目的地处的具体放置位置/姿势、放置的预限定顺序和/或 预定运动计  划。根据所生成的打包计划,传统打包模拟器导出匹配或实现打包计  划的源 要求(例如,物体的顺序和/或放置)。因为在传统系统中打包计  划是离线研发的,因此计划 是独立于实际打包操作/条件、物体到达和  /或其他系统实现方式的。因此,总体操作/实现 方式将需要所接收包  裹(例如,在起始/拾取位置处)遵循匹配预定打包计划的固定顺序。 这  样,传统系统无法适应所接收包裹的偏差(例如,不同顺序、位置和/  或取向)、未预料到 的错误(例如,碰撞和/或丢件)、实时打包要求(例  如,所接收订单)和/或其他实时因素。 传统系统可根据严格的预定计划来对物体进行分组和打包。例如,  传统系统根据 预定运动计划将物体(例如,盒或箱)搬运并放置到货盘  上。在此情况下,传统系统需要源 位置处的所有物体具有相同尺寸/类  型和/或根据已知顺序被接近。例如,传统系统将需要 物体(通过例如  输送机)根据固定顺序到达拾取位置。另外,例如,传统系统将需要将  拾取 位置处的物体根据预定姿势放置在指定位置处。这样,传统系统 需要(例如,在打包操作之 前)根据预定顺序/布置来对源处的物体进行  排序或放置的一个或多个操作。按具体顺序 将包裹提供给机器人对于  人类来说是一项艰巨的任务。存在在将包裹传递给机器人以进 行进一  步布置之前对它们进行定序的一些机器(例如穿梭定序缓冲器)。然而,  这些机器 可能非常昂贵,需要维修,并且消耗大量资源(诸如空间和电  力)。 附图说明 图1是具有3维打包机制的机器人系统可在其中操作的示例性  环境的图示。 图2是示出根据本技术的一个或多个实施方案的机器人系统的  框图。 图3A是根据本技术的一个或多个实施方案的离散化物体的图示。 图3B是根据本技术的一个或多个实施方案的离散化打包平台的 图示。 图3C是示出根据本技术的一个或多个实施方案的放置计划过程 的图示。 图4A至图4C是根据本技术的一个或多个实施方案的堆叠规则 的图示。 图5A是根据本技术的一个或多个实施方案的示例性堆叠计划的 图示。 图5B是根据本技术的一个或多个实施方案的堆叠顺序的图示。 图6是根据本技术的一个或多个实施方案的用于操作图1的机  器人系统的流程 图。 图7是机器人系统可在其中操作以使用模拟堆叠计划来处理包  裹以便放置在平 台上的示例性环境。 图8是示出根据多种实施方案的将可用包裹放置在任务位置上  时的多种阶段的 示例的框图。 图9是根据多种实施方案的用于使用暂时存储区域将可用包裹  放置在任务位置 上的过程的流程图。 图10是根据多种实施方案的用于将包裹从暂时存储区域放置在  任务位置上的过 程的流程图。
技术实现要素:
本文描述用于具有3维(3D)打包机制的机器人系统的系统和方  法。根据一些实施 5 CN 111605938 A 说 明 书 3/32 页 方案配置的机器人系统(例如,执行一个或多个指定  任务的装置的集成系统)通过导出物 体(包裹)的最佳存储位置并将它  们分别堆叠来提供提高的打包和存储效率。在一个示例 中,机器人系  统可基于堆叠计划来在目的地(例如,货盘、仓、笼、盒等)处组织包  裹,而不 管将包裹提供给机器人的次序如何。堆叠计划通常包括将包  裹放置在货盘上的堆叠顺序 或次序,以及其他细节,诸如包裹在货盘  上的具体放置位置/姿势和/或预定运动计划,这 些在下文描述。机器  人系统可实施用于将包裹放置在货盘上的堆叠计划,而无需按堆叠顺  序将包裹提供给机器人系统。 当包裹(例如,在输送带上逐个地)到达机器人系统的起始位置处 时,机器人系统 处理包裹中的每一个以便放置在平台上。在一些实施  方案中,处理包裹可包括:标识包裹 的属性(诸如形状、大小、高度、  宽度、长度和其他物理尺寸),以及将包裹存储在存储区域 中(例如,  存储在多个存储架中的一个上),以便稍后放置在货盘上。在将包裹存  储在存储 区域中时,机器人系统可执行模拟功能,以确定用于将包裹  放置在货盘上的堆叠计划。在 一些实施方案中,模拟功能与处理包裹 并行地执行,并且可例如在处理新包裹的时候连续 地更新。当码垛触  发项已发生时,机器人系统根据堆叠计划从存储区域取出包裹并将它  们放置在货盘上。码垛触发项可以是时限触发项、均匀层触发项、存  储容量触发项或接收 到放置启动命令中的一者。 通过使用暂时存储区域来存储包裹、实时地标识包裹、并且实时  地(例如,在包裹 到达起始位置时)生成包裹的堆叠计划,机器人系统  可消除将包裹进行以下各项的需要: (a)在提供给机器人系统之前通过  标识属性(例如使用条码)进行标记;以及(b)按堆叠顺 序进行接收,这  也消除了对定序机的需要。因此,通过使资源消耗最小化并且改进打  包机 制,所公开的实施方案产生改进的机器人系统。 本文所述的机器人系统可在系统操作期间生成打包计划。机器人  系统可在系统 操作期间基于多种实时条件生成实时和/或动态打包计  划。实时条件可包括当前存在或持 续的条件(诸如物体的实际源顺序/  位置/姿势)、物体条件和/或要求、放置要求和/或其他 实时因素。机器  人系统可根据打包计划处理时的当前/持续的条件和因素实时地(诸如  响 应于触发事件(例如,所接收订单/请求、装运计划表和/或操作员输  入))生成打包计划。在 一些实施方案中,可诸如响应于对应事件(例如,  重新评估定时、打包/操纵错误(诸如碰撞 或丢件)和/或发生其他动态  条件)动态地(例如,在初始地开始一个或多个操作(诸如实际 打包操作) 之后)生成和/或调整打包计划。 与传统系统不同,本文所述的机器人系统可根据当前/现场条件  (例如,物体的源 顺序/位置/姿势、物体条件和/或要求等)实时地生成  放置计划。在一些实施方案中,机器 人系统可基于离散化机制(例如,  过程、电路、函数和/或例程)来生成打包计划。例如,机器 人系统可  使用离散化机制根据离散化单元(即,一个离散区域/空间)来描述物体 的物理 大小/形状和/或目标位置。机器人系统可生成使用离散化单元  来描述预期物体的离散化 物体廓线和/或描述目标位置(例如,货盘顶  部上的表面和/或仓/箱/盒内部的空间/底表 面)的离散化目的地廓线。 因此,机器人系统可将连续的真实世界空间/区域变换成计算机 可读  数字信息。此外,离散化数据可允许降低用于描述包裹占位面积和用  于比较多种包 裹放置的计算复杂性。例如,代替真实世界的小数,包  裹尺寸可对应于整数个离散化单元, 这使得数学计算更容易。 6 CN 111605938 A 说 明 书 4/32 页 机器人系统可生成并评估2维(2D)放置计划。机器人系统可选择  满足一个或多个 条件/规则的2D放置计划并将所选2D放置计划转化 成三维(3D)映射结果。3D映射结果可诸 如根据包括在2D放置计划中 的物体的高度测量值及其在层内的相对位置来描述2D放置计 划的高  度。机器人系统可按竖直次序/顺序评估3D映射结果,以生成包括2D  放置计划的竖 直顺序的3D放置计划。在一些实施方案中,机器人系 统可针对处于初始状态的物体(例如, 在将任何物体放置在目的地区  之前)和/或针对保持处于非打包状态的物体(例如,在已将 一个或多个  物体放置在目的地区之后)生成2D/3D放置计划。下文描述关于物体  分组和放 置计划的细节。 下文所述的机器人系统可将简化且流线型处理架构/顺序用于实 时实现方式。例 如,机器人系统(通过例如消费者计算装置,诸如台式  计算机、服务器等)可基于实时需要 (例如,所接收订单)和/或实时可用  性(例如,传入物体和/或当前可接近物体的装运清单 (manifesto))来生  成打包计划,而无需利用传统定序器和模拟器。在离线环境下利用时,  诸如为替换传统定序器和模拟器,机器人系统可使用更简单且更便宜 的解决方案来提供 离线打包计划。 因此,机器人系统可基于适应实时条件来提高对物体进行打包的 效率、速度和准 确性。例如,本文所述的系统可生成匹配/解决当前需  要(例如,所接收订单)、包裹的当前 状态(例如,位置、取向和/或量/  可用性)和/或先前堆叠/放置的包裹的实时状态的放置计 划。这样,机  器人系统可对处于多种不同/预料之外的量、位置、取向和/或顺序的  包裹进 行接收和打包。 此外,机器人系统可通过消除一个或多个操作、机器(例如,顺序  缓冲器)和/或人 工辅助(而这些在传统系统中原本是对源处的物体进  行排序或放置和/或打包操作(例如, 错误处理)所必需的)来降低总成  本。 在以下描述中,阐述许多具体细节来提供对当前所公开技术的透  彻理解。在其他 实施方案中,此处所引入的技术可在没有这些具体细  节的情况下实践。在其他情况下,不 详细描述诸如具体函数或例程的  公知特征,以便避免不必要地使本公开晦涩难懂。此说明 中对“实施  方案”或“一个实施方案”或类似用语的引用意指所描述的特定特征、  结构、材 料或特性包括在本公开的至少一个实施方案中。因此,本说 明书中此类短语的出现不一定 都指代同一实施方案。另一方面,此类  引用也不一定相互排斥。此外,特定特征、结构、材料 或特性可以任  何合适的方式在一个或多个实施方案中加以组合。应理解,图中所示 的多 种实施方案仅是说明性代表并且不一定按比例绘制。 出于简洁的目的,在以下描述中年未阐述描述公知且往往与机器  人系统和子系 统相关联并且可能不必要地使所公开技术的一些重要  方面晦涩难懂的结构或过程的若干 细节。此外,虽然以下公开内容阐  述本技术的不同方面的若干实施方案,但若干其他实施 方案可具有不 同于此章节中所述的那些的配置或组成部分。因此,所公开的技术可  具有 带有附加元件或没有下文所述元件中的若干的其他实施方案。 下文所述的本公开的许多实施方案或方面可呈计算机或处理器  可执行指令(包 括由可编程计算机或处理器执行的例程)的形式。相关  领域技术人员应理解,所公开的技 术可在下文所示和所述的那些之外 的计算机或处理器系统上实践。本文所述的技术可在 专门编程、配置  或构造为执行下文所述的计算机可执行指令中的一者或多者的专用  计算 7 CN 111605938 A 说 明 书 5/32 页 机或数据处理器中体现。因此,如本文一般所用的术语“计算机”  和“处理器”指代任何数据 处理器并且可包括互联网用具和手持式装  置(包括掌上计算机、可穿戴计算机、蜂窝或移 动电话、多处理器系统、  基于处理器的或可编程消费者电子器件、网络计算机、迷你计算机 等)。  由这些计算机和处理器处理的信息可在任何合适的显示介质(包括液  晶显示器 (LCD))处呈现。用于执行计算机或处理器可执行任务的指令  可存储在任何合适的计算机 可读介质(包括硬件、固件,或硬件和固件 的组合)中或上。指令可包含在任何合适的存储 器装置(包括例如闪存 驱动器和/或其他合适的介质)中。 术语“耦接”和“连接”以及它们的派生词可在本文中用来描述组  成部分之间的结 构关系。应理解,这些术语并不意图作为彼此的同义  词。而是,在特定实施方案中,“连接” 可用于表示两个或更多个元件  彼此直接接触。除非在上下文中另外阐明,否则术语“耦接” 可用于表  示两个或更多个元件彼此直接或间接(在其间具有其他干预元件)接触,  或者两 个或更多个元件彼此配合或交互(例如,如呈因果关系,诸如用  于信号传输/接收或用于函 数调用),或两者。 合适的环境 图1是具有打包机制的机器人系统100可在其中操作的示例性  环境的图示。机器 人系统100可包括被配置来执行一个或多个任务的  一个或多个单元(例如,机器人)和/或 与所述一个或多个单元通信。打  包机制的多方面可由多种单元来实践或实现。 对于图1所示的示例,机器人系统100可包括位于仓库或分配/  装运枢纽中的卸载 单元102、搬运单元104(例如,码垛机器人和/或  拾件机器人)、运输单元106、装载单元108, 或它们的组合。机器人  系统100中的单元中的每一个可被配置来执行一个或多个任务。任 务  可按顺序组合以执行实现目标(诸如从卡车或货车卸载物体并将它们  存储在仓库中, 或者从存储位置卸载物体并将它们准备用于装运)的  操作。再如,任务可包括将物体放置 在目标位置上(例如,放置在货盘  顶部上和/或仓/笼/盒/箱内部)。如下文所述,机器人系 统可导出用于  放置和/或堆叠物体的计划(例如,放置位置/取向、用于搬运物体的顺  序 和/或对应运动计划)。单元中的每一个被配置来执行一系列动作(例  如,操作其中的一个 或多个组成部分)以执行任务。 在一些实施方案中,任务可包括将目标物体112(例如,对应于  正在执行的任务的 包裹、盒、箱、笼、货盘等中的一者)从起始位置114  操纵(例如,移动和/或重新定向)到任务 位置116。例如,卸载单元102  (例如,拆箱机器人)可被配置来将目标物体112从载具(例如, 卡车) 中的位置搬运到输送带上的位置。另外,搬运单元104可被配置来将 目标物体112从 一个位置(例如,输送带、货盘或仓)搬运到另一位置  (例如,货盘、仓等)。再如,搬运单元 104(例如,码垛机器人)可被配  置来将目标物体112从源位置(例如,货盘、拾取区域和/或 输送机)搬  运到目的地货盘。在完成操作时,运输单元106可将目标物体112从  与搬运单元 104相关联的区域搬运到与装载单元108相关联的区域,  并且装载单元108可将目标物体 112(通过例如移动承载目标物体112 的货盘)从搬运单元104搬运到存储位置(例如,架子 上的位置)。下文  描述关于任务和相关联动作的细节。 出于说明性目的,机器人系统100是在装运中心的上下文中描述  的;然而,应理 解,机器人系统100可被配置来在其他环境中/出于其  他目的(诸如用于制造、组装、包装、 健康护理和/或其他类型的自动  化)执行任务。还应理解,机器人系统100可包括图1未示出 8 CN 111605938 A 说 明 书 6/32 页 的其他  单元,诸如操纵器、服务机器人、模块化机器人等。例如,在一些实  施方案中,机器 人系统100可包括用于将物体从笼车或货盘搬运到输  送机或其他货盘上的去码垛单元、用 于将物体从一个容器搬运到另一  个的容器交换单元、用于包裹物体的包装单元、用于根据 物体的一个  或多个特性对它们进行分组的分类单元、用于根据物体的一个或多个  特性以 不同方式对物体进行操纵(例如,分类、分组和/或搬运)的拾件 单元,或它们的组合。 合适的系统 图2是示出根据本技术的一个或多个实施方案的机器人系统100  的框图。在一些 实施方案中,例如,机器人系统100(例如,在上文所  述的单元和/或机器人中的一者或多者 处)可包括电子/电气装置,诸如  一个或多个处理器202、一个或多个存储装置204、一个或 多个通信  装置206、一个或多个输入-输出装置208、一个或多个致动装置212、  一个或多个 运输马达214、一个或多个传感器216,或它们的组合。  多种装置可通过有线连接和/或无线 连接彼此耦接。例如,机器人系统  100可包括总线,诸如系统总线、外围组成部分互连(PCI) 总线或PCI  快速总线、超传输或工业标准架构(ISA)总线、小型计算机系统接口  (SCSI)总 线、通用串行总线(USB)、IIC(12C)总线,或电子电器工程师  协会(IEEE)标准1394总线(也 称为“火线”)。另外,例如,机器人系统  100可包括桥接器、适配器、处理器,或用于在装置之 间提供有线连  接的其他信号相关的装置。无线连接可基于例如蜂窝通信协议(例如,  3G、 4G、LTE、5G等)、无线局域网(LAN)协议(例如,无线保真(WIFI))、  对等或装置间通信协议 (例如,蓝牙、近场通信(NFC)等)、物联网(IoT)  协议(例如,NB-IoT、LTE-M等)和/或其他无 线通信协议。 处理器202可包括被配置来执行存储在存储装置204(例如,计  算机存储器)上的 指令(例如,软件指令)的数据处理器(例如,中央处理  单元(CPU)、专用计算机和/或机载服 务器)。在一些实施方案中,处理  器202可包括在可操作地耦接到图2所示的其他电子/电气 装置和/或  图1所示的机器人单元的单独/独立控制器中。处理器202可实施控  制其他装 置/与其交互的程序指令,从而致使机器人系统100执行动  作、任务和/或操作。 存储装置204可包括其上存储有程序指令(例如,软件)的非暂时  计算机可读介 质。存储装置204的一些示例可包括易失性存储器(例  如,高速缓存和/或随机存取存储器 (RAM))和/或非易失性存储器(例如,  闪速存储器和/或磁盘驱动器)。存储装置204的其他 示例可包括便携 式存储器驱动器和/或云存储装置。 在一些实施方案中,存储装置204可用于进一步存储处理结果和  /或预定数据/阈 值并提供对它们的访问。例如,存储装置204可存储  包括对可由机器人系统100操纵的物体 (例如,盒、箱和/或产品)的描  述的主数据252。在一个或多个实施方案中,主数据252可包 括预期 由机器人系统100操纵的物体的尺寸、形状(例如,潜在姿势的模板  和/或用于识别 呈不同姿势的物体的计算机生成的模型)、颜色方案、 图像、标识信息(例如,条形码、快速 响应(QR)码、标志等和/或其预  期位置)、预期重量、其他物理/视觉特性,或它们的组合。在 一些实  施方案中,主数据252可包括关于物体的操纵相关的信息,诸如物体 中的每一个上 的质心(CoM)位置、对应于一个或多个动作/操作的预期  传感器测量值(例如,针对力、扭 矩、压力和/或接触测量),或它们的  组合。另外,例如,存储装置204可存储物体跟踪数据 254。在一些 实施方案中,物体跟踪数据254可包括所扫描或所操纵物体的记录。  在一些实 施方案中,物体跟踪数据254可包括物体在一个或多个位置  (例如,指定拾取或投放位置 9 CN 111605938 A 说 明 书 7/32 页 和/或输送带)处的成像数据(例如,照片、  点云、现场视频馈送等)。在一些实施方案中,物 体跟踪数据254可包 括物体在一个或多个位置处的位置和/或取向。 通信装置206可包括被配置来通过网络与外部或远程装置通信  的电路。例如,通 信装置206可包括接收器、发射器、调制器/解调器  (调制解调器)、信号检测器、信号编码 器/解码器、连接器端口、网卡  等。通信装置206可被配置来根据一种或多种通信协议(例 如,互联 网协议(IP)、无线通信协议等)发送、接收和/或处理电信号。在一些实  施方案中, 机器人系统100可使用通信装置206来在机器人系统100 的单元之间交换信息和/或与在机 器人系统100外部的系统或装置交  换信息(例如,出于报告、数据采集、分析和/或故障排除 目的)。 输入-输出装置208可包括被配置来将信息传达给人类操作员和/  或从人类操作 员接收信息的用户接口装置。例如,输入-输出装置208  可包括显示器210和/或用于将信息 传达给人类操作员的其他输出装  置(例如,扬声器、触觉电路、或触觉反馈装置等)。另外, 输入-输出  装置208可包括控制或接收装置,诸如键盘、鼠标、触摸屏、传声器、  用户接口 (UI)传感器(例如,用于接收运动命令的摄像机)、可穿戴输  入装置等。在一些实施方案中, 机器人系统100可使用输入-输出装  置208来在执行动作、任务、操作或它们的组合时与人 类操作员交互。 机器人系统100可包括在关节处连接以用于运动(例如,旋转和/  或平移位移)的 物理或结构构件(例如,机器人操纵器臂)。结构构件和  关节可形成被配置来操纵端部执行 器(例如,夹持器)的动力链,所述  端部执行器被配置来根据机器人系统100的用途/操作来 执行一个或  多个任务(例如,夹持、自旋、焊接等)。机器人系统100可包括被配  置来关于对 应关节或在对应关节处对结构构件进行驱动或操纵(例如,  移位和/或重新定向)的致动装 置212(例如,马达、致动器、线材、人  工肌肉、电活性聚合物等)。在一些实施方案中,机器人 系统100可包 括被配置来到处运输对应单元/底架的运输马达214。 机器人系统100可包括被配置来获得用于实施任务(诸如操纵结  构构件和/或运 输机器人单元)的信息的传感器216。传感器216可包  括被配置来检测或测量机器人系统 100的一个或多个物理特性(例如,  其一个或多个结构构件/关节的状态、状况和/或位置) 和/或周围环境的  一个或多个物理特性的装置。传感器216的一些示例可包括加速度计、  陀螺仪、力传感器、应变计、触觉传感器、扭矩传感器、位置编码器 等。 在一些实施方案中,例如,传感器216可包括被配置来检测周围  环境的一个或多 个成像装置222(例如,视觉和/或红外摄像机、2D和  /或3D成像摄像机、诸如激光雷达或雷 达的距离测量装置等)。成像  装置222可生成所检测环境的可通过机器/计算机视觉来处理 (例如,  用于自动化检查、机器人引导或其他机器人应用)的代表,诸如数字图  像和/或点 云。如下文更详细描述,机器人系统100(通过例如处理器  202)可处理数字图像和/或点云, 以标识图1的目标物体112、图1的  起始位置114、图1的任务位置116、目标物体112的姿势、 关于起  始位置114和/或姿势的置信度量度,或它们的组合。 对于操纵目标物体112,机器人系统100(通过例如上文所述的多  种电路/装置)可 捕获并分析指定区域(例如,拾取位置,诸如卡车内部  或输送带上)的图像,以标识目标物 体112及其起始位置114。类似  地,机器人系统100可捕获并分析另一指定区域(例如,用于 将物体  放置在输送机上的投放位置、用于将物体放置在容器内部的位置,或  货盘上用于 10 CN 111605938 A 说 明 书 8/32 页 堆叠目的的位置)的图像,以标识任务位置116。例如,成  像装置222可包括被配置来生成拾 取区域的图像的一个或多个摄像  机和/或被配置来生成任务区域(例如,投放区域)的图像 的一个或多个  摄像机。如下文所述,基于所捕获图像,机器人系统100可确定起始  位置 114、任务位置116、相关联姿势、打包/放置计划、搬运/打包顺  序和/或其他处理结果。下文 描述关于打包算法的细节。 在一些实施方案中,例如,传感器216可包括被配置来检测机器  人系统100的结构 构件(例如,机器人臂和/或端部执行器)和/或对应  关节的位置的位置传感器224。机器人 系统100可使用位置传感器224  来在任务的执行期间跟踪结构构件和/或关节的位置和/或 取向。 离散化模型处理 图3A和图3B是根据本技术的一个或多个实施方案的用于对物  体进行计划和打包 的离散化数据的图示。图3A示出离散化物体并且 图3B示出用于物体打包及其计划的离散 化打包平台。例如,图1的  机器人系统100(通过例如图2的处理器202)可将真实世界物体 (例  如,包裹、货盘和/或与任务相关联的其他物体)的连续表面/边缘映射  到离散对应物 (例如,单位长度和/或单位面积)中。另外,机器人系统  100可包括预期物体的存储在图2的 主数据252中的离散化模型/代  表。 在一些实施方案中,如图3A所示,机器人系统100可使用离散  化物体模型302来计 划/导出物体的堆叠放置。离散化物体模型302  (使用点划线示出)可根据离散化单元(例 如,单位长度)代表已知和/或  预期物体(例如,包裹、盒、箱等)的外部物理尺寸、形状、边 缘、表  面,或它们的组合。在一些实施方案中,如图3B所示,机器人系统  100可使用一个或 多个离散化平台模型304来计划/导出物体的堆叠  放置。离散化平台模型304可根据离散化 单元代表放置表面(例如,  货盘的顶表面)。在一些实施方案中,离散化单元可包括由系统 操作  员、系统设计者、预定输入/设定或它们的组合预设的长度。 在一些实施方案中,离散化平台模型304可包括一个或多个标准  大小货盘(例如, 1.1m乘1.1m货盘)的俯视图。因此,离散化平台模  型304可对应于沿着根据机器人系统100 所利用的网格系统的水平  平面(例如,x-y平面)的货盘顶表面的像素化2D代表。在一些实 施方  案中,离散化物体模型302可包括由机器人系统100预期/已知的物  体的俯视图(例 如,x-y平面,如图3A左侧所示)和/或水平/剖视图(例  如,x-y平面,如右侧所示)。因此,离 散化物体模型302可对应于物  体的像素化2D/3D代表。 作为说明性实例,机器人系统100可使用单位像素310(例如,  具有根据离散化单 元的一个或多个尺寸的多边形,诸如正方形)来描  述目标物体(通过例如离散化物体模型 302)和装载平台(通过例如离散  化平台模型304)的面积/表面。因此,机器人系统100可沿 着x-y轴  将物体和装载平台像素化。在一些实施方案中,单位像素310(例如,  离散化单元) 的大小可根据物体的尺寸和/或装载平台的尺寸而改变。  单位像素310的大小还可进行调 整(通过例如预设规则/方程和/或操作  员选择),以平衡所需资源(例如,计算时间、所需存 储器等)与打包准  确性。例如,当大小减小时,计算时间和打包准确性可增加。因此,  使用 可调整单位像素310的打包任务(例如,目标包裹和打包平台)的  离散化提供码垛包裹的增 加的灵活性。机器人系统100可根据独特情  境、图案和/或环境来控制计算资源/时间与打 包准确性之间的平衡。 11 CN 111605938 A 说 明 书 9/32 页 对于图3A和图3B所示的实例,机器人系统100可预期/处理对  应于第一包裹类型 321、第二包裹类型322、第三包裹类型323、第四  包裹类型324和/或第五包裹类型325的物 体。机器人系统100可计  划并将包裹放置/堆叠在对应于图1的任务位置116的放置货盘340  上。对于放置计划,机器人系统100可使用单位像素310生成和/或  利用包括分别代表对应 包裹的第一物体模型331、第二物体模型332、  第三物体模型333、第四物体模型334和/或第 五物体模型335的离散  化物体模型302。类似地,机器人系统100可使用单位像素310生成  和/或利用放置货盘340的离散化平台模型304。 在一些实施方案中,机器人系统100可对(例如,针对离散化物  体模型302,诸如针 对第三物体模型333和/或第四物体模型334)物体 的实际尺寸进行上舍入,使得单位像素 310延伸超过物体的实际周边  边缘。在一些实施方案中,机器人系统100可对(例如,针对离 散化平 台模型304)平台表面的实际尺寸进行下舍入,使得单位像素310重叠  和/或包含在 物体的实际周边边缘内。 基于离散化数据/代表,机器人系统100可生成用于将包裹放置/  打包到放置货盘 340上的放置计划350。放置计划350可包括放置货  盘340上的用于目标包裹的计划位置。机 器人系统100可生成用于放  置被指定用于装载/码垛的可用包裹中的一者或多者的放置计 划350。  例如,机器人系统100可生成用于堆叠来自可用包裹的一组包裹(例  如,所接收包 裹和/或传出的有序包裹)的放置计划350。 机器人系统100可根据一组放置规则、放置条件、参数、要求等  生成放置计划350。 在一些实施方案中,机器人系统100可基于根据  设定(诸如根据包裹类型(例如,包裹类型 321-325)、包裹高度、客户  指定优先级、易碎性(例如,诸如对堆叠在其上的包裹的最大支 撑重  量)、重量范围,或它们的组合)分组的包裹来生成放置计划350。在  一些实施方案中, 机器人系统100可根据堆叠条件(诸如像进一步背  离码垛单元堆叠较高包裹)来生成放置 计划350。放置规则、条件、参  数、要求等的其他实例可包括包裹尺寸、无碰撞要求、堆叠稳 定性、  分组条件(例如,包裹类型、包裹高度、优先级等)、包裹间隔要求或  没有包裹间隔、 总装载包裹的最大化,或它们的组合。下文描述关于 放置计划的细节。 对于图3B所示的实例,机器人系统100可生成对应于包裹类型  321-325的一组包 裹的2D放置计划(例如,放置计划350)。机器人系  统100可生成放置第一包裹类型321的三 个包裹、第二包裹类型322 的四个包裹、第三包裹类型323的四个包裹、第四包裹类型324的 五  个包裹和第五包裹类型325的四个包裹的放置计划350。放置计划350  可将包裹分组,以 使具有类似高度(例如,彼此相等或在彼此阈值限值  内)的相邻包裹分组最大化。因此,机 器人系统100可对以2×2布置  位于放置货盘340的左下角处的四个第二包裹类型322分组。 第二包  裹分组(例如,第一包裹类型321、第四包裹类型324和第五包裹类型  325的包裹)可 放置在初始放置的群组周围。因此,第一分组的连续表  面积(例如,处于四个单位像素310 的高度)和第二分组的表面积(处于  两个单位像素310的高度)可得以最大化。另外,机器人 系统100可  基于一个或多个要求(诸如易碎性(例如,限制所支撑物品的数目)和/  或间隔 要求)来分隔第三包裹类型323的包裹。类似地,机器人系统  100可根据边界要求(例如,距 放置货盘340的边缘的一个或多个单位  像素310)生成2D放置计划。 在一些实施方案中,机器人系统100可基于2D计划(例如,x-y 占位面积,诸如俯视 图)和/或3D计划(例如,x-z或y-z占位面积,诸  如剖视图)来生成放置计划350。例如,机器 12 CN 111605938 A 说 明 书 10/32 页 人系统100可基于迭代地  导出沿着x-y平面的潜在2D放置,根据放置规则、条件等测试潜在  放置,计算放置分数,或它们的组合来生成放置计划350。机器人系  统100可基于选择使放 置分数最佳化(最高或最低)的2D放置计划来  生成放置计划350。在一些实施方案中,机器 人系统100可使用2D  放置计划来进一步生成3D计划(例如,堆叠计划;图3B未示出)。例  如, 机器人系统100可基于使用2D放置计划作为堆叠内的层来生成  3D放置计划。换句话说,机 器人系统100可将所生成2D放置放置  在一个或多个层(例如,其他2D放置计划)之上/顶部 和/或一个或多个 其他层之下/下方。 作为说明性实例,机器人系统100可在导出2D计划时估计和考  虑所放置物体的高 度。例如,机器人系统100可将物体高度像素化(例  如,存储在主数据中),如图3A所示。另 外,机器人系统100可将所  放置物体的预定高度数据映射到由物体占据的单位像素中的每 一个。  在高度映射到像素中的每一个的情况下,机器人系统100导出所得  2D放置计划350 的放置表面。放置表面可各自对应于导出表面/平面,  所述导出表面/平面诸如由于形成导 出表面的物体的相同或类似高度  而可具有并支撑放置在其上的物体。 机器人系统100可基于标识具有在彼此阈值范围内的高度值的  单位像素分组来 导出放置表面。在一些实施方案中,机器人系统100  可基于标识放置计划350的最大高度来 导出放置表面。基于最大高度,  机器人系统100可标识放置计划350中具有匹配最大高度或 与最大  高度在阈值范围内的高度的单位像素。机器人系统100可基于具有合  格高度的最 外部/周边单位像素的连接角和/或扩边来导出轮廓,从而  导出放置表面。机器人系统100 可针对放置区域之外的区域使用较低 高度重复所述过程。对于图3B所示的实例,机器人系 统100可导出  第一放置表面352、第二放置表面354和第三放置表面356。第一放  置表面352 可对应于放置计划350的左下角所示的具有四个单位像  素的最大高度的矩形区域。第二放 置表面354可对应于具有两个单位  像素的高度的周围区域(使用短划线示出)。第三放置表 面356可对应  于位于放置计划350的右侧的具有一个单位像素的高度的单独区域。  下文关 于2D和3D放置计划的细节。 图3C是示出根据本技术的一个或多个实施方案的放置计划过程  的图示。机器人 系统100(通过例如图2的一个或多个处理器202)可  为一组可用包裹362导出图3B的放置计 划350。可用包裹362可对  应于需要打包以便出口装运和/或存储的物体。例如,可用包裹 362可  对应于通过入口装运接收的传入物体和/或已排序用于出口装运的所  存储物体。在 一些实施方案中,机器人系统100可使用装运清单、订  购列表等来实时地(诸如直接响应于 接收到清单、列表(即,在其阈值  持续时间内)等)标识可用包裹362。因此,机器人系统100 可使用所  标识可用包裹362来实时地导出放置计划350。这样,代替利用包裹 的假设数目 假定/组合来导出无论实时条件如何都应用的计划的离线  打包模拟器,机器人系统100可 使用实时条件、可用性和/或需求来  导出放置计划350。在一些实施方案中,机器人系统100 可使用位于  接收、存储和/或发送物体的位置(诸如装运枢纽和/或仓库)处的装置  (例如, 处理器202中的一者或多者)。 在一些实施方案中,如下文详细论述,机器人系统100可将可用  包裹362分组和/ 或定序。机器人系统100可使用一组有序可用包裹  362来导出放置计划350。机器人系统100 可确定并评估可用包裹362 的独特放置位置/组合,以导出放置计划350。换句话说,机器人 系统  100可确定一组潜在放置组合364并根据一组预定要求、条件、重量、  成本、后续暗示 13 CN 111605938 A 说 明 书 11/32 页 或它们的组合来对所述组合364进行评估。基于评估,  机器人系统100可选择放置组合以导 出放置计划350。 在至少一个实施方案中,机器人系统100可使用迭代地评估定序  包裹的放置的算 法来导出放置计划350。如图3C所示,机器人系统  100可通过确定可用包裹362中的第一包 裹的初始放置来开始导出。  因此,机器人系统100可在初始位置(例如,角落、中间位置和/ 或另  一预设位置)处将图3A的对应离散化物体模型302重叠在图3B的离  散化平台模型304 之上。机器人系统100可基于从可用包裹362移除  所放置包裹(例如,第一包裹)来跟踪剩余 包裹372。 基于初始放置,机器人系统100可确定可用包裹362中的第二包  裹的一组可能放 置。机器人系统100可根据预定规则、图案或它们的  组合来确定一组可能的放置。例如,机 器人系统100可根据相对于一  个或多个先前放置的包裹(例如,相对于一个或多个先前放 置的包裹) 的位置图案来确定放置位置。另外,机器人系统100可基于包裹中的  一者或多 者之间所需的最小/最大间隔距离或其缺乏来确定放置位置。  此外,机器人系统100可基于 根据预定量(诸如90度)旋转包裹(即,  对应离散化物体模型302)来确定放置位置。在一些 实施方案中,机器  人系统100可根据预定阈值和/或图案来限制放置可能性。此外,机  器人 系统100可分别更新剩余包裹372。 机器人系统100可重复上述过程并且迭代地处理可用包裹362,  直到达到停止条 件为止。停止条件的一些实例可代表已放置所有包裹  (即,剩余包裹372为空)、无法改进放 置(例如,评估分数与前一层级  /迭代相同)、无法在离散化平台模型304之上再放置更多包 裹,或它  们的组合。 在一些实施方案中,机器人系统100可使用搜索树374来跟踪可  能的放置和对应 的潜在放置组合364。搜索树374的根可对应于初始  放置,并且每个级别或层级可包括可用 包裹362中后续包裹的潜在放  置。不同的层级可连接在一起,以形成对应于所述一组包裹 的独特放  置组合的分支。 对于每个包裹的潜在放置,机器人系统100可标识并消除(例如, 由图3C中的‘X’ 代表)冗余占位面积。例如,在搜索树374的每个层  级处,机器人系统100可比较(叠加)潜在 放置位置/组合的所得占位面  积。基于所述比较,机器人系统100可消除所得占位面积的复 制品。  在一些实施方案中,机器人系统100可进一步比较所得占位面积的转  置、旋转和/或 镜像版本,以消除相关复制品。例如,机器人系统100  可旋转一个占位面积达90度和/或跨 一个或多个镜像线(例如,跨相对  角落延伸的对角线、沿着x和/或y方向延伸的一条或多条 平分线, 或它们的组合)转置所述占位面积,并将其与其他占位面积进行比较。 另外,对于每个包裹的潜在放置,机器人系统100可标识并消除  违反一个或多个 要求/约束的放置。要求/约束的一个实例可基于碰撞  可能性。机器人系统100可根据预先 存在的占位面积、包裹的一个或  多个尺寸、搬运机器人的位置、先前事件或历史,或它们的 组合来计  算每个放置位置的接近路径和对应碰撞可能性。机器人系统100可消 除碰撞可 能性超过预定阈值的放置。要求/约束的另一实例可以是用  于堆叠(即,直接放置在一个或 多个支撑包裹上/之上)包裹的支撑重量。  对于位于放置位置之下的包裹中的一个或多个, 机器人系统100可基  于所放置包裹的重量来计算支撑重量(即,包裹或其正上方的部分的  组合重量)。机器人系统100可消除支撑重量违反(例如,超过其阈值  范围或在其阈值范围 14 CN 111605938 A 说 明 书 12/32 页 内)放置位置之下的包裹中的一个或多个的易碎 性要求(例如,最大可支撑重量)的放置。 在一些实施方案中,机器人系统100可使用优先级队列376(例  如,堆结构等)来跟 踪和/或评估放置组合364。优先级队列376可根  据偏好顺序对放置组合364进行排序。机器 人系统100可根据一个或  多个预定标准对放置组合364中的一个或多个进行评估或评分。 标准  可包括与已经放置的物品相关联的一种或多种成本和/或与当前放置  影响未来放置 的方式或可能性相关联的一个或多个启发式分数。 标准的一个实例可包括占位面积密度的最大化。机器人系统100  可计算包裹分组 的外周边382的占位面积密度。在一些实施方案中,  外周边382可基于包裹分组的暴露/外 周边边缘来确定。机器人系统  100可通过扩展两个或更多个边缘并找到相交点和/或通过 绘制连接 占位面积的一个或多个角落的线来进一步包围周围/相关区域。机器  人系统100 可将占位面积密度计算为实际占位面积384(例如,对应  于阴影区域的单位像素310的数 目)与空区域386(例如,对应于包围  /相关区域的单位像素310的数目)之间的比。机器人系 统100可被配  置来优选(例如,通过指派更高/更低分数)使空区域386最小化的放置  计划。 堆叠规则 图4A至图4C是根据本技术的一个或多个实施方案的堆叠规则  的图示。机器人系 统100可使用堆叠规则来将包裹放置在彼此上方,  诸如用于将一个或多个包裹层堆叠/放 置在一个或多个其他包裹层上。  机器人系统100可使用堆叠规则来改进所堆叠包裹的稳定 性并防止  任何包裹在货盘的移动期间滑落和/或倾翻。出于说明性目的,图4A  至图4C示出 直接在一个或多个支撑包裹454上方并由其支撑(例如, 直接接触)的顶部包裹452。 图4A示出用于生成3D放置(例如,3D放置计划350)的水平偏  移规则402。水平偏移 规则402可包括用于控制所堆叠物品之间的竖  直边缘/表面的水平偏移的规章、要求,或它 们的组合。例如,水平偏  移规则402可基于重叠要求422、悬垂要求424,或它们的组合。重  叠要求422可包括所堆叠包裹之间的重叠的最小量(例如,长度、宽  度和/或表面积的百分 比或比)。在一些实施方案中,重叠要求422可  要求顶部包裹452的最小量的水平尺寸/表面 积与支撑包裹454的水  平尺寸/表面积重叠。悬垂要求424可包括最大量(例如,长度、宽度  和/或表面积的百分比或比)的悬垂(诸如顶部包裹452的水平地延伸  经过支撑包裹454的 周边边缘/表面的一部分)。 在一些实施方案中,水平偏移规则402可基于重量、尺寸和/或  质心(CoM)位置 412。例如,重叠要求422和/或悬垂要求424可基于  CoM位置412,诸如用于相对于支撑包裹 454的顶部CoM位置与水  平边缘/表面之间的距离和/或悬垂距离(例如,沿着顶部包裹452 的延  伸经过支撑包裹454的一个或多个周边边缘的一部分的水平方向测  量),评估顶部包 裹452和支撑包裹454的CoM位置412之间的距  离。在一些实施方案中,水平偏移规则402可 基于要求顶部包裹452  和支撑包裹454的CoM位置412在阈值内的CoM偏移要求426。阈  值可 包括预定距离、CoM位置412相对于水平尺寸、悬垂距离、重叠  距离或它们的组合之间的偏 移距离之间的比的阈值限值。 图4B示出用于生成3D放置(例如,堆叠计划)的支撑间隔规则  404。支撑间隔规则 404可包括用于控制支撑包裹454之间的水平间 隔距离414的规章、要求,或它们的组合。水 平间隔距离414可对应  于相邻支撑包裹454的周边表面/边缘之间的水平距离。在一些实施  方案中,支撑间隔规则404可进一步基于顶部包裹452与支撑包裹  454之间的重叠表面的位 15 CN 111605938 A 说 明 书 13/32 页 置和/或量。例如,支撑间隔规则404可要求  水平间隔距离414比任何悬垂距离大达预定百 分比。另外,支撑间隔  规则404可要求水平间隔距离414延伸到顶部包裹452的CoM位置  412 下方。 图4C示出用于生成3D放置(例如,3D放置计划350)的竖直偏  移规则406。竖直偏移 规则406可包括用于控制支撑包裹454的竖直  位置之间的支撑高度差416的规章、要求,或 它们的组合。支撑高度  差416可对应于对应支撑包裹454的顶部部分(诸如将可能接触放置  在对应支撑包裹454之上的顶部包裹452的部分)之间的竖直距离。  在一些实施方案中,竖 直偏移规则406可要求支撑高度差416遵循用  于将一个或多个包裹堆叠在支撑包裹454顶 部上的预定阈值要求。在  一些实施方案中,支撑间隔规则404可基于层高度而有所不同。例 如,  当顶部包裹452(例如,被支撑包裹)是最顶层的一部分时,支撑高度  差416的限值可相 比较低层更大。 机器人系统100可根据堆叠规则生成堆叠计划(例如,多个2D放  置计划的3D组 合)。例如,机器人系统100可根据高度要求(例如,  用于使包裹分组的高度保持在阈值距离 内)生成2D放置计划(例如, 图3B的放置计划350)。随后,机器人系统100可基于使2D放置计  划竖直地重叠(堆叠)来生成堆叠计划。 堆叠顺序 图5A是根据本技术的一个或多个实施方案的堆叠计划502(例  如,代表可用包裹 的3D映射的计划和/或放置计划350对应于3D映  射内的层)的示例的图示。出于说明性目 的,堆叠计划502使用包裹  (例如,例如,至少包裹1-1至1-4、2-1至2-2和3-1至3-3)的第一 堆  叠520的第一层512、第二层514和第三层516来示出。第一层512、  第二层514和第三层 516中的每一个可以是放置计划350的实例。第  一层512可位于底部,使得其中的包裹(例 如,至少包裹1-1、1-2、1-  3和1-4)直接接触放置货盘340。第二层514中的包裹(例如,至少 包  裹2-1和2-2)可直接位于(即,直接接触)第一层512上且在第一层512  上方。类似地,第 三层516中的包裹(例如,至少包裹3-1和3-2)可直  接位于第二层514上且接触第二层514。 如下文详细论述,机器人系统100可单独地计划层中的每一个, 同时考虑竖直参 数(例如,支撑高度、层高度等)。在生成堆叠计划502  时,机器人系统100可根据竖直参数 和/或堆叠规则对单独层进行竖  直地组合和/或定序。在一些实施方案中,机器人系统100 可根据包  裹的竖直放置对层进行计划。例如,机器人系统100可将第一层512  生成为包括 直接接触放置货盘340的所有包裹,诸如包括第二堆叠  522中的底部两个包裹。另外,机器 人系统100可将标记‘3-3’的包裹  计划为第二层514的一部分。在一些实施方案中,机器人 系统100可  在生成堆叠计划502时对层(例如,放置计划350)进行重新计划和/或  调整。例 如,机器人系统100可调整层以促进堆叠/放置顺序。如图  5A所示,机器人系统100可调整 层,使得将第二堆叠522视为单独  堆叠(即,与第一层、第二层和第三层512-516分开)。因 此,机器人  系统100可与第一堆叠520的层分开地/以不同方式对第二堆叠522 的包裹自由 地计划和/或堆叠。 另外,在一些实施方案中,机器人系统100可将最靠近图1的搬  运单元104(例如, 码垛机器人)的更大包裹移动到更高层,以促进堆  叠顺序。假设搬运单元104在图5A所示放 置货盘340的右侧,则‘3-  3’包裹可在其被放置在标记‘3-1’和‘3-2’的包裹之前的情况下 成为障  碍物(即,由于其高度)。因此,机器人系统100可调整层,使得‘3-3’  包裹是更高层 16 CN 111605938 A 说 明 书 14/32 页 (例如,第三层516而不是第二层512)的一部分。因此,  当机器人系统100根据层放置包裹 时,‘3-3’包裹可放置在‘3-1’和‘3-2’  包裹之后。 在其他替代实施方案中,机器人系统100可基于分析堆叠计划  502单独地计算堆 叠或放置顺序,而无需受限于层。出于论述目的, 图5B是根据本技术的一个或多个实施方 案的并不因根据层堆叠包裹  而受限的堆叠顺序530(例如,对可用包裹的放置次序的标识) 的图示。  堆叠顺序530可用于将所堆叠包裹532放置在支撑包裹上方且水平  地位于两个端 部包裹之间。堆叠顺序530可使得可首先放置距搬运单  元104(图5B未示出,假设位于放置 货盘340的右侧)最远的包裹(标  记为‘1’)并且之后将第二包裹(标记为‘2’)放置在放置货 盘340上。机  器人系统100可计算堆叠顺序530,使得所堆叠包裹532(标记为‘3’)  放置在端 部包裹534(标记为‘4’)中的一个之前(例如,第三)。如上文  所述,机器人系统100可基于将 端部包裹534中的一个调整为属于具  有所堆叠包裹532的第二层或基于从堆叠计划502独 立地计算堆叠 次序来计算堆叠顺序530。 操作流程 图6是根据本技术的一个或多个实施方案的用于操作图1的机  器人系统100的方 法600的流程图。方法600可用于生成用于将包裹  (例如,箱和/或盒)放置到平台(例如,货 盘)上的2D/3D打包计划和/或  用于分别放置包裹。方法600可基于利用图2的处理器202中 的一个 或多个执行存储在图2的存储装置204中的一个或多个上的指令来 实施。 在框602处,机器人系统100可标识包裹组(例如,图3C的可用  包裹362)和目的地 (例如,图1的任务位置116,诸如用于接收包裹的  货盘和/或容器)。例如,机器人系统100可 标识包裹组以代表包括可  用于打包、位于源处、指定用于放置和/或列在订单/请求/清单 中的包  裹的可用包裹362。另外,机器人系统100代表任务位置116的可放  置包裹的区域 (例如,货盘(诸如图3的放置货盘340)的顶部装载表面)  的大小或尺寸。在一些实施方案 中,机器人系统100可标识货盘的大  小、尺寸、类型,或它们的组合。 在框604处,机器人系统100可生成和/或访问对应于代表可用  包裹362的包裹组 和/或任务位置116的离散化模型(图3A的离散化  物体模型302和/或图3B的离散化平台模 型304)。在一些实施方案 中,机器人系统100可基于划分物体和/或平台区域(例如,根据图 3B  的单位像素310的货盘顶表面)的物理尺寸来(例如,实时地(诸如在接  收到订单之后 和/或在开始打包操作之前)或离线地)生成离散化模型。  单位像素310可(由例如制造商、 下单客户和/或操作员)预定为诸如1  毫米(mm)或1/16英寸(in)或更大(例如,5mm或20mm)。 在一些实  施方案中,单位像素310可以是基于包裹中的一个或多个和/或平台 的尺寸或大 小(例如,百分比或分数)。 在一些实施方案中,机器人系统100可访问存储在存储装置204  和/或另一装置 (例如,通过图2的通信装置206访问的存储装置、数  据库和/或包裹供应者的服务器)中的 离散化模型。机器人系统100可  访问代表可用包裹362和/或任务位置116的预定离散化模 型。例如,  机器人系统100可通过在图2的主数据252(例如,预定表或查找表)  中搜索可用 包裹及其对应模型来访问对应于可用包裹362的离散化  物体模型302。类似地,机器人系统 100可访问代表将要放置可用包 裹的平台(诸如所标识货盘)的离散化平台模型304。 在框606处,机器人系统100可确定包裹分组(例如,可用包裹 的子组)。机器人系 统100可基于可用包裹362确定包裹分组,以用  于将包裹分组放置在所标识平台(例如,放 17 CN 111605938 A 说 明 书 15/32 页 置货盘340)上。机器人系 统100可根据可用包裹362的一个或多个特性中的相似性和/或图 案  来确定包裹分组。在一些实施方案中,如框621处所示,机器人系统  100可通过根据分组 条件/要求将可用包裹362分组来确定包裹分组。  分组条件/要求的一些示例可包括包裹优 先级(例如,如一个或多个客  户所指定)、易碎性评级(例如,包裹可支撑的最大重量)、重 量、包裹  尺寸(例如,包裹高度)、包裹类型,或它们的组合。在将可用包裹362  分组时,机器 人系统100可在主数据252中搜索匹配分组条件/要求 的可用包裹362的多种特性。 在框608处,机器人系统100可计算可用包裹362和/或其分组  (即,包裹分组)的处 理次序(例如,考虑/导出放置位置的顺序)。在一  些实施方案中,如框622处所示,机器人系 统100可根据一个或多个  定序条件/要求计算处理次序。例如,机器人系统100可根据包裹 分 组中的每一个内的包裹数目将分组的放置计划进行优先级排序,诸如 以便在放置计划 中更早地处理具有更多数目的包裹的包裹分组。在一  些实施方案中,定序条件可与分组条 件重叠,诸如针对重量范围、易  碎性评级等。例如,机器人系统100可优先考虑处理更重和/ 或更不 易碎的包裹以便更早地处理和/或放置在更低层中。 在一些实施方案中,机器人系统100可根据组合水平面积来对放  置计划进行优先 级排序。机器人系统100可使用主数据252中指定的  信息来计算(通过例如将对应宽度和长 度相乘)或访问分组中的包裹的  顶表面的表面积。在计算组合水平面积时,机器人系统100 可将在阈  值范围内具有相同类型和/或高度的包裹的表面积相加。在一些实施  方案中,机 器人系统100可优先考虑将具有更大组合水平面积的分组 的放置计划以便更早地处理和/ 或放置在更低层中。 对于一个或多个实施方案,机器人系统100可用可用包裹362的  标识符和/或量加 载缓冲器。机器人系统100可根据分组对缓冲器中  的标识符进行定序。此外,机器人系统 100可根据处理次序对缓冲器  中的标识符进行定序。因此,缓冲器中的定序值可对应于图 3C所示 的可用包裹362和/或剩余包裹372。 如框624处所示,例如,机器人系统100可在实施图5的对应堆  叠计划502之前(诸 如在将包裹组中的任何包裹放置在平台上之前)计  算可用包裹362的初始组(例如,包裹 组)的处理次序。在一些实施方  案中,如框626处所示,机器人系统100可在启动实施对应堆 叠计划  502之后或与此同时计算可用包裹362的剩余组的处理次序。例如,  如来自框616的 反馈回路所示,机器人系统100可根据一个或多个触  发条件来计算剩余组(例如,可用包裹 362中尚未被搬运到平台和/或  保持处于源位置的部分)的处理次序。示例性触发条件可包 括堆叠错 误(例如,丢失的或掉落的包裹)、碰撞事件、预定重新触发定时,或  它们的组合。 在框610处,机器人系统100可生成用于沿着水平平面放置可用  包裹362的2D计划 (例如,图3B的放置计划350)。例如,机器人系  统100可生成放置计划350以代表可用包裹 362沿着水平平面的2D 映射。机器人系统100可基于离散化模型生成两个或更多个放置计 划。  例如,机器人系统100可基于将离散化物体模型302与离散化平台模  型304进行比较来 生成放置计划350。机器人系统100可确定离散化  物体模型302的不同放置/布置,将它们与 离散化平台模型304进行  重叠/比较,并且验证/保持在重叠时在离散化平台模型304的边 界内 的布置。机器人系统100可将无法放置在离散化平台模型304的边界 内的包裹指定用 于另一层(例如,放置计划350的另一实例)。因此,  机器人系统100可迭代地导出放置计划 350的代表堆叠计划502的  2D层的放置位置,直到包裹组中的包裹中的每一个已被指派放 18 CN 111605938 A 说 明 书 16/32 页 置计  划350中的位置为止。 在一些实施方案中,机器人系统100可基于包裹分组来生成放置  计划350。例如, 机器人系统100可确定一个包裹分组内的包裹的布  置,之后才考虑另一分组中的包裹的放 置。当包裹分组内的包裹铺满  一层(即,无法纳入离散化平台模型304的一个层或一个实例 中)时和  /或在放置一个分组的所有包裹之后,机器人系统100可将下一分组  中包裹的位 置指派到离散化平台模型304中的任何剩余/未占用区域。  机器人系统100可迭代地重复所 述指派,直到没有任何未指派的包裹 可纳入离散化平台模型304的剩余空间上为止。 类似地,机器人系统100可基于处理次序(例如,基于根据处理  次序的包裹分组) 来生成放置计划350。例如,机器人系统100可基于  根据处理次序指派包裹和/或分组来确 定测试布置。机器人系统100可 向最早定序的包裹/分组指派用于测试布置的初始放置,然 后根据处  理次序测试/指派后续包裹/分组。在一些实施方案中,机器人系统100  可跨层 (例如,跨放置计划350的实例)保持包裹/分组的处理次序。在  一些实施方案中,机器人系 统100可在每个层填满之后重新计算并更 新处理次序(在图6中使用短划反馈线示出)。 在一些实施方案中,作为上文所述过程的说明性示例,机器人系  统100可通过标 识包裹组内的不同包裹类型(例如,图3A的相应的第  一包裹类型、第二包裹类型、第三包裹 类型、第四包裹类型和/或第五  包裹类型321-325)来生成2D计划。换句话说,在框632处,机 器人  系统100可标识包裹分组和/或包裹组中的每一个内的独特包裹(例如,  如由包裹类 型代表)。 在框634处,机器人系统100可导出(例如,迭代地)可用包裹362  中的每一个的放 置位置。在框636处,机器人系统100可确定根据处 理次序按顺序为第一个的独特包裹的初 始放置位置。机器人系统100  可根据预定图案来确定初始放置位置,如上文所述。在一些实 施方案 中,机器人系统100可计算每个独特包裹的初始放置。所得初始放置  各自可诸如通 过跨迭代跟踪放置计划350来自发展成独特放置组合  (例如,图3C的搜索树374的实例)。在 框638处,机器人系统100可  导出并跟踪根据处理次序的后续包裹和/或如上文所述的剩余 包裹  372的候选放置位置。因此,机器人系统100可迭代地导出图3C的 放置组合364。 在导出放置组合364(例如,候选放置位置)时,机器人系统100  可基于迭代地导出 并评估候选堆叠情境(例如,可用包裹的独特放置  位置的潜在组合)来测试/评估对应包裹 的离散化物体模型302的位置。  候选堆叠情境可各自基于根据上文所论述的顺序标识包裹 的独特潜  在位置(例如,根据放置位置的预定顺序/规则)来导出。候选堆叠情境  和/或独 特放置位置可根据一个或多个放置标准(例如,要求、约束、  放置成本和/或启发式分数)来 评估。例如,放置标准可要求离散化物  体模型302在被放置在所选位置处时完全纳入离散 化平台模型304的  水平边界内。另外,放置标准可要求离散化物体模型302的放置位于  相 对于初始放置位置(例如,诸如沿着水平方向)和/或先前放置位置的  阈值距离之内或之 外,诸如为了相邻放置或间隔要求。放置标准的其  他示例可包括对以相邻方式放置在一个 或多个包裹尺寸(例如,高度)、  易碎性评级、包裹重量范围或它们的组合上具有一种或多 种最小差异 的包裹的偏好。在一些实施方案中,放置标准可包括可对应于先前指  派在层 中的包裹相对于参考位置(例如,码垛机器人的位置)的位置和  /或特性(例如,高度)的碰 撞可能性。因此,机器人系统100可生成包  裹放置位置的多个独特放置组合(即,每个层的 候选放置计划和/或每  个层包括多个层的候选堆叠情境)。在一些实施方案中,机器人系统  19 CN 111605938 A 说 明 书 17/32 页 100可基于跨放置迭代生成并更新搜索树374来跟踪组合的放置。 在框640处,机器人系统100可计算/更新每个组合/包裹放置的  放置分数。机器人 系统100可根据放置条件/偏好(例如,包裹尺寸、  碰撞可能性、易碎性评级、包裹重量范围、 间隔要求、包裹量条件)中 的一者或多者来计算放置分数。例如,机器人系统100可使用偏 好因  子(例如,乘数权重)和/或方程来描述对以下各项的偏好:包裹之间的  间隔距离、相 邻包裹的包裹尺寸/易碎性评级/包裹重量的差异、碰撞  可能性、同一高度处的连续/相邻 表面、其统计学结果(例如,平均值、  最大值、最小值、标准差等),或它们的组合。每个组合 可根据可由系  统制造商、订单和/或系统操作员预限定的偏好因子和/或方程来评分。  在 一些实施方案中,机器人系统100可在总放置迭代结束时计算放置 分数。 在一些实施方案中,机器人系统100可在每次放置迭代之后更新 图3C的放置组合 364在优先级队列376中的顺序。机器人系统100 可基于放置分数来更新顺序。 机器人系统100可基于确定空源状态、全层状态或不变分数状态、  诸如当一个候 选放置计划完成时停止放置迭代。空源状态可代表已替  换所有可用包裹。全层状态可代表 没有其他包裹可放置在所考虑离散  化平台模型304的剩余区域中。不变分数状态可代表组 合的放置分数  跨一个或多个连续放置迭代保持恒定。在一些实施方案中,机器人系 统100 可使用不同的初始放置位置和/或不同的处理次序(例如,用于  对具有与定序条件相关联 的相同定序值/分数的群组进行重新排序)来  重复放置迭代,以导出候选堆叠情境的其他 实例。换句话说,机器人  系统100可生成多个2D放置计划,其中每个2D放置计划可代表3D  堆叠内的层(例如,候选堆叠情境的实例)。在其他实施方案中,机器  人系统100可在导出2D 放置计划时迭代地考虑3D效应并且在2D  放置计划变完整时作为下一迭代开始导出下一 层。 在框612处,机器人系统100可生成堆叠计划(例如,堆叠计划  502)。在一些实施方 案中,当所处理包裹的放置位置与一个或多个先  前放置/处理的包裹重叠时,机器人系统 100可开始生成堆叠计划502。 在生成堆叠计划502和/或访问2D计划时,机器人系统100可将  放置组合364和/或 放置计划中的每一者转换成3D状态,如框652处  所示。例如,机器人系统100可将包裹的高 度值指派到放置组合364。  换句话说,机器人系统100可基于将包裹高度添加到放置组合 364来 生成等高线图(对深度图的估计)。 利用3D状态,机器人系统100可根据一个或多个堆叠规则(例  如,图4A的水平偏移 规则402、图4B的支撑间隔规则404和/或图4C的竖直偏移规则406)来评估放置组合364。作 为说明性示例,当  所放置包裹堆叠在一个或多个先前处理的包裹上/之上时,机器人系 统 100可消除违反上文所述的图2的重叠要求422、图4A的悬垂要  求424、竖直偏移规则406、图 4A的CoM偏移要求426或其组合的  任何放置组合364。在一个或多个实施方案中,机器人系 统100可诸  如通过估计重叠包裹处的支撑重量并将它们与对应易碎性评级进行 比较来消 除违反所处理包裹下方的一个或多个包裹的易碎性评级的  任何放置组合364。 对于剩余放置组合364,机器人系统100可计算3D放置分数或  更新放置分数,诸如 框654处所示。机器人系统100可使用与3D放  置的放置成本和/或启发式值相关联的预定偏 好(例如,权重和/或方  程)。预定3D偏好可类似于2D偏好、分组偏好、定序条件,或它们 的 组合。例如,3D偏好可被配置来基于3D状态计算碰撞可能性并且  计算偏向于具有较低碰撞 20 CN 111605938 A 说 明 书 18/32 页 可能性的放置组合的分数。另外,机器人系  统100可基于剩余包裹372、具有共同高度的支 撑区域的大小、处于  3D状态的所打包物品的数目、所处理包裹的高度之间的差或它们的  组合来计算分数。在一些实施方案中,机器人系统100可根据分数来  更新放置组合364在优 先级队列376中的顺序。 在已处理3D状态之后,诸如在框610处,机器人系统100可通  过导出剩余包裹372 中的下一包裹的放置来更新2D计划。机器人系 统100可重复上述过程,直到停止条件(诸如 当已处理所有可用包裹  362(即,剩余包裹372的空值/组)和/或当无法改进放置组合364 (也  称为无改进组合))为止。无改进组合的一些示例可包括当前处理的放  置由于一个或 多个违规而消除优先级队列376中的放置组合364中 的最后一个的情况和/或放置分数跨 阈值数目的迭代对于优选组合保 持恒定的情况。 当检测到停止条件时,诸如在框656处,机器人系统100可根据  放置分数(例如,2D 和/或3D相关分数)选择所导出放置组合364中 的一个。因此,机器人系统100可指定所选放 置组合作为堆叠计划  502(一组放置计划350)。 在一些实施方案中,作为说明性示例,机器人系统100可以不同  方式实施框610和 612的功能。例如,在框610处,机器人系统100  可生成底部层的2D计划(例如,放置计划350 的实例),如上文所述。  在此情况下,机器人系统100可被配置来在考虑放置和/或处理次序  时对匹配包裹重量、更重包裹重量和/或包裹的更大可支撑重量施加  更重偏好(例如,更大 的参数权重)。机器人系统100可导出基础层的  第一2D计划,诸如上文针对框610所述。 一旦第一2D层如上文所述地完成/填满,从而形成基础层,机器  人系统100就可将 放置计划转换成3D状态,如针对框612/652所述。  使用3D信息,机器人系统100可标识基础 层的一个或多个平面部分  /区域(例如,图3B的放置表面352-356),如上所述。使用平面部 分,  机器人系统100可迭代地/递归地导出基础层上方的下一层的包裹放  置。机器人系统 100可将平面部分中的每一个作为离散化平台模型  304的新实例进行考虑,并且测试/评估 不同放置,如上文针对框610  所述。在一些实施方案中,机器人系统100可使用放置表面导 出2D  放置,但跨整个放置货盘340计算分数。因此,机器人系统100可被  配置来遵循对后续 层的更大放置区域的偏好,而不限于前述放置区域。 一旦针对第二层停止迭代放置过程,机器人系统100就可计算所  导出层的平面部 分(例如,具有在阈值范围内的高度的顶表面),以生  成下一上方层的剩余包裹/分组的2D 放置。迭代分层过程可继续进行, 直到已满足停止条件为止,如上文所述。 在一些实施方案中,机器人系统100可在框612处单独地生成  2D计划(例如,放置 计划350中的两个或更多个)。机器人系统100可  基于竖直地组合(例如,沿着竖直方向布 置/叠置2D放置计划)2D计  划来生成堆叠计划502。 在框614处,机器人系统100可基于堆叠计划502来生成打包顺  序(例如,图5B的堆 叠顺序530)。作为实例,打包顺序可用于标识可  用包裹362的放置次序。在一些实施方案 中,如框662处所示,机器  人系统100可逐层地计算打包顺序。换句话说,机器人系统100可 计  算每个层的打包顺序,然后根据层的从底部到顶部的次序/位置连接  所述顺序。在计算 打包顺序时,在一些实施方案中,机器人系统100  可调整放置计划,如框672处所示。例如, 机器人系统100可通过以  下方式来调整放置计划:通过将包裹(例如,具有增加后续操纵/ 搬运 的碰撞可能性的高度的包裹)中的一个或多个从较低层放置计划重新  指派到较高层 21 CN 111605938 A 说 明 书 19/32 页 放置计划。还可将由重新指派的包裹支撑的任何包裹重  新指派到更高的层。换句话说,重 新指派的包裹可保持处于同一水平  放置并且与更高层相关联,使得稍后可如图5B所示地 放置包裹。在  框674处,机器人系统100可基于诸如通过对在被指派在更低层中之  后被指 派在更高层中的物体进行打包/操纵所调整的放置计划来计算  打包顺序(例如,堆叠顺序 530)。 在其他实施方案中,如框664处所示,机器人系统100可计算打  包顺序,而不管/独 立于层指派。换句话说,机器人系统100可计算打  包顺序,使得可在指派到更高层的包裹之 后放置指派到更低层的包裹。 在计算打包顺序时,在层内或跨层两者,机器人系统100可根据  一个或多个包裹 尺寸(例如,高度)、相对放置位置或它们的组合来分  析堆叠计划502中的包裹的位置。例 如,机器人系统100可将更远离  单元/参考位置(例如,码垛机器人的位置)的盒的放置定序 在更靠近指  派的包裹之前。另外,机器人系统100可在更高/更重包裹的指派位  置是沿着 放置计划的周边且远离单元位置时将它们更早地放置。 在框616处,机器人系统100可实施用于将可用包裹362放置在  平台上的堆叠计划 502。机器人系统100可基于根据堆叠计划502将  一个或多个运动计划、致动器命令/设定或 它们的组合传达给对应装  置/单元(例如,图1的搬运单元104、图2的致动装置212、图2的传  感器216等)来实施堆叠计划502。机器人系统100可基于在装置/单  元处执行所传达信息以 将可用包裹362从源位置搬运到目的地平台  来进一步实施堆叠计划502。因此,机器人系统 100可根据3D映射  来放置可用包裹362,其中将可用包裹362中的一个或多个放置/堆叠  在 其他包裹的顶部上,诸如逐层地放置可用包裹362。此外,机器人  系统100可根据打包顺序 操纵/搬运包裹。这样,机器人系统100可  逐层地或者在不具有如上文所述的那类限制的情 况下放置包裹。 上文所述的任务和2D/3D分层的离散化提供打包物体的改进的 效率、速度和准确 性。因此,操作员输入的减少和准确性的增加可进  一步减少自动化打包过程的人力劳动。 在一些环境中,如上文所述的  机器人系统100可消除对可花费大约或高于100万美元的定 序缓冲  器的需要。 处理包裹 通过使用暂时存储区域来存储可用包裹362、实时地标识可用包  裹362、并且实时 地(例如,在包裹到达起始位置114时)生成可用包  裹362的模拟堆叠计划,机器人系统100 可消除将可用包裹362进行 以下各项的需要:(a)在提供给机器人系统100之前通过标识属 性(例  如使用条码)进行标记;以及(b)按堆叠顺序进行接收,这也消除了对  单独定序机的 需要。因此,通过使资源消耗最小化并且改进打包机制,  所公开的实施方案产生改进的机 器人系统。 图7是机器人系统100可在其中操作以使用模拟堆叠计划来处  理包裹以便放置在 平台上的示例性环境,这将在下文详细论述。机器  人系统100可用于处理包裹以便放置在 特定目的地(例如,仓库或载  具)处。图7的示例中的机器人系统100被示出为码垛来自载具 的包  裹并将经码垛包裹放置在仓库中。然而,机器人系统100还可被实施  用于将包裹从仓 库放置到载具(例如,卡车)中。 在一些实现方式中,机器人系统100的搬运单元104可从卸载单  元102接收一组包 22 CN 111605938 A 说 明 书 20/32 页 裹以便放置在任务位置116(也称为货盘或平台)处。  作为示例,所述一组包裹可包括可由 机器人系统100接收以便放置在  任务位置116处的可用包裹362的所有可能实例。在一些实 施方案  中,机器人系统100可具有所述一组包裹的先验知识,诸如将到达起  始位置114处 的可用包裹362的总数目。在其他实施方案中,机器人  系统100可不具有所述一组包裹的先 验知识并且可在不具有将到达  起始位置114处的可用包裹362的总数目的情况下进行操 作。 机器人系统100可使搬运单元104使用存储区域705(其为不同  于任务位置116的 区域)来暂时地存储可用包裹362中的一个或多个,  直到可根据模拟堆叠计划将可用包裹 362放置在任务位置116上为  止。存储区域705可以许多配置中的适于搬运单元104将包裹 放入其  中和/或从其取出包裹的一个来设计。例如,存储区域705可被配置  来包括具有架 子或放置位置的一个或多个存储架710,所述架子或放  置位置可以圆形剧场座椅格式或楼 梯格式布置。在另一示例中,存储  架710可被布置为多个行和列。 图7示出作为通过运输机制(诸如输送带110)按顺序逐个地到达  起始位置114以 便由机器人系统100处理的所述一组包裹的一部分 的可用包裹362(例如,包裹“B”至“E”) 的示例。位于起始位置114处 的可用包裹362的实例可称为目标物体112。输送带110可被配 置来  提供基本功能,诸如开关控制和速度控制。在一些实施方案中,输送  带110并不提供 内置或集成智能能力,并且通常需要外部系统或操作  员对操作功能的控制和/或激活/去 激活。 机器人系统100可包括用于扫描可用包裹362的一个或多个三  维(3D)传感器715。 例如,输送带110可配备有3D传感器715中的  一个或多个,以生成可由机器人系统100使用 来计算与可用包裹362 中的每一个相关联的一个或多个包裹属性的传感器信息(诸如3D点  云信息)。基于来自3D传感器715的传感器信息计算的包裹属性的一  些示例可包括包裹尺 寸(即,包裹高度、包裹宽度和包裹长度)和/或包  裹取向细节。下文将论述关于包裹属性的 另外的细节。可预先配置3D  传感器715的放置。在一些实施方案中,3D传感器715可安装在 起  始位置114附近。例如,3D传感器715可定位在起始位置114上方  并且面朝输送带110的 顶表面,以生成可用包裹362、并且更具体地 目标物体112的自顶向下的视图。在可用包裹 362逐个地经过3D传 感器715时,3D传感器715可扫描可用包裹362以生成传感器信息。 搬运单元104可接收已由3D传感器715扫描的可用包裹362作  为目标物体112并且 可将目标物体112存储在存储区域705中的存  储位置处。存储位置是存储区域705内用于放 置和存储物体(诸如可  用包裹362)的物理位置,诸如存储架710的具体实例和/或存储架 710 的架子上的位置。存储区域705中的可用包裹362的示例由定位在存  储架710上的标记 为“S”和“T”的可用包裹362示出。 在将可用包裹362放置在存储区域705中之后,机器人系统100  可将可用包裹362 的存储位置信息记录在例如图2的跟踪数据254 中。存储位置信息可以是关于可用包裹362 在存储区域705中的存储  位置的信息。在一些实施方案中,机器人系统100可生成可以是存 储  区域705的代表的数据结构,称为“存储映射图”。存储映射图可包括  存储条目,所述存 储条目可以是数据结构的对应于存储区域705中的  可用物体362中的每一个的数据条目。 存储映射图中的存储条目可存  储包裹标识(ID)、存储位置信息和/或暂时地存储在存储区 域705中的  可用包裹362中的每一个的包裹属性(例如,物理尺寸)。包裹ID可 由机器人系 23 CN 111605938 A 说 明 书 21/32 页 统100生成(即,作为对应于接收可用包裹362的次序的  指派值),或根据包裹(例如,根据可 在包裹在输送带110上被运输时  使用条形码扫描器(未示出)自动地读取的与包裹相关联 的条形码)来  确定。 在一些实施方案中,机器人系统可维持存储区域705的存储容量  计数器。在一个 实现方式中,存储容量计数器可以是代表存储区域705  中的当前由可用包裹362占用的存 储空间量或存储位置数目的值。在  另一实现方式中,存储容量计数器可以是代表存储区域 705中的当前  可用于存储或未占用的存储空间量或存储位置数目的值。作为示例,  机器人 系统100可通过在可用包裹362的实例被添加到存储区域705  或从存储区域705移除时增大 或减小存储容量计数器的值来维持存  储容量计数器。 在一些实施方案中,机器人系统100可生成存储在存储区域715 中的可用包裹362 的包裹分组。例如,机器人系统100可基于存储在  存储区域715中的可用包裹362中的每一 个的包裹属性(诸如包裹高  度和/或包裹重量)来生成包裹分组。下文将详细论述包裹分组 的生成。 机器人系统100可执行模拟功能以生成可用包裹362、并且更具  体地当前存储在 存储区域705中的可用包裹362的模拟堆叠计划。一  般来说,机器人系统100的目的是生成 模拟堆叠计划,以使用可用包  裹362将可用包裹362的至少一部分放置在存储区域705中作 为均  匀打包层,使得均匀包裹层的顶表面具有相同高度。在一个示例中,  均匀打包层可被 生成为可用包裹362的单个层,使得均匀打包层中的  可用包裹362中的每一个的包裹高度 是相同的(即,具有相同或相似 的包裹高度值)。作为具体示例,模拟功能可基于根据包裹 高度分类的  包裹分组来生成模拟堆叠计划。 在另一示例中,均匀打包层可被生成为组合层。在一个实施方案  中,生成为组合 层的均匀打包层可实现为可用包裹362的单个实例和  可用包裹362中的一个或多个的包裹 堆叠的组合,其中包裹的单个实  例的包裹高度与包裹堆叠中的一个或多个包裹的包裹高 度的和相同  (即,使得组合层的顶表面具有相同高度)。作为说明,组合层可包括  可用包裹 362的单个实例(即,具有包裹高度“X”)和可用包裹的多个  实例的包裹堆叠(即,具有组合 堆叠高度的可用包裹362中的两个或  更多个,所述堆叠高度是包裹堆叠中的可用包裹362 中的每一个的包  裹高度的和,总计“X”),使得组合层的顶表面具有相同高度(即,“X”)。  在 另一实施方案中,生成为组合层的均匀打包层可利用包裹堆叠的多  个实例来实现,只要包 裹堆叠中的每一个中的可用包裹362的包裹高  度的和相同即可。下文将论述关于生成将均 匀打包层实现为组合层的  模拟堆叠计划的另外的细节。通过将模拟堆叠计划生成为包括 均匀打  包层,机器人系统100可提供用于堆叠可用包裹362的附加层的稳定  基础。 用于实现均匀打包层的模拟堆叠计划的生成可包括满足堆叠表  面积要求。堆叠 表面积要求可以是对形成均匀包裹层的可用包裹362  之间的间距和/或间隙的要求和/或 对形成均匀包裹层的可用包裹362 的顶表面的组合水平面积的要求。可用包裹362的顶表 面的组合水平  面积指代形成均匀打包层的顶表面的可用包裹362中的每一个的顶  表面的 表面积的和。堆叠表面积要求可包括组合面积要求和/或堆叠 间距要求。 在一些实施方案中,组合面积要求的堆叠表面积要求可包括:均  匀打包层的顶表 面的组合水平面积大于表面积阈值。作为示例,表面  积阈值可基于任务位置116的水平放 置表面的百分比。作为另一示例,  表面积阈值可诸如由系统用户预定。 24 CN 111605938 A 说 明 书 22/32 页 在另一实施方案中,包裹间距要求的堆叠表面积要求可包括:要  求形成均匀打包 层的顶表面的可用包裹362之间的任何间隙区域和/  或空的空间小于间距阈值。作为示例, 间距阈值可由机器人系统100  动态地设定成具有小于基于存储区域705中的可用包裹362 中的任  一个的包裹尺寸计算的面积的面积。这样,间隙区域和/或空的空间将  不会足够大 到允许任何可用包裹362落入形成均匀打包层的顶表面 的可用包裹362之间。作为另一示 例,间距阈值可诸如由系统用户预  定。 生成实现满足堆叠表面积要求(即,组合面积要求和包裹间距要  求两者)的均匀 打包层的模拟堆叠计划提供使可用包裹362的另外的  实例的放置最大化的稳定表面的优 点。例如,然后,机器人系统100  可使用均匀包裹层的顶表面作为具有最大化放置面积的离 散化平台  模型304的新实例,以迭代地/递归地导出下一层在均匀包裹层上方  的包裹放 置。 应理解,在一些情况下,当前位于存储区域705中的可用包裹362  无法由模拟功能 布置来生成实现均匀打包层的模拟堆叠计划。在这些  情况下,机器人系统100可将模拟堆 叠计划生成为剩余包裹计划。在  一些实施方案中,剩余包裹计划可以是用于将当前位于存 储区域705  中的可用包裹362的所有剩余实例放置到任务位置116上的计划。剩  余包裹计 划可由模拟功能生成,以满足用于将可用包裹362放置在任  务位置116上的一个或多个码 垛标准。 码垛标准可以是关于任务位置116上的可用包裹362的打包密  度和/或数目的要 求。作为示例,码垛标准可包括用于将可用包裹361  放置在任务位置116上的要求,诸如体 积打包效率、货盘上的预期包  裹数目、任务位置116上的可用包裹362的堆叠的最大可堆叠 高度,  或它们的组合。体积打包效率可以是某种关系,诸如可用包裹362的  总体积与任务 位置116的打包体积容量之间的比,所述打包体积容量  可以是可由任务位置116承载的物 体或包裹的总体积的值。作为示例,  体积打包效率可以是将被放置在任务位置116上(即, 诸如根据模拟  堆叠计划)的所有可用包裹362的包裹体积的和与任务位置116的打  包体积 容量之间的比。预期包裹数目可以是预期将被放置在任务位置  116上的可用包裹362的最 小数目。最大堆叠高度可以是任务位置116  上的所堆叠包裹的总高度(例如,当可用包裹 362堆叠在彼此顶部上 时可用包裹362中的每一个的包裹高度的和)的限值。 在一些实施方案中,机器人系统100可实时地(例如,诸如在可  用包裹362的新实 例到达起始位置或被添加到存储区域705之后)执  行模拟功能。例如,机器人系统100可在 可用包裹362中的第一包裹 由3D传感器715扫描时执行模拟功能,并且继续在接收到可用 包裹  362的后续实例的时候更新模拟堆叠计划。作为具体示例,当可用包  裹362中的第一 包裹“S”存储在存储区域705中时,机器人系统100  可基于第一包裹“S”生成模拟堆叠计划, 并且当可用包裹362中的第  二包裹“T”存储在存储区域705中时,机器人系统100可基于第 一包 裹“S”和第二包裹“T”更新模拟堆叠计划。 在一些实施方案中,更新模拟堆叠计划可包括以下中的一者或多  者:更新放置信 息(诸如可用包裹362的顺序标识(ID))、更新可用包  裹362在目标位置114上的放置位置 和/或更新可用包裹364的放置  取向。顺序ID可表示将可用包裹362放置在任务位置116上 的次序。  在一些实施方案中,可用包裹362的放置信息可存储在存储映射图的  存储条目 中。下文将论述关于执行模拟功能以生成模拟打包计划的其 他细节。 25 CN 111605938 A 说 明 书 23/32 页 在包裹处理操作期间,机器人系统100可确定码垛触发项的发生。  码垛触发项可 以是可触发由机器人系统100根据模拟堆叠计划将可  用包裹362中的一个或多个从存储区 域705放置到任务位置116上  的事件。在一些实施方案中,码垛触发项可基于机器人系统 100的一  个或多个单元的时限触发项、堆叠计划触发项、存储容量触发项或接 收到放置启 动命令。当模拟功能生成或更新实现满足堆叠表面积要求 的均匀打包层的模拟堆叠计划 时,堆叠计划触发项可发生。 时限触发项可基于机器人系统100的单元操作时间。在一些实现  方式中,时限触 发项可基于将被放置在任务位置116上的可用包裹  362的装运计划表(即,满负荷货盘必须 装运的时间)。在另一实现方 式中,时限触发项可基于机器人系统100未花费在将可用包裹 362放  置在任务位置116上的时间量。作为示例,时限触发项可在单元操作  时间超过操作 阈值时发生。在一些实现方式中,单元操作时间可以是  搬运单元104尚未将任何可用包裹 362放置在任务位置116上的持  续时间。在其他实现方式中,单元操作时间可以是搬运单元 104已花 费在任务位置116的当前实例的码垛操作上的总时间量。操作时间阈  值可以是可 由机器人系统100或系统用户基于闲置时间要求和/或装 运计划表确定的预限定时间段。 存储容量触发项可基于存储容量计数器。例如,存储容量触发项  可在存储容量计 数器超过存储容量阈值时发生。存储容量阈值可表示  存储区域705正接近最大存储容量。 例如,存储容量阈值可以是代表  存储区域705中的存储位置的百分比或数目的预限定值。 放置启动命令可以是用于开始将存储区域705中的可用包裹362  放置到任务位置 116上的指令或命令。放置启动命令可以是从机器人  系统100接收的指令或从系统用户接 收的指令。例如,从系统用户接  收的放置启动命令可在系统用户按下与机器人系统100相 关联的按  钮时发生,以表示不再需要处理任何包裹。 在一些实施方案中,当机器人系统100确定时限触发项、存储容  量触发项或接收 到放置启动命令的发生时,机器人系统100可能必须  将模拟堆叠计划生成为用于根据码垛 标准将存储区域705中剩余的  可用包裹362放置在任务位置116上的剩余包裹计划。下文将 论述关  于确定码垛触发项的发生的另外的细节。 在一些实施方案中,在确定模拟堆叠计划之前,机器人系统100  (例如,通过用户 输入)已知所述一组包裹中的可用包裹362的量。如  果机器人系统100知道将被放置到任务 位置116上的可用包裹362的  数目,则机器人系统100可将所述一组包裹中的可用包裹362 的总数 目考虑在内来生成模拟堆叠计划。然而,在一些实施方案中,机器人  系统100不知 道可用包裹362的量。用于生成模拟堆叠计划的策略在  这两种情况下可有所不同,这可取 决于诸如码垛标准的因素。例如,  如果机器人系统100知道将码垛36个可用包裹362,并且 如果将货  盘上的预期包裹数目设定为25,但将优先级设定为使体积打包效率  最大化,然 后假设可用包裹362中的每一个具有相同或类似包裹尺寸,  则机器人系统100可生成两个 货盘各自有18个包裹的模拟堆叠计划 的两个实例(例如,使得在两个货盘中同样地利用体 积效率),并且一  旦模拟堆叠计划标识出要放置的可用包裹362中的前18个合适的包  裹, 就立即开始码垛。相比之下,如果机器人系统100提前未知可用  包裹362的数目,则机器人 系统100可将可用包裹362存储在存储区  域705中,直到诸如时限触发项、均匀层触发项或 存储容量触发项的  码垛触发项已发生为止,以按模拟堆叠计划开始码垛以便放置作为货  盘上的预期数目的包裹的25个包裹,在这种情况下,一个货盘可具  有25个包裹而另一个可 26 CN 111605938 A 说 明 书 24/32 页 具有11个包裹。 图8是示出根据多种实施方案的将可用包裹362放置在任务位  置116上时多种阶 段的示例800的框图。在一些实施方案中,示例  800可在图7的环境中实施。如上文所述,在 可用包裹362前往起始  位置114的途中经过3D传感器715之后,机器人系统100可确定可  用 包裹362的包裹属性,将可用包裹362暂时地存储在存储区域705  中,执行模拟功能以基于 包裹属性生成或更新模拟堆叠计划,确定码  垛触发项的发生,并且继续将暂时地存储在存 储区域705中的可用包  裹362码垛到任务位置116上。例如,当可用包裹362中的第一包裹  “P1”经过扫描器715时,机器人系统100可使用从3D传感器715接 收的传感器信息来确定与 第一包裹相关联的包裹属性(例如,包裹“P1” 的物理尺寸),并且将第一包裹存储在存储区 域705的存储架710上,  如第一放置805所示。 在将包裹“P1”放置在存储区域705的存储架710上之后,机器人  系统100将包裹 “P1”的存储位置信息记录在存储映射图中。存储位置  信息可包括包裹“P1”在存储区域705 中的存储位置。机器人系统100  可使用可用包裹362的存储位置信息来生成使搬运单元104 从存储 区域705取出可用包裹362(诸如当从存储区域705移动可用包裹362 以便放置在任 务位置116上时)的指令。机器人系统100还可将包裹  ID(如果存在的话)和包裹属性(诸如 物理尺寸(例如,包裹高度、包裹  长度和包裹宽度))和/或包裹重量存储在存储映射图中。 存储映射图可 以是跟踪数据254的一部分。机器人系统100还可执行模拟功能以确  定用于 将包裹“P1”放置在任务位置116(例如,货盘)上的模拟堆叠计  划,如第一放置805所示。作 为示例,可在处理第一包裹“P1”之后生  成的模拟堆叠计划表示包裹“P1”在任务位置116上 将被放置在任务  位置116的指定角落中,其中包裹“P1”的最大表面与任务位置116接  触。 机器人系统100可确定诸如时限触发项、均匀层触发项、存储容  量触发项或接收到放置启 动命令的码垛触发项的发生。在第一放置  805中,码垛触发项尚未发生,因此机器人系统 100继续接收下一包 裹“P2”。 机器人系统100可以包裹“P2”继续处理可用包裹362。例如,在  包裹“P2”到达起始 位置114时,机器人系统100确定与包裹“P2”相关  联的包裹属性,并且将包裹存储在存储区 域705中,如第二放置806  所示。机器人系统100将包裹“P2”的存储位置信息和包裹属性记 录在  存储映射图中。模拟功能将模拟堆叠计划更新成连同包裹“P1”包括要  放置在任务位 置116上的包裹“P2”,如第二放置806所示。机器人系 统100确定码垛触发项是否已发生。在 第二放置806中,码垛触发项 尚未发生,因此机器人系统100继续接收下一包裹“P3”。 机器人系统100可以包裹“P3”继续处理可用包裹362。例如,在  包裹“P3”到达起始 位置114时,机器人系统100确定与包裹“P3”相关  联的包裹属性,并且将包裹“P3”存储在存 储区域705中,如第三放置  807所示。机器人系统100将包裹“P3”的存储位置信息和包裹属 性记  录在存储映射图中。模拟功能将模拟堆叠计划更新成连同包裹“P1”和 “P2”包括要放 置在任务位置116上的包裹“P3”。在一些实施方案中,  模拟功能确定包裹尚不适于放置在 任务位置116上(例如,因为形状  和大小尚不适于包裹与目前所处理的其他包裹的高效放 置),因此并  不将包裹包括在堆叠计划中,如第三放置807所示。机器人系统100  确定码垛 触发项是否已发生。在第三放置807中,码垛触发项尚未发  生,因此机器人系统100继续接 收下一包裹“P4”。 机器人系统100可以包裹“P4”继续处理可用包裹362。例如,在  包裹“P4”到达起始 27 CN 111605938 A 说 明 书 25/32 页 位置114时,机器人系统100确定与包裹“P4”相关  联的包裹属性,并且将包裹存储在存储区 域705中,如第四放置808  所示。机器人系统100将包裹“P4”的存储位置信息和包裹属性记 录在  存储映射图中。模拟功能将模拟堆叠计划更新成连同包裹“P1”-“P3”  包括要放置在 任务位置116上的包裹“P4”,如第四放置808所示。第  四放置808示出当模拟“P4”的放置时 将模拟堆叠计划更新为重新布  置包裹“P1”和“P2”的位置和取向。更具体地,由于包裹“P2” 和“P4”具  有相同的包裹高度值“h1”,它们可彼此相邻地放置以实现均匀打包表  面,而 “P1”在任务位置116上的不同位置处重新定向并重新定位。应  注意,包裹“P3”仍未包括在 堆叠计划中。机器人系统100确定码垛触  发项是否已发生。在第四放置808中,码垛触发项 尚未发生,因此机  器人系统100继续接收下一包裹“P5”。 机器人系统100可以包裹“P5”继续处理可用包裹362。例如,在  包裹“P5”到达起始 位置114时,机器人系统确定与包裹“P5”相关联的  包裹属性,并且将包裹“P5”存储在存储 区域705中,如第五放置809  所示。机器人系统100将包裹“P5”的存储位置信息和包裹属性 记录在  存储映射图中。模拟功能将模拟堆叠计划更新成连同包裹“P1”-“P4”  包括要放置 在任务位置116上的包裹“P5”,如第五放置809所示。应  注意,包裹“P3”仍未包括在堆叠计 划中。机器人系统100确定堆叠计  划是否满足一个或多个码垛标准。在一些实施方案中,机 器人系统100  确定在第五放置809中,随着满足体积打包效率的码垛标准,预期数 目的包 裹(例如,5个包裹)的码垛触发项已发生。因此,机器人系统  100继续将包裹“P1”、“P2”、 “P4”和“P5”放置在任务位置116上,如  码垛操作810所示。 在一些实施方案中,机器人系统100可具有不同值的预期数目的  包裹(例如,多于 5个可用包裹362),并且确定在第五放置809中,  码垛触发项尚未发生。因此,机器人系统 100继续接收下一包裹“P6”。  例如,在包裹“P6”到达起始位置114时,机器人系统100确定与 包裹 “P6”相关联的包裹属性,并且将包裹“P6”存储在存储区域705中,如  第六放置811所 示。机器人系统100将包裹“P6”的存储位置信息和包  裹属性记录在存储映射图中。模拟功 能将模拟堆叠计划更新成连同包  裹“P1”-“P5”包括要放置在任务位置116上的包裹“P6”, 如第六放置  811所示。应注意,包裹“P3”仍未包括在堆叠计划中。机器人系统100  确定码垛 触发项是否已发生。在一些实施方案中,机器人系统100确  定均匀层触发项的码垛触发项 已发生,因为模拟堆叠计划已将均匀打  包层实现为组合层。更具体地,第六放置811的模拟 堆叠计划实现均  匀打包层,因为“P4”和“P5”的包裹堆叠和“P2”和“P6”的包裹堆叠各自  具 有总计为“h1”的包裹高度的和(即,“h2”和“h3”的和),所述和与包裹 “P1”的包裹高度“h1” 相匹配,从而提供组合层(即,形成均匀打包层的  包裹的顶表面处于相同高度)。因此,机器 人系统100继续将包裹“P1”、 “P2”和“P4”-“P6”放置在任务位置116上,如码垛操作812所 示。机器  人系统100可使用存储映射图来确定包裹“P1”、“P2”和“P4”-“P6”在存  储区域705 中的存储位置,并且分别(即,基于包裹中的每一个的顺  序ID)将它们从存储区域705取出 以便放置在任务位置116上。包裹 “P3”仍保持在存储区域705中并且可被视为与后续处理 的包裹(例如,  包裹“P7”等等)一起放置在任务位置116上。 在一些实施方案中,机器人系统100可操纵输送带110(诸如停  止或开始),或者改 变(减小或增大)输送带110的速度。例如,当机器  人系统100确定将码垛存储在存储区域 705中的可用包裹362的一  部分时,机器人系统100可能必须停止或减小输送带110的速度, 使  得可用包裹362的下一实例的处理延迟,直到将被码垛的可用包裹  362放置在任务位置 28 CN 111605938 A 说 明 书 26/32 页 116上为止。机器人系统100可在码垛操作完成  之后开始或增大输送带110的速度以递送下 一可用包裹。 图9是根据多种实施方案的用于使用暂时存储区域将可用包裹  放置在任务位置 上的过程900的流程图。在一些实施方案中,过程  900可在图1和图7的环境中实施。此外,在 一些实施方案中,至少  参考图8描述的包裹放置是过程900的说明性示例。过程900可基于  利用图2的处理器202中的一个或多个执行存储在图2的存储装置  204中的一个或多个上的 指令来实施。 机器人系统100可在框901处启动用于放置图3的可用包裹362 的过程。如框901所 示,机器人系统100可确定关于图7的任务位置  116(例如,用于接收/放置可用包裹362的货 盘、平台、仓和/或容器) 的目的地信息。例如,任务位置116的目的地信息可包括物理尺寸、  打包体积容量、最大打包高度或它们的组合。在一个实施方案中,机  器人系统100可将目的 地信息确定成包括任务位置116的可用包裹  362可放置的放置表面(例如,货盘(诸如图3的 放置货盘340)的顶部  装载表面)的大小或尺寸。 在另一实施方案中,机器人系统100可将目的地信息确定成包括  任务位置116的 打包体积容量。例如,打包体积容量可以是由计算系  统100接收、存储在主数据252内或由 计算系统100实时地计算(诸  如通过放置表面的水平尺寸(即,x和y尺寸)乘以任务位置116 的打  包高度(即,z尺寸))的预定值。作为示例,任务位置116的打包高度  尺寸可以是对应 于任务位置116的配置(诸如仓壁的高度或与货盘上 的物体的稳定堆叠相关的最大高度) 的值。在另一示例中,任务位置  116的打包高度尺寸可对应于任务位置116的最大堆叠高 度。 在另一实施方案中,机器人系统100可将目的地信息确定成包括 图3B的对应于任 务位置116的离散化平台模型304。例如,机器人  系统100可基于根据图3B的单位像素310划 分任务位置116(例如,  货盘顶表面)的物理尺寸来(例如,离线地或实时地)生成离散化平 台模  型304。单位像素310可以是预定值或尺寸(由例如制造商、下单客户  和/或操作员), 诸如1毫米(mm)或1/16英寸(in)或更大(例如,5mm  或20mm)。在一些实施方案中,单位像素 310可基于平台的尺寸或 大小(例如,百分比或分数)。 在框902处,机器人系统100可生成和/或实施用于在图7的起  始位置114处接收一 组包裹(包括可用包裹362中的一个或多个)的计  划。例如,用于接收所述一组包裹的计划 可包括:用于在起始位置112  处逐个地接收可用包裹362的指令,所述包裹可由图7的输送 带110  运输到起始位置114。用于接收所述一组包裹的计划可包括将当前处  于起始位置 114的可用包裹362的实例标识为图7的目标物体112。 在框903处,机器人系统100可生成和/或实施用于处理一系列  可用包裹362中的 每一个的计划。例如,用于处理可用包裹362的计  划可包括:确定可用包裹362(并且更具体 地,目标物体114)的包裹  属性,并且将可用包裹362存储在图7的存储区域705中。在一个实  现方式中,用于处理可用包裹362的计划可包括:用于确定包裹属性 的框920、用于确定可 用包裹362的包裹标识(ID)的框922、用于将  可用包裹362存储在存储区域705中的框924、 用于记录可用包裹  362的信息的框926、用于更新存储容量计数器的框928或它们的组 合。 如框920所示,机器人系统100可确定目标物体112的包裹属  性。包裹属性可包括 表征以下或与以下相关的一个或多个特性:形状、  大小、包裹尺寸(即,高度、宽度、长度、周 29 CN 111605938 A 说 明 书 27/32 页 长、直径)、重量、目标  物体114的其他物理特性、目标物体112在起始位置114处的位置和  / 或定位、目标物体112与可用包裹362中的相邻实例之间的间隔, 或它们的组合。 在一些实施方案中,机器人系统100可基于从图2的传感器216  (例如,图1的3D传 感器715)接收的传感器信息(即,3D点云信息)  来将目标物体112的包裹属性确定成包括包 裹尺寸。作为一个示例,  机器人系统100可分析传感器信息,以基于对应于目标物体114的  3D点云中的所检测边缘的测量值来确定包裹长度和/或包裹宽度(即,  对应于目标物体112 的关于目标物体114的自顶向下角度的顶表面 的长度和宽度)的包裹属性。类似地,机器人 系统100可分析传感器  信息,以确定具有圆柱形状的目标物体112的包裹周长或包裹直径 的  包裹属性。在另一示例中,机器人系统100可分析传感器信息以基于  对应于目标物体 112的最靠近/面向3D传感器705的表面(即,目标  物体112的顶表面)与输送带110的最靠 近/面向3D传感器705的表  面(即,输送带110的顶表面)的3D点云值之间的差来计算包裹高 度 的包裹属性。 在一些实施方案中,机器人系统100可将包裹属性确定成包括图  3A的离散化物体 模型302。例如,机器人系统100可基于包裹尺寸  生成和/或访问对应于目标物体112的离散 化物体模型302。在一些实  施方案中,机器人系统100可基于划分目标物体112的物理尺寸 来  (例如,离线地或实时地,诸如在接收到可用包裹362之后和/或在开  始打包操作之前) 生成离散化物体模型302。单位像素310可以是预定  值尺寸(由例如制造商、订购客户和/或 操作员),诸如1mm或1/16in  或更大(例如,5mm或20mm)在一些实施方案中,单位像素310可  基于可用包裹362中的一个或多个的尺寸或大小(例如,百分比或分  数)。在一些实施方案 中,机器人系统100可访问存储在存储装置204  和/或另一装置(例如,通过图2的通信装置 206访问的存储装置、数  据库和/或包裹供应者的服务器)中的离散化物体模型304。 如框922所示,机器人系统100可确定目标物体112的包裹ID。  例如,可由机器人系 统100生成包裹ID,诸如根据在起始位置114处  接收到可用包裹362的次序的指派值。作为 另一示例,包裹ID可根  据包裹(例如,根据可使用条形码扫描器(未示出)自动地读取的与 包裹  相关联的条形码)来确定。 如框924所示,机器人系统100可生成和/或实施用于将可用包  裹362(即,目标物 体112)存储在存储区域705中的计划。例如,机  器人系统100可将用于存储目标物体112的 计划生成为包括使搬运  单元104将存储位置处的目标物体112抓取、运输并放置在未由可 用  包裹362的另一实例占用的存储区域705中。 在一些实施方案中,用于将可用包裹362存储在存储区域705中 的计划可包括使 搬运单元104以多种布置将可用包裹362放置在存  储区域705中的指令。例如,指令可包括 使搬运单元104将包裹侧向  地(即,一个挨着一个)放置在存储架710中的一个上,之后将包 裹移  动到存储架710中另一个上。在另一示例中,用于搬运单元104的指  令可以是将包裹 随机地放置在存储区域705中。在又一示例中,指令  可生成为用于将可用包裹362放置在存 储区域705中的放置计划,诸  如至少参考图3A至图3C所述的放置计划。放置计划可考虑存 储架  710的数目、存储架710的尺寸、存储架710的重量承载容量或用于  将可用包裹362放 置在存储区域705中的其他因素。无论如何,可将  可用包裹362放置在存储区域705中,使得 搬运单元104可充分利用  存储库705中的可用存储空间以用于存储和/或取出可用包裹362 中 的一个或多个。 30 CN 111605938 A 说 明 书 28/32 页 在一些实施方案中,机器人系统100可将包裹属性确定成包括目  标物体112在目 标物体112的运输期间的包裹重量。例如,机器人系  统100可基于目标物体112的初始提升 期间从搬运单元104的图2的  传感器216(例如,扭矩或力传感器)接收的传感器信息来计算 包裹重 量。 如框926所示,机器人系统100可记录关于被搬运到存储区域  705的可用包裹362 的信息。例如,机器人系统100可将可用包裹362 的存储位置信息记录在存储映射图中。存 储位置信息可以是对应于可  用包裹362在存储区域705中的存储位置的信息,其可使用2D 和/或  3D传感器来确定。机器人系统100可存储可用包裹362中的每一个 的包裹属性、包裹 ID或它们的组合。例如,机器人系统100可将对  应于目标物体112的作为代表目标物体112 的存储条目的包裹属性  和包裹ID存储在主数据252中。 在框928处,机器人系统100可更新存储区域705的存储容量计  数器。作为示例,机 器人系统100可通过增加对应于添加到存储区域  705的可用包裹362的数目的值来更新存 储容量计数器。 在框904处,机器人系统100可确定当前存储在存储区域705中 的可用包裹362的 包裹分组(例如,可用包裹的子组)。例如,机器人  系统100可根据当前位于存储区域705中 的可用包裹362的包裹属  性的相似性来确定包裹分组。特别地,机器人系统100可根据包裹 高  度来确定包装分组。换句话说,包裹分组中的一个中的可用包裹362 中的每一个将与所 述包裹分组内的可用包裹362的其他实例具有相  同(或类似)的包裹高度值。机器人系统 100可在可用包裹362被移进  和移出存储区域705时更新包裹分组中的一个或多个。例如, 在目标  物体112的处理期间(即,在将目标物体112移动到存储区域705之  前、期间或之 后),机器人系统110可将目标物体112的包裹高度与  包裹分组的包裹高度进行比较。如果 机器人系统100确定目标物体  112的包裹高度与包裹分组的包裹高度之间的匹配,则机器 人系统  100可将目标物体112添加到包裹分组中的特定者。否则,机器人系 统100可创建包 裹分组中对应于目标物体112的包裹高度的新实例,  所述新实例随后以具有相同值的包裹 高度的可用包裹362的另外的 实例添加。 在框906处,机器人系统100可执行模拟功能以生成或更新当前  存储在存储区域 705中的可用包裹362的模拟堆叠计划。模拟堆叠计  划包括关于可用包裹362在任务位置 116上的布置的细节。模拟堆叠  计划还可包括关于其中可用包裹362将被放置在任务位置 116(诸如  货盘或平台)上的堆叠顺序ID的信息。 机器人系统100可在以下情况下迭代地生成或更新模拟堆叠计  划:当可用包裹 362到达起始位置114时;在将可用包裹362中的一  个添加到存储区域705、分类到包裹群组 中的一个中之后;或它们的 组合。在一个实施方案中,机器人系统100可基于包裹高度针对 包裹  分组中的每一个独立地执行模拟功能,以生成实现均匀包裹层的模拟  堆叠计划。例 如,在将均匀打包层生成为可用包裹的单个层的情况下,  机器人系统100可将模拟堆叠计 划生成为用于沿着基于离散化模型 的水平平面放置可用包裹362的2D计划(例如,图3B的 放置计划  350)。例如,机器人系统100可基于将对应于属于包裹分组中的一个 的可用包裹 362的离散化物体模型302与离散化平台模型304进行 比较来生成放置计划350。机器人系 统100可确定离散化物体模型302 的不同放置/布置,将它们与离散化平台模型304进行重 叠/比较,并  且验证/保持在重叠时在离散化平台模型304的边界内的布置。 31 CN 111605938 A 说 明 书 29/32 页 在另一实施方案中,在生成将均匀打包层实现为组合层的模拟堆  叠计划的情况 下,机器人系统100可独立于包裹分组执行模拟功能。  例如,当不存在对可用包裹362的取 向限制(即,可用包裹362必须  放置成具体表面面朝/背对或向上面向/向下面向任务位置 116的放置  表面)时,机器人系统100可执行以不同取向(即,在三维上旋转包裹)  考虑当前 位于存储区域705中的可用包裹362中的每一个的包裹尺  寸(即,包裹长度、包裹宽度、包裹 高度)的模拟功能。为深化示例,  机器人系统100可执行考虑可用包裹362的一个或多个包 裹堆叠的  包裹高度的和的模拟功能,这可将所述和与可用包裹362的其他实例 的包裹尺 寸进行比较,以确定是否可实现组合层(例如,如图8的放  置811所示)。更具体地,模拟功能 可生成以不同取向放置在任务位  置116上的可用包裹362的单个实例与可用包裹362中的 一个或多  个的包裹堆叠组合的模拟堆叠计划,其中包裹的单个实例的包裹高度  与包裹堆 叠中的一个或多个包裹的包裹高度的和相同。类似地,组合  层可利用包裹堆叠的多个实例 来实现,只要包裹堆叠中的可用包裹  362的包裹高度的和相同即可。应注意,包裹高度被确 定为垂直于任  务位置116的放置区域的平面的包裹尺寸,所述尺寸可不考虑基于传  感器 信息(即,框920处)确定的包裹高度。 因此,为确定模拟堆叠计划是否已实现均匀打包层,机器人系统  100可特别是在 将可用包裹362的新实例添加到存储区域705之后  (例如,诸如根据离散化物体模型302)迭 代地导出可用包裹362中的  每一个的放置位置,直到满足堆叠表面积要求(包括组合面积 要求和/  或包裹间距要求)为止。作为示例,对于组合面积要求,机器人系统  100可将组合 水平面积计算为在将可用包裹362中的一个添加到模拟  堆叠计划之后用于形成均匀打包 层(其当前可处于不完整状态)的顶表  面的可用包裹362中的每一个的顶表面面积的和。当 用于形成均匀打  包层的顶表面的可用包裹362中的每一个的顶表面面积的和超出表  面积 阈值时,机器人系统100可确定均匀打包层已满足组合面积要求。 作为另一示例,对于包裹间距要求,在按模拟堆叠计划进行可用  包裹362的每个 迭代导出的放置之后,机器人系统100可标识可用包  裹362之间的间隙区域和/或开放空间 中的每一个并将其与间距阈值  进行比较。当间隙区域和/或开放空间中的每一个小于间距 阈值时,机  器人系统100可确定均匀打包层已满足包裹间距要求。 在框907处,机器人系统100可确定包括均匀层触发项、时限触  发项、存储容量触 发项或接收到放置启动命令的码垛触发项的发生。  例如,在已将可用包裹362中的每一个 存储在存储区域705中和/或 已更新模拟堆叠计划之后,机器人系统100可检查码垛触发项 的发生。  在一个实施方案中,当机器人系统接收到放置启动命令(其可形成机  器人系统 100外部的源(诸如系统用户))时,机器人系统100可确定码 垛触发项已发生。 在另一实施方案中,机器人系统100可基于对模拟堆叠计划的评  估来确定均匀层 触发项的发生。例如,机器人系统100可(例如,针对  包裹分组中的一个或多个)评估模拟堆 叠计划并且当模拟堆叠计划已  实现满足堆叠表面积要求的均匀包裹层时确定均匀层触发 项已发生。 在另一实施方案中,机器人系统100可基于单元操作时间来确定 时限触发项的发 生。例如,机器人系统100可监测单元操作时间,并  且根据确定单元操作时间的时限(诸如 搬运单元104的单元闲置时间  和/或总操作时间)超过时限阈值来确定时限触发项已发生。 在又一实施方案中,机器人系统100可基于存储容量计数器来确  定存储容量触发 32 CN 111605938 A 说 明 书 30/32 页 项的发生。例如,机器人系统100可监测存储容量计  数器,并且根据确定存储区域507的存 储容量计数器超过存储容量阈 值来确定存储容量触发项已发生。 在确定框908处,如果机器人系统100将码垛触发项的发生确定  为均匀层触发项, 则过程可前进到框910,以根据已实现均匀包裹层 的模拟堆叠计划来将可用包裹362放置 在任务位置116上。在一些实  施方案中,进一步深入框908处的确定,机器人系统100可延迟 前进  到用于放置可用包裹362的框910。 例如,在包裹分组中的一个的模拟堆叠计划已实现均匀打包层, 同时打包群组的 另外的实例的模拟堆叠计划正接近堆叠表面积要求  (称为不完整均匀打包层)的情况下, 机器人系统100可延迟放置可用  包裹362。特别地,如果均匀打包层的不完整实例的模拟堆 叠计划中 的可用包裹362的包裹高度的和大于(或预期大于)已实现满足堆叠表  面积要求 的均匀打包层的包裹分组的实例的模拟堆叠计划中的高度  和,则机器人系统100可延迟前 进到框910。这样,机器人系统100  可根据包裹重量来排定放置可用包裹362的优先级(即, 放置更靠近  任务位置的放置区域的更重包裹)。在一些实施方案中,机器人系统  100可延 迟前进到框910,直到码垛触发项的不同实例(即,时限触发  项、存储容量触发项或接收到 放置启动命令)已发生为止,此时,过程  可前进到框910,以根据已实现满足堆叠表面积要 求的均匀包装层的  模拟堆叠计划来放置可用包裹362。 在机器人系统100将码垛触发项确定为时限触发项、存储容量触  发项或接收到放 置启动命令的情况下,过程可前进到框909。在框909 处,机器人系统100可将模拟堆叠计划 生成为剩余包裹计划。在一个 实施方案中,机器人系统100可实施模拟功能以应用图6的方 法600,  从而基于当前位于存储区域705中的可用包裹362且根据码垛标准  将模拟堆叠计 划生成为图5的堆叠计划500。例如,可执行模拟功能, 以生成二维(2D)放置计划,其中2D放 置计划代表可用包裹362中的  一个或多个沿着任务位置116的水平平面的2D映射。为继续 示例,  可执行模拟功能,以通过将2D放置计划的多个实例转换成一个或多  个包裹的三维 (3D)映射来生成剩余包裹计划,其中3D映射代表可用  包裹362中的一个或多个在任务位置 116上在多个层中的布置,其中  每个层在另一层上方并且具有2D放置计划的对应实例。为 深化示例,  可将剩余包裹计划生成为包括基于模拟堆叠计划来确定可用包裹362 的堆叠 顺序ID,其中堆叠顺序ID用于可用包裹362在标识任务位置  362上的放置次序。 例如根据码垛标准生成剩余包裹计划可包括:在观察可用包裹  362的最大可堆叠 高度的同时满足体积打包效率和/或预期包裹数目。  在一些实施方案中,剩余包裹计划可 被生成为将可用包裹362的剩余 实例放置在先前放置的包裹(诸如已被放置为均匀包裹层 的可用包裹  362)的现有层上。 在框910处,机器人系统100可实施用于根据模拟堆叠计划(诸  如(例如,通过框 906)已实现满足堆叠表面积要求的均匀堆叠层的模  拟堆叠计划或(例如,通过框909)生成 为剩余包裹计划的模拟堆叠计  划)将可用包裹362的位于存储区域705的至少一部分放置 在目标位  置116上的计划。例如,机器人系统100可生成使搬运单元104从存  储区域705取 出包裹并根据模拟堆叠计划将它们放置在任务位置116  上的指令。机器人系统100可使用 存储映射图来标识可用包裹362和  存储区域705中的对应存储位置。在下文图10中将论述 关于将可用  包裹362放置在目标位置116上的细节。 在将可用包裹362放置在目标位置116上之后,在框911处,机  器人系统100可更新 33 CN 111605938 A 说 明 书 31/32 页 存储映射图和存储位置计数器以反映可用包裹  362从存储区域705的移除。例如,机器人系 统100可更新存储映射  图以移除对应于已从存储区域705移除(即,框910处)的可用包裹 362 的条目(例如,包裹ID、存储位置信息、包裹属性、放置信息等),从  而表示存储位置现 在可用于存储可用包裹362的新传入实例。类似地,  机器人系统100可通过将存储位置计数 器的当前值减小已在将可用  包裹362放置在任务位置上(即,框910处)的计划实施期间移 除的可  用包裹362的数目来更新存储位置计数器。 返回参考确定框907,如果机器人系统100并不确定码垛触发项 的发生,则机器人 系统100可前进到框902。在框902处,机器人系  统100可继续处理在起始位置114处的一系 列中为下一个的可用包 裹362。 在确定框912处,机器人系统100确定是否存在更多的可用包裹  362用于处理。如 果存在待接收的更多的可用包裹362,则过程900  可前进到框902,其中可处理在系列或顺 序中为下一个的可用包裹  362。如果不存在更多包裹待处理以便放置在平台116上,则过程 结  束。 在一些实施方案中,输送带110的操作可根据机器人系统100的  状态来调整。例 如,当机器人系统100正码垛可用包裹362时(诸如  将包裹从存储区域705搬运到目标区域 116(例如,框910中)),并且  如果输送带110上不存在更多的可用包裹362待处理,则输送带 110  可能必须停止,或者必须减小其速度以允许搬运单元104将可用包裹  362中的一个或 多个从存储区域705移动到目标位置116。输送带110  可例如在位于起始位置114处的包裹 (即,目标物体112)未由搬运单  元104收集到超过指定持续时间的情况下自动地停止,或者 在一些实  施方案中,可由机器人系统100停止或减速。在一些实施方案中,机  器人系统100 可实施用于通过生成控制(例如,开始、停止或调整)输  送带110的速度的指令来调节输送 带110的速度的计划。 图10是根据多种实施方案的用于将包裹从存储区域放置在任务  位置上的过程 1000的流程图。在一些实施方案中,过程1000可在图  1和图7的环境中,并且作为图9的框 910的一部分实施。过程1000 可在图9的框907处的码垛触发项的确定发生之后开始。 在框1001处,机器人系统100可访问模拟堆叠计划以根据模拟  堆叠计划确定可用 包裹362的放置次序,诸如按顺序下一个用于放置  在任务位置116上的可用包裹362的实 例。例如,机器人系统100可  根据已实现框906中所生成的均匀打包层的模拟堆叠计划或作 为图9 的框909中所生成的剩余包裹计划(其可包括堆叠顺序ID)的模拟堆  叠计划来确定 可用包裹362中的每一个的放置次序。 在框1002处,机器人系统100可实施用于从存储区域705取出  被标识用于放置到 任务位置116(例如,平台)上的可用包裹362的实  例(即,所标识包裹)的计划。例如,机器人 系统100可生成使搬运单  元104从存储区域705取出所标识包裹的指令。机器人系统100可 使  用存储映射图来确定所标识包裹在存储区域705中的存储位置,并且  分别从存储区域 705取出所标识包裹。 在框1003处,机器人系统100可实施用于根据模拟堆叠计划将  所标识包裹放置在 任务位置116上的计划。例如,机器人系统100可  使搬运单元104从存储区域705取出所标识 包裹并根据堆叠顺序ID  将所标识包裹放置在任务位置116上。 在确定框1004处,机器人系统100可确定在模拟堆叠计划中是  否存在尚未被放置 34 CN 111605938 A 说 明 书 32/32 页 在任务位置116上的更多的可用包裹362。如果存  在将被放置在任务位置116上的更多的可 用包裹362,则过程前进到  框1001,以根据模拟堆叠计划取出按顺序为下一个的可用包裹 362的 实例。如果不存在将被放置在任务位置116上的更多的可用包裹362,  则过程结束。 结论 所公开技术的实例的上文
下载此资料需消耗2积分,
分享到:
收藏