張嵩逸 施浩 朱正
摘要:本文提出了在unity3D平臺(tái)上對(duì)初教六起落架收放和拆卸重組裝的運(yùn)動(dòng)設(shè)計(jì)模擬。首先對(duì)起落架各零件進(jìn)行精細(xì)測(cè)繪,再運(yùn)用力學(xué)分析和誤差校準(zhǔn)組合,建立3D模型,最后將模型導(dǎo)入unity3D進(jìn)行運(yùn)動(dòng)模擬。使得可以在VR環(huán)境中自行控制演示起落架的收放運(yùn)動(dòng),以及操縱工具對(duì)虛擬起落架設(shè)備進(jìn)行拆卸以及重組裝。這讓初學(xué)起落架原理的維修人員能夠更好地了解其運(yùn)動(dòng)構(gòu)造,練習(xí)維修時(shí)必要的拆裝過程,為現(xiàn)實(shí)維修做鋪墊。
關(guān)鍵詞:unity3D;起落架;運(yùn)動(dòng)模擬
中圖分類號(hào):TP399 文獻(xiàn)標(biāo)識(shí)碼:A
1概述
VR技術(shù),也稱人工環(huán)境,是指利用電腦或其他智能計(jì)算設(shè)備模擬產(chǎn)生一個(gè)三維空間的虛擬世界,提供用戶關(guān)于視覺、聽覺、觸覺等感官的模擬,讓用戶如同完全浸入,產(chǎn)生身臨其境的感覺。當(dāng)今全世界都有運(yùn)用這項(xiàng)技術(shù)投入到專業(yè)研究或教育目的中去,比如,礦山設(shè)備維修仿真VR系統(tǒng),它能動(dòng)態(tài)地預(yù)演維修保障過程,用來(lái)解決維修保障是否合理的問題嘲。虛擬現(xiàn)實(shí)常用工具有VRML建模語(yǔ)言、X3D語(yǔ)言、Cult 3D網(wǎng)絡(luò)技術(shù)、Unity 3D交互平臺(tái)等,再結(jié)合實(shí)體建模、動(dòng)畫制作、網(wǎng)頁(yè)制作、網(wǎng)絡(luò)數(shù)據(jù)庫(kù)以及Java編程等技術(shù),可開發(fā)出具有真實(shí)性、交互性、網(wǎng)絡(luò)化的虛擬平臺(tái)。本文在unity3D平臺(tái)中使用C++語(yǔ)言,實(shí)現(xiàn)多個(gè)零件的三維運(yùn)動(dòng),再進(jìn)而完成對(duì)起落架收放以及拆裝操作的整體模擬。
2初教六起落架收放運(yùn)動(dòng)的設(shè)計(jì)
設(shè)計(jì)運(yùn)動(dòng)有三個(gè)步驟。1)對(duì)實(shí)際起落架的結(jié)構(gòu)完成1:1建模,了解其中活塞、滑件等部件的組合工作機(jī)理,對(duì)各個(gè)零件的配合情況做參數(shù)處理。由收放筒為主驅(qū)動(dòng),多個(gè)構(gòu)件同時(shí)運(yùn)動(dòng),各輪架完成單一輸出的機(jī)構(gòu)運(yùn)動(dòng);2)對(duì)已做出的3D模型進(jìn)行實(shí)際的運(yùn)動(dòng)分析,根據(jù)誤差與實(shí)際運(yùn)動(dòng)情況做修正,測(cè)量實(shí)際起落架的運(yùn)動(dòng)幅度,再根據(jù)unity的尺寸系數(shù)做出調(diào)整;3)創(chuàng)建代碼文件,附著在運(yùn)動(dòng)構(gòu)件上,運(yùn)用transform.Translate語(yǔ)句實(shí)現(xiàn)角度翻轉(zhuǎn),transform.Rotate實(shí)現(xiàn)平移,根據(jù)實(shí)際機(jī)械運(yùn)動(dòng)原理調(diào)整每個(gè)單體零件的運(yùn)動(dòng),再總體組合為整個(gè)機(jī)械結(jié)構(gòu)的運(yùn)動(dòng),實(shí)現(xiàn)運(yùn)動(dòng)模擬。如圖1所示。
3拆裝工具模型的建立
飛機(jī)起落架的三維模型建立好之后,為了配合VR模擬手動(dòng)拆裝,保證最大的真實(shí)性,最重要的就是將航空維修手冊(cè)中所有要求規(guī)格的拆裝工具移植到虛擬現(xiàn)實(shí)中。而由于unity3d的尺寸精度與實(shí)際工具有誤差,因此在unity中采用與實(shí)際尺寸系列同比例的縮放。本文利用誤差分析理論以及最常用的最小二乘法定位算法進(jìn)行理論分析,給出定位誤差范圍;并利用誤差分析對(duì)裝配位置進(jìn)行優(yōu)化,能夠提高定位精度。效果圖2所示。
4工具交互的設(shè)計(jì)
4.1模型運(yùn)動(dòng)的實(shí)現(xiàn)
在將零件導(dǎo)入unity3d之前,將max文件轉(zhuǎn)換成*.FBX格式,再在unity3d中將其導(dǎo)入進(jìn)預(yù)先建立好的場(chǎng)景中并放置進(jìn)去。因?yàn)?dmax和unity互不兼容的原因,需要在unity中將機(jī)械結(jié)構(gòu)的零件重新分組。調(diào)整需要進(jìn)行拆裝的機(jī)械部件,添加碰撞體積,達(dá)到手動(dòng)選定和操作的效果。對(duì)于拆裝工具也進(jìn)行同步操作。調(diào)整每個(gè)零件的運(yùn)動(dòng)軸心到運(yùn)動(dòng)時(shí)的各個(gè)中心位置,有些零件的運(yùn)動(dòng)中心不在其本身。因?yàn)樵赩R中要有用手抓取、移動(dòng)工具并做出相對(duì)應(yīng)的操作的功能,所以需要在工具和相應(yīng)的拆裝零件上加上模擬模塊,使得在虛擬現(xiàn)實(shí)中也有類似現(xiàn)實(shí)中的重力,慣性,以及各種物理特性,以達(dá)到模擬工具和零件碰撞接觸的效果。在工具上加上碰撞體積,選中Physics,添加Box Colider,手動(dòng)拉選碰撞體積的大小和位置,即可在VR中用手觸碰這塊區(qū)域并選定抓取。
4.2拆裝運(yùn)動(dòng)的實(shí)現(xiàn)
為了最大限度還原維修實(shí)景,制作了手部模型,用以替換unity3d VR開發(fā)原本的手柄外形,在VR眼鏡中,操作者將看到趨近真實(shí)的雙手。觸碰到工具后,按下手柄扳機(jī)鍵,即可將零件的模型與手部模型契合在一起,達(dá)到抓取工具的視覺效果。如圖3所示。因?yàn)槊總€(gè)工具的操作手勢(shì)不同,所以設(shè)計(jì)了手部的運(yùn)動(dòng),在抓取每個(gè)部件時(shí)同步觸發(fā)不同的手勢(shì)變化,最大還原正確的工具抓握方法。同樣,起落架的每個(gè)零部件的抓取姿勢(shì)在實(shí)際的維修中也有一定的要求,因此同理,在抓取零部件時(shí)也會(huì)觸發(fā)相應(yīng)的手部動(dòng)作。工具的使用情況如圖4所示。
6模型渲染
渲染驅(qū)動(dòng)是對(duì)已建好的三維模型,在虛擬場(chǎng)景中需要對(duì)其進(jìn)行實(shí)時(shí)的表面顏色、陰影和動(dòng)態(tài)光照的渲染。模型渲染的目的是實(shí)現(xiàn)虛擬場(chǎng)景的實(shí)時(shí)渲染構(gòu)建,使得操作者與虛擬環(huán)境之間的實(shí)時(shí)交互操作響應(yīng)。而我們首先采用了貼圖路徑,其主要有兩種形式,空間和切平面。本系統(tǒng)主要采用了NM較為常見的后者——法線切平面貼圖,該貼圖模式將平面的圖片處理成凹凸有致的視覺效果,使得模型再背光凹凸處與向光處的差別顯而易見且相對(duì)自然。(圖5所示為機(jī)輪的實(shí)際渲染效果)在VR環(huán)境的空間里加上柔和光,創(chuàng)造出趨同現(xiàn)實(shí)的室內(nèi)效果。再利用V-Ray軟件和3DMAX軟件多模型進(jìn)行渲染,構(gòu)造出具有較強(qiáng)真實(shí)感的虛擬作業(yè)場(chǎng)景。
7結(jié)論
航空起落架的維修在整體的飛機(jī)維護(hù)中是最重要的一環(huán)。然而在新手維修人員的練習(xí)過程中難免會(huì)因?yàn)榻?jīng)驗(yàn)的缺乏對(duì)實(shí)體起落架設(shè)備造成不可逆的損傷或者意外。將維修技術(shù)與VR虛擬現(xiàn)實(shí)技術(shù)有效的結(jié)合,有助于減少教學(xué)成本,提高教學(xué)效率和質(zhì)量。通過對(duì)機(jī)械構(gòu)造和運(yùn)動(dòng)原理的可交互式復(fù)刻,使得維修人員對(duì)于起落架維修有更好的理解。其中的細(xì)節(jié)設(shè)計(jì)也嚴(yán)格符合維修流程的規(guī)定。因此本系統(tǒng)能在航空維修中起到重要作用。