一种考虑柔性部件特性的装配序列规划方法

未命名 09-13 阅读:82 评论:0


1.本发明属于装配序列规划技术与领域,具体涉及一种考虑柔性部件特性的装配序列规划方法。


背景技术:

2.在如今产品的装配工作通常位于其生产周期的结尾,产品的制造成本和最终质量与装配环节息息相关。对于一个产品,其装配工作量一般占总工作量的40%到50%左右,装配时间约占制造业总生产时间的一半以上,同时装配工作所需劳动力约占劳动力成本的三分之一到一半,提高产品装配的效率和质量成为了企业函待解决的关键问题。同时,现今制造业的总体生产模式趋向于柔性化自动化,企业的生产理念是快速响应用户的需求,这也对装配方案的设计效率提出了更高的要求,能够快速制定出匹配用户个性化要求的工业产品生产方案的企业往往能够获得市场的先发优势。
3.正因如此,现在才有了越来越多的学者参与到装配序列规划的研究当中。目前生产的大部分产品,包括从普通家用电器到高精尖领域复杂产品的各个不同层次,或多或少都会有一部分部件是柔性部件,而这些柔性部件对产品的最终质量有不可忽视的影响。柔性部件有着不同于刚性部件的物理特性,因此传统的刚性部件装配规律不一定适用于柔性部件,需要考虑为柔性部件设计特有的优先装配方案规则。对于某些柔性部件影响占比相对较高的产品,更是需要一套考虑柔性部件装配特性,更加符合实际装配情况的装配序列规划方案,而目前这一方向上的相关研究较少,研究程度也不够深入。


技术实现要素:

4.为解决上述技术问题,本发明提出了一种考虑柔性部件特性的装配序列规划方法,分析柔性部件在装配过程中与传统刚性部件的物理属性差异以及柔性零部件对装配过程的影响因素,总结柔性部件在装配时的相关特性,结合包含柔性部件产品的实际生产情况,提供一种考虑柔性部件特性的装配序列规划模型,并配置合适的寻优算法,为企业制定出更加科学合理适配的装配序列规划方案。
5.本发明采用的技术方案为:一种考虑柔性部件特性的装配序列规划方法,具体步骤如下:
6.s1、设计用于存储柔性部件在装配过程中所承受最大应力信息的装配应力矩阵;
7.s2、使用投入数据训练后的bp神经网络加快装配应力矩阵的矩阵元素提取速度;
8.s3、建立考虑柔性部件特性的装配序列规划数学模型,将柔性部件对装配过程的影响以约束条件和评价指标的形式融入到数学模型中;
9.s4、使用改进的离散化花朵授粉算法对数学模型进行求解。
10.进一步地,所述步骤s1具体如下:
11.s11、获取产品各零部件的相关信息,包括外部尺寸信息和材料信息;
12.s12、建立产品的三维mbd模型,其零部件每两个一组在仿真软件中进行装配仿真
试验,记录柔性部件从装配起始位置,通过平移的方式到达目标位置的装配过程中所承受的最大应力数值;
13.s13、基于产品的零部件数量和柔性部件所占比例建立相应规格的装配应力矩阵,矩阵记为strm,根据柔性部件的装配方向和柔性部件是否为主动装配部件对矩阵进行分组;
14.设定产品共含有n个零部件,这n个零部件中包含m个柔性部件,零部件的可用装配方向分为+x、-x、+y、-y、+z、-z六种方向,则该产品的完整装配应力矩阵的规格为:
15.(1)柔性部件为当前主动装配零部件时:m
×n×
6,此时的矩阵记为strma;
16.(2)柔性部件不为当前主动装配零部件时:n
×m×
6,此时的矩阵记为strm
p

17.s14、明确不同矩阵元素数值大小所对应的含义;
18.设定装配方向代号为k,且k为整数,1≤k≤6,依次对应六种装配方向;
19.当以柔性部件为当前主动装配零部件的装配应力矩阵时,矩阵内第i行第j列的矩阵元素str
ijk
(1≤i≤m,1≤j≤n,1≤k≤6,i,j,k均为整数)的定义具体如下:
20.(1)若str
ijk
为0,表示零部件i与零部件j之间沿k方向装配不会发生接触;
21.(2)若str
ijk
为正实数,表示零部件i与零部件j之间沿k方向装配时会发生接触,但对装配部件不会造成功能性影响,正实数的数值表示柔性部件在此过程种承受的最大应力值;
22.(3)若str
ijk
为-1,表示零部件i与零部件j之间沿k方向装配时会发生接触,且会对装配部件造成功能性影响,可视作产生干涉现象,当柔性部件在装配过程中承受的应力超过其屈服应力时,str
ijk
=-1。
23.当柔性部件为当前被动装配零部件时,str
ijk
的含义不变。
24.s15、基于步骤s12中记录的应力数值信息对装配应力矩阵的各矩阵元素进行数值填充。
25.进一步地,所述步骤s12中,在仿真软件中,产品的装配仿真试验过程具体如下:
26.s121、导入产品三维模型;
27.s122、选择好待仿真两个零部件各自的材料,如果没有则手动设置相关信息参数;
28.其中,柔性零部件的干涉分析包括:材料密度、材料的弹性模量、材料的泊松比。
29.s123、设置好主动件与被动件的接触关系;
30.s124、进行网格划分
31.s125、划分好网格单元后,为主动件添加位移,设定好位移的方向与距离,为被动件添加固定约束;
32.s126、设置仿真的子步;
33.s127、运行仿真程序并在仿真结束后查阅结果。
34.进一步地,所述步骤s2具体如下:
35.s21、收集整理bp神经网络训练所需要的产品零部件信息数据;
36.s22、设置bp神经网络隐藏层层数和各层节点个数;
37.隐藏层的节点个数设置如下:
38.隐藏层节点数=2
×
输入层节点数+1
39.s23、投入数据训练bp神经网络并进行准确性验证。
40.进一步地,所述步骤s23具体如下:
41.s231、构建单层隐藏层bp神经网络,令bp神经网络的f1维输入向量f2维表示预测结果的输出向量设隐藏层有h个节点,其输出x

=(x0′
,x1′
,...,x
h-1

)
t
,x

∈rh;
42.其中,(
·
)
t
表示转置操作,r表示数域,输入层到隐藏层的权值是ω
ij
,隐藏层各节点的阈值是θj,隐藏层到输出层的权值是ω

jl
,输出层各节点的阈值是θ

l

43.则隐藏层节点的输出向量和输出层节点的输出向量结果如下:
[0044][0045]
其中,f(x)表示激活函数,负责将神经元的输入映射到输出端:
[0046][0047]
s232、设定实际数据的f2维目标结果向量为目标结果向量一共有p组数据;
[0048]
各输出节点的误差平方之和如下:
[0049][0050]
其中,表示第p个实际数据个体第l维的目标结果向量,表示第p个实际数据个体第l维的预测结果的输出向量,e表示损失函数,e越接近0则网络的训练效果越好。
[0051]
利用最小梯度法对神经网络各层的权值ω和阈值θ进行调整,使e变得更小,表达式如下:
[0052][0053]
其中,δλ表示各层ω和θ的修正值,η表示模型的学习率,可看作常数,取值在(0,1)之间。
[0054]
s233、计算推导得到的各层ω和θ的修正值具体如下:
[0055]
(1)输出层的阈值修正值:
[0056]
δθ

=-η(d-y)y(1-y)
[0057]
(2)隐藏层到输出层的权值修正值:
[0058]
δω

=η(d-y)y(1-y)x

[0059]
(3)隐藏层的阈值修正值:
[0060]
δθ=-η(d-y)y(1-y)ω

x

(1-x

)
[0061]
其中,ω

表示隐藏层到输出层的权值。
[0062]
(4)输入层到隐藏层的权值修正值:
[0063]
δω=η(d-y)y(1-y)ω

x

(1-x

)x
[0064]
在每一次迭代之后,模型的输出向量y更加趋近于实际的结果向量d,e的值更趋近于0,当e的精度足够满足实际要求时,则bp神经网络模型训练完成。
[0065]
进一步地,所述步骤s3具体如下:
[0066]
s31、设置数学模型的基本假设;
[0067]
(1)装配序列的每一步只装配一个零部件,即在同一时间不会装配多个零部件;
[0068]
(2)装配零部件时只考虑沿标准坐标轴的六个基本装配方向:+x、-x、+y、-y、+z、_z,零部件在装配过程中不考虑会发生装配方向的变更;
[0069]
(3)不考虑装配线的整体空间布局的影响;
[0070]
(4)不考虑工人的休息时间安排等影响。
[0071]
s32、给出数学模型的约束条件;
[0072]
(1)对应于刚性部件的干涉约束,当刚性部件在沿某方向进行装配时,查阅装配干涉矩阵,倘若在过程中与其它部件发生了接触碰撞,即装配干涉矩阵对应的矩阵元素为1,则视作发生了干涉现象。该约束对应公式如下式所示:
[0073][0074]
其中,i表示当前装配的零部件在装配方案中的顺序号,其对应的零部件编号为part1;而j从1到i-1表示所有在零部件i之前装配的零部件顺序号,对应的零部件编号为part2,后续约束条件公式中的i,j,part1,part2,意义相同;im表示装配干涉矩阵的矩阵元素,其数值对应下标两零部件的装配干涉信息如下:
[0075][0076]
(2)对应于柔性部件的应力约束,当柔性部件在沿某方向进行装配时,查阅装配应力矩阵,倘若在过程中与其它部件发生了接触碰撞且柔性部件在装配过程中承受的应力最大值超过了部件的屈服极限,即装配应力矩阵对应的矩阵元素为-1,则视作发生了干涉现象,表明柔性部件不能沿此方向进行装配。该约束对应公式如下所示:
[0077][0078]
其中,part1,part2对应的零部件至少有一个为柔性部件,然后根据柔性部件是否为主动件来决定是查阅strma还是strm
p
;str表示装配应力矩阵的矩阵元素,其数值含义见步骤s14。
[0079]
(3)对应于所有零部件的优先级约束,当想要选择某一零部件进行装配时,查阅装
配优先矩阵,如果有比当前零部件装配优先级更高的零部件,即装配优先矩阵当前零部件所在列中数值为1的元素所在行的对应零部件,还未进行装配,则当前零部件暂时不可进行装配。该约束对应公式如下所示:
[0080][0081]
其中,a表示装配优先矩阵的矩阵元素,其数值表示两个零部件的装配优先信息,具体如下:
[0082]
i.如果a
ij
=1,则表示零部件i必须在零件j之前进行装配;
[0083]
ii.如果a
ij
=0,则表示零部件i不必在零件j之前进行装配;
[0084]
iii.矩阵中a
ii
的值恒为0,没有意义。
[0085]
(4)对应于所有零部件的连接关系约束,当想要选择某一零部件进行装配时,查阅装配连接矩阵,如果没有任何零部件与当前零部件存在连接关系,则当前零部件暂时不可进行装配。该约束对应公式如下所示:
[0086][0087]
其中,c表示装配连接矩阵的矩阵元素,其数值所代表两个零部件的装配连接信息,具体如下:
[0088]
i.若c
ij
=0,表示零件i与零件j不存在连接关系;
[0089]
ii.若c
ij
=1,表示零件i与零件j存在接触连接关系;
[0090]
iii.若c
ij
=2,表示零件i与零件j存在稳定的连接关系;
[0091]
iv.矩阵中c
ii
的值恒为0,没有意义。
[0092]
s33、给出数学模型的评价指标;
[0093]
(1)柔性部件在装配过程中累计的最大应力值之和t1,通过查阅strm矩阵计算t1具体数值;
[0094]
(2)柔性部件与刚性部件的装配切换次数t2,每次当前装配的零部件在刚柔属性上与上一装配零部件不同时+1;
[0095]
(3)装配方向改变次数t3,当装配序列中前后相邻零部件的装配方向不相同时次数+1;(4)装配工具变换次数t4,当装配序列中前后相邻零部件所使用的装配工具不相同时次数+1;
[0096]
(5)装配零部件的不稳定连接度t5,当前装配的零部件在到达其装配位置后,如果还没有与其保持稳定连接关系的已装配零部件,则该值+1;
[0097]
(6)装配体的不稳定支撑度t6,当前零部件在到达其装配位置后,如果还没有为其提供稳定支撑的已装配零部件,则该值+1。
[0098]
s34、通过模糊层次分析法计算六个评价指标各自对应的权重值,依次记为w1到w6;
[0099]
s35、给出考虑柔性部件特性的装配序列规划数学模型;
[0100]
适应度函数:
[0101]
min f(x)=w1·
t1(x)+w2·
t2(x)+w3·
t3(x)+w4·
t4(x)+w5·
t5(x)+w6·
t6(x)
[0102]
约束条件:
[0103][0104][0105][0106][0107]
进一步地,所述步骤s4具体如下:
[0108]
s41、输入相关参数,包括花朵的种群规模,迭代次数,各种概率的具体数值;
[0109]
s42、录入产品的相关装配关系矩阵信息;
[0110]
s43、初始化种群,随机产生第一批初始可行解;
[0111]
设花朵群x共有n朵花朵个体向量,总共通过授粉迭代total次,第t次迭代后的花朵群的表现形式如下:
[0112][0113]
其中,表示花朵第n个个体迭代了t次的表现,n表示零部件总个数。
[0114]
s44、对初始种群进行第一次适应度值计算,计算的数据依据步骤s42中的装配关系矩阵,依据步骤s3构建的装配序列规划问题优化模型,找出当前种群的最优花朵个体;
[0115]
s45、对花朵种群的每一个个体依次遍历授粉,按照指定的全局寻优或局部寻优规则进行计算,产生对应的新个体;
[0116]
s46、对新个体进行数值修正,使其符合可行装配序列的要求;
[0117]
s47、判断新个体是否发生自身变异,如变异需要再次对结果进行数值修正,否则跳转下一步;
[0118]
s48、对所有的新个体进行适应度值计算,找出新一轮迭代中种群的最优花朵个体;
[0119]
如果适应度符合要求或者迭代次数达到上限则输出最优解并转化成对应的装配序列信息,否则跳转至步骤s45进行下一轮迭代。
[0120]
进一步地,所述步骤s45具体如下:
[0121]
s451、花朵个体的寻优方式通过授粉模式切换概率pswitch∈[0,1]与每轮迭代中不同个体各自产生的随机值rand调节,rand<pswitch则使用全局寻优方式更新个体,否则使用局部寻优方式更新个体;
[0122]
授粉模式切换概率pswitch值随着迭代次数发生变化,pswitch的计算公式如下:
[0123][0124]
其中,表示种群第i个个体在第t次迭代中的授粉模式切换概率,pswitch
min
和pswitch
max
分别表示pswitch在整个寻优过程中的最小值和最大值,根据具体问题自行设定;
[0125]
s452、对于全局寻优过程,有:
[0126][0127]
其中,表示迭代到第t+1次的花朵个体i的表现,表示花朵个体i在上一轮迭代中的表现;表示的是上一轮中花朵群中表现得最好的花朵个体,可视为当前的最优解;γ表示控制生物媒介移动步长比例的因子,是一个常数;l(λ)表示基于莱维飞行的步长大小,其具体数值由莱维飞行随机得出。均表示花朵群在经过t次迭代后从种群中随机抽取的两个不同个体,τ表示满足[0,1]均匀分布的随机数;
[0128]
对于莱维飞行,有:
[0129][0130]
其中,γ(λ)表示标准伽马函数,λ一般的取值为1.5,对应的伽马函数值为0.88;s表示利用mantegna算法产生的步长:
[0131][0132]
其中,μ和ν均服从正态分布,且μ~n(0,1)即标准正态分布,ν~n(0,σ2),对应的方差σ2的计算公式如下:
[0133][0134]
s453、对于局部寻优过程,采用精英变异的改进策略,在局部搜索中同样设置一个概率pe,然后每一个进行局部寻优的花朵个体,都需要产生一个满足[0,1]均匀分布的随机数rande,有:
[0135][0136]
其中,表示花朵群在经过t次迭代后从种群中随机抽取的六个不同的个体;ε1、ε2、ε表示服从均值为0.5,标准差为0.1的高斯随机分布数;
[0137]
对于pe,其值为:
[0138][0139]
新的个体生成完毕后,对其生成一个在[0,1]之间均匀分布的随机数pv,同时设定一个花朵个体变异概率p
vr
,如果有pv《p
vr
,则随机交换该个体向量上的信息位点4次,视作个体发生了变异,否则不进行任何操作。
[0140]
进一步地,所述步骤s46具体如下:
[0141]
s461、统计出当前个体序列中缺失的待装配零部件编号,存入备选集合中;
[0142]
s462、对于新个体中超过产品零部件总数大小的当前数字编号,在备选集合中寻找是否有零部件编号大于该个体原序列对应排序位的零部件编号;
[0143]
如果有则从中随机抽取一项代替当前数字编号;如果没有则从集合中抽取最大值代替;操作完毕后将代替零部件编号从备选集合中删去。
[0144]
s463、对于负数,同样在备选集合中寻找是否有零部件编号小于个体原序列对应
排序位的零部件编号;
[0145]
如果有则从中随机抽取一项代替当前负数;如果没有则从备选集合中抽取最小值代替;操作完毕后将代替零部件编号从备选集合中删去。
[0146]
s464、对于零则找寻备选集合中是否存在编号与该个体原序列对应排序位相同的零部件编号;
[0147]
存在即用该零部件编号代替,否则从集合中随机抽取一零部件编号代替;操作完毕后将代替零部件编号从备选集合中删去;
[0148]
s465、对于向量中的重复零部件编号,将除首位的其余重复编号用备选集合中剩余的零部件编号依次代替;
[0149]
s466、基于步骤s461-s465,此时新个体序列中的零部件编号大小符合要求的,最后通过装配优先矩阵,把向量中的各零部件编号按照产品零部件装配优先的先后顺序进行调整,符合可行装配序列的要求,至此所有处理完毕,新的花朵个体产生。
[0150]
本发明的有益效果是:本发明的方法首先设计用于存储柔性部件在装配过程中所承受最大应力信息的装配应力矩阵,使用投入数据训练后的bp神经网络加快装配应力矩阵的矩阵元素提取速度,再建立考虑柔性部件特性的装配序列规划数学模型,将柔性部件对装配过程的影响以约束条件和评价指标的形式融入到数学模型中,最后使用改进的离散化花朵授粉算法对数学模型进行求解。本发明的方法深入研究和分析了柔性部件对产品装配的约束影响和效率影响,建立了更符合含柔性部件产品装配要求的数学模型,并为模型设计了可行且优化效果不错的寻优算法,有利于指导企业生产,提高装配效率,节约装配成本,提高企业产品市场竞争力。
附图说明
[0151]
图1为本发明的一种考虑柔性部件特性的装配序列规划方法的流程图。
[0152]
图2为本发明实施例中改进花朵授粉算法流程图。
[0153]
图3为本发明实施例中示例产品的模型与零部件编号示意图。
[0154]
图4为本发明实施例中产品的装配关系优先图。
[0155]
图5为本发明实施例中产品各零部件的装配优先矩阵矩阵。
[0156]
图6为本发明实施例中产品各零部件沿+x方向的装配应力矩阵。
[0157]
图7为本发明实施例中产品各零部件沿-x方向的装配应力矩阵。
[0158]
图8为本发明实施例中产品各零部件沿+y方向的装配应力矩阵。
[0159]
图9为本发明实施例中产品各零部件沿-y方向的装配应力矩阵。
[0160]
图10为本发明实施例中产品各零部件沿+z方向的装配应力矩阵。
[0161]
图11为本发明实施例中产品各零部件沿-z方向的装配应力矩阵。
[0162]
图12为本发明实施例中产品各零部件的装配连接矩阵。
[0163]
图13为本发明实施例中产品各零部件的装配支撑矩阵。
具体实施方式
[0164]
下面结合附图进一步说明本发明的技术方案。
[0165]
如图1所示,本发明的一种考虑柔性部件特性的装配序列规划方法流程图,具体步
骤如下:
[0166]
s1、设计用于存储柔性部件在装配过程中所承受最大应力信息的装配应力矩阵;
[0167]
s2、使用投入数据训练后的bp神经网络加快装配应力矩阵的矩阵元素提取速度;
[0168]
s3、建立考虑柔性部件特性的装配序列规划数学模型,将柔性部件对装配过程的影响以约束条件和评价指标的形式融入到数学模型中;
[0169]
s4、使用改进的离散化花朵授粉算法对数学模型进行求解。
[0170]
在本实施例中,所述步骤s1具体如下:
[0171]
s11、获取产品各零部件的相关信息,包括外部尺寸信息和材料信息;
[0172]
s12、建立产品的三维mbd模型,其零部件每两个一组在仿真软件中进行装配仿真试验,记录柔性部件从装配起始位置(通常设为无限远)通过平移的方式到达目标位置的装配过程中所承受的最大应力数值;
[0173]
s13、基于产品的零部件数量和柔性部件所占比例建立相应规格的装配应力矩阵,矩阵记为strm,根据柔性部件的装配方向和柔性部件是否为主动装配部件对矩阵进行分组;
[0174]
设定产品共含有n个零部件,这n个零部件中包含m个柔性部件,零部件的可用装配方向分为+x、-x、+y、-y、+z、-z六种方向,则该产品的完整装配应力矩阵的规格为:
[0175]
(1)柔性部件为当前主动装配零部件时:m
×n×
6,此时的矩阵记为strma;
[0176]
(2)柔性部件不为当前主动装配零部件时:n
×m×
6,此时的矩阵记为strm
p

