基于Sugeno型模糊推理算法的模糊控制器及其应用

2006-05-07 15:49:30来源: 电子技术应用

2 Sugeno型模糊推理算法

    Mamdani型模糊推理算法是最常用的模糊推理算法。Sugeno型模糊推理算法与Mamdani型类似,其中,输入量模糊化和模糊逻辑运算过程完全相同,主要差别在于输出隶属函数的形式。

    典型的零阶Sugeno型模糊规则的形式如下:

    If x is A and y is B then z=k

    式中x和y为输入语言变量,A和B为推理前件的模糊集合,z为输出语言变量, k为常数。

    在Mamdani型模糊推理算法中,输出隶属函数是模糊集合,经过模糊合成处理,即得到一个需要逆模糊化的输出变量。当采用尖峰脉冲形隶属函数替代分布形隶属函数时,往往能使模糊推理过程简化而有效,这就是所谓的单元素隶属函数。单元素隶属函数可以看作已预逆模糊化处理的模糊集合,由于不需要象Mamdani型模型那样计算二维函数的形心,可以极大地提高逆模糊化处理过程的效率。Sugeno模型中即采用单元素输出隶属函数,其模糊蕴含即是简单的乘法,模糊合成即是各单元属输出隶属函数的简单包含。

    更为一般的一阶Sugeno模型规则的形式为:

    if x is A and y is B then z=p×x+q×y+r

    式中x和y为输入语言变量,A和B为推理前件的模糊集合,z为输出语言变量,p,q,r为常数。更高阶数的Sugeno模型规则也可以类似构成,但增加了模型的复杂性,性能却改善不大,故很少使用。

    由于各条规则与输入量的线性关系,使得Sugeno型模型特别适合在动态非线性系统中作为不同工作状态下多线性控制器的平滑切换。

3 Sugeno模糊控制器的实现及应用

    Sugeno型模糊控制器能广泛地用于各种工业控制系统。下面以二维通用模糊控制器在嵌入式工业控制机上的实现为例说明Sugeno型模糊控制器的编程方法。

    二维模糊控制器的输入量取为偏差E和偏差变化率Ec,输出量为控制量变化量ΔU。偏差E的语言词集取8个,为负大NB,负中NM,负小NS,负零NZ,正零PZ,正小PS,正中PM,正大PB;偏差变化率Ec的语言词集取7个,为负大NB,负中NM,负小NS,零Z,正小PS,正中PM,正大PB;输出量变化量ΔU的语言词集也取7个,为负大NB,负中NM,负小NS,零Z,正小PS,正中PM,正大PB。输入量E和Ec的隶属函数形式取为常用的高斯形(Gauss-type),其形状如图2所示。如输出量变化量ΔU的隶属函数形式也取为高斯形,就是Mamdani型模糊推理算法的模糊控制器。为构成Sugeno型模糊控制器,我们取输出量为单元属隶属函数,具体为负大NB=-1,负中NM=-0.667,负小NS=-0.333,零Z=0,正小PS=0.333,正中PM=0.667,正大PB=1。模糊推理规则共56条,详见表1模糊控制规则表,其表面图形示意图见图3。

表1 模糊控制规则表

Ec              
U NB NM NS Z PS PM PB
E              
NB 1.00 1.00 1.00 1.00 0.67 0.33 0.33
NM 1.00 1.00 1.00 1.00 0.67 0.00 0.00
NS 0.67 0.67 0.67 0.33 0.00 -0.33 -0.33
NZ 0.67 0.67 0.33 0.00 0.00 -0.33 -0.67
PZ 0.67 0.33 0.00 0.00 -0.33 -0.67 -0.67
PS 0.33 0.33 0.00 -0.33 -0.67 -0.67 -0.67
PM 0.00 0.00 -0.67 -1.00 -1.00 -1.00 -1.00
PB -0.33 -0.33 -0.67 -1.00 -1.00 -1.00 -1.00

    控制器模糊运算方法及逆模糊化方法分别取为:

    模糊AND运算为:prod(x,y)=x×y

    模糊OR运算为:probor(x,y)=x+y-x×y

    逆模糊化运算为加权平均法:ΔU=∑μ×w×z / ∑μ×w

    经过上述各项定义,Sugeno型模糊控制器的模型已经完全确定。为方便起见,可以选MATLAB软件作为编程平台。首先,利用MATLAB的可视化模糊逻辑工具FUZZY命令建立文件名为SUGENO.FIS的模糊算法模型,由于MATLAB的FUZZY工具支持多种隶属函数、模糊运算、模糊推理及逆模糊化算法,上述Sugeno模型可以很快建立,而且在可视化环境中完成。下一步是利用MATLAB环境中提供的C/C++编译工具COMPILER V2.0进行编译。SUGENO.FIS的模糊算法模型中使用了FUZZY工具中较多的M文件,如evalfis.m、guessmf.m等,须一并编译。在MATLAB环境下,用mcc命令即可编译得到SUGENO.C和SUGENO.H。该C/C++源程序代码完全支持ANSIC,可以作为程序模块应用于嵌入式或其它工业控制机系统中(须MATLAB C/C++库支持)。至此,基于Sugeno模糊推理算法的二维模糊控制器已经实现。

    为验证Sugeno型模糊控制器的性能,在MATLAB的SIMLINK环境中,构造了一个控制系统,对工业控制系统中常见的大滞后、大惯性被控对象:

    H(s)=K / (Ts+1)×e-τs

    进行了仿真。为比较不同控制算法的差异,还同时对Mamdani型模糊推理算法和Ziegler-Nichols型PID控制算法进行了仿真。仿真结果如图4所示。可以看出,Sugeno型模糊推理算法除了具有模型简单、实时计算快的优点外,其控制性能也比较优异。

    Mamdani型模糊推理算法具有直观、已普遍被人们接受和比较适合于人类输入的控制系统等优点。由于采用了单元属隶属函数以及输出与输入的线性关系,Sugeno型模糊推理算法则具有下列优点:

    (1)具有较高的计算效率,适用于实时性要求高的系统;

    (2)能与线性系统、优化控制和自适应控制系统很好地结合;

    (3)能保证控制器输出的平滑性;

    (4)比较适合于具有精确数学分析的控制系统,特别是多线性模型的平滑切换。

编辑: 引用地址:http://www.eeworld.com.cn/designarticles/sensor/200605/1320.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved