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

一种基于强化学习和动态搜索的自动化装箱方法与流程

2022-05-31 23:26:29 来源:中国专利 TAG:


1.本发明涉及自动化包装和物流仓储应用领域,具体涉及一种基于强化学习和动态搜索的自动化装箱方法。


背景技术:

2.三维装箱是指在满足容积限制、外形几何限制和稳定性限制等条件的情况下,把一定数量体积较小的物品放入具有较大容量的一个或多个箱子,达到所用箱子数量最少、空间利用率最高、稳定性最好、装载价值和容重比最高的目的。
3.三维装箱广泛存在于运输和包装等行业的物资装载过程中,因此,针对实际应用需求,设计具有较高操作性和装载效率的三维装箱求解算法,对降低物流配送成本、提高经济效益具有重大现实意义。
4.由于自动化在线装箱场景,存在着求解空间巨大、不确定性强、场景逻辑复杂多变等诸多难点,导致传统算法应用于自动化在线装箱场景时,容易出现求解速度慢、优化效率低、算法无法适应货箱和货品多样化等问题,到不到自动化在线装箱的要求。


技术实现要素:

5.针对当前传统算法应用于自动化在线装箱场景存在的难点和不足,本发明结合强化学习能依据环境反馈不断调整自身策略,实现自动化学习的特点,以及动态搜索算法求解速度快、适应能力强的优势,提出了一种基于强化学习和动态搜索的自动化装箱方法。
6.一种基于强化学习和动态搜索的自动化装箱方法,包括步骤:
7.步骤s1,对将要堆放在同一箱体的货品进行统计,记为数量m,并赋予该箱体中的每个货品编号为i,编号i满足下列关系:
8.i∈m
9.i=i 1
10.步骤s2,在货箱中开始进行堆放货品,判断逻辑l1是否成立,
11.具体地,逻辑l1是指货品与货箱的边界碰撞逻辑,计算公式为:
12.x
′i≤l,y
′i≤w,z
′i≤h,i=1,2,3

,n
13.其中,l,w,h分别表示货箱的长,宽,高,i表示当前货品的编号,(xi,yi,zi)为货品放入货箱后的右后下三维坐标,(x
′i,y
′i,z
′i)为货品放入货箱后的左前上三维坐标;
14.进一步地,如果逻辑l1结果为假,则执行下一步骤,否则执行动作d1,
15.具体地,动作d1是指改变货品堆放姿态,即货品堆放时共6种姿态,每次旋转分别以货品的长宽、长高、宽高平面为底,顺时针旋转90度,每旋转一次可以更新一次货品的姿态,并把旋转货品动作ai存入知识库。
16.步骤s3,继续堆放货品,判断逻辑l2是否成立,
17.具体地,逻辑l2是指货品与货品之间的重叠判断逻辑,计算公式为:
[0018][0019][0020]
其中,x
′i,y
′i,z
′i分别表示表示当前货品左前上x轴,y轴,z轴的三维坐标,x

i 1
,y

i 1
,z

i 1
分别表示新放入货品左前上x轴,y轴,z轴的三维坐标,ti表示货品i的接触面积,即货品底部至少有一半面积被支撑,不得悬空堆放。
[0021]
进一步地,如果逻辑l2结果为假,则执行下一步骤,否则执行动作d2,
[0022]
具体地,动作d2是指改变货品的堆放位置,其过程如下:
[0023]
首先,建立一个行李码放状态矩阵g,每次改变货品堆放位置的动作前,都以动态搜索算法来计算出可堆放货品的三维坐标,
[0024]
所述动态搜索算法,是指以最大化利用箱体进行货品装载为目标,通过动态规划算法,达到最大化利用装箱体积的目的,具体步骤为:
[0025]
步骤a1,定义p为以相同的姿态进行叠加堆放后,形成的复合货品层,根据已有p求出v
act

[0026][0027][0028]
其中,v
act
是定义体积和实际体积之差,表示箱体中剩余的堆放空间,表示货品复合堆放层的填充率,为复合货品底面的最小外包矩形对应尺寸,h为叠加后形成的高度;
[0029]
步骤a2,调用动态规划算法,生成新一轮p

,并求出相应的v

act

[0030]
步骤a3,选取v

act
最小的堆放货品位置aj,把堆放货品位置aj对应的三维坐标信息作为更新矩阵g的参数,并把堆放货品位置aj存入知识库,
[0031]
所述知识库存储旋转货品动作ai和堆放货品位置aj,是作为训练数据生成强化学习模型,用于初始化后续的货品堆放动作策略,具体步骤为:
[0032]
步骤b1,设置目标函数作为智能体学习的目标,具体地,以最大化箱体总空间利用率maxf和最小化剩余堆放空间v
act
为目标函数,箱体总空间利用率的计算公式为:
[0033][0034]
其中,li,wi,hi分别表示货品i的长、宽、高,l,w,h分别表示箱体的长,宽高;
[0035]
步骤b2,设置奖励函数用于评估执行动作的结果,计算公式为:
[0036]
r=d ω(maxf,vact)
[0037]
其中,ω为权重系数,表示对两种奖励的重视程度,d表示货品到货箱顶部的距离;
[0038]
步骤b3,采用可迭代计算的q函数,来指导智能体在箱体堆放过程中采取的动作策略,使得智能体在不断的尝试和纠正中,不断逼近目标函数,从而获得最优箱体堆放动作,具体计算公式为:
[0039]
q(s,a)=q(s,a) α[r γmax q(s

,a)-q(s,a)]
[0040]
a=ai aj[0041]
其中,a表示智能体的动作空间,包括旋转货品动作ai和堆放货品位置aj,q(s,a)表示更新参数,α为学习因子,r为奖励函数,γ为折扣因子,表示对未来奖励的重视程度,s'为货品状态s下执行动作a之后的状态;
[0042]
步骤b4,将获取的最优旋转货品动作ai和堆放货品位置aj作为训练数据,训练强化学习模型;
[0043]
接着,查询矩阵g并确认该坐标可执行后,再更新矩阵g中的参数,最后,执行改变货品堆放位置的动作,
[0044]
矩阵g的公式为:
[0045][0046]
其中,(xi,yi,zi)表示编号为i的货品可选堆放位置的坐标。
[0047]
步骤s4,判断是否已放完所有货品,如果判断为真,则货品堆放完成,否则执行步骤s2。
[0048]
本发明提出了一种基于强化学习和动态搜索的自动化装箱方法,与现有的技术相比,具有以下有益效果:
[0049]
本发明通过在箱体堆放过程中,引入动态搜素算法来实时计算可选择的最佳货品堆放位置,在保证箱体空间利用率最高的前提下,实现了快速求解和优化货品堆放动作的目的;
[0050]
本发明通过在三维装箱中引入强化学习,实现了堆放货品过程中,算法能够依据箱体和环境的实时反馈,不断调整自身的堆放动作和堆放位置,达到自动学习最佳堆放策略和在线实时指导装箱的效果。
附图说明
[0051]
图1是本发明的总流程图;
[0052]
图2是本发明的动态搜索算法流程图。
具体实施方式
[0053]
为了使本发明的目的、特征能够更加的明显和易懂,下面通过实施例并结合附图对本技术方案进行详细说明。
[0054]
如图1所示,一种基于强化学习和动态搜索的自动化装箱方法,包括步骤:
[0055]
步骤s1,对将要堆放在同一箱体的货品进行统计,记为数量m,并赋予该箱体中的
每个货品编号为i,编号i满足下列关系:
[0056]
i∈m
[0057]
i=i 1
[0058]
步骤s2,在货箱中开始进行堆放货品,判断货品与货箱的边界碰撞逻辑l1是否成立,具体计算公式为:
[0059]
x
′i≤l,y
′i≤w,z
′i≤h,i=1,2,3

,n
[0060]
其中,l,w,h分别表示货箱的长,宽,高,i表示当前货品的编号,(xi,yi,zi)为货品放入货箱后的右后下三维坐标,(x
′i,y
′i,z
′i)为货品放入货箱后的左前上三维坐标。
[0061]
进一步地,如果逻辑l1结果为假,则执行下一步骤,否则执行改变货品堆放姿态动作d1,即货品堆放时共6种姿态,每次旋转分别以货品的长宽、长高、宽高平面为底,顺时针旋转90度,每旋转一次可以更新一次货品的姿态,并把旋转货品动作ai存入知识库。
[0062]
步骤s3,继续堆放货品,判断货品与货品之间的重叠判断逻辑l2是否成立,具体计算公式为:
[0063][0064][0065]
其中,x
′i,y
′i,z
′i分别表示表示当前货品左前上x轴,y轴,z轴的三维坐标,x

i 1
,y

i 1
,z

i 1
分别表示新放入货品左前上x轴,y轴,z轴的三维坐标,ti表示货品i的接触面积,即货品底部至少有一半面积被支撑,不得悬空堆放。
[0066]
进一步地,如果逻辑l2结果为假,则执行下一步骤,否则执行改变货品的堆放位置动作d2,其过程如下:
[0067]
首先,建立一个行李码放状态矩阵g,每次改变货品堆放位置的动作前,都以动态搜索算法来计算出可堆放货品的三维坐标。
[0068]
如图2所示,所述动态搜索算法,是指以最大化利用箱体进行货品装载为目标,通过动态规划算法,达到最大化利用装箱体积的目的,具体步骤为:
[0069]
步骤a1,定义p为以相同的姿态进行叠加堆放后,形成的复合货品层,根据已有p求出v
act

[0070][0071][0072]
其中,v
act
是定义体积和实际体积之差,表示箱体中剩余的堆放空间,表示货品复合堆放层的填充率,为复合货品底面的最小外包矩形对应尺寸,h为叠加后形成
的高度。
[0073]
步骤a2,调用动态规划算法,生成新一轮p

,并求出相应的v

act

[0074]
步骤a3,选取v

act
最小的堆放货品位置aj,把堆放货品位置aj对应的三维坐标信息作为更新矩阵g的参数,并把堆放货品位置aj存入知识库。
[0075]
所述知识库用于训练强化学习模型,即通过存储旋转货品动作ai和堆放货品位置aj,作为训练数据生成强化学习模型,用于初始化后续的货品堆放动作策略,具体步骤为:
[0076]
步骤b1,设置目标函数作为智能体学习的目标,具体地,以最大化箱体总空间利用率maxf和最小化剩余堆放空间v
act
为目标函数,箱体总空间利用率的计算公式为:
[0077][0078]
其中,li,wi,hi分别表示货品i的长、宽、高,l,w,h分别表示箱体的长,宽高。
[0079]
步骤b2,设置奖励函数用于评估执行动作的结果,计算公式为:
[0080]
r=d ω(maxf,vact)
[0081]
其中,ω为权重系数,表示对两种奖励的重视程度,d表示货品到货箱顶部的距离。
[0082]
步骤b3,采用可迭代计算的q函数,来指导智能体在箱体堆放过程中采取的动作策略,使得智能体在不断的尝试和纠正中,不断逼近目标函数,从而获得最优箱体堆放动作,具体计算公式为:
[0083]
q(s,a)=q(s,a) α[r γmax q(s

,a)-q(s,a)]
[0084]
a=ai aj[0085]
其中,a表示智能体的动作空间,包括旋转货品动作ai和堆放货品位置aj,q(s,a)表示更新参数,α为学习因子,r为奖励函数,γ为折扣因子,表示对未来奖励的重视程度,s'为货品状态s下执行动作a之后的状态。
[0086]
优选地,γ值设置在0.2~0.8之间。
[0087]
步骤b4,将获取的最优旋转货品动作ai和堆放货品位置aj作为训练数据,训练强化学习模型,并初始化后续的货品堆放动作策略。
[0088]
接着,查询矩阵g并确认该坐标可执行后,再更新矩阵g中的参数,矩阵g的公式为:
[0089][0090]
其中,(xi,yi,zi)表示编号为i的货品可选堆放位置的坐标。
[0091]
最后,执行改变货品堆放位置的动作。
[0092]
步骤s4,判断是否已放完所有货品,如果判断为真,则货品堆放完成,否则执行步骤s2。
[0093]
具体地,通过判断当前堆放货品的编号i是否和统计出的货品数量m相等,来判断该箱体是否已经堆放完所有货品。
[0094]
至此,按照本发明公开的方法,已实施完一次本发明的工作过程。
[0095]
虽然,本说明书中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献