智慧型控制 Intelligent Control

範例:MCK 系統模糊控制 IV(Sugeno 一階)

再把 零階 Sugeno 版的常數結論改成一階:每條規則的結論是輸入的線性函數。下方是老師錄製的示範,附檔為 MCKFuzzySuL.zip(FuzzyMCK2suL.mdl、MCKFZ2sugenoL.fis)。

▶ 在 Colab 開啟原課程的 MATLAB 程式已改寫成 Python 筆記本(第 1 節:MCKFZ2sugenoL.fis),可以直接在瀏覽器執行、修改參數。⬇ 下載 Fuzzy_control.ipynb

一階結論 Linear Consequents

(以下依附檔整理並模擬,為補充)一階 Sugeno 的第 i 條規則寫成

$$\text{If } e \text{ is } A_i \text{ and } \dot e \text{ is } B_i,\ \text{then } z_i = p_i e + q_i \dot e + r_i$$

輸出仍是加權平均 \(F = \sum w_i z_i / \sum w_i\)。MCKFZ2sugenoL.fis 的歸屬函數與規則都和零階版相同,只把結論改成:

結論PLPMPSNSNMNL
[p q r][1 1 10][1 1 6][1 1 3][1 1 −3][1 1 −6][1 1 −10]

也就是 \(z_i = e + \dot e + r_i\):每條規則在零階的常數之外,再加上一項相同的 \(e + \dot e\)。加權平均時,這一項可以整個提出來:

$$F = (e + \dot e) + \frac{\sum w_i r_i}{\sum w_i}$$

所以一階版等於「零階模糊控制器」再並聯一個增益 1 的線性 PD 控制器。(ZR 定義為 [0 0 0],但 6 條規則都沒有用到它。)

模擬結果 Simulation

比較圖見 MCK 模糊控制 II(紫色虛線):

三個雙輸入版本都靠「e 零 且 ė 正」這條規則的偏壓撐住彈簧,都沒有積分作用,因此穩態都不會剛好是 1。