基于BP神经网络的多变量解耦控制研究
PID神经元网络解耦控制算法多变量系统控制

%% 清空环境变量clcclear%% 网络结构初始化rate1=0.006;rate2=0.001; %学习率k=0.3;K=3;y_1=zeros(3,1);y_2=y_1;y_3=y_2; %输出值u_1=zeros(3,1);u_2=u_1;u_3=u_2; %控制率h1i=zeros(3,1);h1i_1=h1i; %第一个控制量h2i=zeros(3,1);h2i_1=h2i; %第二控制量h3i=zeros(3,1);h3i_1=h3i; %第三个空置量x1i=zeros(3,1);x2i=x1i;x3i=x2i;x1i_1=x1i;x2i_1=x2i;x3i_1=x3i; %隐含层输出%权值初始化k0=0.03;%第一层权值w11=k0*rand(3,2);w12=k0*rand(3,2);w13=k0*rand(3,2);%第二层权值w21=k0*rand(1,9);w22=k0*rand(1,9);w23=k0*rand(1,9);%值限定ynmax=1;ynmin=-1; %系统输出值限定xpmax=1;xpmin=-1; %P节点输出限定qimax=1;qimin=-1; %I节点输出限定qdmax=1;qdmin=-1; %D节点输出限定uhmax=1;uhmin=-1; %输出结果限定%% 网络迭代优化for k=1:1:200%% 控制量输出计算%--------------------------------网络前向计算--------------------------%系统输出y1(k)=(0.4*y_1(1)+u_1(1)/(1+u_1(1)^2)+0.2*u_1(1)^3+0.5*u_1(2))+0.3*y_1(2); y2(k)=(0.2*y_1(2)+u_1(2)/(1+u_1(2)^2)+0.4*u_1(2)^3+0.2*u_1(1))+0.3*y_1(3); y3(k)=(0.3*y_1(3)+u_1(3)/(1+u_1(3)^2)+0.4*u_1(3)^3+0.4*u_1(2))+0.3*y_1(1);r1(k)=0.7;r2(k)=0.4;r3(k)=0.6; %控制目标%系统输出限制yn=[y1(k),y2(k),y3(k)];yn(find(yn>ynmax))=ynmax;yn(find(yn<ynmin))=ynmin;%输入层输出x1o=[r1(k);yn(1)];x2o=[r2(k);yn(2)];x3o=[r3(k);yn(3)];%隐含层x1i=w11*x1o;x2i=w12*x2o;x3i=w13*x3o;%比例神经元P计算xp=[x1i(1),x2i(1),x3i(1)];xp(find(xp>xpmax))=xpmax;%积分神经元I计算xi=[x1i(2),x2i(2),x3i(2)];qi=[0,0,0];qi_1=[h1i(2),h2i(2),h3i(2)];qi=qi_1+xi;qi(find(qi>qimax))=qimax;qi(find(qi<qimin))=qimin;h1i(2)=qi(1);h2i(2)=qi(2);h3i(2)=qi(3);%微分神经元D计算xd=[x1i(3),x2i(3),x3i(3)];qd=[0 0 0];xd_1=[x1i_1(3),x2i_1(3),x3i_1(3)];qd=xd-xd_1;qd(find(qd>qdmax))=qdmax;qd(find(qd<qdmin))=qdmin;h1i(3)=qd(1);h2i(3)=qd(2);h3i(3)=qd(3);%输出层计算wo=[w21;w22;w23];qo=[h1i',h2i',h3i'];qo=qo';uh=wo*qo;uh(find(uh>uhmax))=uhmax;uh(find(uh<uhmin))=uhmin;u1(k)=uh(1);u2(k)=uh(2);u3(k)=uh(3); %控制律%% 网络权值修正%---------------------网络反馈修正----------------------%计算误差error=[r1(k)-y1(k);r2(k)-y2(k);r3(k)-y3(k)];error1(k)=error(1);error2(k)=error(2);error3(k)=error(3);J(k)=0.5*(error(1)^2+error(2)^2+error(3)^2); %调整大小ypc=[y1(k)-y_1(1);y2(k)-y_1(2);y3(k)-y_1(3)];uhc=[u_1(1)-u_2(1);u_1(2)-u_2(2);u_1(3)-u_2(3)];%隐含层和输出层权值调整%调整w21Sig1=sign(ypc./(uhc(1)+0.00001));dw21=sum(error.*Sig1)*qo';w21=w21+rate2*dw21;%调整w22Sig2=sign(ypc./(uh(2)+0.00001));dw22=sum(error.*Sig2)*qo';w22=w22+rate2*dw22;%调整w23Sig3=sign(ypc./(uh(3)+0.00001));dw23=sum(error.*Sig3)*qo';w23=w23+rate2*dw23;%输入层和隐含层权值调整delta2=zeros(3,3);wshi=[w21;w22;w23];for t=1:1:3delta2(1:3,t)=error(1:3).*sign(ypc(1:3)./(uhc(t)+0.00000001)); endfor j=1:1:3sgn(j)=sign((h1i(j)-h1i_1(j))/(x1i(j)-x1i_1(j)+0.00001));endfor j=1:1:3for p=1:1:3alter(j)=alter(j)+delta2(p,:)*wshi2_1(:,j);endendfor p=1:1:3dws1(p,:)=alter(p)*s1(p,:);endw11=w11+rate1*dws1;%调整w12for j=1:1:3sgn(j)=sign((h2i(j)-h2i_1(j))/(x2i(j)-x2i_1(j)+0.0000001)); ends2=sgn'*[r2(k),y2(k)];wshi2_2=wshi(:,4:6);alter2=zeros(3,1);dws2=zeros(3,2);for j=1:1:3for p=1:1:3alter2(j)=alter2(j)+delta2(p,:)*wshi2_2(:,j);endendfor p=1:1:3dws2(p,:)=alter2(p)*s2(p,:);endw12=w12+rate1*dws2;%调整w13for j=1:1:3sgn(j)=sign((h3i(j)-h3i_1(j))/(x3i(j)-x3i_1(j)+0.0000001)); ends3=sgn'*[r3(k),y3(k)];wshi2_3=wshi(:,7:9);alter3=zeros(3,1);dws3=zeros(3,2);for j=1:1:3for p=1:1:3alter3(j)=(alter3(j)+delta2(p,:)*wshi2_3(:,j));endendfor p=1:1:3dws3(p,:)=alter2(p)*s3(p,:);endw13=w13+rate1*dws3;%参数更新u_3=u_2;u_2=u_1;u_1=uh;y_2=y_1;y_1=yn;h1i_1=h1i;h2i_1=h2i;h3i_1=h3i;x1i_1=x1i;x2i_1=x2i;x3i_1=x3i;end%% 结果分析time=0.001*(1:k);figure(1)subplot(3,1,1)plot(time,r1,'r-',time,y1,'b-');title('PID神经元网络控制','fontsize',12);ylabel('控制量1','fontsize',12);legend('控制目标','实际输出','fontsize',12);ylabel('控制量2','fontsize',12);legend('控制目标','实际输出','fontsize',12);subplot(3,1,3)plot(time,r3,'r-',time,y3,'b-');xlabel('时间(秒)','fontsize',12);ylabel('控制量3','fontsize',12);legend('控制目标','实际输出','fontsize',12);figure(2)plot(time,u1,'r-',time,u2,'g-',time,u3,'b');title('PID神经网络提供给对象的控制输入');xlabel('时间'),ylabel('被控量');legend('u1','u2','u3');gridfigure(3)figure(3)plot(time,J,'r-');axis([0,0.2,0,1]);gridtitle('控制误差曲线','fontsize',12);xlabel('时间','fontsize',12);ylabel('控制误差','fontsize',12);%function J=draw(individual)load best zbestindividual=zbest;% 函数功能:画出最优粒子对应的各种图形% individual 输入粒子% fitness 输出适应度值w11=reshape(individual(1:6),3,2);w12=reshape(individual(7:12),3,2);w13=reshape(individual(13:18),3,2);w21=individual(19:27);w22=individual(28:36);w23=individual(37:45);rate1=0.006;rate2=0.001; %学习率k=0.3;K=3;y_1=zeros(3,1);y_2=y_1;y_3=y_2; %输出值u_1=zeros(3,1);u_2=u_1;u_3=u_2; %控制率h1i=zeros(3,1);h1i_1=h1i; %第一个控制量h2i=zeros(3,1);h2i_1=h2i; %第二个控制量h3i=zeros(3,1);h3i_1=h3i; %第三个空置量x1i=zeros(3,1);x2i=x1i;x3i=x2i;x1i_1=x1i;x2i_1=x2i;x3i_1=x3i; %隐含层输出%权值初始化k0=0.03;%值限定ynmax=1;ynmin=-1; %系统输出值限定xpmax=1;xpmin=-1; %P节点输出限定qimax=1;qimin=-1; %I节点输出限定qdmax=1;qdmin=-1; %D节点输出限定uhmax=1;uhmin=-1; %输出结果限定for k=1:1:200%--------------------------------网络前向计算--------------------------%系统输出y1(k)=(0.4*y_1(1)+u_1(1)/(1+u_1(1)^2)+0.2*u_1(1)^3+0.5*u_1(2))+0.3*y_1(2); y2(k)=(0.2*y_1(2)+u_1(2)/(1+u_1(2)^2)+0.4*u_1(2)^3+0.2*u_1(1))+0.3*y_1(3); y3(k)=(0.3*y_1(3)+u_1(3)/(1+u_1(3)^2)+0.4*u_1(3)^3+0.4*u_1(2))+0.3*y_1(1);yn=[y1(k),y2(k),y3(k)];yn(find(yn>ynmax))=ynmax;yn(find(yn<ynmin))=ynmin;%输入层输出x1o=[r1(k);yn(1)];x2o=[r2(k);yn(2)];x3o=[r3(k);yn(3)];%隐含层x1i=w11*x1o;x2i=w12*x2o;x3i=w13*x3o;%比例神经元P计算xp=[x1i(1),x2i(1),x3i(1)];xp(find(xp>xpmax))=xpmax;xp(find(xp<xpmin))=xpmin;qp=xp;h1i(1)=qp(1);h2i(1)=qp(2);h3i(1)=qp(3);%积分神经元I计算xi=[x1i(2),x2i(2),x3i(2)];qi=[0,0,0];qi_1=[h1i(2),h2i(2),h3i(2)];qi=qi_1+xi;qi(find(qi>qimax))=qimax;qi(find(qi<qimin))=qimin;h1i(2)=qi(1);h2i(2)=qi(2);h3i(2)=qi(3);%微分神经元D计算xd=[x1i(3),x2i(3),x3i(3)];qd=[0 0 0];xd_1=[x1i_1(3),x2i_1(3),x3i_1(3)];qd=xd-xd_1;qd(find(qd>qdmax))=qdmax;qd(find(qd<qdmin))=qdmin;h1i(3)=qd(1);h2i(3)=qd(2);h3i(3)=qd(3);%输出层计算wo=[w21;w22;w23];qo=[h1i',h2i',h3i'];qo=qo';uh=wo*qo;uh(find(uh>uhmax))=uhmax;uh(find(uh<uhmin))=uhmin;u1(k)=uh(1);u2(k)=uh(2);u3(k)=uh(3); %控制律%--------------------------------------网络反馈修正---------------------- %计算误差error=[r1(k)-y1(k);r2(k)-y2(k);r3(k)-y3(k)];error1(k)=error(1);error2(k)=error(2);error3(k)=error(3);J(k)=0.5*(error(1)^2+error(2)^2+error(3)^2); %调整大小ypc=[y1(k)-y_1(1);y2(k)-y_1(2);y3(k)-y_1(3)];uhc=[u_1(1)-u_2(1);u_1(2)-u_2(2);u_1(3)-u_2(3)];%隐含层和输出层权值调整%调整w21Sig1=sign(ypc./(uhc(1)+0.00001));dw21=sum(error.*Sig1)*qo';w21=w21+rate2*dw21;%调整w22Sig2=sign(ypc./(uh(2)+0.00001));Sig3=sign(ypc./(uh(3)+0.00001));dw23=sum(error.*Sig3)*qo';w23=w23+rate2*dw23;%输入层和隐含层权值调整delta2=zeros(3,3);wshi=[w21;w22;w23];for t=1:1:3delta2(1:3,t)=error(1:3).*sign(ypc(1:3)./(uhc(t)+0.00000001)); endfor j=1:1:3sgn(j)=sign((h1i(j)-h1i_1(j))/(x1i(j)-x1i_1(j)+0.00001));ends1=sgn'*[r1(k),y1(k)];wshi2_1=wshi(1:3,1:3);alter=zeros(3,1);dws1=zeros(3,2);for j=1:1:3for p=1:1:3alter(j)=alter(j)+delta2(p,:)*wshi2_1(:,j);endendfor p=1:1:3dws1(p,:)=alter(p)*s1(p,:);endw11=w11+rate1*dws1;%调整w12for j=1:1:3sgn(j)=sign((h2i(j)-h2i_1(j))/(x2i(j)-x2i_1(j)+0.0000001));ends2=sgn'*[r2(k),y2(k)];wshi2_2=wshi(:,4:6);alter2=zeros(3,1);dws2=zeros(3,2);for j=1:1:3for p=1:1:3alter2(j)=alter2(j)+delta2(p,:)*wshi2_2(:,j);endendfor p=1:1:3dws2(p,:)=alter2(p)*s2(p,:);endw12=w12+rate1*dws2;%调整w13for j=1:1:3sgn(j)=sign((h3i(j)-h3i_1(j))/(x3i(j)-x3i_1(j)+0.0000001));ends3=sgn'*[r3(k),y3(k)];wshi2_3=wshi(:,7:9);alter3=zeros(3,1);dws3=zeros(3,2);for j=1:1:3for p=1:1:3alter3(j)=(alter3(j)+delta2(p,:)*wshi2_3(:,j));endendfor p=1:1:3dws3(p,:)=alter2(p)*s3(p,:);u_3=u_2;u_2=u_1;u_1=uh;y_2=y_1;y_1=yn;h1i_1=h1i;h2i_1=h2i;h3i_1=h3i;x1i_1=x1i;x2i_1=x2i;x3i_1=x3i;endtime=0.001*(1:k);figure(1)subplot(3,1,1)plot(time,r1,'r-',time,y1,'b-');title('PID神经元网络控制');ylabel('被控量1');legend('控制目标','实际输出','fontsize',12);subplot(3,1,2)plot(time,r2,'r-',time,y2,'b-');ylabel('被控量2');legend('控制目标','实际输出','fontsize',12);axis([0,0.2,0,1])subplot(3,1,3)plot(time,r3,'r-',time,y3,'b-');xlabel('时间/s');ylabel('被控量3');legend('控制目标','实际输出','fontsize',12);print -dtiff -r600 改4figure(3)plot(time,u1,'r-',time,u2,'g-',time,u3,'b');title('PID神经网络提供给对象的控制输入');xlabel('时间'),ylabel('控制律');legend('u1','u2','u3');gridfigure(4)plot(time,J,'r-');axis([0,0.1,0,0.5]);gridtitle('网络学习目标函数J动态曲线');xlabel('时间');ylabel('控制误差');% BPy1=y1;% BPy2=y2;% BPy3=y3;% BPu1=u1;% BPu2=u2;% BPu3=u3;% BPJ=J% save BP r1 r2 r3 BPy1 BPy2 BPy3 BPu1 BPu2 BPu3 BPJ %%funfunction Fitness=fun(individual)% 函数功能:计算个体适应度值% individual 输入粒子% fitness 输出适应度值w11=reshape(individual(1:6),3,2);w12=reshape(individual(7:12),3,2);w13=reshape(individual(13:18),3,2);w21=individual(19:27);w22=individual(28:36);w23=individual(37:45);u_1=zeros(3,1);u_2=u_1;u_3=u_2; %控制率h1i=zeros(3,1);h1i_1=h1i; %第一个控制量h2i=zeros(3,1);h2i_1=h2i; %第二个控制量h3i=zeros(3,1);h3i_1=h3i; %第三个空置量x1i=zeros(3,1);x2i=x1i;x3i=x2i;x1i_1=x1i;x2i_1=x2i;x3i_1=x3i; %隐含层输出%权值初始化k0=0.03;%值限定ynmax=1;ynmin=-1; %系统输出值限定xpmax=1;xpmin=-1; %P节点输出限定qimax=1;qimin=-1; %I节点输出限定qdmax=1;qdmin=-1; %D节点输出限定uhmax=1;uhmin=-1; %输出结果限定ERROR=[];for k=1:1:200%--------------------------------网络前向计算--------------------------%系统输出y1(k)=(0.4*y_1(1)+u_1(1)/(1+u_1(1)^2)+0.2*u_1(1)^3+0.5*u_1(2))+0.3*y_1(2); y2(k)=(0.2*y_1(2)+u_1(2)/(1+u_1(2)^2)+0.4*u_1(2)^3+0.2*u_1(1))+0.3*y_1(3); y3(k)=(0.3*y_1(3)+u_1(3)/(1+u_1(3)^2)+0.4*u_1(3)^3+0.4*u_1(2))+0.3*y_1(1);r1(k)=0.7;r2(k)=0.4;r3(k)=0.6; %控制目标%系统输出限制yn=[y1(k),y2(k),y3(k)];yn(find(yn>ynmax))=ynmax;yn(find(yn<ynmin))=ynmin;%输入层输出x1o=[r1(k);yn(1)];x2o=[r2(k);yn(2)];x3o=[r3(k);yn(3)];%隐含层x1i=w11*x1o;x2i=w12*x2o;。
多变量系统模糊神经网络解耦的研究

