《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 基于Sugeno型模糊推理算法的模糊控制器及其應用

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

2009-06-18
作者:王凌云

  摘 要: 介紹了Sugeno型模糊推理算法的基本原理,給出了一種實現(xiàn)方法,并對其控制性能進行了仿真。
  關鍵詞: 模糊控制器 Sugeno型模糊推理 Mamdani型模糊推理


  模糊控制器是模糊控制系統(tǒng)的核心,通常由軟件編程實現(xiàn),其控制算法的簡繁直接影響到控制器的實時性。Mamdani型和Sugeno型是兩種常用的模糊推理算法模型。在很多情況下,Sugeno型模糊推理算法具有較多的優(yōu)點。
1 模糊控制器的工作過程
  模糊推理過程就是運用模糊邏輯,進行從輸入量到輸出量映射的過程,可以分為以下5個步驟進行:
  (1) 輸入量模糊化(Fuzzify Inputs)
  根據(jù)對應的隸屬函數(shù),確定輸入量的隸屬程度。輸入量是論域內(nèi)的數(shù)值,輸出量是對應敘詞的隸屬度。模糊化可以通過查表或函數(shù)計算等方法實現(xiàn)。
  (2) 模糊邏輯運算(Apply Fuzzy Operator)
  當模糊推理規(guī)則的前件(Antecedent)含有幾個部分時,就需要對幾個輸入量進行模糊邏輯運算,以得到模糊邏輯推理所需的單一前件。
  (3) 模糊蘊含(Apply Implication Method)
  根據(jù)總結歸納的模糊規(guī)則,由前件蘊含出后件(Consequent)。在過程中,各條規(guī)則的權重(Weight)可取不同值。結果由前件和輸出量隸屬函數(shù)得出,為一系列隸屬函數(shù)表示的模糊集合。
  (4) 模糊合成(Aggregate All Outputs)
  將各條規(guī)則蘊含出的一系列隸屬函數(shù)合成為輸出量隸屬函數(shù)。
  (5) 輸出逆模糊化(Defuzzify)
  將模糊合成的隸屬函數(shù)數(shù)值化,得出模糊系統(tǒng)的清晰輸出量。
  圖1所示為一個2輸入、2規(guī)則、1輸出的模糊推理過程示意圖。


2 Sugeno型模糊推理算法
  Mamdani型模糊推理算法是最常用的模糊推理算法。Sugeno型模糊推理算法與Mamdani型類似,其中,輸入量模糊化和模糊邏輯運算過程完全相同,主要差別在于輸出隸屬函數(shù)的形式。
  典型的零階Sugeno型模糊規(guī)則的形式如下:
  If x is A and y is B then z=k
  式中x和y為輸入語言變量,A和B為推理前件的模糊集合,z為輸出語言變量, k為常數(shù)。
  在Mamdani型模糊推理算法中,輸出隸屬函數(shù)是模糊集合,經(jīng)過模糊合成處理,即得到一個需要逆模糊化的輸出變量。當采用尖峰脈沖形隸屬函數(shù)替代分布形隸屬函數(shù)時,往往能使模糊推理過程簡化而有效,這就是所謂的單元素隸屬函數(shù)。單元素隸屬函數(shù)可以看作已預逆模糊化處理的模糊集合,由于不需要象Mamdani型模型那樣計算二維函數(shù)的形心,可以極大地提高逆模糊化處理過程的效率。Sugeno模型中即采用單元素輸出隸屬函數(shù),其模糊蘊含即是簡單的乘法,模糊合成即是各單元屬輸出隸屬函數(shù)的簡單包含。
  更為一般的一階Sugeno模型規(guī)則的形式為:
  if x is A and y is B then z=p×x+q×y+r
  式中x和y為輸入語言變量,A和B為推理前件的模糊集合,z為輸出語言變量,p,q,r為常數(shù)。更高階數(shù)的Sugeno模型規(guī)則也可以類似構成,但增加了模型的復雜性,性能卻改善不大,故很少使用。
  由于各條規(guī)則與輸入量的線性關系,使得Sugeno型模型特別適合在動態(tài)非線性系統(tǒng)中作為不同工作狀態(tài)下多線性控制器的平滑切換。
