智慧型控制 Intelligent Control

模糊控制

模糊控制(fuzzy control)把人的經驗寫成「若…則…」的語意規則,例如「誤差大而且還在變大 → 用力推」,再用模糊集合與模糊推論算出明確的控制量。它不需要精確的數學模型,適合難以建模、但有操作經驗可循的系統。(說明為補充)

模糊化Fuzzifier推論Inference解模糊化Defuzzifier規則庫 If…Then明確輸入明確輸出模糊集合模糊集合用歸屬函數重心法等

理論 Theory

範例 Examples

範例型式說明
小費問題/Sugeno 版Mamdani/Sugeno依服務與食物決定小費,用來熟悉推論過程
MCK 模糊控制 IMamdani(單輸入)質量–彈簧–阻尼(MCK)系統的模糊控制
MCK 模糊控制 IIMamdani(雙輸入)同一系統改用兩個輸入
MCK 模糊控制 III/IVSugeno 零階/一階同一問題改用 Sugeno 型
水位控制模型、水位控制 FISMamdani水槽液位控制(工具箱的經典範例)
倒單擺台車模型(舊站)↗、倒單擺 FISSugeno台車上的倒單擺平衡控制

延伸閱讀(原講義附檔):Fuzzy Logic(PDF)、FLC(PDF)、fuzzy.ppt。

Python 版 Colab Notebooks

▶ 在 Colab 開啟原課程的 MATLAB 程式已改寫成 Python 筆記本(模糊邏輯工具箱:readfis、evalfis、CreateFIS.m 等指令與 tipper 系列 .fis),可以直接在瀏覽器執行、修改參數。⬇ 下載 Fuzzy_toolbox.ipynb
▶ 在 Colab 開啟原課程的 MATLAB 程式已改寫成 Python 筆記本(模糊控制:MCK 四種控制器、水槽液位、台車倒單擺的 Simulink 模型),可以直接在瀏覽器執行、修改參數。⬇ 下載 Fuzzy_control.ipynb