王 坤, 胡賢躍, 葛雅靜
(1. 中國民航大學(xué) 航空自動化學(xué)院, 天津 300300; 2. 上海東方飛行培訓(xùn)有限公司, 上?!?00131)
?
空客A320航空發(fā)動機虛擬仿真教學(xué)平臺開發(fā)
王坤1, 胡賢躍1, 葛雅靜2
(1. 中國民航大學(xué) 航空自動化學(xué)院, 天津300300; 2. 上海東方飛行培訓(xùn)有限公司, 上海200131)
為提升學(xué)員對V2500航空發(fā)動機及APU的整體認識,對航空發(fā)動機的點火系統(tǒng)、燃油系統(tǒng)、滑油系統(tǒng)等進行全面系統(tǒng)的學(xué)習(xí),開發(fā)了空客A320航空發(fā)動機虛擬仿真教學(xué)平臺。系統(tǒng)地介紹了航空發(fā)動機虛擬教學(xué)平臺的設(shè)計原理和組成,闡述了其中的關(guān)鍵技術(shù),并給出了虛擬教學(xué)平臺的實現(xiàn)方案。平臺主要采用圖像處理軟件Photoshop、三維軟件Maya、Unity3D和VS2010綜合開發(fā)工具,航空發(fā)動機三維模型采用.fbx格式,通過腳本語言C#實現(xiàn)對.fbx模型圖形的控制。
航空發(fā)動機; 三維軟件; Unity3D; 虛擬仿真平臺
航空渦輪風(fēng)扇發(fā)動機(ENG)簡稱航空渦扇發(fā)動機[1-2],既是飛機的“心臟”,又是推動飛機快速發(fā)展的源動力?,F(xiàn)在,噴氣發(fā)動機的推力已達到535 276N,耗油也已降到0.035 kg/(N·h),發(fā)動機推重比增大到10。正是由于航空動力技術(shù)的發(fā)展,從而推動了整個航空技術(shù)的進步。
航空渦扇發(fā)動機是目前應(yīng)用很廣的航空發(fā)動機,但是其結(jié)構(gòu)與工作原理異常復(fù)雜[3-4],這給相關(guān)專業(yè)的民航學(xué)員的學(xué)習(xí)帶來了較大的困難。此外,由于渦扇發(fā)動機體積大、造價高、試車條件復(fù)雜,要讓每個學(xué)員都能利用真實的渦扇發(fā)動機學(xué)習(xí)其結(jié)構(gòu)特點是有困難的。虛擬現(xiàn)實(virtual reality)技術(shù)是一種模擬人在自然環(huán)境中的視覺、聽覺、觸覺等行為的高度逼真的人機交互技術(shù)。它綜合了多種先進技術(shù),能夠創(chuàng)造一個仿真的虛擬環(huán)境,帶給使用者高度的真實感和沉浸感[5-6]。因此,若采用虛擬現(xiàn)實技術(shù)搭建一個渦扇發(fā)動機虛擬仿真實驗教學(xué)平臺,不僅能夠真實、清晰地模擬渦扇發(fā)動機的結(jié)構(gòu),而且成本低廉。筆者以空客A320航空渦扇發(fā)動機V2500及空客A320輔助動力裝置(APU)系統(tǒng)模型和工程數(shù)據(jù)為依據(jù),建立V2500/APU運算仿真模型,仿真模型輸入輸出的各項數(shù)據(jù)與V2500/APU原型嚴格保持一致,為航空發(fā)動機培訓(xùn)和課程教學(xué)提供實驗平臺。
根據(jù)軟件Unity3D和Maya的特點,利用VS2010等開發(fā)工具進行了空客A320航空發(fā)動機虛擬仿真實驗教學(xué)平臺的結(jié)構(gòu)設(shè)計,主要設(shè)計思路為:
(1) 大量收集關(guān)于空客A320航空渦扇發(fā)動機V2500及空客A320輔助動力裝置(APU)系統(tǒng)模型資料和相關(guān)的工程數(shù)據(jù);
(2) 根據(jù)設(shè)計文檔,確定需要制作的模型,大量查閱A320航空發(fā)動機和APU相關(guān)資料、實地采集圖片信息、查看A320基本模型軟件,獲取A320模型的相關(guān)信息;
(3) 利用Maya制作設(shè)計文檔中需要的模型以及貼圖(輸出.FBX文件);
(4) 利用Unity3D進行導(dǎo)入模型編輯、場景元素添加、元素關(guān)系設(shè)定、燈光布置等操作;
(5) APU、ENG相關(guān)的仿真代碼整理及交互功能實現(xiàn);
(6) APU、ENG系統(tǒng)原理圖Unity3D動態(tài)完成,Unity3D與工程通信鏈接;
(7) APU、ENG指示系統(tǒng)VS2010動態(tài)完成;
(8) 空客A320航空發(fā)動機虛擬教學(xué)平臺發(fā)布,生成應(yīng)用程序.exe文件。
2.1模型的建立
空客A320航空發(fā)動機虛擬仿真實驗教學(xué)平臺用于幫助學(xué)員全面系統(tǒng)地學(xué)習(xí)V2500航空渦扇發(fā)動機及APU的工作原理,學(xué)習(xí)航空發(fā)動機的點火系統(tǒng)、燃油系統(tǒng)、滑油系統(tǒng)、引氣系統(tǒng)、指示系統(tǒng)和控制系統(tǒng),所以其三維模型的建立一定要保證精確和完善。由于渦扇發(fā)動機是結(jié)構(gòu)復(fù)雜、零件各異且擁有眾多附件的設(shè)備,因此本系統(tǒng)模型的建立使用功能強大的三維軟件Maya。
Maya是三維建模和動畫軟件。它的使用,提高了電影、電視、游戲等領(lǐng)域開發(fā)、設(shè)計、創(chuàng)作的工作流效率;改善了多邊形建模;通過新的運算法則提高了性能;支持多線程;可以充分利用多核心處理器。通過前期整理的相關(guān)素材進行建模,分析所需器件的實體組成和結(jié)構(gòu)框架,對于結(jié)構(gòu)過于復(fù)雜的器件進行分塊建模,建模完成之后再進行裝配工作,然后合成并導(dǎo)出.fbx文件,進入Unity3D進行模型的導(dǎo)入[7]、虛擬場景元素的添加、燈光布置等操作。為了有更好的仿真效果,建模完成之后要對模型進行貼圖和渲染,同時要配合使用Photoshop對個別材質(zhì)貼圖進行特別處理,使視覺效果達到最佳。
2.2模型導(dǎo)入Unity3D
Unity3D 是一款跨平臺的專業(yè)游戲引擎,用它創(chuàng)建的游戲可以在瀏覽器、移動設(shè)備乃至游戲機等幾乎所有常見的平臺上運行,其簡潔、易用的用戶界面和強大的功能,以及對iPhone和iPad平臺的支持[8],使其成為業(yè)界主流游戲引擎。Unity3D對DirectX和OpenGL的圖形渲染管道進行了高度優(yōu)化[9],使低端硬件也可以流暢地運行漫游展示、虛擬仿真、交互式動畫等,并能夠創(chuàng)造出高質(zhì)量3D仿真系統(tǒng)和真實視覺效果。
Maya建好的模型可以直接導(dǎo)出.fbx格式的文件,將文件放到Unity3D工程文件夾下的Assets文件夾中,Unity3D 將自動導(dǎo)入對應(yīng)的三維模型及相應(yīng)的貼圖,再次打開Unity3D 時就可以在Project視圖中看到模型文件。為了進行可視化虛擬仿真展示,必須在場景中添加主攝像機、燈光和地形等其他虛擬環(huán)境的必備元素,并進行相關(guān)屬性和主從關(guān)系的設(shè)置,從而能夠使模型達到最佳顯示效果。使用鼠標右鍵和W、A、S、D、Q、E等鍵可以完成三維漫游[10-11]觀測,其中部分模型導(dǎo)入Unity3D如圖1所示。
圖1 模型導(dǎo)入Unity3D
3.1仿真代碼整理和相關(guān)代碼編寫
仿真交互功能[12]的實現(xiàn)需進行仿真代碼整理、程序代碼的編寫并完成工程通信鏈接。部分仿真代碼整理見表1。
表1 仿真代碼整理
按鈕的打開、關(guān)閉功能代碼和工程通信鏈接的部分代碼編寫如下:
//部分代碼—引氣按鈕的打開和關(guān)閉功能
Private void cmd_apubleed_MouseLeftButtonDown
(object sender, MouseButtonEventArgse)
{
if (modeapubleed == mode.UP)
{
modeapubleed = mode.DOWN;
apubleeddown.Visibility = System.Windows.Visibility.Visible;
apubleedup.Visibility = System.Windows.Visibility.Hidden;
//apubleedofflt.Visibility = System.Windows.Visibility.Visible;
WD.apu_bleed_sw0 = 1;
if (WC.apu_bleed > 30)
{
WD.eng1_air0 = WC.apu_bleed;
WD.eng2_air0 = WC.apu_bleed;
}
myout.createdata();
myout.sendtosim();
}
else if (modeapubleed == mode.DOWN)
{
modeapubleed = mode.UP;
apubleeddown.Visibility = System.Windows.Visibility.Hidden;
apubleedup.Visibility = System.Windows.Visibility.Visible;
//apubleedofflt.Visibility = System.Windows.Visibility.Hidden;
WD.apu_bleed_sw0 = 0;
myout.createdata();
myout.sendtosim(); }}
//部分代碼—工程通訊鏈接
publicstruct tosim
{
public int ext_elec0;
public float eng1_air0;
public float eng2_air0;
public int apu_fuel_avail0;
public int eng1_fuel_avail0;
public int eng2_fuel_avail0;
public int apu_fire0;
public int eng1_fire0;
public int eng2_fire0;
//for unity
//apu
public int apu_divider_valve0;
public int apu_3way_shutoff_valve0;
public int apu_lp_valve0;
public int apu_deoil_valve0;
public int apu_surge_valve0;
public int apu_load_valve0;
public int apu_air_flap0;
public int apu_oil_supply_filter0;
public int apu_oil_cooled_filter0;
}
publicclass udp_send
{
public int outport = 12001;
public string simip;
public tosim out_sim;
public static UdpClient myUdpClient;
public static IPAddress remoteIP;
public static IPEndPoint iep;
public void initudp()
{
simip = ″127.0.0.1″;
myUdpClient = new UdpClient();
if (IPAddress.TryParse(simip, out remoteIP) == false)
{
MessageBox.Show(″遠程IP格式不正確″);
return;
}
iep = new IPEndPoint(remoteIP, outport);
}
3.2系統(tǒng)原理圖和交互功能實現(xiàn)
通過APU、ENG系統(tǒng)原理圖仿真代碼的整理、編寫,實現(xiàn)交互功能,即完成系統(tǒng)原理圖Unity3D動態(tài)成型。在Unity3D 中,基本的環(huán)境、燈光、攝影機、組件添加好后,需要通過腳本來完成人機交互。腳本是用來實現(xiàn)相應(yīng)行為的程序代碼,運行程序時該物體就按照腳本所編輯的規(guī)律運動。Unity3D目前支持3種腳本語言:JavaScript、C#和Boo[13],其中C#功能最強大,因此采用C#腳本語言進行系統(tǒng)原理圖的開發(fā)和設(shè)計。APU燃油系統(tǒng)原理圖如圖2所示。
通過仿真代碼的整理和相關(guān)程序代碼的編寫,能夠?qū)崿F(xiàn)的實驗教學(xué)功能主要有:
(1) 對V2500航空渦扇發(fā)動機及APU有整體認識,深入了解V2500航空發(fā)動機的結(jié)構(gòu)、點火過程、各種模擬的工作狀態(tài)和工作原理;
(2) 察看APU、ENG各系統(tǒng)的動態(tài)原理圖,全面系統(tǒng)地學(xué)習(xí)航空發(fā)動機的點火系統(tǒng)、燃油系統(tǒng)、滑油系統(tǒng)、引氣系統(tǒng)、指示系統(tǒng)和控制系統(tǒng);
(3) 進行相關(guān)的測試操作,即通過改變控制變量,察看系統(tǒng)原理圖中可運動部件的變化情況。
圖2 APU燃油系統(tǒng)原理圖
3.3指示系統(tǒng)交互功能的實現(xiàn)
通過APU、ENG指示系統(tǒng)仿真代碼的整理、編寫,實現(xiàn)交互功能,即實現(xiàn)指示系統(tǒng)visual動態(tài)完成。在VS2010中創(chuàng)建WPF應(yīng)用程序[14],它是微軟推出的基于Windows Vista的用戶界面框架,屬于.NET Framework 3.0的一部分。它提供了統(tǒng)一的編程模型、語言和框架,真正分離了界面設(shè)計人員與開發(fā)人員的工作,同時也提供了全新的多媒體交互用戶圖形界面。導(dǎo)入前期整理的指示系統(tǒng)的相關(guān)素材圖片(如飛機電子集中監(jiān)控(ECAM)上的高壓轉(zhuǎn)子轉(zhuǎn)速、低壓轉(zhuǎn)子轉(zhuǎn)速、排氣尾溫EGT等)之后,編寫相關(guān)程序代碼,實現(xiàn)指示系統(tǒng)的動態(tài)完成。
通過仿真代碼的整理和相關(guān)程序代碼的編寫能夠?qū)崿F(xiàn)的部分功能有:
(1) 通過改變控制量,使得低壓轉(zhuǎn)子轉(zhuǎn)速、高壓轉(zhuǎn)子轉(zhuǎn)速、排氣尾溫等參數(shù)發(fā)生變化;
(2) 顯示機載燃油量FOB、總重GW;
(3) 實時顯示壓力表參數(shù)、靜壓空氣溫度SAT、總溫TAT等。
4.1虛擬實驗教學(xué)平臺操作面板設(shè)計
為方便學(xué)員的操作,對操作控制面板進行了設(shè)計,根據(jù)整體功能的實現(xiàn),分別設(shè)計Unity3D系統(tǒng)原理圖操作面板和WPF指示系統(tǒng)操作面板,其中指示系統(tǒng)實驗教學(xué)平臺操作面板如圖3所示。
圖3 指示系統(tǒng)實驗教學(xué)平臺操作面板
4.2虛擬實驗教學(xué)平臺發(fā)布
Unity3D的一個很重要的特點是跨平臺開發(fā)[15],它實現(xiàn)了一次開發(fā)、一鍵式發(fā)布、發(fā)布到多種平臺的功能。目前,Unity3D支持發(fā)布到Android、Windows、Linux、Mac、IOS、Web 和Flash等平臺。PC平臺下的Unity3D程序和WPF程序[16]均可以發(fā)布.exe程序,雙擊.exe文件,便可運行虛擬仿真程序,既方便,又快捷。
V2500航空渦扇發(fā)動機虛擬實驗教學(xué)平臺發(fā)布為單機版.exe程序,其中date.exe用于數(shù)據(jù)傳輸,eng.exe用于指示系統(tǒng),system.exe用于系統(tǒng)原理圖,均可以在PC機上直接操作。
4.3虛擬仿真實驗教學(xué)平臺的應(yīng)用
運行虛擬實驗教學(xué)應(yīng)用程序,即可進入虛擬實驗操作。在指示系統(tǒng)操作界面,可以進行航空發(fā)動機模擬試車點火實驗、控制量的變化對發(fā)動機性能參數(shù)影響的實驗,既可以進行控制計算和狀態(tài)監(jiān)控,也可以進行按鈕的功能測試。在系統(tǒng)原理圖界面,可以學(xué)習(xí)航空發(fā)動機的基本結(jié)構(gòu)、工作原理,察看ENG、APU等系統(tǒng)的動態(tài)原理圖,學(xué)習(xí)其工作原理和工作過程,并能夠通過改變控制量,觀察原理圖中可運動部件的變化,監(jiān)測各系統(tǒng)性能的變化等。其中指示系統(tǒng)操作界面如圖4所示,APU/ENG系統(tǒng)原理圖操作界面如圖5所示。
圖4 指示系統(tǒng)操作界面
圖5 系統(tǒng)原理圖操作界面
4.4虛擬實驗教學(xué)平臺的應(yīng)用
與傳統(tǒng)的書面培訓(xùn)和實驗教學(xué)方式相比,航空發(fā)動機虛擬仿真實驗教學(xué)平臺的主要優(yōu)勢是:
(1) 幫助學(xué)員在短時間內(nèi)對V2500航空渦扇發(fā)動機及APU有整體的認識,掌握航空渦扇發(fā)動機V2500的工作原理、特性和主要性能指標;
(2) 可以準確、快速地獲取航空發(fā)動機相關(guān)的技術(shù)信息,大大減少了閱讀文字資料的時間;
(3) 實驗教學(xué)平臺操作方便、快捷、直觀,運行流暢,能夠?qū)娇瞻l(fā)動機的點火系統(tǒng)、燃油系統(tǒng)、滑油系統(tǒng)、引氣系統(tǒng)、指示系統(tǒng)、控制系統(tǒng)進行全面系統(tǒng)的學(xué)習(xí),并且能夠?qū)Ω飨到y(tǒng)的原理進行直觀展示;
(4) 虛擬現(xiàn)實技術(shù)增強了顯示和交互效果,對于內(nèi)部結(jié)構(gòu)復(fù)雜的設(shè)備,通過虛擬現(xiàn)實技術(shù)可以很直觀地了解其工作原理、工作過程和關(guān)鍵部件的作用。
航空發(fā)動機虛擬仿真實驗教學(xué)平臺比傳統(tǒng)的培訓(xùn)和實驗教學(xué)方式有很大的優(yōu)越性,它打破了傳統(tǒng)的實驗教學(xué)和培訓(xùn)方式的局限性。該實驗教學(xué)平臺能夠為培訓(xùn)航空勤務(wù)人員、培養(yǎng)航空專業(yè)人才提供條件,為民航相關(guān)專業(yè)的實驗教學(xué)提供便利,為學(xué)員畢業(yè)后從事民航機務(wù)維修工作打下堅實的理論基礎(chǔ)和實踐基礎(chǔ)。
References)
[1] 李書明,林兆福.民用航空燃氣渦輪發(fā)動機構(gòu)造與系統(tǒng)[M].北京:兵器工業(yè)出版社,2005.
[2] 郭慶,王翔宇,王元爭.基于U3D的航空發(fā)動機渦輪裝配模擬器開發(fā)[J].實驗技術(shù)與管理,2012,29(4):111-112.
[3] 劉長福,鄧明.航空發(fā)動機結(jié)構(gòu)分析[M].西安:西北工業(yè)大學(xué)出版社,2006.
[4] 廉筱純,吳虎.航空發(fā)動機原理[M].西安:西北工業(yè)大學(xué)出版社,2005.
[5] 張源濤.基于虛擬現(xiàn)實技術(shù)的越野群車加油車加油系統(tǒng)維修性分析與預(yù)計研究[D].重慶:后勤工程學(xué)院,2010.
[6] 郭慶,彭鴻博,閆國華.航空發(fā)動機虛擬展示課件設(shè)計與應(yīng)用[J].實驗技術(shù)與管理,2011,28(3):91-93.
[7] 邱建松.基于Unity3D的實時虛擬仿真系統(tǒng)的研究與實現(xiàn)[J].電子制作,2012(12):11-12.
[8] 倪樂波,戚鵬,遇麗娜.Unity3d產(chǎn)品虛擬展示技術(shù)的研究與應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2010,9(2):54-55.
[9] Michelle Menard. Unity游戲開發(fā)實戰(zhàn)[M].史曉明,李強,譯.北京:機械工業(yè)出版社,2012.
[10] 周爍,陳靜榮,李琳,等.大型商用航空發(fā)動機科研裝配線三維虛擬設(shè)計[J].機械設(shè)計與制造工程,2015,44(5):24-25.
[11] 徐良軍,章建,蔣毅,等.基于虛擬現(xiàn)實技術(shù)的電力安監(jiān)仿真培訓(xùn)系統(tǒng)[J].計算機系統(tǒng)應(yīng)用,2010,19(11):162-163.
[12] 朱興動.武器裝備交互式電子技術(shù)手冊:IETM[M].北京:國防工業(yè)出版社,2009.
[13] 高建宏,劉新鋒,王志梁.基于Unity 3D的電力需求側(cè)項目虛擬展示平臺研究[J].山東電力技術(shù),2013(3):47-48.
[14] 李成剛,馮靜,凌玲.基于WPF的交互式繪圖系統(tǒng)開發(fā)[J].微型機與應(yīng)用,2011,30(6):50-51.
[15] 郭芮,蔣明,鄭劼恒,等.基于Unity3D的加油車虛擬訓(xùn)練系統(tǒng)設(shè)計[J].機械設(shè)計,2014,31(3):84-86.
[16] 冉躍龍,閆英敏.基于WPF的三維電路級虛擬維修訓(xùn)練系統(tǒng)平臺[J].電子器件,2014,37(4):718-720.
Development of aero-engine virtual teaching platform based on Airbus A320
Wang Kun1, Hu Xianyue1, Ge Yajing2
(1. College of Aeronautical Automation, Civil Aviation University of China, Tianjin 300300, China;2. Shanghai Eastern Flight Training Co.,Ltd, Shanghai 200131,China)
The design and development of virtual learning platform for aero-engine of Airbus A320 intend to change the traditional way of teaching experiments and training, to improve the internship conditions and update internship content, to promote students’ overall understanding for V2500 aero-engine and APU, meanwhile students can study the aero-engine’s ignition system, fuel system and oil system comprehensively and systematically, and have an intuitive understanding of the principle of each system. This paper systematically introduces the design principle and composition of virtual learning platform for aero-engine, elaborates on the key technologies and gives the implementation of virtual teaching platform. The platform mainly uses the image processing software Photoshop, 3D software Maya, Unity3D and VS2010 comprehensive development tools, and three-dimensional model of aero-engine, adopts .fbx format and realizes the .fbx model pattern controlled by a scripting language C#.
aero-engine; 3D software; Unity3D; virtual simulation platform
10.16791/j.cnki.sjg.2016.03.028
2015- 08- 12
民航局科技創(chuàng)新引導(dǎo)資金項目(20150227)
王坤(1978—),女,天津,博士,副教授,主要研究方向為模式識別、智能系統(tǒng)、故障檢測與分析
E-mail:kunwang@cauc.edu.cn
胡賢躍(1991—),男,安徽滁州,碩士研究生,主要從事智能系統(tǒng)與故障檢測研究.
E-mail:cauc_xyhu@163.com
TP391.9
A
1002-4956(2016)3- 0112- 05