趙玉強(qiáng) 鞠夢(mèng)賢 孫維玉 張文君 郭帥
摘 要:針對(duì)飛行仿真的研究通常會(huì)忽略仿真模型或平臺(tái)的通用性、可重性及互操作性等問(wèn)題,采用對(duì)所設(shè)計(jì)仿真平臺(tái)的功能進(jìn)行詳細(xì)劃分和描述,構(gòu)建總體仿真系統(tǒng)框架的措施來(lái)解決這些問(wèn)題。首先,在Matlab環(huán)境下建立飛行器全數(shù)字仿真平臺(tái),利用該平臺(tái)可以進(jìn)行動(dòng)力學(xué)分析、飛行控制系統(tǒng)設(shè)計(jì)及航跡規(guī)劃等不同任務(wù)。其次,利用MATLAB 提供的GUI 接口實(shí)現(xiàn)人機(jī)交互界面的設(shè)計(jì)的設(shè)計(jì)。所設(shè)計(jì)平臺(tái)模塊的劃分相對(duì)獨(dú)立,人機(jī)交互界面可修改飛行器的相關(guān)信息,具有較強(qiáng)的通用性。
關(guān)鍵詞:Matlab/Simulink GUI 飛行控制 數(shù)字仿真 仿真平臺(tái)
中圖分類(lèi)號(hào):V274 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2013)02(c)-00-01
飛行器可以被應(yīng)用于運(yùn)輸、救生、對(duì)地觀測(cè)、空中預(yù)警以及通訊中繼,因此其在軍事和民事領(lǐng)域中都有很大的應(yīng)用前景。因此對(duì)飛行器進(jìn)行仿真分析很有必要,同時(shí)仿真也是對(duì)飛行器的動(dòng)力學(xué)特性分析、控制律設(shè)計(jì)等工作的重要手段。MATLAB作為一種面向科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)軟件。
它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線(xiàn)性動(dòng)態(tài)系統(tǒng)的建模和仿真集于一身,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案。Simulink是MATLAB提供的仿真工具,可以方便地進(jìn)行動(dòng)態(tài)系統(tǒng)建模、仿真、分析等。該文基于Matlab GUI建立飛行器的全數(shù)字仿真平臺(tái)。利用該平臺(tái)可以快速地進(jìn)行用飛行器的全數(shù)字仿真,根據(jù)參數(shù)設(shè)置的不同進(jìn)行航跡規(guī)劃、實(shí)時(shí)狀態(tài)參數(shù)顯示和仿真結(jié)果顯示等仿真工作。
1 仿真系統(tǒng)框架設(shè)計(jì)
仿真系統(tǒng)可分為導(dǎo)航和控制模塊、執(zhí)行模塊、飛行器動(dòng)力學(xué)模塊和人機(jī)交互界面模塊。其中導(dǎo)航控制模塊又分為航跡規(guī)劃模塊、接受指令模塊、飛行管理系統(tǒng)、導(dǎo)航系統(tǒng)及控制系統(tǒng)五個(gè)子模塊,導(dǎo)航子模塊把飛行器的狀態(tài)信息傳給飛行管理系統(tǒng),飛行管理系統(tǒng)根據(jù)航跡規(guī)劃的要求處理后給出模態(tài)控制信號(hào)從而控制著飛行器的飛行,執(zhí)行模塊由舵機(jī)模型組成。如圖1所示。
2 基于Matlab/Simulink的非線(xiàn)性數(shù)學(xué)模型的建立
該文在Matlab/Simulink下建立飛行器非線(xiàn)性數(shù)學(xué)模型,飛行器非線(xiàn)性數(shù)學(xué)模型主要包括縱向和橫側(cè)向插值模塊、發(fā)動(dòng)機(jī)模塊、力變換模塊、力矩變換模塊、飛機(jī)動(dòng)力學(xué)模塊。氣動(dòng)數(shù)據(jù)反映到飛行器運(yùn)動(dòng)方程中主要是以三個(gè)力和三個(gè)力矩形式給出的,即阻力D、側(cè)力Y、升力L、滾轉(zhuǎn)力矩R、俯仰力矩M、偏航力矩N。這些力和力矩在數(shù)學(xué)模型中通過(guò)力變換模塊和力矩變換模塊進(jìn)行計(jì)算。在所建立的非線(xiàn)性數(shù)學(xué)模型基礎(chǔ)上,基于PID及非線(xiàn)性控制方法即可設(shè)計(jì)飛行控制系統(tǒng)。如圖2所示。
3 基于Matlab GUI的人機(jī)交互界面設(shè)計(jì)
圖形用戶(hù)界面(GUI,Graphical User Interfaces)在MATLAB程序開(kāi)發(fā)中起著舉足輕重的作用。隨著Matlab中GUI技術(shù)的發(fā)展,己經(jīng)可以像VC一樣,建立一個(gè)界面進(jìn)行數(shù)據(jù)、曲線(xiàn)顯示和控制操作。Matlab用戶(hù)圖形接口GUI,則可以編出圖形、數(shù)據(jù)顯示以及指令輸入界面。圖形用戶(hù)界面(GUI)可以通過(guò)Matlab提供的界面設(shè)計(jì)工作臺(tái)(Layout Editor),設(shè)計(jì)出具有菜單和用戶(hù)控件的復(fù)雜窗口。Simulink通過(guò)S-function對(duì)GUI的數(shù)據(jù)傳輸。在GUI模塊中,每個(gè)控件都有獨(dú)立的句柄。通過(guò)句柄就能實(shí)現(xiàn)對(duì)數(shù)據(jù)的控制及刷新。例如質(zhì)量M的輸入編輯框的句柄Tag為M_input,該編輯框?qū)?yīng)著一個(gè)回調(diào)函數(shù):function M_input_Callback(hObject,eventdata,handles)
如果需獲取相關(guān)信息,只要先找到相關(guān)的句柄即可,如需獲取飛行器的質(zhì)量M信息,即需先找到其句柄,如下所示:M=str2num(get(handles.M_input,String));
其中handles.M_input是獲取相應(yīng)編輯框的句柄。
4 結(jié)語(yǔ)
該文對(duì)飛行器的仿真系統(tǒng)及其平臺(tái)設(shè)計(jì)進(jìn)行研究及分析,基于Matlab simulink建立飛行器的數(shù)學(xué)模型,同時(shí)利用GUI建立人機(jī)交互界面,對(duì)飛行器數(shù)學(xué)模型及控制系統(tǒng)進(jìn)行仿真驗(yàn)證。
參考文獻(xiàn)
[1] 王永龍,張兆忠,張桂紅.MATLAB語(yǔ)言基礎(chǔ)與應(yīng)用[M].北京:電子工業(yè)出版社,2010.
[2] 張明廉.飛行控制系統(tǒng)[M].北京航空航天大學(xué)出版社,1993.
[3] 薛定宇.控制系統(tǒng)仿真與計(jì)算機(jī)輔助設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2005.
[4] 劉金琨.先進(jìn)PID控制MATLAB仿真[M].北京:電子工業(yè)出版社,2005.
[5] 張麗科.MATLAB7.0 從入門(mén)到精通[M].北京:人民郵電出版社,2006.