□ 畢 航
上海電氣集團(tuán)股份有限公司 中央研究院 上海 200070
虛擬現(xiàn)實是一種以計算機(jī)技術(shù)為核心,綜合模擬出一個與真實環(huán)境高度相似的虛擬環(huán)境,并能夠與虛擬環(huán)境進(jìn)行交互的新興技術(shù),特點可以概括為沉浸感、交互性、構(gòu)想性[1-2]。隨著計算機(jī)圖形學(xué)、感知技術(shù)、人機(jī)交互技術(shù)等的迅速發(fā)展,虛擬現(xiàn)實技術(shù)已經(jīng)被廣泛應(yīng)用于教育培訓(xùn)、商業(yè)、游戲娛樂、軍事、醫(yī)療等行業(yè)中,應(yīng)用范圍不斷擴(kuò)大,深度也不斷提高[3]。
在工業(yè)裝備領(lǐng)域中應(yīng)用虛擬現(xiàn)實技術(shù),能夠在產(chǎn)品物理樣機(jī)實際投入生產(chǎn)之前,有效地解決產(chǎn)品研發(fā)中遇到的問題,便于企業(yè)縮短研發(fā)周期,提高研發(fā)效率,規(guī)避錯誤,節(jié)約研發(fā)成本[4-5]。因此,虛擬現(xiàn)實技術(shù)已經(jīng)被廣泛應(yīng)用在工業(yè)裝備領(lǐng)域的產(chǎn)品設(shè)計、制造、裝配、車間管理、過程模擬、培訓(xùn)、測試、營銷等各個環(huán)節(jié)中[6]。
裝配是工業(yè)裝備制造中的重要環(huán)節(jié)。根據(jù)相關(guān)資料,直接或間接參與到裝配工作的人數(shù)占總生產(chǎn)人數(shù)的30%以上,裝配時間一般占生產(chǎn)總時間的20%~50%,裝配費用占整個生產(chǎn)成本的30%~50%[7]。先進(jìn)的裝配工藝可以降低人員的參與度,提高生產(chǎn)效率。裝配技術(shù)能夠?qū)I(yè)裝備的性能和質(zhì)量產(chǎn)生直接影響?,F(xiàn)有的工業(yè)裝配培訓(xùn)方式仍以工廠實地培訓(xùn)為主,培訓(xùn)效果較差,而且效率偏低,成本較高[8]。
將虛擬現(xiàn)實技術(shù)應(yīng)用于工業(yè)裝備的裝配中,產(chǎn)生了虛擬裝配技術(shù)[9]。虛擬裝配允許設(shè)計和可裝配性調(diào)試在同一階段進(jìn)行,以便根據(jù)虛擬裝配的反饋來及時修改產(chǎn)品的模型信息,能夠避免在制作物理模型時產(chǎn)生的浪費,節(jié)約物理模型的生產(chǎn)成本,還能夠提高產(chǎn)品的質(zhì)量,縮短產(chǎn)品的研發(fā)周期,提高產(chǎn)品的研發(fā)效率[10]。在虛擬現(xiàn)實裝配訓(xùn)練中,通過在虛擬場景中產(chǎn)生三維沉浸感,按照各種裝配約束關(guān)系對模型零件進(jìn)行三維裝配模擬,實時檢查裝配的可行性和合理性,并保證裝配訓(xùn)練的真實性[11]。受訓(xùn)人員可以根據(jù)對工業(yè)裝備結(jié)構(gòu)和裝配工藝的學(xué)習(xí),按照零件約束關(guān)系和裝配工藝,對各種零件模型進(jìn)行虛擬現(xiàn)實裝配操作訓(xùn)練。
通過虛擬現(xiàn)實裝配訓(xùn)練,可以在虛擬現(xiàn)實環(huán)境中反復(fù)進(jìn)行學(xué)習(xí)和操作,最終通過測驗對學(xué)習(xí)效果進(jìn)行評估。學(xué)員能夠及時發(fā)現(xiàn)裝配訓(xùn)練過程中的錯誤并及時糾正,大幅提高了培訓(xùn)的有效性和效率,降低了培訓(xùn)成本。
筆者以某型碗式中速磨煤機(jī)為對象,基于Unreal Engine、3DS MAX等軟件和HTC VIVE頭盔顯示器等硬件,開發(fā)磨煤機(jī)虛擬現(xiàn)實裝配訓(xùn)練系統(tǒng)。
對于磨煤機(jī)虛擬現(xiàn)實裝配訓(xùn)練系統(tǒng)的設(shè)計和開發(fā),按照簡單易用、交互性強(qiáng)、沉浸感體驗好的要求進(jìn)行。系統(tǒng)主要采用Unreal Engine軟件進(jìn)行開發(fā),并且使用HTC VIVE頭盔顯示器達(dá)到虛擬現(xiàn)實體驗的效果。
為滿足受訓(xùn)人員有更好的沉浸式體驗效果,系統(tǒng)需要具有一個較逼真的虛擬工廠環(huán)境。受訓(xùn)者可以在虛擬工廠環(huán)境中進(jìn)行任意虛擬漫游,并在虛擬工廠環(huán)境中自由快速移動。設(shè)置跳躍和平移兩種運動方式,并通過設(shè)置語音和輔助畫面提示,幫助初次參加培訓(xùn)的人員迅速掌握在虛擬環(huán)境中自由移動的方法。
為了提升虛擬現(xiàn)實裝配訓(xùn)練效果,使受訓(xùn)人員能夠全方位地對磨煤機(jī)的基本結(jié)構(gòu)和裝配過程進(jìn)行有效掌握,需要設(shè)置結(jié)構(gòu)展示模塊、裝配過程學(xué)習(xí)模塊和手動操作訓(xùn)練模塊,受訓(xùn)人員可以在不同模塊之間進(jìn)行自由切換。結(jié)構(gòu)展示模塊通過語音介紹和爆炸圖展示,對磨煤機(jī)的主要結(jié)構(gòu)進(jìn)行詳細(xì)介紹。裝配過程學(xué)習(xí)模塊通過語音介紹和裝配過程自動展示,對磨煤機(jī)的裝配過程進(jìn)行詳細(xì)介紹。手動操作訓(xùn)練模塊是系統(tǒng)的核心模塊,允許受訓(xùn)人員對磨煤機(jī)進(jìn)行手動裝配訓(xùn)練。
虛擬現(xiàn)實裝配訓(xùn)練系統(tǒng)開發(fā)流程如圖1所示。
圖1 虛擬現(xiàn)實裝配訓(xùn)練系統(tǒng)開發(fā)流程
系統(tǒng)開發(fā)流程可以分為四個階段:準(zhǔn)備階段、場景搭建和模型渲染階段、裝配訓(xùn)練功能開發(fā)階段、軟硬件結(jié)合階段。
在準(zhǔn)備階段,核心工作是對磨煤機(jī)三維模型的處理。三維模型的質(zhì)量會對虛擬現(xiàn)實系統(tǒng)運行的沉浸感和流暢程度產(chǎn)生至關(guān)重要的影響。SolidWorks等計算機(jī)輔助設(shè)計軟件建模獲得的工業(yè)計算機(jī)輔助設(shè)計模型,數(shù)據(jù)量龐大,并且包含所有的模型間配合信息。模型的零件數(shù)量多,導(dǎo)致面數(shù)總量非常驚人。如此多的面數(shù)如果直接在虛擬現(xiàn)實系統(tǒng)中運行,會對圖形處理系統(tǒng)造成巨大負(fù)擔(dān),導(dǎo)致嚴(yán)重的卡頓、丟幀等現(xiàn)象,影響用戶在虛擬現(xiàn)實系統(tǒng)中的沉浸感和體驗感。
在虛擬現(xiàn)實場景中的模型不需要任何模型間信息,并且要求模型數(shù)據(jù)盡量少,面數(shù)也盡量少。因此,工業(yè)計算機(jī)輔助設(shè)計模型不能直接導(dǎo)入Unreal Engine軟件使用,需要使用3DS MAX軟件對模型進(jìn)行處理。模型處理包括三個步驟。
(1) 模型合并。工業(yè)計算機(jī)輔助設(shè)計模型往往包含大量零配件,如螺栓、螺母、螺桿等,一個完整部件可能包含成百上千個各式零件。在虛擬現(xiàn)實展示中,需要將工業(yè)計算機(jī)輔助設(shè)計模型的許多部件合并為一個完整的整體,方便程序控制和調(diào)用。
完成這一步驟,需要對需求進(jìn)行有效整理,得出完整的程序腳本。根據(jù)程序腳本對模型進(jìn)行分類,確定零件的合并計劃。在3DS MAX軟件中,按照確定的合并計劃合并零件,最終將磨煤機(jī)模型整合為裝配訓(xùn)練所需的多個大型部件。
(2) 模型減面。工業(yè)計算機(jī)輔助設(shè)計模型的一個重大缺陷是模型復(fù)雜、面數(shù)多。在虛擬現(xiàn)實程序中,面數(shù)的增多會對圖形處理系統(tǒng)造成巨大負(fù)擔(dān),最終導(dǎo)致虛擬現(xiàn)實程序卡頓、掉幀等問題,嚴(yán)重影響虛擬現(xiàn)實體驗。因此,需要在3DS MAX軟件中對工業(yè)計算機(jī)輔助設(shè)計模型進(jìn)行減面,最終將面數(shù)總量減少到原模型的15%。
(3) 模型UV拆分。對于一些需要進(jìn)行重點展示的部件,使用復(fù)雜的材質(zhì)或貼圖,由此需要對模型進(jìn)行UV拆分。UV拆分又稱UV展開,指將一個三維模型展開為一張二維UV平面的過程。UV拆分后,將貼圖貼在UV平面對應(yīng)的位置上,就可以實現(xiàn)在三維模型上貼圖。通過UV拆分,可以有效提升場景和模型渲染的逼真度,進(jìn)而有效提升用戶的沉浸感和體驗感。
最終將處理好的模型以.FBX三維格式文件導(dǎo)入Unreal Engine軟件。
(1) 虛擬場景搭建。虛擬現(xiàn)實系統(tǒng)需要模擬出一個工廠的虛擬場景,與真實的磨煤機(jī)裝配工廠場景比較接近,使受訓(xùn)人員在進(jìn)行虛擬現(xiàn)實裝配培訓(xùn)時有更好的體驗。虛擬工廠場景如圖2所示。進(jìn)入虛擬工廠場景后,可以看到一臺完整的磨煤機(jī),位于虛擬場景的中央。
圖2 虛擬工廠場景
(2) 光照設(shè)置。Unreal Engine軟件的光照設(shè)置會極大影響虛擬現(xiàn)實場景的虛擬體驗效果。對于磨煤機(jī)虛擬場景,使用一個直射光束作為光源,在磨煤機(jī)主廠房范圍內(nèi)設(shè)置聚光場,使廠房采光效果優(yōu)于其它位置,創(chuàng)造出更好的光影效果。光照設(shè)置界面如圖3所示。
圖3 光照設(shè)置界面
(3) 材質(zhì)包制作。模型材質(zhì)的細(xì)膩程度直接影響虛擬現(xiàn)實程序內(nèi)各部件的真實感,從而影響最終虛擬現(xiàn)實體驗效果。為了提升體驗效果,制作了專用材質(zhì)包,如圖4所示。
圖4 專用材質(zhì)包
(1) 虛擬現(xiàn)實人機(jī)交互框架。需要制作一個虛擬現(xiàn)實人機(jī)交互框架,虛擬現(xiàn)實體驗者的所有動作,包括虛擬漫游和虛擬交互,均需要通過這一框架完成。定義一個虛擬現(xiàn)實體驗者的虛擬化身,將虛擬現(xiàn)實頭盔與虛擬現(xiàn)實手柄綁定。這樣,虛擬化身能夠繼承虛擬現(xiàn)實體驗者所使用的虛擬現(xiàn)實頭盔、虛擬現(xiàn)實手柄所有六個自由度的移動和轉(zhuǎn)動,并且能夠使體驗者通過虛擬現(xiàn)實手柄實施交互指令,與虛擬現(xiàn)實環(huán)境進(jìn)行交互。由此,可以將虛擬化身視為體驗者在虛擬現(xiàn)實環(huán)境中的化身,實時向體驗者傳輸虛擬現(xiàn)實環(huán)境中的場景,并完成與虛擬現(xiàn)實環(huán)境的交互。
為了使虛擬現(xiàn)實體驗者能夠在結(jié)構(gòu)展示模塊、裝配過程學(xué)習(xí)模塊和手動操作訓(xùn)練模塊之間進(jìn)行自由切換,需要開發(fā)一個三維交互界面模板,接收來自虛擬化身的交互指令。在虛擬化身中添加三維交互界面的觸發(fā)事件,使虛擬現(xiàn)實體驗者能夠通過點擊手柄觸發(fā)三維交互界面事件。
(2) 虛擬漫游功能開發(fā)。虛擬現(xiàn)實體驗者處于虛擬環(huán)境中,自然需要有在虛擬環(huán)境中移動的能力,這種能力就是虛擬漫游。虛擬漫游也是所有虛擬現(xiàn)實程序都需具備的基礎(chǔ)功能。在虛擬現(xiàn)實裝配訓(xùn)練系統(tǒng)中,虛擬漫游功能主要包括上下、左右、前后平動和瞬間跳躍。
在虛擬現(xiàn)實程序中,瞬間跳躍是最常見的一種人物運動模式。這種模式的好處是跳躍前后,人物位置瞬間變化,沒有位置的緩慢移動,配合適當(dāng)?shù)溺R頭淡入淡出,能夠有效避免虛擬現(xiàn)實體驗中常見的不適情況,如暈動病等。因此,瞬間跳躍是虛擬現(xiàn)實程序中通用的人物移動模式。平動功能以視角正前方為標(biāo)準(zhǔn),沿前后左右上下六個方向進(jìn)行位置平移。這種漫游方式可以允許體驗者移動到虛擬現(xiàn)實場景中的任何位置,因此具有最好的自由漫游能力,但可能會引發(fā)體驗者的不適,導(dǎo)致暈動病。在虛擬現(xiàn)實裝配訓(xùn)練系統(tǒng)中,可以通過兩種漫游功能的配合使用,獲得最佳的虛擬漫游體驗。
(3) 結(jié)構(gòu)展示模塊功能開發(fā)。結(jié)構(gòu)展示模塊通過語音介紹和爆炸圖展示,使受訓(xùn)人員在開始裝配訓(xùn)練之前,詳細(xì)了解磨煤機(jī)的主要結(jié)構(gòu)。
進(jìn)入虛擬現(xiàn)實場景后,可以看到一臺完整的磨煤機(jī)。受訓(xùn)人員可以通過虛擬漫游的方式,近距離查看磨煤機(jī)的基礎(chǔ)結(jié)構(gòu)。也可以直接進(jìn)入磨煤機(jī)內(nèi)部,從內(nèi)部更詳細(xì)地了解結(jié)構(gòu)。
點擊三維交互界面爆炸圖按鈕,可以使磨煤機(jī)各部件按照一定順序依次爆炸展開,同時配合語音講解,使受訓(xùn)人員對磨煤機(jī)各部件和主要結(jié)構(gòu)進(jìn)行詳細(xì)了解。
(4) 裝配過程學(xué)習(xí)模塊功能開發(fā)。點擊三維交互界面自動裝配按鈕,磨煤機(jī)各部件將按照裝配順序,從散落狀態(tài)逐漸組裝為一臺完整的磨煤機(jī)。配合裝配工藝指導(dǎo)書語音講解,使受訓(xùn)人員對磨煤機(jī)的裝配過程進(jìn)行有效學(xué)習(xí)。
(5) 手動操作訓(xùn)練模塊功能開發(fā)。受訓(xùn)人員完成結(jié)構(gòu)展示模塊和裝配過程學(xué)習(xí)模塊的學(xué)習(xí)后,可以開始進(jìn)行手動操作,對磨煤機(jī)裝配進(jìn)行虛擬操作訓(xùn)練。
點擊三維交互界面自動裝配按鈕,磨煤機(jī)零件散落布置在廠房內(nèi)。使用手柄射線部件時,部件會高亮顯示,顯示出部件名稱和部件在裝配中的順序。操作者需要按照裝配順序依次選擇部件,按住手柄扳機(jī)選中部件,并對部件進(jìn)行拖動。根據(jù)實際裝配訓(xùn)練的需要,為各部件設(shè)置兩種不同的操作模式:自由拖動、沿坐標(biāo)軸拖動。
通過手柄射線指向部件,扣住手柄扳機(jī),能夠自由拖動選中的部件。此時可以移動手柄位置,部件會隨之移動。通過虛擬漫游功能移動操作者位置,部件也會隨之移動。在右手手柄頂部的觸摸盤上,用拇指上下滑動,部件位置就會沿著手柄射線快速移動。
沿坐標(biāo)軸拖動時,通過手柄射線指向部件,按下手柄特定按鍵后再按下手柄扳機(jī),會顯示出基于部件自身中心位置的直角坐標(biāo)軸。此時,該部件無法再通過扣住手柄扳機(jī)拖動來自由移動,需要將手柄射線指向某一坐標(biāo)軸,扣住手柄扳機(jī)后進(jìn)行拖拉,使部件沿坐標(biāo)軸移動。這種操作用于模擬工業(yè)裝備實際裝配過程中,使用吊車、起重機(jī)等設(shè)備進(jìn)行裝配的操作。
手動操作訓(xùn)練如圖5所示。
圖5 手動操作訓(xùn)練
為模擬實際裝配廠景,各部件之間設(shè)定裝配順序和碰撞干涉模擬。受訓(xùn)人員必須按照裝配順序,依次選取各部件,拖動到最終裝配位置。如果受訓(xùn)人員選擇錯誤的部件,部件就無法被選中和移動。
受訓(xùn)人員通過使用虛擬現(xiàn)實裝配訓(xùn)練系統(tǒng),可以在虛擬現(xiàn)實環(huán)境中對磨煤機(jī)的裝配過程進(jìn)行充分的操作訓(xùn)練,進(jìn)而極大提高了裝配訓(xùn)練的效率和有效性。
裝配訓(xùn)練功能開發(fā)結(jié)束后,將程序打包成可執(zhí)行文件,部署在圖形處理性能較好的圖形工作站上,使用HTC VIVE頭盔顯示器作為虛擬現(xiàn)實顯示設(shè)備。還可以將圖形工作站與大屏幕相連,將受訓(xùn)人員的第一視角投放在屏幕上,供其他受訓(xùn)人員實時觀看,進(jìn)一步提高培訓(xùn)效率和有效性。硬件系統(tǒng)構(gòu)成如圖6所示。
圖6 硬件系統(tǒng)構(gòu)成
筆者討論了虛擬現(xiàn)實技術(shù)在工業(yè)裝備裝配訓(xùn)練方面的應(yīng)用前景和價值,并以某型碗式中速磨煤機(jī)為對象,開發(fā)了一套磨煤機(jī)虛擬現(xiàn)實裝配訓(xùn)練系統(tǒng)。受訓(xùn)學(xué)員可以在虛擬現(xiàn)實環(huán)境中對磨煤機(jī)總體結(jié)構(gòu)進(jìn)行了解和學(xué)習(xí),并通過操作虛擬現(xiàn)實設(shè)備進(jìn)行虛擬裝配訓(xùn)練。
結(jié)果證明,將虛擬現(xiàn)實技術(shù)應(yīng)用于工業(yè)裝備裝配訓(xùn)練,可以減少實地進(jìn)行設(shè)備裝配培訓(xùn),有效節(jié)約培訓(xùn)成本,大幅提高培訓(xùn)的效率和有效性。