蘇 琪
(中國(guó)船舶集團(tuán)有限公司第七一五研究所,杭州 310000)
基于虛擬現(xiàn)實(shí)的機(jī)電系統(tǒng)仿真主要通過(guò)虛擬現(xiàn)實(shí)技術(shù)[1-2]、智能穿戴技術(shù)和分布式計(jì)算機(jī)仿真技術(shù),實(shí)現(xiàn)系統(tǒng)的全流程交互式仿真分析和沉浸式實(shí)景仿真作業(yè)模擬。系統(tǒng)按真實(shí)場(chǎng)景的實(shí)際尺寸構(gòu)建虛擬模型,在設(shè)計(jì)開(kāi)發(fā)階段可以作為驗(yàn)證設(shè)備結(jié)構(gòu)、布局、控制流程等是否合理的重要工具,對(duì)設(shè)備的適應(yīng)性研究提供設(shè)計(jì)依據(jù)。系統(tǒng)支持多人協(xié)同操作,可為操作人員全面熟悉實(shí)際裝備的功能、結(jié)構(gòu)和組成,快速掌握裝備操作、維護(hù)、保養(yǎng)及應(yīng)急安全處理方法,提供重要的技術(shù)支撐,是在裝備制造完成后作為輔助培訓(xùn)和模擬操作訓(xùn)練的重要裝備。
姿態(tài)捕捉控制設(shè)備中包括動(dòng)作捕捉設(shè)備、數(shù)據(jù)手柄和數(shù)據(jù)手套。人機(jī)交互接口與服務(wù)器具體的連接形式如圖1所示。

圖1 人機(jī)交互接口與服務(wù)器連接示意圖
軟件主要實(shí)現(xiàn)對(duì)三維模型的驅(qū)動(dòng)、實(shí)際工況的模擬、場(chǎng)景視角的切換、遠(yuǎn)程通信、捕捉設(shè)備數(shù)據(jù)收集與人物模型驅(qū)動(dòng)等功能[3],包括作業(yè)模擬仿真軟件、人機(jī)交互接口軟件、模型計(jì)算和接口控制軟件以及控制模擬軟件。
人機(jī)交互接口主要負(fù)責(zé)獲取人物動(dòng)作、手部關(guān)節(jié)、姿態(tài)信息,驅(qū)動(dòng)人物模型并實(shí)時(shí)渲染場(chǎng)景到相應(yīng)的顯示設(shè)備;作業(yè)模擬仿真軟件負(fù)責(zé)完成對(duì)模擬操作的響應(yīng)、三維模型的驅(qū)動(dòng)及實(shí)際工況的模擬;模型計(jì)算和接口控制軟件負(fù)責(zé)完成對(duì)作業(yè)模擬仿真軟件、控制模擬軟件發(fā)送的數(shù)據(jù)進(jìn)行分析、處理,并傳遞給相應(yīng)的接收端;控制模擬軟件能夠接收操作人員的面板控制輸入指令,并相應(yīng)地控制整個(gè)三維場(chǎng)景和模型的作業(yè)流程,同時(shí)正確顯示系統(tǒng)中的各項(xiàng)狀態(tài)參數(shù)。
3.2.1 作業(yè)模擬仿真軟件系統(tǒng)的總體結(jié)構(gòu)
基于虛擬現(xiàn)實(shí)的機(jī)電系統(tǒng)仿真建立在Unity3D平臺(tái)基礎(chǔ)上,輔以C#語(yǔ)言編寫的腳本程序,實(shí)現(xiàn)模型的驅(qū)動(dòng)、物理效果的計(jì)算、動(dòng)畫渲染、人機(jī)接口控制、通信和動(dòng)作響應(yīng)[4]。
接口控制軟件實(shí)時(shí)接收輸入指令和運(yùn)動(dòng)控制參數(shù),并將其發(fā)送至數(shù)字仿真計(jì)算程序。數(shù)字仿真計(jì)算程序通過(guò)對(duì)輸入指令和運(yùn)動(dòng)控制參數(shù)進(jìn)行處理,調(diào)用其對(duì)應(yīng)的三維模型和數(shù)字模型,在物理引擎的輔助下,實(shí)現(xiàn)模型碰撞、鉸接、受力等模擬物理效果,實(shí)時(shí)計(jì)算出該模型的各項(xiàng)參數(shù)如速度、方向等,并將這些物理狀態(tài)參數(shù)發(fā)送至虛擬現(xiàn)實(shí)仿真子系統(tǒng)中。虛擬現(xiàn)實(shí)仿真子系統(tǒng)根據(jù)各模型對(duì)應(yīng)的狀態(tài)參數(shù),對(duì)三維模型進(jìn)行渲染和顯示,并將模型反饋參數(shù)發(fā)送到數(shù)字仿真計(jì)算程序中,經(jīng)數(shù)字仿真計(jì)算程序處理后,將狀態(tài)信息(位置、速度等)發(fā)送至通信接口控制服務(wù)器軟件。圖2為虛擬現(xiàn)實(shí)仿真軟件系統(tǒng)總體結(jié)構(gòu)。

