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