王 卉,趙 盼,劉東升,鄒 楊
(中國洛陽電子裝備試驗中心,濟源459000)
無人機鏈路攻擊視景仿真系統設計與實現
王 卉,趙 盼,劉東升,鄒 楊
(中國洛陽電子裝備試驗中心,濟源459000)
為滿足無人機在鏈路攻擊試驗中的各種狀態和攻擊效果仿真要求,基于虛擬現實技術、利用紋理映射、DOF細節建模、特效綁定和數據驅動等技術,設計并開發了無人機鏈路攻擊視景仿真系統。系統實現了無人機飛行參數實時獲取、飛行航跡和姿態的實時顯示、攻擊效果和毀傷特效的實時顯示與回顯。通過系統測試結果表明:該視景仿真系統能夠實時驅動各個仿真實體運行,系統運行可靠穩定直觀,視景畫面流暢,圖像刷新速率達到55幀/s以上,能夠滿足系統實時性要求,具有一定的實用性和推廣價值。
Vega Prime平臺;無人機鏈路攻擊;視景仿真;三維模型;數據驅動;碰撞檢測
視景仿真系統是虛擬現實技術在軍事領域的典型應用,屬于計算機仿真范疇,主要用在武器對抗仿真平臺、模擬軍事演習等方面。它可以營造逼真的虛擬戰場,滿足操作人員與戰場環境之間的信息交互。其目的是為軍事仿真系統提供大規模分布式的虛擬戰場環境,并借助虛擬仿真作戰環境來完成對作戰人員的訓練、武器裝備的效能評估以及作戰方案的驗證和演練。視景仿真系統把現實中枯燥無味、難以理解的模擬信號或信息數據進行了直觀的可視化展現,并且是隨時間和空間變化的動態過程,從而使得系統中各個變量跟仿真視景建立了關系。
Vega Prime5.0(以下簡稱VP)是一套完整地用于開發交互式、可視化仿真應用的軟件平臺和工具集,由圖形用戶界面程序LynX Prime(以下簡稱LP)、實用工具組、VP函數庫及相關頭文件組成。最基本的功能是驅動、控制、管理虛擬場景并能快速便捷的實現大量特殊視覺和聲音效果[1]。VP為設計者提供了處理復雜仿真事件的程序接口,可實現各實體模型每一幀的狀態都是實時運行的,同時還可根據用戶需要選擇觀察視點,并對整個場景重新計算并渲染[2]。
2.1 仿真目標
無人機不是獨立的部分,無人機依賴鏈路就像火車依靠軌道一樣,鏈路給無人機指令,指揮它們的監視活動或為它們的武器分配攻擊目標。在無人機鏈路攻擊試驗中鏈路攻擊方(即紅方)負責對測控鏈路進行偵查、監視和攻擊,以期達到對無人機的干擾、控制和破壞。無人機鏈路攻擊某戰法的試驗場景大致如下:一架“捕食者”無人機在空中飛行,執行日常偵察任務,并與地面遙測遙控鏈路車保持通信;地面上紅方入侵了無人機遙控鏈路,并對無人機發送平飛和關閉風門的指令,發動機進入怠速并發生摩擦起火,無人機在大負荷狀況下失去動力,最終落地墜毀并引發了劇烈爆炸。
2.2 需求分析
根據仿真目標,描述在無人機鏈路攻擊試驗中,視景仿真系統接收來自紅藍雙方的遙測遙控鏈路信息進行解析后,通過三維實體建模和模型驅動,表現出靜態的地面、天空、建筑物、山體等地貌環境并實時動態的顯示無人機在地面自檢、機場起飛、空中飛行直至返場等一系列飛行過程和被攻擊、引擎起火,墜毀等狀態和動作,表現出無人機鏈路的攻擊進程和試驗態勢,來驗證無人機鏈路攻擊方法的可行性和攻擊效果。經過分析,無人機鏈路攻擊試驗視景仿真系統需要:
(1)構造三維物理模型庫:綜合利用Multigen Creator 3.2和Terra Vista 6.2等軟件,實現對無人機等模型的構建和虛擬環境建模。其中重點構造逼真的“捕食者”無人機模型,并使主要舵機部件可控。根據視景仿真系統的技術需求,建模時考慮以下幾點:一是盡可能提高模型的精細程度,提高仿真效果;二是剔除冗余頂點、面等數據,通過紋理的有效補充,精簡數據量;三是建立合理的模型數據庫層次結構,方便VP的實時渲染[3];四是建立合理的空間自由度節點,實現裝備模擬時的模型動作反饋。
(2)大地形數據庫:大面積地形數據庫管理技術(LADBM)是一種使計算機顯卡能夠處理遠遠超出其計算處理能力的大型地形數據庫新技術[4]。鏈路仿真試驗所需的地形場景地理面積很大,若正常加載,硬件往往無法滿足,會造成圖像的抖動和跳變,無法保持幀連續性,影響了仿真效果。該技術能夠根據當前觀察點所處坐標動態調整地形數據庫固定起始點的距離坐標,通過選擇一個接近觀察點的動態數據庫起點或地面坐標系統起點作為地形數據庫的新固定起始點,可使當前觀察點與數據庫起始點之間的相對距離差值保持在一定的精度范圍內,從而使系統能在保證數值精度連續性的情況下處理任意面積大小的地形數據庫。針對大地形數據庫,VP采用細節層次網格技術管理大地形數據,使用MetaFlight文件方式提供數據庫訪問接口,同時提供了包括MetaFlight、vpLADBM、vpVT在內的三個模塊專門用于控制場景的截取和繪圖。
(3)大地形的碰撞檢測與響應:在虛擬環境中,如果不給物體設置相應的碰撞屬性,會出現物體間相互穿透的現象,破壞虛擬世界的真實感。VP將碰撞檢測封裝成一個稱為Isector的類,該類使用指定方法完成一個目標物體與一個指定空間范圍之間的交叉碰撞測試。VP提供了Z,HAT,TRIPOD,LOS等8種碰撞檢測模式[5],這些模式可檢測到地面高度,碰撞點位置等,使用靈活,能滿足各種定制需要。在鏈路攻擊試驗仿真中,碰撞檢測的關鍵是獲得捕食者無人機距離當前大地形地標的高度信息,這需要從目標衍生一條垂直的線段至地表,并計算線段長度。系統使用了一種基于單線段的碰撞檢測算法,線段沿著Y軸正向,可以通過getRange()查詢碰撞距離,當小于某個值時觸發碰撞效果函數。
(4)特效技術與響應:是對無人機在飛行過程中的尾焰效果、航跡效果,無人機被攻擊產生的爆炸、煙霧、墜毀、碎片效果等的模擬。VP提供的vpFx特效模塊足以完成這一系列特效模擬:vpFxMissile-Trail模擬飛行尾跡效果;vpFxFlame模擬爆炸燃燒火焰;vpFxSmoke模擬燃燒煙霧;vpFxDebris模擬地面爆炸產生的碎片特效;vpFxSplash模擬水中爆炸特效等。對于特殊需求的特效,可通過vpFxParticle-System粒子系統進行詳細的粒子屬性設計,例如尾焰(需要設置尾焰的速度和方位)、水面紋波效果等。
(5)實時數據驅動:數據鏈實時接收無人機下傳的遙測信息,經解碼得到無人機的經緯高和俯仰、偏航、滾轉等信息。由于實時性是系統的關鍵需求之一,因此飛行數據的同步接收便尤為重要。本系統采用UDP網絡接收遙測遙控鏈路數據,UDP數據處理程序的最大解碼時間設置小于20ms,在時間上保證幀不重疊、不丟棄,對系統其他部分的實時性影響小,滿足系統的實時性要求。
(6)坐標變換:VP中定義了當地坐標系(Local)、地心坐標系(Geocentric)、大地坐標系(Geodetic)、投影坐標系(Protected)四種坐標系。其中當地坐標系是一個不考慮地球物理模型和投影方式的直角坐標系,而其余三種坐標系都必須與地球物理模型相關聯。視景仿真系統必須基于真實的長短軸地球模型,否則在仿真過程中飛行器的定位將不準。視景仿真驅動系統設計時必須要考慮場景坐標系的設定,而這是由驅動數據所決定的。無人機鏈路攻擊試驗中的遙測鏈路數據中,捕食者無人機采用的是大地坐標系即經度、緯度和高度組合表示,因此需要在VP仿真平臺上創建一個vpCoordConverter實例來實現地理坐標系映射到VP內部的本地坐標系。
(7)自然環境模擬技術:為了達到更強的逼真效果,系統有必要對環境以及一些特殊效果進行真實性模擬。自然環境包括清晨、傍晚、陰天、霧天以及雨天等特殊天氣情況,系統應具有實時改變虛擬戰場自然環境的功能,從而達到檢驗不同自然條件下作戰效能之目的。
(8)多通道選取與視點變換控制:為了對無人機飛行狀態做實時觀察,用戶需要能從不同時刻對無人機各個角度或在同一時刻對無人機各個角度進行觀察,為此在系統中設計了兩種觀察法:多視點和多通道。多視點是指對同一個通道的觀察位置進行改變;多通道是指對無人機同時通過多個通道進行觀察,根據需求用戶可對當前通道內的視點通過鼠標或鍵盤進行調節。
(9)交互能力:仿真過程中用戶可以通過交互控制設備鼠標和鍵盤來實現對虛擬場景的控制。
(10)二維信息顯示:在界面上通過文字或圖片方式顯示無人機的六自由度參數、試驗信息等等,通過二維信息顯示可以輔助用戶快速得到虛擬戰場的信息。
(11)數據保存與回放:能實時保存數據并通過回放來驅動視景仿真系統。
2.3 開發流程
無人機鏈路攻擊視景仿真系統由三維物理建模和視景驅動組成,前者主要包括三維物理模型建模、大地場景的構造與生成、模型紋理的設計等等;后者包括場景配置和視景仿真驅動程序設計兩個部分。首先利用VP自帶的圖形界面工具LP加入各種增加場景沉浸感的特效實例,諸如天氣環境、飛行器尾焰或尾跡、爆炸煙霧等粒子效果乃至于聲音特效實例,然后在MFC對話框程序框架的基礎上調用VP的API函數進行驅動程序開發。系統開發流程如圖1所示。

