模糊控制器的设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1模糊控制器设计及与PID控制器的比较1.控制系统数学型现有一控制系统的闭环数学模型为2133()15133Gsss这个模型来自于自动控制原理教材中探讨的一个位置控制系统,显示它是一个振荡的系统。下面分析系统开环时在阶跃响应下的性能指标。仿真程序为附录程序1,下面是通过matlab仿真得到的响应曲线图。StepResponseTime(sec)Amplitude00.050.10.150.20.250.30.350.40123456789图1系统开环阶跃响应由开环响应曲线可知,此时系统很不稳定,不满足控制的要求。下面我们看看闭环响应曲线的情况,其仿真程序为附录程序2,matlab仿真曲线如图2所示:StepResponseTime(sec)Amplitude00.10.20.30.40.50.60.70.800.20.40.60.811.21.4图2系统闭环阶跃响应可以从图中得到闭环系统性能指标如下:上升时间为0.172s;调节时间为0.521s;超调为6.78%。此时,系统还存在较大的超调量,并且响应还不够迅速,系统的性能还不是很优良,这样我们为了提高系统的性能,就开始下一步的控制器的设计。2.设计一个PI控制器,与1构成单位负反馈,用衰减曲线法整定该控制器参数,并针对整定后的单位负反馈系统进行阶跃响应分析,给出性能指标(静差为零)用衰减曲线整定法整定PID参数:(1)比例控制校正比例环节成比例地反映控制系统的偏差信号,若不考虑积分和微分环节,则比例系数kp应尽可能大,2以提高比例作用的强度,以减小偏差。采用单纯的比例控制,其调整时间和超调量是一对矛盾,无法同时满足,要缩短调整时间,kp要加大,但超调量同时也增大了。本系统经过多次参数选择,当kp=4时,阶跃响应曲线较为理想,呈现接近0.80的衰减率振荡过程。令kp=4,根据程序3可得到阶跃响应曲线如图3:由图23可知,此时的超调量为38.5%,稳态误差为0.2,调节时间为0.526s,此时系统的超调仍较大,误差也较大,响应速度也不够快,所以需要减少超调量.,减少调节时间,提高系统的性能,下面就要进行微分环节的设计。00.10.20.30.40.50.60.70.80.9100.20.40.60.811.21.4StepResponseTime(sec)Amplitude图3比例响应曲线(2)比例微分校正微分环节反映偏差信号的变化速率,可抑制最大动态偏差,加快系统的动作速度,减少系统的调节时间,提高系统的稳定性。但微分作用不能单独使用,因为她的输出仅与偏差的变化速度有关,如果偏差存在而不变化,微分作用是没有输出的。现将比例和微分控制结合使用,组成PD控制器。经过整定,令kd为0.12,根据程序3可得到阶跃响应曲线如图3所示。StepResponseTime(sec)Amplitude00.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.70.80.9图4阶跃响应曲线(kp=4,kd=0.2)根据图4可知,超调量为9.61%;上升时间为0.042s;稳态误差为0.2;调节时间为0.194s。所以PD控制比单纯的比例控制超调量要小,调节时间和上升时间均要小,性能指标有所提高,只是稳态误差仍相同,还需要进一步减少。(3)比例积分微分校正积分用于消除静差,提高系统的无差度。从(2)可知,PD控制无法完全消除稳态误差,因此在PD校正基础上加入积分作用,使稳态误差变为0。积分时间常数ki越大,积分作用越微弱,经过整定,令ki为295,根据程序5可得到PID控制的阶跃响应曲线如图5所示。300.10.20.30.40.50.60.70.80.910.960.970.980.9911.011.021.03StepResponseTime(sec)Amplitude图5阶跃响应曲线(kp=5,kd=0.2,ki=295)由图5可知,PID校正的性能指标为:超调量为1.48%;上升时间为0.031s;调节时间为0.316s;稳态误差为0.003,近似为零。由此可知,虽然调节时间稍微变长了,但是PID校正总体上达到了很高的性能指标,使整个系统达到了稳定,快速,准确的统一。3模糊控制器设计1.模糊控制器的设计包括的内容:(1)确定模糊控制器的控制量(2)设计模糊控制器的控制规则(3)确立模糊化和清晰化的方法(4)确定论域与模糊控制器的参数(5)编制控制算法程序(6)合理选择算法的采样时间以下就按照此方法步骤设计要求的模糊控制器.2模糊控制器的具体设计1.确定输入输出变量和模糊分割采用二维模糊控制器,选择误差e和误差的改变量ec作为模糊控制器的输入量,控制量u作为输出变量,它们的论域分别是E、C、U,表示如下:E={-6,-5,-3,-2,-1,0,+1,+2,+3,+4,+5,+6}}6,5,4,3,2,1,0,1,2,3,4,5,6{CU={-6,-5,-4,-3,-2,-1,0+1,+2,+3,+4,+5,+6}各论域上的模糊子集是FE={NB,NS,ZR,PB,PS}FC={NB,NS,ZR,PB,PS}F(E)={NB,NS,ZR,PB,PS}2.确定模糊控制器的规则根据系统输出的误差及误差的变化趋势来消除误差的模糊规则。根据经验建立控制规则,这个控制规则可以用下述15条模糊条件语句来描述:(1)ifE=NBorNSandEC=NBthenu=PB(2)ifE=NBandEC=NSthenu=PB(3)ifE=NBorNSandEC=ZRthenu=PS(4)ifE=NBandEC=PSthenu=PS(5)ifE=NBorNSandEC=PBthenu=ZR(6)ifE=NSorZRandEC=NSthenu=PS(7)ifE=NSorZRandEC=PSthenu=ZR(8)ifE=ZRorPSandEC=NBthenu=PS(9)ifE=ZRorPSandEC=ZRthenu=ZR(10)ifE=ZRorPSandEC=PBthenu=NS(11)ifE=PSorPBandEC=NSthenu=ZR(12)ifE=PSorPBandEC=PSthenu=NS(13)ifE=PBandEC=NBthenu=ZR(14)ifE=PBandEC=ZRthenu=NS(15)ifE=PBandEC=PBthenu=NB43确定各模糊变量的隶属函数值为了对输入量进行模糊化处理,模糊变量误差e,误差变化ec及控制量u的模糊集和论域确定后,需对模糊语言变量确定隶属度函数。-6-4-2024NSPB1.00.5μPSeZR论域E,EC的隶属度函数曲线-3-2-1012NSPB1.00.5μPSeZR论域U的三角形隶属度函数曲线4.计算模糊关系有了各个模糊集合的隶属度函数分布,就可以对每条模糊规则计算模糊蕴含关系。规则1:UECEEPBNBNSNBR)(1规则2:UECECEPBNSZENBR)(2规则3:UECEEPSZRNSNBR)(3规则4:UECEPSPSNBR4规则5:UECEEZRPBNSNBR)(5规则6:UECEPSNSNSR6规则7:UECEZEPSNSR7规则8:UECEEPSNBPSZRR)(8规则9:UECEPSNSZRR9规则10:UECEEZRZRPSZRR)(10规则11:UECEZRPSZRR11规则12:UECEENSPBPSZRR)(12规则13:UECEEZRNSPBPSR)(13规则14:UECEENSPSPBPSR)(14规则15:UECEZRNBPSR15规则16:UECENSZRPBR16规则17:UECENBPBPBR17可以得出:NBNSZRPSPRNBPBPBPSPSZRNSPBPSPSZRZRZRPSPSZRZRNSPSPSZRZRNSNSPRZRZRNSNSNB表1模糊推理规则表如果采用模糊推理的综合法,可以得到总的模糊关系R,2121RRRR,当输入是e和ec时,经模糊化得到的模糊集合是'E和'EC,于是,模糊推理结果是RECEU)('''5如果采用并行推理法,那么,iiRECEU)(''',17,,2,1i,所以'17'2'1'UUUU'U经解模糊化就可以得到论域U上的控制量'u。清晰化:采用最大隶属度法、加权平均法或中位数法,本控制器采用重心法。采用matlab程序编程可以得到模糊控制查询表,具体的程序在后面的附录3中,下面表3就是得到的控制查询表-6-5-4-3-2-10+1+2+3+4+5+6-63333322222210-53333322222210-43322222111111-33322222110010-23322222111010-122222111111000222221101000-1+1221111100000-1+2221001000-1-1-1-1+32221-1-1000-1-1-1-1+4111110000-1-1-1-1+50010000------111112+60010000-1-1-1-1-1-2运行模糊控制的仿真程序附录中7,得到模糊控制器控制系统的响应如下图所示:01234567891000.10.20.30.40.50.60.70.80.91图6模糊控制下系统的响应比较图6与图5可以发现,利用模糊控制器控制系统与PID控制系统相比,前者使系统的鲁棒性能更强,干扰被大大减弱,并且系统系统的动态特性更好,显然前者控制的系统性能优于后者。另外,通过阅读相关资料发现,出现了模糊PID控制器,自适应模糊PID控制,它结合了模糊控制器与PID控制器的优点,能使系统的性能更加完美。附录:程序16num=[133];den=[115];sys=tf(num,den);ltiview;程序2num=[133];den=[115133];sys=tf(num,den)程序3num=133;den=[1,15,133];kp=4;numc=kp;denc=[1];numf=conv(num,numc);denf=conv(den,denc);[numcf,dencf]=cloop(numf,denf);t=0:0.001:1;step(numcf,dencf,t);程序4num=133;den=[1,15,133];kp=4;kd=0.2;numc=[kd,kp];denc=[1];numf=conv(num,numc);denf=conv(den,denc);[numcf,dencf]=cloop(numf,denf);t=0:0.001:1;step(numcf,dencf,t);程序5num=133;den=[1,15,133];kp=4;kd=0.2;ki=295;numc=[kd,kp,ki];denc=[1];numf=conv(num,numc);denf=conv(den,denc);[numcf,dencf]=cloop(numf,denf);t=0:0.001:1;step(numcf,dencf,t);程序6%模糊控制器设计%建立FISfuz2=newfis('simpleFuzzy2');fuz2=addvar(fuz2,'input','e',[-66]);fuz2=addmf(fuz2,'input',1,'NB','trapmf',[-6,-6,-5,-3]);fuz2=addmf(fuz2,'input',1,'NS','trapmf',[-5,-3,-2,0]);fuz2=addmf(fuz2,'input',1,'ZR','trimf',[-2,0,2]);fuz2=addmf(fuz2,'input',1,'PS','trapmf',[0,2,3,5]);7fuz2=addmf(fuz2,'input',1,'PB','trapmf',[

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功