(中國民用航空飛行學(xué)院 廣漢 618307)
近年來,計算機軟硬件的巨大進步推動了三維虛擬可視化仿真技術(shù)的發(fā)展,三維可視化虛擬仿真技術(shù)屬于圖形圖像仿真技術(shù)的一種,比以往傳統(tǒng)仿真技術(shù)有著更真實的視覺聽覺效果,更好的交互體驗[1],正越來越多地被應(yīng)用在軍事、建筑、教育培訓(xùn)等行業(yè),在跑道侵入三維仿真方面的研究較少,本文對此展開研究。在虛擬仿真領(lǐng)域,韋有雙等討論了系統(tǒng)仿真基本概念[2],孫永濤借助GL Studio和VC++開發(fā)了飛行模擬器虛擬儀表系統(tǒng)[3],史揚使用3DMAX等建模工具實現(xiàn)了真實戰(zhàn)場的實時仿真[4],吳興華等利用Vega Prime和OpenGL動態(tài)紋理技術(shù)搭建了飛機顯控系統(tǒng)[5]。Unreal Engine因為其強大的物理虛擬引擎、出色的渲染效果和簡單的程序編寫方式,逐漸成為虛擬現(xiàn)實應(yīng)用開發(fā)工具的第一選擇[6~11]。本文通過三維虛擬軟件 3Dmax建模,然后將完成的三維模型導(dǎo)入虛擬引擎Unreal Engine中進行,最終形成虛擬現(xiàn)實環(huán)境,實現(xiàn)典型跑道侵入情況的三維虛擬展示。跑道侵入仿真是基于計算機平臺對場面運行環(huán)境及目標(biāo)活動過程進行三維虛擬呈現(xiàn)的過程,可直觀分析跑道入侵運行過程及評價管制指揮策略有效性。
三維仿真是指利用計算機技術(shù)生成的一個逼真的,具有多種感知功能的虛擬環(huán)境[12],隨著人們對三維仿真的真實感和精確度的更高要求,實現(xiàn)三維仿真的工作量急劇增加,尤其是從2D仿真轉(zhuǎn)移到3D仿真時,仿真軟件提供的物理模擬,碰撞,光照渲染等系統(tǒng)一方面使得仿真的場景更具真實感,更貼合現(xiàn)實世界的實際情況,另一方面也使得仿真模型的建立過程更加復(fù)雜,仿真結(jié)果呈現(xiàn)時間變長。
目前三維虛擬仿真可視化的軟件主要有Unity和 Unreral Engine4(以下簡稱 UE4)兩款工具[13~15],二者對比如表1所示。Unity引擎主要針對軟件自身的開發(fā),其他插件效果等大部分依賴第三方插件,且不公開程序源代碼,開發(fā)中遇到的程序上的兼容問題,需要等待Untiy公司來解決。而UE4公開了所有源代碼,開發(fā)過程中的問題可以自行解決。且UE4用藍圖隔離了業(yè)務(wù)邏輯和底層功能,使模型設(shè)計人員與C++程序開發(fā)人員互不干擾,保持了開發(fā)架構(gòu)的穩(wěn)定性。
表1 Unreal和Unity屬性對比
UE4強大的物理虛擬引擎能實現(xiàn)對現(xiàn)實世界中物理現(xiàn)象的真實還原,豐富的API接口和相關(guān)工具包降低了仿真開發(fā)的難度,場景設(shè)計人員不用了解底層代碼,僅使用藍圖腳本語言,就能制作出仿真場景代碼和界面,提高了系統(tǒng)的規(guī)范性,使開發(fā)更加高效。本仿真使用Dirext11渲染組件對機場、跑道、航空器場景進行渲染,為仿真場景使用人員提供了逼真的視覺效果。使用PhysX3.3物理引擎[16]來對航空器速度、加速度等進行建模來模擬航空器的物理運動。
航空器跑道侵入場景實現(xiàn)過程中最重要的就是碰撞檢測設(shè)計,碰撞檢測主要是針對航空器與航空器,航空器與車輛之間的碰撞,當(dāng)碰撞發(fā)生時目標(biāo)會改變運動軌跡。UE4提供了針對不同類型的碰撞檢測系統(tǒng),該系統(tǒng)主要由碰撞檢測、碰撞響應(yīng)和蹤跡響應(yīng)構(gòu)成。如果發(fā)生碰撞事件,UE4碰撞檢測系統(tǒng)就會調(diào)用碰撞響應(yīng),返回碰撞位置、類型和傳入深度,對返回數(shù)據(jù)進行計算,根據(jù)計算結(jié)果修改航空器的運動狀態(tài)。UE4中主要有三種碰撞類型,無碰撞、無物理碰撞、啟用碰撞。在UE4中,每個實體有一個Collision屬性,只有設(shè)定了Collision屬性的實體才會發(fā)生碰撞情況,不同實體的碰撞主要由碰撞通道來區(qū)分,常見的碰撞通道主要有World Dynamic,World static,Character等,World Dynamic通道類型常用于靜止的物體上,比如跑道,塔臺等,World static通道類型常用在運動的實體上,如航空器、車輛等。實體之間碰撞的發(fā)生是相互的,當(dāng)設(shè)置了碰撞屬性的實體之間發(fā)生碰撞時,會改變航空器運動狀態(tài),并返回碰撞結(jié)果。
跑道侵入事件一般發(fā)生在航空器起飛前,降落后的滑行階段,場景仿真需要對航空器滑行階段的運動學(xué)模型進行研究,合理的運動模型的選取能更好地實現(xiàn)對航空器的運動學(xué)仿真,更逼真地在虛擬環(huán)境中還原航空器的真實運動狀態(tài),并且在C++中更容易實現(xiàn)編程,能降低三維仿真建模的難度,減少在仿真運行過程中的資源消耗??紤]航空器實際運行和三維仿真需求,航空器運動模型引入以下假設(shè):1)航空器,車輛視為剛體且質(zhì)量為常數(shù)。2)航空器,車輛嚴格按照跑道,滑行道中線運行。3)航空器,車輛的坐標(biāo)系嚴格固定為質(zhì)心為原點。4)航空器,車輛轉(zhuǎn)彎時速率恒定。
得到航空器滑行運動學(xué)模型[6],如圖1所示。
圖1 航空器地面滑行運動模型
如圖1所示,飛機作為一個運動剛體,其運動可以由u(t),s(t),l(t)3個向量確定,其關(guān)系為
設(shè)t時刻飛機前輪轉(zhuǎn)彎角為δ(t),顯然有:
可得到U的相對坐標(biāo):
根據(jù)S和U可得到向量S(t),U(t)確定飛機在t時刻的位置和姿態(tài)。
利用層次化的系統(tǒng)架構(gòu)方案,并在仿真系統(tǒng)功能實現(xiàn)上基于模塊化理念來實現(xiàn),具體思路為表示層只負責(zé)外部的表現(xiàn)形式,不進行數(shù)據(jù)的交互。使用人員在這一層獲取提示信息及控制航空器與車輛之間的交互操作。中間層負責(zé)仿真系統(tǒng)的邏輯部分,進行邏輯處理,規(guī)定了跑道侵入的的規(guī)則和情況。數(shù)據(jù)層將前面建立的不同運動實體的數(shù)學(xué)模型,封裝成一個類,為后續(xù)的開發(fā)。
圖2 系統(tǒng)實現(xiàn)流程圖
機場場面三維仿真場景涉及物體類型眾多,主要包括跑道、滑行道、停機坪、候機樓等。虛擬仿真需要將機場場面的眾多不同功能,不同形狀的建筑物呈現(xiàn)在虛擬世界當(dāng)中,精準(zhǔn)的三維模型能產(chǎn)生良好的視覺效果和沉浸感。在三維模型實現(xiàn)過程中主要以3DMAX作為制作模型的軟件工具,將整個場面實際模型分為2D和3D模型兩類。2D模型主要是指跑道、路面等,3D模型又細分為兩類,一類是靜止的建筑物模型,一類是運動的航空器、車輛模型。
本文硬件實驗環(huán)境為CPU為Intel Core i5 8400,內(nèi)存為64G,顯卡為NVIDIA GeForce 2080Ti顯存為11 G。在該實驗平臺上,采用VS2019(C++)和Unreal Engine開發(fā)了航空器機場場面跑道侵入仿真系統(tǒng)。通過航空器及車輛不同階段的運動數(shù)學(xué)模型,建立航空器及車輛運動的仿真模型。
圖3 機場三維場景
圖4 機場跑道三維場景
圖5 航空器起飛時其它航空器穿越滑行道
圖6 航空器降落時其它航空器穿越滑行道
圖7 兩架空器使用了同一跑道
圖8 機場車輛駛?cè)牒娇掌髋艿?/p>
基于Unreal引擎,針對航空器機場跑道侵入場景進行仿真研究,開展了航空器運動數(shù)學(xué)模型研究,虛擬場景建模研究,建立了真實感較強的跑道侵入場景。借助Unreal引擎先進的物理系統(tǒng)、地形模塊,渲染效果、視角跟隨建模技術(shù),提高了系統(tǒng)開發(fā)效率及真實性,較以往的虛擬仿真軟件,此方法效率更高仿真建模速度更快,渲染效果更強,場景真實度還原更高。對場景還原、崗位培訓(xùn)、事故分析等豐富的應(yīng)用場景進行支持,但本文只是展示了單跑道機場場面跑道侵入仿真,實際機場跑道還有交叉,平行等情況,需要進一步研究不同跑道構(gòu)型下的侵入仿真,避免災(zāi)難事故的發(fā)生。