1964年美国的L.A.Zadeh教授创立了模糊集合理论,1974年英国的E.HMamdani研制出第一个模糊控制器。模糊控制不需要了解对象的精确数学模型,根据专家知识进行控制,近十年来得到了广泛的应用。 模糊控制器的设计参数主要有:各输入、输出变量模糊子集的隶属度函数,模糊控制规则,输入输出变量的比例变换因子等。要依据设计者的经验和反复调试才能设计出一个比较好的模糊控制器。预先采用计算机仿真方法可尽快了解模糊控制的特性,可缩短设计周期。 MATLAB软件提供自动控制、信号处理、神经网络、模糊逻辑、小波分析、图象处理等诸多工具箱,功能强大应用广泛。本文介绍用MATLAB5.1的模糊逻辑工具箱(Fuzzy Logic)?设计模糊控制器,并用MATLAB的SIMULINK进行仿真的方法。 1 用MATLAB模糊逻辑工具箱设计模糊控制器 1.1 隶属度函数的建立 若取E、EC、U的论域均为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},其模糊子集都为 在MATLAB中键入命令FUZZY,进入模糊逻辑编辑窗口FIS Editor。建立E、EC、U的隶属度函数,有三角形、高斯形、梯形等11种可供选择,在此选常用的三角形(trimf)?隶属度函数。图2为E的隶属度函数。 1.2 模糊控制规则及决策方法 控制规则是对专家的理论知识与实践经验的总结。共有49条规 在Rules Editor窗口中输入这49条控制规则。例如: if E is NB and EC is PS then U is PM 模糊决策一般采用Mamdani`s(min-max)?决策法。解模糊有重心法、等分法、最大隶属度平均法等5种可供选择,在此采用重心法(centroid)。 如此设计的模糊控制器的输出与输入的关系曲面图如图3所示。显然模糊控制是一种非线性控制。 MATLAB提供的SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包,它支持连续、离散及两者混合的线性和非线性系统。SIMULINK包含多个子模型库,每个子模型库中又包含多个功能模块。利用鼠标可直观地“画”出系统模型,然后直接进行仿真。仿真时可选择各种数值算法、仿真步长等重要参数,并可用模拟示波器将仿真动态结果予以显示,直观高效。 图4为在SIMULNK环境下,模糊控制器与一阶滞后被控对象组成的采样控制系统的仿真结构图。 如果仿真的控制效果不满意,一般首先调整比例变换因子ke、kec及ku?再调整模糊控制规则和隶属度函数。 被控对象为 如把模糊控制器的输出作为控制量的增量输出,就可消除静差,但这时ku应很小,否则会使系统不稳定。图6为输出的响应曲线及控制量变化曲线。 计算机仿真试验对实际控制有重要指导意义。由上述模糊控制器的 · 可灵活地设计模糊控制器。在模糊逻辑工具箱中能方便地修改输入输出的论域、模糊子集、隶属度函数、模糊控制规则、模糊决策方法及解模糊方案,然后仿真找到较佳的控制方案; ·可直接计算出模糊控制表,供单片机进行实际控制时使用。而人工计算此表非常繁琐; ·在SIMULINK环境下,可组成更复杂的控制系统。如对象为时变、非线性,控制器为模糊与PID的混合形式。 |