[0177]
s14、明确不同矩阵元素数值大小所对应的含义;
[0178]
设定装配方向代号为k(1≤k≤6,k为整数,依次对应六种装配方向),当以柔性部件为当前主动装配零部件的装配应力矩阵时,矩阵内第i行第j列的矩阵元素str
ijk
(1≤i≤m,1≤j≤n,1≤k≤6,i,j,k均为整数)的定义具体如下:
[0179]
(1)若str
ijk
为0,表示零部件i与零部件j之间沿k方向装配不会发生接触;
[0180]
(2)若str
ijk
为正实数,表示零部件i与零部件j之间沿k方向装配时会发生接触,但对装配部件不会造成功能性影响,正实数的数值表示柔性部件在此过程种承受的最大应力值;
[0181]
(3)若str
ijk
为-1,表示零部件i与零部件j之间沿k方向装配时会发生接触,且会对装配部件造成功能性影响,可视作产生干涉现象。一般来说,当柔性部件在装配过程中承受的应力超过其屈服应力时,就会有str
ijk
=-1。
[0182]
当柔性部件为当前被动装配零部件时,str
ijk
的含义不变,差别仅在于柔性部件是否是主动移动的部件。
[0183]
s15、基于步骤s12中记录的应力数值信息对装配应力矩阵的各矩阵元素进行数值填充。
[0184]
在本实施例中,所述步骤s12具体如下:
[0185]
使用ansys仿真软件进行仿真,产品的装配仿真试验过程具体如下:
[0186]
s121、打开ansys workbench,选择geometry工具箱,导入产品零部件对三维模型;
[0187]
s122、选择左侧的static structural工具箱,并将geometry工具箱连入到该工具箱的geometry部分;
[0188]
s123、在static structural工具箱的engineering data部分中,选择好两个零部
件各自的材料,如果没有需要手动设置,其中对于柔性零部件的干涉分析来说比较重要的有:材料密度、材料的弹性模量、材料的泊松比;
[0189]
s124、鼠标双击static structural工具箱的model部分,打开ansys的mechanical模块;
[0190]
s125、在mechanical模块中,首先在geometry分块里将零部件与材料配对好,接着在connection分块里设置好主动件与被动件的接触关系(即为“干涉”可能发生的区域添加接触对),接触分析的算法使用增强拉格朗日算法(augmented lagrange),法向刚度根据实际情况进行相应设置;
[0191]
s126、选择mechanical模块的mesh分块,根据实际情况选择网格单元的类型和大小,网格单元类型尽可能选择六面体,如果希望干涉分析更加精确可以选择更小的单元长度,但是相应的仿真时间也会增长,有一种优化方式是鼠标右键mesh选择insert选择face meshing,这样可以指定特定部分区域的网格单元属性,因此可以将潜在“干涉”区域部分的单元长度设小一点,而其它区域的网格单元可以较为稀疏,这样在缩短了仿真时间的同时也保证了关键区域部分仿真的精度;
[0192]
s127、划分好网格单元后,在static structural分块中为主动件添加位移,设定好位移的方向与距离;为被动件添加固定约束;
[0193]
s128、在static structural分块下属的analysis setting中,将define by设置为substeps(子步),对应的初始子步、最小子步、最大子步则根据实际需要进行相应设置调整;
[0194]
s129、点击solution分块的solve按钮开始仿真,程序运行完毕后可查看对应的结果,如需要查看应力可鼠标右键solution选择insert选择stress;
[0195]
在本实施例中,所述步骤s2具体如下:
[0196]
s21、收集整理bp神经网络训练所需要的产品零部件信息数据;
[0197]
s22、设置bp神经网络隐藏层层数和各层节点个数,隐藏层的节点个数设置如下:
[0198]
隐藏层节点数=2
×
输入层节点数+1
[0199]
s23、投入数据训练bp神经网络并进行准确性验证;
[0200]
在本实施例中,所述步骤s23具体如下:
[0201]
s231、构建单层隐藏层bp神经网络,令bp神经网络的f1维输入向量f2维表示预测结果的输出向量设隐藏层有h个节点,其输出x

