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