圖1 系統開發流程
3.1 視景仿真建模
3.1.1 三維物理模型建模
三維物理模型是指視景仿真顯示中涉及到的所有模型結構,模型的構造關系到視景仿真逼真程度,是視景仿真的靜態基礎。系統綜合利用3DS MAX、Multigen Creator 3.2和Terra Vista 6.2等軟件,實現對無人機等視景仿真模型的構建和虛擬環境建模。
三維實體模型的構建首先利用3DS Max選好模型坐標系的坐標原點,利用參數化建模功能建立模型,要利用自由曲面建模和特征建模功能處理模型的細節部分,使模型更貼近實裝。實體模型建立之后將其導入Creator,在Creator中通過材質處理和紋理貼圖提高模型的逼真程度,并在Creator中對無人機的零部件設置DOF節點。DOF(自由度,Degree ofFreedom)是一種可以在模型中實現旋轉、平移、縮放等運動的控制節點,它通過建立一個局部坐標系,可以控制模型的零件(關節)在局部坐標系中按給定自由度進行移動或旋轉。這些自由度包括:X、Y、Z軸上的位移,H、P、R上的旋轉,沿X、Y、Z軸上的縮放因子,符合笛卡爾坐標系中的右手定則。
大場景地形模型主要采用的是Presagis公司基于Windows平臺的實時三維地形數據庫生成軟件Terra Vista 6.2。該軟件適合大數據量的地形生成,將dem、GeoTIFF等原始的高程數據、衛星影像文件和Creator3.2中創建好的房屋、道路、建筑等顯著地標的模型文件導入到Terra Vista 6.2,進行相關參數的配置,而后對地形文件進行網格化生成。
3.1.2 模型優化
無人機作為一個復雜的模型,在給定幀率的情況下,只能對有限數量多邊形進行各種實時繪制。如果模型數據庫中的多邊形數量超出了實時系統圖形硬件處理的能力,則虛擬仿真畫面無法進行流暢的渲染。由于3DSMax在建立規則體時會產生較多多余的多邊形,帶來不必要的系統資源浪費。利用3DS Max生成的捕食者無人機模型為8710KB,在不影響顯示效果的情況下,利用Creator的合并功能減少多邊形數量,還可以通過手工刪除模型中不被顯示出來的多邊形和過渡的模型細節,減小模型文件的大小,優化后為2558KB,達到了優化目的,提高了仿真速度。
在Creator中的OpenFlight數據格式采用樹狀的結構層次來組織管理場景數據,模型數據庫的訪問規則是由上到下,由左至右。對無人機模型數據庫進行結構調整,方法是將無人機模型數據庫層次結構視圖按照可動部分和不可動部分的原則分成兩大類。這樣的優點是組織管理方便,需要維護和改進時只需修改目標節點而其它部分則保持不變,此方法優化了模型的視景輸出次序,提高了模型的渲染效果。
由于三維地形模型占用的系統資源比較大,會影響整個仿真系統的運算效率,在具體建立地形場景時采用LOD技術(多層次細節技術)。根據無人機飛行高度不同,地形顯示的精確度相應不同,這樣即能還原實際情況,也降低了系統資源占用。
3.2 視景仿真驅動
3.2.1 LynXPrime(LP)場景配置
LP場景配置基本步驟:
(1)新建一個場景(Scene),將無人機模型及地形模型導入場景中;
(2)為場景加入光照、云彩、太陽等效果;
(3)為無人機設置與地面和建筑物之間的碰撞檢測;
(4)為視景窗口設置通道(Channels),并安排各通道的相對位置,設置觀察者視點;
(5)配置坐標轉換;
(6)為場景設置特效,并配置特效。粒子屬性系統中無人機航跡、尾槳旋轉、爆炸、粉塵火焰等等是通過特效來實現的,但特效的觸發事件通過程序來驅動,所有的跟墜毀相關的特效都是在檢測到碰撞后觸發;
(7)配置二維信息模塊。
配置完畢后生成.ACF(Application Configuration Files)配置文件[6]。
3.2.2 基于MFC的實時視景仿真
視景仿真程序是整個視景仿真系統的核心模塊,是動態視景呈現的關鍵環節。本系統采用Visual Studio 2008與Vega Prime5.0實現實時仿真程序設計,在VC++中調用VP的API函數庫可以靈活方便準確地實現交互式的視景仿真[7]。

