基于深度强化学习的贴片机贴装调度模型训练方法

专利检索2022-05-11  13



1.本发明涉及贴装控制领域,尤其涉及一种基于深度强化学习的贴片机贴装调度模型训练方法。


背景技术:

2.表面贴装技术(surface mounted technology,smt)在印刷电路板的制造中起着关键作用,且应用越来越广泛,其中,表面贴装调度优化是smt的关键核心技术。目前,贴片机贴装调度优化一般分为两个子问题处理:一个是吸嘴和喂料器的分配问题,另一个是元件贴装顺序优化问题。
3.针对贴装调度优化问题,学者较多使用线性规划方法、启发式优化算法和基于种群的随机优化算法,这些算法在一定程度上解决了贴片机贴装效率优化问题,但这些方法大都属于离线调度优化方法,更适合于相对稳定的环境。这些方法并未考虑到实际生产环境的动态性和多样性,难以进行在线优化。
4.另外,在贴片机的实际生产过程中,不可避免地会受到振动、噪声等环境因素、生产计划调整等影响,导致设备各零部件之间相对位置的变化,进而影响设备生产进度及正常运转,导致以前的优化方案并不适用,需要重新或者重头优化。
5.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

6.本发明的主要目的在于,解决现有技术中,未考虑到实际生产环境的动态性和多样性,难以进行在线优化的技术问题。
7.为实现上述目的,本发明提供一种基于深度强化学习的贴片机贴装调度模型训练方法,包括:
8.s1:设置贴装循环方案,计算获取所述贴装循环方案的贴装时间;
9.s2:构建贴片机贴装调度模型,所述贴片机贴装调度模型包括:dqn1网络和dqn2网络;
10.s3:获取贴装训练数据,将所述贴装训练数据和所述贴装时间输入所述dqn1网络进行循环计算,计算结束后获得取料方案;
11.s4:将所述取料方案和所述贴装时间输入所述dqn2网络进行循环计算,计算结束后获得训练好的贴片机贴装调度模型。
12.优选地,所述贴装时间包括:取料运动用时t
pick
、识别用时t
recong
、贴装运动用时t
place
、返回喂料器用时t
return
和取料贴料用时t
nozzle

