
作者:陈 波
来源:《电脑知识与技术》2008年第34期
摘要:基于常规PID控制方法的一些缺点,该文介绍了一种利用神经网络HEBB规则,实现了有效的控制方法和PID控制参数的优化的方法。通过仿真和跟经典PID控制方法的比较,说明了其优越性。
关键词:神经网络;PID控制;HEBB规则
中图分类号:TP183文献标识码:A文章编号:1009-3044(2008)34-1691-02
PID Neural Network Control and its Simulation
CHEN Bo
(Institute of Technology for Measurement and Control, Lanzhou Jiaotong University, Lanzhou 730070, China)
Abstract: Based on the disadvantages of the general PID Control, this article introduced a technique what used the Neural network and HEBB rule.this technique has come true theeffective control measure and the optimization of PID controls parameter. it has shown the advantages by compare whit the general PID control and imitation.
Key words: neural network; PID control; HEBB rule
1 引言
现今PID控制由于具有直观性好,实现简单,可靠性高以及鲁棒性强等优点,特别适用于建立了精确数字模型的确定性系统中。被广泛应用于工业控制领域。实现常规PID控制,常用的方法是在数学模型的基础上,确定参数。然而,随着现代工业的发展出现了大量的非线性,时变,变参数,变结构等不确定性,难以确定精确的数学模型,利用常规的PID控制方法难以获得满意的效果。
利用神经网络所具有的非线性映射能力,自学习能力,概括推广能力,结合常规PID控制理论。通过吸收两者的优势,使系统具有自适应性,可自动调节控制参数,适应被控过程的变,提高控制性能和可靠性。
2 PID控制
在一个典型控制系统中,对于任何一个时间控制系统而言,其控制对象和系统结构是固定的。为了满足闭环控制系统稳、准、快的性能要求,只有通设计控制器D(z)来实现(如图1)。
我们可以借助MATLAB对控制系统进行方针,例如:系统的被控制对象的传递函数为G(s)=1/(20S2+9S+1) 反馈环节为单位负反馈,对其进行控制器部分的设计。
仿真结果如图2所示,无论如何调节Kp、Ki、Kd的值都无法达到完全去除超调以及抖动。这主要是因为在PID控制中个参数对控制器的作用各不相同又互相影响。
3 神经网络及神经网络PID控制
BP神经网络的结构图如图3。
其中:X1、X2……Xn为网络的输入;Y1、Y2……Ym为网络输出;Wji′为输入层到隐含层; Wij″为隐含层到输出层的连接权值。
构造神经网络PID控制器结构,如图4。
控制器由常规的PID控制器和神经网络两部分组成。常规的PID控制器对被控对象进行闭环控制,神经网络根据系统的运行状态,调节PID控制器的参数,以达到性能的优化。通过神经网络的自学习,加权系数的调整,使神经网络输出对应于某种最优控制规律下的PID控制参数。
4 HEBB学习规则
从hebb理论可知,神经元的连接在给予不断的正刺激后会得到不断加强。而BP网络的反复学习过程也正是不断加强某种信息的联接强度的过程。
一旦网络训练结束,而并没有训练成功,在某种意义上说,其联接强度还不够,还需再投入样本对其作用。样本被分为两组,一组已被联接权记忆住了,另一组还不能被其表述 。因此可以放弃或部分放弃第一组的样本数据,而仅以第二组为训练样本投入训练,这样训练时间将比原来的方法大为减少。
5 Matlab仿真
以下是利用Matlab对一个利用HEBB规则神经网络PID控制器进行的仿真。可以明显的看出控制器的输出。如图5。
1) 设置Kp、Ki、Kd
xiteP=0.40;
xiteI=0.35;
xiteD=0.40;
2) 设置输入r(t),输出Y(t)
ts=0.001;
for k=1:1:1000
time(k)=k*ts;
rin(k)=0.500*sign(sin(2*2*pi*k*ts));
yout(k)=0.368*y_1+0.260*y_2+0.100*u_1+0.632*u_2;
3) 利用HEBB规则设置权重
if M==1 wkp(k)=wkp_1+xiteP*u_1*x(1);
wki(k)=wki_1+xiteI*u_1*x(2);
wkd(k)=wkd_1+xiteD*u_1*x(3);
K=0.06;
elseif M==2
wkp(k)=wkp_1+xiteP*error(k)*u_1;
wki(k)=wki_1+xiteI*error(k)*u_1;
wkd(k)=wkd_1+xiteD*error(k)*u_1;
K=0.12;
elseif M==3
wkp(k)=wkp_1+xiteP*error(k)*u_1*x(1);
wki(k)=wki_1+xiteI*error(k)*u_1*x(2);
wkd(k)=wkd_1+xiteD*error(k)*u_1*x(3);
K=0.12;
elseif M==4
wkp(k)=wkp_1+xiteP*error(k)*u_1*(2*error(k)-error_1);
wki(k)=wki_1+xiteI*error(k)*u_1*(2*error(k)-error_1);
wkd(k)=wkd_1+xiteD*error(k)*u_1*(2*error(k)-error_1);
K=0.12;
end
x(1)=error(k)-error_1;
x(2)=error(k);
x(3)=error(k)-2*error_1+error_2;
wadd(k)=abs(wkp(k))+abs(wki(k))+abs(wkd(k));
w11(k)=wkp(k)/wadd(k);
w22(k)=wki(k)/wadd(k);
w33(k)=wkd(k)/wadd(k);
w=[w11(k),w22(k),w33(k)];
u(k)=u_1+K*w*x; %Control law
if u(k)>10
u(k)=10;
end
if u(k)
u(k)=-10;
end
error_2=error_1;
error_1=error(k);
u_3=u_2;u_2=u_1;u_1=u(k);
y_3=y_2;y_2=y_1;y_1=yout(k);
wkp_1=wkp(k);
wkd_1=wkd(k);
wki_1=wki(k);
end(下转第1705页)
(上接第1692页)
6 比较与总结
通过对仿真图2,图5的比较,我们不难看出加入神经网络后,不但完全解决了超调、抖动的问题而且响应时间也优于常规PID控制器。
特别,我把神经网络PID控制器的输入端调整为阶跃信号,将输入信号r(t)与输出信号Y(t)比较。如图6。我们可以清楚的看到响应速度,超调量,抖动非常理想。
神经网络控制器算法,借助神经网络的自学习的能力,可实现PID参数的优化,具有良好的控制效果。本文的创新在于利用神经网络HEBB规则,实现了有效的控制方法和PID控制参数的优化,达到了理想的效果。
参考文献:
[1] 田大新,刘衍珩,李宾,吴静.基于HEBB规则的分布神经网络学习算[J].计算机学报,2007(8):1380-1387.
[2] 温良,付兴武.神经网络PID在温度控制系统中的研究与仿真[J].微计算机信息,2004(7):3-4.
[3] 舒怀林.基于PID神经网络的非线性时变系统辨识[J].自动化学报,2002(3):156-158.
[4] Sommerville I.Software Engineering[M].北京:机械工业出版社,2006.
