[摘要] MATLAB是國(guó)際上最優(yōu)秀的科技應(yīng)用軟件之一,它集數(shù)值分析、矩陣運(yùn)算、信號(hào)處理和圖形顯示于一體,構(gòu)成了一個(gè)方便的、界面友好的用戶環(huán)境,其強(qiáng)大的科學(xué)計(jì)算與可視化功能,簡(jiǎn)單易用的開放式可擴(kuò)展環(huán)境,使得MATLAB成為控制領(lǐng)域進(jìn)行計(jì)算機(jī)輔助分析與設(shè)計(jì)的一種非常好的工具和首選平臺(tái)。本文對(duì)模糊控制器的工作原理做了簡(jiǎn)要介紹,結(jié)合典型的二階系統(tǒng)。設(shè)計(jì)了一個(gè)模糊控制器,用MATLAB對(duì)所設(shè)計(jì)的控制器進(jìn)行了仿真。
[關(guān)鍵詞] 模糊控制器MATLAB仿真
MATLAB是集數(shù)值計(jì)算、符號(hào)運(yùn)算及圖形處理等強(qiáng)大功能于一體的科學(xué)計(jì)算語(yǔ)言。作為強(qiáng)大的科學(xué)計(jì)算平臺(tái),它幾乎能夠滿足所有的計(jì)算需求。MATLAB對(duì)許多專門的領(lǐng)域都開發(fā)了功能強(qiáng)大的模塊集或工具箱。一般來(lái)說(shuō),它們都是由特定領(lǐng)域的專家開發(fā)的,用戶可以直接是用工具箱學(xué)習(xí)、應(yīng)用和評(píng)估不同的方法而不需要自己編寫代碼。目前,MATLAB已經(jīng)把工具箱延伸到了科學(xué)研究和工程應(yīng)用的諸多領(lǐng)域,諸如數(shù)據(jù)采集、數(shù)據(jù)庫(kù)接口、概率統(tǒng)計(jì)、樣條擬合、控制系統(tǒng)設(shè)計(jì)、LMI控制、魯棒控制等。由于MATLAB語(yǔ)言在各方面的強(qiáng)大功能,目前它已作為工程和科學(xué)教育界的一種行業(yè)標(biāo)準(zhǔn)。
一、基于MATLAB的模糊控制器的設(shè)計(jì)
采用MATLAB的模糊邏輯工具箱的GUI(Graph User Interface)工具設(shè)計(jì)模糊控制器。具體操作:進(jìn)入MATLAB編輯環(huán)境后,鍵入fuzzy即可進(jìn)入FIS編輯器。在FIS編輯器中設(shè)置模糊控制器的模糊算子(max,min等)、輸入輸出變量個(gè)數(shù)、名稱、解模糊化的方法(加權(quán)平均法、中位數(shù)法、最大隸屬度法等)。模糊控制器的整體結(jié)構(gòu)確定后,雙擊FIS編輯器中的輸入、輸出變量方框,便進(jìn)入隸屬函數(shù)界面,在這里定義輸入、輸出變量的論域(根據(jù)實(shí)際要求確定),各變量模糊子集的個(gè)數(shù),隸屬函數(shù)的類型。其中,模糊子集的個(gè)數(shù),要從實(shí)際出發(fā),不要盲目追求數(shù)量,以縮短調(diào)試的優(yōu)化時(shí)間。三角形隸屬函數(shù)性能較好,計(jì)算量小,較多采用。
下面應(yīng)定義模糊控制規(guī)則,這是模糊系統(tǒng)的核心,集中體現(xiàn)了人的操作經(jīng)驗(yàn)。選擇FIS編輯器或隸屬函數(shù)編輯器中View菜單下的Edit Rule子菜單,或雙擊FIS編輯器中流程圖中的規(guī)則方框即可進(jìn)入模糊規(guī)則編輯器主界面。以常用的二維模糊控制器為例,用戶可按照規(guī)定的書寫格式編寫模糊規(guī)則。見圖1。必須注意,在語(yǔ)言變量級(jí)數(shù)相同的情況下,規(guī)則的質(zhì)量對(duì)控制品質(zhì)起著關(guān)鍵作用。在許多情況下,雖然規(guī)則條數(shù)不多,但其質(zhì)量較高,也可達(dá)到相當(dāng)好的控制效果。
至此,一個(gè)模糊控制器已設(shè)計(jì)完畢。可以選擇FIS編輯器窗體主菜單中的View surface查看經(jīng)模糊矩陣運(yùn)算并解模糊化后的三維坐標(biāo)圖;選擇主菜單中的view rules還可以對(duì)所設(shè)計(jì)的模糊控制系統(tǒng)進(jìn)行仿真檢驗(yàn)。用戶可將設(shè)計(jì)好的模糊控制器模型存盤,文件后綴為.fis。
二、基于MATLAB的模糊控制器的仿真
使用SIMULINK建立模糊控制器仿真模型。SIMULINK是MATLAB基于模型化圖形組態(tài)的控制系統(tǒng)仿真軟件,它使得一個(gè)復(fù)雜控制系統(tǒng)的數(shù)學(xué)仿真問題變得十分直觀而且相當(dāng)容易,圖2是某型位置控制系統(tǒng)PID模糊控制器的SIMULINK仿真模型。
該模型通過(guò)三個(gè)模糊邏輯控制功能模塊調(diào)用上述FIS編輯器建立的控制規(guī)則進(jìn)行運(yùn)算仿真,輸入的量化因子及輸出的比例因子由各功能模塊前后的放大模塊仿真,這樣的模型,為湊試參數(shù)提供了方便。
在MATLAB命令窗口鍵入SIMULINK,即進(jìn)入了SIMULINK環(huán)境。此時(shí),系統(tǒng)提供給用戶兩個(gè)主界面:SIMULINK結(jié)構(gòu)圖編輯界面和模塊庫(kù)。用戶拷貝模塊庫(kù)中的模塊到結(jié)構(gòu)圖編輯器中,再將它們適當(dāng)連接便構(gòu)成自己的控制系統(tǒng)結(jié)構(gòu)圖,然后即可用SIMULINK進(jìn)行仿真,并可通過(guò)示波器模塊(Scope)觀察仿真曲線。
圖2中的FLC(Fuzzy Logic Controller)就是前面所設(shè)計(jì)的模糊控制器,此模塊可從模糊邏輯工具箱(Fuzzy Logic Toolbox)的模塊庫(kù)中“抓取”(即用鼠標(biāo)右鍵拖動(dòng))。注意,仿真開始前必須將模糊控制器的.fis文件用“Save to workspace” 子菜單存入內(nèi)存緩沖區(qū), 然后將該文件名賦予FLC。這樣,設(shè)計(jì)好的模糊控制器以矩陣變量形式存入內(nèi)存,供SIMULINK調(diào)用,以參與仿真。
從仿真結(jié)果看,模糊控制器不僅對(duì)被控對(duì)象參數(shù)變化適應(yīng)能力強(qiáng),而且在對(duì)象模型結(jié)構(gòu)發(fā)生較大改變的情況下,也能獲得較好的控制效果。
三、結(jié)論
從實(shí)踐中體會(huì)到,利用MATLAB 設(shè)計(jì)模糊控制器并進(jìn)行仿真,簡(jiǎn)單快速, 直觀高效。MATLAB的功能強(qiáng)大,其工具箱已涵蓋控制系統(tǒng)、信號(hào)處理、神經(jīng)網(wǎng)絡(luò)、小波分析、模糊系統(tǒng)、通信系統(tǒng)等各個(gè)領(lǐng)域,值得進(jìn)一步推廣應(yīng)用。利用MATLAB中的模糊控制邏輯工具箱設(shè)計(jì)模糊控制器靈活、方便、可視性強(qiáng),并可在SIMULINK環(huán)境中非常直觀地構(gòu)建各種復(fù)雜的模糊PID控制系統(tǒng),觀察其控制效果。這樣就克服了工程實(shí)踐中的盲目性,為實(shí)際控制系統(tǒng)的設(shè)計(jì)與調(diào)試提供了理論參考依據(jù)。
參考文獻(xiàn):
[1]施陽(yáng):MATLAB語(yǔ)言精要及動(dòng)態(tài)仿真工具SIMULINK.西北工業(yè)大學(xué)出版社,1998
[2]樓順天等:基于MATLAB的系統(tǒng)分析與設(shè)計(jì).西安電子科技大學(xué)出版社,2001
[3]費(fèi)春國(guó):模糊自調(diào)整控制器的研究與應(yīng)用[D].天津:天津科技大學(xué),2003
[4]聞新:MATLAB模糊邏輯工具箱的分析與應(yīng)用[M].北京:科學(xué)出版社,2001:63—65
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。