王 卉,趙 盼,劉東升,鄒 楊
(中國(guó)洛陽(yáng)電子裝備試驗(yàn)中心,濟(jì)源459000)
無(wú)人機(jī)鏈路攻擊視景仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
王 卉,趙 盼,劉東升,鄒 楊
(中國(guó)洛陽(yáng)電子裝備試驗(yàn)中心,濟(jì)源459000)
為滿足無(wú)人機(jī)在鏈路攻擊試驗(yàn)中的各種狀態(tài)和攻擊效果仿真要求,基于虛擬現(xiàn)實(shí)技術(shù)、利用紋理映射、DOF細(xì)節(jié)建模、特效綁定和數(shù)據(jù)驅(qū)動(dòng)等技術(shù),設(shè)計(jì)并開(kāi)發(fā)了無(wú)人機(jī)鏈路攻擊視景仿真系統(tǒng)。系統(tǒng)實(shí)現(xiàn)了無(wú)人機(jī)飛行參數(shù)實(shí)時(shí)獲取、飛行航跡和姿態(tài)的實(shí)時(shí)顯示、攻擊效果和毀傷特效的實(shí)時(shí)顯示與回顯。通過(guò)系統(tǒng)測(cè)試結(jié)果表明:該視景仿真系統(tǒng)能夠?qū)崟r(shí)驅(qū)動(dòng)各個(gè)仿真實(shí)體運(yùn)行,系統(tǒng)運(yùn)行可靠穩(wěn)定直觀,視景畫(huà)面流暢,圖像刷新速率達(dá)到55幀/s以上,能夠滿足系統(tǒng)實(shí)時(shí)性要求,具有一定的實(shí)用性和推廣價(jià)值。
Vega Prime平臺(tái);無(wú)人機(jī)鏈路攻擊;視景仿真;三維模型;數(shù)據(jù)驅(qū)動(dòng);碰撞檢測(cè)
視景仿真系統(tǒng)是虛擬現(xiàn)實(shí)技術(shù)在軍事領(lǐng)域的典型應(yīng)用,屬于計(jì)算機(jī)仿真范疇,主要用在武器對(duì)抗仿真平臺(tái)、模擬軍事演習(xí)等方面。它可以營(yíng)造逼真的虛擬戰(zhàn)場(chǎng),滿足操作人員與戰(zhàn)場(chǎng)環(huán)境之間的信息交互。其目的是為軍事仿真系統(tǒng)提供大規(guī)模分布式的虛擬戰(zhàn)場(chǎng)環(huán)境,并借助虛擬仿真作戰(zhàn)環(huán)境來(lái)完成對(duì)作戰(zhàn)人員的訓(xùn)練、武器裝備的效能評(píng)估以及作戰(zhàn)方案的驗(yàn)證和演練。視景仿真系統(tǒng)把現(xiàn)實(shí)中枯燥無(wú)味、難以理解的模擬信號(hào)或信息數(shù)據(jù)進(jìn)行了直觀的可視化展現(xiàn),并且是隨時(shí)間和空間變化的動(dòng)態(tài)過(guò)程,從而使得系統(tǒng)中各個(gè)變量跟仿真視景建立了關(guān)系。
Vega Prime5.0(以下簡(jiǎn)稱VP)是一套完整地用于開(kāi)發(fā)交互式、可視化仿真應(yīng)用的軟件平臺(tái)和工具集,由圖形用戶界面程序LynX Prime(以下簡(jiǎn)稱LP)、實(shí)用工具組、VP函數(shù)庫(kù)及相關(guān)頭文件組成。最基本的功能是驅(qū)動(dòng)、控制、管理虛擬場(chǎng)景并能快速便捷的實(shí)現(xiàn)大量特殊視覺(jué)和聲音效果[1]。VP為設(shè)計(jì)者提供了處理復(fù)雜仿真事件的程序接口,可實(shí)現(xiàn)各實(shí)體模型每一幀的狀態(tài)都是實(shí)時(shí)運(yùn)行的,同時(shí)還可根據(jù)用戶需要選擇觀察視點(diǎn),并對(duì)整個(gè)場(chǎng)景重新計(jì)算并渲染[2]。
2.1 仿真目標(biāo)
無(wú)人機(jī)不是獨(dú)立的部分,無(wú)人機(jī)依賴鏈路就像火車依靠軌道一樣,鏈路給無(wú)人機(jī)指令,指揮它們的監(jiān)視活動(dòng)或?yàn)樗鼈兊奈淦鞣峙涔裟繕?biāo)。在無(wú)人機(jī)鏈路攻擊試驗(yàn)中鏈路攻擊方(即紅方)負(fù)責(zé)對(duì)測(cè)控鏈路進(jìn)行偵查、監(jiān)視和攻擊,以期達(dá)到對(duì)無(wú)人機(jī)的干擾、控制和破壞。無(wú)人機(jī)鏈路攻擊某戰(zhàn)法的試驗(yàn)場(chǎng)景大致如下:一架“捕食者”無(wú)人機(jī)在空中飛行,執(zhí)行日常偵察任務(wù),并與地面遙測(cè)遙控鏈路車保持通信;地面上紅方入侵了無(wú)人機(jī)遙控鏈路,并對(duì)無(wú)人機(jī)發(fā)送平飛和關(guān)閉風(fēng)門(mén)的指令,發(fā)動(dòng)機(jī)進(jìn)入怠速并發(fā)生摩擦起火,無(wú)人機(jī)在大負(fù)荷狀況下失去動(dòng)力,最終落地墜毀并引發(fā)了劇烈爆炸。
2.2 需求分析
根據(jù)仿真目標(biāo),描述在無(wú)人機(jī)鏈路攻擊試驗(yàn)中,視景仿真系統(tǒng)接收來(lái)自紅藍(lán)雙方的遙測(cè)遙控鏈路信息進(jìn)行解析后,通過(guò)三維實(shí)體建模和模型驅(qū)動(dòng),表現(xiàn)出靜態(tài)的地面、天空、建筑物、山體等地貌環(huán)境并實(shí)時(shí)動(dòng)態(tài)的顯示無(wú)人機(jī)在地面自檢、機(jī)場(chǎng)起飛、空中飛行直至返場(chǎng)等一系列飛行過(guò)程和被攻擊、引擎起火,墜毀等狀態(tài)和動(dòng)作,表現(xiàn)出無(wú)人機(jī)鏈路的攻擊進(jìn)程和試驗(yàn)態(tài)勢(shì),來(lái)驗(yàn)證無(wú)人機(jī)鏈路攻擊方法的可行性和攻擊效果。經(jīng)過(guò)分析,無(wú)人機(jī)鏈路攻擊試驗(yàn)視景仿真系統(tǒng)需要:
(1)構(gòu)造三維物理模型庫(kù):綜合利用Multigen Creator 3.2和Terra Vista 6.2等軟件,實(shí)現(xiàn)對(duì)無(wú)人機(jī)等模型的構(gòu)建和虛擬環(huán)境建模。其中重點(diǎn)構(gòu)造逼真的“捕食者”無(wú)人機(jī)模型,并使主要舵機(jī)部件可控。根據(jù)視景仿真系統(tǒng)的技術(shù)需求,建模時(shí)考慮以下幾點(diǎn):一是盡可能提高模型的精細(xì)程度,提高仿真效果;二是剔除冗余頂點(diǎn)、面等數(shù)據(jù),通過(guò)紋理的有效補(bǔ)充,精簡(jiǎn)數(shù)據(jù)量;三是建立合理的模型數(shù)據(jù)庫(kù)層次結(jié)構(gòu),方便VP的實(shí)時(shí)渲染[3];四是建立合理的空間自由度節(jié)點(diǎn),實(shí)現(xiàn)裝備模擬時(shí)的模型動(dòng)作反饋。
(2)大地形數(shù)據(jù)庫(kù):大面積地形數(shù)據(jù)庫(kù)管理技術(shù)(LADBM)是一種使計(jì)算機(jī)顯卡能夠處理遠(yuǎn)遠(yuǎn)超出其計(jì)算處理能力的大型地形數(shù)據(jù)庫(kù)新技術(shù)[4]。鏈路仿真試驗(yàn)所需的地形場(chǎng)景地理面積很大,若正常加載,硬件往往無(wú)法滿足,會(huì)造成圖像的抖動(dòng)和跳變,無(wú)法保持幀連續(xù)性,影響了仿真效果。該技術(shù)能夠根據(jù)當(dāng)前觀察點(diǎn)所處坐標(biāo)動(dòng)態(tài)調(diào)整地形數(shù)據(jù)庫(kù)固定起始點(diǎn)的距離坐標(biāo),通過(guò)選擇一個(gè)接近觀察點(diǎn)的動(dòng)態(tài)數(shù)據(jù)庫(kù)起點(diǎn)或地面坐標(biāo)系統(tǒng)起點(diǎn)作為地形數(shù)據(jù)庫(kù)的新固定起始點(diǎn),可使當(dāng)前觀察點(diǎn)與數(shù)據(jù)庫(kù)起始點(diǎn)之間的相對(duì)距離差值保持在一定的精度范圍內(nèi),從而使系統(tǒng)能在保證數(shù)值精度連續(xù)性的情況下處理任意面積大小的地形數(shù)據(jù)庫(kù)。針對(duì)大地形數(shù)據(jù)庫(kù),VP采用細(xì)節(jié)層次網(wǎng)格技術(shù)管理大地形數(shù)據(jù),使用MetaFlight文件方式提供數(shù)據(jù)庫(kù)訪問(wèn)接口,同時(shí)提供了包括MetaFlight、vpLADBM、vpVT在內(nèi)的三個(gè)模塊專門(mén)用于控制場(chǎng)景的截取和繪圖。
(3)大地形的碰撞檢測(cè)與響應(yīng):在虛擬環(huán)境中,如果不給物體設(shè)置相應(yīng)的碰撞屬性,會(huì)出現(xiàn)物體間相互穿透的現(xiàn)象,破壞虛擬世界的真實(shí)感。VP將碰撞檢測(cè)封裝成一個(gè)稱為Isector的類,該類使用指定方法完成一個(gè)目標(biāo)物體與一個(gè)指定空間范圍之間的交叉碰撞測(cè)試。VP提供了Z,HAT,TRIPOD,LOS等8種碰撞檢測(cè)模式[5],這些模式可檢測(cè)到地面高度,碰撞點(diǎn)位置等,使用靈活,能滿足各種定制需要。在鏈路攻擊試驗(yàn)仿真中,碰撞檢測(cè)的關(guān)鍵是獲得捕食者無(wú)人機(jī)距離當(dāng)前大地形地標(biāo)的高度信息,這需要從目標(biāo)衍生一條垂直的線段至地表,并計(jì)算線段長(zhǎng)度。系統(tǒng)使用了一種基于單線段的碰撞檢測(cè)算法,線段沿著Y軸正向,可以通過(guò)getRange()查詢碰撞距離,當(dāng)小于某個(gè)值時(shí)觸發(fā)碰撞效果函數(shù)。
(4)特效技術(shù)與響應(yīng):是對(duì)無(wú)人機(jī)在飛行過(guò)程中的尾焰效果、航跡效果,無(wú)人機(jī)被攻擊產(chǎn)生的爆炸、煙霧、墜毀、碎片效果等的模擬。VP提供的vpFx特效模塊足以完成這一系列特效模擬:vpFxMissile-Trail模擬飛行尾跡效果;vpFxFlame模擬爆炸燃燒火焰;vpFxSmoke模擬燃燒煙霧;vpFxDebris模擬地面爆炸產(chǎn)生的碎片特效;vpFxSplash模擬水中爆炸特效等。對(duì)于特殊需求的特效,可通過(guò)vpFxParticle-System粒子系統(tǒng)進(jìn)行詳細(xì)的粒子屬性設(shè)計(jì),例如尾焰(需要設(shè)置尾焰的速度和方位)、水面紋波效果等。
(5)實(shí)時(shí)數(shù)據(jù)驅(qū)動(dòng):數(shù)據(jù)鏈實(shí)時(shí)接收無(wú)人機(jī)下傳的遙測(cè)信息,經(jīng)解碼得到無(wú)人機(jī)的經(jīng)緯高和俯仰、偏航、滾轉(zhuǎn)等信息。由于實(shí)時(shí)性是系統(tǒng)的關(guān)鍵需求之一,因此飛行數(shù)據(jù)的同步接收便尤為重要。本系統(tǒng)采用UDP網(wǎng)絡(luò)接收遙測(cè)遙控鏈路數(shù)據(jù),UDP數(shù)據(jù)處理程序的最大解碼時(shí)間設(shè)置小于20ms,在時(shí)間上保證幀不重疊、不丟棄,對(duì)系統(tǒng)其他部分的實(shí)時(shí)性影響小,滿足系統(tǒng)的實(shí)時(shí)性要求。
(6)坐標(biāo)變換:VP中定義了當(dāng)?shù)刈鴺?biāo)系(Local)、地心坐標(biāo)系(Geocentric)、大地坐標(biāo)系(Geodetic)、投影坐標(biāo)系(Protected)四種坐標(biāo)系。其中當(dāng)?shù)刈鴺?biāo)系是一個(gè)不考慮地球物理模型和投影方式的直角坐標(biāo)系,而其余三種坐標(biāo)系都必須與地球物理模型相關(guān)聯(lián)。視景仿真系統(tǒng)必須基于真實(shí)的長(zhǎng)短軸地球模型,否則在仿真過(guò)程中飛行器的定位將不準(zhǔn)。視景仿真驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)時(shí)必須要考慮場(chǎng)景坐標(biāo)系的設(shè)定,而這是由驅(qū)動(dòng)數(shù)據(jù)所決定的。無(wú)人機(jī)鏈路攻擊試驗(yàn)中的遙測(cè)鏈路數(shù)據(jù)中,捕食者無(wú)人機(jī)采用的是大地坐標(biāo)系即經(jīng)度、緯度和高度組合表示,因此需要在VP仿真平臺(tái)上創(chuàng)建一個(gè)vpCoordConverter實(shí)例來(lái)實(shí)現(xiàn)地理坐標(biāo)系映射到VP內(nèi)部的本地坐標(biāo)系。
(7)自然環(huán)境模擬技術(shù):為了達(dá)到更強(qiáng)的逼真效果,系統(tǒng)有必要對(duì)環(huán)境以及一些特殊效果進(jìn)行真實(shí)性模擬。自然環(huán)境包括清晨、傍晚、陰天、霧天以及雨天等特殊天氣情況,系統(tǒng)應(yīng)具有實(shí)時(shí)改變虛擬戰(zhàn)場(chǎng)自然環(huán)境的功能,從而達(dá)到檢驗(yàn)不同自然條件下作戰(zhàn)效能之目的。
(8)多通道選取與視點(diǎn)變換控制:為了對(duì)無(wú)人機(jī)飛行狀態(tài)做實(shí)時(shí)觀察,用戶需要能從不同時(shí)刻對(duì)無(wú)人機(jī)各個(gè)角度或在同一時(shí)刻對(duì)無(wú)人機(jī)各個(gè)角度進(jìn)行觀察,為此在系統(tǒng)中設(shè)計(jì)了兩種觀察法:多視點(diǎn)和多通道。多視點(diǎn)是指對(duì)同一個(gè)通道的觀察位置進(jìn)行改變;多通道是指對(duì)無(wú)人機(jī)同時(shí)通過(guò)多個(gè)通道進(jìn)行觀察,根據(jù)需求用戶可對(duì)當(dāng)前通道內(nèi)的視點(diǎn)通過(guò)鼠標(biāo)或鍵盤(pán)進(jìn)行調(diào)節(jié)。
(9)交互能力:仿真過(guò)程中用戶可以通過(guò)交互控制設(shè)備鼠標(biāo)和鍵盤(pán)來(lái)實(shí)現(xiàn)對(duì)虛擬場(chǎng)景的控制。
(10)二維信息顯示:在界面上通過(guò)文字或圖片方式顯示無(wú)人機(jī)的六自由度參數(shù)、試驗(yàn)信息等等,通過(guò)二維信息顯示可以輔助用戶快速得到虛擬戰(zhàn)場(chǎng)的信息。
(11)數(shù)據(jù)保存與回放:能實(shí)時(shí)保存數(shù)據(jù)并通過(guò)回放來(lái)驅(qū)動(dòng)視景仿真系統(tǒng)。
2.3 開(kāi)發(fā)流程
無(wú)人機(jī)鏈路攻擊視景仿真系統(tǒng)由三維物理建模和視景驅(qū)動(dòng)組成,前者主要包括三維物理模型建模、大地場(chǎng)景的構(gòu)造與生成、模型紋理的設(shè)計(jì)等等;后者包括場(chǎng)景配置和視景仿真驅(qū)動(dòng)程序設(shè)計(jì)兩個(gè)部分。首先利用VP自帶的圖形界面工具LP加入各種增加場(chǎng)景沉浸感的特效實(shí)例,諸如天氣環(huán)境、飛行器尾焰或尾跡、爆炸煙霧等粒子效果乃至于聲音特效實(shí)例,然后在MFC對(duì)話框程序框架的基礎(chǔ)上調(diào)用VP的API函數(shù)進(jìn)行驅(qū)動(dòng)程序開(kāi)發(fā)。系統(tǒng)開(kāi)發(fā)流程如圖1所示。
圖1 系統(tǒng)開(kāi)發(fā)流程
3.1 視景仿真建模
3.1.1 三維物理模型建模
三維物理模型是指視景仿真顯示中涉及到的所有模型結(jié)構(gòu),模型的構(gòu)造關(guān)系到視景仿真逼真程度,是視景仿真的靜態(tài)基礎(chǔ)。系統(tǒng)綜合利用3DS MAX、Multigen Creator 3.2和Terra Vista 6.2等軟件,實(shí)現(xiàn)對(duì)無(wú)人機(jī)等視景仿真模型的構(gòu)建和虛擬環(huán)境建模。
三維實(shí)體模型的構(gòu)建首先利用3DS Max選好模型坐標(biāo)系的坐標(biāo)原點(diǎn),利用參數(shù)化建模功能建立模型,要利用自由曲面建模和特征建模功能處理模型的細(xì)節(jié)部分,使模型更貼近實(shí)裝。實(shí)體模型建立之后將其導(dǎo)入Creator,在Creator中通過(guò)材質(zhì)處理和紋理貼圖提高模型的逼真程度,并在Creator中對(duì)無(wú)人機(jī)的零部件設(shè)置DOF節(jié)點(diǎn)。DOF(自由度,Degree ofFreedom)是一種可以在模型中實(shí)現(xiàn)旋轉(zhuǎn)、平移、縮放等運(yùn)動(dòng)的控制節(jié)點(diǎn),它通過(guò)建立一個(gè)局部坐標(biāo)系,可以控制模型的零件(關(guān)節(jié))在局部坐標(biāo)系中按給定自由度進(jìn)行移動(dòng)或旋轉(zhuǎn)。這些自由度包括:X、Y、Z軸上的位移,H、P、R上的旋轉(zhuǎn),沿X、Y、Z軸上的縮放因子,符合笛卡爾坐標(biāo)系中的右手定則。
大場(chǎng)景地形模型主要采用的是Presagis公司基于Windows平臺(tái)的實(shí)時(shí)三維地形數(shù)據(jù)庫(kù)生成軟件Terra Vista 6.2。該軟件適合大數(shù)據(jù)量的地形生成,將dem、GeoTIFF等原始的高程數(shù)據(jù)、衛(wèi)星影像文件和Creator3.2中創(chuàng)建好的房屋、道路、建筑等顯著地標(biāo)的模型文件導(dǎo)入到Terra Vista 6.2,進(jìn)行相關(guān)參數(shù)的配置,而后對(duì)地形文件進(jìn)行網(wǎng)格化生成。
3.1.2 模型優(yōu)化
無(wú)人機(jī)作為一個(gè)復(fù)雜的模型,在給定幀率的情況下,只能對(duì)有限數(shù)量多邊形進(jìn)行各種實(shí)時(shí)繪制。如果模型數(shù)據(jù)庫(kù)中的多邊形數(shù)量超出了實(shí)時(shí)系統(tǒng)圖形硬件處理的能力,則虛擬仿真畫(huà)面無(wú)法進(jìn)行流暢的渲染。由于3DSMax在建立規(guī)則體時(shí)會(huì)產(chǎn)生較多多余的多邊形,帶來(lái)不必要的系統(tǒng)資源浪費(fèi)。利用3DS Max生成的捕食者無(wú)人機(jī)模型為8710KB,在不影響顯示效果的情況下,利用Creator的合并功能減少多邊形數(shù)量,還可以通過(guò)手工刪除模型中不被顯示出來(lái)的多邊形和過(guò)渡的模型細(xì)節(jié),減小模型文件的大小,優(yōu)化后為2558KB,達(dá)到了優(yōu)化目的,提高了仿真速度。
在Creator中的OpenFlight數(shù)據(jù)格式采用樹(shù)狀的結(jié)構(gòu)層次來(lái)組織管理場(chǎng)景數(shù)據(jù),模型數(shù)據(jù)庫(kù)的訪問(wèn)規(guī)則是由上到下,由左至右。對(duì)無(wú)人機(jī)模型數(shù)據(jù)庫(kù)進(jìn)行結(jié)構(gòu)調(diào)整,方法是將無(wú)人機(jī)模型數(shù)據(jù)庫(kù)層次結(jié)構(gòu)視圖按照可動(dòng)部分和不可動(dòng)部分的原則分成兩大類。這樣的優(yōu)點(diǎn)是組織管理方便,需要維護(hù)和改進(jìn)時(shí)只需修改目標(biāo)節(jié)點(diǎn)而其它部分則保持不變,此方法優(yōu)化了模型的視景輸出次序,提高了模型的渲染效果。
由于三維地形模型占用的系統(tǒng)資源比較大,會(huì)影響整個(gè)仿真系統(tǒng)的運(yùn)算效率,在具體建立地形場(chǎng)景時(shí)采用LOD技術(shù)(多層次細(xì)節(jié)技術(shù))。根據(jù)無(wú)人機(jī)飛行高度不同,地形顯示的精確度相應(yīng)不同,這樣即能還原實(shí)際情況,也降低了系統(tǒng)資源占用。
3.2 視景仿真驅(qū)動(dòng)
3.2.1 LynXPrime(LP)場(chǎng)景配置
LP場(chǎng)景配置基本步驟:
(1)新建一個(gè)場(chǎng)景(Scene),將無(wú)人機(jī)模型及地形模型導(dǎo)入場(chǎng)景中;
(2)為場(chǎng)景加入光照、云彩、太陽(yáng)等效果;
(3)為無(wú)人機(jī)設(shè)置與地面和建筑物之間的碰撞檢測(cè);
(4)為視景窗口設(shè)置通道(Channels),并安排各通道的相對(duì)位置,設(shè)置觀察者視點(diǎn);
(5)配置坐標(biāo)轉(zhuǎn)換;
(6)為場(chǎng)景設(shè)置特效,并配置特效。粒子屬性系統(tǒng)中無(wú)人機(jī)航跡、尾槳旋轉(zhuǎn)、爆炸、粉塵火焰等等是通過(guò)特效來(lái)實(shí)現(xiàn)的,但特效的觸發(fā)事件通過(guò)程序來(lái)驅(qū)動(dòng),所有的跟墜毀相關(guān)的特效都是在檢測(cè)到碰撞后觸發(fā);
(7)配置二維信息模塊。
配置完畢后生成.ACF(Application Configuration Files)配置文件[6]。
3.2.2 基于MFC的實(shí)時(shí)視景仿真
視景仿真程序是整個(gè)視景仿真系統(tǒng)的核心模塊,是動(dòng)態(tài)視景呈現(xiàn)的關(guān)鍵環(huán)節(jié)。本系統(tǒng)采用Visual Studio 2008與Vega Prime5.0實(shí)現(xiàn)實(shí)時(shí)仿真程序設(shè)計(jì),在VC++中調(diào)用VP的API函數(shù)庫(kù)可以靈活方便準(zhǔn)確地實(shí)現(xiàn)交互式的視景仿真[7]。
圖2 視景仿真驅(qū)動(dòng)程序工作流程
VP驅(qū)動(dòng)程序的設(shè)計(jì)分為靜態(tài)設(shè)置和動(dòng)態(tài)循環(huán)兩個(gè)階段,如圖2所示。靜態(tài)設(shè)置階段是在MFC對(duì)話框程序里啟動(dòng)一個(gè)工作者線程,視景仿真系統(tǒng)中需要實(shí)時(shí)地進(jìn)行渲染循環(huán),這個(gè)過(guò)程非常耗時(shí),需要啟用工作者線程來(lái)完成VP的驅(qū)動(dòng)和渲染任務(wù)[8]。在線程的主函數(shù)里初始化VP仿真環(huán)境、創(chuàng)建共享內(nèi)存區(qū),進(jìn)行系統(tǒng)定義及系統(tǒng)配置等并進(jìn)入動(dòng)態(tài)主循環(huán)。在動(dòng)態(tài)循環(huán)階段,系統(tǒng)實(shí)時(shí)接收UDP網(wǎng)絡(luò)傳送的遙測(cè)遙控鏈路數(shù)據(jù)以及從鼠標(biāo)或鍵盤(pán)輸入的觀測(cè)點(diǎn)控制信息,控制觀察者,控制特效,配置鍵盤(pán)函數(shù),操作DOF,控制父子關(guān)系,控制碰撞檢測(cè),保存歷史記錄并按照一定的頻率循環(huán)渲染場(chǎng)景,從而實(shí)現(xiàn)場(chǎng)景的動(dòng)態(tài)仿真。
在程序中定義無(wú)人機(jī)的結(jié)構(gòu)體類型,將多個(gè)與相關(guān)鏈路攻擊試驗(yàn)相關(guān)的無(wú)人機(jī)變量屬性打包成為一個(gè)整體使用,無(wú)人機(jī)的結(jié)構(gòu)體如下所示:
struct wrjstruct //無(wú)人機(jī)結(jié)構(gòu)
{
vpObject *m_wrj; //捕食者無(wú)人機(jī)
int m_nState; //無(wú)人機(jī)狀態(tài)
vuVec3d m_xyz; //經(jīng)緯高
vuVec3d m_hpr; //方位、俯仰、側(cè)傾
double m_speed; //速度
vuField<vsDOF*>m_pvertical_DOF; //垂舵DOF節(jié)點(diǎn)
vuField<vsDOF*>m_plefttail_DOF; //左尾舵DOF節(jié)點(diǎn)
vuField<vsDOF*>m_prightail_DOF; //右尾舵DOF節(jié)點(diǎn)
vpFxBlade *m_blade; //螺旋槳
vpFxFlightRibbon*m_FlightRibbon; //航跡
vpFxMissileTrail*m_trail1; //左側(cè)航跡云
vpFxMissileTrail*m_trail2; //右側(cè)航跡云
vpFxFlak *m_engineexplosion; //引擎爆炸
vpFxSmoke*m_smoke; //失火產(chǎn)生的煙霧
vpFxDebris*m_debris; //與地面相撞產(chǎn)生的碎塊
vpFxFire *m_fire; //引擎起火
vpObject *m_crater; //與地面相撞形成的大坑
vpIsector *m_LADBMlosIsector; //碰撞觸發(fā)器
……
};
圖3 仿真應(yīng)用程序運(yùn)行過(guò)程中的屏幕截圖
對(duì)于UDP協(xié)議傳輸數(shù)據(jù)的不可靠性,在程序中通過(guò)驗(yàn)證數(shù)據(jù)報(bào)文幀頭、數(shù)據(jù)長(zhǎng)度等信息來(lái)保證數(shù)據(jù)的正確性和可靠性。實(shí)時(shí)數(shù)據(jù)驅(qū)動(dòng)的實(shí)現(xiàn)是在UDP線程(vega_socket)接收數(shù)據(jù)時(shí)在VP線程的幀循環(huán)中進(jìn)行實(shí)時(shí)賦值,如下所示:
o_wrj.m_xyz.set (vega_socket->Soc_jd,vega_socket->Soc_wd,vega_socket->Soc_gd);
o_wrj.m_hpr.set (-vega_socket->Soc_heading, veg_socket->Soc_pitch,vega_socket->Soc_rolling);
o_wrj.m_speed=vega_socket->Soc_Speed;
VP提供的vsDOF類用來(lái)在程序中實(shí)現(xiàn)對(duì)DOF進(jìn)行控制,下面的代碼是一個(gè)DOF的控制實(shí)例。
o_wrj.m_pvertical_DOF->setRotateP (2.0,true);//無(wú)人機(jī)的垂舵沿著P軸方向發(fā)生了2.0度的翻轉(zhuǎn)無(wú)人機(jī)引擎起火爆炸火焰特效基于粒子系統(tǒng),火焰特效的繪制當(dāng)前幀數(shù)的存活火焰粒子,原有的火焰粒子進(jìn)行運(yùn)動(dòng)變換,將存活較長(zhǎng)的火焰粒子部分消亡,同時(shí)將下一幀火焰粒子賦予相應(yīng)的屬性。控制火焰粒子的運(yùn)動(dòng)變化的代碼如下:
o_wrj.m_burn->setVelocity(0.0,m_vVelocity);//無(wú)人機(jī)引擎爆炸產(chǎn)生的火焰粒子特效
o_wrj.m_crash->setVelocity(0.0,m_vVelocity);//無(wú)人機(jī)引擎爆炸產(chǎn)生的煙霧粒子特效
無(wú)人機(jī)與大地形地面碰撞檢測(cè)的代碼如下:
if(o_wrj.m_LADBMlosIsector->getHit())
{
o_wrj.m_nState=STATE_CRASHED;
vuNotify::print(vuNotify::LEVEL_WARN,NULL, "The wrj has just crashed");
}
當(dāng)無(wú)人機(jī)墜毀時(shí),得到其位置信息,并實(shí)時(shí)計(jì)算出與理想目標(biāo)位置之間的位置偏差,并根據(jù)相應(yīng)距離判定毀傷概率。無(wú)人機(jī)墜毀特效都是在檢測(cè)到碰撞后觸發(fā),代碼如下:
o_wrj.m_flash->setEnable(true);//無(wú)人機(jī)墜地產(chǎn)生的火花
o_wrj.m_debris->setEnable(true);//無(wú)人機(jī)墜地產(chǎn)生的碎片
o_wrj.m_smoke->setEnable(true);//無(wú)人機(jī)墜地產(chǎn)生的煙霧
o_wrj.m_fire->setEnable(true); //無(wú)人機(jī)墜地產(chǎn)生的火焰
系統(tǒng)根據(jù)無(wú)人機(jī)鏈路攻擊試驗(yàn)仿真目標(biāo)需求對(duì)系統(tǒng)功能進(jìn)行分析、設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)完整的視景仿真系統(tǒng)。系統(tǒng)基于NT平臺(tái)開(kāi)發(fā),在Intel Core i5處理器8G內(nèi)存NVIDIA Quadro K1100M圖形卡的硬件配置環(huán)境下,實(shí)時(shí)渲染幀率達(dá)到了57~59幀/秒,模型精細(xì),逼真程度高,畫(huà)面運(yùn)行流暢,對(duì)三維物理模型調(diào)用與更新的實(shí)時(shí)性高,實(shí)現(xiàn)了對(duì)各個(gè)仿真實(shí)體和實(shí)體零部件的靈活控制,操作人員可以通過(guò)鍵盤(pán)和鼠標(biāo)在不同視點(diǎn)間任意切換。該系統(tǒng)使無(wú)人機(jī)鏈路攻擊試驗(yàn)的指揮人員和參與人員可直觀地觀察捕食者無(wú)人機(jī)的飛行過(guò)程、飛行姿態(tài)和效果,由此分析出無(wú)人機(jī)鏈路的攻擊進(jìn)程和試驗(yàn)態(tài)勢(shì)并驗(yàn)證無(wú)人機(jī)鏈路攻擊方法的可行性和攻擊效果。
[1]萬(wàn)明,樊曉光,南建國(guó).Vega Prime視景仿真開(kāi)發(fā)技術(shù)[M].北京:國(guó)防工業(yè)出版社,2015. Wan min,Fan Xiaoguang,Nan Jianguo.Vega Prime Visual Simulation Technology[M].Beijing:National defence Industriy Press,2015.
[2]Vega Prime GUI tutorial[M].USA:Presagis Inc,2011.
[3]Vega Prime Round Earth Marine Terrain Tutorial version 5.0 [M].USA:Presagis Inc,2011.
[4]Terra Vista 6.2 Tutorial:Getting Started[M].USA:Presagis Inc, 2011.
[5]Vega Prime Getting Started LADBMTutorial version 5.0[M]. USA:Presagis Inc,2011.
[6]LynX Prime Interface,Version 4.0[M].USA:Presagis Inc, 2009.
[7]Vega Prime Programmers Guide version 5.0[M].USA:Presagis Inc,2011.
[8]王孝平,董秀成,鄭海春.Vega Prime實(shí)時(shí)三維虛擬現(xiàn)實(shí)開(kāi)發(fā)技術(shù)[M].成都:西南交通大學(xué)出版社,2012.
Design and Implementation of UAV Link Attack Visual Simulation System
Wang Hui,Zhao Pan,Liu Dongsheng,Zou Yang
(Luoyang China Electronic Equipment Test Center,Jiyuan 459000,China)
In order to meet the simulation requirements of UAV's states and attacking effects in Link Attack Test,based on virtual reality technology,texture mapping,DOF detail modeling,effects binding and data-driven technology,UAV link attack visual simulation system is designed and developed.The system,in real time,realizes access of UAV flight parameters,displays and replays flight path and attitude,attack effects and damage effects.Through the system test,the results demonstrate that the visual simulation system can real-timely drive each simulation entity running,which is reliable,stable and intuitive.The visual picture is fluent,and the ratio of picture updating is more than 55 frames per second.It meets the demand of the real-time performance of the system and has a certain practicality and promotional value.
Vega Prime Platform;UAV link Attacking;Visual simulation;3D object modeling;Data-driven;Collision detection
10.3969/j.issn.1002-2279.2017.02.016
TP319
B
1002-2279-(2017)02-0068-06
王卉(1982-),女,江蘇省連云港人,工程師,碩士研究生,主研方向:軟件工程、虛擬現(xiàn)實(shí)技術(shù)和指揮控制系統(tǒng)等。
2016-09-28