13.所述取料运动用时t
pick
的表达式如公式一所示:
14.15.其中,cycle_num表示贴装循环次数;v
x
表示x轴电机的移动速度;i表示取料次数;dis
i,i-1
表示第i次取料和第i-1次取料时,贴装头所在位置的相对距离;
16.所述识别用时t
recong
的表达式如公式二所示:
17.t
recong
=max(dis
x
/v
x
,disy/vy) recong(cycle_num)
18.其中,dis
x
表示贴装头拾取完所有元件后所在位置到识别相机所在位置的x轴距离;disy表示贴装头拾取完所有元件后所在位置到识别相机所在位置的y轴距离;vy表示y轴电机的移动速度;函数recong()表示识别相机对所有元件进行识别的用时;
19.所述贴装运动用时t
place
的表达式如公式三所示:
[0020][0021]
其中,dis
x,j,j-1
表示待贴装点j与待贴装点j-1在x轴方向的距离;dis
y,j,j-1
表示待贴装点j与待贴装点j-1在y轴方向的距离;
[0022]
所述返回喂料器用时t
return
的表达式如公式四所示:
[0023]
t
return
=max(dis
x
/v
x
,disy/vy)
[0024]
所述取料贴料用时t
nozzle
的表达式如公式五所示:
[0025]
t
nozzle
=cycle_num
×
t_place pick_num
×
t_pick
[0026]
其中,pick_num表示取料循环次数;t_pick表示吸嘴的一次吸取元件用时;t_place表示一次贴装元件用时;
[0027]
所述贴装时间t
sum
的表达式如公式六所示:
[0028][0029]
其中,n
cycle
表示贴装流程循环次数。
[0030]
优选地,步骤s3具体为:
[0031]
s31:获取所述贴装训练数据,包括:贴片机机型、吸嘴信息和喂料器信息;
[0032]
s32:通过所述贴装训练数据和所述贴装时间对所述dqn1网络进行设置,获得设置好的dqn1网络;
[0033]
s33:将所述贴装训练数据输入所述设置好的dqn1网络进行循环计算,获得所述取料方案。
[0034]
优选地,步骤s32具体为:
[0035]
s321:设定dqn1网络的状态空间,所述dqn1网络的状态空间包括:喂料器的使用状态和吸嘴的使用状态;
[0036]
所述喂料器的使用状态的表达式为:
[0037]
p1=(k1,k2,...,km),m∈{1,...,m}
[0038]
其中,m表示喂料器序号;m表示喂料器总数;km表示喂料器m上剩余待贴装元件数量;所述吸嘴的使用状态的表达式为:
[0039]
c1=(b1,b2,...,bn),bn=0 or 1,n∈{1,...,n}
[0040]
其中,n表示吸嘴序号;n表示吸嘴总数;bn表示吸嘴n是否已在本贴装循环拾取了元件,1表示拾取了元件,0表示没有拾取元件;
[0041]
所述dqn1网络的状态空间的表达式为:
[0042]
s1=[p1,c1];
[0043]
s322:设定dqn1网络的动作空间,所述dqn1网络的动作空间的表达式为:
[0044]
a1=[n,m]
[0045]
其中,n表示吸嘴序号,n表示吸嘴总数;
[0046]
s323:设置dqn1网络的奖励函数,所述dqn1网络的奖励函数的表达式为:
[0047][0048]
其中,ni表示第i次取料时用到的吸嘴数,t=t
pick
pick_num
×
t_pick,表示取料最长用时;
[0049]
s324:设置dqn1网络的状态转移概率,具体为:执行所述dqn1网络的动作空间后,对所述dqn1网络的状态空间进行相应调整,之后进入新的循环。
[0050]
优选地,步骤s4具体为:
[0051]
s41:通过所述取料方案和所述贴装时间对所述dqn2网络进行设置,获得设置好的dqn2网络;
[0052]
s42:将所述取料方案输入所述设置好的dqn2网络进行循环计算,获得所述训练好的贴片机贴装调度模型。
[0053]
优选地,步骤s41具体为:
[0054]
s411:设定dqn2网络的状态空间,所述dqn2网络的状态空间的表达式为:
[0055]
s2=[c2,p2]
[0056]
其中,c2表示元件在pcb板上的坐标,表达式为:x
nc
表示元件在pcb板上的x轴坐标,y
nc
表示元件在pcb板上的y轴坐标;nc表示待贴装元件数量,c表示决策次数;
[0057]
p2表示喂料器运动的环境状态,表达式为:p2=(p

l
,p
′n),p

l
表示上一贴装循环最后一次在喂料器上的取料位置,p
′n表示下一贴装循环第一次在喂料器上的取料位置;
[0058]
s412:设置dqn2网络的动作空间,所述dqn2网络的动作空间的表达式为:
[0059]
a2={1,2,...,nc}
[0060]
s413:设置dqn2网络的奖励函数,所述dqn2网络的奖励函数的表达式为:
[0061]
r2=t
g-(t
recong
t
place
t
return
)
[0062]
其中,tg代表循环采用贪心算法后的模拟识别用时,模拟贴装运动用时和模拟返回喂料器用时之和;
[0063]
s414:构建dqn2网络的状态转移概率,具体为:执行所述dqn2网络的动作空间后,对所述dqn2网络的状态空间进行相应调整,之后进入新的循环。
[0064]
本发明具有以下有益效果:
[0065]
1、基于本发明构建的两阶段训练模型,所求解的取料方案和贴装方案相比实际生产使用的贪心算法更精确,也即新方案的贴装耗时更少;
[0066]
2、两阶段训练模型可以在复杂动态环境下,不需要重新训练,直接生成比较优的取料和贴装方案。
附图说明
[0067]
图1为本发明实施例方法流程图;
[0068]
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0069]
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0070]
参照图1,本发明提供一种基于深度强化学习的贴片机贴装调度模型训练方法,包括:
[0071]
s1:设置贴装循环方案,计算获取所述贴装循环方案的贴装时间;
[0072]
s2:构建贴片机贴装调度模型,所述贴片机贴装调度模型包括:dqn1网络和dqn2网络;
[0073]
s3:获取贴装训练数据,将所述贴装训练数据和所述贴装时间输入所述dqn1网络进行循环计算,计算结束后获得取料方案;
[0074]
s4:将所述取料方案和所述贴装时间输入所述dqn2网络进行循环计算,计算结束后获得训练好的贴片机贴装调度模型。
[0075]
本实施例中,当机器生产环境布置完毕且每个贴装循环都已经确定,就可以对任意方案的贴装时间进行分析计算,所述贴装时间包括:取料运动用时t
pick
、识别用时t
recong
、贴装运动用时t
place
、返回喂料器用时t
return
和取料贴料用时t
nozzle

