基于bp神经网络的自整定pid控制仿真

基于bp神经网络的自整定pid控制仿真

ID:13122844

大小:288.00 KB

页数:6页

时间:2018-07-20

基于bp神经网络的自整定pid控制仿真_第1页
基于bp神经网络的自整定pid控制仿真_第2页
基于bp神经网络的自整定pid控制仿真_第3页
基于bp神经网络的自整定pid控制仿真_第4页
基于bp神经网络的自整定pid控制仿真_第5页
资源描述:

《基于bp神经网络的自整定pid控制仿真》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于BP神经网络的自整定PID控制仿真一、实验目的1.熟悉神经网络的特征、结构及学习算法。2.通过实验掌握神经网络自整定PID的工作原理。3.了解神经网络的结构对控制效果的影响。4.掌握用Matlab实现神经网络控制系统仿真的方法。二、实验设备及条件1.计算机系统2.Matlab仿真软件三、实验原理在工业控制中,PID控制是工业控制中最常用的方法。这是因为PID控制器结构简单,实现简单,控制效果良好,已得到广泛应用。但是,PID具有一定的局限性:被控制对象参数随时间变化时,控制器的参数难以自动调整以适应外界环境的变化。为了使控制器具有较好的自适应性,实现控制器参数的自动调整,

2、可以采用神经网络控制的方法。利用神经网络的自学习这一特性,并结合传统的PID控制理论,构造神经网络PID控制器,实现控制器参数的自动调整。基于BP神经网络的PID控制器结构如图4所示。控制器由两部分组成:一是常规PID控制器,用以直接对对象进行闭环控制,且3个参数在线整定;二是神经网络NN,根据系统的运行状态,学习调整权系数,从而调整PID参数,达到某种性能指标的最优化。图4中神经网络采用结构为4-5-3型的BP网络。BP网络是一种单向传播的多层前向网络。输入节点对应系统的运行状态量,如系统的偏差与偏差变化率,必要时要进行归一化处理。输入变量的个数取决于被控系统的复杂程度,输

3、出节点对应的是PID的3个可调参数。由于输出不能为负,所以输出层活化函数取非负的Sigmoid函数,隐含层取正负对称的Sigmoid函数。本系统选取的BP网络结构如图5所示。网络的学习过程由正向和反向传播两部分组成。如果输出层不能得到期望输出,那么转入反向传播过程,通过修改各层神经元的权值,使得误差信号最小。输出层节点分别对应3个可调参数Kp、Ki、Kd。取性能指标函数为按照梯度下降法修正网络的权系数,即按E(k)对加权系数的负梯度方向搜索调整,并附加一使快速收敛全局极小的惯性项式中,η为学习速率;α为惯性系数。又其中,u(k)为控制器在k时刻的输出;为输出层各节点的输出,,

4、,;为输出层各节点的输入。若采用增量式数字PID控制算法,则有四、实验步骤(1)被控对象为一时变非线性对象,数学模型可表示为式中系数a(k)是慢时变的,。(2)如图5所示确定BP网络的结构,选4-5-3型的BP网络,各层加权系数的初值取区间[-0.5,0.5]上的随机数,选定学习速率η=0.25和惯性系数α=0.05。(3)在Matlab下依据整定原理编写仿真程序并调试。(4)给定输入为阶跃信号,运行程序,记录实验数据和控制曲线。(5)修改神经网络参数,如学习速率、隐含层神经元个数等,重复步骤(4)。(6)分析数据和控制曲线。五、实验结果1.实验代码xite=0.25;alf

5、a=0.02;IN=4;H=10;Out=3;wi=[0.4634-0.41730.31900.45630.18390.32010.11120.3395-0.31820.04700.0850-0.0722-0.62660.08460.3751-0.6900-0.32240.1440-0.2783-0.0193-0.0232-0.09920.26360.2011-0.4502-0.29280.0062-0.5640-0.1975-0.13320.19810.04220.05210.0673-0.5546-0.4830-0.6016-0.40970.0338-0.1503];wi

6、_1=wi;wi_2=wi;wi_3=wi;wo=[-0.16200.36740.1959-0.0337-0.1563-0.14540.08980.72390.76050.33490.76830.47140.02150.58960.7143-0.09140.46660.07710.42700.24360.70260.02150.44000.11210.25660.24860.48570.01980.49700.6450]';wo_1=wo;wo_2=wo;wo_3=wo;x=[0,0,0];u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y

7、_3=0;oh=zeros(H,1);I=oh;error_2=0;error_1=0;ts=0.001;fork=1:1:6000time(k)=k*ts;rin(k)=1;a(k)=1.2*(1-0.8*exp(-0.1*k));yout(k)=a(k)*y_1/(1+y_1^2)+u_1;error(k)=rin(k)-yout(k);xi=[rin(k),yout(k),error(k),1];x(1)=error(k)-error_1;x(2)=error(k);x(3)=error(k)-2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。