基于神经网络的加工过程模型辨识
摘要:介绍了神经网络动态建模方法,以车削加工过程为例,用一个带单隐层的反向传播(BP)网络对非线性的加工过程进行了辨识研究,并将神经网络模型的跟踪响应与参数模型的跟踪响应作了对比分析。仿真结果表明,神经网络是建立非线性加工过程模型的一种有效方法。
关键词:加工过程 辨识 非线性系统 神经网络 反向传播算法
Neural network based model identification of machining process
Abstract:Neural network architecture for dynamic modeling is introduced.Taking the turning process as an example, this investigates the identification of the nonlinear machining process using a backpropagation neural network with a single hidden layer, and compares the tracking response of the neural network model with that of the parameter model. Simulat ion results show that neural network is an effective approach to model nonlinear machining processes.
Keywords: Machining process; Identification; Nonlinear system; Neural network; Backpropagation algorithm
在加工过程的建模和控制中,以往人们常对加工过程作线性化处理,这只不过是一种非常粗糙的近似。实际上,加工过程是一个时变的、非线性的复杂系统,神经网络的出现为加工过程的建模提供了新的途径和方法,为此本文将用神经网络方法来建立加工过程的模型。
1 建模原理
(1)系统的描述
下面以离散形式的模型为例,根据系统的输入和输出来描述一个系统,其中系统又可分为线性系统和非线性系统。设系统的输入为u(k)(k=1,2,…,N);输出为y(k)(k=1,2,…,N);e(k)为方差是σ2的白噪声。
一个单输入单输出(SISO)的线性系统的自动回归滑动平均模型(ARMAX)可表示为:
A(z)y(k)=B(z)u(k-nk)+C(z)e(k) (1)
式中:A(z)、B(z)、C(z)、均为z-1的多项式;nk为输入的最大时延。而ARX模型可表示为:
A(z)y(k)=B(z)u(k-nk)+e(k) (2)
而一个单输入单输出的非线性自动回归滑动平均模型(NARMAX)可表示为:
y(t)=f(y(t-1),…,y(t-ny),u(t-1),…,u(t-nu),e(t-1),…,e(t-ne))+e(t) (3)
式中f(.)为非线性函数。ny、nu、和ne分别为输入、输出和噪声的最大时延,其简化模型可表示为:
(t)=f(y(t-1),…,y(t-ny),u(t-1),…,u(t-nu))+e(t) (4)
(2)神经网络模型辨识
建立系统模型的方法多种多样,在线性系统辨识中,用得较多的是参数最小二乘法或递推最小二乘法;而在非线性系统的辨识与控制中,由于BP神经网络具有逼近任意非线性函数的能力〔1〕,已引起人们的重视,下面以单隐层的BP网络为例,说明神经网络动态建模原理。
①神经网络建模
所谓神经网络建模,就是用测得的过程输入输出数据对神经网络进行训练,从而获得其输入输出特性与实际过程等价的神经网络模型,其动态建模原理如图1所示,图中所用的神经网络为BP神经网络(见图2)。y(t)、(t)分别为对象和网络的输出;no、n1和n2分别为输入层、隐含层和输出层中神经元的数目。
图1 神经网络动态建模示意图
图2 单隐层BP神经网络
在图2所示的BP网络中,输入层向量为:x0=〔y(t-1),…,y(t-ny),u(t-1),…,u(t-nu)〕T=〔xl〕T,i=1,2,…,n0,若取隐层节点作用函数为S函数,输出层为线性函数,则输出层的输入和输出分别为:
(5)
(6)
式中,x1j和B1j分别是隐层中第j神经元的输入值和阈值:W1ji、W2j分别是隐层与输入层、输出层与隐层之间的两个神经元间的连接权。而S函数为:
f(x)=1/(1+e-x) (7)
用BP学习算法来修正权值和阈值,使目标函数
(8)
最小化。BP算法是采用梯度下降法修正权值,例如权值W1ji可用如下公式修正:
(9)
式中,η(t)为学习率,这里采用自适应学习率,以加速网络收敛速度,其算法为:
(10)
取d1=1.05,d2=0.7,k=1.04。
2 车削加工过程建模
加工过程一般包括伺服环节、切削过程和传感测量等环节〔2,3〕,如图3所示的车削加工过程,其伺服环节可用一个二阶系统表示:
(11)
图3 加工过程的模型
式中:v为进给速度,u为伺服输入,Km为伺服增益,ωn为伺服系统的自然频率,ξ为阻尼系统,而进给量f可表示为:
f=60v/n (12)
式中,n为主轴转速,而实测切削力F可表示为:
F=KdFc=KdKpafm=Kd(Kpafm-1)f (13)
式中,Kd为测力仪转换系数,Fc为切削力,Kp为切削比力,a为切削深度,m为指数,一般情况下,0.6<m<1〔2〕。令切削过程总增益为:
K=60KmKpKdafm-1/n (14)
可得: F/u=Kωn2/(s2+2ξωns+ωn2) (15)
从式(14)、式(15)可以看到,加工过程模型的增益K随切削深度、主轴转速和进给量的变化而变化,可见金属切削加工过程具有非线性和时变性。在恒切削力的自适应控制中,当切削深度发生变化时,可通过改变进给速度来保持切削力恒定,下面以加工过程切削力模型为例进行建模仿真实验。
设某一车削加工过程:n=600r/min,Km=1,Kp=1700,Kd=1.5,ap=2,ξ=0.5,ωn=20,现以m=0.7〔4〕为例来建立加工过程的非线性模型。当m≠1时,加工过程为非线性系统,若指数m远离1值时,仍然取m=1,对加工过程系统强求作线性化处理时,就会产生较大误差,如图4所示。
图4 车削加工过程的单位阶跃响应(m=1和m=0.7)
为了进行对比分析,在m=0.7时,分两种情况对车削加工过程进行建模和跟踪仿真实验,一种是神经网络方法,另一种是采用参数估算法。
对于用神经网络建模的情形,可取神经网络输入层的输入向量为:x0=〔F(t-1),F(t-2),u(t-1),u(t-2)〕T,并取各层神经元数为:n0=4,n1=5,n2=1。神经网络学习所需的样本,通过随机方法产生,即在u的范围(0~5)内随机产生100个输入数据,然后通过仿真模型产生所需的输出数据。为了提高神经网络的学习收敛速度,先将输入和输出数据进行归一化处理,再用于网络训练。网络的初始权值和阈值取(-0.5,0.5)之间的随机数,初始学习率η(0)=0.01,误差目标函数设为0.05,训练神经网络后得到的权值和阈值如下:
W2=[0.1549 0.5575 0.6236 1.0948 -0.2394],B2=[-0.4171]
用已训练好的神经网络进行跟踪试验,输入信号如图5所示,神经网络跟踪结果见图6。从图中可以看出,该神经网络模型具有很好的跟踪响应(为了与实际过程响应曲线相区别,图将两条曲线分开来绘画,否则很难区分两条响应曲线)。可见神经网络模型已满意地实现非线性加工过程的输入输出关系的映射。
图5 输入信号
图6 神经网络模型的输出和实际输出
对于参数估计算法建模,由(15)式的离散化可得:
(1+a1z-1+a2z-2)F(t)=(b1+b2z-1)u(t-1) (16)
在这里就是要确定式(16)中a1、a2、b1和b2的值,由于加工过程模型的增益K随进给量、切深和转速等参数的变化而变化,因而a1、a2、b1和b2的值是时变的。当伺服输入u在0~5V之间变化时,取其中间值2.5V。取采样周期Ts=0.01秒和采用零阶保持器,可得参数向量的真值θ=〔a1,a2,b1,b2〕T=〔-1.7826,0.8187,14.4316,13.4999〕T。可用最小二乘法或其它方法对式(16)的参数进行估计,就可得到参数的估计值,现假设参数估计值已收敛到其真值,即得到加工过程的参数模型:
(1-1.7826z-1+0.8187z-2)F(t)=(14.4316+13.4999z-1)u(t-1) (17)
图7 参数模型的跟踪响应
现用参数模型式(17)来研究其对输入信号(见图5)的响应情况,结果如图7所示(实线为参数模型输出、虚线为实际过程输出)。从图中可以看到,当输入信号在2.5V附近时,参数模型有较好的跟踪性能,而输入信号离2.5V较远时,参数模型的跟踪性能变坏,并产生较大的误差。输入信号离2.5V越远,参数模型输出的误差越大,而神经网络模型在整个输入范围(0~5V)内都有非常好的跟踪响应(见图6),这说明用常系数的参数模型来近似非线性加工过程时,会产生较大的误差,而对同一非线性系统用神经网络来逼近时,就能获得很好的跟踪响应性能。
3 结语
加工过程是一个时变的非线性系统,当加工过程的参数发生变化时,用线性或常系数的参数估计方法所得到的加工过程模型,跟踪响应性能较差,甚至会产生很大误差。而神经网络由于可以逼近任意非线性过程的输入输出关系,由其所建立的非线性加工过程模型具有非常好的跟踪响应性能。
用神经网络建模,可将过程或对象看成一个“黑箱”,只要测得输入输出数据,就可以建立相应的模型,不必象传统的系统辨识那样要把过程或对象分为线性系统还是非线性系统(见式(1)~式(4)),也不必对过程或对象内部进行分析,这对于未知过程的系统辨识是非常方便的。当然,神经网络建模也有不足之处,如BP算法就存在收敛速度慢和局部极值等问题,本文采用一种自适应学习率的方法,以加快网络的收敛,此外,网络隐层的节点数的选取,还没有一种较为普遍适用的方法可循,还得凭经验和试凑办法来确定。
作者:西部车床,如若转载,请注明出处:https://www.lathe.cc/2023/01/8516.html