3 Sugeno模糊控制器的實現(xiàn)及應用
  Sugeno型模糊控制器能廣泛地用于各種工業(yè)控制系統(tǒng)。下面以二維通用模糊控制器在嵌入式工業(yè)控制機上的實現(xiàn)為例說明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的隸屬函數(shù)形式取為常用的高斯形(Gauss-type),其形狀如圖2所示。如輸出量變化量ΔU的隸屬函數(shù)形式也取為高斯形,就是Mamdani型模糊推理算法的模糊控制器。為構成Sugeno型模糊控制器,我們?nèi)≥敵隽繛閱卧獙匐`屬函數(shù),具體為{負大NB=-1,負中NM=-0.667,負小NS=-0.333,零Z=0,正小PS=0.333,正中PM=0.667,正大PB=1}。模糊推理規(guī)則共56條,詳見表1模糊控制規(guī)則表,其表面圖形示意圖見圖3。

?


  控制器模糊運算方法及逆模糊化方法分別取為:
  模糊AND運算為:prod(x,y)=x×y
  模糊OR運算為:probor(x,y)=x+y-x×y
  逆模糊化運算為加權平均法:ΔU=
  經(jīng)過上述各項定義,Sugeno型模糊控制器的模型已經(jīng)完全確定。為方便起見,可以選MATLAB軟件作為編程平臺。首先,利用MATLAB的可視化模糊邏輯工具FUZZY命令建立文件名為SUGENO.FIS的模糊算法模型,由于MATLAB的FUZZY工具支持多種隸屬函數(shù)、模糊運算、模糊推理及逆模糊化算法,上述Sugeno模型可以很快建立,而且在可視化環(huán)境中完成。下一步是利用MATLAB環(huán)境中提供的C/C++編譯工具COMPILER V2.0進行編譯。SUGENO.FIS的模糊算法模型中使用了FUZZY工具中較多的M文件,如evalfis.m、guessmf.m等,須一并編譯。在MATLAB環(huán)境下,用mcc命令即可編譯得到SUGENO.C和SUGENO.H。該C/C++源程序代碼完全支持ANSIC,可以作為程序模塊應用于嵌入式或其它工業(yè)控制機系統(tǒng)中(須MATLAB C/C++庫支持)。至此,基于Sugeno模糊推理算法的二維模糊控制器已經(jīng)實現(xiàn)。
  為驗證Sugeno型模糊控制器的性能,在MATLAB的SIMLINK環(huán)境中,構造了一個控制系統(tǒng),對工業(yè)控制系統(tǒng)中常見的大滯后、大慣性被控對象:
  
  進行了仿真。為比較不同控制算法的差異,還同時對Mamdani型模糊推理算法和Ziegler-Nichols型PID控制算法進行了仿真。仿真結果如圖4所示??梢钥闯?,Sugeno型模糊推理算法除了具有模型簡單、實時計算快的優(yōu)點外,其控制性能也比較優(yōu)異。


  Mamdani型模糊推理算法具有直觀、已普遍被人們接受和比較適合于人類輸入的控制系統(tǒng)等優(yōu)點。由于采用了單元屬隸屬函數(shù)以及輸出與輸入的線性關系,Sugeno型模糊推理算法則具有下列優(yōu)點:
  (1)具有較高的計算效率,適用于實時性要求高的系統(tǒng);
  (2)能與線性系統(tǒng)、優(yōu)化控制和自適應控制系統(tǒng)很好地結合;
  (3)能保證控制器輸出的平滑性;
  (4)比較適合于具有精確數(shù)學分析的控制系統(tǒng),特別是多線性模型的平滑切換。
參考文獻
1 馮冬青.模糊智能控制.北京:化學工業(yè)出版社,1998
2 魏克新.MATLAB語言與自動控制系統(tǒng)設計.北京:機械工業(yè)出版社,1997
3 王順晃.智能控制系統(tǒng)機器應用.北京:機械工業(yè)出版社,1998
4 陶永華.新型PID控制及其應用.北京:機械工業(yè)出版社,1998
5 The MathWorks Inc.Fuzzy Logic Toolbox User′s Guide(Version 2).1999

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。