施新宇 邱峰 石承玉 施浩
摘要:本文采用將虛擬現(xiàn)實(shí)技術(shù)與航空發(fā)動(dòng)機(jī)構(gòu)造相結(jié)合,建立一款針對(duì)渦噴六航空發(fā)動(dòng)機(jī)的虛擬實(shí)驗(yàn)平臺(tái),通過對(duì)真實(shí)的渦噴六航空發(fā)動(dòng)機(jī)進(jìn)行精密測(cè)繪,通過AutoCAD軟件繪制二維圖紙,使用3Dsmax軟件建立三維模型,在Unity3D中通過VisualC++語(yǔ)言編程,最終得以實(shí)現(xiàn)通過VR設(shè)備進(jìn)行航空發(fā)動(dòng)機(jī)可視化的人機(jī)交互。
關(guān)鍵詞:VR;渦噴六航空發(fā)動(dòng)機(jī);3Dsmax;unity3D;虛擬實(shí)驗(yàn)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)01-0251-02
1概述
航空發(fā)動(dòng)機(jī)是飛機(jī)飛行的關(guān)鍵部件,是航空器械維修的重點(diǎn)部件。虛擬現(xiàn)實(shí)技術(shù),是一種能夠提供給使用者一個(gè)身臨其境的仿真體驗(yàn)的計(jì)算機(jī)技術(shù),這一技術(shù)憑借強(qiáng)大的沉浸式體驗(yàn)功能,對(duì)模擬教學(xué)領(lǐng)域起著極大的促進(jìn)作用,因而被廣泛運(yùn)用于各類模擬教學(xué)領(lǐng)域,如:模擬醫(yī)學(xué)手術(shù)、模擬機(jī)械設(shè)備拆裝等,但目前鮮有針對(duì)航空發(fā)動(dòng)機(jī)設(shè)計(jì)的模擬教學(xué)。
本文采用虛擬現(xiàn)實(shí)技術(shù)與航空發(fā)動(dòng)機(jī)模型相結(jié)合的方法,建立起一個(gè)使用者可以觀察并親自動(dòng)手進(jìn)行發(fā)動(dòng)機(jī)部件拆裝的虛擬實(shí)驗(yàn)平臺(tái),從而提升使用者對(duì)航空發(fā)動(dòng)機(jī)的認(rèn)識(shí)與了解。
2關(guān)鍵技術(shù)
2.1虛擬現(xiàn)實(shí)技術(shù)
虛擬現(xiàn)實(shí)技術(shù)即VR技術(shù),是一種可以創(chuàng)建并體驗(yàn)虛擬世界的計(jì)算機(jī)仿真技術(shù)。虛擬現(xiàn)實(shí)技術(shù)結(jié)合了計(jì)算機(jī)技術(shù)與仿真技術(shù),從而提供給使用者更好的人機(jī)交互體驗(yàn)。目前主要的虛擬現(xiàn)實(shí)仿真體驗(yàn)是視覺體驗(yàn)和聽覺體驗(yàn),一般是通過頭戴顯示設(shè)備和耳機(jī)獲得的。在一些仿真系統(tǒng)中,通過添加更高級(jí)的設(shè)備還能實(shí)現(xiàn)其他的感覺處理,例如:通過特殊的電子手套,使用者可以獲得觸覺上的仿真體驗(yàn)。相較于設(shè)計(jì)實(shí)物模型進(jìn)行實(shí)驗(yàn),通過虛擬現(xiàn)實(shí)技術(shù)搭建實(shí)驗(yàn)平臺(tái),不僅能使整個(gè)實(shí)驗(yàn)過程更加真實(shí),還能節(jié)省成本,降低風(fēng)險(xiǎn)。
2.2軟件平臺(tái)
本文選定渦噴六航空發(fā)動(dòng)機(jī)作為建模原型,經(jīng)過圖紙繪制、模型建立、渲染優(yōu)化、程序編寫四個(gè)步驟,最終完成整個(gè)虛擬實(shí)驗(yàn)平臺(tái)的建立。(如圖1)
圖紙繪制部分采用AutoCAD軟件實(shí)現(xiàn)。AutoCAD是由歐特克公司開發(fā)的自動(dòng)計(jì)算機(jī)輔助設(shè)計(jì)軟件,這款軟件憑借強(qiáng)大的圖形編輯、圖形繪制功能,加上良好的兼容性,被廣泛應(yīng)用在工程制圖,電子工業(yè),土木建筑等多方面的領(lǐng)域。
模型建立部分則采用了Discreet公司開發(fā)的3Dsmax軟件實(shí)現(xiàn)。使用3Dsmax軟件進(jìn)行三維建模,可以在占用計(jì)算機(jī)內(nèi)存較低的情況下,完成復(fù)雜模型的建立,同時(shí)模型的精密度也完全可以得到保證。
渲染優(yōu)化和程序編寫兩個(gè)部分均通過Unity3D軟件實(shí)現(xiàn)。Unity3D作為一款全面整合的游戲開發(fā)軟件,其包含了模型渲染,程序編寫等功能,并且可以通過添加插件的方法擴(kuò)展軟件功能。本文采用添加Steam VR插件的方法,進(jìn)行虛擬現(xiàn)實(shí)場(chǎng)景的建立。需要注意的是Unity3D與3Dsmax在建模規(guī)則上有細(xì)微差別,如果直接將使用3Dsmax完成的模型文件導(dǎo)入到Unity3D的場(chǎng)景中,可能會(huì)導(dǎo)致模型變形、錯(cuò)位。本文采用額外分組與軸向固定的方法,來解決這一問題。
3實(shí)現(xiàn)過程
3.1實(shí)物測(cè)量
航空發(fā)動(dòng)機(jī)作為航空器飛行的關(guān)鍵部件,對(duì)于精密度的要求是不言而喻的。為了使虛擬實(shí)驗(yàn)更加貼合專業(yè)操作,首先要對(duì)實(shí)物模型進(jìn)行精密測(cè)繪。測(cè)量主要使用卷尺、游標(biāo)卡尺、螺旋測(cè)微器等工具。在測(cè)量過程中,由于測(cè)量設(shè)備本身的精準(zhǔn)問題、測(cè)量方法的不完善或是其他因素,誤差難以避免。為了盡可能地提高虛擬模型的精確度,需要多次測(cè)量并進(jìn)行分析,從而得到最精確的數(shù)值。接著使用AutoCAD軟件,根據(jù)測(cè)得的數(shù)據(jù)完成發(fā)動(dòng)機(jī)圖紙的繪制。(如圖2所示渦噴六航空發(fā)動(dòng)機(jī)燃燒室1
3.2模型的初步建立
根據(jù)已經(jīng)繪制的圖紙,使用3Dsmax軟件進(jìn)行虛擬模型的建立。首先通過軟件的可編輯多邊形功能與拓?fù)涔δ?,刻畫出發(fā)動(dòng)機(jī)各個(gè)零部件的基本輪廓,再使用渦輪平滑功能對(duì)模型進(jìn)行細(xì)化,將模型調(diào)整到完全符合實(shí)物。考慮到工業(yè)誤差的存在,在部件組裝成整體模型的途中可能會(huì)出現(xiàn)嚙合問題,因此需要根據(jù)誤差對(duì)部件進(jìn)行細(xì)微的調(diào)整,以此保證各部件在組裝時(shí)能正確嚙合。最后將各個(gè)部件進(jìn)行組裝,完成整體模型的初步建立。(見圖3)
3.3模型的優(yōu)化與渲染
考慮到后續(xù)建模的渲染工作與編程工作需要使用Unity3D軟件實(shí)現(xiàn),而Unity3D與3Dsmax兩款軟件的基本運(yùn)行規(guī)則有所不同,因此需要根據(jù)兩款軟件之間運(yùn)算規(guī)則的不同,對(duì)已完成的模型進(jìn)行額外分組與軸向固定,防止因?yàn)檫\(yùn)算規(guī)則不同而導(dǎo)致的變形或錯(cuò)位現(xiàn)象。
在Unity3D中建立場(chǎng)景,將已經(jīng)完成的模型導(dǎo)入場(chǎng)景中,并根據(jù)虛擬實(shí)驗(yàn)的需要添加光源,利用Unity3D的材質(zhì)球功能,對(duì)模型進(jìn)行渲染,為各部件添加色澤與材質(zhì)(見圖4)。
為了提高計(jì)算機(jī)在加載模型時(shí)的效率,本文采用在材質(zhì)球中添加法向貼圖代替細(xì)小紋路的方法,到達(dá)在保證視覺外觀不發(fā)生改變的情況下,降低計(jì)算機(jī)在同一時(shí)間所要處理的面的數(shù)量。最終使得整個(gè)虛擬實(shí)驗(yàn)平臺(tái)能夠運(yùn)行得更加平穩(wěn)流暢、更加真實(shí)。
3.4程序編寫
Uniy3d作為一款全面整合的專業(yè)開發(fā)引擎,可以通過在軟件中添加VR程序插件,來開啟虛擬現(xiàn)實(shí)交互程序的編寫。
在場(chǎng)景中添加“第一人稱控制器”,調(diào)整視角與操作參數(shù),并設(shè)立活動(dòng)范圍,實(shí)現(xiàn)人物在虛擬世界中的簡(jiǎn)單觀察功能。為物體添加碰撞體積、重力、彈性等參數(shù),并根據(jù)不同操作需求添加代碼,使手柄在接觸模型、觸碰按鍵時(shí),模型會(huì)根據(jù)添加的代碼實(shí)現(xiàn)相應(yīng)的物理反饋,這樣使用者便可以在虛擬世界中與模型實(shí)現(xiàn)人機(jī)交互。再對(duì)人物抓取的手勢(shì)、物體之間的碰撞進(jìn)行細(xì)化,使整個(gè)虛擬世界更加真實(shí)。本文使用的部分VisualC++交互代碼如下:
4技術(shù)指標(biāo)
本文將虛擬現(xiàn)實(shí)技術(shù)與航空發(fā)動(dòng)機(jī)相結(jié)合,建立基于VR的渦噴六航空發(fā)動(dòng)機(jī)虛擬實(shí)驗(yàn)平臺(tái),旨在解決傳統(tǒng)實(shí)物教學(xué)中,發(fā)動(dòng)機(jī)內(nèi)部結(jié)構(gòu)不易觀察,且批量學(xué)員難以同時(shí)進(jìn)行操作的困難。為此,虛擬實(shí)驗(yàn)平臺(tái)將達(dá)到以下技術(shù)指標(biāo):
1)真實(shí)還原渦噴六航空發(fā)動(dòng)機(jī)模型,虛擬模型與實(shí)物模型間的誤差范圍在0.5mm之內(nèi);
2)使用者可以在虛擬實(shí)驗(yàn)場(chǎng)景中進(jìn)行流暢的觀察,且在部件拆裝過程不會(huì)出現(xiàn)卡頓現(xiàn)象;
3)所有發(fā)動(dòng)機(jī)部件均可按照維修手冊(cè)進(jìn)行正確的拆裝操作;
4)當(dāng)拆裝操作出現(xiàn)錯(cuò)誤時(shí),系統(tǒng)將進(jìn)行報(bào)錯(cuò)提示;
5)教員可以通過網(wǎng)絡(luò)實(shí)時(shí)監(jiān)督使用者的操作情況。
5總結(jié)
本文采用通過測(cè)量實(shí)物數(shù)據(jù),使用3Dsmax建立虛擬模型,優(yōu)化模型,接著導(dǎo)入U(xiǎn)nity3D軟件進(jìn)行整合并建立場(chǎng)景,最后使用VisualC++語(yǔ)言編寫合理的交互程序,這樣的一套流程,建立起一套高效且專業(yè)的虛擬實(shí)驗(yàn)平臺(tái)。系統(tǒng)中可以真實(shí)還原航空發(fā)動(dòng)機(jī)的拆裝流程,并可指出學(xué)員的錯(cuò)誤操作,提示相關(guān)風(fēng)險(xiǎn),進(jìn)行正確的操作引導(dǎo)。學(xué)員能夠在虛擬實(shí)驗(yàn)平臺(tái)中得到良好的學(xué)習(xí)體驗(yàn),更好地掌握航空發(fā)動(dòng)機(jī)內(nèi)部結(jié)構(gòu)等相關(guān)知識(shí)。教員也可以通過網(wǎng)絡(luò)遠(yuǎn)程監(jiān)督指導(dǎo)學(xué)員的具體操作。
傳統(tǒng)的航空發(fā)動(dòng)機(jī)維修教學(xué)有著不易于學(xué)員觀測(cè)內(nèi)部結(jié)構(gòu),批量學(xué)員同時(shí)操作困難的缺點(diǎn),構(gòu)建一款針對(duì)航空發(fā)動(dòng)機(jī)的虛擬實(shí)驗(yàn)平臺(tái),不僅可以有效地解決這些問題,還能夠減少誤操作造成人身、財(cái)產(chǎn)損失的風(fēng)險(xiǎn),并提高整體授課效率,達(dá)到事半功倍的效果。