模糊控制程序设计报告自研112班麻世博2201100387题目:已知被控对象为0.51()101sGses−=+。假设系统给定为阶跃值r=30,采样时间为0.5s,系统的初始值r(0)=0。试分别设计:(1)常规的PID控制器;(2)常规的模糊控制器;分别对上述2种控制器进行Matlab仿真,并比较控制效果解答:1常规PID控制器的设计与SIMULINK仿真如图1所示,使用SIMULINK工具对已知系统的PID控制系统进行仿真。图1PID控制系统的SIMULIK仿真其中PID控制器为离散型,采样时间T=0.5s,参数P=14,I=3,D=0。阶跃信号幅值为30,被控对象传递函数为0.51()101sGses−=+。该系统的阶跃响应如图2。图2PID控制系统的输出该控制系统上升时间Tr=1.5s,调节时间Ts=8s,超调量σ%=70%,没有稳态误差。该系统中PID控制器的输出曲线如图3。图3PID控制器的输出曲线输出最大值为465,最小值为-208。2模糊控制器的设计在本文中,我通过MATLAB提供的模糊逻辑工具箱(FuzzyLogicToolbox)编辑隶属函数、控制规则,设计了一个双输入单输出的模糊控制器,如下图所示。图4模糊控制器概览2.1隶属度函数的确立。选择偏差E和偏差变化率EC作为控制器的输入,控制量U为输出。取E、EC和U的模糊子集为{NB,NM,NS,ZO,PS,PM,PL},它们的论域为{-3,-2,-1,0,1,2,3}。在MATLAB的命令窗口输入命令Fuzzy,进入模糊逻辑编辑窗口。取输入量E、EC的隶属函数为高斯型(gaussmf),输出U的隶属函数为三角形(trimf),如下图所示。图5输入模糊变量E的隶属度函数图6输入模糊变量EC的隶属度函数图7输出模糊变量U的隶属度函数2.2模糊控制规则与决策方法的确立。根据隶属函数和控制经验设计的控制规则如表1所示。以if⋯then的形式在RuleEditor窗口输入这49条规则,这样就完成了控制规则的编辑。表1模糊控制器规则表EUNBNMNSZOPSPMPBNBNBNBNMNMNMNSNSNMNBNMNMNSNSZOPSNSNMNMNSNSZOPSPMZONMNMNSZOPSPMPMPSNMNSZOPSPSPMPMPMNSZOPSPSPMPMPMECPBPSPSPMPMPMPBPB在本控制器中,模糊决策采用Mamdani型推理算法,逆模糊用重心平均法(centroid)。这样就利用模糊逻辑工具箱建立了一个FIS型文件,取文件名为f4.fis,并将模糊控制器导入工作空间,这样就完成了FIS型文件同SIMULINK的连接,为下一步的系统仿真打下了基础。3模糊控制系统的SIMULINK仿真在SIMULINK的菜单中,选择FuzzyLogicToolbox中的FuzzyLogicController模块,键入f4,在这基础之上,加上量化因子Ke、Kec和Ku。这样,模糊控制器便建立起来了,再加上被控系统的模型和相关模块,就构成了如图8所示的模糊控制系统。图8模糊控制系统的SIMULINK仿真其中,输入阶跃信号幅值为30,起始时间t=1s,Ke=0.32,采样周期T=0.5s,Kec=0.03,采样周期T=0.5s,限幅器Fe和Fec输出范围为[-3,3]。Ku=50。被控对象传递函数为,0.51()101sGses−=+。该系统的输出阶跃响应如图9。图9模糊控制系统的阶跃响应该控制系统上升时间Tr=4.5s,调节时间Ts=3.5s,超调量σ%=8.2%,稳态误差6.7%。模糊控制器的输出如图10.图10模糊控制器的输出曲线模糊控制器的最大输出130,最小输出为-3。4PID控制器与模糊控制器的比较。与PID控制器相比,模糊控制器的调节时间较短,超调量较小,控制器输出更加平稳,幅度更小,但稳态误差较大。这次仿真结果与理想的模糊控制器的仿真效果差距较大,可能是该系统的信号采样时间T=0.5s较大造成的。