=(x0′
,x1′
,...,x
h-1

)
t
,x

∈rh;
[0202]
其中,(
·
)
t
表示转置操作,r表示数域,输入层到隐藏层的权值是ω
ij
,隐藏层各节点的阈值是θj,隐藏层到输出层的权值是ω

jl
,输出层各节点的阈值是θ

l
。则隐藏层节点的输出向量和输出层节点的输出向量结果如下:
[0203]
[0204]
其中,f(x)表示激活函数,负责将神经元的输入映射到输出端:
[0205][0206]
s232、设定实际数据的f2维目标结果向量为目标结果向量一共有p组数据;
[0207]
bp神经网络的任务就是通过不断调整各层的权值与阈值,使得每组数据最终的输出向量y足够接近d。bp神经网络的学习过程由信号的正向传播以及误差的反向传播两个过程组成。在误差反向传播的过程里,误差信号是由输出端起始逐层向输入层传播的,权值也是通过误差反馈来进行调整,这里的误差是最小均方误差,即各输出节点的误差平方之和:
[0208][0209]
其中,表示第p个实际数据个体第l维的目标结果向量,表示第o个实际数据个体第l维的预测结果的输出向量,e也表示损失函数,e越接近0则网络的训练效果越好。
[0210]
利用最小梯度法对神经网络各层的权值ω和阈值θ进行调整,使e变得更小,表达式如下:
[0211][0212]
其中,δλ表示各层ω和θ的修正值,η表示模型的学习率,可看作常数,一般取值在(0,1)之间。
[0213]
s233、计算推导得到的各层ω和θ的修正值具体如下:
[0214]
(1)输出层的阈值修正值:
[0215]
δθ

=-η(d-y)y(1-y)
[0216]
(2)隐藏层到输出层的权值修正值:
[0217]
δω

=η(d-y)y(1-y)x

[0218]
(3)隐藏层的阈值修正值:
[0219]
δθ=-η(d-y)y(1-y)ω

x

(1-x

)
[0220]
其中,ω

表示隐藏层到输出层的权值。
[0221]
(4)输入层到隐藏层的权值修正值:
[0222]
δω=η(d-y)y(1-y)ω

x

