模糊控制簡(jiǎn)單例子
首先來(lái)看一個(gè)實(shí)例,控制進(jìn)水閥S1和出水閥S2,使水箱水位保持在目標(biāo)水位O處。
按照日常操作經(jīng)驗(yàn),有以下規(guī)則:
1、 若當(dāng)前水位高于目標(biāo)水位,則向外排水,差值越大,排水越快;
2、 若當(dāng)前水位低于目標(biāo)水位,則向內(nèi)注水,差值越大,注水越快;
3、 若當(dāng)前水位和目標(biāo)水位相差很小,則保持排水速度和注水速度相等。
下面來(lái)設(shè)計(jì)一個(gè)模糊控制器
1、選擇觀(guān)測(cè)量和控制量
一般選擇偏差e,即目標(biāo)水位和當(dāng)前水位的差值作為觀(guān)察量,選取閥門(mén)開(kāi)度u為控制量。
2、輸入量和輸出量的模糊化
將偏差e劃分為5個(gè)模糊集,負(fù)大(NB)、負(fù)小(NS)、零(ZO)、正小(PS)、正大(PB),e為負(fù)表示當(dāng)前水位低于目標(biāo)水位,e為正表示當(dāng)前水位高于目標(biāo)水位。設(shè)定e的取值范圍為[-3,3],隸屬度函數(shù)如下。
同樣將控制量u劃分為5個(gè)模糊集,負(fù)大(NB)、負(fù)小(NS)、零(ZO)、正小(PS)、正大(PB),u為負(fù)表示增大進(jìn)水閥門(mén)S1的開(kāi)度(同時(shí)減小出水閥門(mén)S2的開(kāi)度),u為正表示減小進(jìn)水閥門(mén)S1的開(kāi)度(同時(shí)增大出水閥門(mén)S2的開(kāi)度)。設(shè)定u的取值范圍為[-4,4],隸屬度函數(shù)如下。
3、制定模糊規(guī)則
模糊規(guī)則的制定是模糊控制的核心內(nèi)容,控制性能的好壞很大程度上由模糊規(guī)則決定,目前主要是根據(jù)經(jīng)驗(yàn)來(lái)制定相應(yīng)的規(guī)則。
(1)若e負(fù)大,則u負(fù)大;
(2)若e負(fù)小,則u負(fù)小;
(3)若e為零,則u為零;
(4)若e正小,則u正小;
(5)若e正大,則u正大;
5、進(jìn)行模糊決策
我們最終需要獲得的控制量u即為模糊控制的輸出,u可由偏差矩陣e和模糊關(guān)系矩陣R合成得到。
6、控制量的反模糊化
我們模糊決策得到的控制量u是一個(gè)矩陣,并不能直接應(yīng)用在工程上,因此需要將u解釋為實(shí)際中的特定行為,即反模糊化操作。目前常用的反模糊化方法有以下幾種:
(1)最大隸屬度法----計(jì)算簡(jiǎn)單控制要求不高場(chǎng)合
(2)重心法----輸出更平滑
(3)加權(quán)平均法----工業(yè)上應(yīng)用最廣泛
7、matlab實(shí)現(xiàn)
所幸的是,在matlab模糊控制工具箱中已經(jīng)幫我們實(shí)現(xiàn)了4-6步求解矩陣運(yùn)算的操作,只需要直接調(diào)用evalfis函數(shù)就可以得到相應(yīng)的決策控制量。