單顯明,高永香,潘 月
(沈陽工學(xué)院,遼寧 撫順 113122)
基于虛擬現(xiàn)實(shí)技術(shù)的訓(xùn)練是指以虛擬現(xiàn)實(shí)技術(shù)為支撐,創(chuàng)建提供模擬實(shí)兵、實(shí)裝、實(shí)彈的虛擬環(huán)境,培訓(xùn)和提高受訓(xùn)者作戰(zhàn)能力的訓(xùn)練活動,屬于模擬訓(xùn)練。虛擬現(xiàn)實(shí)技術(shù)的發(fā)展及其在軍事訓(xùn)練中的廣泛應(yīng)用,為偵察裝備仿真訓(xùn)練提供了新的思路。
某型偵察裝備進(jìn)行偵察作業(yè)時,首先需要完成方位標(biāo)定,即根據(jù)作戰(zhàn)任務(wù)給予天線正確的方位和高低角,標(biāo)定是影響裝備測量精度的重要因素之一。該偵察裝備使用實(shí)裝進(jìn)行標(biāo)定操作訓(xùn)練時,需要較大的場地保障,訓(xùn)練效費(fèi)比不高。為了節(jié)省訓(xùn)練經(jīng)費(fèi),提高訓(xùn)練效果,采用數(shù)字地圖技術(shù)、三維地形建模技術(shù)、三維場景動態(tài)漫游技術(shù)、碰撞檢測技術(shù)以及虛擬儀表動態(tài)顯示技術(shù),實(shí)現(xiàn)了滿足實(shí)時性要求的某型偵察裝備標(biāo)定仿真訓(xùn)練系統(tǒng)。
仿真訓(xùn)練系統(tǒng)需要大規(guī)模的三維虛擬訓(xùn)練環(huán)境,如何生成實(shí)時三維場景是需要解決的關(guān)鍵問題。現(xiàn)有研究采用了自適應(yīng)分塊的不規(guī)則三角網(wǎng)Delaunay改進(jìn)算法對地形數(shù)據(jù)進(jìn)行優(yōu)化處理,解決了三維訓(xùn)練場地模擬仿真的問題。
偵察裝備進(jìn)行戰(zhàn)斗準(zhǔn)備時,需要在我方裝備陣地一側(cè)選擇2~3個與裝備陣地通視的標(biāo)定方位物。方位物應(yīng)為距離裝備陣地500~2 000 m,獨(dú)立、明顯且不易被敵人摧毀的地物、地標(biāo)。為便于夜間標(biāo)定,在我方一側(cè)距離裝備陣地100 m左右應(yīng)有能設(shè)置夜間標(biāo)定方位物的通視場地。
裝備通常在工事修整、構(gòu)筑完畢后,利用黑暗或能見度不良的時機(jī)占領(lǐng)陣地。作戰(zhàn)任務(wù)緊急時,也可先占領(lǐng)陣地,完成戰(zhàn)斗準(zhǔn)備,戰(zhàn)斗間隙時再進(jìn)行工事構(gòu)筑與偽裝。為保證有充足時間進(jìn)行裝備架設(shè)、標(biāo)定等準(zhǔn)備工作,裝備至少應(yīng)在戰(zhàn)斗發(fā)起前40~60 min占領(lǐng)陣地,并展開架設(shè)。裝備架設(shè)時,要保證天線車定位準(zhǔn)確,天線法線方向?qū)?zhǔn)偵察區(qū)域,操控車和電源車架設(shè)于天線車40 m遠(yuǎn)的隱蔽安全的地方。
當(dāng)裝備站長下達(dá)“架設(shè)”命令后,裝備各車駕駛員應(yīng)迅速將各車輛開入各自陣地,天線車在站長的指揮下進(jìn)行準(zhǔn)確定位,并確保裝備天線車尾部對向偵察方向中心。裝備展開后,站長組織所屬人員開機(jī)調(diào)試和檢查裝備,準(zhǔn)備作業(yè)用具,進(jìn)行方位標(biāo)定、初始化操作,并開通通信設(shè)備,檢查裝備與指揮系統(tǒng)數(shù)據(jù)傳輸功能,且及時上報。
裝備進(jìn)行標(biāo)定操作時通過伺服操作面板進(jìn)行,裝備的驅(qū)動組合面板布局如圖1所示。通過面板操作可以完成天線方位、俯仰及姿態(tài)的控制,并通過數(shù)碼管顯示數(shù)值,其中,顯示器部分為光學(xué)望遠(yuǎn)鏡的顯控部分。
圖1 驅(qū)動組合面板分布圖
偵察裝備占領(lǐng)陣地后,由操作手操作驅(qū)動組合面板,根據(jù)選定的方位物完成標(biāo)定作業(yè),實(shí)際作業(yè)時,系統(tǒng)必須實(shí)現(xiàn)驅(qū)動組合面板操作與裝備天線隨動,如圖2所示。
圖2 驅(qū)動組合面板操作及裝備天線隨動過程
系統(tǒng)主要包括四個功能模塊,如圖3所示,分別為天線姿態(tài)和環(huán)境窗口、光學(xué)標(biāo)定鏡/電視、天線伺服操作面板和天線微調(diào)搖把。
圖3 系統(tǒng)功能模塊
天線姿態(tài)和環(huán)境窗口模擬天線的姿態(tài)等視景,光學(xué)標(biāo)定鏡/電視窗口模擬裝備電視標(biāo)定顯控箱或者光學(xué)標(biāo)定鏡的顯示及相關(guān)操作,天線伺服操作面板窗口模擬裝備天線車上的天線操控面板,天線微調(diào)搖把窗口模擬天線標(biāo)定時的轉(zhuǎn)動手柄。
各窗口與系統(tǒng)之間以及各窗口相互間的隨動情況如下:
天線姿態(tài)和環(huán)境窗口和光學(xué)標(biāo)定鏡/電視窗口可根據(jù)訓(xùn)練開始前訓(xùn)練軟件所設(shè)定的裝備陣地位置實(shí)時生成裝備位置與天線姿態(tài)視景、標(biāo)定視景;
天線姿態(tài)和環(huán)境窗口和光學(xué)標(biāo)定鏡/電視窗口中的視景與虛擬裝備控制面板窗口中的操控隨動,配合完成裝備天線的升降、轉(zhuǎn)動等模擬訓(xùn)練;
天線姿態(tài)和環(huán)境窗口和光學(xué)標(biāo)定鏡/電視窗口中的視景與垂直和水平控制搖柄窗口隨動,完成對裝備標(biāo)定的模擬訓(xùn)練。
仿真軟件選用Vega實(shí)現(xiàn)視景驅(qū)動,Vega是開發(fā)實(shí)時視覺和虛擬現(xiàn)實(shí)的軟件環(huán)境,它不但包含圖形環(huán)境Lynx,而且包含可以提供最充分的軟件控制和最靈活的應(yīng)用編程接口。它可以在不涉及源代碼的前提下快速而容易地改變應(yīng)用程序的性能,如顯示通道、多CPU資源分配、視點(diǎn)、觀察者、特殊效果、系統(tǒng)配置、模塊和數(shù)據(jù)庫等。
系統(tǒng)通過Lynx建立ADF文件,再將ADF中定義的屬性和Vega的API調(diào)用結(jié)合起來,可以大幅度地減少源代碼的開發(fā)時間,降低了對開發(fā)人員的要求。在Windows平臺上開發(fā)基于MFC的應(yīng)用程序的仿真軟件建模方法如圖4所示。
由于裝備方位標(biāo)定仿真系統(tǒng)不但需要大規(guī)模戰(zhàn)場環(huán)境的地形建模,而且需要實(shí)時地顯示和漫游地形,要求具有很高的地形逼真度以及模型的分布式驅(qū)動,所以,系統(tǒng)采用MultiGen Creator三維建模工具進(jìn)行戰(zhàn)場環(huán)境仿真。
圖4 仿真軟件建模
三維虛擬場景需要對戰(zhàn)場目標(biāo)態(tài)勢進(jìn)行初始化,生成動態(tài)戰(zhàn)場態(tài)勢偵察虛擬場景,虛擬生成地物、植被景象并將地物、植被實(shí)時疊加顯示于當(dāng)前偵察場景中。三維場景仿真時,指揮員不但可以根據(jù)需要在三維視景中進(jìn)行雨、雪、霧等環(huán)境設(shè)置,還可以設(shè)置三維視景的光照效果,增加訓(xùn)練難度。
三維地形模型構(gòu)建的核心是地形轉(zhuǎn)換算法,主要包括Polymesh、Delaunay、CAT和TCT四種轉(zhuǎn)換算法。其中,不規(guī)則三角網(wǎng)運(yùn)算時,先找出點(diǎn)集中最近兩點(diǎn),連接成一條邊,然后,按Delaunay三角網(wǎng)的判別法則找出第三點(diǎn),再依次處理全部區(qū)域。該算法占用內(nèi)存空間較小,但時間效率較低。
由于本系統(tǒng)地形數(shù)據(jù)面積較大,為了在較短的時間內(nèi)得到較好的處理效果,本文采用了自適應(yīng)分塊的不規(guī)則三角網(wǎng)Delaunay改進(jìn)算法對地形數(shù)據(jù)進(jìn)行優(yōu)化處理。
由于不同地形離散點(diǎn)的分布存在很大的差異,影響了地形的生成效果,因此,考慮將每塊地形的最小點(diǎn)數(shù)設(shè)置成一個動態(tài)變化的閾值,地形生成時,根據(jù)需要動態(tài)確定一個閾值來控制每塊地形點(diǎn)數(shù)的下限。對于給定點(diǎn)集,首先用點(diǎn)集內(nèi)總點(diǎn)數(shù)除以每塊的平均點(diǎn)數(shù)得到總塊數(shù),然后,由橫、縱坐標(biāo)跨度求出塊寬度、塊行數(shù)及塊列數(shù)。給定塊行數(shù)、塊列數(shù)后,再根據(jù)塊寬度及起點(diǎn)坐標(biāo),就可求出當(dāng)前塊的邊界和檢索整個點(diǎn)集,最后,根據(jù)索引關(guān)系選出坐標(biāo)在此塊邊界范圍內(nèi)的點(diǎn),存入與此塊對應(yīng)的子點(diǎn)集中,直到所有的塊都生成完畢為止。
OpenGL是一個非常優(yōu)秀的開放式三維圖形接口,它具有跨平臺性、簡便、功能完善的特點(diǎn),但直接利用OpenGL進(jìn)行復(fù)雜的視景仿真的開發(fā)會耗費(fèi)很多的時間,開發(fā)起來比較困難。為了解決這些問題,必須將OpenGL直接引入Vega中。在三維坐標(biāo)系中利用畫點(diǎn)、畫線、畫多邊形構(gòu)建三維場景,建立瞄準(zhǔn)鏡的三維模型,其建模思想是先畫一個中心是空心的圓環(huán),然后用繪制的窗口覆蓋這個圓環(huán)。瞄準(zhǔn)鏡建模方法如圖5所示。
圖5 瞄準(zhǔn)鏡建模方法
首先,確定瞄準(zhǔn)鏡圓環(huán)的內(nèi)外半徑、。環(huán)內(nèi)矩形為窗口,其寬為,長為,則
=min(12,12)
(1)
(2)
其次,根據(jù)半徑與圓環(huán)相交的四個點(diǎn)、、、,用OpenGL矩形函數(shù)畫圖,為了繪制出圓環(huán),可將值取無限小,然后繪制出圓環(huán),最后,用窗口覆蓋這個圓環(huán)即得到瞄準(zhǔn)鏡。
電視標(biāo)定鏡建模方法如圖6所示。先畫四個矩形abik、fkhm、mdlc、ielg和中間的矩形efgh,這時繪制窗口的四個點(diǎn)的坐標(biāo)應(yīng)該是、、、四點(diǎn)的坐標(biāo)。
圖6 電視標(biāo)定鏡建模方法
本文使用MultiGen Creator軟件以可視化交互方式創(chuàng)建裝備車輛的三維數(shù)據(jù)庫。3D物體模型是體現(xiàn)空間三維造型、實(shí)現(xiàn)訓(xùn)練者體感和真實(shí)沉浸感最為關(guān)鍵的部分,在對3D物體的建模過程中,尤其要注意和考慮怎樣正確地劃分BSP樹,以確定正確的遮擋關(guān)系。在裝備建模時,還要重點(diǎn)注意DOF節(jié)點(diǎn)設(shè)置,裝備標(biāo)定作業(yè)時,裝備天線需隨著對控制面板的操作實(shí)時地進(jìn)行俯仰和水平轉(zhuǎn)動,為了能模擬此動態(tài)關(guān)系,在建模時需要設(shè)置自由度節(jié)點(diǎn)。
自由度是在模型結(jié)構(gòu)視圖中由DOF節(jié)點(diǎn)定義的,設(shè)置DOF節(jié)點(diǎn)分以下三個步驟。
1)創(chuàng)建DOF節(jié)點(diǎn)。所有能夠移動的物體和表面節(jié)點(diǎn)必須是能控制其運(yùn)動的DOF節(jié)點(diǎn)的子節(jié)點(diǎn),在裝備車模型中,創(chuàng)作一個DOF節(jié)點(diǎn),并且把天線做成DOF節(jié)點(diǎn)的子節(jié)點(diǎn)。
2)定位DOF節(jié)點(diǎn)。對DOF節(jié)點(diǎn)進(jìn)行定位,首先要建立一個DOF的當(dāng)?shù)刈鴺?biāo)系統(tǒng),然后對該坐標(biāo)系統(tǒng)的原點(diǎn)定位,所有由DOF節(jié)點(diǎn)控制的運(yùn)動都基于該當(dāng)?shù)刈鴺?biāo)系統(tǒng)。
3)設(shè)置DOF的運(yùn)動范圍。根據(jù)裝備天線的轉(zhuǎn)動情況設(shè)置DOF的運(yùn)動范圍,將天線俯仰設(shè)置為0°~93°,方位+185°~-185°。
使用Creator建立的裝備車輛三維模型如圖7所示,后方豎起的為天線,當(dāng)操作驅(qū)動面板時,天線會在水平和俯仰方向轉(zhuǎn)動,同時,瞄準(zhǔn)鏡和電視標(biāo)定鏡中的三維視景會發(fā)生變化。
圖7 裝備車輛模型
仿真硬件環(huán)境中,電腦CPU為Gen Intel(R) Core(TM) i5-11300H,8 G內(nèi)存,分辨率1 600×900,軟件環(huán)境為Windows 10系統(tǒng),系統(tǒng)運(yùn)行界面如圖8所示。
圖8 系統(tǒng)運(yùn)行界面
系統(tǒng)運(yùn)行界面主要包括裝備天線姿態(tài)視景窗口、裝備天線望遠(yuǎn)鏡視景窗口、裝備電視標(biāo)定鏡視景窗口、裝備電視標(biāo)定鏡控制面板窗口、裝備天線伺服面板窗口、裝備天線手柄窗口和輔助操作按鈕窗口。
裝備天線姿態(tài)視景窗口如圖9所示。裝備天線姿態(tài)視景窗口顯示裝備標(biāo)定訓(xùn)練時的地形環(huán)境、天氣環(huán)境、光照環(huán)境,能夠觀察標(biāo)桿位置和天線姿態(tài)變化。
圖9 裝備天線姿態(tài)視景窗口
雷達(dá)天線望遠(yuǎn)鏡視景窗口如圖10所示,窗口繪制望遠(yuǎn)鏡內(nèi)分劃,模擬運(yùn)用望遠(yuǎn)鏡實(shí)現(xiàn)天線標(biāo)定訓(xùn)練的觀察場景效果。
圖10 雷達(dá)天線望遠(yuǎn)鏡視景窗口
雷達(dá)天線伺服面板窗口如圖11所示,實(shí)現(xiàn)雷達(dá)天線伺服面板上的各種按鈕仿真,具備天線姿態(tài)轉(zhuǎn)動指令處理和碼盤值運(yùn)算功能,能夠模擬顯示各種碼盤值和指示燈。
圖11 雷達(dá)天線伺服面板窗口
雷達(dá)天線手柄窗口如圖12所示,窗口仿真顯示雷達(dá)天線的方向、俯仰手柄外形,能夠與用戶進(jìn)行交互,完成天線姿態(tài)的微調(diào),并計算雷達(dá)天線伺服面板窗口中的雷達(dá)天線碼盤值。
圖12 雷達(dá)天線手柄窗口
本系統(tǒng)基于虛擬現(xiàn)實(shí)技術(shù)開發(fā),通過三維建模軟件Creator 和仿真開發(fā)軟件 Vega實(shí)現(xiàn)了裝備標(biāo)定仿真訓(xùn)練的實(shí)時視景仿真,仿真結(jié)果具有很高的逼真度,為裝備模擬訓(xùn)練提供了身臨其境的仿真環(huán)境,增強(qiáng)了裝備標(biāo)定仿真訓(xùn)練的實(shí)時性和訓(xùn)練水平。