(1-x

)x
[0223]
在每一次迭代之后,模型的输出向量y都会更加趋近于实际的结果向量d,e的值也会更趋近于0,当e的精度足够满足实际要求时,则bp神经网络模型训练完成。
[0224]
在本实施例中,所述步骤s3具体如下:
[0225]
s31、设置数学模型的基本假设;
[0226]
(1)装配序列的每一步只装配一个零部件,即在同一时间不会装配多个零部件;
[0227]
(2)装配零部件时只考虑沿标准坐标轴的六个基本装配方向:+x、-x、+y、-y、+z、-z;零部件在装配过程中不考虑会发生装配方向的变更;
[0228]
(3)不考虑装配线的整体空间布局的影响;
[0229]
(4)不考虑工人的休息时间安排等影响。
[0230]
s32、给出数学模型的约束条件:
[0231]
(1)对应于刚性部件的干涉约束,当刚性部件在沿某方向进行装配时,查阅装配干涉矩阵,倘若在过程中与其它部件发生了接触碰撞即装配干涉矩阵对应的矩阵元素为1,则视作发生了干涉现象。该约束对应公式如下式所示:
[0232][0233]
其中,i表示当前装配的零部件在装配方案中的顺序号,其对应的零部件编号为part1;而j从1到i-1表示所有在零部件i之前装配的零部件顺序号,对应的零部件编号为part2,后续约束条件公式中的i,j,part1,part2,意义相同;im表示装配干涉矩阵的矩阵元素,其数值对应下标两零部件的装配干涉信息如下:
[0234][0235]
(2)对应于柔性部件的应力约束,当柔性部件在沿某方向进行装配时,查阅装配应力矩阵,倘若在过程中与其它部件发生了接触碰撞且柔性部件在装配过程中承受的应力最大值超过了部件的屈服极限(即装配应力矩阵对应的矩阵元素为-1),则视作发生了干涉现象,表明柔性部件不能沿此方向进行装配。该约束对应公式如下所示:
[0236][0237]
其中,part1,part2对应的零部件至少有一个为柔性部件,然后根据柔性部件是否为主动件来决定是查阅strma还是strm
p
;str表示装配应力矩阵的矩阵元素,其数值含义见步骤s14。
[0238]
(3)对应于所有零部件的优先级约束,当想要选择某一零部件进行装配时,查阅装配优先矩阵,如果有比当前零部件装配优先级更高的零部件(即装配优先矩阵当前零部件所在列中数值为1的元素,其所在行的对应零部件)还未进行装配,则当前零部件暂时不可进行装配。该约束对应公式如下所示:
[0239][0240]
其中,a表示装配优先矩阵的矩阵元素,其数值表示两个零部件的装配优先信息如下:
[0241]
i.如果a
ij
=1,则表示零部件i必须在零件j之前进行装配;
[0242]
ii.如果a
ij
=0,则表示零部件i不必在零件j之前进行装配;
[0243]
iii.矩阵中a
ii
的值恒为0,没有意义。
[0244]
(4)对应于所有零部件的连接关系约束,当想要选择某一零部件进行装配时,查阅装配连接矩阵,如果没有任何零部件与当前零部件存在连接关系,则当前零部件暂时不可进行装配。该约束对应公式如下所示:
[0245][0246]
其中,c表示装配连接矩阵的矩阵元素,其数值所代表两个零部件的装配连接信息如下:
[0247]
i.若c
ij
=0,表示零件i与零件j不存在连接关系;
[0248]
ii.若c
ij
=1,表示零件i与零件j存在接触连接关系;
[0249]
iii.若c
ij
=2,表示零件i与零件j存在稳定的连接关系;
[0250]
iv.矩阵中c
ii
的值恒为0,没有意义。
[0251]
s33、给出数学模型的评价指标:
[0252]
(1)柔性部件在装配过程中累计的最大应力值之和t1,这个值越小代表柔性部件在装配时越省力,柔性部件在装配后保持原有形状与功能的程度越好。t1通过查阅strm矩阵计算具体数值。
[0253]
(2)柔性部件与刚性部件的装配切换次数t2,每次当前装配的零部件在刚柔属性上与上一装配零部件不同时+1。考虑到柔性部件和刚性部件往往在不同的车间进行装配,这个值越小代表柔性部件在装配时的集中程度越高,越能解释产品在装配过程中的时间成本与物流成本。
[0254]
(3)装配方向改变次数t3,当装配序列中前后相邻零部件的装配方向不相同时次数+1。装配方向改变次数越少,代表在实际生产中当前进度的装配体所需做的空间姿态调整就越少,因为装配工具如机械臂的位置往往是固定的,如果需要改变装配方向,往往需要装配体自身改变位姿来达到相同的效果。频繁的改变装配方向会耗费更多的装配体位姿调整时间。
[0255]
(4)装配工具变换次数t4,当装配序列中前后相邻零部件所使用的装配工具不相同时次数+1。当装配工具需要变换时,如果新工具不在当前车间则需要将装配体运往新车间,即使新工具在同一车间,往往也需要对工具进行拆装更换或者是操作设置上的更改,这些也会耗费更多的装配时间。
[0256]
(5)装配零部件的不稳定连接度t5,当前装配的零部件在到达其装配位置后,如果还没有与其保持稳定连接关系的已装配零部件,则该值+1。当不稳定连接度较高时,在装配过程中零部件的稳定性不高,可能需要辅助工具进行固定,耗费了更多的资源。
[0257]
(6)装配体的不稳定支撑度t6,当前零部件在到达其装配位置后,如果还没有为其提供稳定支撑的已装配零部件,则该值+1。类似于上一条,越高的支撑不稳定度需要在装配过程中投入更多辅助工具来协助装配。
[0258]
s34、通过模糊层次分析法计算六个评价指标各自对应的权重值,依次记为w1到w6;
[0259]
s35、给出考虑柔性部件特性的装配序列规划数学模型;
[0260]
适应度函数:
[0261]
min f(x)=w1·
t1(x)+w2·
t2(x)+w3·
t3(x)+w4·
t4(x)+w5·
t5(x)+w6·
t6(x)
[0262]
约束条件:
[0263][0264][0265][0266][0267]
如图2所示,改进花朵授粉算法流程图。
[0268]
在本实施例中,所述步骤s4具体如下:
[0269]
s41、输入相关参数,包括花朵的种群规模,迭代次数,各种概率的具体数值;
[0270]
s42、录入产品的相关装配关系矩阵信息;
[0271]
s43、初始化种群,随机产生第一批初始可行解;
[0272]
设花朵群x共有n朵花朵个体向量,总共通过授粉迭代total次,第t次迭代后的花朵群的表现形式如下:
[0273][0274]
其中,表示花朵第n个个体迭代了t次的表现,n表示零部件总个数。
[0275]
s44、对初始种群进行第一次适应度值计算,计算的数据依据步骤s42中的装配关系矩阵,依据步骤s3构建的装配序列规划问题优化模型,找出当前种群的最优花朵个体;
[0276]
s45、对花朵种群的每一个个体依次遍历授粉,按照指定的全局寻优或局部寻优规则进行计算,产生对应的新个体;
[0277]
s46、经过更新后的花朵个体并不一定符合可行装配序列的要求,第一是序列中可能会出现无意义的零或负数等,第二是序列中会出现超过产品零部件总数大小的零部件编号,第三是零部件的先后顺序可能不符合要求;因此需要对新个体进行数值修正,符合可行装配序列的要求;
[0278]
s47、判断新个体是否发生自身变异,如变异需要再次对结果进行数值修正,否则跳转下一步;
[0279]
s48、对所有的新个体进行适应度值计算,找出新一轮迭代中种群的最优花朵个体;
[0280]
如果适应度符合要求或者迭代次数达到上限则输出最优解并转化成对应的装配序列信息,否则跳转至步骤s45进行下一轮迭代。
[0281]
在本实施例中,所述步骤s45具体如下:
[0282]
s451、花朵个体的寻优方式通过授粉模式切换概率pswitch∈[0,1]与每轮迭代中不同个体各自产生的随机值rand调节,rand<pswitch则使用全局寻优方式更新个体,否则使用局部寻优方式更新个体;
[0283]
授粉模式切换概率pswitch是动态的,其值会随着迭代次数发生变化,pswitch的计算公式如下:
[0284][0285]
其中,表示种群第i个个体在第t次迭代中的授粉模式切换概率,pswitch
min
和pswitch
max
分别表示pswitch在整个寻优过程中的最小值和最大值,根据具体问题自行设定;
[0286]
s452、对于全局寻优过程,有:
[0287][0288]
其中,表示迭代到第t+1次的花朵个体i的表现,表示花朵个体i在上一轮迭代中的表现;表示的是上一轮中花朵群中表现得最好的花朵个体,可视为当前的最优解;γ表示控制生物媒介移动步长比例的因子,是一个常数;l(λ)表示基于莱维飞行的步长大小,其具体数值由莱维飞行随机得出。均表示花朵群在经过t次迭代后从种群中随机抽取的两个不同个体,τ表示满足[0,1]均匀分布的随机数;
[0289]
对于莱维飞行,有:
[0290][0291]
其中,γ(λ)表示标准伽马函数,λ一般的取值为1.5,对应的伽马函数值为0.88;s表示利用mantegna算法产生的步长:
[0292][0293]
其中,μ和ν均服从正态分布,且μ~n(0,1)即标准正态分布,ν~n(0,σ2),对应的方差σ2的计算公式如下:
[0294][0295]
s453、对于局部寻优过程,采用精英变异的改进策略,在局部搜索中同样设置一个概率pe,然后每一个进行局部寻优的花朵个体,都需要产生一个满足[0,1]均匀分布的随机数rande,有:
[0296][0297]
其中,表示花朵群在经过t次迭代后从种群中随机抽取的六个不同的个体;ε1、ε2、ε表示服从均值为0.5,标准差为0.1的高斯随机分布数;
[0298]
对于pe,其值为:
[0299][0300]
新的个体生成完毕后,对其生成一个在[0,1]之间均匀分布的随机数pv,同时设定一个花朵个体变异概率p
vr
,如果有pv《p
vr
,则随机交换该个体向量上的信息位点4次,视作个体发生了变异,否则不进行任何操作。
[0301]
在本实施例中,所述步骤s46具体如下:
[0302]
s461、统计出当前个体序列中缺失的待装配零部件编号,存入备选集合中;
[0303]
s462、对于新个体中超过产品零部件总数大小的当前数字编号,在备选集合中寻找是否有零部件编号大于该个体原序列对应排序位的零部件编号;
[0304]
如果有则从中随机抽取一项代替当前数字编号;如果没有则从集合中抽取最大值代替;操作完毕后将代替零部件编号从备选集合中删去。
[0305]
s463、对于负数,同样在备选集合中寻找是否有零部件编号小于个体原序列对应排序位的零部件编号;
[0306]
如果有则从中随机抽取一项代替当前负数;如果没有则从备选集合中抽取最小值代替;操作完毕后将代替零部件编号从备选集合中删去;
[0307]
s464、对于零则找寻备选集合中是否存在编号与该个体原序列对应排序位相同的零部件编号;
[0308]
存在即用该零部件编号代替,否则从集合中随机抽取一零部件编号代替;操作完毕后将代替零部件编号从备选集合中删去;
[0309]
s465、对于向量中的重复零部件编号,将除首位的其余重复编号用备选集合中剩余的零部件编号依次代替;
[0310]
s466、基于步骤s461-s465,此时新个体序列中的零部件编号大小符合要求,最后通过装配优先矩阵,把向量中的各零部件编号按照产品零部件装配优先的先后顺序进行调整,符合可行装配序列的要求,至此所有处理完毕,新的花朵个体产生。
[0311]
如图3所示,本实施例中示例产品的模型与零部件编号示意图,图4为装配优先关系图;在本实施例中,含柔性部件的产品包括24个零部件,其中,零件2,3,4,5,16,17,18,19,24是可以承受一定形变的柔性零件,共计9个,占零部件总数的25%。各零部件使用的装配工具种类编号如表1所示。
[0312]
表1
[0313]
零部件编号装配工具种类编号1tool12tool23tool24tool25tool26tool37tool38tool39tool310tool411tool412tool113tool114tool115tool1
16tool217tool218tool219tool220tool321tool322tool323tool324tool2
[0314]
本实施例产品中的柔性部件均是一种pvc材料,其屈服极限约为90mpa。对于刚性部件6、8,当装配方向为+y方向时,其搭配的柔性部件2、4承受的最大应力值为85.305mpa,当装配方向为-z方向时,柔性部件2、4承受的最大应力值为59.396mpa;同理刚性部件7、9沿+y方向装配时其搭配的柔性部件3、5的承受最大应力是85.305mpa,沿+z方向装配柔性部件3、5的承受最大应力是59.396mpa;对于刚性部件20、21,其搭配的柔性部件分别为16、17,18、19,经过仿真测试后,可行的装配方向只有沿-x方向,柔性部件16、17,18、19在此过程中承受的最大应力值为34.252mpa;对于柔性部件24,当装配方向为+x方向时,其承受的应力值为57.638mpa,当装配方向为
±
y,
±
z方向时,其承受的应力值为22.874mpa。
[0315]
本实施例中产品各零部件的装配优先矩阵见图5,沿+x,-x,+y,-y,+z,-z方向的装配应力矩阵依次见图6、7、8、9、10、11,装配连接矩阵见图12,装配支撑矩阵见图13。
[0316]
经过模糊层次分析法计算得到各指标相应权重值:经过多位专家评定并取平均值后的判断矩阵(横坐标从左至右,纵坐标从上到下依次为评价指标t1到t6)如表2所示:
[0317]
表2
[0318] t1t2t3t4t5t6t10.5000.6100.7200.6600.8800.780t20.3900.5000.5800.5300.7900.710t30.2800.4200.5000.4500.7100.640t40.3400.4700.5500.5000.7700.700t50.1200.2100.2900.2300.5000.600t60.2200.2900.3600.3000.4000.500
[0319]
模糊层次分析法获取权重值的流程具体如下:
[0320]
将表2转换为6
×
6的矩阵,第i行第j列的矩阵元素记为jm
ij
,首先求取判断矩阵各行的和ri:
[0321][0322]
接着按照下面的计算公式对矩阵内各元素数值进行变换:
[0323][0324]
第i个评价指标的最终权重值wi的计算公式如下:
[0325][0326]
其中:
[0327][0328]
经过模糊层次分析法后续计算,得到柔性部件在装配过程中累计最大应力值之和的对应权重值w1=0.213(由于应力数值变化幅度较大,经过多次测试调整后将w1的值再除以20,因此最终对应的w1=0.01065),柔性部件与刚性部件装配切换次数的对应权重值w2=0.186,装配方向改变次数的对应权重值w3=0.166,装配工具变换次数的对应权重值w4=0.180,装配零部件不稳定连接度的对应权重值w5=0.125,装配体支撑不稳定度的对应权重值的对应权重值w6=0.130。
[0329]
根据得到的数据对改进花朵授粉算法的各参数进行适当调整,将花朵种群的个数分组依次设为1000个,最大迭代次数为300次,pswitch
max
为0.9,pswitch
min
为0.2,p
var
为0.1,经过多次测试后,花朵授粉算法搜索出来的最优装配序列方案为:
[0330]
步骤1:沿+x方向装配零部件1;
[0331]
步骤2:沿+x方向装配零部件22;
[0332]
步骤3:沿+x方向装配零部件23;
[0333]
步骤4:沿+x方向装配零部件24;
[0334]
步骤5:沿+y方向装配零部件18;
[0335]
步骤6:沿+y方向装配零部件3;
[0336]
步骤7:沿+y方向装配零部件2;
[0337]
步骤8:沿-x方向装配零部件17;
[0338]
步骤9:沿-x方向装配零部件16;
[0339]
步骤10:沿+y方向装配零部件5;
[0340]
步骤11:沿+y方向装配零部件4;
[0341]
步骤12:沿+y方向装配零部件19;
[0342]
步骤13:沿-x方向装配零部件20;
[0343]
步骤14:沿-x方向装配零部件21;
[0344]
步骤15:沿-z方向装配零部件8;
[0345]
步骤16:沿-z方向装配零部件6;
[0346]
步骤17:沿+z方向装配零部件7;
[0347]
步骤18:沿+z方向装配零部件9;
[0348]
步骤19:沿+z方向装配零部件11;
[0349]
步骤20:沿+z方向装配零部件10;
[0350]
步骤21:沿+z方向装配零部件13;
[0351]
步骤22:沿+z方向装配零部件15;
[0352]
步骤23:沿-z方向装配零部件12;
[0353]
步骤24:沿-z方向装配零部件14。
[0354]
此方案的对应目标函数值为9.87768,在装配过程中各柔性部件累计承受的最大应力值为363.726mpa,柔性部件与刚性部件装配切换次数为2次,装配方向改变了7次,装配工具改变了5次,装配零部件不稳定连接度为14,装配体支撑不稳定度为14。
[0355]
综上,本发明的方法参考生产的具体情况,分析柔性部件在装配过程中与传统刚性部件的物理属性差异以及柔性零部件对装配过程的影响因素,基于柔性部件的物理特性,为柔性部件建立有别于刚性部件的碰撞干涉判定标准,同时考虑柔性部件在装配过程中所承受最大应力的大小对装配难度、零部件使用寿命的影响以及柔性部件与刚性部件在装配时所使用车间通常不同的影响,所生成的装配序列能够更加满足含柔性部件产品的实际装配要求,能更好的优化包含柔性部件的工业产品的相应装配序列规划,最终给出科学的、高效的生产方案。
[0356]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