[0076]
(1)取料运动用时:
[0077]
取料运动时,贴装头在喂料台上运动并吸取元件;在多个贴装循环中,其在取料时仅仅在x方向上进行位移,也即只有x轴电机发生了运动;
[0078]
所述取料运动用时t
pick
的表达式如公式一所示:
[0079][0080]
其中,cycle_num表示贴装循环次数;v
x
表示x轴电机的移动速度;i表示取料次数;dis
i,i-1
表示第i次取料和第i-1次取料时,贴装头所在位置的相对距离;
[0081]
(2)识别用时:
[0082]
贴装头拾取元件后,首先将元件运送到元件识别相机处进行识别,这一段运动既包括x轴方向的位移,也包括y轴方向的运动;由于贴片机贴装头的运动控制是由x轴电机和y轴电机分别控制的,在这两个方向的位移也是分别进行的,故贴装头的所有运动都应该用切比雪夫距离计算更为合适,但是由于x轴电机和y轴电机的运动速度可能不同,因此最终采用贴装头x轴方向和y轴方向上运动耗时较长者为这一阶段的运动用时:
[0083]
所述识别用时t
recong
的表达式如公式二所示:
[0084]
t
recong
=max(dis
x
/v
x
,disy/vy) recong(cycle_num)
[0085]
其中,dis
x
表示贴装头拾取完所有元件后所在位置到识别相机所在位置的x轴距离;disy表示贴装头拾取完所有元件后所在位置到识别相机所在位置的y轴距离(disy是一个定值);vy表示y轴电机的移动速度;函数recong()表示识别相机对所有元件进行识别的用时,其与当前贴装头上拾取的元件数量呈现正相关的关系;
[0086]
(3)贴装运动用时:
[0087]
在识别完毕后,贴装头运动至pcb板开始进行贴装,按照已经规划好的顺序,依次运动至待贴装元件的贴装位置进行贴装,这一阶段的运动用时即为贴装运动用时;
[0088]
所述贴装运动用时t
place
的表达式如公式三所示:
[0089][0090]
其中,dis
x,j,j-1
表示待贴装点j与待贴装点j-1在x轴方向的距离;dis
y,j,j-1
表示待贴装点j与待贴装点j-1在y轴方向的距离;
[0091]
(4)返回喂料器用时:
[0092]
所有元件贴装完毕后,贴装头返回下一循环第一次取料所在位置,所述返回喂料器用时t
return
的表达式如公式四所示:
[0093]
t
return
=max(dis
x
/v
x
,disy/vy)
[0094]
(5)取料贴料用时:
[0095]
上述(1)至(4)计算的都是贴装头的运动时间以及识别相机的识别时间,除了这些以外,贴装头通过吸嘴将元件从喂料器吸取以及将元件贴装在pcb板上也需要消耗不少的时间,这一部分用时即为取料贴料用时;
[0096]
所述取料贴料用时t
nozzle
的表达式如公式五所示:
[0097]
t
nozzle
=cycle_num
×
t_place pick_num
×
t_pick
[0098]
其中,pick_num表示取料循环次数,这里用pick_num进行计算是因为在取料过程中存在同取现象,即贴装头同时吸取多个元件以减少取料用时,在这种情况下,吸嘴在循环内的取料次数并不等于循环内的元件总数;t_pick表示吸嘴的一次吸取元件用时;t_place表示一次贴装元件用时;
[0099]
所述贴装时间t
sum
的表达式如公式六所示:
[0100][0101]
其中,n
cycle
表示贴装流程循环次数。
[0102]
本实施例中,步骤s3具体为:
[0103]
s31:获取所述贴装训练数据,包括:贴片机机型、吸嘴信息和喂料器信息;
[0104]
s32:通过所述贴装训练数据和所述贴装时间对所述dqn1网络进行设置,获得设置好的dqn1网络;
[0105]
s33:将所述贴装训练数据输入所述设置好的dqn1网络进行循环计算,获得所述取料方案。
[0106]
本实施例中,步骤s32具体为:
[0107]
s321:设定dqn1网络的状态空间,所述dqn1网络的状态空间包括:喂料器的使用状态和吸嘴的使用状态;
[0108]
所述喂料器的使用状态的表达式为:
[0109]
p1=(k1,k2,...,km),m∈{1,...,m}
[0110]
其中,m表示喂料器序号;m表示喂料器总数;km表示喂料器m上剩余待贴装元件数量;所述吸嘴的使用状态的表达式为:
[0111]
c1=(b1,b2,...,bn),bn=0 or 1,n∈{1,...,n}
[0112]
其中,n表示吸嘴序号;n表示吸嘴总数;bn表示吸嘴n是否已在本贴装循环拾取了元件,1表示拾取了元件,0表示没有拾取元件;p1和c1均为数组;
[0113]
所述dqn1网络的状态空间的表达式为:
[0114]
s1=[p1,c1];
[0115]
s322:设定dqn1网络的动作空间,每次选中一个吸嘴吸取某个喂料器上的元件,故执行的动作也包括两个部分,所述dqn1网络的动作空间的表达式为:
[0116]
a1=[n,m]
[0117]
其中,n表示吸嘴序号,n表示吸嘴总数;
[0118]
s323:设置dqn1网络的奖励函数,奖励函数表示环境对上一次动作产生的反馈的评价,由于优化目标是使总贴装时间最少,而取料时的动作主要影响的是取料运动用时和取料用时,也就是使吸嘴取料的方式与元件在喂料器上的布置尽量匹配以减少取料次数和喂料器的移动距离,这两部分的用时用t表示;
[0119]
不过此时并非所有动作都是合法的,对于不符合取料规范的动作,例如吸嘴类型与喂料器上的元件类型不匹配,需要给与惩罚,此外,奖励函数应该与总用时负相关;
[0120]
为了使奖惩更加能反映选择动作的性能,对奖励和惩罚大小进行归一化;经过观察可以发现,在一个贴装循环的过程中,最长和最短的取料运动用时以及最长和最短的取料用时都是可以求得的;显然,当贴装循环中只有一个取料循环时,取料运动用时为0,是最短的;而当取料运动用时最长时,需要横跨整个喂料器,这个时长用表示;
[0121]
当只有一个取料循环时,pick_num等于1,此时取料用时最短,当每个吸嘴需要单独一个取料循环取料时(即没有任何同取发生),pick_num最大时,此时取料用时最长;
[0122]
所述dqn1网络的奖励函数的表达式为:
[0123][0124]
其中,ni表示第i次取料时用到的吸嘴数,t=t
pick
pick_num
×
t_pick,表示取料最长用时;
[0125]
s324:设置dqn1网络的状态转移概率,具体为:执行所述dqn1网络的动作空间后,对所述dqn1网络的状态空间进行相应调整,之后进入新的循环;
[0126]
具体实现中,对于吸嘴n,将对应的bn标记为0(初始化为0,0表示本循环未取料);对于喂料器m,将对应的km的大小减一;发生以下几种情况则视为不满足取料规范,避免选择该动作:
[0127]
(1)bn等于1,也即该吸嘴已分配元件;
[0128]
(2)km小于0,也即该类元件已全部贴装完成;
[0129]
(3)吸嘴n与喂料器m上元件类型不匹配。
[0130]
本实施例中,步骤s4具体为:
[0131]
s41:通过所述取料方案和所述贴装时间对所述dqn2网络进行设置,获得设置好的dqn2网络;
[0132]
s42:将所述取料方案输入所述设置好的dqn2网络进行循环计算,获得所述训练好
的贴片机贴装调度模型。
[0133]
本实施例中,步骤s41具体为:
[0134]
s411:设定dqn2网络的状态空间,所述dqn2网络的状态空间的表达式为:
[0135]
s2=[c2,p2]
[0136]
其中,c2表示元件在pcb板上的坐标,表达式为:x
nc
表示元件在pcb板上的x轴坐标,y
nc
表示元件在pcb板上的y轴坐标;nc表示待贴装元件数量,c表示决策次数;
[0137]
p2表示喂料器运动的环境状态,贴料方案的优化不仅涉及贴料运动用时,还包括喂料器到pcb板的运动用时和从pcb板返回用时,对于飞行相机模式下的贴装,拾取完本轮所有元件后,贴装头直接前往pcb板进行贴装,这样一来,用时的计算不仅需要知道当前贴装循环的待贴装元件坐标,还分别需要需要知道上一贴装循环最后一次在喂料器上的取料位置p

l
,以及下一贴装循环第一次在喂料器上的取料位置p
′n,将这两个因素也作为一组环境状态纳入考量;
[0138]
其表达式为:p2=(p

l
,p
′n),p

l
表示上一贴装循环最后一次在喂料器上的取料位置,p
′n表示下一贴装循环第一次在喂料器上的取料位置;
[0139]
对于无飞行相机下的贴装,贴装头取料后送往固定的识别相机处进行识别,无需知道上一贴装循环的贴装信息,此时喂料器运动的环境状态的表达式为:p2=(p
′n);
[0140]
s412:设置dqn2网络的动作空间,所述dqn2网络的动作空间的表达式为:
[0141]
a2={1,2,...,nc}
[0142]
s413:设置dqn2网络的奖励函数,贴料方案优化主要影响的是识别用时,贴装运动用时和返回喂料器用时,为了对比贴料方案的效果,将奖励函数设计为采用贪心算法后的模拟识别用时tg与采取动作后的用时之差;
[0143]
所述dqn2网络的奖励函数的表达式为:
[0144]
r2=t
g-(t
recong
t
place
t
return
)
[0145]
其中,tg代表循环采用贪心算法后的模拟识别用时,模拟贴装运动用时和模拟返回喂料器用时之和;
[0146]
s414:构建dqn2网络的状态转移概率,具体为:执行所述dqn2网络的动作空间后,对所述dqn2网络的状态空间进行相应调整,之后进入新的循环;
[0147]
具体实现中,对于第c次决策,执行动作nc后,环境状态发生相应变化,对应的x
nc
和y
nc
置为0,该元件视为已被贴装(坐标0,0往往是作为pcb板基准位置mark点的坐标位置,一般来说,这个地方不会有待贴装元件,因此这样的设置不会发生冲突),选择动作时,避免选择已贴装的元件;当完成本次贴装循环最后一个贴装元件的选择后,将p

