互联网资讯 / 人工智能 · 2023年11月26日 0

强化学习与三维视觉结合提升码垛机器人效能

国防科技大学、克莱姆森大学与视比特机器人的研究团队联合开发了一种基于深度强化学习的在线装箱解决方案,其性能显著优于传统启发式算法。用户研究表明,该算法的表现达到了甚至超越了人类的在线码垛水平。研究团队还将这一训练模型成功应用于工业机器人,推出了业界首个能够高效处理无序混合码垛的机器人,具备连续码放50个以上随机尺寸箱子的能力,空间利用率超过70%。

在物流仓储领域,无序混合纸箱的码垛机器人存在广泛的应用需求。面对杂乱到达且尺寸各异的箱子,如何通过机器人实现自动化、高效的码垛,同时节省人力并提升物流周转效率,成为物流自动化的一大挑战。其关键在于解决经典的装箱问题(Bin Packing Problem,BPP),该问题旨在为每个纸箱分配合适的容器位置,以最大化空间利用率。传统的BPP解决方法多依赖于启发式规则进行搜索。

在实际应用中,机器人无法提前获知传送带上即将到来的所有箱子,因此无法进行全局最优规划。这使得现有的BPP方法难以直接适用于真实的物流环境。

实际上,人类能够根据即将到来的几个箱子的尺寸和形状迅速做出决策,而无需对整个箱子序列进行全局规划。这种仅能观察部分箱子序列的装箱问题被称为在线装箱问题(Online BPP)。边缘的箱子码垛任务通常可以被视为Online BPP问题,因此解决该问题对开发实用的智能码垛机器人至关重要。

在Online BPP问题中,机器人只能观察到即将到来的k个箱子的尺寸信息,这被称为BPP-k问题。对于按序到达的箱子,机器人必须立即进行规划与摆放,且不允许调整已放置的箱子。同时,需满足避障及放置稳定性的要求,最终目标是实现容器空间的最大化利用。Online BPP问题的复杂性由箱子规格、容器大小、箱子序列的分布情况及前瞻数量等多种因素共同决定。由于仅掌握部分箱子序列的信息,以往的组合优化方法难以有效解决该问题。

最近,国防科技大学、克莱姆森大学与视比特机器人的研究团队提出了一种运用深度强化学习来解决该问题的方案。该算法表现卓越,简便易用,适用于任意前瞻箱子的情况,空间利用率甚至达到了人类水平。同时,团队结合3D视觉技术,成功推出了业界首个高效的无序混合码垛机器人。相关论文已被人工智能顶会AAAI 2021接收。

方法介绍

作者们采用带约束的深度强化学习解决BPP-1问题,即只能前瞻一个箱子的情况。随后,基于蒙特卡洛树搜索的方法将其扩展至BPP-k问题。下图1展示了BPP-1与BPP-k问题的场景示意。

基于带约束强化学习的BPP-1求解

强化学习是一种通过自主试验及从经验中学习策略的算法,特别适合于解决动态变化的在线BPP序列决策问题。同时,堆箱过程的模拟相对“廉价”,因此强化学习算法可以在模拟环境中进行大量实验并学习有效的码垛策略。

然而,将强化学习算法应用于Online BPP时面临多个挑战:首先,如果将水平放置面划分为均匀网格,BPP的动作空间将非常庞大,而样本效率低下的强化学习算法在处理大动作空间时表现欠佳;此外,如何使强化学习算法更稳健、高效地学习箱子放置过程中的物理约束(如避免碰撞、确保稳定性等)也是一个需要设计的难题。

为了提高算法的学习效率并确保码放的物理可行性和稳定性,作者在Actor-Critic框架中引入了一种“预测-投影”的动作监督机制。该方法在训练Actor的策略网络和Critic的Q值(未来奖励的期望)网络的同时,使智能体“预测”当前状态下的可行动作空间。在训练过程中,依据预测得到的可行掩码将探索动作“投影”到可行动作空间内,从而进行动作采样。这种有监督的可行性预测方法不仅能加速强化学习算法对物理约束的学习,还能尽量避免训练中因箱子放置到不可行位置而导致的序列提前终止,从而显著提升训练效率。