摘要复杂的工业生产过程中,被控对象动态特性往往表现出非线性、时变性、大迟延、和多变量强耦合等特点,这使得常规的单回路及传统的多变量解耦设计难以达到预期的控制效果。
目前这一主要的研究课题受到了广泛的关注,一些学者将模糊逻辑系统、神经网络、模糊神经网络等智能方法应用到多变量过程控制中。
本文在这些研究成果的基础上,提出了一种多变量系统模糊神经网络解耦的控制方法。
该方法结合了基于模糊自适应整定PID控制算法和改进型模糊神经网络解耦算法,用于球磨煤机制粉系统和循环流化床锅炉床温-主汽压力系统中,对解耦设计方案进行了仿真研究,结果表明,该方案比传统的PID解耦控制方案的控制效果明显要好。
关键词:多变量系统,模糊自适应,模糊神经网络,解耦控制,床温-主汽压力系统,球磨煤机制粉系统ABSTRACTIt is difficult to achieves anticipated control effect with traditional Single-loop or muti-variable decoupling design methods. At present, many scholars have fans on this topic, many intelligent control methods such as fuzzy control, neural network, fuzzy neural network have been used in multivariable system.In the foundation of these results, a kind of multivariable fuzzy neural network decoupling control method is put forward, fuzzy auto-adapted PID control and advanced fuzzy network decoupling algorithm is used. The method has been used in ball mill system and CFB control. It is shown by simulation results that the control effect with this method is obviously better than traditional PID control method.Ping Yuhuan (School of control science & engineering)Directed by prof. Yu XiningKEY WORDS:Multivariable system, fuzzy auto-adapted, FNN, decoupling control, bed temperature-main steam pressure control system; ball mill system目录中文摘要英文摘要第一章绪论 (1)1.1课题的研究背景及意义 (1)1.2多变量系统解耦理论的发展与现状 (1)1.2.1传统解耦 (1)1.2.2智能解耦方法 (2)1.2.3模糊神经网络解耦 (3)1.3论文的主要研究内容 (4)第二章多变量系统解耦的基本理论 (5)2.1几种基本的解耦设计方法 (5)2.1.1对角矩阵综合法 (5)2.1.2单位矩阵综合法 (5)2.1.3 N yquist阵列法 (5)2.2耦合系统变量之间的配对 (6)2.3多变量回路间动态耦合的影响 (8)2.4 本章小结 (9)第三章模糊神经网络理论 (10)3.1模糊逻辑系统 (10)3.1.1模糊理论基本概念 (10)3.1.2模糊逻辑系统 (11)3.2神经网络的基本原理 (12)3.3模糊神经网络的基本理论 (14)3.3.1模糊神经网络的结构 (14)3.3.1.1基于标准模糊模型的模糊神经网络 (15)3.3.1.2基于T-S模型的模糊神经网络 (16)3.3.2一种改进型的模糊神经网络 (16)3.4改进型模糊神经网络实现超前补偿作用的仿真实验 (17)3.5 本章小结 (19)第四章基于模糊神经网络的解耦设计 (20)4.1模糊自适应整定PID控制算法 (20)4.1.1模糊自整定PID控制算法介绍 (20)4.1.2模糊自适应PID调节器抗干扰性和鲁棒性仿真试验 (22)4.2基于模糊神经网络的多变量系统解耦 (24)4.2.1模糊神经网络解耦设计 (25)4.2.1.1模糊神经网络解耦的理论分析 (25)4.2.1.2多变量系统模糊神经网络解耦方案的具体实现 (26)4.2.2模糊神经网络解耦器训练算法 (27)4.2.3模糊神经网络解耦仿真实例 (28)4.3基于模糊神经网络的多变量系统解耦控制实现步骤 (30)4.4本章小结 (31)第五章多变量系统解耦控制的仿真研究 (32)5.1循环流化床锅炉床温-主汽压力系统的解耦控制 (32)5.1.1循环流化床锅炉燃烧系统简介 (32)5.1.2循环流化床锅炉床温-主汽压力对象模型及其相对增益矩阵分析 (33)5.1.3循环流化床锅炉床温-主汽压力系统解耦控制仿真研究 (34)5.1.3.1开环解耦设计与仿真研究 (34)5.1.3.2解耦后控制系统的闭环设计及仿真试验 (38)5.2 球磨煤机制粉系统的解耦控制 (44)5.2.1球磨煤机制粉系统及数学模型 (44)5.2.2球磨煤机制粉系统的解耦控制仿真试验 (45)5.3本章小结 (47)第六章结论与展望 (48)6.1论文的主要工作与总结 (48)6.2存在的问题及今后工作的展望 (49)参考文献 (50)致谢 (53)在学期间发表的学术论文和参加科研情况 (54)第一章绪论1.1课题的研究背景及意义随着工业的发展,生产过程越来越复杂,耦合成为生产过程动态特性普遍存在的一种现象,一个复杂的系统中,需要控制的变量常常不只一对,而且这些变量之间往往以这种或那种形式相互关联着。
基于BP神经网络的电磁轴承逆系统解耦控制