技术特征:
1.一种考虑柔性部件特性的装配序列规划方法,具体步骤如下:s1、设计用于存储柔性部件在装配过程中所承受最大应力信息的装配应力矩阵;s2、使用投入数据训练后的bp神经网络加快装配应力矩阵的矩阵元素提取速度;s3、建立考虑柔性部件特性的装配序列规划数学模型,将柔性部件对装配过程的影响以约束条件和评价指标的形式融入到数学模型中;s4、使用改进的离散化花朵授粉算法对数学模型进行求解。2.根据权利要求1所述的一种考虑柔性部件特性的装配序列规划方法,其特征在于,所述步骤s1具体如下:s11、获取产品各零部件的相关信息,包括外部尺寸信息和材料信息;s12、建立产品的三维mbd模型,其零部件每两个一组在仿真软件中进行装配仿真试验,记录柔性部件从装配起始位置,通过平移的方式到达目标位置的装配过程中所承受的最大应力数值;s13、基于产品的零部件数量和柔性部件所占比例建立相应规格的装配应力矩阵,矩阵记为strm,根据柔性部件的装配方向和柔性部件是否为主动装配部件对矩阵进行分组;设定产品共含有n个零部件,这n个零部件中包含m个柔性部件,零部件的可用装配方向分为+x、-x、+y、-y、+z、-z六种方向,则该产品的完整装配应力矩阵的规格为:(1)柔性部件为当前主动装配零部件时:m
×
n
×
6,此时的矩阵记为strm
a
;(2)柔性部件不为当前主动装配零部件时:n
×
m
×
6,此时的矩阵记为strm
p
;s14、明确不同矩阵元素数值大小所对应的含义;设定装配方向代号为k,且k为整数,1≤k≤6,依次对应六种装配方向;当以柔性部件为当前主动装配零部件的装配应力矩阵时,矩阵内第i行第j列的矩阵元素str
ijk
(1≤i≤m,1≤j≤n,1≤k≤6,i,j,k均为整数)的定义具体如下:(1)若str
ijk
为0,表示零部件i与零部件j之间沿k方向装配不会发生接触;(2)若str
ijk
为正实数,表示零部件i与零部件j之间沿k方向装配时会发生接触,但对装配部件不会造成功能性影响,正实数的数值表示柔性部件在此过程种承受的最大应力值;(3)若str
ijk
为-1,表示零部件i与零部件j之间沿k方向装配时会发生接触,且会对装配部件造成功能性影响,可视作产生干涉现象,当柔性部件在装配过程中承受的应力超过其屈服应力时,str
ijk
=-1;当柔性部件为当前被动装配零部件时,str
ijk
的含义不变;s15、基于步骤s12中记录的应力数值信息对装配应力矩阵的各矩阵元素进行数值填充。3.根据权利要求2所述的一种考虑柔性部件特性的装配序列规划方法,其特征在于,所述步骤s12中,在仿真软件中,产品的装配仿真试验过程具体如下:s121、导入产品三维模型;s122、选择好待仿真两个零部件各自的材料,如果没有则手动设置相关信息参数;其中,柔性零部件的干涉分析包括:材料密度、材料的弹性模量、材料的泊松比;s123、设置好主动件与被动件的接触关系;s124、进行网格划分s125、划分好网格单元后,为主动件添加位移,设定好位移的方向与距离,为被动件添
加固定约束;s126、设置仿真的子步;s127、运行仿真程序并在仿真结束后查阅结果。4.根据权利要求1所述的一种考虑柔性部件特性的装配序列规划方法,其特征在于,所述步骤s2具体如下:s21、收集整理bp神经网络训练所需要的产品零部件信息数据;s22、设置bp神经网络隐藏层层数和各层节点个数;隐藏层的节点个数设置如下:隐藏层节点数=2
×
输入层节点数+1s23、投入数据训练bp神经网络并进行准确性验证。5.根据权利要求4所述的一种考虑柔性部件特性的装配序列规划方法,其特征在于,所述步骤s23具体如下:s231、构建单层隐藏层bp神经网络,令bp神经网络的f1维输入向量f2维表示预测结果的输出向量设隐藏层有h个节点,其输出x

