摘要:详细阐述了模糊逻辑控制系统中隶属度函数与模糊规则的建立以及MATLAB模糊控制器的建模与仿真方法。另外,通过洗衣机控制实例介绍了MATLAB模糊控制器的实现方法与进行可视化操作和模糊控制器设计的流程。
关键词:MATLAB;模糊控制;仿真
0 引言
MATLAB软件是一款广泛应用于工程设计、自动化控制、信号与图像处理、金融财务分析建模等领域的数学计算建模软件,使用更加贴近目前电脑用户熟悉的Windows的标准界面与视窗环境,来实现函数运算数值分析、数据信号的界面可视化、非线性动态系统的建模仿真及其他编程软件的接口等专业功能,为众多的专业领域提供强大的工具箱与模块集。
1 模糊逻辑控制系统结构
模糊控制系统是一种在模糊或非模糊推理规则中处理模糊信息的工具,其关键部分是“行为规则集”及“模糊推理算法”[1]。性能评价指标是用来衡量控制系统算法的好坏,因此,选择一个客觀合理的系统性能评价指标对于判断控制算法的效果比较重要。本文将利用洗衣机的模糊控制设计,进行模糊逻辑控制系统的整体研究。如图1所示,在影响洗衣机性能的系统指标中,选取两个基本参数“污泥含量”和“油脂含量”作为二维模糊控制器的输入参数,洗涤时间为输出参数。
2 模糊控制器设计
在MATLAB模糊逻辑工具箱中包含trapmf型、gaussmf型、trimf型等11种隶属度函数类型,在工具箱给出的函数类型之外也可以自行设计能够满足用户不同需求的函数类型。
2.1 隶属度函数建立
本文根据建立的洗衣机系统结构定义相应的控制器输入/输出参数模糊集和隶属度函数。隶属度函数的取值范围必须满足[0,1]的区间,函数方式可分为数值描述方式(论域为离散型)和函数描述方式(论域为连续型)。
(1)根据洗衣机洗涤衣物的输入变量污泥x[0,100],将污泥模糊集细分为少、中、多三种类型,分别用SD、MD、LD表示。
U污泥=USD(x)=(50-x)/50 0≤x≤50UMD(x)=x/50 0≤x≤50UMD(x)=(100-x)/50 50 (2)根据洗衣机洗涤衣物的输入变量油脂y[0,100],将油脂模糊集细分为无、中、多三种类型,分别用NG、MG、LG表示。 U油脂=UNG(y)=(50-y)/50 0≤y≤50UMG(y)=y/50 0≤y≤50UMG(y)=(100-y)/50 50 (3)根据洗衣机洗涤不同衣服所使用的输出变量洗涤时间z[0,60],将变量z细分为时间很短、短、中、长、很长五种类型,分别用VS、S、M、L、VL表示。 U洗涤时间=UVS(z)=(10-z)/10 0≤z≤10US(z)=z/10 0≤z≤10US(z)=(25-z)/15 10 2.2 模糊控制规则建立 在MATLAB模糊逻辑工具箱中,模糊控制规则用if-then的形式来表示,比如为“if x is A then y is B”,这里A和B是模糊集合分别定义在某一范围内的语言值。 洗衣机洗涤衣服所使用的时间长短可以根据人们的生活常识与实际经验得出基本规律,我们可以总结出洗涤不同衣物时应满足的要求:污泥和油脂含量越多,洗涤时间越长;污泥和油脂含量适中,洗涤时间适中;污泥和油脂含量越少,洗涤时间越短[2]。根据这个规律,建立如表1所示模糊集的模糊控制规则。 2.3 模糊控制器仿真 我们根据洗衣机的控制规则,在MATLAB中建立一个2Input-1Output类型的fuzzy模糊控制结构,其输入、输出变量分别为污泥x、油脂y、洗涤时间z。模糊控制器的输出量洗涤时间z是根据我们设定的模糊控制规则得出的模糊集合,利用对洗涤时间z的反模糊化的重心法求出一个z变量的固定数值。 输入/输出采用trimf三角形隶属度函数模糊化及推论规则输入至MATLAB,并使用可视化仿真工具(Simulink)建立模糊控制仿真模型,根据不同情况生成仿真结果。以污泥和油脂为(50,50)为例,洗衣机的洗涤时间仿真结果输出为25.2,我们也可以输入不同的污泥与油脂含量进行验证。 3 结语 本文在MATLAB函数仿真中,针对影响洗衣机洗涤时间的两个模糊输入量污泥和油脂,选用模糊描述和模糊规则推理的方法建立了洗涤时间的模糊控制系统,仿真求出的洗涤时间z数值基本吻合了人们的日常经验和习惯。这种模糊控制算法与传统控制方法比较更具智能化和节能性的优势,表明模糊控制能够使家用电器更加高效与节能。 [参考文献] [1] 章卫国,杨向忠.模糊控制理论与应用[M].西安:西北工业大学出版社,2009. [2] 王学智.模糊控制在全自动洗衣机中的应用[J].科技广场,2017(2):68-70. 收稿日期:2020-01-09 作者简介:李根(1990—),男,山东德州人,硕士,研究方向:电气测量与控制。