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