劉桂峰 伍 潔
(海軍工程大學船舶與動力學院1) 武漢 430033)(海軍工程大學管理工程系2) 武漢 430033)
利用現(xiàn)代科學技術(shù)成果,采取先進訓練方法,是推進軍事訓練轉(zhuǎn)變的重要內(nèi)容,也是提高信息化條件下作戰(zhàn)能力的有效途徑。虛擬現(xiàn)實技術(shù)(Virtual Reality,VR)已發(fā)展成為涉及眾多學科的高新實用技術(shù)之一,并在軍事、醫(yī)學、設(shè)計和娛樂等領(lǐng)域得到了廣泛的應(yīng)用[1]。虛擬維修是虛擬現(xiàn)實技術(shù)近年來的一個重要研究方向,也是海軍當前裝備維修訓練的重要方法。結(jié)合部隊實際裝備積極開展模擬訓練,對于提高訓練質(zhì)量、縮短試驗、研制和訓練周期、降低訓練風險、減少訓練消耗具有重要意義,并在各級指揮訓練、武器裝備操作訓練和部隊實兵對抗演練中得到廣泛應(yīng)用[2~4]。
系統(tǒng)的設(shè)計從海軍裝備的信息化建設(shè)出發(fā),以適應(yīng)信息化條件下裝備維修發(fā)展趨勢為目標,具體應(yīng)考慮以下幾方面的需求:1)信息化條件下裝備維修保障需求;2)現(xiàn)代武器裝備對人員維修能力與效率的需求;3)資源與信息共享的需求;4)裝備維修決策的需求;5)實際過程中維修流程仿真與優(yōu)化的需求。
某艦?zāi)逞b置虛擬維修系統(tǒng),以Vega Prime交互式、實時可視化仿真應(yīng)用軟件為仿真開發(fā)平臺,以VC++為開發(fā)語言,以Creator為三維實體建模軟件,后臺數(shù)據(jù)庫采用SQL_SERVER,設(shè)計為基于組播方式數(shù)據(jù)傳輸?shù)姆植际较到y(tǒng),系統(tǒng)既可以獨立單機使用,又能作為網(wǎng)絡(luò)版進行批量培訓和遠程維修支援使用[5]。
Vegaprime是MPI公司開發(fā)的用于開發(fā)交互式、可視化仿真應(yīng)用的軟件平臺和工具集,它最基本的功能是驅(qū)動、控制、管理虛擬場景并能夠方便地實現(xiàn)大量特殊視覺和聲音效果,它還提供了多種方便實用的可視化編輯設(shè)置工具。具有易用性、高效性、集成性、可擴展性、跨平臺性等特點。由于Vega Prime大幅度減少了源代碼的編寫,使軟件的維護和實時性能的優(yōu)化變得更容易,大大提高了開發(fā)效率[6]。
MultiGen Creator是 Multigen-Paradigm公司專門針對可視化仿真行業(yè)應(yīng)用特點推出的一個功能強大、交互的實時可視化三維建模軟件系統(tǒng)[7],可以在它所提供的“所見即所得”建模環(huán)境中建立我們所期望的、優(yōu)化的三維模型。Creator是目前模型建立和控制效果較好的軟件,Creator是精確產(chǎn)品建模,可以直接用于模具生產(chǎn),能夠滿足艦船裝備建模尺寸精確的要求。
在滿足系統(tǒng)需求分析的基礎(chǔ)上,針對該裝置的特點和部隊使用需求,在綜合分析系統(tǒng)的設(shè)計需求和工程需要的基礎(chǔ)上,設(shè)計出某裝置虛擬維修系統(tǒng)的總體框架如圖1所示。
圖1 系統(tǒng)總體框架
受訓人員通過人機交互環(huán)境與虛擬環(huán)境交互,數(shù)據(jù)庫中的信息在由硬件平臺、系統(tǒng)平臺、軟件平臺構(gòu)成的支持平臺導(dǎo)入虛擬環(huán)境,或直接由Vega軟件編程導(dǎo)入虛擬環(huán)境。受訓人員的受訓記錄和信息也可通過虛擬環(huán)境或者支持平臺完善補充到數(shù)據(jù)庫,從而實現(xiàn)受訓人員共享數(shù)據(jù)庫中的數(shù)據(jù)信息。
圖2 減搖鰭裝置虛擬維修系統(tǒng)實時仿真應(yīng)用程序的設(shè)計
減搖鰭裝置虛擬維修系統(tǒng)的實時仿真應(yīng)用程序的設(shè)計思想是在收集減搖鰭裝置故障信息、維修信息等應(yīng)用環(huán)境數(shù)據(jù)[8]的基礎(chǔ)上,通過驅(qū)動設(shè)備(計算機技術(shù)),以Creator和Lynx軟件為支持工具,將編輯的數(shù)據(jù)、ADF 文 件 和FLT文件導(dǎo)入Vega應(yīng)用程序,最后生成減搖鰭裝置虛擬維修實時應(yīng)用程序,如圖2所示。
在開發(fā)虛擬系統(tǒng)之前,首先要創(chuàng)建裝置的實體模型,由于裝置的實體模型由諸多零件組成,為了方便后期編輯程序能夠精確快捷的操控所要拆卸的元件,采用整體創(chuàng)建,分步導(dǎo)入的方式進行。
充分利用Creator的OpenFlight數(shù)據(jù)層級結(jié)構(gòu)優(yōu)勢,在創(chuàng)建時裝置模型即以“jyq”命名的組節(jié)點,并作為父節(jié)點創(chuàng)建代表各個元件的組節(jié)點(組節(jié)點為CREATOR默認的最高級的節(jié)點形式,其下可創(chuàng)建同級的組節(jié)點或是較低級的節(jié)點模式如體節(jié)點、面節(jié)點、點節(jié)點等)。在創(chuàng)建模型時,以相應(yīng)零件的組節(jié)點為父節(jié)點,并在二維平面視圖上參照設(shè)計圖紙尺寸要求畫出模型的側(cè)向剖視圖(Creator提供高精度的三維坐標平面,可精確把握實體尺寸),然后繞其軸車削出多個閉合的片面來構(gòu)成其圓柱體結(jié)構(gòu)的表面。按此方法一次創(chuàng)建構(gòu)成減揺鰭的元件模型。
在Creator層級視圖中,不同級別的節(jié)點記錄著相應(yīng)模型的結(jié)構(gòu)信息[10],如“jyq”組節(jié)點下包含構(gòu)成缸體的各個零件組節(jié)點,零件組節(jié)點下包含構(gòu)成該零件的各個三維實體的體節(jié)點,對應(yīng)的體節(jié)點下則包含組成立體結(jié)構(gòu)的點、線、面,并均以節(jié)點的形式記錄在層級視圖中。
完成各個零件實體的建模后應(yīng)對實體本身賦予相應(yīng)的紋理材質(zhì)信息,以達到仿真的視覺效果。
在完成實體的模型建立后,還要將模型導(dǎo)入到VEGA的Lynx中配置ADF文件,這樣可以大幅減少源代碼的編寫。Lynx配置ADF文件流程如圖3所示。
圖3 配置ADF文件流程圖
首先將各零件的FLT文件導(dǎo)入到Lynx中,并在Object模塊中依次對導(dǎo)入的實體進行命名;隨后在Scenes模塊中加入所有已經(jīng)命名好的Object實體;然后在Scene(場景)選項框中依次將所創(chuàng)建的實體模型名稱項添加到選項框中,這樣Lynx就會完成虛擬場景的創(chuàng)建;然后開始通過調(diào)整vgMotionMode類模塊中的參數(shù)來設(shè)定一個運動模式;最后為了實現(xiàn)減揺鰭零件實體能夠響應(yīng)用戶指令在虛擬場景中運動,在vgPlayers模塊中創(chuàng)建相應(yīng)的運動角色對象并分別綁定相對應(yīng)的零件實體模型,這樣每個零件實體模型就都被賦予了動態(tài)的運動角色對象,導(dǎo)出ADF文件后就完成了虛擬拆卸系統(tǒng)的前期準備工作。
Vega API函數(shù)庫為用戶提供了一整套方便實用的仿真應(yīng)用程序接口,用戶可以在C++平臺上編寫相應(yīng)的控制代碼,通過編譯和鏈接后就可實現(xiàn)對虛擬場景的交互性控制。在完成了Lynx配置底層文件后,系統(tǒng)會生成一個*adf文件,整個VEGA程序代碼都是圍繞這個ADF文件編寫的。VEGA程序流程如圖4所示。
從流程圖可以看出,VEGA應(yīng)用程序可分為以下幾個基本步驟:
1)調(diào)用vgInitSys()函數(shù),對系統(tǒng)進行初始化;
2)創(chuàng)建仿真應(yīng)用所需的各種VEGA類實例,通過調(diào)用vgDefineSys()函數(shù)讀取事先定義好的某裝置ADF文件;
圖4 系統(tǒng)運行結(jié)構(gòu)流程圖
3)調(diào)用vgConfigSys()函數(shù)完成系統(tǒng)配置;
4)調(diào)用vgSynFrame()函數(shù)進行當前幀的應(yīng)用進程同步處理,即保證應(yīng)用進程與給定的幀頻率同步;
5)調(diào)用vgFrame()函數(shù)完成當前幀的剔除和繪制進程及其相關(guān)處理;
vgSyncFrame()函數(shù)和vgFrame()函數(shù)一起決定了VEGA進程能夠與設(shè)定的幀頻率保持同步,從而能夠保證渲染出流暢的動態(tài)虛擬仿真畫面,再加入相應(yīng)的交互式控制代碼就可以完成各種復(fù)雜的仿真應(yīng)用。
下面是VEGA編程的總框架:
本文在虛擬現(xiàn)實技術(shù)的基礎(chǔ)上,采用Creator建立三維模形,以Vega Prime為開發(fā)平臺,Visual C++為開發(fā)語言,建立了一種可控制的交互式實時虛擬維修系統(tǒng),并在海軍某型艦艇的減搖鰭裝置的虛擬維修系統(tǒng)開發(fā)中應(yīng)用。結(jié)果表明,該系統(tǒng)能夠提供生動、逼真的虛擬維修效果,并在實際訓練中縮短訓練周期,提高訓練質(zhì)量和效果。
[1]袁利毫.船舶操縱模擬器視景仿真研究[D].哈爾濱工程大學,2007
[2]甘茂治.軍用裝備維修工程學[M].第2版.北京:國防工業(yè)出版社,2005
[3]朱文革,李世其,等.復(fù)雜裝備虛擬維修系統(tǒng)設(shè)計[J].華中科技大學學報(自然科學版),2009,37(1):1~4
[4]胡小強.虛擬現(xiàn)實技術(shù)[M].北京:北京郵電大學出版社,2005
[5]王乘,李利軍,等.Vega實時三維視景仿真技術(shù)[M].武漢:華中科技大學出版社,2005
[6]方琦峰,康鳳舉,張楚鑫,等.OpenGL在Vega Prime開發(fā)環(huán)境中的應(yīng)用研究[J].計算機仿真,2008,25(6):191~192
[7]王乘,周均清,李利軍.Creator可視化仿真建模技術(shù)[M].武漢:華中科技大學出版社,2005:6~8
[8]朱文革,李世其,尹文生.海軍艦船裝備的虛擬維修[J].中國修船,2004(5):37~40
[9]白向華,陶鳳和,賈長治,等.基于主成分分析的裝備保障能力薄弱環(huán)節(jié)模型研究[J].計算機與數(shù)字工程,2010,38(10)
[10]劉博,徐元銘,史紅偉.基于Creator的列車運行三維建模技術(shù)研究[J].科學技術(shù)與工程,2010(30):7545~7549
[11]王志成,賈希勝,孫寶琛,等.集群裝備戰(zhàn)時維修保障業(yè)務(wù)優(yōu)化排序模型研究[J].計算機與數(shù)字工程,2010,38(6)
[12]李永杰,胡堅,汪厚祥.艦艇裝備維修信息數(shù)據(jù)倉庫的建立與數(shù)據(jù)挖掘[J].計算機與數(shù)字工程,2010,38(10)
[13]胡長濤,徐淑娟.朱翠蘭.基于Creator/Vega的虛擬校園漫游系統(tǒng)的研究與實現(xiàn)[J].機電產(chǎn)品開發(fā)與創(chuàng)新,2011(2):128~129