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

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

2009-06-18
作者:王凌云

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


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


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

?


  控制器模糊運算方法及逆模糊化方法分別取為:
  模糊AND運算為:prod(x,y)=x×y
  模糊OR運算為:probor(x,y)=x+y-x×y
  逆模糊化運算為加權平均法:ΔU=
  經過上述各項定義,,Sugeno型模糊控制器的模型已經完全確定,。為方便起見,可以選MATLAB軟件作為編程平臺,。首先,,利用MATLAB的可視化模糊邏輯工具FUZZY命令建立文件名為SUGENO.FIS的模糊算法模型,由于MATLAB的FUZZY工具支持多種隸屬函數,、模糊運算,、模糊推理及逆模糊化算法,,上述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模糊推理算法的二維模糊控制器已經實現,。
  為驗證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)點,。由于采用了單元屬隸屬函數以及輸出與輸入的線性關系,,Sugeno型模糊推理算法則具有下列優(yōu)點:
  (1)具有較高的計算效率,適用于實時性要求高的系統(tǒng),;
  (2)能與線性系統(tǒng),、優(yōu)化控制和自適應控制系統(tǒng)很好地結合;
  (3)能保證控制器輸出的平滑性,;
  (4)比較適合于具有精確數學分析的控制系統(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

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