l
置为该元件所在喂料器位置,将p
′n置下一贴装循环最左侧元件所在的喂料器位置(贴装头从返回喂料器最左侧的待取元件处开始从左至右完成取料)。
[0148]
本发明的关键点在于:
[0149]
1、两阶段优化模型的构建;
[0150]
2、奖罚函数的设置;对于某个动作,当产生的策略比较好时,给予奖励,奖励值与时间负相关;当动作为非法动作时,给予一定的惩罚。
[0151]
本发明实施后的效果如下:
[0152]
1、本发明实验对象和实验条件
[0153]
仿真对象是路远智能装备有限公司旗下的cpm
‑ⅱ
型贴片机,该型号贴片机为拱架式贴片机,贴装头上一共可以安装8个吸嘴(吸嘴间距为16mm),单边挂料42站,也即前后喂料台上一共有84个喂料槽(喂料槽的间距为16mm),贴片机仿真环境与实际打板数据基于该型号机器模拟和运行。实验所使用的的pcb板如表1所示:
[0154]
表1各pcb板相关参数
[0155][0156][0157]
实验仿真环境如表2所示:
[0158]
表2实验仿真环境
[0159][0160]
实验参数设置如表3所示:
[0161]
表3实验中的参数设置
[0162][0163]
2、本发明实验效果
[0164]
利用dqn和贪心算法对测试集中的各pcb板的优化效果进行了对比,优化结果如表4所示。
[0165]
表4针对20个pcb板样例的优化结果对比
[0166][0167]
从表中可以看出,对比贪心算法,dqn算法(黑体部分)总体表现更好,尤其是当这些pcb板的元件数量和元件种类都比较适中时,dqn算法相比贪心算法优势更大。
[0168]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0169]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置
的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为标识。
[0170]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
转载请注明原文地址:https://win.8miu.com/read-950344.html

最新回复(0)