matlab模糊控制工具箱使用和模糊控制pid例項參考

studyer_domi發表於2019-02-28

Matlab模糊控制工具箱為模糊控制器的設計提供了一種非常便捷的途徑,通過它我們不需要進行復雜的模糊化、模糊推理及反模糊化運算,只需要設定相應引數,就可以很快得到我們所需要的控制器,而且修改也非常方便。下面將根據模糊控制器設計步驟,一步步利用Matlab工具箱設計模糊控制器。

1、模糊控制工具箱使用

首先我們在Matlab的命令視窗(command window)中輸入fuzzy,回車就會出來這樣一個視窗。

下面我們都是在這樣一個視窗中進行模糊控制器的設計。

1確定模糊控制器結構:即根據具體的系統確定輸入、輸出量。

這裡我們可以選取標準的二維控制結構,即輸入為誤差e和誤差變化ec,輸出為控制量u。注意這裡的變數還都是精確量。相應的模糊量為EECU,我們可以選擇增加輸入(Add Variable)來實現雙入單出控制結構。

2輸入輸出變數的模糊化:即把輸入輸出的精確量轉化為對應語言變數的模糊集合。

首先我們要確定描述輸入輸出變數語言值的模糊子集,如{NBNMNSZOPSPMPB},並設定輸入輸出變數的論域,例如我們可以設定誤差E(此時為模糊量)、誤差變化EC、控制量U的論域均為{-3-2-10123};然後我們為模糊語言變數選取相應的隸屬度函式。

在模糊控制工具箱中,我們在Member Function Edit中即可完成這些步驟。首先我們開啟Member Function Edit視窗.

4步教你學會使用matlab模糊控制工具箱

4步教你學會使用matlab模糊控制工具箱

然後分別對輸入輸出變數定義論域範圍,新增隸屬函式,以E為例,設定論域範圍為[-3 3],新增隸屬函式的個數為7.

 4步教你學會使用matlab模糊控制工具箱

然後根據設計要求分別對這些隸屬函式進行修改,包括對應的語言變數,隸屬函式型別。

4步教你學會使用matlab模糊控制工具箱

3模糊推理決策演算法設計:即根據模糊控制規則進行模糊推理,並決策出模糊輸出量。

首先要確定模糊規則,即專家經驗。對於我們這個二維控制結構以及相應的輸入模糊集,我們可以制定49條模糊控制規則(一般來說,這些規則都是現成的,很多教科書上都有),如圖。

4步教你學會使用matlab模糊控制工具箱

制定完之後,會形成一個模糊控制規則矩陣,然後根據模糊輸入量按照相應的模糊推理演算法完成計算,並決策出模糊輸出量。

4對輸出模糊量的解模糊:模糊控制器的輸出量是一個模糊集合,通過反模糊化方法判決出一個確切的精確量,凡模糊化方法很多,我們這裡選取重心法。

    4步教你學會使用matlab模糊控制工具箱

5)然後Export to disk,即可得到一個.fis檔案,這就是你所設計的模糊控制器。

6)simulink中使用fis檔案,首先加入fuzzy模組,然後寫入模糊檔案,注意應用格式加單引號: 'fuzzpid.fis'

 

2、模糊控制pid例項

模糊PID控制,即利用模糊邏輯並根據一定的模糊規則對PID的引數進行實時的優化,以克服傳統PID引數無法實時調整PID引數的缺點。模糊PID控制包括模糊化,確定模糊規則,解模糊等組成部分。小車通過感測器採集賽道資訊,確定當前距賽道中線的偏差E以及當前偏差和上次偏差的變化ec,根據給定的模糊規則進行模糊推理,最後對模糊引數進行解模糊,輸出PID控制引數。

 

 

KP的模糊規則控制表

∆kp

EC

NB

NM

MS

ZO

PS

PM

PB

E

NB

PB

PB

PM

PM

PS

ZO

ZO

NM

PB

PB

PM

PS

PS

ZO

NS

NS

PM

PM

PM

PS

ZO

NS

NS

ZO

PM

PM

PS

ZO

NS

NM

NM

PS

PS

PS

ZO

NS

NS

NM

NM

PM

PS

ZO

NS

NM

NM

NM

NB

PS

ZO

ZO

NM

NM

NM

NB

NB

 KI的模糊規則控制表

∆ki

EC

NB

NM

NS

ZO

PS

PM

PB

E

NB

NB

NB

NM

NM

NS

ZO

ZO

NM

NB

NB

NM

NS

NS

ZO

ZO

NS

NB

NM

NS

NS

ZO

PS

PS

ZO

NM

NM

NS

ZO

PS

PM

PM

PS

NM

NS

ZO

PS

PS

PM

PB

PM

ZO

ZO

PS

PS

PM

PB

PB

PB

ZO

ZO

PS

PM

PM

PB

PB

KD的模糊規則控制表

∆kd

EC

NB

NM

NS

ZO

PS

PM

PB

E

NB

PS

NS

NB

NB

NB

NM

PS

NM

PS

NS

NB

NM

NM

NS

ZO

NS

ZO

NS

NM

NM

NS

NS

ZO

ZO

ZO

NS

NS

NS

NS

NS

ZO

PS

ZO

ZO

ZO

ZO

ZO

ZO

ZO

PM

PB

NS

PS

PS

PS

PS

PB

PB

PB

PM

PM

PM

PS

PS

PB

 

模糊推理系統結構圖

輸入變數的隸屬取三角形函式,如下:

誤差變數E的隸屬函式

誤差變化變數EC的隸屬函式

輸出變數的隸屬同樣取三角形函式,如下:

輸出變數KP的隸屬函式

 

輸出變數KD的隸屬函式

輸出變數KI的隸屬函式

確定了輸入和輸出隸屬函式後,在模糊規則編輯器中,輸入表格中的模糊推理規則,共49條,如下圖

模糊推理編輯器

此時得到的三引數的變化如下圖

模糊推理KP變化圖

模糊推理KI變化圖

模糊推理KD變化圖

 

執行模擬得到結果

PS:有定製開發需求,可以QQ聯絡:1762016542

提供matlab simulink 培訓 1v1教學 或者思路溝通 答疑等諮詢服務,尤其擅長汽車控制、訊號處理、數學建模、電機領域

 

相關文章