张 晶 崔汉国 朱石坚
(海军工程大学船舶动力学院 武汉 430033)
目前的装配序列规划研究[1-3]主要有两类:(1)根据约束条件推理生成可行装配序列,然后再进行优选(约束推理法、拆分法、基于知识和事例的方法等);(2)利用现代优化方法进化生成可行装配序列,边生成边筛选(遗传算法、模拟退火算法等).本文提出并实现了一种基于人工神经网络的装配序列规划方法,达到对装配序列进行准确预测的目的.
本文采用联系矩阵C描述零件之间的连接情况,C与直角坐标方向无关,是一个n×m的矩阵(其中n为零件的数目,m为零件之间连接的数目).连接可以分为紧固连接和非紧固连接(或称一般连接).前者如螺纹接合、咬接、焊接和粘接等,后者如两相邻零件简单地相对或接触等.对于零件pi和pj,矩阵C中元素Cir和Cjr在非紧固连接时设置为1,在紧固连接时设置为2;r列中其他元素设置为0.
为直观方便起见,在以下分析中,对联系矩阵辅之以图的方式来表达,将之称为联系图.联系图是有向图,其结点是装配体中的零件,有向弧表示零件之间的联系或配合情况,若零件pi在方向k上和零件pj存在联系或配合关系,则在k方向的联系图中连接零件pi和零件pj的有向弧将由pi指向pj,如图1所示.
图1 装配联系图
爆炸图是组成产品的零件的散列展开图,定义某直角方向的局部爆炸图为沿该方向散开的零件的散开序列.在生成爆炸图时,需要选择一个零件作为基础件,然后以基础件为分界确立各方向的联系图,从各方向的联系图分别利用相应规则生成各方向相应的爆炸图.
对与连接矩阵C中每一个零件相关的连接进行数量加总(紧固连接算作2,非紧固连接算作1),加总后最大值所对应的零件即为基础件.通常,基础件与其他零件的连接最多,而与连接紧固与否并无绝对关系,因而可以仅依据连接矩阵简单计数每一个零件的连接,连接数最多的零件即为基础件.一般在装配时,基础件最先装配;而在拆卸时,基础件最后拆卸.另外,基础件一般不包含在任何子装配体中.
基础件确定以后,利用基础件,可以生成方向k的联系图,这是通过删除对应联系图中所有在方向k在k方向上零件pi落在零件pj的后面,则在k方向联系图中,存在由pi指向pj的有向弧,或者存在由pi指向pj的有向路径.也可根据联系矩阵的性质,先通过删除k方向对应联系矩阵中所有在方向k上、不落在基础件后面的零件及其联系,然后对余下矩阵转置(将余下的图中的弧反向)来完成上述操作.
由k方向的联系图,基于规则生成k方向爆炸图的算法如下.
步骤1k方向的联系图反向.
步骤2删除图中冗余的弧.
步骤3从修改后的联系图中,寻找一个无父结点的零件结点P,检查是否存在一个从P开始的所有零件结点的线性序列.如果有,k方向爆炸图生成,算法结束;否则,转步骤3.
步骤4进行所有零件结点的遍历.从一个无父结点的零件结点出发,仅仅沿着惟一的弧(指既无多个子结点,又无多个父结点)搜索;当遇到不唯一的弧时,运用规则对相关的零件结点进行k方向上的爆炸或拆卸先后的排序,然后返回步骤3.
本文使用惩罚指数(penalty index)[6-7]来描述装配难度级别.表1给出了在某种情况下惩罚指数的定义.
表1 惩罚指数表
惩罚矩阵(penalty matrix)P可以综合各个独立因素对部件装配难度影响.本文采用如下的公式来计算惩罚矩阵
式中:pijk为在因素k下,部件pi和pj之间的惩罚指数;m为需要考虑的独立因素的个数;wk为在k因素下pijk所占的权重.
在实际应用中,设计者可以设定不同的wk来适应不同的装配系统.
本文中,利用梯度算法来寻找权值的变化和误差能量函数的最小值.转移函数选用tan-sigmoid函数.均方根误差函数(RMDE)的定义
式中:d为目标矢量;y为输出矢量;N为矢量维数.
终止迭代的临界条件是:(1)均方根误差函数值降到预先设定的合理范围;(2)迭代次数达到预先的设定;(3)训练样本和测试数据发生交叉验证.
本文采用如下的公式进行数据的预处理
式中:PN为规范后的数据;P为原始数据;Pmin为原始数据的最小值;Pmax为原始数据的最大值;Smax为预期规范后的数据最大值;Smin为预期规范后的数据最小值.
步骤1初始化权值W和阈值b,把所有权值和阈值都设置成较小的随机数.
步骤2提供训练样本集,包括输入向量P和要求的预期输出T.
步骤3计算隐含层和输出层的输出.
步骤4调整权值和阈值.
步骤5计算均方根误差函数.
步骤6循环步骤2~步骤5,直至满足终止迭代的临界条件.
选取一个由16个部件组成的装配体作为训练样本,同时采用了一个平口钳(如图2所示)作为验证样本.
选取待装配产品的装配联系值(assembly incidence,AI)、惩罚值(total penalty value,TPV)、特征数目(feature number,FN)和重量(weight)作为BP网络的输入变量,装配序列号作为输出变量.
图2 平口钳的爆炸图
AI,TPV的定义分别如下.
式中:Cik为连接联系矩阵的元素;m为联系矩阵Cij的列数.
式中:Pik为连接惩罚矩阵的元素;m为惩罚矩阵Pij的列数.
FN为部件的特征数目,一般由CAD建模软件自动生成,本文由UG生成.重量(weight)可以是实际重量也可采用CAD软件自动计算得出.本文训练样本的重量由实际测试得出,验证样本的重量由UG自动生成.表2是训练样本的输入、输出变量明细,表3是验证样本的输入变量明细.
BPNN由3层组成,即:由4个神经元组成的输入层(每个神经元对应1个输入变量,分别为装配联系值AI、惩罚值TPV、特征数目FN、重量(weight)、由n个神经元组成的隐含层以及由1个神经元组成的输出层(对应1个输出变量,即装配序列号),拓扑结构为4-n-1.建模按以下步骤进行.
表2 训练样本输入、输出变量明细表
表3 验证样本输入变量明细表
1)样本数据的初始化 将样本数据中的输入、输出变量归一化至[0.1,0.9].
2)网络结构的初始化 神经元激活函数选取tan-sigmoid型函数,取隐含层神经元个数初始值n=20,在训练过程中进行隐含层节点的动态删减.采用 Nguyen-Widrow方法[8]和权值空间逐步搜索算法[9]进行权值的初始化.
3)网络的自适应训练 将归一化后的样本数据提交给网络,应用带动量的自适应学习速率梯度下降算法进行反复批量训练,直到网络结构最精简,同时学习误差满足要求为止.这时,BPNN拓扑结构为4-15-1,模型建立完成.图3是该BP网络模型训练的均方根误差函数RMSE的变化情况.
图3 BP网络模型训练的均方误差变化
用训练好的BP网络对测试样本(平口钳)的装配序列进行预测,预测结果如图4所示.网络的输出值为归一到[0.1,0.9]的装配序列号.从图上可以得出平口钳的装配序列为P1→P9→P8→P7→P4→P3→P6→P5→P2→P10.这与实际的最优装配序列完全吻合.因此基于人工神经网络的装配序列规划算法可以正确地预测出装配体的装配序列.
图4 测试样本的预测、实际序列输出图
本文用装配联系矩阵、装配联系图、惩罚矩阵来表示装配体,能够表达零件之间优先关系、装配代价.该模型允许新增优先约束、装配可行性信息,具有较强的可扩充性和实用性.基于上述信息,建立了基于人工神经网络的装配序列规划算法,对装配序列进行了预测.实践证明,该方法是一个行之有效的复杂产品装配序列规划方法,能够高效快速地搜索到具有工程实际意义的最优或近优装配序列,且已应用到实际的工程项目中.
[1]张伯鹏.数字化制造是先进制造技术的核心技术[J].制造业自动化,2000(2):1-5.
[2]严晓光,高艳丽,耿 标.计算机辅助装配顺序规划技术概述[J].CAD/CAM 与制造业信息化,2004(11):11-13.
[3]潘洋宇,王拴虎,龚光荣.计算机辅助装配工艺设计关键技术研究[J].机械,2003,30(2):52-55.
[4]付宜利,田立中,谢 龙.基于有向割集分解的装配序列生成方法[J].机械工程学报,2003,39(6):58-62.
[5]韩水华,卢正鼎,陈传波.基于几何推理的装配序列自动规划研究[J].计算机辅助设计与图形学学报,2000,12(7):528-532.
[6]Luong M R,Abhary K.Assembly sequence planning and optimization using genetic algorithms[J].Applied Soft Computing,2003,2(3):223-253.
[7]Lai H,Huang Y.a systematic approach for automatic assembly sequence plan generation [J].International Journal of Advanced Manufacturing Technology,2004,24:752-763.
[8]Nguyen D,Widrow B.Improving the learning speed of 2-layer neural networks by choosing initial values of the adaptive weights[J].Proceedings of the IJCNN,1991,3:21-26.
[9]Liu G,Li X.The improvement of BP algorithm and self-adjustment of structural parameters[J],OR Transactions,2001,5(1):81-88.