杜召平,杜 艷
(1. 中國人民解放軍91388部隊,廣東 湛江 524022;2. 中國人民解放軍 91269部隊,廣東 湛江 524022)
虛擬仿真技術(shù)是在虛擬現(xiàn)實技術(shù)、多媒體技術(shù)與網(wǎng)絡(luò)通信技術(shù)等基礎(chǔ)上,將仿真技術(shù)與虛擬現(xiàn)實技術(shù)相結(jié)合的產(chǎn)物,是一種更高級的仿真技術(shù)。虛擬仿真技術(shù)以構(gòu)建全系統(tǒng)統(tǒng)一完整的虛擬環(huán)境為典型特征,并通過虛擬環(huán)境集成與控制為數(shù)眾多的實體。實體在虛擬環(huán)境中相互作用,或與虛擬環(huán)境作用,以表現(xiàn)客觀世界的真實特征,可以營造逼真的虛擬戰(zhàn)場,并能滿足操作者與戰(zhàn)場環(huán)境之間的信息交互,在多個領(lǐng)域有巨大的應(yīng)用前景。
當前,靶場所用的態(tài)勢顯示系統(tǒng)的處理顯示和研究判斷多采用文字標注和二維圖形等形式實現(xiàn),人機交互不夠直觀,傳遞的信息量有限,將真實復(fù)雜的環(huán)境、目標及實時態(tài)勢信息投影微縮到二維平面上,將會丟失一些重要信息,態(tài)勢展示不直觀準確,指揮人員和觀察、控制人員難以全面地掌握態(tài)勢、關(guān)鍵過程及重要事件。本文針對上述問題開展態(tài)勢顯示系統(tǒng)設(shè)計與研究,主要采用三維實體建模、OSG與MFC的混合編程、虛擬仿真等技術(shù)對海洋環(huán)境、目標、各類平臺等信息進行逼真的三維模擬,通過實時接收各種探測器傳送來的目標位置、姿態(tài)、水下深度等實測數(shù)據(jù),驅(qū)動目標三維模型在虛擬場景中運動,實現(xiàn)三維場景的實時更新,以三維視景的形式全面表現(xiàn)目標實體的運動狀態(tài)和對抗過程,形成“數(shù)字化”、“視景化”的綜合態(tài)勢圖,使原本不可見的水聲對抗過程變?yōu)榭梢?,使指揮人員及觀察、控制人員沉浸在逼真、虛擬的環(huán)境中對仿真或回放進程進行交互或干預(yù),增強了仿真的現(xiàn)實性、逼真性和透明性。同時,利用三通道顯示技術(shù)豐富的表現(xiàn)手法,用戶可以分別從不同的視點觀察現(xiàn)場,直觀深入地觀察進程、分析態(tài)勢、評估效果,具有十分顯著的效益。
系統(tǒng)主要由硬件設(shè)備及軟件系統(tǒng)組成,系統(tǒng)硬件主要由視景主控計算機、通道顯示計算機、數(shù)據(jù)錄入與管理終端、通用數(shù)據(jù)接口以及輔助設(shè)備(投影設(shè)備、音響系統(tǒng)、交換機等)組成,如圖1所示。
系統(tǒng)軟件主要由信息融合處理模塊、方案仿真預(yù)演模塊、數(shù)據(jù)管理模塊、電子海圖標會顯示模塊、三維視景顯示模塊、過程復(fù)現(xiàn)模塊等組成,如圖2所示。
1)按照實際需求和比例,完成相關(guān)裝備及環(huán)境的三維模型制作,裝備主要包括艦船、潛艇、魚雷、潛標、浮標等,環(huán)境是根據(jù)不同海況及天氣,制作典型條件下不同海況的海洋模型,包括水面及海底等。
2)把各種不同內(nèi)測、外測設(shè)備的數(shù)據(jù)轉(zhuǎn)化為統(tǒng)一的數(shù)據(jù)格式,進行奇異點剔除、平滑等數(shù)據(jù)預(yù)處理后送至主控計算機。
3)根據(jù)內(nèi)測、外測數(shù)據(jù)及歷史軌跡推測,以平滑的三維多媒體動畫的形式近似實時的再現(xiàn)水下現(xiàn)場態(tài)勢,并且可以控制播放速度:快進、快退、暫停、繼續(xù)等。
4)實現(xiàn)3個投影通道的獨立和融合顯示。3個投影通道可以獨立設(shè)定視點、視線,分別觀察不同的參試實體,也可以把3個通道的顯示畫面拼接在一起,形成寬幅大場景的效果。
5)系統(tǒng)具有方案仿真預(yù)演、實時顯示過程、回放過程3種工作模式。一是方案仿真預(yù)演:可預(yù)先設(shè)定方案通過展示三維模型進行演示,可從不同角度、不同距離來觀察,審視檢查預(yù)定方案的可行性及可操行。二是實時過程顯示:實時接受各種探測設(shè)備傳送過來的數(shù)據(jù),統(tǒng)一轉(zhuǎn)化為合理的數(shù)據(jù)格式后,近乎實時生成場景顯示在大屏幕上。三是回放再現(xiàn)模式。實施過程中實時地把內(nèi)測、外測數(shù)據(jù)文件一次性導(dǎo)入內(nèi)存,同時將實時過程顯示資料存入硬盤,進行較為精細的預(yù)處理(處理參數(shù)可人為干預(yù),進行模糊及平滑等處理),確?;胤胚^程的真實流暢,然后以三維視景的形式再現(xiàn)水下現(xiàn)場。
系統(tǒng)的軟件實現(xiàn)較為復(fù)雜,主要是完成以下功能:
1)構(gòu)建涉及到的實體三維建模構(gòu)建:通過Creator,對如各種水面、水下目標(艦船、潛艇、魚水雷等)、環(huán)境模型、測量設(shè)備(潛標、浮標等)等進行三維模型構(gòu)建。
2)編程設(shè)計實現(xiàn)實時逼真海洋場景的渲染:基于Phillips海浪譜和GPU實現(xiàn)的FFT方法生成海面高度圖和法線圖,利用投影網(wǎng)格模型生成海面網(wǎng)格,并在片元著色器中基于紋理映射技術(shù)實現(xiàn)反射、折射等海面光照效果;實現(xiàn)海底的光束、浮簾粒子和模糊效果;然后通過后續(xù)渲染技術(shù)模擬場景的HDR效果。
3)設(shè)計實現(xiàn)自由視點,攻擊方、防御方三類常用視點:綜合利用OSG的漫游器和相機機制,實現(xiàn)自由視點,攻擊方、防御方三類的自由切換,視點之間可通過控制面板按鈕自由切換,當仿真過程中某些熱點事件發(fā)生時,視點會自動切換,例如:武器發(fā)射時,視點要立即切換到武器跟蹤視點;通過OSG的事件回調(diào)機制,實時處理鍵盤和鼠標對視點的平移、轉(zhuǎn)動控制。
4)實現(xiàn)系統(tǒng)所需的多種OSG聲音類產(chǎn)生及融合:基于FMOD的API,將其與OSG節(jié)點類結(jié)合,實現(xiàn)系統(tǒng)需要的多種OSG聲音類并能實現(xiàn)融合。如背景聲音類用來播放海浪等連續(xù)不變的2D聲音;物體聲音類用來播放引擎等隨物體位置變化的3D聲音;單次聲音類用來播放各種一次性觸發(fā)的事件旁白2D聲音。
5)研究并實現(xiàn)三通道融合顯示技術(shù)。采用技術(shù)手段實現(xiàn)3個子通道節(jié)點既可單獨顯示,完成多角度同時觀察虛擬環(huán)境的要求;又可一起拼接顯示,使整個虛擬環(huán)境顯示更廣闊,態(tài)勢顯示更逼真。
本文通過虛擬現(xiàn)實技術(shù)和計算機仿真等技術(shù),較為真實的來模擬目標在真實海戰(zhàn)場環(huán)境中的運動特征,通過實時接收由無線網(wǎng)絡(luò)或其他手段傳送的測量裝備所測的目標位置、姿態(tài)、水下深度等實測數(shù)據(jù),驅(qū)動目標三維模型在虛擬場景中運動,實現(xiàn)三維場景的實時更新,以三維視景的形式全面表現(xiàn)目標實體的運動狀態(tài)和對抗過程,以及整個態(tài)勢變化和效果。
海洋環(huán)境及目標實體建模與仿真涉及的關(guān)鍵技術(shù)包括場景建模、場景更新、交互控制等。場景建模是將所要仿真的場景與對象通過數(shù)學(xué)方法表達成存儲在計算機內(nèi)的三維圖形對象的集合,包括紋理的獲取和處理。需要建模的目標包含各類實體;此外還包括海洋環(huán)境特征參數(shù),動目標尾流,目標運動的六自由度參數(shù)等特效。場景更新主要完成場景數(shù)據(jù)處理、碰撞檢測與響應(yīng)和目標模型的實時數(shù)據(jù)驅(qū)動。
本系統(tǒng)主要采用Multigen Creator來進行建模。Multigen Creator是專門用于創(chuàng)建視景仿真中實時三維模型的工具軟件,它功能專業(yè)、使用方便。模型建造的基本過程就是由“點”連接成“面”,由“面”變化為“體”,然后賦予材質(zhì),貼上紋理,選擇光照。
在采用Creator建模過程中存在需要注意的地方:一是模型的大?。涸贑reator下要求物體在幾何建模的時候就要求按照真實尺度建造。二是模型的方向:要求眾多模型在建造時放置方向就要一致,還要求必須考慮模型在OSG場景中運動時的方向角問題。三是模型的中心點:因為仿真實體的運動數(shù)據(jù)是作用在模型的中心點上,這直接影響著模型相互間的位置關(guān)系。四是靈活運用模型的DOF技術(shù)。DOF(Degrees of Freedom自由度)技術(shù)適合于描述模型的運動部件,要通過DOF技術(shù)在模型建造時設(shè)置在節(jié)點上。
本系統(tǒng)主要采用基于 OSG(Open Scene Graph) 混合編程技術(shù)來進行三維渲染。OSG(Open Scene Graph)是一個基于工業(yè)圖形標準OpenGL的高層次三維渲染引擎,OSG匯集當今最先進的軟件設(shè)計思想,包括Observer模式、Visitor模式等。開發(fā)者不需要實現(xiàn)、優(yōu)化底層圖形功能調(diào)用,因此他同時具備了跨平臺特性和較高的渲染效率。OSG是基于場景圖方式來管理和繪制三維場景,采用一種自頂向下的分層樹形結(jié)構(gòu)來組織數(shù)據(jù),以提升繪制的效率。此外,OSG還提供了一系列OpenGL不具備的功能接口,包括基于動態(tài)加載插件技術(shù)的2D、3D數(shù)據(jù)文件加載、紋理字體支持、細節(jié)層次(LOD)控制、多線程數(shù)據(jù)分頁處理等。
海面和海底場景一般會占整個仿真場景50%以上的畫面,所以它們的繪制效果和效率直接影響著整個視景仿真效果。海面的波動是一種十分復(fù)雜的自然現(xiàn)象,會受到風力、重力、地形等多種因素的影響,無論在時間還是空間上,它的形狀都具有不規(guī)則性和不重復(fù)性,而且其范圍一般比較廣。動態(tài)海面用完全的物理模型模擬很難達到實時,但其統(tǒng)計特性是穩(wěn)定的,利用海浪譜描述海浪更為科學(xué),也更適合于本視景系統(tǒng)。隨著顯卡性能和GPU可編程能力越來越強,與圖形有關(guān)的處理自然而然地從CPU向GPU轉(zhuǎn)移。本系統(tǒng)基于GPU編程,設(shè)計實現(xiàn)了實時逼真海洋場景的渲染:基于Phillips海浪譜和GPU實現(xiàn)的FFT方法生成海面高度圖和法線圖,利用投影網(wǎng)格模型生成海面網(wǎng)格,并在片元著色器中基于紋理映射技術(shù)實現(xiàn)反射、折射等海面光照效果;并實現(xiàn)了海底的光束、浮簾粒子和模糊效果;然后通過后續(xù)渲染技術(shù)模擬了場景的HDR效果。
態(tài)勢顯示的基礎(chǔ)是數(shù)據(jù)融合技術(shù),本系統(tǒng)涉及的目標種類較多,態(tài)勢處理顯示軟件需根據(jù)現(xiàn)場實際,對各類對象進行動態(tài)配置管理,解決各類目標的動態(tài)添加、修改和刪除問題,以支持至少多批目標信息同時顯示,并且可以控制任一要素在海圖上的顯示狀態(tài)。各目標數(shù)據(jù)由不同設(shè)備提供,多源信息來自于不同類型的傳感器、不同級別的裝備和系統(tǒng),為了實現(xiàn)整個態(tài)勢綜合顯示,必須對各設(shè)備入網(wǎng)數(shù)據(jù)按照統(tǒng)一的數(shù)據(jù)協(xié)議進行規(guī)范化處理,提高數(shù)據(jù)處理效率。針對態(tài)勢顯示的實時性、準確性要求較高,需制定數(shù)據(jù)傳輸協(xié)議時須遵循規(guī)范、安全、精簡的設(shè)計原則,實現(xiàn)對已有設(shè)備的兼容和新研裝備的接入,在保證數(shù)據(jù)傳輸安全的前提下,精簡化設(shè)計可減少數(shù)據(jù)傳輸開銷,以保證系統(tǒng)收到目標數(shù)據(jù)包后能快速、準確地提取目標信息,提高態(tài)勢顯示的實時性。
該系統(tǒng)設(shè)計完成后,能實時收集各類目標態(tài)勢信息,顯示目標位置、目標運動軌跡、探測器陣位、海區(qū)環(huán)境狀態(tài)等態(tài)勢,通過直觀的三維場景,形成“數(shù)字化”、“視景化”的海上態(tài)勢圖,為指揮者、決策者掌控綜合態(tài)勢提供直觀、可視的信息支持。
[1] 侯建文, 等. 航天任務(wù)分布式視景仿真技術(shù)[M]. 中國宇航出版社, 2013.
[2] 陳為, 等. 數(shù)據(jù)可視化[M]. 電子工業(yè)出版社, 2013.