圖2 作業(yè)模擬仿真軟件系統(tǒng)的總體結(jié)構(gòu)
3.2.2 三維模型和數(shù)字模型
基于虛擬現(xiàn)實(shí)的機(jī)電系統(tǒng)仿真內(nèi)部存有各個(gè)子系統(tǒng)的三維模型和數(shù)字模型。三維模型是按照實(shí)物模型1:1比例構(gòu)建,外觀與實(shí)物模型保持一致。數(shù)字模型是在三維模型的基礎(chǔ)上,添加相應(yīng)的物理特性,如剛體、關(guān)節(jié)、碰撞體以及材質(zhì)等。數(shù)字仿真計(jì)算程序根據(jù)不同的控制指令,分別調(diào)用不同的三維模型及相應(yīng)的數(shù)字模型,在初始階段初始化數(shù)字模型的狀態(tài)值及標(biāo)志位。系統(tǒng)啟動(dòng)后,按照幀率時(shí)間間隔逐幀掃描控制標(biāo)志位,在虛擬現(xiàn)實(shí)仿真子系統(tǒng)中更新設(shè)備運(yùn)行工況,按照固定物理時(shí)間間隔進(jìn)行物理計(jì)算,并刷新設(shè)備物理狀態(tài)。
通過(guò)在Unity中建立三維模擬結(jié)構(gòu)的虛擬現(xiàn)實(shí)場(chǎng)景,并與姿態(tài)捕捉系統(tǒng)、數(shù)據(jù)手套、頭戴顯示器及數(shù)據(jù)手柄等人機(jī)交互設(shè)備連接,工程人員可以沉浸到虛擬現(xiàn)實(shí)場(chǎng)景,實(shí)現(xiàn)對(duì)設(shè)備的交互式操作,與三維模擬結(jié)構(gòu)的虛擬現(xiàn)實(shí)場(chǎng)景進(jìn)行沉浸式交互。系統(tǒng)如圖3所示。

圖3 人機(jī)交互接口系統(tǒng)圖
姿態(tài)捕捉系統(tǒng)主要用于捕捉人體軀干、手腳等主要關(guān)節(jié)的運(yùn)動(dòng)過(guò)程。以姿態(tài)捕捉系統(tǒng)為基礎(chǔ),實(shí)現(xiàn)人員在模擬設(shè)備場(chǎng)景中的行走和運(yùn)動(dòng)。人物動(dòng)作、姿態(tài)數(shù)據(jù)的收集通過(guò)PerceptionAxis捕捉軟件實(shí)現(xiàn),并通過(guò)傳輸控制協(xié)議/網(wǎng)際 協(xié) 議(Transmission Control Protocol/Internet Protocol,TCP/IP)與Unity軟件進(jìn)行數(shù)據(jù)通信,在Unity軟件中對(duì)人物動(dòng)作、姿態(tài)數(shù)據(jù)進(jìn)行修正,得出各關(guān)節(jié)的位置和旋轉(zhuǎn)信息,進(jìn)而驅(qū)動(dòng)人體模型。具體過(guò)程如圖4所示。

