基于BP算法的平面CAPP研究及Matlab实现
基于人工神经网络建立了零件表面加工方案模型,把一系列推理规则转化为网络权值,用BP算法对网络进行训练,并利用Matlab软件中的神经网络工具箱编程,对网络进行训练,从而输出了零件平面加工工艺顺序。
4.2 网络的输入、输出处理
4.2.1 输入处理
网络的输人处理模块主要对输人的零件信息和表面特征信息进行提取,做归一化处理,使网络的输人取值范围为:
(1)零件结构特征(CF):若为零件的端面,则x1=1;非端面,x1=0.
(2)零件材料种类(MA):若材料为钢,则 x2=1;其他材料,x2=0.
(3)热处理方法(H):若热处理方法为淬火,则x3=1;其他方法,x3=0。
(4)生产批量(P):单件生产x4=0.2;小批量生产x4=0.4;中批量生产 x4=0.6;大批量生产x4=0.8;大量生产x4=1.
(5)平面长度 mm(L):端面直径或非端面的长度分为<100;>100-300;>300-500;>500-800;>800共5个尺寸段,x,的取值对应为0.1,0.3,0.5,0.8,1。
(6)精度等级(IT):由于在实际加工中,IT1-IT3以及 IT9以上,加工特性变化不大,而在 5-8级之间变化较大,所以采用降半岭型函数
x6=0.5-0.5sin[П(IT-6)/6]
得到的分布如下:I'M对应x6=1,IT4对应x6=0.933,IT5对应x6=0.75,IT6对应 x6=0.5,IT7对应x6=0.75,IT8对应x6=0.07,IT9对应x6=0.
(7)表面粗糙度(Ra):表面粗糙度Ra一般与精度等级相适应,表面粗糙度通常为Ra25~0.1,共9个精度等级。若加工表面的表面粗糙度为Ra,则
X7=(log25-logRa)/(log25-log0.1)
4.2.2 输出处理
输出处理模块首先将网络的计算结果用如下函数处理。处理后,再将由0、-1,1组成的网络输出映射成对应的加工方法链。若yi=1或-1,表示选择了第 i中加工方法。
4.3 算法实现一用 MATLAB工具箱进行 BP网络设计
在Matlab的工具箱中有专门用于神经网络的工具:Neural Networks Toolbox,工具箱集成了很多学习算法,可以方便地进行编程并对网络进行训练和学习。
训练神经网络之前需要构造一个网络框架。函数newff()就是构造神经网络的。然后应用init()将网络恢复到初始化状态。BP网络的训练函数有tralngd,traindm,train,trainrp,trainscg等。训练过程中应不断调整权值和阂值,使得神经网络的表现函数达到最小。BP算法及其改进算法均利用表现函数的梯度调整网络的权值和梯度。在训练过程中,只要满足以下条件之一,训练就会停止;超过最大迭代次数epochs,表现函数值小于误差指标goal,仿真函数sim用来对网络进行仿真。
4.4 实例验证
为了检验网络运行的可靠性,选择各种零件上不同精度的端面或平面对网络进行验证。以 X={x1,x2,x3,…x7}为输人,Y={Y1,Y2,…,Y11}为输出,利用工具箱编程,部分程序如下:结果对应的工序如表2所示。
5 结语
通过实例可以表明神经网络工具箱进行网络训练的可靠性。BP网络是人工神经网络中前向网络的核心内容,在人工神经网络的实际应用中占有80%-90%。而 Matlab中的神经网络工具箱则使BP网络的建立和训练更为方便和实用。基于BP算法的CAPP系统的建立可以使工艺人员的工作大为方便。
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
责任编辑:童伟
- 上一篇文章: 基于Pro/E设计模型的制造信息提取技术的研究
- 下一篇文章:现代CADPDMCAPP技术在企业的应用
