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