當(dāng)前位置:首頁 > 技術(shù)學(xué)院 > 技術(shù)前線
[導(dǎo)讀]模糊控制算法(理論知識)

模糊(Fuzzy)控制是用語言歸納操作人員的控制策略,運用語言變量和模糊集合理論形成控制算法的一種控制。模糊控制的最重要特征是不需要建立被控對象精確的數(shù)學(xué)模型,只要求把現(xiàn)場操作人員的經(jīng)驗和數(shù)據(jù)總結(jié)成較完善的語言控制規(guī)則,從而能夠?qū)哂胁淮_定性、不精確性、噪聲以及非線性、時變性、時滯等特征的控制對象進行控制。模糊控制系統(tǒng)的魯棒性強,尤其適用于非線性、時變、滯后系統(tǒng)的控制。模糊控制的基本結(jié)構(gòu)如圖所示。


模糊控制定義

1.模糊控制器的輸入變量與輸出變量

(1)模糊控制器的輸入、輸出變量

模糊控制器是模仿人的一種控制。在對被控對象進行控制的過程中,一般根據(jù)設(shè)定值與被控量的偏差、偏差變化EC和偏差變化的速率ER進行決策。人對偏差最敏感,其次是偏差的變化,再次是偏差變化的速率。因此,模糊控制器的輸入變量通常取、和EC或者, EC和ER,分別構(gòu)成所謂一維、二維和三維模糊控制器。一維模糊控制器的動態(tài)性能不佳,通常用于一階被控對象,二維模糊控制器的控制性能和控制復(fù)雜性都比較好,是目前廣泛采用的一種形式。并且,一般選擇增量算法作為模糊控制器的輸出變量。

(2)描述輸入、輸出變量的詞匯

在模糊控制中,輸入、輸出變量大小是以語言形式描述的,因此要選擇描述這些變量的詞匯。我們的日常語言中對各種事物和變量的描述,總是習(xí)慣于分為三個等級,例如,物體的大小分為大、中、小;運動的速度分為快、中、慢;年齡的大小分為老、中、青。實際應(yīng)用中一般都選用“大、中、小”三個詞匯來描述模糊控制器的輸入、輸出變量的狀態(tài),再加上正、負兩個方向和零狀態(tài),共有7個詞匯,即{負大,負中,負小,零,正小,正中,正大} 一般用這些詞的英文字頭縮寫,即{NB, NM, NS, O, PS, PM, PB}。一般情況下,選擇上述7個詞匯比較合適,但也可以多選或少選。選擇較多的詞匯,可以精確描述變量,提高控制精度,但會使控制規(guī)則變得復(fù)雜;選擇的詞匯過少,則對變量的描述過于粗糙,導(dǎo)致控制器的性能變差。

(3)變量的模糊量

某個變量變化的實際范圍稱為該變量的基本論域。記偏差的基本論域為[ ? X e , X e ] [-Xe,Xe][?Xe,Xe],偏差變化的基本論域為[ ? X c , X c ] [-Xc,Xc][?Xc,Xc],模糊控制器的輸出變量(系統(tǒng)的控制量)的基本論域為[ ? Y u , Y u ] [-Yu,Yu][?Yu,Yu]。顯然,基本論域內(nèi)的量是精確量,因而模糊控制器的輸入和輸出都是精確量,但是模糊控制算法需要模糊量。因此,輸入的精確量(數(shù)字量)需要轉(zhuǎn)換為模糊量,這個過程稱為“模糊化”(Fuzzification);另一方面,模糊算法所得到的模糊控制量需要轉(zhuǎn)換為精確的控制量,這個過程稱為“清晰化”或者“反模糊化”(Defuzzification)。

比較實用的模糊化方法是將基本論域分為n個檔次,即取變量的模糊子集論域為

從基本論域到模糊子集論域的轉(zhuǎn)換公式為

增加論域中的元素個數(shù)可以提高控制精度,但增大了計算量,而且模糊控制效果的改善并不明顯。一般選擇模糊論域中所含元素的個數(shù)為模糊語言詞集總數(shù)的兩倍以上,以確保各模糊集能較好地覆蓋論域,避免出現(xiàn)失控現(xiàn)象。例如在選擇上述7個詞匯的情況下,可選擇E和EC的論域均為

選擇模糊控制器的輸出變量即系統(tǒng)的控制量U的論域為(4)隸屬度

為了實現(xiàn)模糊化,要在上述離散化了的精確量與表示模糊語言的模糊量之間建立關(guān)系,即確定論域中的每個元素對各個模糊語言變量的隸屬度。

隸屬度是描述某個確定量隸屬于某個模糊語言變量的程度。例如,在上述和EC的論域中,+6隸屬于P B PBPB(正大),隸屬度為1.0;+5也隸屬于P B PBPB,但隸屬度要比+6差,可取為0.8;+4隸屬于的程度更小,隸屬度可取為0.4;顯然-6~0就不隸屬于了P B PBPB,所以隸屬度取為0。

