鄭嘉銘 陳麗君
【摘 要】模擬飛行把深奧的航空理論知識和日常生活中人們難以接觸到的飛行技術(shù)介紹給普通人,充滿趣味性和科普性。已有模擬飛行訓練裝置只能針對飛機和場景進行模擬,無法用于控制方法研究,且無法實現(xiàn)自動飛行。本文借助MATLAB編程工具建立了飛行仿真模型,驅(qū)動FlightGear實現(xiàn)了飛行仿真的可視化,以及飛行器的人工操縱和自主飛行,拓展了模擬飛行訓練裝置的用途。
【關(guān)鍵詞】模擬飛行;訓練裝置;仿真模型
0 引言
模擬飛行是通過專門的軟件和硬件設(shè)備對真實世界飛行及其各種元素在計算機中進行仿真模擬的一項航空科技活動。在模擬飛行中,對空氣動力、氣象、地理環(huán)境、飛行操控系統(tǒng)、飛行電子系統(tǒng)、戰(zhàn)斗飛行武器系統(tǒng)、地面飛行引導等都進行了高度仿真的模擬,并通過外部硬件設(shè)備進行飛行仿真操控和飛行感官回饋。通過此項活動,能夠豐富航空航天知識,增強思維敏捷度,鍛煉手腦協(xié)調(diào)能力和毅力,提高快速應(yīng)變能力,而且可以了解航空文化、培養(yǎng)航空情懷、樹立航空志向,以后成長為優(yōu)秀航空后備人才。
2013年中國航空學會在全國范圍內(nèi)開展青少年模擬飛行科技活動,我們購置了模擬飛行訓練器。該模擬飛行訓練器能夠單人操控,能夠全方位多功能模擬民航飛機的各項儀表與操縱技巧,可以訓練大家模擬飛行駕駛技巧。
但在使用過程中,發(fā)現(xiàn)該平臺存在只能針對現(xiàn)有飛機和場景進行飛行操縱模擬,無法用于飛機控制方法的改進、無法實現(xiàn)自動飛行及效果驗證等缺點,本文結(jié)合FlightGear軟件研究了一種改進方法,拓展了模擬飛行訓練裝置的用途。
1 模擬飛行訓練器平臺原理
模擬飛行訓練器硬件平臺由三屏輸出顯示器、飛行操縱裝置、飛行模擬儀表等組成。三屏輸出顯示器能夠生動的模擬出真實飛行時駕駛員所處的狀態(tài);飛機操縱裝置模擬了升降舵、航向舵、副翼操縱,油門開度,襟翼收放,起落架收放等飛機常用操縱;飛機模擬儀表具有點火起飛,燈光控制,電源、航電、油泵數(shù)據(jù)顯示,并且加入了通訊導航電臺和自動駕駛儀信息的顯示。模擬飛行訓練器平臺如圖1(a)所示。
模擬飛行訓練器配套軟件平臺為微軟模擬飛行,微軟模擬飛行用戶界面如圖1(b)所示。微軟模擬飛行提供了許多機型和24000多個機場,用戶可以選擇自己喜歡的類型來自由駕駛。控制便捷,加上逼真的座艙和真實的人工智能相結(jié)合,進行模擬飛行更加輕松自如。微軟模擬飛行以不同視角模擬了飛行器操縱的整個過程,可以滿足各種專業(yè)和業(yè)余玩家的不同需求。允許玩家通過網(wǎng)絡(luò)與其他玩家進行交流[1]。
隨著仿真技術(shù)的發(fā)展,基于可視化交互仿真技術(shù),利用先進的仿真工具搭建具有高效和安全實用等優(yōu)點的飛行仿真系統(tǒng)進行模擬仿真,已經(jīng)逐漸成為工程實踐中必不可少的工作之一。作為開發(fā)者,能夠?qū)⒆约涸O(shè)計的控制律對飛行器的影響直觀的呈現(xiàn)在屏幕上,這對控制律的改進有著重要的意義。但微軟模擬飛行在軟件定位上以學習訓練為主,缺乏專業(yè)性,并且許多內(nèi)部參數(shù)無法通過第三方軟件進行讀取和修改,這就給二次開發(fā)帶來了阻礙。所以需要找到一款利于二次開發(fā),外部接口豐富的飛行模擬軟件進行代替。
2 基于FlightGear的飛行仿真
在這里,選擇FlightGear作為模擬飛行訓練器的軟件平臺。FlightGear具有高度自由的代碼、精確詳細的飛行環(huán)境、靈活開放的飛行器建模系統(tǒng),以及合理的硬件要求等特征[2]。而且具有開放式的程序構(gòu)架和預(yù)留的外部數(shù)據(jù)輸入/輸出接口,特別是MATLAB的Simulink工具箱中集成了FlightGear的數(shù)據(jù)接口,為二次開發(fā)提供了便利[3]。
FlightGear的這種特性提供了一種思路,利用MATLAB的Simulink工具箱建立的飛行器動力學模型,通過Simulink工具箱中FlightGear的數(shù)據(jù)接口將飛行器動力學模型與FlightGear中的3D飛行器物理模型與視景模型相結(jié)合,從而構(gòu)成可視化的交互仿真技術(shù)平臺。
2.1 Flightgear與模擬飛行訓練器的連接
要把微軟模擬飛行軟件平臺替換為FlightGear軟件平臺,在硬件平臺與軟件平臺連接時,我們需要遵循以下兩個步驟。
2.1.1 軟、硬件平臺配對
FlightGear可以支持多種輸入設(shè)備,它會自動檢測連接上的硬件設(shè)備(駕駛桿、腳蹬等),在將本文所述硬件平臺所有設(shè)備與計算機接口相連后,進入Flightgear,載入飛機后,在其下拉菜單中選擇Joystick configuration,即可進入控制器的鍵位調(diào)試界面。通過Joystick模塊觀察FlightGear檢測到了哪些硬件設(shè)備,并設(shè)置相應(yīng)功能。
2.1.2 軟、硬件設(shè)備綁定
在第一步中,會存在一些硬件平臺設(shè)備無法被FlightGear識別,這是因為對于每一個設(shè)備都需要一個對應(yīng)可擴展標記語言(XML)文件支持,文件描述了硬件平臺操縱設(shè)備對應(yīng)了FlightGear的什么功能。通過編輯配置XML文件,可以幫助驅(qū)動找到硬件設(shè)備,并且規(guī)定其對應(yīng)功能。
2.2 飛行器模型
我們選擇B-2隱形戰(zhàn)略轟炸機為仿真模型,仿真模型主要包括以下2個模塊:
(1)飛機動力學模塊。該模塊是整個仿真系統(tǒng)中主要的解算部分,通過分析飛行器的構(gòu)造和運動過程,飛行器的運動可以用六個自由度來表示(三個方向的平移和三個方向的轉(zhuǎn)動),分別縱向速度、側(cè)向速度和法向速度,以及滾轉(zhuǎn)角度、俯仰角度、偏航角度。
(2)環(huán)境模塊。環(huán)境模型包括了標準大氣模型、風模型和重力模型。其中標準大氣模型提供大氣參數(shù)。風模型輸出風速矢量。重力模型計算出不同地理位置處的重力。此外還包括氣動力系數(shù)模塊、推力系統(tǒng)模塊、起落架模塊、控制系統(tǒng)等模塊[4]。
2.3 FlightGear接口設(shè)計
使用MATLAB和FlightGear進行飛行仿真的流程如圖2所示。FlightGear提供了足夠的飛行器和真實環(huán)境的3D模型,需要在MATLAB中設(shè)計能夠正確和FlightGear進行數(shù)據(jù)交換的接口即可。通過分析可知,建立好的動力學模型需要從Flightgear中獲得導航信息,周圍環(huán)境信息,地理位置信息等飛行器正常運行的外部環(huán)境信息。Flightgear也需要接收MATLAB中動力學模型的信息反饋[5]。
FlightGear和MATLAB進行聯(lián)合仿真的數(shù)據(jù)傳遞需包括:一個用于設(shè)置數(shù)據(jù)輸入的打包子模塊,一個將數(shù)據(jù)發(fā)送到FlightGear的數(shù)據(jù)子模塊,以及一個用于設(shè)置仿真速率的子模塊。依照以上分析,在MATLAB中設(shè)計FlightGear接口(部分)如圖3(a)所示。
為了在啟動Flightgear時得到需要的初始條件(如場地、時間、天氣等),需要創(chuàng)建一個運行腳本,見圖3(b),采用Generate Run Script 模塊來實現(xiàn)。
3 飛行模擬示例
本文以使用MATLAB Simulink建立的B-2隱形戰(zhàn)略轟炸機模型聯(lián)合FlightGear進行仿真,設(shè)該飛行器的巡航高度為11000米,巡航速度為0.6馬赫,得到配平的迎角為3°,俯仰角為3°,油門開度之和為0.3327,升降舵偏角之和為-4.4752°。仿真分為兩部分,第一部分利用仿真平臺的硬件設(shè)備對FlightGear里的仿真模型進行進行模擬駕駛,第二部分是在第一部分的基礎(chǔ)上模擬飛機自適應(yīng)調(diào)節(jié)的過程。最終實現(xiàn)的仿真效果為MATLAB仿真曲線和FlightGear三維視景同時輸出。
在第一部分中,將仿真模型與FlightGear正確連接口,使用Generate Run Script模塊創(chuàng)建運行腳本,運行腳本文件后,完成FlightGear中飛行器和周圍視景的初始化。在FlightGear上顯示需要進行仿真的飛機,通過硬件平臺的飛行操縱裝置對飛機進行舵面等一系列執(zhí)行機構(gòu)的操縱,實現(xiàn)模擬駕駛。并可以通過模擬儀表觀察飛機相應(yīng)參數(shù)。第一部分的人工操控飛行仿真如圖4(a)所示,實現(xiàn)通過硬件平臺的輸入設(shè)備(操縱桿,腳蹬等)結(jié)合FlightGear產(chǎn)生的三維視景對建立的飛行器仿真模型進行操控。
在第二部分中,在第一部分的基礎(chǔ)上通過控制律對飛行器進行跟蹤調(diào)節(jié),從而實現(xiàn)飛機穩(wěn)定飛行,在FlightGear上觀察飛機自我調(diào)節(jié)的過程,同時在MATLAB中輸出跟蹤曲線。并且輸出油門、迎角角度、俯仰角速率等參數(shù)。第二部分結(jié)合控制律的自主飛行如圖4(b)所示。
在FlightGear對飛機的運動狀態(tài)進行直觀顯示的同時,MATLAB也對仿真系統(tǒng)的若干參數(shù)進行了曲線的實時輸出。
圖5(a)給出了B-2飛行器在控制律的作用下系統(tǒng)的跟蹤過程,虛線表示的是給定的參考信號,實線表示的是實際的速度和俯仰角變化曲線。圖5(b)給出了迎角和俯仰角速率的響應(yīng)曲線。
4 結(jié)束語
本文利用MATLAB和FlightGear對模擬飛行訓練器進行了改進。改進后的系統(tǒng)可以用做可視化仿真模擬飛行,對飛行器姿態(tài)三維實時顯示的同時通過仿真曲線描述飛行狀態(tài)參數(shù),并可對飛行器控制律進行優(yōu)化設(shè)計,實現(xiàn)人工操縱和自主飛行兩種仿真模式,拓展了模擬飛行訓練裝置的用途。
【參考文獻】
[1]王強.利用微軟模擬飛行進行A320程序訓練[J].中國科技信息,2012(6):83~87.
[2]FlightGear Introduction.http://www.flightgear.org/[OL].
[3]周建興,豈興明,矯津毅.MATLAB從入門到精通[M].人民郵電出版社,2008.
[4]蔚海軍.基于FlightGear的直升機飛行模擬系統(tǒng)研究[D].大連理工大學,2008.
[5]郭衛(wèi)剛,韓維,王秀霞.基于MATLAB/FLIGHTGEAR飛機飛行性能的可視化仿真系統(tǒng)[J].實驗技術(shù)與管理,2010(10):13~15.
[責任編輯:王楠]