黃大洋,施浩,范正揚(yáng),顧程駿
(上海工程技術(shù)大學(xué)航空運(yùn)輸學(xué)院,上海 201620)
飛機(jī)起落架是用來支撐機(jī)身,幫助飛機(jī)起飛和著陸的部件,它需要承受巨大的沖擊力從而為機(jī)體起到緩沖減震的作用,保障乘客的安全,以及在飛機(jī)起飛、著陸、滑跑的過程為其提供支撐負(fù)荷的裝置。飛機(jī)起落架的拆裝維修是每個(gè)航空維修人員的必修課程。傳統(tǒng)課程培訓(xùn)受限于場(chǎng)地、環(huán)境等影響因素,使得課程培訓(xùn)中教學(xué)效率不高。同時(shí)初次接觸相關(guān)課程的受訓(xùn)者在進(jìn)行實(shí)際操作過程中由于技術(shù)能力和安全防護(hù)的疏忽可能導(dǎo)致安全事故發(fā)生。
因此研究本系統(tǒng)的目的是降低航空維修環(huán)境的復(fù)雜性以提高安全度,同時(shí)對(duì)航空維修公司及相關(guān)院校而言能夠減少維修器材損耗以降低成本。受訓(xùn)者只需佩戴VR 設(shè)備即可進(jìn)入一個(gè)近乎真實(shí)的虛擬世界,通過場(chǎng)景中的物件交互展開學(xué)習(xí)。使用VR 設(shè)備能直觀地讓受訓(xùn)者動(dòng)手操作而不是單純學(xué)習(xí)書本上的理論知識(shí),無論是從專業(yè)性而言,還是從較強(qiáng)的交互性而言,本系統(tǒng)都能滿足航空維修公司及院校對(duì)于飛機(jī)起落架維修的教學(xué)需求,在降低成本的同時(shí)又能提高教學(xué)質(zhì)量[1]。
針對(duì)于A320 起落架零部件復(fù)雜多樣且精度高的特點(diǎn),在對(duì)A320 起落架進(jìn)行三維建模的過程中,如何精準(zhǔn)高效地完成模型構(gòu)建顯得尤為重要。同時(shí)要求所構(gòu)建的三維模型必須具有高精度和高穩(wěn)定性。本項(xiàng)目從以上因素出發(fā),選擇建立基于3Ds Max 的三維模型[2]。
三維建模所需要的數(shù)據(jù)類型分為圖像數(shù)據(jù)和非圖像數(shù)據(jù)兩大類,這兩類數(shù)據(jù)對(duì)于模型的精度都是至關(guān)重要的。其中圖像數(shù)據(jù)包括A320 飛機(jī)及其起落架的整體外形、三視圖、紋理等;非圖像數(shù)據(jù)包含了A320飛機(jī)及其起落架的各種尺寸、用途等。A320 三視圖如圖1 所示。
圖1 A320 三視圖
項(xiàng)目團(tuán)隊(duì)聯(lián)系到上海航空公司及其相關(guān)工作人員,得到了他們的支持并且獲得了空客A320 飛機(jī)相關(guān)參數(shù)以及飛機(jī)起落架部件的較高精度測(cè)量值數(shù)據(jù),團(tuán)隊(duì)通過計(jì)算機(jī)將得到的數(shù)據(jù)匯總、編輯、分析、校準(zhǔn),用以A320 飛機(jī)主體和飛機(jī)起落架建模。
由CAD 平面圖轉(zhuǎn)化成三維模型通常情況下需要對(duì)原有平面圖進(jìn)行數(shù)據(jù)優(yōu)化。其中出現(xiàn)原有的CAD 平面圖由于尺寸標(biāo)注無法實(shí)現(xiàn)模型整合致使圖形無法完美地轉(zhuǎn)化成三維模型的問題,對(duì)此進(jìn)行原有平面圖優(yōu)化設(shè)計(jì),結(jié)構(gòu)框架大致定型后與實(shí)際尺寸數(shù)據(jù)的比照校準(zhǔn),為后期構(gòu)建精準(zhǔn)的三維模型提供堅(jiān)實(shí)的保障。起落架主要的支架組件如圖2 所示,次級(jí)整流罩連桿如圖3 所示。
圖2 主要的支架組件
圖3 次級(jí)整流罩連桿
將優(yōu)化后的設(shè)計(jì)圖導(dǎo)入至3Ds Max 軟件中,并且再次檢查確認(rèn)平面圖中的線條是否存在模型整合問題,若存此問題,則通過使用連接工具將其連接閉合,使設(shè)計(jì)圖更加完美,在最后交互顯示出精確的模型。
在平面設(shè)計(jì)圖的基礎(chǔ)上,通過拉伸、擠出等多種方式構(gòu)建A320 飛機(jī)及其起落架零部件的三維模型。其中需要注意的是,建模過程中盡量使用簡(jiǎn)單指令以減小數(shù)據(jù)量,避免后期運(yùn)行時(shí)造成嚴(yán)重卡頓的現(xiàn)象;建模完成后將模型塌陷為網(wǎng)格物體以避免將模型導(dǎo)入U(xiǎn)nity 3D 后出現(xiàn)不兼容的狀況[2]。
圖4—圖6 為A320 機(jī)體及起落架部分零件展示。
圖4 A320 機(jī)體
圖5 A320 起落架反作用連桿
圖6 A320 起落架扭力臂
高精度的建模能夠展示出空客A320 飛機(jī)的各種細(xì)節(jié),但是缺乏美觀性。不同的表面屬性如凹凸感、漫反射、折射能夠給予受訓(xùn)者更真實(shí)的體驗(yàn),因此需要進(jìn)行貼圖處理。在系統(tǒng)中模型貼圖是通過運(yùn)用Photoshop 制作貼圖素材并對(duì)飛機(jī)進(jìn)行了貼圖處理,以達(dá)到美化外觀,使場(chǎng)景更真實(shí),使操作者通過VR 設(shè)備進(jìn)行虛擬維修操作時(shí)更能有身臨其境之感,盡最大可能還原了飛機(jī)樣貌。A320 輪子貼圖素材如圖7 所示。
圖7 A320 輪子貼圖素材
本系統(tǒng)以Unity 3D 為開發(fā)平臺(tái),利用steamVR 呈現(xiàn)出幾乎貼近現(xiàn)實(shí)的虛擬世界,同時(shí)使用VR設(shè)備HTC VIVE 作為載體以及最終操作終端以實(shí)現(xiàn)人機(jī)交互功能。維修過程中的人機(jī)交互一共具有2 種交互形式:一是通過虛擬對(duì)象與虛擬維修零件的觸摸式交互,其為直接交互;另一種是虛擬對(duì)象通過虛擬維修工具再與維修零件的結(jié)合式交互,其為間接交互[3]。因此可將虛擬維修對(duì)象的組件按照約束運(yùn)動(dòng)和交互特征來定義。約束運(yùn)動(dòng)是根據(jù)操作者的操作意圖來對(duì)零部件的約束運(yùn)動(dòng)仿真,其包括平動(dòng)、轉(zhuǎn)動(dòng)和非受限運(yùn)動(dòng)。交互特征是根據(jù)交互對(duì)象是維修工具還是維修對(duì)象以及是對(duì)維修部件進(jìn)行平動(dòng)還是轉(zhuǎn)動(dòng)來劃分的。本文根據(jù)不同的實(shí)現(xiàn)形式分別進(jìn)行了相應(yīng)的編程[4]。
為實(shí)現(xiàn)模型運(yùn)動(dòng)時(shí)的真實(shí)性以及反映正常的運(yùn)動(dòng)軌跡,同時(shí)實(shí)現(xiàn)對(duì)于起落架的操控,本系統(tǒng)中運(yùn)用代碼編譯的方法來實(shí)現(xiàn),以下列舉部分代碼:
Using Unity Engine;
Public class c:MonoBehaviour{
Int step=0;
Int i=0;
Int j=0;
//Use this for initialization
Void Start(){}
//Update is called once per frame
Void Update(){
switch(step)
{case0;
{if(i<90)
{transform.Translate(new Vector3
(-0.015f,0,0,015f));
i++;}
else
{step=1;}
break;}
case 1;
{if(j<90)
{transform.Rotate(new Vector3
(0,0,1),1);j++}
else
{step=2}
break;}
case2;
{break;)}
}}[1]
本系統(tǒng)重要功能是實(shí)現(xiàn)對(duì)于受訓(xùn)者的維修拆裝的教學(xué),因此配備的拆裝教學(xué)功能需要提高受訓(xùn)者的沉浸感并為其帶去流暢合理的虛擬體驗(yàn)。以拆卸教學(xué)為例:當(dāng)完成當(dāng)前拆卸步驟時(shí),手柄所在位置會(huì)自動(dòng)指向顯示出下一個(gè)所需拆卸零件的位置。受訓(xùn)者可以自由操控手柄,將零件從提示位置選中并做出相應(yīng)拆卸動(dòng)作以完成拆卸。
移動(dòng)過程實(shí)現(xiàn)的代碼具體如下:
if
(device.GetPress(SteamVR Contro
1ler.ButtonMask.Trigger))
{
dx2=device.transform.pos.x;
dy2=device.transform.pos.y;
dz2=device.transform.pos.z;
T.transform.position=new
Vcctor3(T.transform.position.x+(
dx2-dx1)*speed,T.transform.posit
ion+(dy2-dy1)*speed,T.transform.
position.z+(dz2-dz1)*speed);
dxl=dx2;dy1=dy2;dz1=dz2;
}[5]
操作中的互動(dòng)性體驗(yàn)同時(shí)也是一個(gè)重要的編程內(nèi)容,為增強(qiáng)受訓(xùn)者的體驗(yàn)感,系統(tǒng)實(shí)現(xiàn)了多方面的操縱交互。假若受訓(xùn)者希望能夠全方位觀察飛機(jī)零部件,則可以自主對(duì)零件模型進(jìn)行旋轉(zhuǎn)、平移等操作。這一功能的實(shí)現(xiàn)大大增加了虛擬操作的真實(shí)性,便于受訓(xùn)者全方面觀察學(xué)習(xí)和認(rèn)識(shí)飛機(jī)零件與零件之間的結(jié)合方式。部分代碼如下:
if(Target!=null&&Input.GetMouseButton((int)MouseButt on.MouseButton_Right))
{
transform.rotation=Quaternion.Lerp(transform.rotation,m Rotation,Time.deltaTime*Damping);
}
if(Input.GetMouseButton((int)MouseButton.MouseButto n_Left)
{
transform.Translate(Input.GetAxis(“MouseX”),Input.Get Axis(“Mouse Y”),0);
}[6]
在傳統(tǒng)航空維修培訓(xùn)中,往往會(huì)受到場(chǎng)地、設(shè)備、成本因素影響,甚至?xí)驗(yàn)橐咔橛绊憻o法開展線下培訓(xùn),這會(huì)嚴(yán)重阻礙培訓(xùn)進(jìn)程。本項(xiàng)目的創(chuàng)新點(diǎn)在于充分運(yùn)用虛擬現(xiàn)實(shí)技術(shù),受訓(xùn)者利用VR 設(shè)備隨時(shí)隨地即可開展模擬訓(xùn)練,避免了時(shí)間、空間因素帶來的干擾。就航空維修公司及相關(guān)院校而言,虛擬維修在減少了場(chǎng)地及設(shè)備成本的同時(shí)降低了耗材費(fèi)用,真正做到了在降低成本的過程中又能夠提高教學(xué)質(zhì)量。通過VR技術(shù),虛擬培訓(xùn)不僅可以促進(jìn)受訓(xùn)者對(duì)產(chǎn)品知識(shí)的獲取、學(xué)習(xí),提高相關(guān)從業(yè)者的實(shí)際動(dòng)手操作能力。更為突出的是,虛擬培訓(xùn)打破了先前煩瑣枯燥的教育培訓(xùn)模式,降低了企業(yè)和高校的教育培訓(xùn)成本,從而走出一條低成本、高效率的培訓(xùn)路徑。