=(x0′
,x1′
,...,x
h-1

)
t
,x

∈r
h
;其中,(
·
)
t
表示转置操作,r表示数域,输入层到隐藏层的权值是ω
ij
,隐藏层各节点的阈值是θ
j
,隐藏层到输出层的权值是ω

jl
,输出层各节点的阈值是θ

l
;则隐藏层节点的输出向量和输出层节点的输出向量结果如下:其中,f(x)表示激活函数,负责将神经元的输入映射到输出端:s232、设定实际数据的f2维目标结果向量为目标结果向量一共有p组数据;各输出节点的误差平方之和如下:其中,表示第p个实际数据个体第l维的目标结果向量,y
l(p)
表示第p个实际数据个体第l维的预测结果的输出向量,e表示损失函数,e越接近0则网络的训练效果越好;利用最小梯度法对神经网络各层的权值ω和阈值θ进行调整,使e变得更小,表达式如下:
其中,δλ表示各层ω和θ的修正值,η表示模型的学习率,可看作常数,取值在(0,1)之间;s233、计算推导得到的各层ω和θ的修正值具体如下:(1)输出层的阈值修正值:δθ

=-η(d-y)y(1-y)(2)隐藏层到输出层的权值修正值:δω

=η(d-y)y(1-y)x

(3)隐藏层的阈值修正值:δθ=-η(d-y)y(1-y)ω

x

(1-x

)其中,ω

表示隐藏层到输出层的权值;(4)输入层到隐藏层的权值修正值:δω=η(d-y)y(1-y)ω

x

