摘 要:針對自動控制理論教學(xué)中無法在課堂上直接利用倒立擺實驗設(shè)備進行演示的問題,設(shè)計實現(xiàn)了基于MATLAB/GUI(MATLAB’s Graphical User Interface)的直線二級倒立擺仿真實驗平臺,該平臺可集成多個仿真實驗,具有很強的可拓展性,能夠在界面中修改仿真參數(shù)并方便地調(diào)用仿真文件進行仿真。通過多次實驗,驗證了該實驗平臺的正確性和實用性。
關(guān)鍵詞:MATLAB;GUI;二級倒立擺;仿真;實驗平臺
中圖分類號:TM359.4
倒立擺是一種典型的復(fù)雜被控對象,具有非線性、多變量、強耦合和自然不穩(wěn)定的特性[1]。在控制過程中倒立擺系統(tǒng)能有效地反映可控性、魯棒性、隨動性以及跟蹤性等許多控制中的關(guān)鍵問題[2],很多新的控制算法都是通過倒立擺系統(tǒng)來進行檢驗的。在控制理論教學(xué)中,倒立擺系統(tǒng)是一種重要的輔助教學(xué)工具,將控制算法應(yīng)用于倒立擺系統(tǒng),觀察其控制效果,可以使學(xué)生更加生動形象地學(xué)習(xí)理解各種控制算法原理及其特性。然而,由于倒立擺實驗設(shè)備體積大,不便于搬運,并且需要專門的計算機進行控制,實際教學(xué)中很難在課堂中直接利用倒立擺實驗設(shè)備進行演示。針對這個問題,本文利用MATLAB/GUI設(shè)計實現(xiàn)了直線二級倒立擺仿真實驗平臺,該平臺可集成多個仿真實驗,具有很強的可拓展性,并且能夠在界面中修改仿真參數(shù)并方便地調(diào)用仿真文件進行仿真,可用于課堂教學(xué)演示。除此之外,該平臺還可作為學(xué)生的實驗平臺使用。
1 選用MATLAB/GUI進行開發(fā)的原因
之所以選用MATLAB/GUI進行直線二級倒立擺仿真實驗平臺的開發(fā),原因如下:
(1)對于自動控制等專業(yè)的人員,經(jīng)常使用MATLAB進行仿真而缺乏軟件開發(fā)的經(jīng)驗,利用MATLAB/GUI進行界面開發(fā)更容易上手。
(2)MATLAB將所有GUI支持的用戶控件都集成在GUIDE(Graphical User Interface Development Environment)中,并向用戶提供一系列的用戶圖形界面工具,這些工具可大大簡化GUI設(shè)計和生成的過程[3]。
(3)直線二級倒立擺仿真實驗平臺需要調(diào)用MATLAB的.mdl文件,MATLAB的GUI不脫離MATLAB的開發(fā)環(huán)境,調(diào)用自身的仿真文件更加方便。
(4)MATLAB的優(yōu)勢之一就是它的數(shù)據(jù)處理能力,直線二級倒立擺仿真實驗平臺需要對仿真數(shù)據(jù)進行處理并畫出相應(yīng)圖形,如果選用VC來實現(xiàn)這些功能,困難很大,而選用MATLAB/GUI可能只需要簡單的幾條語句。
2 直線二級倒立擺仿真實驗平臺設(shè)計
2.1 仿真實驗平臺總體設(shè)計
本文針對五種算法:PID(Proportional Integral Differential)算法、LQR[4][9](Linear Quadratic Regulator-LQR)算法、變量融合模糊控制算法[5]、BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)算法和ANFIS[6][7][8](Adaptive Neural Network-Based Fuzzy Interface System)算法進行設(shè)計,這四種方法是直線二級倒立擺常用的四種控制算法,分屬于經(jīng)典控制(PID),現(xiàn)代控制(LQR)以及智能控制,具有代表性,算法的仿真都已提前在MATLAB/Simulation中完成,不在本文介紹范圍之內(nèi)。
2.1.1 界面設(shè)計
仿真實驗平臺通過主界面調(diào)用不同的實驗界面,其主控界面如圖1所示。
在界面中,有五個單選框,選中其中某個實驗,單擊“進入”即可進入相應(yīng)實驗的界面,單擊“退出”則退出仿真實驗平臺。
變量融合模糊控制算法的界面如圖2,所示,其它實驗界面與它類似,風(fēng)格一致。界面中主要包括仿真框圖、仿真曲線以及參數(shù)部分。
2.1.2 界面按鍵功能實現(xiàn)方法
以主界面中的“進入”鍵為例。如果選擇“變量融合模糊控制算法”,回調(diào)函數(shù)為:
2.2 仿真實驗平臺詳細設(shè)計
以仿真實驗平臺中的第三個實驗為例。
2.2.1 主要功能
“變量融合模糊控制算法”仿真實驗的設(shè)計界面如圖3所示,它的主要功能包括:
(1)在axes1中顯示仿真框圖,該功能通過調(diào)用imread函數(shù)實現(xiàn)。
(2)在編輯框中顯示各參數(shù)的默認值,該功能通過set函數(shù)實現(xiàn)。
(3)在界面中可以修改參數(shù)。
(4)單擊“開始”按鈕后,將界面中的參數(shù)傳遞給仿真文件。
(5)調(diào)用仿真文件進行仿真。
(6)在axes2中顯示本次仿真的仿真曲線。
2.2.2 主要功能實現(xiàn)方法
上一小節(jié)中所描述的前3個功能是顯示時實現(xiàn)的,后3個功能需要通過“開始”按鈕的回調(diào)函數(shù)來實現(xiàn),流程如圖4所示:
3 結(jié)束語
本文利用MATLAB/GUI設(shè)計實現(xiàn)了直線二級倒立擺的仿真實驗平臺,該平臺可集成多個仿真實驗并且可以根據(jù)需要,增加其它仿真實驗,具有很強的可拓展性。通過該平臺,可以方便地修改仿真系統(tǒng)中的參數(shù)并進行仿真。經(jīng)過多次實驗,驗證了該實驗平臺的正確性和實用性,該平臺可方便的應(yīng)用于自動控制理論教學(xué)中。
參考文獻:
[1]劉麗,馬盈倉.倒立擺系統(tǒng)的泛邏輯控制及相關(guān)比較研究[J].計算機應(yīng)用與軟件,2010(27):126.
[2]楊亞煒,張明廉.三級倒立擺的數(shù)控穩(wěn)定[J].北京航空航天大學(xué)學(xué)報,2006(26):311-314.
[3]施曉紅,周佳.精通GUI圖形界面編程[M].北京:北京大學(xué)出版社,2003:164-166.
[4]孫建軍,王仲民.倒立擺實驗系統(tǒng)與最優(yōu)控制算法研究[J].天津職業(yè)技術(shù)師范學(xué)院學(xué)報,2004(14):52.
[5]秦毅,王生鐵,張計科.二級倒立擺基于信息融合的模糊控制[J].自動化技術(shù)與應(yīng)用,2007(26):12.
[6]劉懷國,孫建華,張冰.ANFIS及其在控制系統(tǒng)中的應(yīng)用[J].華東船舶工業(yè)學(xué)院學(xué)報(自然科學(xué)版),2001(15):28-29.
[7]高翔宇.BP神經(jīng)網(wǎng)絡(luò)在倒立擺控制中的應(yīng)用[A].北京信息科技大學(xué)優(yōu)秀畢業(yè)設(shè)計論文選集本科2006屆[C],2006(09):257-271.
[8]陳慧萍,王建東,樊春霞.基于自適應(yīng)神經(jīng)模糊推理系統(tǒng)的非線性系統(tǒng)控制[J].計算機仿真,2004(21):85.
[9]劉金琨.先進PID控制及MATLAB仿真[M].北京:電子工業(yè)出版社,2003:15-25.
作者簡介:王蓉(1985-),女,陜西合陽人,教員,助教,碩士研究生,研究方向:先進控制理論、主要從事一線教學(xué)。
作者單位:武警工程大學(xué)信息工程系,西安 710086