基于BP网络的三容水箱液位控制系统辨识
摘 要:针对三容水箱液位控制系统的滞后、非线性特性,难以用传统的机理
方法进行辨识,提出了用 BP网络辨识该系统的方法。
关键词:BP神经网络;三容液位;辨识
Abstract: By using traditional mechanism method to identification is
more difficult, a method of the system identification by using BP neural network is introduced according to three tanks water control system with traits of time-delay and non-linear.
Key words: BP neural network; three tanks water control system;
identification
一.引言
在工业过程自动控制系统中,在应用控制理论去实施系统控制时,其基础是要建立控制对象的数学描述(即对象的数学模型),这是控制理论能否应用成功的关键因素之一。实验和观测是人类了解客观世界的最根本的手段。在科学研究和工程实践中,利用通过实验和观测所得到的信息,从中获得对各种现象的规律性认识,或掌握所研究对象的特性,这种方式的含义即为“辨识”。[1]
多年来,系统辨识在工业方而有着广泛的应用,如用于控制系统的设计和分析,在实时控制系统中用作被控对象的模型,预测、预报及监测系统运行状态等等。对线性、非时变和不确定参数的对象进行辨识的研究已取得了很大的进展,但被辨识对象模型结构的选择是建立在线性系统的理论基础上的,对于复杂的非线性对象的辨识一直未能很好地解决。而山于神经网络具有二行处理、联想记忆、分布式知识存储、鲁棒性强等特性,尤其是它的自组织、自适应、自学习功能,将神经网络应用于非线性辨识,可以不受非线性模型的,便于给出工程上易于实现的学习算法。神经网络技术为解决非线性、不确定系统的辨识问题开辟了一条有效的途径。
[2]
[1]
二.三容水箱液位控制系统分析
2.1 三容水箱液位控制系统分析
三容水箱液位系统。如图1所示,上水箱为一个倒置的圆柱体水箱,中水箱和下水箱是敞口的长方体水箱,容器的不同增强了系统的非线性程度。该三容水箱比单容多了两个,产生了容量滞后,由于滞后的存在,当进水流量改变时,下水箱的液位要经过一段时间才发生变化,这样会导致对扰动不能适时反应,也必然会导致较明显的超调量和超调时间,系统的闭环响应也会对周期性扰动更加敏感,系统很容易变得不稳定。进水阀V1的线性工作区为20%-80%,超过该范围就是非线性区。该系统采用带刻度的挡板进行泄水调节,但挡板刻度精度不够。并且测量液位的是压力变送器而不是精度更高的差压变送器,这些因素造成了数
[3]
据采集精度的降低,从而影响到辨识效果。系统的时滞性和非线性用传统的机理建模较难辨识。 2.2系统辨识的基本方法
“系统辨识”是研究如何利用系统试验或运行的、含有噪声的输入输出数据来建立被研究对象数学模型的一种理论和方法。系统辨识与控制理论相互联系较为密切,随着计算机技术的发展和对系统控制技术要求的提高,控制理论得到广泛的应用。但是,在控制理论的大多数应用场所,若想获得理想的使用效果,则与能获得被控对象精确的数学描述是密不可分的。然而,在很多情况下,被控对象的数学模型是不知道的,甚至涉及这个系统的工艺方面的工程师都无法用数学模型来描述它。或者有时,系统的正常运行期间的数学模型的参数会发生变化,使得依赖于这个模型运行的系统控制效果大打折扣,甚至使系统失控。
早在1942年,Ziegler与Nichols提出了一种实用的PID控制经验公式,这个经验公式是基于带有延迟的一阶传递函数模型提出的。在实际的过程控制系统中,有大量的对象模型可以近似地由这样的一阶模型表示,如果不能物理地建立起系统的模型,我们还可以由实验提取相应的模型。
系统辨识的经典方法主要有三种:阶跃响应法,频率响应法,相关分析法。采用阶跃响应法进行系统辨识的实验室意图如图2。
应用阶跃响应法进行系统辨识时,由于实测现场运行条件的,为了得到相对准确的阶跃响应,必须合理选择阶跃输人信号的幅度,并在相同条件下重复多次实验,直至得到两条基本相同的响应曲线,以消除偶然性干扰因素的影响。
但有时,当采用阶跃扰动输入信号时,又往往不允许被识对象的有关变量在较长时间内有大幅度的变化,这样,就无法测出一条较完整的阶跃响应曲线。 2.3基于神经网络的三容水箱系统辨识
基于神经网络的系统辨识,就是选择适当的神经网络作为被辨识系统P的模型p,当所选的网络结构确定之后,在给定的被辨识系统输入输出观测数据后网络通过学习训练,不断调整网络权值使得误差准则函数达到最优,从而归纳出隐含在系统输入输出数据中的映射关系。这个关系就是描述系统动态或者静态的算子
f(.),当学习完成后,f(.)隐含在神经网络内部,其表现形式如何,对外界而言
是不可知的,这一点与神经网络辨识的目的是一致的。[2]因为人们所关心的并不是神经网络以什么样的形式去逼近实际系统,而只要神经网络的输出能够逼近系统在同样输入信号激励下的输出,则认为神经网络己充分描述了实际系统的特性并完成了对原系统的辨识。
神经网络本身作为一种辨识模型,其可调参数反映在网络内部的连接权值上,不再需要建立实际系统的辨识格式,而且神经网络辨识是通过网络外部拟合系统的输入、输出数据,在网络内部归隐在输入、输出数据中的系统特性来完成的,这种辨识是非算式的,而且辨识的收敛速度只与神经网络本身及其所采用的学习算法有关。神经网络的连接权值对应于模型参数,通过调整权值就可以使网络输出逼近系统输出。神经网络作为实际系统的辨识模型就是系统的一个物理实现,可以用于在线控制。
线性系统用差分方程和状态方程表示,非线性系统也可以用差分方程和状态方程表示,但非线性系统较为复杂。实际系统大都是多输入多输出的非线性系统,很难用机理分析或系统辨识的方法获得足够精确的数学模型。假定非线性系统的类型有以下四种表达形式。
n1Ⅰ.y1i0iy(i)g[(),(1),...,(m1)] (1.1)
m1Ⅱ. y1j0j(j)f[y(),y(1),...,y(n1)] (1.2)
Ⅲ.y1g[(),(1),...,(m1)]f[y(),y(1),...,y(n1)](1.3) Ⅳ. y1f[y(),y(1),...,y(n1),(),(1),...,(m1)] (1.4) 其中,u(r)和y(t)分别代表在z时刻的输入输出,m和n分别是输入时间序列和输出时间序列的阶次,mRn+m而R,g: RmR。对这四种系统,它们在k+1时刻的输出都取决于前n个时刻的输出,以及前m个时刻的输入,所以它们的阶次都为n。但是它们在结构上有所不同,系统I对过去的输出是线性的,系统II对过去的输入是线性的,系统III对过去的输入和过去的输出都是非线性的,以上三类系统的共同特点是:过去的输入和过去的输出是可分离的。而系统VI最复杂,过去的输入和过去的输出是不可分离的,y+1是过去的n个输出和过去的m个输入的非线性函数。所以,把系统Ⅵ当作非线性系统的一般表达式。这四种表达式也叫做非线性系统的NAPMA (nonlinear ARMA)模型,即非线性自回归平均滑动模型。[2]
假定输入是有界的时间函数,非线性系统是BIBO稳定的,那么输出也是有界的时间函数。若非线性系统的结构已知如(2.15)式,而参数
图3 神经网络系统辨识图
yp1f[yp,...,ypn1,(),...,(m1)]、j和非线性函数f、g
Y
是未知但时不变的,系统辨识的任务是利用已有的输入输出数据来训练一个由神经网络构成的模型,使它能足够精确地近似给定的非线性系统。对于图3,p就
是由神经网络构成的一个辨识模型,将输入u(k)同时加到p和p上,测量其输出
y+1和y+1,并利用误差e+1=y+1-y+1来修正p的参数,以使e+10,此时辨识模型就p能很好地近似非线性系统p。
用神经网络辨识非线性动态系统需要解决以下问题。
(1)辨识模型p的结构,以保证经过足够多样本的学习以后,p能够任意精确地逼近P,并且具有最简单的结构形式和最少的可调参数。一般来说,p可以由一个或几个神经网络组成,其中也可以加入线性系统。确定p的结构以后还要选择神经网络的种类以及其结构参数(如层数,每层节点数)。
(2)确定参数辨识的算法,以使学习过程尽快收敛。
在讨论控制问题时所研究的对象是动态系统,需要把系统的动态特性引入网络,一种方法是使用再生网络,另一种方法是把系统的动态特性直接引入网络输入层的神经元。但最直接的方法就是根据系统过去的输入和输出来增加网络的输入。[3]
根据NAPMA模型,若系统由下式描述:
yp1f[yp,...,ypn1,(),...,(m1)] (1.5) 这样,系统在1时刻的输出yp1就依赖于过去n个输出和m个输入。对于式(1.5)所示的系统,一种较好的系统建模方法就是使网络的输入输出结构与系统的相同,于是,网络的输出可表示为:
yp1f[yp,...,ypn1,(),...,(m1)] (1.6)
式中,f表示网络输入输出之间的非线性映射,即f的近似。
由式(1.6)可知,网络的输入包括实际系统当前时刻和过去时刻的输入、输出
yp(也包括了干扰),为了实现对网络的训练,将网络与系统组成并联结构,系
统与网络输出量之间的误差en将作为网络训练的信号,从而组成典型的有导师学习结构,如图4示。在图4中的系统辨识结构,假定该系统经过训练后能很好地描述非线性系统的动态特性,即ynyp,这样在以后的过程中,网络的输出可以被反馈到网络的输入端,即在网络训练好以后网络的输出可以代替系统的输出而反馈到网络的输入端。于是,该网络就可以于系统了,[3]即
yN1f[yN,...,yNn1,(),...,(m1)] (1.7)
这样,利用式(1.7)所述的基本原理,就可实现非线性动态系统特性的辨识,采用串巧联辨识结构。
动态系统神经网络辨识结构图
图4 动态系统神经网络辨识结构图
本文采用 BP 神经网络做辨识模型。BP网络可以以任意精度逼近任何非线性函数,它是单向传播的多层前馈网络。
为单输入单输出结构,只选取单个隐含层,采用试凑法确定隐含层神经元个数,不同的训练函数选取的个数不同,经比较训练仿真结果表明,采用Levenberg-Marquardt算法和BFGS准牛顿 BP 算法比普通 BP 算法能较好辨识该系统。Levenberg-Marquardt 算法需要35个神经元,BFGS准牛顿 BP 算法则需要 39 个神经元。隐含层的神经元递函数采用双曲正切S函数,输出层用线性函数。[4]
本系统辨识采用开环辨识方式,输入量为上水箱进水流量,输出量为下水箱的液位,通过改变进水阀门 V1 的开度,进而改变进水流量,并且给其一个阶跃信号和反阶跃信号[2],记录输入输出数据。建立 BP 网络前,先将数据归一化处理,利用 MATLAB 软件平台进行建模。经过比较训练仿真,结果表明,采用 LM 算法和 BFGS 拟牛顿算法比普通 BP 算法能较好辨识该系统。[4]
参考文献:
[1] 潘立登,潘仰东.系统辨识与建模[M]. 北京:化学工业出版社,2004.
[2] 飞思科技产品研发中心. 神经网络与MATLAB 7实现[M].北京:电子工业出版社,2005. [3]梁颖杏,周永华,黄 炜.基于神经网络的三容水箱液位控制系统辨识[M].湖南:湖南工业大学学报,2007.
[4]徐丽娜. 神经网络控制[M]. 哈尔滨:哈尔滨工业大学出版社,1995. [5]莫建林等. 系统辨识中的闭环问题 [J]. 控制理论与应用,2002,1:9- 15