(1-x

)x在每一次迭代之后,模型的输出向量y更加趋近于实际的结果向量d,e的值更趋近于0,当e的精度足够满足实际要求时,则bp神经网络模型训练完成。6.根据权利要求1所述的一种考虑柔性部件特性的装配序列规划方法,其特征在于,所述步骤s3具体如下:s31、设置数学模型的基本假设;(1)装配序列的每一步只装配一个零部件,即在同一时间不会装配多个零部件;(2)装配零部件时只考虑沿标准坐标轴的六个基本装配方向:+x、-x、+y、-y、+z、-z,零部件在装配过程中不考虑会发生装配方向的变更;(3)不考虑装配线的整体空间布局的影响;(4)不考虑工人的休息时间安排等影响;s32、给出数学模型的约束条件;(1)对应于刚性部件的干涉约束,当刚性部件在沿某方向进行装配时,查阅装配干涉矩阵,倘若在过程中与其它部件发生了接触碰撞,即装配干涉矩阵对应的矩阵元素为1,则视作发生了干涉现象;该约束对应公式如下式所示:其中,i表示当前装配的零部件在装配方案中的顺序号,其对应的零部件编号为part1;而j从1到i-1表示所有在零部件i之前装配的零部件顺序号,对应的零部件编号为part2,后续约束条件公式中的i,j,part1,part2,意义相同;im表示装配干涉矩阵的矩阵元素,其数值对应下标两零部件的装配干涉信息如下:
(2)对应于柔性部件的应力约束,当柔性部件在沿某方向进行装配时,查阅装配应力矩阵,倘若在过程中与其它部件发生了接触碰撞且柔性部件在装配过程中承受的应力最大值超过了部件的屈服极限,即装配应力矩阵对应的矩阵元素为-1,则视作发生了干涉现象,表明柔性部件不能沿此方向进行装配;该约束对应公式如下所示:其中,part1,part2对应的零部件至少有一个为柔性部件,然后根据柔性部件是否为主动件来决定是查阅strm
a
还是strm
p
;str表示装配应力矩阵的矩阵元素,其数值含义见步骤s14;(3)对应于所有零部件的优先级约束,当想要选择某一零部件进行装配时,查阅装配优先矩阵,如果有比当前零部件装配优先级更高的零部件,即装配优先矩阵当前零部件所在列中数值为1的元素所在行的对应零部件,还未进行装配,则当前零部件暂时不可进行装配;该约束对应公式如下所示:其中,a表示装配优先矩阵的矩阵元素,其数值表示两个零部件的装配优先信息,具体如下:i.如果a
ij
=1,则表示零部件i必须在零件j之前进行装配;ii.如果a
ij
=0,则表示零部件i不必在零件j之前进行装配;iii.矩阵中a
ii
的值恒为0,没有意义;(4)对应于所有零部件的连接关系约束,当想要选择某一零部件进行装配时,查阅装配连接矩阵,如果没有任何零部件与当前零部件存在连接关系,则当前零部件暂时不可进行装配;该约束对应公式如下所示:其中,c表示装配连接矩阵的矩阵元素,其数值所代表两个零部件的装配连接信息,具体如下:i.若c
ij
=0,表示零件i与零件j不存在连接关系;ii.若c
ij
=1,表示零件i与零件j存在接触连接关系;
iii.若c
ij
=2,表示零件i与零件j存在稳定的连接关系;iv.矩阵中c
ii
的值恒为0,没有意义;s33、给出数学模型的评价指标;(1)柔性部件在装配过程中累计的最大应力值之和t1,通过查阅strm矩阵计算t1具体数值;(2)柔性部件与刚性部件的装配切换次数t2,每次当前装配的零部件在刚柔属性上与上一装配零部件不同时+1;(3)装配方向改变次数t3,当装配序列中前后相邻零部件的装配方向不相同时次数+1;(4)装配工具变换次数t4,当装配序列中前后相邻零部件所使用的装配工具不相同时次数+1;(5)装配零部件的不稳定连接度t5,当前装配的零部件在到达其装配位置后,如果还没有与其保持稳定连接关系的已装配零部件,则该值+1;(6)装配体的不稳定支撑度t6,当前零部件在到达其装配位置后,如果还没有为其提供稳定支撑的已装配零部件,则该值+1;s34、通过模糊层次分析法计算六个评价指标各自对应的权重值,依次记为w1到w6;s35、给出考虑柔性部件特性的装配序列规划数学模型;适应度函数:minf(x)=w1·
t1(x)+w2·
t2(x)+w3·
t3(x)+w4·
t4(x)+w5·
t5(x)+w6·
t6(x)约束条件:约束条件:约束条件:约束条件:7.根据权利要求1所述的一种考虑柔性部件特性的装配序列规划方法,其特征在于,所述步骤s4具体如下:s41、输入相关参数,包括花朵的种群规模,迭代次数,各种概率的具体数值;s42、录入产品的相关装配关系矩阵信息;s43、初始化种群,随机产生第一批初始可行解;设花朵群x共有n朵花朵个体向量,总共通过授粉迭代total次,第t次迭代后的花朵群的表现形式如下:其中,表示花朵第n个个体迭代了t次的表现,n表示零部件总个数;s44、对初始种群进行第一次适应度值计算,计算的数据依据步骤s42中的装配关系矩
阵,依据步骤s3构建的装配序列规划问题优化模型,找出当前种群的最优花朵个体;s45、对花朵种群的每一个个体依次遍历授粉,按照指定的全局寻优或局部寻优规则进行计算,产生对应的新个体;s46、对新个体进行数值修正,使其符合可行装配序列的要求;s47、判断新个体是否发生自身变异,如变异需要再次对结果进行数值修正,否则跳转下一步;s48、对所有的新个体进行适应度值计算,找出新一轮迭代中种群的最优花朵个体;如果适应度符合要求或者迭代次数达到上限则输出最优解并转化成对应的装配序列信息,否则跳转至步骤s45进行下一轮迭代。8.根据权利要求7所述的一种考虑柔性部件特性的装配序列规划方法,其特征在于,所述步骤s45具体如下:s451、花朵个体的寻优方式通过授粉模式切换概率pswitch∈[0,1]与每轮迭代中不同个体各自产生的随机值rand调节,rand<pswitch则使用全局寻优方式更新个体,否则使用局部寻优方式更新个体;授粉模式切换概率pswitch值随着迭代次数发生变化,pswitch的计算公式如下:其中,表示种群第i个个体在第t次迭代中的授粉模式切换概率,pswitch
min
和pswitch
max
分别表示pswitch在整个寻优过程中的最小值和最大值,根据具体问题自行设定;s452、对于全局寻优过程,有:其中,表示迭代到第t+1次的花朵个体i的表现,表示花朵个体i在上一轮迭代中的表现;表示的是上一轮中花朵群中表现得最好的花朵个体,可视为当前的最优解;γ表示控制生物媒介移动步长比例的因子,是一个常数;l(λ)表示基于莱维飞行的步长大小,其具体数值由莱维飞行随机得出;均表示花朵群在经过t次迭代后从种群中随机抽取的两个不同个体,τ表示满足[0,1]均匀分布的随机数;对于莱维飞行,有:其中,γ(λ)表示标准伽马函数,λ一般的取值为1.5,对应的伽马函数值为0.88;s表示利用mantegna算法产生的步长:其中,μ和ν均服从正态分布,且μ~n(0,1)即标准正态分布,ν~n(0,σ2),对应的方差σ2的计算公式如下:
s453、对于局部寻优过程,采用精英变异的改进策略,在局部搜索中同样设置一个概率p
e
,然后每一个进行局部寻优的花朵个体,都需要产生一个满足[0,1]均匀分布的随机数rand
e
,有:其中,表示花朵群在经过t次迭代后从种群中随机抽取的六个不同的个体;ε1、ε2、ε表示服从均值为0.5,标准差为0.1的高斯随机分布数;对于p
e
,其值为:新的个体生成完毕后,对其生成一个在[0,1]之间均匀分布的随机数p
v
,同时设定一个花朵个体变异概率p
vr
,如果有p
v
<p
vr
,则随机交换该个体向量上的信息位点4次,视作个体发生了变异,否则不进行任何操作。9.根据权利要求7所述的一种考虑柔性部件特性的装配序列规划方法,其特征在于,所述步骤s46具体如下:s461、统计出当前个体序列中缺失的待装配零部件编号,存入备选集合中;s462、对于新个体中超过产品零部件总数大小的当前数字编号,在备选集合中寻找是否有零部件编号大于该个体原序列对应排序位的零部件编号;如果有则从中随机抽取一项代替当前数字编号;如果没有则从集合中抽取最大值代替;操作完毕后将代替零部件编号从备选集合中删去;s463、对于负数,同样在备选集合中寻找是否有零部件编号小于个体原序列对应排序位的零部件编号;如果有则从中随机抽取一项代替当前负数;如果没有则从备选集合中抽取最小值代替;操作完毕后将代替零部件编号从备选集合中删去;s464、对于零则找寻备选集合中是否存在编号与该个体原序列对应排序位相同的零部件编号;存在即用该零部件编号代替,否则从集合中随机抽取一零部件编号代替;操作完毕后将代替零部件编号从备选集合中删去;s465、对于向量中的重复零部件编号,将除首位的其余重复编号用备选集合中剩余的零部件编号依次代替;s466、基于步骤s461-s465,此时新个体序列中的零部件编号大小符合要求的,最后通过装配优先矩阵,把向量中的各零部件编号按照产品零部件装配优先的先后顺序进行调整,符合可行装配序列的要求,至此所有处理完毕,新的花朵个体产生。

技术总结
本发明公开了一种考虑柔性部件特性的装配序列规划方法,首先设计用于存储柔性部件在装配过程中所承受最大应力信息的装配应力矩阵,使用投入数据训练后的BP神经网络加快装配应力矩阵的矩阵元素提取速度,再建立考虑柔性部件特性的装配序列规划数学模型,将柔性部件对装配过程的影响以约束条件和评价指标的形式融入到数学模型中,最后使用改进的离散化花朵授粉算法对数学模型进行求解。本发明的方法深入研究和分析了柔性部件对产品装配的约束影响和效率影响,建立了更符合含柔性部件产品装配要求的数学模型,并为模型设计了可行且优化效果不错的寻优算法,有利于指导企业生产,提高装配效率,节约装配成本,提高企业产品市场竞争力。场竞争力。场竞争力。


技术研发人员:鲁聪 张锦程 余熠 杨靖 张文甲
受保护的技术使用者:电子科技大学
技术研发日:2023.06.06
技术公布日:2023/9/12
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