CN115284287A - 基于深度强化学习的机械臂装箱与倒库协同方法及*** - Google Patents
基于深度强化学习的机械臂装箱与倒库协同方法及*** Download PDFInfo
- Publication number
- CN115284287A CN115284287A CN202210949670.2A CN202210949670A CN115284287A CN 115284287 A CN115284287 A CN 115284287A CN 202210949670 A CN202210949670 A CN 202210949670A CN 115284287 A CN115284287 A CN 115284287A
- Authority
- CN
- China
- Prior art keywords
- boxing
- action
- dumping
- library
- product box
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J18/00—Arms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
Abstract
本发明提供了基于深度强化学习的机械臂装箱与倒库协同方法及***,属于物流自动化技术领域;本发明通过装箱与倒库网络(PUN)来学习装箱动作和倒库动作间的协同作用,提高了装箱精度和效率;本发明基于人类经验提出装箱启发式和倒库启发式,并将其结合到PUN中,进一步提高了装箱精度和效率。
Description
技术领域
本发明涉及物流自动化技术领域,特别涉及一种基于深度强化学习的机械 臂装箱与倒库协同方法及***。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术,并不必然构成现有 技术。
随着电子商务和快递行业的飞速发展,建立智能化的仓储物流***成为了 一个新兴的研究热点。在典型的物流装箱场景中,装箱工人从传送带上一件一 件的挑选物品,然后将其打包至不同的产品箱中建立产品订单,同时要充分利 用每个产品箱内的空间,尽可能的减少产品箱内的体积浪费。为了解决这一任 务,大多数研究人员将其表述为在线三维装箱问题(3D-BPP),并提出了许多 装箱算法。该问题旨在仅观察当前要装箱的物品的情况下,将一组物品装入尽 可能少的三维箱子中。3D-BPP作为一个经典的NP-hard组合优化问题,在一次 只能获取一个物体信息的情况下,找到最优的装箱策略十分不容易。
早期的解决方法主要是启发式装箱算法,这种算法本质上是将人类工人的 装箱经验建模为规则作为装箱策略,虽然这是解决装箱任务的一种直观方式, 通常可以保持良好的工作效率,但建模出的经验规则并不具有普适性,在没有 学习过程的情况下,启发式算法不太可能在各种场景中都找到最佳装箱策略。 受深度强化学习(DRL)最新进展的启发,研究人员试图通过DRL来解决装箱 问题,他们将该问题定义为一个马尔可夫决策过程,通过与环境的不断交互试 错获得奖励来学习最优的装箱策略。相对于传统的启发式算法,基于深度强化 学习的装箱算法能够学习到更加优化的装箱策略,同时算法的鲁棒性和泛化性 也更好。
尽管现有的装箱算法取得了一些不错的进展,但是他们都只关注于如何将 当前观察的物品放的更好,却忽略了一个至关重要的人类倒库经验。所谓倒库, 就是在当产品箱中没有合适的位置放置当前物品时,通过移走产品箱内的一些 摆放不合适的物品来空出更多的空间放置当前物品。在一次只能观测一个待装 箱的物品信息的情况下,这种倒库方式对于装箱问题十分重要。
现有的解决3D-BPP的算法主要分为两类:启发式算法和基于深度强化学习 的算法。
启发式算法专注于将一组立方体物体以尽可能高的空间利用率装进一个有 限的三维空间中(例如一个运输箱),这是一个典型的NP-hard组合优化问题, 在线3D-BPP问题假设只有当前待装箱的物体信息是可以获取的,而其他的物体 信息是未知的,早期的工作主要是设计不同的启发式算法,例如禁忌搜索算法、 首次适应算法和极值点摆放算法;启发式算法本质上是对人类工作者的真实装 箱经验的提炼,对于不同的装箱场景来说并不都是完美的。
基于深度强化学习的算法已经被证明可以有效的解决组合优化问题;因此, 一些研究人员开始尝试使用DRL来解决3D-BPP;例如,Verma等人开发了一 种DRL算法用于解决针对不同尺寸和数量的箱子的三维装箱问题;Zhao等人将 3D-BPP表述为一个受约束的马尔可夫决策过程,他们提出一个带约束的DRL 框架来解决装箱问题并在仿真环境中演示了先进的装箱性能;Yang等人还尝试 将启发式算法与DRL结合来学习更加优化的装箱策略。
但是,然而相比于真正的人类工作者,现有的算法仍有很多缺陷,如果在 产品箱中找不到合适的位置放置当前物体,人类工作者可以进行倒库从产品箱 中拿出一些物体,从而空出更多的位置放置当前物体,而这是现有的人工智能 算法所无法完成的。
发明内容
为了解决现有技术的不足,本发明提供了一种基于深度强化学习的机械臂 装箱与倒库协同方法及***,通过装箱与倒库网络(PUN)来学习装箱动作和 倒库动作间的协同作用,提高了装箱精度和效率;基于人类经验提出装箱启发 式和倒库启发式,并将其结合到PUN中,进一步提高了装箱精度和效率。
为了实现上述目的,本发明采用如下技术方案:
本发明第一方面提供了一种基于深度强化学习的机械臂装箱与倒库协同方 法。
一种基于深度强化学习的机械臂装箱与倒库协同方法,包括以下过程:
获取产品箱高度图和物体尺寸映射图;
对产品箱高度图和物体尺寸映射图进行特征提取;
根据提取的特征,基于装箱行动者网络得到在高度图上所有位置执行装箱 动作的概率分布,基于倒库行动者网络得到在高度图上所有位置执行倒库动作 的概率分布;
根据提取的特征,基于装箱评论者网络得到装箱预测状态值,基于倒库评 论者网络得到倒库预测状态值;
根据产品箱高度图和物体尺寸映射图,装箱掩码预测器基于启发式规则得 到装箱掩码,倒库掩码预测器基于启发式规则得到倒库掩码;
装箱掩码对装箱动作的概率分布进行调制得到装箱位置,倒库掩码对倒库 动作的概率分布进行调制得到倒库位置,以装箱预测状态值和倒库预测状态值 的最大值为最终动作类型以进行装箱或者倒库动作。
作为可选的一种实现方式,对于尺寸为ln×wn×hn的待装箱物体n,表征为一 个L×W×3的三通道尺寸映射图,所述尺寸映射图的三个通道分别被赋值为 ln,wn,hn。
作为可选的一种实现方式,装箱动作和倒库动作中,每个动作被参数化为 一个在位置p处执行的基本动作,该位置p对应于产品箱的高度图表征中的一个 单元格。
进一步的,装箱动作,包括:将物体放置在单元格上,物体放置位置的左 前角坐标与单元格的坐标对应一致,使用一个2D坐标(xn,yn)来表示单元格的位 置坐标,动作(packing,(xn,yn))表示将物体n放置在高度图的位置(xn,yn)处。
进一步的,倒库动作,包括:p表示将物体从单元格上移走,该物***于产 品箱中且左前角坐标与单元格坐标相同,设置一个临时物体暂存区来储存最多B 个被倒库移出的物体,动作(unpacking,(xm,ym))表示从高度图的位置(xm,ym)处移走 物体n,并将其放置在临时物体暂存区中。
作为可选的一种实现方式,对于在时间步t下的待装箱物体,得到预测执行 的基本动作和位置,待装箱物体来自传送带或者物体暂存区;
如果预测了装箱动作,从传送带或者物体暂存区上抓取待装箱物体并将其 放置在产品箱内的目标位置p处,然后进入时间步t+1选择下一个待装箱物体;
如果预测了倒库动作,从产品箱内的目标位置p处吸取物体m,并将其放置 在物体暂存区以临时储存,在下一个时间步t+1下,继续物体n作为当前待装箱 物体来预测装箱或者倒库动作,直到将其放置到产品箱中;
在放置完物体n后,物体暂存区的物体m将被作为待装箱物体来预测下一个 时间步下的动作,如果物体暂存区中有多个物体,根据物体被倒库进暂存区的 顺序选择待装箱的物体,只有在清空物体暂存区的所有物体后,才能从传送带 上选择下一个待装箱的物体。
作为可选的一种实现方式,对装箱行动者网络和倒库行动者网络,将动作 约束视为重新标准化的概率分布πp(at,st):
作为可选的一种实现方式,装箱任务奖励函数为:Rr(st,a,st+1)=rv-α×rw;
其中,rv为体积利用率,rw为空间浪费率,体积利用率rv为产品箱中所有物 体的体积和与产品箱总体积的比值,空间浪费率rw为产品箱内的浪费空间与产品 箱总体积的比值。
本发明第二方面提供了一种基于深度强化学习的机械臂装箱与倒库协同系 统。
一种基于深度强化学习的机械臂装箱与倒库协同***,包括:
数据获取模块,被配置为:获取产品箱高度图和物体尺寸映射图;
特征提取模块,被配置为:对产品箱高度图和物体尺寸映射图进行特征提 取;
概率分布生成模块,被配置为:根据提取的特征,基于装箱行动者网络得 到在高度图上所有位置执行装箱动作的概率分布,基于倒库行动者网络得到在 高度图上所有位置执行倒库动作的概率分布;
状态值生成模块,被配置为:根据提取的特征,基于装箱评论者网络得到 装箱预测状态值,基于倒库评论者网络得到倒库预测状态值;
掩码生成模块,被配置为:根据产品箱高度图和物体尺寸映射图,装箱掩 码预测器基于启发式规则得到装箱掩码,倒库掩码预测器基于启发式规则得到 倒库掩码;
动作协同模块,被配置为:装箱掩码对装箱动作的概率分布进行调制得到 装箱位置,倒库掩码对倒库动作的概率分布进行调制得到倒库位置,以装箱预 测状态值和倒库预测状态值的最大值为最终动作类型以进行装箱或者倒库动 作。
本发明第三方面提供了一种计算机可读存储介质,其上存储有程序,该程 序被处理器执行时实现如本发明第一方面所述的基于深度强化学习的机械臂装 箱与倒库协同方法中的步骤。
本发明第四方面提供了一种电子设备,包括存储器、处理器及存储在存储 器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明第 一方面所述的基于深度强化学习的机械臂装箱与倒库协同方法中的步骤。
与现有技术相比,本发明的有益效果是:
1、本发明所述的基于深度强化学习的机械臂装箱与倒库协同方法及***, 将倒库机制引入到装箱问题中,通过移出摆放不合适的物体并将其重新在产品 箱中放置,极大的提高了产品箱最终的空间利用率。
2、本发明所述的基于深度强化学习的机械臂装箱与倒库协同方法及***, 基于深度强化学习提出了一个装箱倒库协同网络(PUN),PUN为两分支的架 构,分别产生装箱和倒库动作对应的状态值以及每个动作的执行位置,PUN根 据状态值确定执行装箱还是倒库动作,整个装箱与倒库动作的协同过程在一个 DRL框架下学习,提高了协同控制的精度和效率。
3、本发明所述的基于深度强化学习的机械臂装箱与倒库协同方法及***, 设计了装箱启发式和倒库启发式,并将它们结合到DRL框架中用于指导网络的 学习,进一步的提高了协同控制的精度和效率。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述 中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明实施例1提供的装箱与倒库动作协同的示意图。
图2为本发明实施例1提供的PUN网络结构示意图。
图3为本发明实施例1提供的装箱与倒库协同过程的示例示意图。
图4为本发明实施例1提供的空间浪费的示例示意图。
图5为本发明实施例1提供的机器人装箱***示意图。
图6为本发明实施例1提供的不同装箱算法的可视化效果图。
图7为本发明实施例1提供的PUN变体的学习曲线。
图8为本发明实施例1提供的真实场景装箱演示的效果图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。 除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的 普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图 限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确 指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说 明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器 件、组件和/或它们的组合。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例1:
本发明实施例1提供了一种基于深度强化学习的机械臂装箱与倒库协同方 法,包括以下过程:
如图1所示,将倒库机制引入到装箱问题中,通过移出摆放不合适的物体并 将其重新在产品箱中放置来提高最终的空间利用率;为了学习装箱与倒库的协 同,本实施例基于深度强化学习提出了一个装箱倒库协同网络,并将其命名为 PUN,具体来说,PUN是一个两分支的架构,分别产生装箱和倒库动作对应的 状态值以及每个动作的执行位置。PUN根据状态值确定执行装箱还是倒库动作, 整个装箱与倒库动作的协同过程在一个DRL框架下学习;同时,本实施例还设 计了装箱启发式和倒库启发式,并将它们结合到DRL框架中用于指导网络的学 习。
在线三维装箱任务中,物品被传送带一个接一个的运送至目标区域,然后 被装箱放置到产品箱中。只有当前待装箱的物体信息是可以观测的,把这个装 箱任务公式化为一个服从状态S、动作A、转移概率函数P和奖励R的马尔可夫 决策过程(MDP);用一个端到端的DRL框架来求解这个MDP,该框架寻求一 个策略π(at|st;θπ)来最大化累计期望奖励的和,表示为:
S1:装箱和倒库协同网络
PUN的网络结构如图2所示,具体细节描述如下:
状态表征:对产品箱和待装箱物体的状态观测进行建模,用来表示环境的 状态s;对于尺寸为p的产品箱,将其在t时刻的状态观测离散化为一个高度图作为产品箱的状态表征;该高度图是一个L×W的离散网格, 每个单元格的值表示该位置放置物体的累积高度;对于尺寸为ln×wn×hn的待装箱 物体n,其状态表征为一个L×W×3的三通道尺寸映射图,该映射图的三个通道 分别被赋值为ln,wn,hn。
动作定义:定义了两类动作:装箱动作和倒库动作,每个动作at被参数化为 一个在位置p处执行的基本动作(装箱或倒库),该位置p对应于产品箱的高度 图表征中的一个单元格c:
at=(ψ,p)|ψ∈{packing,unpacking},p→c∈Ht
使用物体的左-前-底角点坐标作为该物体的位置坐标,对物体执行装箱或者 倒库动作要求物体的左前角坐标与给定坐标对应一致,基本动作ψ定义如下:
(1)装箱(packing):将物体放置在单元格c上,物体放置位置的左前角 坐标与单元格c的坐标对应一致;本实施例使用一个2D坐标(xn,yn)来表示单元格 c的位置坐标。动作(packing,(xn,yn))表示将物体n放置在高度图的位置(xn,yn)处。
(2)倒库(unpacking):p表示将物体从单元格c上移走,该物***于产品 箱中且左前角坐标与单元格c坐标相同。本实施例设置了一个临时物体暂存区来 储存最多B个被倒库移出的物体。动作(unpacking,(xm,ym))表示从高度图的位置 (xm,ym)处移走物体n,并将其放置在临时物体暂存区中。
装箱和倒库动作的协同,如图2所示,PUN是一个两分支的网络结构。它将 产品箱的高度图和物体尺寸的映射图作为输入,然后输出基本动作的类型ψ及其 在高度图上执行的位置p。状态输入由一个共享的特征提取模块编码为特征后, 再分别输入到装箱网络和倒库网络。
装箱和倒库分支分别由三个部分组成:行动者网络、评论者网络和启发式 掩码预测器,两个分支的行动者网络与评论者网络各自组成装箱主网络和倒库 主网络。
行动者网络输出在高度图上所有位置执行基本动作ψ的概率分布,两个评论 者网络分别预测状态值Vp(st)和Vu(st),这两个值分别用于衡量在状态st下采取两 个基本动作所获得的累积奖励。启发式掩码预测器基于启发式规则生成装箱掩 码Mp和倒库掩码Mu,分别预测有效的装箱和倒库位置,行动者网络输出的概率 分布由启发式掩码来调制。
对于当前状态st,PUN输出对应于装箱动作和倒库动作的两个状态值 (Vp(st),Vu(st))和两个概率分布(πp(at,st),πu(at,st));最终的动作at由基本动作ψ和执 行位置p组成。最高状态值对应的动作为最终的基本动作ψ,这意味着DRL智能 体执行该动作理论上将会获得最高的奖励;最终的执行位置p将从最终基本动作 对应的概率分布中采样得到。
完整的装箱与倒库协同过程阐述如下,对于在时间步t下的待装箱物体n, PUN预测执行的基本动作ψ和位置p,该物体n可以来自传送带或者物体暂存 区,如果预测了装箱动作,智能体将从传送带(或者物体暂存区)上抓取物体n 并将其放置在产品箱内的目标位置p处,然后进入时间步t+1选择下一个待装箱 物体,如果预测了倒库动作,智能体将从产品箱内的目标位置p处吸取物体m, 并将其放置在物体暂存区以临时储存,在下一个时间步t+1下,智能体将继续物 体n作为当前待装箱物体来预测装箱或者倒库动作,直到将其放置到产品箱中。 在放置完物体n后,物体暂存区的物体m将被作为待装箱物体来预测下一个时间 步下的动作。如果物体暂存区中有多个物体,智能体将根据物体被倒库进暂存 区的顺序(先入先出)来选择待装箱的物体。只有在清空物体暂存区的所有物 体后,智能体才能从传送带上选择下一个待装箱的物体。图3展示了装箱与倒库 协同过程的一个示例。图3中的待装箱物体表示当前时间步下等待装箱的物体, 物体上的序号表示其装箱的顺序。
基于启发式的动作约束:设计了三类启发式规则并将其引入到所提出的网 络框架中,用于指导网络的学习。
第一个是物理启发式,它将导致装箱和倒库失败的动作定义为无效动作, 例如,将物体放置到超出产品箱边界的装箱动作和在没有物体放置的位置执行 的倒库动作;第二个是装箱启发式,它由***下流行的启发式装箱算法组成, 包括极值点摆放算法、剩余最大空间算法、首次适应算法和层式摆放算法;最 后一个是倒库启发式,由于目前用于倒库的启发式算法较少,本实施例设计了 两种倒库规则,对于产品箱内已经放置的物体,将位于顶层且体积小于一定阈 值的物体的位置定义为有效倒库位置。
为了将这三种启发式纳入DRL框架中,设计了两个掩码预测器来生成二进 制可行性掩码M,用于指示有效和无效的动作;只有满足启发式规则的动作才 是有效的。然后本实施例使用可行性掩码来调制装箱和倒库分支的输出;在DRL 框架中,行动者网络输出非标准化的分数l(logits),然后通过softmax层的归 一化操作将其转化为动作概率分布,对于无效的动作,使用一个非常大的负值 -1×10-8来替换其对应的logit,因此softmax层输出的无效动作的概率几乎为0,将 动作约束视为重新标准化的概率分布πp(at,st):
这里N是有效的动作的个数,并且:
奖励函数:为装箱任务设计了一个分步奖励,包含两部分:体积利用率rv和 空间浪费率rw,体积利用率rv定义为产品箱中所有物体的体积和与产品箱总体积 的比值:
空间浪费率rw定义为产品箱内的浪费空间与产品箱总体积的比值,用于衡量 当前状态下无法放置物体的浪费空间的大小。
如图4所示,序号所标的1、2两处虚线长方体为当前状态下的浪费空间。本 实施例所述的奖励设置鼓励执行减少浪费空间的倒库动作。完整的奖励函数定 义为:
Rr(st,a,st+1)=rv-α×rw
其中,α为空间浪费率rw的权重参数。
S2:真实物流场景部署
为了验证所提出算法的在真实场景中的装箱性能,本实施例建立了一个真 实的机器人装箱***来部署在仿真中学习到的策略。
图5展示了机器人装箱***。该***包括三个工作区域:用于运输物体的传 送带、用于存放物体的产品箱和用于临时存放物体的暂存区。装配有吸盘装置 的UR5机械臂用于执行抓取和放置任务。两个Intel RealSense D435i相机分别位于 传送带和产品箱的上方,用于获取这两个区域的RGB-D图像信息,像素分辨率 为1280×720。
由于装箱策略是在仿真环境中训练的,因此需要一种转移策略将其应用到 真实环境中,最关键的是将仿真和真实环境的输入输出进行统一。PUN的状态 表征输入有两个:产品箱高度图和物体尺寸映射图。为了获得产品箱高度图, 本实施例先将相机捕获的图像将进行滤波处理,再使用双线性插值的方法将其 映射到一个离散的正交网格上。映射后得到的网格与所需要的高度图有相同的 分辨率(L×W)。为了获得物体尺寸映射图,本实施例使用背景差分算法对传 送带上的物体图像进行边界检测,并计算物体三维尺寸信息。为了简化计算和 确保装箱过程的安全,物体的三维尺寸采用向上取整的方式转化为离散值,最后再赋值到一个L×W×3的三维映射图中。
S3:实验结果
S3.1:数据集产生
为了训练和测试所提出的网络,本实施例创建了三个装箱数据集,即 DATA-1、DATA-2和DATA-3。为了生成DATA-1,将一个尺寸为Sd的箱子沿着 长、宽、高的方向切割成不同大小的物体,其中d∈{x,y,z}。每个物体的尺寸sd不 超过Sd/2。切割后的物体序列被随机打乱以增加数据的多样性。为了生成 DATA-2和DATA-3,首先预定义64中不同尺寸的物体,然后将大小为Sd的箱子 切割成若干预定义尺寸的物体。然后根据设定的规则对切割后的物体序列进行 排序。统计发现,DATA-2和DATA-3中包含的物体数量少于DATA-1,相应的物体的平均体积大,这将会影响算法在这三个数据集上的装箱表现。
S2:装箱性能对比实验
将所提出的算法与10种基线算法进行了比较,这些算法可以分为两组。第 一组包括1种随机装箱策略和6种启发式装箱算法,第二组包括3种最先进的基于 DRL的装箱算法。对于基于DRL的算法,当产品箱中没有足够的空间放置当前 物体时,智能体将停止当前回合的装箱而进入新的回合。由于现有方案提出的 算法有不同的变体,本实施例选择性能最好的以一个作为基线。
本实施例使用3个指标来评价装箱性能。空间利用率定义为产品箱中所有物 体的体积与产品箱总体积的比值。装箱数量定义为产品箱所装物体的平均个数。 标准差定义为空间利用率指标的标准差。实验结果如表1所示,结果表明本实施 例的算法在所有评价指标上都由于基线算法。这说明相比于其他算法,本实施 例的算法能更充分的利用产品箱内的空间并且鲁棒性更高。此外,由于三个数 据集中物体大小和数量的不同,所用到的装箱算法在DATA-1上的性能要优于 DATA-2和DATA-3。
表1不同算法装箱性能比较
本实施例还可视化了PUN和两种基线算法的装箱结果,来定性比较其装箱 性能。该定性实验中从DATA-1中随机选择了6个物体序列,每次测试时所有算 法使用相同的物体序列。可视化结果如图6所示,其中每个子图旁边的值代表该 算法的空间利用率。结果表明,本实施例的算法取得了更好的装箱表现,装箱 利用率更高。
S3.3消融实验
为了证明PUN的设计选择的有效性,本实施例为其设计创建了3个变体,并 进行了一系列消融研究。第一个是单装箱网络变体,对于该变体只保留PUN的 装箱分支并重新训练。第二个是随机倒库变体,该变体在装箱分支的基础上加 入倒库,但倒库部分被设计为一个基于随机规则的倒库模块,具体规则是在产 品箱内没有足够的空间放置物体后随机选择箱内物体进行倒库。第三个是无动 作约束变体,改变体是将PUN的启发式动作约束部分移除后的简化版本,但仍 是通过DRL来学习装箱与倒库的协同。
本实施例在DATA-1上进行了消融实验并绘制了学习曲线,结果如图7所示。 首先,PUN在空间利用率和装箱数量两个装箱评价指标上都优于其他三个变体, 证明了所提出的网络设计的有效性。其次,与不带倒库动作的变体(单装箱网 络变体)相比,带倒库动作的变体(PUN、无动作约束变体、随机倒库变体) 空间利用率和装箱物体个数都更高。这个结果表明倒库动作的加入有效提高了 装箱性能,从而证明本实施例所提出的为三维装箱任务引入倒库机制的有效性。 第三,对于带倒库动作的三个变体,基于学习的变体(PUN、无动作约束变体) 性能要优于基于随机规则的变体(随机倒库变体)。这证明了本实施例提出使用DRL框架来学习装箱与倒库间的协同的有效性。最后,PUN的装箱性能优于 无动作约束变体,证明了基于启发式规则的动作约束为PUN的训练提供了有用 的指导,并提高了装箱性能。
为了探究不同奖励函数设置对装箱效果的影响,本实施例又另外设计了3种 奖励函数,并在DATA-1上与本实施例所述的算法所使用的奖励函数进行了对 比。第一个是恒定值奖励。在装箱的每一个时间步下,如果成功执行装箱操作 则获得值为1的定值奖励,如果成功执行倒库动作则获得值为0.5的定值奖励,如 果动作执行失败则奖励为0。第二个是最终利用率奖励。对于每一次装箱过程, 记录最后一个时间步的装箱空间利用率,并将其作为每一个时间步的奖励。最 后一个是装箱数量奖励,将每个时间步下产品箱内所装物体的个数作为该时间 步的奖励。实验结果如表2所示,本实施例使用的奖励函数在空间利用率和装箱 数量上都优于其他三种奖励设置,这证明了所提出奖励函数的有效性。
表2不同奖励函数的比较
本实施例在DATA-1上对暂存区的物体数量上限进行了实验,以探究不同暂 存区容量B的影响。对于该实验,每次装箱过程的结束条件是缓存区的物体数量 超过暂存区容量上限,或者产品箱内没有合适的位置用于执行倒库或者装箱操 作。实验结果如表3所示,结果表明较大的暂存区容量B会导致更高的装箱表现。 但当容量上限超过12之后,本实施例算法的性能提升不再显著。
表3不同暂存区容量上限的比较
S3.4:真实场景装箱演示
本实施例在真实的物理场景种演示了所提出的算法,机械臂利用学到的装 箱与倒库间的协同,将物体从传送带装进产品箱中。此部分共包括三个测试实 验。前两个实验演示了两类不同物品(快递盒、商品盒)的在线装箱过程。第 三个实验本实施例在机械臂装箱的中途加入干扰,人为的随机摆放了若干物品, 然后机械臂从这个场景下继续装箱。图8展示了本实施例算法在这三个实验下的 测示结果。可以看出,不同的物体都被以较高的空间利用率装进产品箱中。在 补充视频中可以找到完整的装箱过程,这表明本实施例的算法可靠地完成了不 同真实物流场景下的在线三维装箱任务。
本发明为三维装箱问题引入倒库机制,在此基础上,本实施例提出了装箱 与倒库网络(PUN)来学习装箱动作和倒库动作间的协同作用;本实施例还基 于人类经验提出装箱启发式和倒库启发式,并将其结合到PUN中来进一步提高 装箱性能;在此基础上,本实施例设计了一个真实世界的机器人装箱***来部 署学习到的策略,仿真和真实实验的结果都证明了本实施例所述方法的有效性。
实施例2:
本发明实施例2提供了一种基于深度强化学习的机械臂装箱与倒库协同系 统,包括:
数据获取模块,被配置为:获取产品箱高度图和物体尺寸映射图;
特征提取模块,被配置为:对产品箱高度图和物体尺寸映射图进行特征提 取;
概率分布生成模块,被配置为:根据提取的特征,基于装箱行动者网络得 到在高度图上所有位置执行装箱动作的概率分布,基于倒库行动者网络得到在 高度图上所有位置执行倒库动作的概率分布;
状态值生成模块,被配置为:根据提取的特征,基于装箱评论者网络得到 装箱预测状态值,基于倒库评论者网络得到倒库预测状态值;
掩码生成模块,被配置为:根据产品箱高度图和物体尺寸映射图,装箱掩 码预测器基于启发式规则得到装箱掩码,倒库掩码预测器基于启发式规则得到 倒库掩码;
动作协同模块,被配置为:装箱掩码对装箱动作的概率分布进行调制得到 装箱位置,倒库掩码对倒库动作的概率分布进行调制得到倒库位置,以装箱预 测状态值和倒库预测状态值的最大值为最终动作类型以进行装箱或者倒库动 作。
所述***的工作方法与实施例1提供的基于深度强化学习的机械臂装箱与 倒库协同方法相同,这里不再赘述。
实施例3:
本发明实施例3提供了一种计算机可读存储介质,其上存储有程序,该程序 被处理器执行时实现如本发明实施例1所述的基于深度强化学习的机械臂装箱 与倒库协同方法中的步骤。
实施例4:
本发明实施例4提供了一种电子设备,包括存储器、处理器及存储在存储器 上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明实施 例1所述的基于深度强化学习的机械臂装箱与倒库协同方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计 算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和 硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算 机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储 器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产 品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或 方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结 合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或 其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可 编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个 流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备 以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的 指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流 程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使 得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处 理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个 流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算 机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。 其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领 域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则 之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之 内。
Claims (10)
1.一种基于深度强化学习的机械臂装箱与倒库协同方法,其特征在于:
包括以下过程:
获取产品箱高度图和物体尺寸映射图;
对产品箱高度图和物体尺寸映射图进行特征提取;
根据提取的特征,基于装箱行动者网络得到在高度图上所有位置执行装箱动作的概率分布,基于倒库行动者网络得到在高度图上所有位置执行倒库动作的概率分布;
根据提取的特征,基于装箱评论者网络得到装箱预测状态值,基于倒库评论者网络得到倒库预测状态值;
根据产品箱高度图和物体尺寸映射图,装箱掩码预测器基于启发式规则得到装箱掩码,倒库掩码预测器基于启发式规则得到倒库掩码;
装箱掩码对装箱动作的概率分布进行调制得到装箱位置,倒库掩码对倒库动作的概率分布进行调制得到倒库位置,以装箱预测状态值和倒库预测状态值的最大值为最终动作类型以进行装箱或者倒库动作。
3.如权利要求1所述的基于深度强化学习的机械臂装箱与倒库协同方法,其特征在于:
装箱动作和倒库动作中,每个动作被参数化为一个在位置p处执行的基本动作,该位置p对应于产品箱的高度图表征中的一个单元格。
4.如权利要求3所述的基于深度强化学习的机械臂装箱与倒库协同方法,其特征在于:
装箱动作,包括:将物体放置在单元格上,物体放置位置的左前角坐标与单元格的坐标对应一致,使用一个2D坐标(xn,yn)来表示单元格的位置坐标,动作(packing,(xn,yn))表示将物体n放置在高度图的位置(xn,yn)处;
或者,
倒库动作,包括:p表示将物体从单元格上移走,该物***于产品箱中且左前角坐标与单元格坐标相同,设置一个临时物体暂存区来储存最多B个被倒库移出的物体,动作(unpacking,(xm,ym))表示从高度图的位置(xm,ym)处移走物体n,并将其放置在临时物体暂存区中。
5.如权利要求1所述的基于深度强化学习的机械臂装箱与倒库协同方法,其特征在于:
对于在时间步t下的待装箱物体,得到预测执行的基本动作和位置,待装箱物体来自传送带或者物体暂存区;
如果预测了装箱动作,从传送带或者物体暂存区上抓取待装箱物体并将其放置在产品箱内的目标位置p处,然后进入时间步t+1选择下一个待装箱物体;
如果预测了倒库动作,从产品箱内的目标位置p处吸取物体m,并将其放置在物体暂存区以临时储存,在下一个时间步t+1下,继续物体n作为当前待装箱物体来预测装箱或者倒库动作,直到将其放置到产品箱中;
在放置完物体n后,物体暂存区的物体m将被作为待装箱物体来预测下一个时间步下的动作,如果物体暂存区中有多个物体,根据物体被倒库进暂存区的顺序选择待装箱的物体,只有在清空物体暂存区的所有物体后,才能从传送带上选择下一个待装箱的物体。
7.如权利要求1所述的基于深度强化学习的机械臂装箱与倒库协同方法,其特征在于:
装箱任务奖励函数为:Rr(st,a,st+1)=rv-α×rw;
其中,α为空间浪费率rw的权重参数,rv为体积利用率,rw为空间浪费率,体积利用率rv为产品箱中所有物体的体积和与产品箱总体积的比值,空间浪费率rw为产品箱内的浪费空间与产品箱总体积的比值。
8.一种基于深度强化学习的机械臂装箱与倒库协同***,其特征在于:
包括:
数据获取模块,被配置为:获取产品箱高度图和物体尺寸映射图;
特征提取模块,被配置为:对产品箱高度图和物体尺寸映射图进行特征提取;
概率分布生成模块,被配置为:根据提取的特征,基于装箱行动者网络得到在高度图上所有位置执行装箱动作的概率分布,基于倒库行动者网络得到在高度图上所有位置执行倒库动作的概率分布;
状态值生成模块,被配置为:根据提取的特征,基于装箱评论者网络得到装箱预测状态值,基于倒库评论者网络得到倒库预测状态值;
掩码生成模块,被配置为:根据产品箱高度图和物体尺寸映射图,装箱掩码预测器基于启发式规则得到装箱掩码,倒库掩码预测器基于启发式规则得到倒库掩码;
动作协同模块,被配置为:装箱掩码对装箱动作的概率分布进行调制得到装箱位置,倒库掩码对倒库动作的概率分布进行调制得到倒库位置,以装箱预测状态值和倒库预测状态值的最大值为最终动作类型以进行装箱或者倒库动作。
9.一种计算机可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的基于深度强化学习的机械臂装箱与倒库协同方法中的步骤。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述的基于深度强化学习的机械臂装箱与倒库协同方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210949670.2A CN115284287A (zh) | 2022-08-09 | 2022-08-09 | 基于深度强化学习的机械臂装箱与倒库协同方法及*** |
PCT/CN2022/125985 WO2024031831A1 (zh) | 2022-08-09 | 2022-10-18 | 基于深度强化学习的机械臂装箱与倒库协同方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210949670.2A CN115284287A (zh) | 2022-08-09 | 2022-08-09 | 基于深度强化学习的机械臂装箱与倒库协同方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115284287A true CN115284287A (zh) | 2022-11-04 |
Family
ID=83828443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210949670.2A Pending CN115284287A (zh) | 2022-08-09 | 2022-08-09 | 基于深度强化学习的机械臂装箱与倒库协同方法及*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115284287A (zh) |
WO (1) | WO2024031831A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11833681B2 (en) * | 2018-08-24 | 2023-12-05 | Nvidia Corporation | Robotic control system |
CN111331607B (zh) * | 2020-04-03 | 2021-04-23 | 山东大学 | 一种基于机械臂的自主抓取与码垛方法及*** |
CN113664825B (zh) * | 2021-07-19 | 2022-11-25 | 清华大学深圳国际研究生院 | 一种基于强化学习的堆叠场景机械臂抓取方法与装置 |
CN113592855B (zh) * | 2021-08-19 | 2024-02-13 | 山东大学 | 基于启发式深度强化学习的自主抓取与装箱方法及*** |
CN114800512A (zh) * | 2022-05-10 | 2022-07-29 | 上海交通大学 | 一种基于深度强化学习的机器人推拨装箱方法及*** |
-
2022
- 2022-08-09 CN CN202210949670.2A patent/CN115284287A/zh active Pending
- 2022-10-18 WO PCT/CN2022/125985 patent/WO2024031831A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024031831A1 (zh) | 2024-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hartmann | A general framework for scheduling equipment and manpower at container terminals | |
Lee et al. | A heuristic for retrieving containers from a yard | |
Caserta et al. | Applying the corridor method to a blocks relocation problem | |
Lau et al. | Integrated scheduling of handling equipment at automated container terminals | |
CN110653169B (zh) | 一种垃圾处理方法、装置及终端设备 | |
CN113592855B (zh) | 基于启发式深度强化学习的自主抓取与装箱方法及*** | |
Lee et al. | Comparison and evaluation of various cycle-time models for yard cranes in container terminals | |
Hauge et al. | A hybrid column generation approach for an industrial waste collection routing problem | |
CN110363380B (zh) | 一种集装箱堆场双场桥动态协同调度方法 | |
CN110599000B (zh) | 自动化码头翻箱评估方法、箱位分配方法及相关装置 | |
CN108932366B (zh) | 煤炭码头卸车生产仿真智能调度方法及*** | |
Osaba et al. | AMCPA: A population metaheuristic with adaptive crossover probability and multi-crossover mechanism for solving combinatorial optimization problems | |
CN113408988A (zh) | 仓储***的调度优化方法、电子设备及存储介质 | |
CN115140657A (zh) | 一种多天车调度与防撞方法及*** | |
CN116341243A (zh) | 物品装载方法、电子设备及存储介质 | |
Hirashima et al. | A Q-learning for group-based plan of container transfer scheduling | |
CN115284287A (zh) | 基于深度强化学习的机械臂装箱与倒库协同方法及*** | |
Xiong et al. | Towards reliable robot packing system based on deep reinforcement learning | |
CN110203708B (zh) | 一种不完全提箱信息下的集装箱堆场翻箱落位优选方法 | |
Song et al. | Towards online 3d bin packing: Learning synergies between packing and unpacking via drl | |
US20230305574A1 (en) | Detecting empty workspaces for robotic material handling | |
Hirashima et al. | A new reinforcement learning for group-based marshaling plan considering desired layout of containers in port terminals | |
Bent et al. | A two-stage hybrid algorithm for pickup and delivery vehicle routing problems with time windows | |
Lin et al. | A TABU SEARCH ALGORITHM TO MINIMIZE TOTAL WEIGHTED TARDINESS FOR THE JOB SHOP SCHEDULING PROBLEM. | |
CN114800512A (zh) | 一种基于深度强化学习的机器人推拨装箱方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |