楊兆坤,李星新
(陸軍工程大學石家莊校區(qū) 裝備指揮與管理系,河北 石家莊 050003)
作為裝備全壽命管理的重要環(huán)節(jié),裝備維修訓練的地位與作用越來越明顯。隨著信息化的發(fā)展,裝備呈現(xiàn)出功能復(fù)雜、結(jié)構(gòu)龐大、造價昂貴、技術(shù)更新?lián)Q代快等特點。虛擬維修訓練自20世紀90年代初應(yīng)用于實際裝備[1],經(jīng)歷多年發(fā)展,其相比傳統(tǒng)維修訓練具有安全性好、承訓量大、沉浸感高、趣味性強、不受時間空間限制、降低訓練費用等明顯優(yōu)勢,可以有效彌補傳統(tǒng)維修訓練手段的不足,同時提高自主維修訓練能力,并促進維修保障能力的快速形成[2]。
自20世紀90年代美國成功實現(xiàn)了哈勃望遠境的虛擬維修訓練,使虛擬維修訓練獲得了廣泛的關(guān)注,成為研究應(yīng)用的熱點[1]。1998年H.Ishii等人對原有虛擬維修訓練系統(tǒng)進行了改進,率先將Petri網(wǎng)引入到虛擬維修訓練過程控制中來,這一思路被廣泛借鑒和引用[3]。
90年代初期,虛擬現(xiàn)實技術(shù)一經(jīng)引入國內(nèi),應(yīng)用重點就集中在虛擬訓練和虛擬維修訓練。軍械工程學院郝建平、李星新等實現(xiàn)了對維修過程的仿真,并形成了沉浸式、桌面式等類型的虛擬維修訓練系統(tǒng)[4-7]。蘇群星等設(shè)計的大型復(fù)雜裝備虛擬維修訓練系統(tǒng)深入研究并提供了基于維修知識描述網(wǎng)的維修知識描述方法和沉浸式虛擬維修訓練系統(tǒng)仿真控制流程[8-9]。此外,國內(nèi)其他研究機構(gòu)也進行了對不同型號裝備的虛擬維修訓練系統(tǒng)的開發(fā)[10-12]。
隨著技術(shù)發(fā)展,虛擬現(xiàn)實引擎逐漸可以承載更復(fù)雜的虛擬環(huán)境,有效提升虛擬維修訓練的沉浸感、交互效果[13]。此外,開發(fā)系統(tǒng)的通用化、標準化也是虛擬維修訓練系統(tǒng)發(fā)展的必然趨勢[14]。
基于上述需求,陸軍工程大學石家莊校區(qū)于2009年發(fā)布“美騰裝備虛擬維修訓練通用平臺”(下文簡稱“美騰平臺”),并持續(xù)完善修改?!懊莉v平臺”具有訓練數(shù)據(jù)開發(fā)、訓練實施與管理兩大核心功能,由美騰數(shù)據(jù)開發(fā)系統(tǒng)和美騰虛擬維修訓練系統(tǒng)組成。美騰數(shù)據(jù)開發(fā)系統(tǒng)支持裝備虛擬維修訓練數(shù)據(jù)的設(shè)計、開發(fā)、管理、發(fā)布。美騰虛擬維修訓練系統(tǒng)提供對機械、電子、液壓等類型復(fù)雜裝備的構(gòu)造原理、操作使用、分解結(jié)合、檢查調(diào)整、故障診斷等5類訓練內(nèi)容的學習、訓練與考核?!懊莉v平臺”可支持桌面式、沉浸式、半實物、觸摸屏式等多種樣式的虛擬維修訓練仿真,可支持多種接口。系統(tǒng)結(jié)構(gòu)設(shè)計如圖1所示。
本文提出一種基于“美騰平臺”的沉浸式虛擬維修訓練系統(tǒng)通用開發(fā)方法,并具體結(jié)合HTC Vive設(shè)備實現(xiàn)沉浸交互。該方法首先利用3ds Max對裝備構(gòu)建三維模型,然后利用Unity 3D實現(xiàn)人機交互并制作成動畫效果,使用“美騰裝備虛擬維修仿真系統(tǒng)”建立基本維修科目、形成訓練流程,最后使用“美騰協(xié)同式裝備虛擬維修訓練通用平臺”開發(fā)并實現(xiàn)沉浸式虛擬維修訓練系統(tǒng)。
相比其他建模軟件,3ds Max創(chuàng)建的模型占用空間小,處理速度快,建立的模型文件具有良好的通用性。故本文選用3ds Max軟件作為建立裝備三維模型的工具軟件。
在沉浸式虛擬維修訓練系統(tǒng)中,為保證參訓人員獲得真實的感受并提高訓練效果,模型的構(gòu)建應(yīng)盡量真實。在模型構(gòu)建的過程中對于虛擬零部件的尺寸、空間位置形態(tài)、裝配關(guān)系、顏色等應(yīng)與實際零部件相符。考慮到裝備本身的復(fù)雜性,同時為了降低內(nèi)存運行負擔、提高仿真模擬效率,要簡化零部件中與虛擬維修訓練科目關(guān)聯(lián)不大的建模標準。例如不構(gòu)建螺栓表面的螺紋模型。此外,完成對維修工具的建模,包括徒手、螺絲刀、扳手、鉗子等。
圖1 系統(tǒng)結(jié)構(gòu)設(shè)計Fig.1 System structure design
通過創(chuàng)建標準基本體、擴展基本體等構(gòu)建裝備的基本外形。此時應(yīng)考慮到各零部件組成之間的裝配關(guān)系、零部件的尺寸大小等實際情況。應(yīng)按照裝配關(guān)系將裝備模型按照層級由小到大構(gòu)建,如“燃油箱-燃油系統(tǒng)-發(fā)動機-動力系統(tǒng)”。對各模型命名時應(yīng)按照實際情況加以區(qū)分,避免出現(xiàn)重復(fù)名,如對于同型號的螺栓編號。
打開材質(zhì)編輯器,對材質(zhì)進行編輯并應(yīng)用于指定的對象。具體材質(zhì)應(yīng)與實際情況相符,包含物理性質(zhì)、特殊效果、變形器參數(shù)、明暗器基本參數(shù)、Blinn基本參數(shù)等。
貼圖處理是為了表現(xiàn)模型對象的細節(jié),同時不增加模型的復(fù)雜度。材質(zhì)的貼圖處理可以使模型的表現(xiàn)更加精細,呈現(xiàn)出趨于真實的紋理效果。貼圖過程中應(yīng)注意貼圖及多邊形之間像素值的適應(yīng)性,避免出現(xiàn)鋸齒現(xiàn)象和像素抖動。
模型優(yōu)化主要是指減少模型的復(fù)雜度,降低計算機的運算量。去除因模型穿插或接觸而看不到的面,例如焊接在一起的2個長方體,接觸的四邊形面可以去除。多段曲線可以利用擠出修改器進行拆分加點、自動平滑。利用MultrRes修改器,調(diào)整頂點百分比和具體的頂點數(shù),達到減少模型面數(shù)的效果。
利用貼圖烘焙呈現(xiàn)出模型的光影效果可以有效減少計算機運算量。具體是指將光照信息渲染成貼圖,再把帶有光照信息的貼圖應(yīng)用到場景中。貼圖烘焙節(jié)省了三維場景中對于光線的計算時間,在不犧牲渲染效果的同時,大大地提高仿真效率。
將在3ds Max中構(gòu)建的三維模型導出為*.FBX格式的文件,并選擇默認設(shè)置,作為下一步交互設(shè)計的素材。
Unity 3D具有良好的3D渲染效果,可實現(xiàn)跨平臺開發(fā),可集合資源種類豐富。所以本文選取Unity 3D作為沉浸式虛擬訓練系統(tǒng)的開發(fā)引擎[15]。
將在3ds Max中建立的模型文件導入到Unity 3D的Project欄下的Assets中,模型就可以作為素材出現(xiàn)在場景構(gòu)建中。將Assets中的素材直接拖拽到Scene視圖中,可以實現(xiàn)場景中的模型建立。
結(jié)合HTC Vive設(shè)備的交互通過Steam VR插件實現(xiàn)。將該插件創(chuàng)建在Project欄中,對該部分進行編寫可以實現(xiàn)控制手柄等功能。
2.2.1 制作VR Camera
將Prefabs中的CameraRig拖拽到場景中,即可作為VR頭戴式顯示器的攝像機使用。在這個預(yù)制體中有3個部分,分別對應(yīng)設(shè)備的左右手柄和頭戴設(shè)備,2個手柄上分別有2個Model,掛載了Render Model腳本,主要用來渲染模型。頭部設(shè)備分為eye和ears,分別對應(yīng)頭戴顯示器的視覺設(shè)備和聽覺設(shè)備。其中Game View腳本用來顯示頭部,Tracked Object腳本用來跟蹤位置。
在攝像機上添加一個腳本,點擊Expand按鈕,將攝像機分為Origin(位置)、Head(頭部)、Eye(眼睛)、Ears(耳朵)4個部分。其中SteamVR _ControllerManager腳本和SteamVR _TrackedObject腳本主要用于設(shè)置和檢測Vive手柄。在Origin上添加2個子對象代表2個Vive手柄,增加SteamVR_TrackedObject腳本。在Origin上添加SteamVR_ControllerManager腳本,設(shè)置左右手柄,完成手柄的集成。
2.2.2 實現(xiàn)手柄控制
Vive手柄由菜單鍵(Application)、觸摸板(Touchpad)、系統(tǒng)鍵/電源鍵(System)、扳機鍵(Trigger)、側(cè)柄鍵(Grip Button)構(gòu)成。獲取某個按鍵的狀態(tài)通過以下代碼實現(xiàn):
var device=SteamVR_Controller.Input(unit);
device.GetTouchDown (SteamVR _ Controller.ButtonMask)
在左右手柄的對象下分別創(chuàng)建一個子對象,子對象上添加SteamVR_RenderModel腳本,根據(jù)需求設(shè)計Shader,實現(xiàn)虛擬場景內(nèi)的手柄模型與現(xiàn)實世界中的手柄位置同步。
2.2.3 工具箱的交互
在虛擬環(huán)境中創(chuàng)建工具箱,工具箱中加入各工具的實體模型。當按下手柄上的制定按鍵時,工具箱作為整體出現(xiàn)在頭戴顯示器視線的正前方,且空間姿態(tài)保持水平。在虛擬環(huán)境中參訓人員用手柄選取某一工具后,工具箱中的該工具模型被取走,工具箱在虛擬場景中消失。
在實現(xiàn)虛擬環(huán)境中的交互后,將建立的項目保存為*.unity格式的文件,作為創(chuàng)建訓練科目的素材。
在實現(xiàn)虛擬維修訓練系統(tǒng)時,應(yīng)首先建立基本的訓練科目,此時選擇“美騰裝備虛擬維修仿真系統(tǒng)”進行開發(fā)。
3.1.1 建立項目
在“美騰裝備虛擬維修仿真系統(tǒng)”中選擇創(chuàng)建新的項目,需要確定項目名稱,同時將Unity 3D生成的*.unity文件導入到“三維場景文件”欄中,完成新項目的建立。如“某型車輛發(fā)動機的修理”。
3.1.2 基于項目工程樹的操作流程建立
新建項目涉及到具體操作流程,其中要選擇仿真內(nèi)容類型,分為維修過程仿真和故障診斷仿真;選擇仿真內(nèi)容涉及模式,分為流程圖式與泳道圖式。如“拆卸發(fā)動機”,針對維修過程仿真,具體虛擬維修流程選擇流程圖式表現(xiàn)。
(1) 項目的準備
項目的準備由場景準備、工具準備、設(shè)備準備。場景準備是指具體選擇的虛擬場景,一般在導入*.unity格式的文件后不需要再進行其他的場景準備。工具準備是指選擇虛擬維修過程中需要用到的工具,如徒手、螺絲刀、鉗子、扳手等,相應(yīng)的工具出現(xiàn)在虛擬環(huán)境中的工具箱內(nèi)。設(shè)備準備是指選擇虛擬維修過程中需要用到的設(shè)備,如千斤頂、發(fā)電機等。
(2) 維修流程信息編輯
在操作流程建立過程中,必須建立每個步驟的基本信息、提示信息和正確反饋信息,可以選擇性建立錯誤反饋信息、幫助信息和資料信息。
基本信息的編輯。首先確定步驟的編號、步驟的名稱及操作人員。然后選擇具體交互方式,分為單擊樣機和回答問題。選擇交互類型,具體有操作、拆卸、裝配、BIT檢測、更換、修理、清洗、擦拭等8種類型。最后確定操作對象。例如對發(fā)動機的更換流程建立,操作流程的第5步為“維修人員翻轉(zhuǎn)駕駛室”,交互方式為手柄點擊虛擬環(huán)境中的駕駛室,交互類型為操作,操作對象為駕駛室。針對上述操作的交互界面如圖2所示。
圖2 編輯基本信息Fig.2 Editing the basic information
提示信息的建立。提示信息分為動畫類、文字類和文件類,用以提示參訓人員下一步的操作。建立動畫類提示信息要明確三維場景、對象名稱、動畫名稱等信息。例如針對翻轉(zhuǎn)駕駛室這一步驟的動畫類提示信息建立,將項目準備階段的*.unity文件拖拽到“三維場景”欄中,對象為駕駛室,動畫名稱為“翻轉(zhuǎn)駕駛室動畫提示”。
設(shè)置正確反饋信息。根據(jù)實際情況建立反饋信息。如“維修人員翻轉(zhuǎn)駕駛室”,當參訓人員正確的操作后,在虛擬環(huán)境中駕駛室被翻轉(zhuǎn)。
(3) 生成維修流程
在正確編輯以上信息后,按照操作規(guī)范建立下一步驟的信息編輯,形成項目的虛擬操作流程。由系統(tǒng)生成的維修流程如圖3所示。
圖3 生成虛擬維修操作流程Fig.3 Generating the operation flow of virtual maintenance
3.1.3 文件的發(fā)布與保存
在“美騰裝備虛擬維修仿真系統(tǒng)”中完成對該訓練科目的編輯后,可以選擇發(fā)布為*.proj格式的文件,可以直接通過美騰平臺打開該文件,查看該訓練科目的動畫效果。也可以選擇生成*.swn格式的壓縮包,用于協(xié)同式虛擬維修訓練平臺的開發(fā),用于實現(xiàn)虛擬維修訓練系統(tǒng)。
實現(xiàn)沉浸式虛擬維修訓練系統(tǒng)時,需要通過“美騰協(xié)同式裝備虛擬維修訓練通用平臺”開發(fā)系統(tǒng)對文中3.1建立的訓練科目進行編輯。
3.2.1 創(chuàng)建并連接服務(wù)器
構(gòu)建服務(wù)器,當維修任務(wù)需要多人同時操作時,可以通過平臺進行協(xié)同。在登錄時需要填寫參訓人員名稱、人員級別等信息。
3.2.2 實現(xiàn)過程
創(chuàng)建數(shù)據(jù)庫并連接數(shù)據(jù)庫。
設(shè)置基礎(chǔ)信息。包括裝備的基本信息,如名稱等;裝備的組成信息,主要構(gòu)建虛擬維修過程中涉及到的零部件信息;人員專業(yè)信息,如機械專業(yè);人員級別信息,具體是指參訓人員所屬級別。進行基本信息設(shè)置的交互界面如圖4所示。
圖4 設(shè)置基本信息Fig.4 Setting the basic information
導入訓練素材。“美騰協(xié)同式裝備虛擬維修訓練通用平臺”開發(fā)系統(tǒng)具有良好的兼容性,可以支持文本、演示文稿、圖片、音頻、視頻等多種訓練素材的導入。在實現(xiàn)沉浸式虛擬維修訓練系統(tǒng)的過程中,需要導入“美騰裝備虛擬維修仿真系統(tǒng)”生成的*.swn格式的壓縮包。
制作訓練內(nèi)容。選擇訓練類型,包括描述類、虛擬維修操作、故障診斷3類。選擇內(nèi)容類型,包括系統(tǒng)結(jié)構(gòu)、工作原理、操作使用等8種。
設(shè)置訓練課程。首先添加訓練數(shù)據(jù)包,該過程需要具體的名稱和圖片。然后進行課程設(shè)計,在工程項目下帶有講解演示、自主學習、引導式訓練、自主訓練、自測、考核等6種訓練模式,將需要的訓練項目拖拽到相應(yīng)的訓練模式下。例如構(gòu)建“自主訓練-拆卸履帶”訓練課程項目。
此外還有訓練資源管理模塊,主要針對技術(shù)資料的存儲;試題管理模塊,可以生成單選題、多選題、判斷題、填空題、操作題、排故題等題型;用戶管理模塊,建立不同的用戶,可進行權(quán)限設(shè)置;幫助模塊??筛鶕?jù)需要進行相應(yīng)設(shè)置。對維修訓練資源的管理界面如圖5所示。
圖5 訓練資源管理Fig.5 Training resource management
3.2.3 文件發(fā)布
由數(shù)據(jù)發(fā)布管理模塊發(fā)布軟件,生成一個ResouceX格式的數(shù)據(jù)包,在美騰平臺目錄中打開該數(shù)據(jù)包可以進行虛擬維修訓練。
開發(fā)本文設(shè)計的沉浸式虛擬維修系統(tǒng)的硬件開發(fā)環(huán)境為:操作系統(tǒng)為64位Windows 7;處理器為Inter Core i5-4590 CPU@3.30GHz;顯示適配器為NVIDIA GeForce GT 630 MB;安裝內(nèi)存(RAM)為4.00 GB。主要外設(shè)為HTC Vive頭戴式顯示器。軟件部分包括:模型開發(fā)軟件3ds Max 2012,虛擬引擎Unity 3D 5.1.0f3,Visual Studio 2012,“美騰裝備虛擬維修訓練通用平臺開發(fā)系統(tǒng)”。
本文結(jié)合某型自行高炮具體實現(xiàn)了沉浸式虛擬維修訓練系統(tǒng)。
首先進行訓練前的準備。具體流程為:用戶登錄;選擇訓練模式、裝備、具體專業(yè);構(gòu)建并加入局域網(wǎng);選擇交互方式,分為鍵盤鼠標、頭戴式顯示器及手柄、數(shù)據(jù)手套等3種。界面如圖6所示。
圖6 訓練前準備Fig.6 Preparation before training
參訓人員進入沉浸式虛擬維修訓練后如圖7所示。在沉浸式虛擬訓練過程中,工具箱如圖8所示,選取工具后對零部件操作,當選取錯誤部件時如圖9所示。在虛擬訓練過程中可以隨時查看維修操作的流程提示,已完成的操作變?yōu)榫G色,如圖10所示。全部操作人員完成維修訓練后,有對每名參訓人員操作過程的評分,如圖11所示。
圖7 實現(xiàn)沉浸式虛擬維修訓練系統(tǒng)Fig.7 Realization of immersive virtual maintenance system
圖8 工具箱Fig.8 Toolbox
圖9 選取錯誤零件提示Fig.9 Prompt information of selecting the false component
圖10 維修操作流程提示Fig.10 Prompt information of maintenance operation flow
圖11 訓練后評分Fig.11 Scoring after training
在虛擬維修訓練過程中,參訓人員與虛擬環(huán)境的交互真實感強,沒有延時感,操作結(jié)束后的評分公正。系統(tǒng)在保證訓練嚴肅性的同時增加了訓練的趣味性,有助于提高訓練效率。可以實現(xiàn)虛擬環(huán)境中的講解演示、自主學習、引導式訓練、自主訓練、自測、考核等,有效鞏固參訓人員訓練效果。
基于“美騰平臺”的裝備虛擬維修訓練系統(tǒng)開發(fā)可以實現(xiàn)過程統(tǒng)一、平臺通用、數(shù)據(jù)共享?!懊莉v平臺”通用化、模塊化水平較高:開發(fā)系統(tǒng)可以支持多種格式的文件,通過簡單的素材導入就可以實現(xiàn)多種格式文件的讀?。辉陂_發(fā)過程中,開發(fā)人員可以不具備計算機編程知識,通過對資源的整合就可以實現(xiàn)虛擬維修訓練系統(tǒng)的開發(fā),簡化了開發(fā)流程,提高了開發(fā)效率。
本文提出了一種基于“美騰裝備虛擬維修訓練通用平臺”的裝備沉浸式虛擬維修訓練系統(tǒng)開發(fā)通用方法,可實現(xiàn)多人協(xié)同、多種訓練模式的虛擬維修訓練,也可以支持桌面式、觸摸屏式、半實物虛擬維修訓練。該方法可以有效彌補傳統(tǒng)維修訓練手段的不足,提高自主維修訓練能力,促進維修保障能力的快速形成。