模糊控制器介紹和應(yīng)用
前言:
此篇博客是scalerstalk的模糊復(fù)盤文章修改過來的。現(xiàn)在真是感謝S的邀請(qǐng),讓我做了模糊控制的介紹課宜肉,隨后在hemon的督促下完成了課程的文章版吟温。希望對(duì)有興趣的朋友有所幫助。我的另一個(gè)博客地址:http://blog.csdn.net/hxychy
一梅鹦、框架
l? 一維燃?xì)饽:刂破?/p>
l? 二維燃?xì)饽:刂破?/p>
l? 模糊控制器的特點(diǎn)
l? 其他應(yīng)用
其中裆甩,模糊控制器的設(shè)定按照下圖1所示流程,我將介紹a.模糊化b.推理機(jī)制c.精確化三個(gè)步驟齐唆。另外淑掌,兩個(gè)重要的概念——隸屬度函數(shù)和模糊控制分別會(huì)在模糊化之前和精確化之后進(jìn)行介紹,值的注意蝶念。
圖1 模糊控制系統(tǒng)結(jié)構(gòu)示意圖
二抛腕、一維燃?xì)饽:刂破?/p>
為了方便理解,模糊控制的講解從具體實(shí)例中開始媒殉。見以下例題
已知某一燃?xì)鉄崴鞯5校鬁囟缺3衷?0℃恒定⊥⑷兀控制要求:
1)? 若水溫低于40℃全封,則加氣马昙;低的越多加氣越多。
2)? 若水溫高于40℃刹悴,則減氣行楞;高的越多減氣越少。
3)? 若水溫等于40℃土匀,則保持不變子房。
在解決模糊控制的實(shí)例前,需要理解第一個(gè)重要概念——隸屬度函數(shù)就轧。
這里用溫度解釋隸屬度证杭。在一般情況下,大部分人把15~25℃的室溫稱作“舒適”的溫度妒御,而把15℃以下稱為“冷”解愤,25℃以上稱為“熱”,如下圖2所示(Y軸值“1”=“屬于”乎莉,“0”=“不屬于”)送讲。
圖2 冷、舒適和熱的一般表示
如果按上圖2所示惋啃,哪怕14.9℃只能屬于冷李茫,15.1℃卻屬于舒適,顯然這與人的感覺是不一致的肥橙,因此需要另一種表示方式——用具有0~1之間變化的隸屬度的特征函數(shù)來描述某一模糊的元素(比如此處的冷魄宏、舒適、熱)存筏,模糊集合中的特征函數(shù)就稱作隸屬度函數(shù)(見下圖3宠互,雖然不嚴(yán)謹(jǐn),對(duì)于初學(xué)者椭坚,可以將此圖理解為隸屬度函數(shù)的一種圖像表示方法)予跌。
圖3 冷、舒適和熱的模糊表示
理解好隸屬度函數(shù)的概念后善茎,回到一維燃?xì)饽:刂破鞯睦}券册,主要分成三個(gè)步驟a.模糊化b.推理機(jī)制c.精確化。
首先需要明確垂涯,此控制器的輸入是“水溫”烁焙,輸出是“燃?xì)饬俊保敲淳托枰斎胄畔⒛:洼敵鲂畔⒛:福娤聢D4和圖5骄蝇。如圖,我把輸入與輸出都分成了五部分操骡,每個(gè)部分都用三角形簡單的表示每部分隸屬度九火。
圖4 輸入信息模糊化
圖5 輸出信息模糊化
這就完成了第一步模糊化赚窃,接下來是推理機(jī)制。根據(jù)三條控制要求岔激,可以設(shè)定出5條控制規(guī)則:
1. If (水溫 is很低)???? then (燃?xì)饬?is大幅度增加)
2. If (水溫 is低) ? ? then (燃?xì)饬?is稍微增加)
3. If (水溫 is正好)???? then (燃?xì)饬?is不變)
4. If (水溫 is高) ? ? then (燃?xì)饬?is稍微減少)
5. If (水溫 is很高)???? then (燃?xì)饬?is大幅度減少)
設(shè)定完推理規(guī)則后勒极,通過MATLAB的模糊控制箱就可以輕松得到精確化的模糊輸出如下圖6 。
圖6 輸出模糊的精確化
現(xiàn)在整個(gè)模糊控制器就已經(jīng)基本解決了虑鼎,從以上步驟中辱匿,可以定義出模糊控制:模糊控制器的輸出是通過觀察過程的狀態(tài)和一些如何控制過程的規(guī)則的推理得到的。
下面就可以輕松的解決更復(fù)雜點(diǎn)的二維燃?xì)饽:刂破鳌?/p>
三震叙、二維燃?xì)饽:刂破?/p>
現(xiàn)實(shí)生活中,一維的控制器的效果往往不能滿足要求散休,二維控制器一般擁有更好的穩(wěn)定性和快速性媒楼。基于上個(gè)例題戚丸,再加入溫度變化率的輸入變量划址。通樣的將此變量分為五部分,將其模糊化得到溫度變化率的隸屬度函數(shù)限府,如下圖7 夺颤。
圖7 水溫變化率的輸入模糊化
接下來,是推理機(jī)制的設(shè)定胁勺,兩種輸入共有25種規(guī)則世澜,下面寫出比較有代表性的十條規(guī)則:
1)???????If (水溫 is正好) and (水溫變化率 is降低快) then (燃?xì)饬?is大幅度增加)
2)???????If (水溫 is正好) and (水溫變化率 is降低慢) then (燃?xì)饬?is稍微增加)
3)???????If (水溫 is正好) and (水溫變化率 is不變) then (燃?xì)饬?is不變)
4)???????If (水溫 is正好) and (水溫變化率 is升高慢) then (燃?xì)饬?is稍微減少)
5)???????If (水溫 is正好) and (水溫變化率 is升高快) then (燃?xì)饬?is大幅度減少)
6)???????If (水溫 is高) and (水溫變化率 is降低快) then (燃?xì)饬?is稍微增加)
7)???????If (水溫 is高) and (水溫變化率 is降低慢) then (燃?xì)饬?is不變)
8)???????If (水溫 is高) and (水溫變化率 is不變) then (燃?xì)饬?is稍微減少)
9)???????If (水溫 is高) and (水溫變化率 is升高慢) then (燃?xì)饬?is大幅度減少)
10)??? If (水溫 is高) and (水溫變化率 is升高快) then (燃?xì)饬?is大幅度減少)
最后通過MATLAB 的模糊控制工具箱得到精確化的模糊輸出,因?yàn)槎嗔艘痪S署穗,所以精確化的輸出是三維立體圖寥裂,如下圖8所示 。離散化后得到類似入下圖9的平面圖形案疲。
在線上課堂中封恰,加入了MATLAB的仿真演示,有興趣的朋友可以百度“MATLAB模糊控制箱的使用方法”褐啡,自己試驗(yàn)不僅有趣而且有助于深入理解诺舔。
圖8 二維控制器的輸出精確化
圖9 離散化的二維模糊控制器MATLAB仿真
四、模糊控制器的特點(diǎn)
綜上兩個(gè)事例备畦,可以總結(jié)出模糊控制器如下的特點(diǎn):
l?無需知道被控對(duì)象的數(shù)學(xué)模型
l?與人類思維的特點(diǎn)一致
模糊性
經(jīng)驗(yàn)性
l?構(gòu)造容易
l?魯棒性好(robust):控制系統(tǒng)在一定(結(jié)構(gòu)低飒,大小)的參數(shù)攝動(dòng)下懂盐,維持其它某些性能的特性逸嘀。
五、其他應(yīng)用
模糊控制還有其他的應(yīng)用允粤,比如:
1)?????????????????????模糊推理
如果 A1 且 B1崭倘,那么 C1和 如果 A2 且 B2翼岁,那么 C2。
已知 A3 且 B3司光,那么 C3 =扯俱?
2)?????????????????????模糊PID控制器
3)?????????????????????模糊控制實(shí)際應(yīng)用(多級(jí)倒立擺)
視頻鏈接(http://v.ku6.com/show/kqQy86Oh9KDaBeD8.html)推薦
以上相關(guān)內(nèi)容參照的教材:《智能控制基礎(chǔ)》韋巍 何衍編著
六盲镶、致謝
l?????感謝ScalersTalk 成長會(huì)的朋友們~
l?????河北工業(yè)大學(xué)智能系的所有老師諄諄教導(dǎo)~