您好,欢迎访问三七文档
5.2.2.6模糊控制器设计实例1、单输入模糊控制器的设计【例5.12】已知某汽温控制系统结构如图5.10所示,采用喷水减温进行控制。设计单输入模糊控制器,观察定值扰动和内部扰动的控制效果。FC4)135(1.1s)(tIR)500(5.0tIruy图5.10单回路模糊控制系统按表5-2确定模糊变量E、U的隶属函数,按表5-3确定模糊控制规则,选择温度偏差e、控制量u的实际论域:[1.5,1.5]eu,则可得到该系统的单输入模糊控制的仿真程序如FC_SI_main.m所示,仿真结果如图5.11所示。设温度偏差e、控制量u的实际论域:[1.5,1.5]eu,选择e、u的等级量论域为{3,2,1,0,1,2,3}EU量化因子2)5.1(5.132K。选择模糊词集为{NB,NS,ZO,PS,PB},根据人的控制经验,确定等级量E,U的隶属函数曲线如图5-8所示。根据隶属函数曲线可以得到模糊变量E、U的赋值表如表5-3所示。图5-8E,U的隶属函数曲线表5-3模糊变量E、U的赋值表(μ)等级量μE、U-3-2-10123-3-2-10123PBPSZO1NSNB0.5EUPB000000.51PS000010.50ZO000.510.500NS00.510000NB10.500000依据人手动控制的一般经验,可以总结出一些控制规则,例如:若误差E为O,说明温度接近希望值,喷水阀保持不动;若误差E为正,说明温度低于希望值,应该减少喷水;若误差E为负,说明温度高于希望值,应该增加喷水。若采用数学符号描述,可总结如下模糊控制规则:若E负大,则U正大;若E负小,则U正小;若E为零,则U为零;若E正小,则U负小;若E正大,则U负大。写成模糊推理句:ifE=NBthenU=PBifE=NSthenU=PSifE=ZOthenU=ZOifE=PSthenU=NSifE=PBthenU=NB由上述的控制规则可得到模糊控制规则表,如表5-4所示。表5-4模糊控制规则表ENBNSZOPSPBUPBPSZONSNB模糊控制规则实际上是一组多重条件语句,它可以表示从误差论域E到控制量论域U的模糊关系R。按着上述控制规则,可以得到该温度偏差与喷水阀门开度之间的模糊关系R:()()()()()EUEUEUEUEUREUNBPBNSPSZOZOPSNSPBNB计算模糊关系矩阵R的子程序如F_Relation_1.m所示。%模糊关系计算子程序F_Relation_1.cfunction[R,mfe,mfu,ne,nu,Me]=F_Relation_1%#############################输入模糊变量赋值表(表5-3)############################ne=7;%等级量e的个数nu=7;%等级量u的个数Me=[000000.51;000010.50;000.510.500;00.510000;10.500000];Mu=Me;%##定义模糊变量及其语言值1=PB,2=PS,3=O,4=NS,5=NB,并输入模糊控制规则表(表5-4)##mfc=5;%模糊变量E的语言值个数,控制规则表列数E=[54321];UC=[12345];%########################计算R=E×U###############################################R=zeros(ne,nu);fori=1:mfciu=UC(i);ie=E(i);fork=1:neforl=1:nuifMe(ie,k)Mu(iu,l)Reu(k,l)=Me(ie,k);elseReu(k,l)=Mu(iu,l);endendendfork=1:neforl=1:nuifReu(k,l)R(k,l)R(k,l)=Reu(k,l);endendendend运行结果如下:由此,可以得到各种输入时,模糊控制器的输出:单输入时:UER(5-5)双输入时:RECEU)((5-6)三输入时:RECCECEU)((5-7)例如:单输入时,设2.1e,根据前面的等级量划分原则,其等级量1E,由表5-2可以查出]05.010000[PSE。根据式(5-5)可以得到:000005.00.100005.05.05.0005.05.00.15.00005.00.15.00005.00.15.05.0005.05.05.000000.15.000000R]005.05.00.15.05.0[000005.00.100005.05.05.0005.05.00.15.00005.00.15.00005.00.15.05.0005.05.05.000000.15.00000005.010000U其模糊决策子程序如F_Deduce_1.m所示。%单输入时模糊决策子程序F_Deduce_1.mfunctionFU=F_Deduce_1(fe,R,ne,nu)fori=1:nuforj=1:neiffe(j)R(j,i)feu(j)=fe(j);elsefeu(j)=R(j,i);endendFU(i)=max(feu);end%单输入模糊控制仿真程序FC_SI_main.m,被控对象W(s)=-1.1/(35s+1)^4)clearallDT=1;ST=1500;LP=ST/DT;A1=exp(-DT/35);B1=1-A1;x(1:4)=0;ur=0;%###设置e、u的初始论域及其等级量论域,计算量化因子及比例因子##########em=1.5;EM=3;Ke=EM/em;UM=3;um=1.5;Ku=um/UM;%#########调用计算模糊关系矩阵R的子程序F_Relation_1.m#############[R,mfc,ne,nu,Me]=F_Relation_1;%#############################################################fork=1:LP%############计算FC的输出###################################e=1-x(4);%计算偏差量ee1=round(Ke*e);%把e转化成等级量ife1EM;e1=EM;endife1-EM;e1=-EM;endj=e1+EM+1;Fi=1;fori=2:muifMe(i,j)Me(i-1,j);Fi=i;end;%得到模糊语言值endU=F_Deduce_1(Me(Fi,:),R,ne,nu);%调用模糊决策子程序%加权平均法判决控制器的输出Su=0;S=0;fori=-UM:UMSu=Su+i*U(i+UM+1);S=S+U(i+UM+1);endu=Ku*Su/S+ur;%***************仿真计算被控对象********************x(1)=A1*x(1)-1.1*B1*u;x(2)=A1*x(2)+B1*x(1);x(3)=A1*x(3)+B1*x(2);x(4)=A1*x(4)+B1*x(3);y1(k)=x(4);u1(k)=u;t(k)=k*DT;ift(k)800;ur=0.5;end;%800秒后加入内扰endplot(t,y1)holdon;plot(t,u1,'--')050010001500-1.2-1-0.8-0.6-0.4-0.200.20.40.60.8yu图5.11单输入模糊控制器的控制效果从上述的仿真结果可以看到,定值扰动时系统可以达到稳定,但是有很大的静差,不能满足工程上的要求,究其原因是,模糊控制器实质上是一个具有继电器型非线性特性的控制器(如图5.11中所示的u),没有积分作用,对于有自平衡对象一定会产生静差,而且系统极容易产生震荡。从图5.11就可看出,虽然设计的模糊控制器对定值扰动是稳定的,但对于内扰并不能使其稳定。非线性控制器的控制效果取决于各变量的论域及扰动量的大小【1】,因此,模糊控制器的大范围工程应用还有许多问题需要研究。2、双输入模糊控制器的设计【例5.13】对于图5.10所示的系统,设计双输入模糊控制器,观察定值扰动和内部扰动的控制效果。下面考虑两个输入的情况:设温度偏差e、偏差变化率ec及控制量u的实际论域:[1.5,1.5]eecu,选择它们的等级量论域分别为{6,5,4,3,2,1,0,0,1,2,3,4,5,6}E{6,5,4,3,2,1,0,1,2,3,4,5,6}EC{7,6,5,4,3,2,1,0,1,2,3,4,5,6,7}U量化因子4)5.1(5.162,eceK,314)5.1(5.172uK假设选取E的模糊变量词集为{,,,,,,,}NBNMNSNOPOPSPMPB选取模糊变量E的赋值表如表5-5所示。表5-5e的等级量与模糊量的关系EE-6-5-4-3-2-1-0+0+1+2+3+4+5+6PB00000000000.10.40.81.0PM0000000000.20.71.00.70.2PS00000000.30.81.00.50.100PO00000001.00.60.10000NO00000.10.61.00000000NS000.10.51.00.80.30000000NM0.20.71.00.70.2000000000NB1.00.80.40.10000000000选取EC、U的模糊变量词集为{,,,,,,}NBNMNSZOPSPMPB选取模糊变量EC的赋值表如表5-2所示,模糊变量U的赋值表如表5-6所示。表5-6等级量U与模糊量U的关系UU-7-6-5-4-3-2-10+1+2+3+4+5+6+7PB000000000000.10.40.81.0PM0000000000.20.71.00.70.20PS00000000.41.00.80.40.1000ZO0000000.51.00.5000000NS0000.10.40.81.00.40000000NM00.20.71.00.70.2000000000NB1.00.80.40.100000000000现将操作者在操作过程中遇到的各种出现的情况和相应的控制策略汇总为表5-7。表5-7双输入时的模糊控制规则表EUECNBNMNSNOPOPSPMPBNBPBPBPMPMPMPSZOZONMPBPBPMPMPMPSZOZONSPBPBPMPSPSZONSNMZOPBPMPSZOZONSNMNBPSPMPMPSZONSNSNMNBPMPMPSZONSNMNMNBNBPBPSZONSNMNMNBNBNB下面说明建立模糊控制规则表的基本思想。首先考虑误差为负的情况,当误差(希望值减去温度值)为负大时(说明温度高于希望值),若误差变化率也为负,这时误差有增大的趋势,为尽快消除已有的负大误差并抑制误差变大,所以控制量的变化取正大(控制量增大,意味着喷水阀门开度增大,喷水量增加,使得温度下降,下同)。当误差为负而误差变化率为正时,系统本身已有减少误差的趋势,所以,为尽快消除误差而又不超调,应取较小的控制量。当误差为负中时,控制量的变化应使误差尽快消除,基于这种原则,控制量的变化选取同误差为负大时相同。当误差为负小时,系统接近稳态,若误差变化微小时,选取控制量变化为正中,以抑制误差往负方向变化;若误差变化为正时,系统本身有消除负小的误差的趋势,选取控制量变化为正小。上述选取控制量变化的原则:当误差大或较大时,选择控制量以尽快消除误差为主;当误差较小时,选择控制量要注意防止超调,以系统稳定性为主要出发点。按着上述控制规则,可以得到温度偏差及偏差变化率与喷水阀门开度之间的模糊关系R:()
本文标题:模糊控制程序实例
链接地址:https://www.777doc.com/doc-7149131 .html