圖2 視景仿真驅動程序工作流程
VP驅動程序的設計分為靜態設置和動態循環兩個階段,如圖2所示。靜態設置階段是在MFC對話框程序里啟動一個工作者線程,視景仿真系統中需要實時地進行渲染循環,這個過程非常耗時,需要啟用工作者線程來完成VP的驅動和渲染任務[8]。在線程的主函數里初始化VP仿真環境、創建共享內存區,進行系統定義及系統配置等并進入動態主循環。在動態循環階段,系統實時接收UDP網絡傳送的遙測遙控鏈路數據以及從鼠標或鍵盤輸入的觀測點控制信息,控制觀察者,控制特效,配置鍵盤函數,操作DOF,控制父子關系,控制碰撞檢測,保存歷史記錄并按照一定的頻率循環渲染場景,從而實現場景的動態仿真。
在程序中定義無人機的結構體類型,將多個與相關鏈路攻擊試驗相關的無人機變量屬性打包成為一個整體使用,無人機的結構體如下所示:
struct wrjstruct //無人機結構
{
vpObject *m_wrj; //捕食者無人機
int m_nState; //無人機狀態
vuVec3d m_xyz; //經緯高
vuVec3d m_hpr; //方位、俯仰、側傾
double m_speed; //速度
vuField<vsDOF*>m_pvertical_DOF; //垂舵DOF節點
vuField<vsDOF*>m_plefttail_DOF; //左尾舵DOF節點
vuField<vsDOF*>m_prightail_DOF; //右尾舵DOF節點
vpFxBlade *m_blade; //螺旋槳
vpFxFlightRibbon*m_FlightRibbon; //航跡
vpFxMissileTrail*m_trail1; //左側航跡云
vpFxMissileTrail*m_trail2; //右側航跡云
vpFxFlak *m_engineexplosion; //引擎爆炸
vpFxSmoke*m_smoke; //失火產生的煙霧
vpFxDebris*m_debris; //與地面相撞產生的碎塊
vpFxFire *m_fire; //引擎起火
vpObject *m_crater; //與地面相撞形成的大坑
vpIsector *m_LADBMlosIsector; //碰撞觸發器
……
};

圖3 仿真應用程序運行過程中的屏幕截圖
對于UDP協議傳輸數據的不可靠性,在程序中通過驗證數據報文幀頭、數據長度等信息來保證數據的正確性和可靠性。實時數據驅動的實現是在UDP線程(vega_socket)接收數據時在VP線程的幀循環中進行實時賦值,如下所示:
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類用來在程序中實現對DOF進行控制,下面的代碼是一個DOF的控制實例。
o_wrj.m_pvertical_DOF->setRotateP (2.0,true);//無人機的垂舵沿著P軸方向發生了2.0度的翻轉無人機引擎起火爆炸火焰特效基于粒子系統,火焰特效的繪制當前幀數的存活火焰粒子,原有的火焰粒子進行運動變換,將存活較長的火焰粒子部分消亡,同時將下一幀火焰粒子賦予相應的屬性。控制火焰粒子的運動變化的代碼如下:
o_wrj.m_burn->setVelocity(0.0,m_vVelocity);//無人機引擎爆炸產生的火焰粒子特效
o_wrj.m_crash->setVelocity(0.0,m_vVelocity);//無人機引擎爆炸產生的煙霧粒子特效
無人機與大地形地面碰撞檢測的代碼如下:
if(o_wrj.m_LADBMlosIsector->getHit())
{
o_wrj.m_nState=STATE_CRASHED;
vuNotify::print(vuNotify::LEVEL_WARN,NULL, "The wrj has just crashed");
}
當無人機墜毀時,得到其位置信息,并實時計算出與理想目標位置之間的位置偏差,并根據相應距離判定毀傷概率。無人機墜毀特效都是在檢測到碰撞后觸發,代碼如下:
o_wrj.m_flash->setEnable(true);//無人機墜地產生的火花
o_wrj.m_debris->setEnable(true);//無人機墜地產生的碎片
o_wrj.m_smoke->setEnable(true);//無人機墜地產生的煙霧
o_wrj.m_fire->setEnable(true); //無人機墜地產生的火焰
系統根據無人機鏈路攻擊試驗仿真目標需求對系統功能進行分析、設計并實現了一個完整的視景仿真系統。系統基于NT平臺開發,在Intel Core i5處理器8G內存NVIDIA Quadro K1100M圖形卡的硬件配置環境下,實時渲染幀率達到了57~59幀/秒,模型精細,逼真程度高,畫面運行流暢,對三維物理模型調用與更新的實時性高,實現了對各個仿真實體和實體零部件的靈活控制,操作人員可以通過鍵盤和鼠標在不同視點間任意切換。該系統使無人機鏈路攻擊試驗的指揮人員和參與人員可直觀地觀察捕食者無人機的飛行過程、飛行姿態和效果,由此分析出無人機鏈路的攻擊進程和試驗態勢并驗證無人機鏈路攻擊方法的可行性和攻擊效果。
[1]萬明,樊曉光,南建國.Vega Prime視景仿真開發技術[M].北京:國防工業出版社,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實時三維虛擬現實開發技術[M].成都:西南交通大學出版社,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-),女,江蘇省連云港人,工程師,碩士研究生,主研方向:軟件工程、虛擬現實技術和指揮控制系統等。
2016-09-28