首先來看一個實例,控制進水閥S1和出水閥S2,使水箱水位保持在目標水位O處。
按照日常操作經驗,有以下規(guī)則:
1、 若當前水位高于目標水位,則向外排水,差值越大,排水越快;
2、 若當前水位低于目標水位,則向內注水,差值越大,注水越快;
3、 若當前水位和目標水位相差很小,則保持排水速度和注水速度相等。
下面來設計一個模糊控制器
1、選擇觀測量和控制量
一般選擇偏差e,即目標水位和當前水位的差值作為觀察量,選取閥門開度u為控制量。
2、輸入量和輸出量的模糊化
將偏差e劃分為5個模糊集,負大(NB)、負小(NS)、零(ZO)、正小(PS)、正大(PB),e為負表示當前水位低于目標水位,e為正表示當前水位高于目標水位。設定e的取值范圍為[-3,3],隸屬度函數(shù)如下。
3、制定模糊規(guī)則
模糊規(guī)則的制定是模糊控制的核心內容,控制性能的好壞很大程度上由模糊規(guī)則決定,目前主要是根據(jù)經驗來制定相應的規(guī)則?!竞竺婵梢越Y合神經網絡來學習模糊規(guī)則】
(1)若e負大,則u負大;
(2)若e負小,則u負小;
(3)若e為零,則u為零;
(4)若e正小,則u正小;
(5)若e正大,則u正大;
將上述用語言描述的規(guī)則轉化為’’IF A THEN B’’的語句如下:
4、求解模糊關系
根據(jù)制定的模糊規(guī)則,通過相應的模糊集合運算,可得到模糊關系集合R。
5、進行模糊決策
我們最終需要獲得的控制量u即為模糊控制的輸出,u可由偏差矩陣e和模糊關系矩陣R合成得到。
6、控制量的反模糊化
我們模糊決策得到的控制量u是一個矩陣,并不能直接應用在工程上,因此需要將u解釋為實際中的特定行為,即反模糊化操作。目前常用的反模糊化方法有以下幾種:
(1)最大隸屬度法----計算簡單控制要求不高場合
(2)重心法----輸出更平滑
(3)加權平均法----工業(yè)上應用最廣泛
7、matlab實現(xiàn)
所幸的是,在matlab模糊控制工具箱中已經幫我們實現(xiàn)了4-6步求解矩陣運算的操作,只需要直接調用evalfis函數(shù)就可以得到相應的決策控制量。
通過matlab集成的模糊控制模塊,我們能夠更加方便地對應偏差e和控制量u的關系,并可以調節(jié)e在不同值下u的對應輸出。