張 俊,吳央芳,張?zhí)煊?/p>
(浙大城市學(xué)院工程學(xué)院,杭州 310015)
虛擬現(xiàn)實(Virtual Reality),簡稱VR技術(shù),是采用計算機(jī)技術(shù)為核心的現(xiàn)代高科技手段生成的一種虛擬環(huán)境,包括有計算機(jī)圖形技術(shù)、計算機(jī)仿真技術(shù)、人機(jī)接口技術(shù)、傳感技術(shù)等。用戶在借助特殊的輸入/輸出設(shè)備,能夠與虛擬世界中的物體進(jìn)行自然的交互,并且能夠通過視覺、聽覺、觸覺來獲得與真實世界相同的感受[1-4]。
國內(nèi)外對虛擬現(xiàn)實技術(shù)在教育領(lǐng)域的應(yīng)用已經(jīng)做了一定的研究。馬帥等[5]采用虛擬現(xiàn)實技術(shù)和增強(qiáng)現(xiàn)實技術(shù),通過Unity 3D搭建了具有交互式拆裝空壓機(jī)和模擬車床走刀功能的虛擬實驗平臺,為平臺交互式設(shè)計提供了參考。周欣等[6]基于UG 設(shè)計了RV 減速器虛擬樣機(jī)并實現(xiàn)了虛擬運動仿真。朱正偉等[7]利用改進(jìn)后的碰撞檢測算法對模具的裝配序列和裝配實現(xiàn)方法進(jìn)行了研究,并基于HTC Vive、Unity 3D等軟件開發(fā)了虛擬現(xiàn)實模具裝配系統(tǒng)。田昌等[8]設(shè)計了蒸汽輪機(jī)發(fā)電虛擬仿真系統(tǒng),避免了實驗過程中存在的煙氣較重、不易操作等問題,生動體現(xiàn)了虛擬仿真系統(tǒng)的優(yōu)勢所在。Luzanin 等[9]提出了一種基于概率神經(jīng)網(wǎng)絡(luò)(PNN)的手勢識別系統(tǒng),使虛擬裝配和維護(hù)仿真等VR工程與實體數(shù)據(jù)手套相結(jié)合。
目前國內(nèi)高校傳統(tǒng)的課堂模式受困于因經(jīng)費投入不足而造成實踐教學(xué)資源缺乏等問題[10],基于Unity 3D搭建虛擬仿真實踐教學(xué)系統(tǒng),把虛擬現(xiàn)實和課程實踐結(jié)合起來,在突破高校傳統(tǒng)封閉式課堂模式的同時提升學(xué)生的自主學(xué)習(xí)能力,使學(xué)生不再受設(shè)備數(shù)量限制,大大優(yōu)化教學(xué)體系,提高教學(xué)的生動性。
本平臺以典型機(jī)械裝備齒輪泵、二級圓柱齒輪減速器和RV減速器為研究對象。
齒輪泵主體結(jié)構(gòu)由一對回轉(zhuǎn)齒輪構(gòu)成,工作時互相嚙合吸入低壓油,排出高壓油[11]。二級圓柱齒輪減速器由輸入軸、輸出軸、中間軸、輸入齒輪、輸出齒輪和傳動齒輪等組成,動力源經(jīng)大齒輪嚙合小齒輪的方式逐層傳遞到輸出軸并輸出轉(zhuǎn)矩,起到減速增矩的效果[12]。RV減速器由一個行星齒輪減速機(jī)的前級和一個擺線針輪減速機(jī)的后級組成[13-14],電動機(jī)帶動輸入齒輪與正齒輪嚙合,為第1 級減速;正齒輪與曲柄軸固連,成為第2 級的輸入,轉(zhuǎn)動正齒輪則RV齒輪由于曲柄軸的偏心運動也進(jìn)行偏心運動,此時曲柄軸轉(zhuǎn)動1周,則RV齒輪會沿與曲柄軸相反的方向轉(zhuǎn)動1 個齒,這個轉(zhuǎn)動將被輸出到輸出盤上,此為第2 級減速[15]。
圖1 所示為齒輪泵、二級圓柱齒輪減速器和RV減速器結(jié)構(gòu)圖,從圖中可見,3 個模型結(jié)構(gòu)由簡單到復(fù)雜,符合機(jī)械系統(tǒng)設(shè)計認(rèn)知規(guī)律,通過系統(tǒng)學(xué)習(xí)可實現(xiàn)知識與能力的漸進(jìn)提升。
圖1 典型機(jī)械裝備結(jié)構(gòu)
以典型機(jī)械裝備為研究對象開發(fā)具有交互式,仿真性的虛擬仿真實踐教學(xué)平臺。系統(tǒng)應(yīng)擁有實驗預(yù)習(xí)、虛擬自動拆裝、手動交互拆裝、模型縮放旋轉(zhuǎn)、運動仿真等交互功能模塊。系統(tǒng)總體框架如圖2 所示。
圖2 平臺總體方案框架
利用典型機(jī)械裝備的拆裝實驗教學(xué)平臺讓學(xué)生了解典型機(jī)械裝備的結(jié)構(gòu)特點,掌握典型機(jī)械裝備的加工精度要求、工藝要求和裝配要求,同時促進(jìn)學(xué)生將機(jī)械原理、機(jī)械設(shè)計、機(jī)械制造工程學(xué)等課程所學(xué)的理論知識通過典型機(jī)械裝備的拆裝進(jìn)一步應(yīng)用到實踐綜合應(yīng)用當(dāng)中去。
(1)實驗預(yù)習(xí)模塊。實驗預(yù)習(xí)模塊包含實驗?zāi)康脑怼x器設(shè)備、方法和步驟以及實驗考核要求4 個二級功能模塊,文字說明及瀏覽的方式應(yīng)使學(xué)生在虛擬拆裝前充分了解該實驗。功能模塊效果如圖3 所示。
圖3 實驗預(yù)習(xí)功能模塊
(2)實驗操作模塊。進(jìn)入此模塊開始實驗,首先進(jìn)入運動仿真模塊,可學(xué)習(xí)3 種典型機(jī)械結(jié)構(gòu)的運動情況,為后續(xù)虛擬拆裝做準(zhǔn)備。運動仿真界面見圖4。
圖4 運動仿真界面
點擊選擇齒輪泵、2 級齒輪減速器或者RV 減速器后可進(jìn)入3 個4 級功能模塊,可實現(xiàn)自動裝配、自動拆解、手動拆裝功能,自動裝配和手動拆裝功能模塊效果如圖5、6 所示。
圖5 自動裝配功能模塊
圖6 手動拆裝功能模塊
系統(tǒng)開發(fā)選用Unity 3D,其擁有較高的跨平臺性,可發(fā)布至Windows、Mac、iPhone、Android 等多個平臺;3D建模軟件使用Solidworks;三維渲染優(yōu)化軟件采用3D Max,其模型優(yōu)化功能強(qiáng)大,在減少存儲體積的同時可保持模型精度尺寸。
具體開發(fā)平臺與工具如表1 所示。
表1 開發(fā)平臺與工具
系統(tǒng)開發(fā)流程:以Unity 3D 為開發(fā)平臺進(jìn)行VR制作。首先運用Solidworks建立機(jī)械裝備模型并導(dǎo)入3D Max 完成模型渲染優(yōu)化,再將優(yōu)化后模型導(dǎo)入Unity 3D平臺通過C#編寫相關(guān)腳本實現(xiàn)系統(tǒng)各項功能,最后發(fā)布到相應(yīng)平臺,利用平臺設(shè)備對虛擬實踐教學(xué)系統(tǒng)進(jìn)行效果展示。系統(tǒng)開發(fā)流程圖如圖7 所示。
圖7 系統(tǒng)開發(fā)流程圖
機(jī)械裝備模型是虛擬仿真的主體,建模時可以將一些對虛擬拆裝影響不大的結(jié)構(gòu)進(jìn)行合理省略,起到簡化模型效果。標(biāo)準(zhǔn)件可以采用Solidworks軟件內(nèi)置的toolbox直接調(diào)用,大大減少了建模時間。在裝配采用“自底向上”的方式并多用陣列、鏡像減少裝配時間和存儲體積,同時應(yīng)避免模型重疊。
模型建立完成后,將文件導(dǎo)出為STEP 格式后導(dǎo)入3D Max進(jìn)行模型優(yōu)化和坐標(biāo)軸調(diào)整。模型優(yōu)化功能可以在不影響模型精度的條件下減少面的數(shù)量,坐標(biāo)軸調(diào)整可以方便在Unity 3D 中的后續(xù)開發(fā)。本步驟具體操作流程和設(shè)計效果圖如圖8、9 所示。
圖8 模型建立和優(yōu)化流程圖
模型虛擬場景作為設(shè)備模型的環(huán)境載體,為整個實驗平臺的基礎(chǔ)。將3D Max 中優(yōu)化好的三維模型保存為MAX或FBX 格式文件后,導(dǎo)入到Unity 3D 軟件中并做添加材質(zhì)和展臺等操作,完成模型虛擬場景的搭建。
由于3D Max 制作的拆裝動畫在導(dǎo)入到Unity 3D的過程中會產(chǎn)生坐標(biāo)混亂,本系統(tǒng)通過Unity 3D制作實現(xiàn)相應(yīng)的自動拆裝功能。在實現(xiàn)機(jī)械裝備虛擬拆裝功能時,需注意是否符合實際裝配順序,并關(guān)注模型文件夾名稱過長而導(dǎo)致的無法更改坐標(biāo)的問題。自動拆裝功能設(shè)計流程圖和實現(xiàn)效果圖如圖10、11 所示。
圖9 模型優(yōu)化及坐標(biāo)軸調(diào)整效果圖
圖10 自動拆裝功能設(shè)計流程圖
模型實現(xiàn)手動拆裝功能需要對零件做添加Collider(碰撞控件)并掛載腳本的操作,以達(dá)到用鼠標(biāo)自由拖動、放置零件的效果。功能設(shè)計流程圖和實現(xiàn)效果圖如圖12、13 所示。
用鼠標(biāo)調(diào)整觀察視角的操作方式可以讓用戶有更直觀、更具沉浸性的體驗。通過腳本捕獲鼠標(biāo)移動和滾輪來調(diào)整攝像機(jī)的角度和位置,以實現(xiàn)相應(yīng)功能。具體功能實現(xiàn)流程如圖14 所示。
圖11 自動拆裝實現(xiàn)效果圖
圖12 手動拆裝功能設(shè)計流程圖
圖13 手動拆裝實現(xiàn)效果圖
圖14 視角交互功能設(shè)計流程圖
用戶交互界面設(shè)計是將相應(yīng)腳本掛載到按鈕上,構(gòu)建相應(yīng)層級關(guān)系。當(dāng)用戶點擊按鈕時,系統(tǒng)跳轉(zhuǎn)至相應(yīng)場景層級,實現(xiàn)對應(yīng)功能。交互式界面包含由自動拆裝、手動拆裝、實驗預(yù)習(xí)、返回、退出等按鈕。
實現(xiàn)層級跳轉(zhuǎn)的部分代碼如下:
實現(xiàn)效果如圖15 所示。
圖15 用戶交互界面
運動仿真功能可以讓學(xué)生清晰地觀察到機(jī)械裝備內(nèi)部齒輪的運作情況。功能主要實現(xiàn)原理是把相應(yīng)腳本掛載到機(jī)械裝備的部分零件上,使其繞1 根及1 根以上的固定軸旋轉(zhuǎn),借此模擬真實運動情況。同時,可將箱體掛載透明材質(zhì),以顯示出其內(nèi)部運動情況,部分代碼如下:
Unity擁有較高的跨平臺性,可以將開發(fā)完成的虛擬仿真系統(tǒng)發(fā)布至Android,PC,Xbox,PS4 等多個平臺。以PC端為例,完成各項發(fā)布前的各項設(shè)置后,即可發(fā)布一個包含exe 可執(zhí)行文件的文件夾,運行exe文件即可在PC端使用虛擬仿真系統(tǒng)。
在Android 平臺上發(fā)布,需要設(shè)置對應(yīng)的SDK,JDK,NDK軟件開發(fā)工具包以調(diào)試好發(fā)布環(huán)境。完成調(diào)試后,將發(fā)布平臺改為Android,單擊Build即可生成一個apk文件。在Android 手機(jī)上安裝該文件,即可在手機(jī)上使用本系統(tǒng)。
在基于發(fā)布至PC 端的基礎(chǔ)上,還可以通過軟件左右分屏的形式,在VR頭盔上立體顯示,利用頭盔的位置跟隨功能和手柄操作等多個形式與系統(tǒng)更沉浸的交互。
基于虛擬技術(shù)的機(jī)械基礎(chǔ)實驗教學(xué)平臺,通過運用Unity 3D等工具開發(fā)了實驗項目“齒輪泵、二級減速器以及RV減速器虛擬拆裝實驗”,已列入機(jī)械基礎(chǔ)實驗教學(xué)大綱,每年可為200 余名本科生提供實驗教學(xué)支撐,教學(xué)效果良好。同時該項目作為省級虛擬仿真實驗教學(xué)的一個項目,已發(fā)布城市學(xué)院機(jī)械虛擬仿真實驗教學(xué)網(wǎng)絡(luò)平臺上,網(wǎng)址為:http://101.132.154.216。依托學(xué)院校園網(wǎng)絡(luò),面向校內(nèi)所有師生全天開放,實現(xiàn)了優(yōu)質(zhì)教學(xué)資源的校內(nèi)共享。
在此基礎(chǔ)上下一步研究將著重于完善結(jié)構(gòu)展示和拆裝細(xì)節(jié),不斷提高使用者的實際操作體驗,并逐步擴(kuò)大外網(wǎng)的注冊制開放程度,進(jìn)一步擴(kuò)大本成果共享應(yīng)用范圍。