確定隸屬度的值要根據(jù)實際問題的具體情況而定。實驗研究結(jié)果表明,人進行控制活動時的模糊概念一般可以用正態(tài)型模糊變量描述。下面給出常用的確定模糊變量隸屬度的賦值表,如表3.1、表3.2和表3.3所示。

2.建立模糊控制規(guī)則

模糊控制是語言控制,因此要用語言歸納專家的手動控制策略,從而建立模糊控制規(guī)則表。手動控制策略一般都可以用條件語句加以描述。條件語句的基本類型為

if A or B and C or D then U

下面介紹一種根據(jù)系統(tǒng)輸出的誤差及誤差的變化趨勢,消除誤差的模糊控制規(guī)則。該規(guī)則用下述21條模糊條件語句來描述。

[1]if E = NB or NM and EC = NB or NM then U = PB

[2]if E = NB or NM and EC = NS or O then U = PB

[3]if E = NB or NM and EC = PS then U = PM

[4]if E = NB or NM and EC = PM or PB then U = O

[5]if E = NS and EC = NB or NM then U = PM

[6]if E = NS and EC = NS or O then U = PM

[7]if E = NS and EC = PS then U = O

[8]if E = NS and EC = PM or PB then U = NS

[9]if E = NO or PO and EC = NB or NM then U = PM

[10]if E = NO or PO and EC = NS then U = PS

[11]if E = NO or PO and EC = O then U = O

[12]if E = NO or PO and EC = PS then U = NS

[13]if E = NO or PO and EC = PM or PB then U = NM

[14]if E = PS and EC = NB or NM then U = PS

[15]if E = PS and EC = NS then U = O

[16]if E = PS and EC = O or PS then U = NM

[17]if E = PS and EC = PM or PB then U = NM

[18]if E = PM or PB and EC = NB or NM then U = O

[19]if E = PM or PB and EC = NS then U = NM

[20]if E = PM or PB and EC = O or PS then U = NB

[21]if E = PM or PB and EC = PM or PB then U = NB

以上21條模糊條件語句可以歸納為模糊控制規(guī)則表3.4。

3.模糊關(guān)系與模糊推理

模糊控制規(guī)則實際上是一組多重條件語句,可以表示為從偏差論域到控制論域的模糊關(guān)系矩陣R RR,通過偏差的模糊向量E ′ E'E

和偏差變化的模糊向量 E C ′ EC'EC

,與模糊關(guān)系矩陣R RR的合成進行模糊推理,得到控制量的模糊向量,然后采用“反模糊化”方法將模糊控制向量轉(zhuǎn)換為精確量。

根據(jù)模糊集合和模糊關(guān)系理論,對于不同類型的模糊規(guī)則可用不同的模糊推理方法。下面僅介紹其中的對if A then B類型的模糊規(guī)則的推理。

若已知輸入為A AA,則輸出為B BB ;若現(xiàn)在已知輸入為A ′ A'A

,則輸出B ′ B'B

用合成規(guī)則求?。?

其中模糊關(guān)系R RR定義為B ′ = A ′ ? R B'=A'*RB

=A

?R

例如,已知當(dāng)輸入的模糊集合和輸出的模糊集合分別為

這里采用模糊集合的Zadeh表示法,其中 a i aiai, b i bibi 表示模糊集合所對應(yīng)的論域中的元素,而 u i uiui 表示相應(yīng)的隸屬度,“— ——”不表示分?jǐn)?shù)的意思。

在上述運算中,“∪”為取小運算,“∩”為取大運算。

由于系統(tǒng)的控制規(guī)則庫是由若干條規(guī)則組成的,因此對于每一條推理規(guī)則都可以得到一個相應(yīng)的模糊關(guān)系。n條規(guī)則就有n個模糊關(guān)系:R 1 , R 2... R n R1,R2...RnR1,R2...Rn ,對于整個系統(tǒng)的全部控制規(guī)則所對應(yīng)的模糊關(guān)系可對 n個模糊關(guān)系 (R i , i = 1 , 2 , 3... n Ri,i=1,2,3...nRi,i=1,2,3...n)取“并”操作得到,即

4.模糊控制向量的模糊判決

由上述得到的控制量是一個模糊集合,需要采用“反模糊化”方法將模糊控制項轉(zhuǎn)換為精確量。下面介紹兩種簡單實用的方法。

(1)最大隸屬度法

這種方法是在模糊控制向量中,取隸屬度最大的控制量作為模糊控制器的輸出。例如,當(dāng)?shù)玫侥:刂葡蛄繛?

由于控制量隸屬于等級5的隸屬度為最大,所以取控制量為

這種方法的優(yōu)點是簡單易行,缺點是完全排除了其他隸屬度較小的控制量的影響和作用,沒有充分利用取得的信息。

(2)加權(quán)平均判決法

為了克服最大隸屬度法的缺點,可以采用加權(quán)平均判決法,即