Active magnetic bearing⁃rotor decoupling control based on BP neural network
inverse system
ZHAO Hongkai,JIANG Kejian
(School of Information Science and Technology,Zhejiang Sci⁃Tech University,Hangzhou 310018,
统的控制性能 [5-6]。文献[7]为了降低高速转动的电磁
流传感器的位移检测点有位置安装差异,为了简化
轴承的陀螺效应引起的不平稳问题,对转子的径向
分析,文中忽略施力点和检测点的位置偏差,并且认
平移模态和倾斜模态进行解耦,并采用位移交叉反
为左右电磁轴承参数相同。
馈法来抑制转子的振动 [7]。文献[8]将 PID 控制方法
学习辨识,建立了控制电流与各径向上转子位移的
电磁轴承的交叉耦合和机械耦合问题,将传统的交
一对一映射关系,同时设计了电磁轴承-转子的神经
叉解耦控制方法与滑模控制方法相结合,设计了一
网络逆系统闭环控制器,提高了转子的悬浮稳定性
种滑模变结构控制器,不仅有效提高了系统的跟踪
和抗干扰能力。
[4]
特性,还增强了鲁棒性 。文献[5-6]分析了电磁轴承
China)
Abstract: Aiming at the characteristics of multi⁃variable,nonlinear and strong coupling of active magnetic
bearing⁃flywheel rotor system,an inverse system decoupling control method based on BP neural network
基于PID神经网络的多变量强耦合时变控制系统

