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