基于神经网络的PID控制_第1页
基于神经网络的PID控制_第2页
基于神经网络的PID控制_第3页
基于神经网络的PID控制_第4页
基于神经网络的PID控制_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于神经网络的PID控制课程名称: 智能控制 任课教师: 学生姓名: 学 号: 年 月 日摘要:本文基于BP神经网络的PID控制方法设计控制器,通过BP神经网络与PID的控制相结合的神经网络控制基本原理和设计来自适应的功能调节PID的的三个参数,并根据被控对象的近似数学模型来输出输入与输出并分析BP神经网络学习速率,隐层节点数的选择原则及PID参数对控制效果的影响。计算机的仿真结果表示,基于BP神经网络的PID控制较常规的PID控制具有更好的自适应性,能取得良好的的控制结果。关键字:BP算法 神经网络 PID控制 Abstract:In this paper, based on BP neur

2、al network PID control method designed controller, through the BP neural network PID control with a combination of neural network control basic principles and design features adaptively adjusting the PID of the three parameters, and based on the controlled object approximate mathematical model to an

3、alyze the output and the input and output BP neural network learning rate , hidden layer nodes and PID parameter selection principle effect of the control . Computer simulation results indicated that based on BP neural network PID control compared with conventional PID control has better adaptabilit

4、y , can achieve good control results .Keyword:BP algorithms neural networks PID control1引言 PID控制是最早发展起来的应用经典控制理论的控制策略之一,由于算法简单,鲁棒性好和可靠性高,被广泛应用于工业过程并取得了良好的控制效果。随着工业的发展,对象的复杂程度不断加深,尤其对于大滞后、时变的、非线性的复杂系统,常规PID控制显得无能为力。因此常规PID控制的应用受到很大的限制和挑战。神经网络在控制系统中的应用提高了整个系统的信息系统处理能力和适应能力,提高了系统的智能水平。此外,神经网络具有逼近任意连续有界

5、非线性函数的能力,对于非线性系统和不确定性系统,无疑是一种解决问题的有效途径。本文将常规PID控制与神经网络控制相结合,发挥各自的优势,形成所谓的智能PID控制。采用BP神经网络方法设计的控制系统具有更快的速度(实时性)、更强的适应性和更好的鲁棒性。2 基于BP神经网络的PID控制 PID控制要取得较好的控制结果,必须通过调整好比例、积分和微分三种控制作用,形成控制量中既要相互配合又相互制约的关系。神经网络所具有的任意非线性表达能力,可以通过对系统性能的学习来实现最佳组合的PID控制。采用BP网络,可以建立参数Kp、Ki、Kd自学习的PID控制器。基于BP神经网络的PID控制系统结构由常规的P

6、ID控制器和神经网络两个部分构成。2.1常规的PID控制器PID控制器由比例(P)、积分(I)、微分(D)3个部分组成,直接对被控对象进行闭环控制,并且三个参数 Kp、Ki、Kd为在线调整方式。2.2 神经网络根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化,使输出层神经元的输出状态对应于PID控制器的三个可调参数Kp、Ki、Kd通过神经网络的自学习、加权系数调整,使神经网络输出对应于某种最优控制规律下的PID控制器的参数。2.3 基于BP算法的三层前向网络的PID控制方案本文用来控制对象的神经网络模型采用3层BP网络,其结构如图2.3所示图2.3.1 控制对象的神经网