例如

5.模糊控制表

模糊關(guān)系、模糊推理以及模糊判決的運算可以離線進行,最后得到模糊控制器輸入量的量化等級 , EC與輸出量即系統(tǒng)控制量的量化等級之間 的確定關(guān)系,這種關(guān)系通常稱為“控制表”。對應(yīng)于前面介紹的21條控制規(guī)則的“控制表”如表3.5所列。

模糊控制表可以離線求出,作為文件存儲在計算機中,計算機實時控制時只要將A/D轉(zhuǎn)換得到的偏差和偏差變化 ec 進行量化,得到相應(yīng)的等級 E 和 EC ,然后從文件中直接查詢所需采取的控制策略。

6.確定實際的控制量

顯然,實際的控制量 應(yīng)為從控制表中查到的量化等級 乘以比例因子。設(shè)實際的控制量 的變化范圍為[ a , b ] [a, b][a,b],量化等級為? n , ? n + 1 , . . . , 0 , . . . , n ? 1 , n { -n,-n+1,...,0,...,n-1,n}?n,?n+1,...,0,...,n?1,n,則實際的控制量應(yīng)為

例如在上述二維模糊控制器中,當(dāng) E 和 EC 的量化等級分別為-3和+1時,由控制表查得 U = 3 U=3U=3,則模糊控制器輸出的實際控制量應(yīng)為

模糊控制器的設(shè)計步驟

選擇輸入和輸出模糊集

定義輸入輸出隸屬度函數(shù)

建立模糊控制表

建立模糊控制規(guī)則

模糊推理

反模糊化

模糊邏輯實現(xiàn)

以洗衣機洗衣粉投放量控制為例,令污漬stain和油漬oil為輸入變量,洗衣粉powder為輸出。假定輸入和輸出范圍均為1~10。步驟如下:

引用相關(guān)模塊并設(shè)置各個變量范圍

定義輸入輸出模糊集和其隸屬度函數(shù)(使用三角函數(shù)),同時定義輸出解模糊規(guī)則。

建立模糊控制規(guī)則

測試:系統(tǒng)建立完成后,通過輸入變量值來查看系統(tǒng)的輸出

令輸入污漬為5,油漬為6

完整代碼:

import numpy as np

import skfuzzy as fuzz

import skfuzzy.control as ctrl

x_stain_range=np.arange(1,11,1,np.float32)

x_oil_range=np.arange(1,11,1,np.float32)

y_powder_range=np.arange(1,11,1,np.float32)

# 創(chuàng)建模糊控制變量

x_stain=ctrl.Antecedent(x_stain_range, 'stain')

x_oil=ctrl.Antecedent(x_oil_range, 'oil')

y_powder=ctrl.Consequent(y_powder_range, 'powder')

# 定義模糊集和其隸屬度函數(shù)

x_stain['N']=fuzz.trimf(x_stain_range,[1,1,5])

x_stain['M']=fuzz.trimf(x_stain_range,[1,5,10])

x_stain['P']=fuzz.trimf(x_stain_range,[5,10,10])

x_oil['N']=fuzz.trimf(x_oil_range,[1,1,5])

x_oil['M']=fuzz.trimf(x_oil_range,[1,5,10])

x_oil['P']=fuzz.trimf(x_oil_range,[5,10,10])

y_powder['N']=fuzz.trimf(y_powder_range,[1,1,5])

y_powder['M']=fuzz.trimf(y_powder_range,[1,5,10])

y_powder['P']=fuzz.trimf(y_powder_range,[5,10,10])

# 設(shè)定輸出powder的解模糊方法——質(zhì)心解模糊方式

y_powder.defuzzify_method='centroid'

# 輸出為N的規(guī)則

rule0 = ctrl.Rule(antecedent=((x_stain['N'] & x_oil['N']) |

(x_stain['M'] & x_oil['N']) ),

consequent=y_powder['N'], label='rule N')

# 輸出為M的規(guī)則

rule1 = ctrl.Rule(antecedent=((x_stain['P'] & x_oil['N']) |

(x_stain['N'] & x_oil['M']) |

(x_stain['M'] & x_oil['M']) |

(x_stain['P'] & x_oil['M']) |

(x_stain['N'] & x_oil['P']) ),

consequent=y_powder['M'], label='rule M')

=# 輸出為P的規(guī)則

rule2 = ctrl.Rule(antecedent=((x_stain['M'] & x_oil['P']) |

(x_stain['P'] & x_oil['P']) ),

consequent=y_powder['P'], label='rule P')

# 環(huán)境初始化

system = ctrl.ControlSystem(rules=[rule0, rule1, rule2])

sim = ctrl.ControlSystemSimulation(system)

sim.input['stain'] = 5

sim.input['oil'] = 6

sim.compute() # 運行系統(tǒng)

output_powder = sim.output['powder']

# 打印輸出結(jié)果

print(output_powder)

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