桂嚴(yán) 伏玉明 趙慧 張浩博 萬露
(1.中國電子科技集團(tuán)公司第三十二研究所 上海市 201808 2.蘭州工業(yè)學(xué)院 甘肅省蘭州市 730050)
隨著軍事信息技術(shù)的不斷提高,戰(zhàn)爭形態(tài)不斷發(fā)生變化,電子對抗已經(jīng)成為了現(xiàn)代戰(zhàn)爭的序幕與先導(dǎo),并貫穿于戰(zhàn)爭的全過程,從機(jī)械化作戰(zhàn)演變到基于信息系統(tǒng)的體系作戰(zhàn),不再是簡單的單雷達(dá)疊加,而是通過對多傳感器有機(jī)集成形成協(xié)同探測系統(tǒng)。而戰(zhàn)場態(tài)勢是確保各級指揮員對戰(zhàn)場狀態(tài)理解認(rèn)知一致性的基礎(chǔ),是實(shí)現(xiàn)聯(lián)合情報(bào)精準(zhǔn)保障的重要保證,已成為指揮員一體化聯(lián)合作戰(zhàn)籌劃與實(shí)施的基點(diǎn)。傳統(tǒng)態(tài)勢顯示系統(tǒng)相對于現(xiàn)代戰(zhàn)爭暴露出不少弊端,主要有:
(1)探測信息來源受限,僅針對單一雷達(dá)的信息進(jìn)行顯示控制;
(2)只具備二維態(tài)勢顯示或者二三維態(tài)勢顯示無法保持聯(lián)動;
(3)戰(zhàn)爭元素呈幾何指數(shù)增長,傳統(tǒng)態(tài)勢顯示系統(tǒng)無法勝任復(fù)雜戰(zhàn)場場景的渲染工作。
本文重點(diǎn)研究全域協(xié)同態(tài)勢綜合顯示系統(tǒng),采用了圖形渲染引擎、通信中間件、數(shù)據(jù)融合等技術(shù),解決了單一信源信息掌握不全以及多源信息冗余的問題,實(shí)現(xiàn)了二三維態(tài)勢聯(lián)動,提升了系統(tǒng)的整體運(yùn)行效率。
大多數(shù)態(tài)勢顯示系統(tǒng)都是采用C/S 軟件架構(gòu)進(jìn)行設(shè)計(jì),一方面原因是傳統(tǒng)的顯控系統(tǒng)都是基于C/S 架構(gòu)開發(fā),技術(shù)較為成熟;另一方面原因是顯控系統(tǒng)對于圖形渲染要求較高,C/S 架構(gòu)更適合于采用GPU 做圖形處理,渲染速度更快,顯示效果更好?;谝陨蟽牲c(diǎn)考慮,本系統(tǒng)采用C/S 軟件架構(gòu)設(shè)計(jì)。
顯控系統(tǒng)的開發(fā)工具選擇較多,目前較為常用的有Qt和MFC。MFC 僅僅是針對Windows 平臺開發(fā),而Qt 是一個跨平臺C++圖形用戶界面應(yīng)用程序開發(fā)框架,包含了開發(fā)一款應(yīng)用程序所需要的幾乎所有的模塊,如網(wǎng)絡(luò)、數(shù)據(jù)庫、多媒體等,相當(dāng)于提供了一個“一站式”的解決方案。因此,本系統(tǒng)采用Qt 作為開發(fā)工具。
底層OpenGL 繪制接口要求用戶必須關(guān)注底層圖形繪制的具體細(xì)節(jié),很難對復(fù)雜場景做到高效管理,而OSG 提供了一套基于OpenGL 標(biāo)準(zhǔn)圖形繪制庫的API 接口,具有高性能、可擴(kuò)展、可移植和快速開發(fā)等特點(diǎn),可在各種平臺上高效運(yùn)行。因此,本系統(tǒng)采用OSG 作為圖形渲染引擎。
DDS 采用發(fā)布/訂閱體系架構(gòu),強(qiáng)調(diào)以數(shù)據(jù)為中心,提供豐富的QoS 服務(wù)質(zhì)量策略,能保障數(shù)據(jù)進(jìn)行實(shí)時、高效、靈活地分發(fā),可滿足各種分布式實(shí)時通信應(yīng)用需求。本系統(tǒng)涉及的通信主要有:
(1)各類傳感器探測信息的推送;(2)總控中心子系統(tǒng)預(yù)演場景和仿真控制指令的推送;(3)二、三維態(tài)勢顯示子系統(tǒng)保持聯(lián)動的數(shù)據(jù)推送。基于以上的通信需求,本系統(tǒng)選擇采用OpenDDS 作為消息中間件。
全域協(xié)同態(tài)勢綜合顯示系統(tǒng)的總體架構(gòu)采用分層架構(gòu),從下而上依次為硬件設(shè)施層、數(shù)據(jù)層、服務(wù)層和應(yīng)用層,如圖1 所示。
圖1: 系統(tǒng)架構(gòu)圖
硬件設(shè)施層為其它層提供通用的技術(shù)能力,主要由計(jì)算設(shè)備、存儲設(shè)備、網(wǎng)絡(luò)設(shè)備、傳感器設(shè)備等組成,其中計(jì)算設(shè)備包括主機(jī)、工作站、服務(wù)器等,為上層應(yīng)用提供計(jì)算資源;存儲設(shè)備包括RAID 陣列、數(shù)據(jù)庫服務(wù)器、存儲服務(wù)器等,為上層應(yīng)用提供存儲資源;網(wǎng)絡(luò)設(shè)備包括交換機(jī)、路由器、防火墻等,為上層應(yīng)用提供網(wǎng)絡(luò)資源;傳感器設(shè)備包括雷達(dá)、紅外、激光等,為上層應(yīng)用提供多源數(shù)據(jù)。這些設(shè)備共同構(gòu)成了底層硬件的服務(wù)平臺,確保系統(tǒng)能夠穩(wěn)定運(yùn)行。
數(shù)據(jù)層是整個系統(tǒng)的基礎(chǔ),主要實(shí)現(xiàn)了兩個功能:一個是相關(guān)數(shù)據(jù)的存儲,另一個是將數(shù)據(jù)傳遞給服務(wù)層進(jìn)行處理。各類數(shù)據(jù)根據(jù)相關(guān)規(guī)范和數(shù)據(jù)標(biāo)準(zhǔn)進(jìn)行統(tǒng)一存儲和管理,包括地圖瓦片數(shù)據(jù)、數(shù)字高程數(shù)據(jù)、三維模型數(shù)據(jù)、仿真場景數(shù)據(jù)和態(tài)勢信息數(shù)據(jù)。
服務(wù)層為態(tài)勢綜合顯示系統(tǒng)提供共性服務(wù)支撐,是系統(tǒng)應(yīng)用層功能實(shí)現(xiàn)的基礎(chǔ)?;谟布纹脚_和公共的數(shù)據(jù)資源,為應(yīng)用層中系統(tǒng)各項(xiàng)功能的實(shí)現(xiàn)提供業(yè)務(wù)功能構(gòu)建和共性服務(wù)。地圖加載服務(wù)、模型管理服務(wù)、場景渲染服務(wù)共同構(gòu)建并渲染了復(fù)雜的仿真場景,協(xié)同處理服務(wù)通過多源信息融合技術(shù)實(shí)現(xiàn)去粗取精、去偽存真的一致性態(tài)勢數(shù)據(jù)生成,消息收發(fā)服務(wù)一方面對推演過程中態(tài)勢數(shù)據(jù)的接收和指令的下達(dá),另一方面采用消息收發(fā)的方式實(shí)現(xiàn)了二三維態(tài)勢聯(lián)動的效果。
應(yīng)用層是態(tài)勢綜合顯示系統(tǒng)實(shí)現(xiàn)的核心,在服務(wù)層的各項(xiàng)服務(wù)支撐下,實(shí)現(xiàn)了態(tài)勢顯示系統(tǒng)的具體功能。態(tài)勢綜合顯示系統(tǒng)分為總控中心子系統(tǒng)、二維態(tài)勢顯示子系統(tǒng)和三維態(tài)勢顯示子系統(tǒng),其中總控中心子系統(tǒng)對仿真場景編成部署,對聯(lián)合探測進(jìn)行總體控制,實(shí)現(xiàn)預(yù)案推演和仿真控制;二、三維態(tài)勢顯示子系統(tǒng)使用電子地圖,將預(yù)案推演過程中的實(shí)時數(shù)據(jù)結(jié)合地理信息以二維或三維的方式進(jìn)行顯示。
全域協(xié)同態(tài)勢綜合顯示系統(tǒng)主要由總控中心子系統(tǒng)、二維態(tài)勢顯示子系統(tǒng)和三維態(tài)勢顯示子系統(tǒng)組成,各子系統(tǒng)具備不同的功能,獨(dú)立完成各自的任務(wù),而各子系統(tǒng)之間又通過消息中間件相互關(guān)聯(lián),共同完成態(tài)勢綜合顯示應(yīng)用,其軟件功能劃分如圖2 所示,各子系統(tǒng)間通信關(guān)系如圖3 所示。
圖2: 系統(tǒng)功能組成圖
圖3: 子系統(tǒng)間通信關(guān)系圖
總控中心子系統(tǒng)將場景數(shù)據(jù)和仿真控制指令推送到通信總線上,二、三維態(tài)勢顯示子系統(tǒng)實(shí)時監(jiān)聽通信總線上的場景數(shù)據(jù)和仿真指令,根據(jù)主題區(qū)分不同的數(shù)據(jù)源,并將場景及時更新。當(dāng)鼠標(biāo)對二維或三維態(tài)勢顯示子系統(tǒng)進(jìn)行操作時,操作信息實(shí)時推送到通信總線上,當(dāng)未操作的顯示子系統(tǒng)監(jiān)聽到總線上推送的操作信息時,自動對當(dāng)前的子系統(tǒng)執(zhí)行同樣的操作,從而實(shí)現(xiàn)二、三維態(tài)勢顯示系統(tǒng)的聯(lián)動。
總控中心子系統(tǒng)由場景編輯模塊、場景管理模塊、屬性管理模塊、場景渲染模塊和仿真控制模塊。
3.1.1 場景編輯
場景編輯功能是整個預(yù)案推演的基礎(chǔ),它提供了想定編成部署功能,即編輯指控關(guān)系、編隊(duì)關(guān)系、實(shí)體搭載關(guān)系、裝備配置方案等。采用xml 配置文件實(shí)現(xiàn)設(shè)備的動態(tài)配置,首先定義配置文件的約束,通過對配置文件的讀取與解析,將對應(yīng)的信息加載到程序中,用戶只需修改配置文件相應(yīng)的字段,而無需更改代碼,就能達(dá)到配置設(shè)備的目的。
采用樹狀列表結(jié)構(gòu)顯示加載的設(shè)備元素,通過選中設(shè)備元素列表中的某個大類,將其拖拽到場景中,釋放鼠標(biāo)后,則在鼠標(biāo)指向的位置上添加了選中的設(shè)備元素圖標(biāo),同時在元素的大類下會自動添加上當(dāng)前元素的名稱,至此完成了設(shè)備元素的添加;選中場景中的某個設(shè)備元素圖標(biāo)或者選中元素列表中的某個元素名稱,右鍵菜單選擇刪除,完成設(shè)備元素的刪除;選中場景中的某個元素圖標(biāo)或者元素列表中的某個元素名稱,在選中元素的屬性列表中修改經(jīng)度、緯度、高度等相關(guān)參數(shù),修改完成后場景對應(yīng)的元素更新其位置和狀態(tài),完成元素的修改。
3.1.2 場景管理
場景管理功能主要包括新建場景、對編輯完成的場景進(jìn)行保存和打開已保存的場景。其中,新建場景需完成地圖和設(shè)備元素的加載,提供給用戶基礎(chǔ)場景和需要添加到場景中的設(shè)備元素,用戶通過編輯場景來生成仿真預(yù)案;保存場景和打開場景是基于xml 文件的寫入與讀取技術(shù),保存場景采用鍵值對的方式對場景中所有元素的屬性進(jìn)行存儲,將其寫入到xml 文件中,實(shí)現(xiàn)整個場景的保存;打開場景即讀取保存好的場景文件,按照約定的場景協(xié)議依次讀取每個鍵值對,從而將整個場景渲染出來。
3.1.3 屬性管理
場景中的每一個設(shè)備元素都具有其獨(dú)特的屬性,本系統(tǒng)采用Hash 表存儲每個元素的全部屬性,key 為具體屬性,value 為對應(yīng)的屬性值,同時再使用一個Hash 表存儲場景中的所有元素屬性,key 為元素的名稱,value 為當(dāng)前元素的屬性表。當(dāng)用戶選中某個元素時,系統(tǒng)通過元素名稱迅速找到對應(yīng)的屬性表,以列表的形式將當(dāng)前元素的全部屬性顯示出來。
3.1.4 場景渲染
場景渲染包括二維數(shù)字地圖的加載、設(shè)備元素的顯示和特效展示。本系統(tǒng)采用OSG 插件加載地圖瓦片來實(shí)現(xiàn)二維數(shù)字地圖的加載。以樹結(jié)構(gòu)對場景中的海量元素進(jìn)行管理,利用定時器機(jī)制實(shí)現(xiàn)特效展示。為了提升繪制效率,本系統(tǒng)采用多線程并行處理,根據(jù)業(yè)務(wù)需要,將線程分為數(shù)據(jù)處理線程、渲染線程和通信線程。其中,數(shù)據(jù)處理線程主要針對各類傳感器推送的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合,并將處理結(jié)果發(fā)給渲染線程;渲染線程根據(jù)數(shù)據(jù)融合的結(jié)果,將場景中的設(shè)備元素和態(tài)勢渲染出來;通信線程主要負(fù)責(zé)子系統(tǒng)內(nèi)部的數(shù)據(jù)收發(fā),并將場景數(shù)據(jù)和仿真指令發(fā)送給二、三維態(tài)勢顯示子系統(tǒng)。
3.1.5 仿真控制
仿真控制包括場景推送、仿真開始、仿真暫停和仿真結(jié)束,將場景數(shù)據(jù)和仿真控制指令推送到通信總線上,提供給二、三維態(tài)勢顯示子系統(tǒng)進(jìn)行訂閱。通過將編輯完成的場景數(shù)字化,把所有元素的參數(shù)整體推送到通信總線上,二、三維態(tài)勢顯示子系統(tǒng)根據(jù)主題訂閱獲取場景數(shù)據(jù),在二維數(shù)字地圖和三維數(shù)字地球上將整個仿真場景渲染出來??偪刂行淖酉到y(tǒng)將仿真開始、仿真暫停和仿真結(jié)束指令推送到通信總線上,告知各子系統(tǒng)仿真開始、仿真暫停和仿真結(jié)束,從而控制二、三維態(tài)勢顯示子系統(tǒng)的仿真狀態(tài)。
3.2.1 數(shù)據(jù)監(jiān)聽
二、三維態(tài)勢顯示子系統(tǒng)主要監(jiān)聽來自于總控中心子系統(tǒng)的場景數(shù)據(jù)和仿真控制指令,為了提高解析效率,對場景中的數(shù)據(jù)進(jìn)行了分類,針對每一類數(shù)據(jù)都采用一個專門的線程進(jìn)行監(jiān)聽。在仿真開始之前,總控中心子系統(tǒng)將整個仿真場景推送過來,二、三維態(tài)勢顯示子系統(tǒng)根據(jù)主題訂閱獲取場景數(shù)據(jù);開始仿真時,二、三維態(tài)勢顯示子系統(tǒng)監(jiān)聽仿真開始指令,啟動仿真流程;當(dāng)收到仿真暫停指令時,暫停仿真;當(dāng)收到仿真結(jié)束指令時,結(jié)束仿真;在操作過程中,實(shí)時監(jiān)聽二、三維態(tài)勢顯示子系統(tǒng)的操作信息,保持?jǐn)?shù)據(jù)和操作的同步。
3.2.2 態(tài)勢渲染
為了提高運(yùn)行效率,二、三維態(tài)勢顯示子系統(tǒng)也采用OSG 插件加載瓦片地圖。當(dāng)訂閱到仿真場景數(shù)據(jù)時,子系統(tǒng)根據(jù)事先定義的場景協(xié)議進(jìn)行數(shù)據(jù)解析,將各設(shè)備元素在場景中渲染出來。二維態(tài)勢顯示子系統(tǒng)以線和圖形組合展示設(shè)備元素,簡潔直觀,而三維態(tài)勢顯示子系統(tǒng)以三維立體形式展示設(shè)備元素,有更好的視覺效果。在推演過程中,設(shè)備元素的參數(shù)不斷發(fā)生變化,場景中的態(tài)勢也隨之改變。
3.2.3 元素控制
場景中的設(shè)備元素較為復(fù)雜且數(shù)量眾多,需要對其進(jìn)行統(tǒng)一管理,包括查看某個設(shè)備元素的屬性,顯示某些元素或隱藏某些元素等。本系統(tǒng)采用樹型結(jié)構(gòu)對場景中的元素進(jìn)行管理,當(dāng)訂閱到某個設(shè)備元素時,就將其添加到元素列表中,依次將場景中的所有元素添加到元素列表中,形成當(dāng)前場景的元素列表。選中某個元素后,根據(jù)需要選擇對其進(jìn)行顯示或隱藏。
3.2.4 屬性管理
二、三維態(tài)勢顯示子系統(tǒng)同樣采用鍵值對的方式對元素的全部屬性進(jìn)行管理,每個元素的屬性就是一張Hash 表,其屬性名稱和屬性值一一對應(yīng),整個場景元素屬性也是一張Hash 表,key 為元素的名稱,value 為當(dāng)前元素的屬性表。當(dāng)用戶選中某個元素時,系統(tǒng)通過元素名稱迅速找到對應(yīng)的屬性表,以列表的形式將當(dāng)前元素的全部屬性顯示出來。
3.2.5 標(biāo)注管理
在推演過程中,指揮員可能需要對一些關(guān)鍵位置進(jìn)行標(biāo)注,本系統(tǒng)實(shí)現(xiàn)了標(biāo)注和標(biāo)注管理功能。以對話框的形式向操作人員提供了添加標(biāo)注的方法,操作人員輸入經(jīng)度、緯度、高度和標(biāo)注信息,完成后則在場景中相應(yīng)位置添加標(biāo)注圖標(biāo)和標(biāo)注信息,同時在標(biāo)注列表中添加當(dāng)前標(biāo)注的記錄,也可以通過選中列表中的某條標(biāo)注,對選中的標(biāo)注進(jìn)行修改或刪除。
3.2.6 操作同步
為了實(shí)現(xiàn)二、三維態(tài)勢的聯(lián)動效果,本系統(tǒng)對二、三維態(tài)勢顯示子系統(tǒng)的操作進(jìn)行了同步。在二維態(tài)勢顯示子系統(tǒng)和三維態(tài)勢子系統(tǒng)分別增加交互操作的事件捕獲函數(shù),當(dāng)系統(tǒng)捕獲到用戶事件時,通過消息中間件將事件及其參數(shù)推送到通信總線上,二、三維態(tài)勢顯示子系統(tǒng)訂閱事件數(shù)據(jù),從而改變場景的顯示,實(shí)現(xiàn)雙方的操作和數(shù)據(jù)同步。
總控中心子系統(tǒng)、二維態(tài)勢顯示子系統(tǒng)和三維態(tài)勢顯示子系統(tǒng)分別部署到三臺工作站上。在實(shí)際應(yīng)用過程中,先在總控中心子系統(tǒng)中編輯仿真場景,通過消息中間件將仿真場景推送到通信總線上,二、三維態(tài)勢顯示子系統(tǒng)訂閱到場景數(shù)據(jù)后,渲染出整個仿真場景。通過仿真指令控制推演過程的進(jìn)行,在這個過程中用戶可以與二維態(tài)勢顯示子系統(tǒng)或三維態(tài)勢顯示子系統(tǒng)進(jìn)行交互,二者始終保持內(nèi)容和范圍的同步,整體實(shí)現(xiàn)效果良好。
鑒于現(xiàn)代戰(zhàn)爭的聯(lián)合作戰(zhàn)、協(xié)同處理、仿真推演等對戰(zhàn)場態(tài)勢顯示的需求日益加劇,針對傳統(tǒng)態(tài)勢顯示系統(tǒng)信息來源單一、數(shù)據(jù)處理分散、二三維無法聯(lián)動的問題,本文提出并實(shí)現(xiàn)了一種全域協(xié)同態(tài)勢綜合顯示系統(tǒng),提供了二、三維態(tài)勢一體化的顯示功能,并保持態(tài)勢顯示的實(shí)時同步。本系統(tǒng)還具備場景編輯和仿真推演功能,對于軍事模擬具有一定的促進(jìn)作用,為作戰(zhàn)人員規(guī)劃任務(wù)、預(yù)案推演、態(tài)勢分析等提供支撐。