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

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

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

圖3 人機交互接口系統圖
姿態捕捉系統主要用于捕捉人體軀干、手腳等主要關節的運動過程。以姿態捕捉系統為基礎,實現人員在模擬設備場景中的行走和運動。人物動作、姿態數據的收集通過PerceptionAxis捕捉軟件實現,并通過傳輸控制協議/網際 協 議(Transmission Control Protocol/Internet Protocol,TCP/IP)與Unity軟件進行數據通信,在Unity軟件中對人物動作、姿態數據進行修正,得出各關節的位置和旋轉信息,進而驅動人體模型。具體過程如圖4所示。

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