(完整word版)基于BP神经网络的自整定PID控制仿真.doc
- 文档编号:30800306
- 上传时间:2023-10-27
- 格式:DOC
- 页数:6
- 大小:288KB
(完整word版)基于BP神经网络的自整定PID控制仿真.doc
《(完整word版)基于BP神经网络的自整定PID控制仿真.doc》由会员分享,可在线阅读,更多相关《(完整word版)基于BP神经网络的自整定PID控制仿真.doc(6页珍藏版)》请在冰豆网上搜索。
基于BP神经网络的自整定PID控制仿真
一、实验目的
1.熟悉神经网络的特征、结构及学习算法。
2.通过实验掌握神经网络自整定PID的工作原理。
3.了解神经网络的结构对控制效果的影响。
4.掌握用Matlab实现神经网络控制系统仿真的方法。
二、实验设备及条件
1.计算机系统
2.Matlab仿真软件
三、实验原理
在工业控制中,PID控制是工业控制中最常用的方法。
这是因为PID控制器结构简单,实现简单,控制效果良好,已得到广泛应用。
但是,PID具有一定的局限性:
被控制对象参数随时间变化时,控制器的参数难以自动调整以适应外界环境的变化。
为了使控制器具有较好的自适应性,实现控制器参数的自动调整,可以采用神经网络控制的方法。
利用神经网络的自学习这一特性,并结合传统的PID控制理论,构造神经网络PID控制器,实现控制器参数的自动调整。
基于BP神经网络的PID控制器结构如图4所示。
控制器由两部分组成:
一是常规PID控制器,用以直接对对象进行闭环控制,且3个参数在线整定;二是神经网络NN,根据系统的运行状态,学习调整权系数,从而调整PID参数,达到某种性能指标的最优化。
图4中神经网络采用结构为4-5-3型的BP网络。
BP网络是一种单向传播的多层前向网络。
输入节点对应系统的运行状态量,如系统的偏差与偏差变化率,必要时要进行归一化处理。
输入变量的个数取决于被控系统的复杂程度,输出节点对应的是PID的3个可调参数。
由于输出不能为负,所以输出层活化函数取非负的Sigmoid函数,隐含层取正负对称的Sigmoid函数。
本系统选取的BP网络结构如图5所示。
网络的学习过程由正向和反向传播两部分组成。
如果输出层不能得到期望输出,那么转入反向传播过程,通过修改各层神经元的权值,使得误差信号最小。
输出层节点分别对应3个可调参数Kp、Ki、Kd。
取性能指标函数为
按照梯度下降法修正网络的权系数,即按E(k)对加权系数的负梯度方向搜索调整,并附加一使快速收敛全局极小的惯性项
式中,η为学习速率;α为惯性系数。
又
其中,u(k)为控制器在k时刻的输出;为输出层各节点的输出,,,;为输出层各节点的输入。
若采用增量式数字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;
alfa=0.02;
IN=4;
H=10;
Out=3;
wi=[0.4634-0.41730.31900.4563
0.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.0422
0.05210.0673-0.5546-0.4830
-0.6016-0.40970.0338-0.1503];
wi_1=wi;wi_2=wi;wi_3=wi;
wo=[-0.16200.36740.1959
-0.0337-0.1563-0.1454
0.08980.72390.7605
0.33490.76830.4714
0.02150.58960.7143
-0.09140.46660.0771
0.42700.24360.7026
0.02150.44000.1121
0.25660.24860.4857
0.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_3=0;
oh=zeros(H,1);
I=oh;
error_2=0;
error_1=0;
ts=0.001;
fork=1:
1:
6000
time(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*error_1+error_2;
epid=[x
(1);x
(2);x(3)];
I=xi*wi';
forj=1:
H
oh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j)));
end
K=wo*oh;
forl=1:
Out;
K(l)=exp(K(l))/(exp(I(j))+exp(-I(j)));
end
Kp(k)=K
(1);Ki(k)=K
(2);Kd(k)=K(3);
Kpid=[Kp(k),Ki(k),Kd(k)];
du(k)=Kpid*epid;
u(k)=u_1+du(k);
ifu(k)>=10;
u(k)=10;
end
ifu(k)<=-10
u(k)=-10;
end
dyu(k)=sign((yout(k)-y_1)/(u(k)-u_1+0.0000001));
forj=1:
Out;
dk(j)=2/(exp(K(j))+exp(-K(j)))^2;
end
forl=1:
Out
delta3(l)=error(k)*dyu(k)*epid(l)*dk(l);
end
forl=1:
Out
fori=1:
H
d_wo=xite*delta3(l)*oh(i)+alfa*(wo_1-wo_2);
end
end
wo=wo_1+d_wo;
fori=1:
H
d0(i)=4/(exp(I(i))+exp(-I(i)))^2;
end
segma=delta3*wo;
fori=1:
H
delta2(i)=d0(i)*segma(i);
end
d_wi=xite*delta2'*xi+alfa*(wi_1-wi_2);
wi=wi_1+d_wi;
u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);
y_2=y_1;y_1=yout(k);
wo_3=wo_2;
wo_2=wo_1;
wo_1=wo;
wi_3=wi_2;
wi_2=wi_1;
wi_1=wi;
error_2=error_1;
error_1=error(k);
end
figure
(1)
plot(time,rin,'r',time,yout,'b');
xlabel('time');
ylabel('rin,yout');
figure
(2)
plot(time,error,'r');
xlabel('time(s)');
ylabel('error');
figure(3)
plot(time,u,'r');
xlabel('time(s)');
ylabel('u');
figure(4)
subplot(311);
plot(time,Kp,'r');
xlabel('time(s)');
ylabel('Kp');
subplot(312);
plot(time,Ki,'g');
xlabel('time(s)');
ylabel('Ki');
subplot(313);
plot(time,Kd,'b');
xlabel('time(s)');
ylabel('Kd');
2.实验结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 基于 BP 神经网络 PID 控制 仿真
![提示](https://static.bdocx.com/images/bang_tan.gif)