圖4 人物模型驅(qū)動(dòng)程序結(jié)構(gòu)圖
數(shù)據(jù)手套用于較為精確地捕捉人手部和手指關(guān)節(jié)的運(yùn)動(dòng)過(guò)程,從而實(shí)現(xiàn)在模擬設(shè)備場(chǎng)景中較為精細(xì)的操作。通過(guò)手套上的傳感器獲取手指彎曲角度,采用C++編寫通信程序,與本地Unity軟件進(jìn)行通信。隨后在Unity軟件中完成數(shù)據(jù)修正,并實(shí)時(shí)驅(qū)動(dòng)人物手部運(yùn)動(dòng)。
通過(guò)數(shù)據(jù)手柄可以實(shí)現(xiàn)對(duì)虛擬設(shè)備和虛擬人體的運(yùn)動(dòng)控制,主要用于操作驗(yàn)證、空間和布局分析等。數(shù)據(jù)手柄在Unity軟件中有專用的接口,可在程序中編寫控制程序定義手柄按鈕的功能,實(shí)現(xiàn)人物的大范圍移動(dòng)和視角的切換。
頭戴顯示器通過(guò)官方提供的開(kāi)發(fā)包實(shí)現(xiàn)與Unity3D軟件之間的連接,在頭戴顯示器中設(shè)置雙攝像機(jī)模擬人眼雙目視覺(jué),并在Unity軟件中設(shè)置相應(yīng)參數(shù),從而完成沉浸式人機(jī)交互[5]。
通過(guò)姿態(tài)捕捉設(shè)備、手套和頭戴顯示器,操作人員可實(shí)現(xiàn)虛擬人物在虛擬場(chǎng)景中的交互。交互技術(shù)的實(shí)現(xiàn)主要通過(guò)碰撞檢測(cè)、觸發(fā)器碰撞檢測(cè)以及邏輯處理算法實(shí)現(xiàn)。
人機(jī)交互實(shí)際操作過(guò)程中,由于物理引擎和外部人物捕捉之間的沖突,會(huì)出現(xiàn)虛擬場(chǎng)景中人物穿越虛擬物體的現(xiàn)象。考慮到實(shí)際過(guò)程中的合理性與可靠性,將對(duì)其進(jìn)行以下處理。首先,虛擬場(chǎng)景中人物即將穿越物體時(shí),屏幕中將會(huì)出現(xiàn)違法操作提示,提示過(guò)程不符合實(shí)際。其次,虛擬場(chǎng)景中人物已穿越物體時(shí),人物捕捉系統(tǒng)將停止工作,人物模型靜止。最后,虛擬場(chǎng)景中人物將要離開(kāi)物體時(shí),判斷其距離符合條件時(shí),即可恢復(fù)人物捕捉,驅(qū)動(dòng)人物模型。
本系統(tǒng)的設(shè)計(jì)方案實(shí)現(xiàn)了機(jī)電系統(tǒng)的全流程交互式仿真分析和沉浸式實(shí)景仿真作業(yè)模擬,在產(chǎn)品的設(shè)計(jì)開(kāi)發(fā)階段可以作為驗(yàn)證設(shè)備結(jié)構(gòu)、布局、控制流程等是否合理的重要工具,為設(shè)備的適應(yīng)性研究提供設(shè)計(jì)依據(jù),為操作人員全面熟悉實(shí)際裝備的功能、結(jié)構(gòu)和組成及快速掌握裝備操作、維護(hù)、保養(yǎng)和應(yīng)急安全處理方法提供重要的技術(shù)支撐,同時(shí)可在裝備制造完成后用于輔助培訓(xùn)和模擬操作訓(xùn)練。