7、络模型经典增量式数字PID的控制算法为式中,kp,ki,kd分别为比例、积分、微分系数。网络输入层的输入为Oj(1)=x(j) j=1,2,.M (1)式中,输入变量的个数M取决于被控系统的复杂程度。网络隐含层的输入、输出为neti(2)(k)= wij(2) Oj(1), (2)Oi(2)(k)=f(neti(2)(k) (i=1,.Q), (3)式中,wij(2)-隐含层加权系数;上角标(1)、(2)、(3)分别代表输入层、隐含层和输出层。隐层神经元的活化函数取正负对称的Sigmoid函数f(x)=tanh(x)= (4)neti(3)(k)= wij(3) Oi(2)(k), (5)Ol

8、(3)(k)=g(netl3(k) (l=1,2,3) (6)O1(3)(k)=kp (7)O2(3)(k)=ki (8)O3(3)(k)=kd (9)输出层输出节点分别对应三个可调参数kp,ki,kd。由于kp,ki,kd不能为负值,所以输出层神经元的激励函数取非负的Sigmoid函数:g(x)= (1+tanh(x)= 。 (10)取性能指标函数为E(k)= (rin(k)-yout(k)2 (11)按照最速下降法修正网络的加权系数,即按E(k)对加权系数的负梯度方向搜索调整,并附加一使搜索快速收敛全局绩效的惯性项wli(3)(k)=-+wli(3)(k-1) (12)式中,为学习速率;为

9、惯性系数。= (13)= (14)由于未知,所以近似用符号函数sgn()取代,由此带来计算不精确的影响可以通过调整学习速率来补偿由上面公式,可求得=e(k)-e(k-1) (15)=e(k) (16)=e(k)-2e(k-1)+e(k-2) (17)上述分析可得网络输出层权的学习算法为wli(3)(k)=wli(3)(k-1)+l(3)Oi(2)(k) (18)l(3)=error(k)sgn()g(netl(3)(k) (l=1,2,3) (19)同理可得隐含层加权系数的学习算法wij(2)(k)=wij(2)(k-1)+i(2)Oj(1)(k) (20)l(2)=f(neti(2)(k)

10、l(3) wli(3)(k) (i=1,2,.Q) (21)g()=g(x)(1-g(x),f()=(1-f2(x)/2 (22)因此,基于BP神经网络的PID控制算法可归纳为:图2.3.2 基于BP网络的PID控制器结构(1) 确定BP网络的结构,给出各层加权系数的初值,选定学习速率和惯性系数,此时K=1;采样得到人r(k)和y(k),计算该时刻误差e(k)=r(k)-y(k);(2) 计算神经网络各层神经元的输入、输出,输出为PID控制器的三个可调参数Kp、Ki、Kd;根据增量式数字PID控制算法计算PID控制器的输出u(k);进行神经网络学习,在线调整加权系数wij(1)和wli(2)(

11、k),实现PID控制参数的自适应调整;(3) 置k=k+1,返回到(1);3 仿真分析设被控对象的近似数学模型为:,式中 a0(k)是慢时变的,a0(k)=1+0.15sin(k/25)。学习速率=0.3和惯性系数=0.5。1、 输入信号为正弦信号r(k)=sin(2k/100)时 得出仿真图如图3.1.1所示:图3.1.1 输出信号y(k)跟踪输入信号r(k)的响应曲线图3.1.2 控制信号u(k)的变化曲线3.1.3 PID三个参数的变化曲线3.1.4 误差曲线图2、 输入信号为方波信号r(k)=sign(sin(2*pi*k/100)时得到仿真曲线如图3.2.1所示:图3.2.1 输出信

12、号跟踪输入信号的响应曲线图图3.2.2 跟踪误差动态曲线图3.2.3 控制信号u(k)的变化曲线图3.2.4 三个参数的变化曲线分析BP神经网络学习速率、隐层节点数的选择原则及对控制效果的影响从仿真中来观察发现改变学习速率会对控制效果发生改变,PID的三个参数也会随之发生改变,在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围在0.010.8之间。从原理上看,隐含层节点数多,则可以有更多的输入点可供输入,即只要有足够多的隐含层和稳节点,就可实现更复杂的映射关系,但是通过改动模型的实现程序来看,怎样根据特定的问题来具体确定网络的结构尚无很好的方法,依旧需要凭经验和试凑。

13、所以隐含层的节点数可以影响控制效果,但是如何变的更好的控制效果,任然多和准来判定。PID参数对控制效果的影响神经网络,根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化,使输出层神经元的输出对应于PID控制器的三个可调参数。对于控制系统的稳定性而言,在系统稳定的前提下,加大比例参数Kp可以减少稳态误差,但不能消除稳态误差,主要还是影响系统的控制速率;而积分参数Ki有助于提高系统的控制精度,所以对系统控制的稳态性能更大点;微分控制环节的加入微分参数Kd,可以在误差出现或变化瞬间,按偏差变化的趋势进行控制,起到一个早期的修正作用。4.总结 基于BP神经网络的PID控制较常规的

14、PID控制具有较高的控制品质,神经网络,根据系统个的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化,使输出层神经元的输出状态对应于PID控制器的三个可调参数kp,ki,kd通过神经网络的自学习、加权系统调整,其中BP的学习速率和隐层节点数的选择对系统的控制起着作用,使神经网络输出对应于某种最优控制律下的PID控制器参数。5.收获与不足最大的收获就是了解了普通PID与BP神经网络PID之间的区别,体现出了BP神经网络的PID控制较常规的PID控制具有较高的控制品质;不足之处在与对学习速率和隐层节点的选择选择的范围比较广,对系统的控制效果有很大的差别。参考资料1.基于MATLAB与

15、fuzzyTECH的模糊与神经网络设计,周润景,张丽娜著,电子工业出版社,20102.智能控制系统,王耀南著,湖南大学出版社,20063.MATLAB/Simulink建模与仿真实例精讲,张德丰等编著,机械工业出版社,2010 4.智能控制及其MATLAB实现,李国勇编著,电子工业出版社,20055.先进PID控制及其MATLAB仿真,刘金琨编著,电子工业出版社,20026.MATLAB神经网络编程,张德丰编著,化学工业出版社,20117.神经网络控制与MATLAB仿真,张泽旭编著,哈尔滨工业大学出版社,20118.神经网络、模糊系统及其在运动控制中的应用,丛爽著,中国科学技术大学出版社,20

16、019.基于BP神经网络的PID控制参数整定,陈宇峰,蔡琴,成都电子机械高等专科学校学报,2007年第3期10.基于神经网络的PID控制及其仿真,吴伟,晏梦云,魏航信,现代电子技术,2009年第10期11.人工神经网络原理及仿真实例,高隽,机械工业出版社,2003附程序清单1、正弦波程序clear all;close all;x1=0.3;a1=0.05;In=4;h=5;Out=3; wi=-0.2846 0.2193 -0.5097 -1.0668; -0.7484 -0.1210 -0.4708 0.0988; -0.7176 0.8297 -1.6000 0.2049; -0.0858

17、 0.1925 -0.6346 0.0347; 0.4358 0.2369 -0.4564 -0.1324; wi1=wi;wi2=wi;wi3=wi; wo=1.0438 0.5478 0.8682 0.1446 0.1537; 0.1716 0.5811 1.1214 0.5067 0.7370; 1.0063 0.7428 1.0534 0.7824 0.6494; wo1=wo;wo2=wo;wo3=wo;x=0,0,0;du1=0;u1=0;u2=0;u3=0;u4=0;u5=0;y1=0;y2=0;y3=0;oh=zeros(h,1);I=oh;error2=0;error1=0;

18、ts=0.003;for k=1:1:1000, time(k)=k*ts; rin(k)=sin(1*2*pi*k*ts); a(k)=1+0.15*sin(k*pi/25); y(k)=(a(k)*y1+u1)/(1+y12); error(k)=rin(k)-y(k); xi=rin(k),y(k),error(k),1; x(1)=error(k)-error1; x(2)=error(k); x(3)=error(k)-2*error1+error2; ed=x(1);x(2);x(3); I=xi*wi; for j=1:1:h oh(j)=(exp(I(j)-exp(-I(j)/

19、(exp(I(j)+exp(-I(j); end K=wo*oh; for j=1:1:Out K(j)=exp(K(j)/(exp(K(j)+exp(-K(j); end kp(k)=K(1);ki(k)=K(2);kd(k)=K(3); Kd=kp(k),ki(k),kd(k); du(k)=Kd*ed; u(k)=u1+du(k); if u(k)=10, u(k)=10; end if u(k)=10 % Restricting the output of controller u(k)=10;endif u(k)=10 % Restricting the output of cont

20、roller u(k)=10;endif u(k)=-10 u(k)=-10;end dyu(k)=sign(yout(k)-y_1)/(u(k)-u_1+0.); %Output layerfor j=1:1:Out dK(j)=2/(exp(K(j)+exp(-K(j)2;endfor l=1:1:Out delta3(l)=error(k)*dyu(k)*epid(l)*dK(l);end for l=1:1:Out for i=1:1:H d_wo=xite*delta3(l)*Oh(i)+alfa*(wo_1-wo_2); endend wo=wo_1+d_wo+alfa*(wo_1-wo_2);%Hidden layerfor i=1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论