基于蒙特卡洛树搜索的BPP-k扩展

如果算法能在放置当前箱子的同时考虑后续到来的箱子尺寸,将可能获得更优的放置效果。对于前瞻k(k>1)个箱子的情况,直接学习前瞻多个箱子的放置策略往往难以泛化至任意的前瞻箱子数量。为不同的k单独训练策略显然不是高效的做法。

为此,本文采用的处理方法是基于BPP-1这一基础策略,通过排序树搜索的方式拓展至BPP-k情况。前瞻多个箱子的基本理念是,在放置当前箱子时,为后续箱子“预留”合适的空间,以提高整体的空间利用率。“预留”暗示了对k个前瞻箱子不同排序的考虑。因此,我们只需搜索k个前瞻箱子的不同排序,找出一种空间利用率最高的排序,该序列对应的当前箱子摆放位置即为最佳位置。这种处理方式在放置当前箱子的过程中已经考虑了后续箱子的影响。然而,需要注意的是,在这些虚拟的摆放序列中,实际顺序中先到的箱子不能放置在后到的箱子之上。

显然,考虑所有排序可能会迅速引发组合爆炸问题。为此,作者采用了蒙特卡洛树搜索(MCTS)以减少搜索空间。作者基于Critic网络输出的Q值对当前状态后可能得到的奖励进行评估。在排序树搜索过程中,优先选择可能获得更高奖励的节点进行展开,从而将搜索复杂度控制在一个线性级别。

此外,作者还探讨了处理箱子水平旋转和多容器码放的扩展情况。如果在码放过程中允许箱子进行水平旋转,只需将BPP-1模型中的动作空间和可行掩码同时复制,分别处理两种朝向。针对多容器码放,算法需量化箱子放入每个容器所带来的Q值变化:作者通过Critic网络评估箱子放入某个容器前后的Q值,每次选择将箱子放入Q值下降最小的容器。

实验结果

在BPP-1问题上,作者将本文方法与其他启发式算法进行了对比。在三种不同数据集上,基于深度强化学习算法的性能显著优于人工设计的启发式规则。

同样在BPP-1问题上,作者进行了消融实验,检验不同约束项对性能的影响:MP – 可行掩码预测;MC – 可行掩码投影;FE – 动作熵(多样性)最大化。实验结果表明,在训练过程中加入可行动作约束显著提升了训练效果。

在BPP-k问题中,作者验证了排序树搜索能够随着前瞻数量k的增加提升空间利用率,而使用蒙特卡洛树搜索则可以在不明显影响性能的前提下显著降低排序树搜索的时间开销。此外,作者对BPP-1进行了用户研究,比较了本文BPP-1算法与人工放置的空间利用率。

对于不同的前瞻箱子数,本文方法与启发式算法BPH的性能对比情况如图8所示。尽管BPH算法允许对前瞻箱子的顺序进行任意调整,而本文方法则不允许,但本文方法仍表现出更优的性能。

为验证算法的有效性,作者团队已将模型部署在工业机器人上,成功实现智能码垛机器人。该机器人将仿真环境训练的策略应用于真实环境,涉及从虚拟到真实环境的策略迁移(SiM2Real)问题。为此,作者基于“Real2SiM”的思路,使用3D视觉算法实时检测容器上箱子的实际摆放情况,并将其转换为与虚拟世界对应的理想箱子表示,作为强化学习模型的输入。该机器人能够连续、稳定、快速地码放数十个随机尺寸的箱子,容器空间利用率超过70%,性能远超现有同类机器人。

[[[IMG_1]]]

[[[IMG_2]]]

[[[IMG_3]]]

[[[IMG_4]]]