基于PID神经网络的多变量强耦合时变控制系统舒怀林* 郭秀才** 舒华**(广州大学信息与控制技术研究所,广东广州, 510091,hlshu@)**(西安科技大学自动化学院,陕西西安, 710054, guoxiucai@)摘要:本文介绍了一种新的神经网络——PID神经网络及其多变量强耦合时变控制系统。
文中给出了网络的结构和算法,分析了时变对象的特点,对一组二变量强耦合时变系统进行了实时仿真,显示了PID神经网络对多变量强耦合时变对象的良好解耦性能和自学习控制特性。
关键词:多变量时变系统,PID神经网络,自学习控制,解耦控制Multivariable Strong-coupled Time-varying System Based on PIDNeural NetworkShu Huailin* Guo Xiucai** Shu Hua**(Guangzhou University, Guangzhou, 510091, China, hlshu@)**(Xian University of Technology, Xian, 710054, China, guoxiucai@)Abstract: The paper introduces a new kind of neural network: PID neural network and the multivariablestrong-coupled time-varying system. The structure and the algorithm are given the simulation results are shown. It is proved that the PID neural network has perfect decouple and self-learning control performance forstrong-coupled time-varying system.Key words: Multivariable system, time-varying system, PID neural network, decouple control.1 引言传统方法设计多变量系统控制器一般分两个步骤进行,第一步是解除系统各个变量之间的耦合作用,即设计解耦器,将一个多变量系统分解为多个单变量系统;第二步是设计控制器,对各个变量分别进行控制。
基于BP神经网络的PID控制器的研究与实现

