A.理论分析与设计
利用MATLAB模糊控制器实现对水位高度调节SIMULINK仿真(隶属度3分级)_PoistRXE的博客-优快云博客利用MATLAB模糊控制器实现对水位高度调节SIMULINK仿真(隶属度3分级)https://blog.youkuaiyun.com/qq_42816065/article/details/122397812与该例子中的理论分析完全相同,后文中将该例子称为示例6.1。
B.FUZZY控制器设计
(1)FUZZY控制器结构、建立隶属度函数
与上面的例子相同。
(2)建立液位模糊控制规则表
根据公式 计算不同α 对应的模糊控制规则表。
编写matlab计算函数如下:
a=0.5;E=[-1 0 1];EC=[-1 0 1];
[~,m]=size(E);[~,n]=size(EC);
U=zeros(n,m);
for i=1:n
for j=1:m
U(n+1-i,j)=int16(2*(a*E(j)+(1-a)*EC(i)));
end
end
输出的U矩阵对应的就是模糊控制规则表。
表1 示例6.1的液位模糊控制规则表
level valve rate | high | okay | low |
negative | close-fast | open-slow | open-fast |
zero | close-fast | no-change | open-fast |
positive | close-fast | close-slow | open-fast |
表2 α=0.5 液位模糊控制规则表
level valve rate | high | okay | low |
negative | no-change | open-slow | open-fast |
zero | close-slow | no-change | open-slow |
positive | close-fast | close-slow | no-change |
表3 α=0.625 液位模糊控制规则表
level valve rate | high | okay | low |
negative | close-slow | open-slow | open-fast |
zero | close-slow | no-change | open-slow |
positive | close-fast | close-slow | open-slow |
表4 α=0.75 液位模糊控制规则表
level valve rate | high | okay | low |
negative | close-slow | open-slow | open-fast |
zero | close-fast | no-change | open-fast |
positive | close-fast | close-slow | open-slow |
在FUZZY控制器中填写该表格,如图1-4所示分别为示例6.1、α=0.5、α=0.625、α=0.75 对应的rule设置。
图1 示例6.1对应的rule设置
图2 α=0.5 对应的rule设置
图3 α=0.625 对应的rule设置
图4 α=0.75 对应的rule设置
在view中查看Rules,如图5-8所示为示例6.1、α=0.5、α=0.625、α=0.75 对应的Rules。
图5 示例6.1对应的Rules实例
图6 α=0.5 对应的Rules实例
图7 α=0.625 对应的Rules实例
图8 α=0.75 对应的Rules实例
在view中查看FIS输出量曲面观测窗,如图9-12所示为示例6.1、α=0.5、α=0.625、α=0.75 对应的surface观测窗。
图9 示例6.1对应的surface观测窗
图10 α=0.5 对应的surface观测窗
图11 α=0.625 对应的surface观测窗
图12 α=0.75 对应的surface观测窗
(3)输出FUZZY控制器
顺序单击File--Export --To Workspace和To File,将示例6.1、α=0.5、α=0.625、α=0.75 对应的模糊控制器分别保存为level_FIS、level_FIS_5、level_FIS_625、level_FIS_75, 模糊控制器设计完毕。
C. 建立基于模糊控制器的液位模糊控制的Simulink模型
(1)搭建Simulink模型
如图13所示为示例6.1、α=0.5、α=0.625、α=0.75 对应的液位模糊控制的Simulink整体框图。
图13 Simulink整体框图
(2)阀门子系统框图、限幅积分器的参数设置、水箱子系统框图、限幅积分器的参数设置、Overflow sensor参数设置、Signal Generator、Saturation参数设置
与该例相同,这里不做累述。如图14所示为示例6.1、α=0.5、α=0.625、α=0.75 对应Fuzzy Logic Controller参数设置界面。
图14 示例6.1、α=0.5、α=0.625、α=0.75对应的Fuzzy Logic Controller参数设置
D. Simulink仿真结果
如图15所示为示例6.1、α=0.5、α=0.625、α=0.75对应的Simulink仿真结果,蓝色的线给定输入,橙色的为示例6.1的液位变化,黄色的线为α=0.5对应的液位变化,紫色的线为α=0.625对应的液位变化,绿色的线为α=0.75对应的液位变化,图中α=0.625和α=0.75对应的液位变化很相近,几乎重合。
1.快速性:分析α=0.5变化到α=0.75的过程中,控制规则中误差的作用变得越来越大,系统的快速性不断得到增强,同时也带了系统的超调(α=0.625和α=0.75),但是很微小(<5%),在可以接受的范围内。
2.有无静差:可以从结果中看出示例6.1、α=0.5、α=0.625、α=0.75对应的模糊控制器都能够实现无静差控制。
3.动态特性:与示例6.1中的模糊控制器相比,α=0.5、α=0.625、α=0.75对应的模糊控制器动态跟随性能得到不断地提升。
图15 示例6.1、α=0.5、α=0.625、α=0.75对应的Simulink仿真结果
4. 小结(性能综合评述)。
性能综合评述:模糊自动控制是以模糊集合论、模糊语言变量及模糊逻辑推理为基础的一种计算机数字控制[1]。它的组成核心是具有智能性的模糊控制器。模糊控制器一般由输入量模糊化。接口、知识库、推理机和输出模糊判决4个部分组成[2]。模糊化接口就是要把测量的输入变量映射到一个合适的响应论域。模糊控制是基于模糊集合理论的控制方式,它的出现为非线性控制器的设计提出了一种比较容易的设计方法,尤其是当受控装置含有不确定性,而且很难用常规非线性理论处理时更为有效,受到工程控制领域的欢迎,获得了比较多的应用,但是当误差变化率变化范围较大时,会出现模糊控制的实时控制性能变差和定位精度不高的情况,究其原因是误差e和误差变化率△e量化等级少、区间跨度大[1]。在液位模糊控制中,模糊控制具有无静差、快速性好、动态跟随性能好等特点,满足实际的控制要求。
对于规则可调整的Fuzzy控制器,通过α调整值的大小,可以改变对误差和误差变化率对控制输出量U的加权程度,从而调整了控制规则。这样也就是对于整个e论域的所有等级均按照取定加权系数α来调整,实际上α值加大表示误差系数上升,而误差变化率系数下降,显然,当被控对象阶次较高,系统响应慢时,应减小α,提高对误差变化率e的加权程度,反之当被控对象阶次较低,系统响应较快时,则应增大α,减少对误差变化率e的加权程度,α值可采用参数寻优或离线整定的方法求得其最优值。
参考文献
[1]丁肇红.基于MATLAB的液位模糊控制系统设计[J].上海应用技术学院学报(自然科学版),2009,9(04):258-260+270.
[2]黄陈蓉,吴慧中.基于规则可调整的双模模糊控制系统的研究[J].计算机工程,2004(21):17-19+60.