劉 濤,蔡 杰
(中國(guó)船舶集團(tuán)有限公司第七一三研究所,河南鄭州 450015)
近年來(lái),隨著我國(guó)海軍力量建設(shè)的不斷增強(qiáng),各種新型的艦船、艦載設(shè)備和武器系統(tǒng)陸續(xù)交付使用,呈現(xiàn)出數(shù)量大、范圍廣、型號(hào)多等特點(diǎn)。在大批次、多型號(hào)的艦載武器交付部隊(duì)的同時(shí),僅僅是做好了萬(wàn)里長(zhǎng)征第一步,隨之而來(lái)的是部隊(duì)如何進(jìn)行裝備的使用操作、維護(hù)保養(yǎng)、故障維修等問(wèn)題,要做到會(huì)用、會(huì)保、會(huì)修,這樣才能發(fā)揮裝備的性能,使裝備保持戰(zhàn)斗力。在當(dāng)前的國(guó)內(nèi)外形勢(shì)下,多頻次、高強(qiáng)度用裝備訓(xùn)練成為一種常態(tài),為保證裝備功能、性能發(fā)揮和戰(zhàn)斗力有效形成,裝備的日常訓(xùn)練及訓(xùn)練效果的重要性越來(lái)越突出。長(zhǎng)期以來(lái),各類(lèi)裝備的培訓(xùn)都以理論學(xué)習(xí)和實(shí)裝操作為主[1]。理論培訓(xùn)多以使用說(shuō)明書(shū)、圖冊(cè)為主,手段單一、低效、交互性差;實(shí)裝操作對(duì)裝備和材料損耗大,訓(xùn)練成本高,操作風(fēng)險(xiǎn)大,且受時(shí)間和環(huán)境的限制。在裝備的操作、維修等環(huán)節(jié),需要多人協(xié)同作業(yè),相互之間的協(xié)作能力差,配合不默契。在目前的培訓(xùn)方式下,培訓(xùn)效果不理想。同時(shí),部隊(duì)一線作戰(zhàn)人員存在著流動(dòng)性大、換崗調(diào)動(dòng)頻繁等問(wèn)題,在該形勢(shì)下,如何快速的使學(xué)員掌握裝備,使裝備快速形成并保持戰(zhàn)斗力十分重要。
虛擬現(xiàn)實(shí)技術(shù)具有良好的經(jīng)濟(jì)型、可控性、安全性、靈活性、便利性等特點(diǎn),而且不受空間、場(chǎng)地、天氣的限制[2-3]。利用虛擬現(xiàn)實(shí)進(jìn)行將虛擬現(xiàn)實(shí)培訓(xùn)技術(shù)引入到培訓(xùn)中,能較好的解決武器裝備在培訓(xùn)中存在的問(wèn)題,充分調(diào)動(dòng)學(xué)員學(xué)習(xí)的積極性和主動(dòng)性,提升學(xué)員之間的相互協(xié)作能力,達(dá)到以練促訓(xùn)、以訓(xùn)促戰(zhàn)的目的。
針對(duì)以上問(wèn)題,以某型艦載武器裝備為研究對(duì)象,基于虛擬現(xiàn)實(shí)技術(shù),構(gòu)建一種沉浸式虛擬協(xié)同培訓(xùn)系統(tǒng),從而解決裝備在培訓(xùn)中存在的戰(zhàn)訓(xùn)矛盾、交互性差、訓(xùn)練成本高,操作風(fēng)險(xiǎn)大等問(wèn)題,使戰(zhàn)士的日常訓(xùn)練不再受空間、時(shí)間、環(huán)境和裝備限制,讓訓(xùn)練更加有效、考核更加科學(xué)、效果更加顯著,掌握裝備操作技能、協(xié)作能力,使得裝備真正保持戰(zhàn)斗力。
Unity 3D 是由Unity Technologies 公司開(kāi)發(fā)的專(zhuān)業(yè)跨平臺(tái)游戲開(kāi)發(fā)及虛擬現(xiàn)實(shí)引擎[4],具有用戶界面直觀、文件格式豐富、跨平臺(tái)性好、靈活性強(qiáng)、性能高等特點(diǎn),支持多種腳本開(kāi)發(fā)語(yǔ)言和多種平臺(tái)發(fā)布[5]。
數(shù)據(jù)庫(kù)(Database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),進(jìn)行數(shù)據(jù)結(jié)構(gòu)的管理、分析和鏈接,具有數(shù)據(jù)的共享和集中控制,減少數(shù)據(jù)的冗余度,保持?jǐn)?shù)據(jù)的獨(dú)立性、可維護(hù)性以及故障恢復(fù)等特點(diǎn)[6]。目前數(shù)據(jù)庫(kù)管理軟件主要有SQL Server、Access、Oracle、MySQL 等,其中,MySQL 以其開(kāi)源性、體積小、速度快、高效性、便捷性等特點(diǎn)得到廣泛的應(yīng)用。綜合以上特點(diǎn),采用MySQL 進(jìn)行數(shù)據(jù)管理。
通過(guò)以上分析,針對(duì)設(shè)計(jì)的沉浸式虛擬協(xié)同培訓(xùn)系統(tǒng)的應(yīng)用需求,采用虛擬現(xiàn)實(shí)技術(shù)、分布式交互技術(shù)、數(shù)據(jù)庫(kù)管理技術(shù),開(kāi)展沉浸式虛擬培訓(xùn)系統(tǒng)開(kāi)發(fā)技術(shù)研究,重點(diǎn)研究裝備虛擬培訓(xùn)仿真架構(gòu)技術(shù)、裝備虛擬培訓(xùn)仿真系統(tǒng)建模技術(shù)、基于VR(Virtual Reality,虛擬現(xiàn)實(shí))的虛擬訓(xùn)練交互技術(shù)。以某型艦載武器裝備為對(duì)象,通過(guò)Unity 3D 開(kāi)發(fā)引擎進(jìn)行虛擬培訓(xùn)系統(tǒng)的開(kāi)發(fā)工作,實(shí)現(xiàn)裝備在使用和維修中的教學(xué)、訓(xùn)練等功能;并通過(guò)網(wǎng)絡(luò)通信技術(shù)上使多用戶之間數(shù)據(jù)互聯(lián)互通,實(shí)現(xiàn)多人虛擬系統(tǒng)交互功能;利用MySQL 數(shù)據(jù)庫(kù)進(jìn)行培訓(xùn)要素綜合管理;使用VR 硬件設(shè)備進(jìn)行虛擬培訓(xùn),總體方案設(shè)計(jì)如圖1 所示。
圖1 總體方案設(shè)計(jì)
系統(tǒng)架構(gòu)是整個(gè)虛擬培訓(xùn)系統(tǒng)的核心,體現(xiàn)在數(shù)據(jù)來(lái)源、方案規(guī)劃、VR 仿真、裝備聯(lián)調(diào)和數(shù)據(jù)與接口管理方面。系統(tǒng)采用模塊化設(shè)計(jì)思想,模塊之間耦合度低,便于后續(xù)擴(kuò)展維護(hù)。采用MVC 三層結(jié)構(gòu)設(shè)計(jì)模式,軟件程序代碼重復(fù)利用率高[7]??傮w的結(jié)構(gòu)框架如圖2 所示。
圖2 系統(tǒng)結(jié)構(gòu)框架
(1)數(shù)據(jù)層。數(shù)據(jù)層是整個(gè)系統(tǒng)的基礎(chǔ),根據(jù)不同數(shù)據(jù)類(lèi)型、管理需求、組織維護(hù)等要求,采用MySQL 數(shù)據(jù)庫(kù)對(duì)人員信息庫(kù)、裝備信息庫(kù)、故障信息庫(kù)、維修方案庫(kù)和教學(xué)管理庫(kù)進(jìn)行培訓(xùn)要素管理,完成系統(tǒng)基礎(chǔ)數(shù)據(jù)表設(shè)計(jì)。
(2)運(yùn)行基礎(chǔ)平臺(tái)層。運(yùn)行基礎(chǔ)平臺(tái)層主要提供裝備虛擬仿真技術(shù)軟件平臺(tái)的底層支持平臺(tái)和硬件支持平臺(tái),提供相應(yīng)數(shù)據(jù)接口,采用目前采用的.NetFrame 框架,基于Unity3D 三維引擎開(kāi)發(fā)技術(shù),實(shí)現(xiàn)虛擬現(xiàn)實(shí)技術(shù)展現(xiàn)。VR 平臺(tái)主要包括頭盔類(lèi)設(shè)備、定位類(lèi)設(shè)備、動(dòng)作捕捉類(lèi)、力反饋類(lèi)設(shè)備等相關(guān)設(shè)備及接口開(kāi)發(fā)。主要實(shí)現(xiàn)方法是利用.NetFrame 框架作為底層及數(shù)據(jù)訪問(wèn)層進(jìn)行科學(xué)化管理;基于Unity3D 的開(kāi)發(fā)引擎平臺(tái),建立相關(guān)三維仿真場(chǎng)景,模擬相關(guān)裝備的作業(yè)動(dòng)作,通過(guò)三維建模工具創(chuàng)建相應(yīng)的武器裝備虛擬模型,利用網(wǎng)絡(luò)化服務(wù)進(jìn)行裝備模型驅(qū)動(dòng),以VR 相關(guān)硬件設(shè)備進(jìn)行整個(gè)裝備維修保障作業(yè)仿真的三維動(dòng)態(tài)展示。
(3)業(yè)務(wù)層。業(yè)務(wù)層是整個(gè)系統(tǒng)的核心功能,主要針對(duì)裝備維修數(shù)據(jù)維護(hù)、教學(xué)管理、訓(xùn)練管理、考核管理、協(xié)同管理等方面進(jìn)行系統(tǒng)整體架構(gòu)設(shè)計(jì)。實(shí)現(xiàn)裝備模擬維修、訓(xùn)練、考核的規(guī)范化與科學(xué)化。
設(shè)計(jì)的沉浸式虛擬協(xié)同培訓(xùn)系統(tǒng),其培訓(xùn)內(nèi)容涵蓋該型裝備的整個(gè)培訓(xùn)過(guò)程,包括理論培訓(xùn)、實(shí)操培訓(xùn)和維修培訓(xùn),同時(shí)輔之以語(yǔ)音、問(wèn)題等交互元素對(duì)學(xué)員進(jìn)行操作注意事項(xiàng)或錯(cuò)誤事項(xiàng)提示,實(shí)現(xiàn)學(xué)員對(duì)裝備的規(guī)范化操作。在學(xué)員完成系統(tǒng)培訓(xùn)后進(jìn)行相應(yīng)的課程考核,記錄相應(yīng)成績(jī)并進(jìn)行綜合評(píng)判。主要包括UI、基本功能、多人協(xié)同等功能模塊。主要模塊如圖3 所示。
圖3 主要模塊
(1)UI 模塊。使用Unity 3D 開(kāi)發(fā)引擎中的UGUI 模塊進(jìn)行用戶界面制作和功能開(kāi)發(fā),實(shí)現(xiàn)主界面和各分界面之間的頁(yè)面切換功能;點(diǎn)擊Button、Toggle 等UI 元素實(shí)現(xiàn)軟件功能的調(diào)整和選取功能;實(shí)現(xiàn)多個(gè)虛擬場(chǎng)景之間的切換功能;實(shí)現(xiàn)培訓(xùn)過(guò)程中向?qū)W員顯示操作提示信息等培訓(xùn)系統(tǒng)與用戶之間的交互等功能。
(2)基本功能模塊。主要包括虛擬培訓(xùn)系統(tǒng)基本的功能模塊,如教學(xué)管理、訓(xùn)練管理和維修管理,以及各個(gè)功能模塊包含的基本內(nèi)容,涵蓋武器裝備培訓(xùn)的全過(guò)程。模塊功能組成如圖4所示。
圖4 模塊功能組成
根據(jù)培訓(xùn)系統(tǒng)的功能要求進(jìn)行系統(tǒng)核心數(shù)據(jù)表設(shè)計(jì),利用MySQL 數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)表的創(chuàng)建工作,核心數(shù)據(jù)表舉例見(jiàn)表1。
表1 核心數(shù)據(jù)表舉例
以學(xué)員信息表、成績(jī)信息表和裝備屬性信息為例,描述信息表中相應(yīng)的字段名、字段類(lèi)型、約束類(lèi)型及含義描述。學(xué)員信息表記錄學(xué)員的登陸名、登陸密碼及學(xué)習(xí)時(shí)長(zhǎng),完成系統(tǒng)登陸時(shí)的身份驗(yàn)證功能,并根據(jù)學(xué)員的登陸名將其在進(jìn)行培訓(xùn)考核的理論分?jǐn)?shù)、實(shí)操分?jǐn)?shù)、維修分?jǐn)?shù)進(jìn)行記錄,為學(xué)員水平的綜合評(píng)定進(jìn)行數(shù)據(jù)積累。學(xué)員信息表見(jiàn)表2,成績(jī)信息表見(jiàn)表3。
表2 學(xué)員信息表
表3 成績(jī)信息表
2.2.1 教學(xué)管理
教學(xué)管理模塊主要包括登陸系統(tǒng)、理論學(xué)習(xí)等6 個(gè)分模塊,主要功能及實(shí)現(xiàn)方式如下:
(1)登陸系統(tǒng)。采用Unity 3D 中的UGUI 組件并結(jié)合MySQL數(shù)據(jù)庫(kù)技術(shù)進(jìn)行登陸系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)培訓(xùn)系統(tǒng)的受訓(xùn)人員范圍掌控和保障培訓(xùn)系統(tǒng)安全的同時(shí),能夠記錄受訓(xùn)人員的培訓(xùn)學(xué)習(xí)情況。
(2)理論學(xué)習(xí)和考核。采用Unity 3D 中的UGUI 組件將該型裝備的說(shuō)明書(shū)、原理圖、實(shí)物圖等培訓(xùn)資料進(jìn)行電子化顯示,實(shí)現(xiàn)基礎(chǔ)原理理論學(xué)習(xí)、查詢功能。為實(shí)現(xiàn)對(duì)學(xué)員理論學(xué)習(xí)的實(shí)際掌握程度的把握,依據(jù)相關(guān)考試項(xiàng)目的相關(guān)規(guī)定,采用Unity 3D 中的Toogle、Input Field 等UI 控件進(jìn)行理論考核。
(3)成績(jī)查詢及教學(xué)計(jì)劃。采用MySQL 數(shù)據(jù)庫(kù)技術(shù)記錄學(xué)員在理論知識(shí)、裝備操作以及維修保障方面的培訓(xùn)成績(jī),采用Unity 3D 中的Button、Text 等UI 控件查詢學(xué)員成績(jī)并顯示結(jié)果,根據(jù)學(xué)員培訓(xùn)的綜合情況查漏補(bǔ)缺制定專(zhuān)項(xiàng)教學(xué)計(jì)劃。
2.2.2 訓(xùn)練管理
訓(xùn)練管理模塊主要為學(xué)員提供裝備操作方面的運(yùn)行環(huán)境,依據(jù)裝備的實(shí)操培訓(xùn)和考核的流程進(jìn)行,包括演示模式、訓(xùn)練模式、考核模式、考核評(píng)估等4 個(gè)分模塊,主要功能及實(shí)現(xiàn)方式如下:
(1)演示模式。針對(duì)裝備的動(dòng)態(tài)原理圖、工作過(guò)程、操作過(guò)程,構(gòu)建生動(dòng)逼真的二維、三維場(chǎng)景進(jìn)行直觀展現(xiàn),同時(shí)借助三維動(dòng)畫(huà)、聲音、文本等多媒體技術(shù)的展現(xiàn)形式加深學(xué)習(xí)印象提升培訓(xùn)效果。此外,為便于學(xué)員針對(duì)關(guān)鍵操作流程進(jìn)行選擇性、重復(fù)性學(xué)習(xí),提升學(xué)習(xí)效率,在該模塊具備演示流程的播放、快播、慢播、暫停、回放等功能,系統(tǒng)采用Unity3D 中的DOTween 工具插件進(jìn)行功能開(kāi)發(fā)。功能控制表見(jiàn)表4。
表4 功能控制表
(2)訓(xùn)練模式。在該模式下,學(xué)員可在虛擬場(chǎng)景中行走并自行操控虛擬場(chǎng)景中的工具、零件、按鈕等對(duì)象,進(jìn)行裝備的操作或拆裝訓(xùn)練。分別創(chuàng)建了操作流程控制類(lèi)(StatusRecord_Controller)和操作提示信息類(lèi)(PromptMessage_Controller),訓(xùn)練流程如圖5 所示,通過(guò)Int 值進(jìn)行步驟檢索,判斷學(xué)員操作步驟的正確性,并根據(jù)訓(xùn)練情況進(jìn)行操作事項(xiàng)提醒。學(xué)員進(jìn)行具體操作時(shí),控制類(lèi)會(huì)首先判斷是否滿足觸發(fā)條件,當(dāng)條件滿足時(shí),學(xué)員才可進(jìn)行該步驟的操作;當(dāng)條件不滿足時(shí),信息類(lèi)會(huì)彈出操作錯(cuò)誤和正確操作步驟,通過(guò)反復(fù)的訓(xùn)練進(jìn)而規(guī)范學(xué)員對(duì)裝備的操作流程,固化操作方法,實(shí)現(xiàn)裝備的訓(xùn)練功能。
圖5 訓(xùn)練流程
(3)考核模式。為考核學(xué)員的實(shí)際掌握程度,在訓(xùn)練模式的基礎(chǔ)上,將取消操作提示信息類(lèi)(PromptMessage_Controller),由學(xué)員進(jìn)行自行操作。同時(shí)取消操作流程控制類(lèi)(Status-Record_Controller),并針對(duì)裝備的各個(gè)操作過(guò)程分別計(jì)以分值,根據(jù)學(xué)員的具體操作情況進(jìn)行分?jǐn)?shù)統(tǒng)計(jì),實(shí)現(xiàn)單機(jī)考核。
(4)考核評(píng)估。根據(jù)學(xué)員單機(jī)考核的情況,從操作的正確性、操作時(shí)間等方面進(jìn)行整體評(píng)估。將裝備使用操作等方面需要學(xué)員掌握的技能進(jìn)行低、中、高分級(jí)劃分,對(duì)學(xué)員的培訓(xùn)情況進(jìn)行等級(jí)劃分,判斷學(xué)員技能的盲點(diǎn)或薄弱環(huán)節(jié),有針對(duì)性的進(jìn)行補(bǔ)充學(xué)習(xí)提醒。
2.2.3 維修管理
維修管理模塊主要為學(xué)員提供有關(guān)裝備的故障維修操作方面的培訓(xùn),并進(jìn)行裝備的排故考核,包括演示模式、訓(xùn)練模式、考核模式、考核評(píng)估等4 個(gè)分模塊,綜合提升學(xué)員從故障現(xiàn)象入手判斷并排除故障的能力。維修管理模塊的實(shí)現(xiàn)原理與訓(xùn)練管理模塊一致,其原理不再進(jìn)行詳細(xì)說(shuō)明。
在虛擬訓(xùn)練環(huán)境中,各個(gè)虛擬對(duì)象進(jìn)行裝備的虛擬操作。通過(guò)協(xié)同技術(shù)實(shí)現(xiàn)整個(gè)場(chǎng)景中的維修、訓(xùn)練操作同步,并且在場(chǎng)景中解決虛擬對(duì)象、虛擬裝備、虛擬工具等虛擬實(shí)體的實(shí)時(shí)狀態(tài)、操作姿態(tài)等特性傳輸問(wèn)題。
在裝備典型結(jié)構(gòu)的訓(xùn)練環(huán)境中,多人協(xié)作維修訓(xùn)練功能主要體現(xiàn)在協(xié)同環(huán)境下的數(shù)據(jù)實(shí)時(shí)同步實(shí)現(xiàn)方面。而協(xié)同環(huán)境主要是指定物體或?qū)ο箝g的信息交互的基礎(chǔ),數(shù)據(jù)是指不同對(duì)象在三維場(chǎng)景中方位信息(視圖的相對(duì)坐標(biāo)和世界絕對(duì)坐標(biāo))、運(yùn)動(dòng)信息(靜態(tài)和動(dòng)態(tài))和相關(guān)聯(lián)屬性(規(guī)則狀態(tài)),其中涉及武器裝備資源數(shù)據(jù)較多,實(shí)時(shí)性要求高,另外,在三維場(chǎng)景下,三維數(shù)據(jù)的幀速率對(duì)網(wǎng)絡(luò)要求較高。基于以上需求,采用Smart-FoxServer 網(wǎng)絡(luò)服務(wù)引擎進(jìn)行培訓(xùn)系統(tǒng)中的協(xié)同作業(yè)模塊的開(kāi)發(fā)工作,該網(wǎng)絡(luò)服務(wù)引擎支持包括Unity 在內(nèi)的多個(gè)平臺(tái),易用且高效。通過(guò)網(wǎng)絡(luò)服務(wù)架構(gòu)的公共API(Public API)可實(shí)現(xiàn)自定義的客戶端和服務(wù)器端間的數(shù)據(jù)安全通信的功能。多人協(xié)同訓(xùn)練設(shè)計(jì)如圖6 所示。
圖6 多人協(xié)同訓(xùn)練設(shè)計(jì)
通過(guò)使用HTC Vive 等VR 硬件設(shè)備連接本系統(tǒng)進(jìn)行系統(tǒng)測(cè)試,主要測(cè)試情況如下:系統(tǒng)登錄如圖7 所示,操作訓(xùn)練如圖8 所示,操作提醒如圖9 所示,參考結(jié)果如圖10 所示。
圖7 系統(tǒng)登錄
圖8 操作訓(xùn)練
圖9 操作提醒
圖10 考核結(jié)果
基于虛擬現(xiàn)實(shí)技術(shù),使用Unity 3D 引擎、MySQL 數(shù)據(jù)庫(kù)等工具平臺(tái),設(shè)計(jì)開(kāi)發(fā)了某型艦載武器裝備沉浸式虛擬協(xié)同培訓(xùn)系統(tǒng),通過(guò)系統(tǒng)測(cè)試表明,能夠滿足裝備在使用和維修方面進(jìn)行訓(xùn)練和考核的要求,在降低裝備訓(xùn)練成本和風(fēng)險(xiǎn)的同時(shí),能夠提升訓(xùn)練效率和相互協(xié)同作業(yè)的能力,能有效提高培訓(xùn)的效率,對(duì)其他武器裝備具有重要的推廣價(jià)值。