第十六届电工理论学术研讨会论文集基于BP神经网络的PID控制器的研究与实现张建国.(漳州职业技术学院电于工程系福建漳州363000)摘要:本文介绍基于BP神经网络的PID控制器的实现方法,可以在一定程度上解决传统PID调节器不易在线实时整定参数、难于对一些复杂过程和参数幔时变系统进行有效控制等问题。
一r一关键词:PID控制;神经网络;研究O引言PID控制要取得好的控制效果,必须寻找比例、积分和微分三种控制作用在形成控制量中相互配合又相互制约的关系,这种关系不一定是简单的“线性组合”,要在变化无穷的非线性组合中找出最佳的关系并非易事。
为此,本文试图利用神经网络所具有的:①能够充分逼近任意复杂的非线性关系,从而形成非线性动力学系统,以表示某种被控对象的模型或控制器模型;②能够学习和适应不确定性系统的动态特性;⑨所有定量或定性的信息都分布储存于网络内的各神经单元,从而具有很强的容错性和鲁棒性;④采用信息的分布式并行处理,可以进行快速大量运算等特点,把神经网络引入传统的PID控制,可以在一定程度上解决传统PID调节器不易在线实时整定参数、难于对一些复杂过程和参数慢时变系统进行有效控制等问题。
1基于BP神经网络的PID控制器BP神经网络具有逼近任意非线性函数的能力,而且结构和学习算法简单明确。
通过神经网络自身的学习,可以找到某一最优控制律下的P、I、D参数。
基于BP神经网络的PID控制系统结构如图1所示。
控制器由两个部分组成:①经典的PID控制器:直接对被控对象过程闭环控制,并且三个参数KP、KI、KD为在线整定式;②神经网络NN:根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化。
即使输出层神经元的输出状态对应于PID控制器的三个可调参数KP、KI、KD,通过神经网络的自身学习,加权系数调接,从而使其稳定状态对应于最优控制律下的PID控制器参数。
经典增量式数字PID的控制算式为u(k)=-u(k-1)+KP[e(k)-e(k-1)】+kIc(k)+kDEe(k)-2e(k-1.)+e(k.2)】(1)式中KP、KI、Kd一比例、积分、微分系数。
【精选】基于BP神经网络的多变量PID解耦控制 doc资料

基于BP神经网络的多变量PID解耦控制薛昊洋刘红军(华北电力大学自动化系,保定市071003Xue Haoyang Liu Hongjun(Automatic Department of North China Electric Power University, Baoding 071003 基于BP神经网络的多变量PID解耦控制Multivariate Decoupling Control Based on Back Propagation Neural NetworkAbstract: Intelligent PID control strategy, which is based on neural network, is according to classical PID control,realized through neural network parameter setting which has self study function for multivariate decoupling control.The structure and the algorithm were given and the real-time simulation results of double variable and strong-coupled time-varying system were shown in the paper. It proved that PID control based on neural network has preferably self study and self adapting decoupling control ability through simulation. The system, which inosculates the decoupler and controler, is easy to implement and applicable for multivariate decoupling control. It makes the decoupled system have better dynamic behavior and static characteristic. Especially, it makes parameters astringe fast when determing initial value of network according to BP control law.Key words: PID Control Neural Network Multivariable System Decoupling Control 【摘要】基于神经网络实现智能PID 控制的策略,它以经典的PID控制为基础,通过神经网络参数整定实现,进而进行自学,用于多变量系统的解耦控制。
多变量耦合系统PID神经网络控制方法研究

多变量耦合系统PID神经网络控制方法研究朱林;吴冬雪;赵倩【摘要】多变量系统内部的耦合性以及对象参数的复杂性,给控制系统的设计带来了一系列的问题。
传统控制方法无法对其进行精确解耦,导致系统控制精度较低。
本文构建一种基于遗传算法优化的PID神经网络解耦控制器。
该方法利用PID优良的动态控制特性和神经元网络非线性表达能力对多变量耦合系统进行解耦,在神经网络权值修正算法中增加动量项,提高网络学习效率,并采用遗传算法优化初始权值,克服了PID神经网络权值学习过程中易陷入局部最优值的缺点,提高了控制精度。
仿真结果表明:优化后的PID神经网络具有较高的稳态精度和较快的响应速度,能够实现解耦控制。
【期刊名称】《制造业自动化》【年(卷),期】2014(000)003【总页数】4页(P125-128)【关键词】神经网络;遗传算法;多变量;解耦;PID控制【作者】朱林;吴冬雪;赵倩【作者单位】内蒙古科技大学信息工程学院,包头014010;内蒙古科技大学信息工程学院,包头014010;中海石油海南天然气有限公司,海口578001【正文语种】中文【中图分类】TP1830 引言以多变量、强耦合、非线性为特点的复杂工业过程控制,一直是控制理论与控制工程领域的研究热点和前沿。
复杂工业过程控制由于数学模型变量多、变量间耦合、非线性和高阶,相应控制器设计困难。
在工业控制中,PID控制一直是通用、有效的控制方法[1]。
但是,面对多变量、强耦合、非线性为特点的复杂工业过程,PID控制效果会变差甚至不可控。
神经网络具有很强的自学习、自适应和任意非线性表达能力,近年来逐渐应用于复杂系统的控制中。
当系统存在不确定性因素时,更能体现神经网络的优越性。
文献[2]以二变量耦合时变系统为对象,设计了一种PID神经网络模型。
该模型与用神经网络对PID控制器参数进行辅助修改的方法有本质的区别[3,4]。
应用PID神经网络控制时,无需为对象的参数和系统结构进行辨识,可根据对象参数变化时对系统输出的影响,“在线”地调整PID神经网络的权值,较好地解决了多变量、耦合系统的控制难题。
多变量解耦控制方法

多变量解耦控制方法随着被控系统越来越复杂,如不确定性、多干扰、非线性、滞后、非最小相位等,需要控制的变量往往不只一个,且多个变量之间相互关联,即耦合,传统的单变量控制系统设计方法显然无法满足要求,工程中常常引入多变量的解耦设计........。
其思想早在控制科学发展初期就已形成,其实质是通过对一个具有耦合的多输入多输出控制系统,配以适当的补偿器,将耦合程度限制在一定程度或解耦为多个独立的单输入单输出系统。
其发展主要以Morgan于1964年提出的基于精确对消的全解耦状态空间法........及Rosenbrock于20世纪60年代提出的基于对角优势化的现代频率法.....为代表,但这两种方法都要求被控该方法是将补偿器逐个串入回路构成反馈,易于编程实现。
从解耦的角度看,类似三角解耦,但其补偿器的确定方法并不明确,不能实现完全解耦。
4)奇异值分解法包括奇异值带域法和逆结构正则化法。
主要是先绘制开环传递函数的奇异值图,采用主增益、主相位分析法,或者广义奈氏定理来确定主带域与临界点的关系,从而判别系统的鲁棒稳定性,特别适于无法特征分解或并矢分解的系统。
它是近年来普遍使用的方法之一。
此外,还有一些比较成功的频率方法,包括相对增益法、逆曲线法、特征曲线分析法。
以上解耦方法中,补偿器严重依赖被控对象的精确建模,在现代的工业生产中不具有适应性,难以保证控制过程品质,甚至导致系统不稳定。
即使采用这些方法进行部分解耦或者单向解耦,也不能实现完全解耦,而且辅助设计的工作量很大,不易实现动态解耦。
1.2自适应解耦控制的解耦、控制和辨识结合起来,以此实现参数未知或时变系统的在线精确解耦控制。
它的实质是.....将耦合项视为可测干扰,采用自校正前馈控制的方法,对耦合进行动、静态补偿,对补偿器的参数进行寻优。
它是智能解耦理论的基础,适于时变对象。
对于最小相位系统,自适应解耦控制采用最小方差....控.制律..可以抑制交联,对于非最小相位系统,它可采用广义最小方差控制律,只要性能指标函数中含有耦合项,就可达到消除耦合的目的,但需求解Diophantine方法,得到的解往往是最小二乘解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
m 难 控 , 验 道 的 合 弱 用 合 歹i 判 。 , 以 制了 检 通 之间 祸 强 可 祸 度 。来 别 就 i P l
当 , 表明 通道的 作用 于 通道的 制 歹;1 < 时, 主 控制 大 祸合 控 作用, 。 歹 越小, 作用 祸合 越弱; 歹;1 当 ; 时, >
表明藕合通道的控制作用等于或大于主通道的控制作用, 越大, f“ 祸合作用越强。在后种情况下, 若要
1神经网络解藕控制
设n 个输入n 个输出的祸合对象为 Y )Gs ( (= (Ms s ) )
( =,: 2)… 、 ,)y : ( 其中,; ) [(
r . . . . . . . .
, sT M =M( z)… m(1 ,); ( I s ( (] s ,)m s ) ,); sT
() 1
G ) ( s
门
Y () ,S Y () , S
Y () . S
D,() :s
D,() u () ,s , ,S
.‘ 1 , . 1 . . es es ‘l es l l es 几. 1 . I l l S
第 1卷 第 5 6 期 20 年 1 月 03 0
武 汉 科 技 学 院 学 报
J OURNAL F UHA UNI R I Y S E E ND NGI E NG O W N VE S T OF CI NC A E NE RI
V l1 No 5 o . 6 . Oc 2 3 . 0 t 0
. .
-一
.
G, s ,' () G , ,s ()
1 . 1 , we J
G,() s G:() s , , G。() ,s :
G , () s
Y) (为对象输出拉氏变换列向量; s s M(为对象输入拉氏变换列向量; (为传递函数矩阵。Gi) i ) Gs ) i 为第 ( s
通过 析比 这里 解藕关系明 解 能维 主通 分 较, 采用 确、 祸后 持 道特性不变的 法 变性原理【 祸。 方 一不 ’ ] 解
对于 n n 藕合对象, X 引入解祸网络Ds 解祸网 (, ) 络的输入信号为调节器的输出信号 Us 解藕网 (, ) 络的 输出信号为对象的输入信号M . ( S )
个 至 个 的 递函 称为 个 道 递函 G(为 个 至第i 翰出 传 数, 输入 第i 输出 传 数, 第i 主通 传 数; i) 第J 输入 , s 个 的 递函
称为祸合通道的传递函数。
一般来讲, 对象各通道之间 当 为弱祸合时, 个主通道输入m能较好地控制输出Y 当 第i , i 祸合较强时, ;
表明,解藕控制效果很好. 关键词:A合对象;解藕控制;神经网络;调节器;计算机仿真
中图分类号:T 2 P7 文献标识码:A 文章编号:10 -56 (03 -06 -0 09 10 0 ) 0 1 4 2
多输入、 输出非线性时变的系统往往具有祸合特性, 祸合对象的控制比较困难。 为了实施有效控制, 通 常需要将被控对象进行解祸处理。 传统的解祸控制方法存在着结构设计、 计算复杂, 系统响应慢、 超调大、 控制精度差等间题。而神经元网络是模拟大脑的某些机理与机制,由 人工建立的拓朴结构的网 它通过 络, 对连续或断续的输入作状态响应, 而信息处理神经元网 络是本质性的并行结构, 并且可以用硬件实现。 神 经元网络的本质是非线性系统,多层神经元网 络具有逼近任意函数的能力。它能同时处理大量不同 类型的 输入信息, 能很好解决输入信息之间的冗余问题, 能恰当地协调互相矛盾的输入信息, 可以处理那些难以 用模型或规则描述的系统信息。利用神经元网络这种特性, 将控制器和某个输入对其它输出的祸合关系隐 藏在一个三层 B P网络中统一处理, 通过少量的实际控制数据来训练解祸控制器, 能够很好的解决多输入 多输出系统的解祸控制问题。本文将神经网络控制与解祸控制结合起来。实现对多输入多输出系统解祸控 制,保证了系统解藕控制的质量。
基于 B P神经网络的多变量解祸控制研究
王作宏
( 武汉职业技术学院 服装与艺术学院, 湖北 武汉 407) 303 摘要: 针对多输入、多 输出 藕合对象, 研究基于B 神经网 P 络的解藕控制, 提出采用训练好的神经网 络解藕 器和神经网络调节器结合, 对系统进行解辐控制的方法. 通过对 2 输入 2 输出藕合对象进行计算机仿真结果
M( = ) ) Y ) ( ( ( = S ( s Us, s G sD s Us G ( U , s D ) ( ( ( = ) ) ) ) s )
其中, (= S , ) , ) ; A)dg , )G ) … ‘, ); U )[(U( …。( ] G(=i [,、 2、 S u ) : , T , S S a G( 1 ( ,: , ] (
收稿日 20- - 期: 03 7 9 02 作者简介:王作宏( 6- ( 4) 9 ,男,副教授, 研究方向: 神经网络控制,纺织工艺设备,电气控制.
万方数据
武
汉
科
技
学
院
学
报Leabharlann 20 年 03实现m对y ‘ , 的有效控制,必须对 Gs (解祸。判别公式如( 0 ) 2 )
了 . 1
f。l =i m
度1 .、
1
G
i S *s ;s Us } ) } 艺G (G (G ) ( )j ' ) (
j s = i l
() 2
应当 歹i1 不解祸可以 (进行控制, 指出, , < 时, 对Gs ) 但这并不是说控制品 质也很好。 事实上, 歹“ 当 接
近于 1 时,为了获得满意的控制效果, 仍需要对 Gs (解祸。 ) 解祸控制设计就是依据 Gs (设计出 ) 解藕网 络Ds 通过引入Ds (, ) (,实现对 Gs ) (解藕, (解祸后, ) Gs ) 可 以像单回路控制系统那样设计各主通道调节器,由 各主通道合成一个神经网络调节器。解藕的方法很多,