国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

彈目偏差仿真系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2020-10-12 08:28吳盤(pán)龍
兵器裝備工程學(xué)報(bào) 2020年9期
關(guān)鍵詞:彈丸插值偏差

陳 浩,屈 藝,吳盤(pán)龍,蘇 鼎

(1.南京理工大學(xué) 自動(dòng)化學(xué)院, 南京 210094; 2.中國(guó)人民解放軍66483部隊(duì), 北京 100093)

在對(duì)來(lái)襲目標(biāo)的攔截過(guò)程中,使用實(shí)測(cè)的目標(biāo)航路數(shù)據(jù)和射表或微分方程擬合的彈道軌跡數(shù)據(jù)提前虛擬閉環(huán)[1]校射,可以提高后期對(duì)目標(biāo)的攔截概率。其中彈目偏差的誤差大小是制約校射效果的主要因素。

隨著我國(guó)科技興軍戰(zhàn)略的提出,視景仿真技術(shù)與軍事領(lǐng)域的結(jié)合不斷緊密,視景仿真技術(shù)在軍事領(lǐng)域體現(xiàn)出了良好的可控性、安全性、無(wú)破壞性、不受空間和場(chǎng)地限制、費(fèi)用低等優(yōu)點(diǎn)[2]。采用視景仿真技術(shù),直觀地顯示偏差數(shù)值,逼真地再現(xiàn)虛擬閉環(huán)較射過(guò)程,具有良好的人機(jī)交互性。

本文針對(duì)直線線性插值求取迎彈面上的彈著點(diǎn)誤差較大問(wèn)題,采用三次樣條曲線插值[3],求取彈著點(diǎn)和彈目偏差,同時(shí)基于Vgea Prime的可視化仿真系統(tǒng)使得虛擬閉環(huán)校射過(guò)程直觀逼真,具有沉浸式的打擊感。

1 彈目偏差解算

1.1 彈目偏差原理

彈目偏差的定義是目標(biāo)迎彈面上的有向二維矢量[4]。 目標(biāo)迎彈面[5]的定義為與高炮到目標(biāo)向量垂直的平面。通過(guò)目標(biāo)以目標(biāo)與觀測(cè)點(diǎn)連線作為法線的平面為觀目垂直面,通過(guò)目標(biāo)以目標(biāo)與火炮所在位置中心作為法線的平面為炮目垂直面,在實(shí)際情況中,我們可以把觀目垂直面近似看作炮目垂直面,因?yàn)槟繕?biāo)觀測(cè)點(diǎn)和火炮位置中心的距離和目標(biāo)和火炮中心位置的距離比值很小,這樣可以大大減少計(jì)算量。

(1)

圖1 炸目坐標(biāo)系

1.2 彈道插值

基于彈丸軌跡是離散的數(shù)據(jù)點(diǎn),即使彈道解算周期再短也難以保證恰好有數(shù)據(jù)點(diǎn)落在Q平面上。采用三次樣條插值算法,使用Q平面前后的數(shù)據(jù)點(diǎn),擬合出恰好在Q平面上的數(shù)據(jù)點(diǎn),用于計(jì)算彈目偏差。在工程實(shí)踐中經(jīng)常用到插值,最簡(jiǎn)單的插值是在相鄰的兩個(gè)數(shù)據(jù)點(diǎn)之間線性插值,顯然直線無(wú)法很好地?cái)M合彈丸軌跡且精度低。

在已知的彈道數(shù)據(jù)有N個(gè)點(diǎn),已知橫坐標(biāo)a=x0

這N個(gè)數(shù)據(jù)點(diǎn)每?jī)蓚€(gè)相鄰點(diǎn)xi、xi+1構(gòu)成一個(gè)子區(qū)間[xi,xi+1],共有n個(gè)子區(qū)間。為了獲得精度高、比較平滑且符合彈道的曲線,使用3次樣條插值,第i個(gè)子區(qū)間的插值函數(shù)Si(x)為:

Si(x)=a0+a1x+a2x2+a3x3

(2)

為了保證曲線的連續(xù)性和光滑性[7],必須對(duì)每個(gè)區(qū)間插值函數(shù)有一些要求,主要包括:

1) 連續(xù)性。除了兩個(gè)邊界節(jié)點(diǎn)外,任意一個(gè)節(jié)點(diǎn)xi同時(shí)屬于[xi-1,xi]和[xi,xi+1]區(qū)間,邊界的節(jié)點(diǎn)等于數(shù)據(jù)點(diǎn)的邊界值,有如下限制條件:

Si(xi)=Si-1(xi),i=1,2,…,n-1

(3)

S0(x0)=y0

(4)

Sn-1(xn-1)=yn-1

(5)

2) 光滑性。除了兩個(gè)邊界節(jié)點(diǎn)外,任意一個(gè)中間節(jié)點(diǎn)的一階導(dǎo)數(shù)和二階導(dǎo)數(shù)連續(xù),有如下限制條件:

(6)

(7)

根據(jù)前面所述,我們只需求出每個(gè)子區(qū)間的插值函數(shù)的4個(gè)系數(shù)a0、a1、a2、a3就能完全確認(rèn)這n個(gè)插值函數(shù)。但在實(shí)際中,為了數(shù)學(xué)推導(dǎo)的方便,采用間接的表達(dá)方式,有:

(8)

式(8)中:hi=xi+1-xi,i=0,1,…,n-1;x∈[xi,xi+1],φ(x)=(2x+1)(x-1)2,φ1(x)=x(x-1)2。

式(8)就是插值函數(shù)的最終表達(dá)式,其中只有mi是未知的,其他都可以根據(jù)已知條件求得。剩下就是如何求得mi,把式(8)代入約束式(3)~式(5)中,經(jīng)過(guò)整理可得:

λimi-1+2mi+μimi+1=gi,i=1,…,n-1

(9)

在此基礎(chǔ)上加入自然邊界條件進(jìn)行約束:即兩個(gè)邊界點(diǎn)的二階導(dǎo)數(shù)為給定的值,其中最常見(jiàn)的為0,即在兩個(gè)邊界點(diǎn)上有:

(10)

根據(jù)式(9),結(jié)合邊界條件式(11),可以推導(dǎo)出求解系數(shù)mi的矩陣為:

(11)

式(11)中,除mi都是可以根據(jù)已知條件求得,矩陣可由追趕法求解[8]。為簡(jiǎn)化計(jì)算,降低維數(shù),將數(shù)據(jù)點(diǎn)的x坐標(biāo)作為自變量,y、z作為因變量,假定Q平面在子區(qū)間k中,彈道與Q平面的交點(diǎn)Z*坐標(biāo)為(xq,yq,zq),則可得如下條件:

yq=SYk(xq)

(12)

zq=SZk(xq)

(13)

式(12)、(13)中:SYk(·)在子區(qū)間k(可由數(shù)據(jù)點(diǎn)確定),是以x為自變量、y為因變量的插值函數(shù);SZk(·)是在子區(qū)間k,是以x為自變量、z為因變量的插值函數(shù)。假定高炮觀測(cè)中心的坐標(biāo)為(xg,yg,zg),目標(biāo)坐標(biāo)為(xt,yt,zt),基于Q平面和彈目連接線的垂直關(guān)系可得式(14)~(16)。

(14)

(15)

(16)

將式(14)~(15)代入式(16)中,再與式(12)~(13)聯(lián)立,即可求得Z*點(diǎn)的坐標(biāo)。

1.3 坐標(biāo)變換

已知Z*點(diǎn)、Tg點(diǎn)和O點(diǎn)都是基于地理直角坐標(biāo)系下的,而彈目偏差定義在炸目坐標(biāo)系下的,炸目坐標(biāo)系是以O(shè)點(diǎn)為原點(diǎn)的地理直角坐標(biāo)系經(jīng)偏航β、俯仰ε、旋轉(zhuǎn)α和平移而得,變換公式為:

(17)

(18)

式(17)、(18)中:x、y、z對(duì)應(yīng)當(dāng)前坐標(biāo);x′、y′、z′對(duì)應(yīng)變換后的坐標(biāo);ε、β、α分別為繞X、Y、Z軸的逆時(shí)針的旋轉(zhuǎn)角度;Δx、Δy、Δz分別為坐標(biāo)系原點(diǎn)沿X,Y,Z軸的平移量。

經(jīng)過(guò)變換,在炸目坐標(biāo)系下的Z*點(diǎn)、Tg點(diǎn)和O點(diǎn)坐標(biāo)可由上式變換求得,在圖1中,若O點(diǎn)坐標(biāo)為(x0,y0,z0),Tg點(diǎn)坐標(biāo)為(xg,yg,zg),Z*的坐標(biāo)為(xz,yz,zz),則ΔεE和ΔβE為:

(19)

彈目偏差實(shí)際使用時(shí)還需要改作地理坐標(biāo)系中的方位角與高低角的增量Δεq和Δβq,即:

(20)

2 仿真系統(tǒng)框架設(shè)計(jì)

Vega Prime[9]作為一款功能強(qiáng)大的視景仿真開(kāi)發(fā)工具,具有界面友好、簡(jiǎn)單易用、面向?qū)ο蟮忍攸c(diǎn),在同類產(chǎn)品中處于領(lǐng)先地位,它的主要應(yīng)用方向有軍事仿真渲染、儀器儀表界面、訓(xùn)練模擬器和城市漫游渲染。用戶通過(guò)與視景仿真系統(tǒng)的交互,獲得與真實(shí)世界相同的響應(yīng)。

基于Vega Prime的視景仿真框架[10]由模型構(gòu)建、LynX Prime圖形界面配置和仿真程序設(shè)計(jì)3部分組成。

模型構(gòu)建:使用Creator對(duì)所需地形場(chǎng)景和靜態(tài)實(shí)體模型建模。

LynX Prime圖形界面配置:通過(guò)圖形化界面根據(jù)Vgea Prime最簡(jiǎn)流程基礎(chǔ)上,對(duì)仿真場(chǎng)景初始化參數(shù)設(shè)置,主要包括場(chǎng)景創(chuàng)建、視景通道建立、模型引入、觀察者視點(diǎn)設(shè)置、特效建立和碰撞檢測(cè)應(yīng)用等,配置文件為仿真系統(tǒng)提供“素材”,生成配置文件(.acf),仿真系統(tǒng)通過(guò)外部引用的方式引入配置文件,生成初始的仿真畫(huà)面。

仿真程序設(shè)計(jì):主要包括兩部分:一是通過(guò)消息中間件[11](消息隊(duì)列)傳來(lái)的數(shù)據(jù),分為MFC的控制信息和數(shù)據(jù)處理接收線程接收的彈丸軌跡和目標(biāo)航跡;二是滿足畫(huà)面的要求的仿真畫(huà)面開(kāi)發(fā),包括虛擬場(chǎng)景漫游、碰撞檢測(cè)響應(yīng)、視點(diǎn)通道控制、界面管理線程、視景仿真幀循環(huán)等內(nèi)容。整個(gè)視景仿真系統(tǒng)如圖2所示。

圖2 視景仿真系統(tǒng)框圖

2.1 系統(tǒng)結(jié)構(gòu)介紹

為了便于視景仿真系統(tǒng)的后期擴(kuò)展,因此將不同的功能模塊化。主要有動(dòng)畫(huà)顯示模塊、人機(jī)交互界面模塊、數(shù)據(jù)處理模塊和算法模塊。各模塊功能如下:

1) 動(dòng)畫(huà)顯示模塊:沒(méi)有數(shù)據(jù)時(shí),生成仿真畫(huà)面;接收到數(shù)據(jù)時(shí),生成相對(duì)應(yīng)的高炮發(fā)射彈丸攔截直升機(jī)的動(dòng)畫(huà)效果。

2) 人機(jī)交互界面模塊:在以MFC為基礎(chǔ)的界面下,設(shè)置某個(gè)區(qū)域?yàn)槿S動(dòng)畫(huà)顯示區(qū)域,并提供視點(diǎn)切換和復(fù)位功能。

3) 數(shù)據(jù)處理模塊:接收到數(shù)據(jù)根據(jù)通信協(xié)議,取出數(shù)據(jù)幀對(duì)應(yīng)位的數(shù)據(jù),將十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制并存儲(chǔ)到鏈表中。

4) 算法模塊:根據(jù)彈目偏差定義、Q平面和三次樣條插值,獲得迎彈面上真實(shí)彈著點(diǎn),并實(shí)時(shí)解算彈目偏差。

2.2 系統(tǒng)仿真過(guò)程介紹

仿真系統(tǒng)接收到消息隊(duì)列傳來(lái)的數(shù)據(jù)后,目標(biāo)進(jìn)入高炮的射程內(nèi),彈丸發(fā)射,彈丸到達(dá)目標(biāo)附近,計(jì)算彈目偏差。若擊中目標(biāo),仿真結(jié)束,若不滿足條件,則繼續(xù)接收校射過(guò)的彈道數(shù)據(jù),仿真系統(tǒng)則繼續(xù)發(fā)射彈丸,再次計(jì)算偏差,不斷虛擬閉環(huán)校射,直至擊中目標(biāo)。仿真過(guò)程流程如圖3所示。

圖3 仿真過(guò)程流程框圖

3 虛擬場(chǎng)景構(gòu)建

本文使用的建模軟件是Multigen Creator (以下簡(jiǎn)稱Creator),該軟件在軍事仿真等領(lǐng)域應(yīng)用廣泛,Creator模型的后綴為flt(OpenFlight),也是仿真領(lǐng)域的標(biāo)準(zhǔn),可以被Vega、Virtools、Quest3D等軟件兼容。Creator采用廣告片等技術(shù)對(duì)模型進(jìn)行實(shí)時(shí)渲染,滿足實(shí)時(shí)性的要求。因此本文使用Creator對(duì)所需的高炮、直升機(jī)和戈壁灘地形進(jìn)行建模。

3.1 實(shí)體建模

建模就是通過(guò)視覺(jué)角度(即光影效果、點(diǎn)線面、材質(zhì)、貼圖)去構(gòu)建真實(shí)的物品。高炮模型主要由8×8輪式裝甲車、彈藥箱和炮臺(tái)組成,炮臺(tái)部分有turretDOF、barrelDOF和gunDOF節(jié)點(diǎn),依次是炮架的左右旋轉(zhuǎn)節(jié)點(diǎn)、炮管的上下移動(dòng)節(jié)點(diǎn)和炮管的自旋節(jié)點(diǎn)。直升機(jī)設(shè)計(jì)了兩個(gè)旋翼[12],分別為大直徑六葉旋翼和尾部的四葉旋翼,依次為maintiltDOF節(jié)點(diǎn)和tailrotorDOF節(jié)點(diǎn),同時(shí)添加了損壞后的模型和正常模型。建模效果如圖4、圖5所示:

3.2 地形建模

空曠的場(chǎng)景可以更好地展示系統(tǒng)的仿真效果,所以我們對(duì)戈壁灘地形建模。但根據(jù)實(shí)際場(chǎng)景,一個(gè)戈壁灘可能幾十、幾百平方公里,需要加載大量的數(shù)據(jù)。因此我們將戈壁灘地形等分成9個(gè)小模塊,不同模塊的部分會(huì)被切分到不同文件中。采用這種分塊批量處理的方式,使得每個(gè)模塊單獨(dú)成為一個(gè)文件,能有效緩解數(shù)據(jù)讀入內(nèi)存時(shí)對(duì)系統(tǒng)造成的壓力。在視景仿真程序中導(dǎo)入地形模塊時(shí),Creator會(huì)自動(dòng)生成一個(gè)母文件,以外部引用[13]的方式把這些子文件包含進(jìn)去。戈壁灘地形效果如圖6所示。

圖6 戈壁灘地形效果圖

4 人機(jī)交互界面設(shè)計(jì)

一個(gè)簡(jiǎn)潔、美觀、大方的界面不僅能有效地顯示整個(gè)視景仿真過(guò)程中各項(xiàng)數(shù)據(jù),還能提供給用戶與系統(tǒng)之間友善的交互性操作。為了滿足更多區(qū)域的展示畫(huà)面的需求,且能觀察仿真畫(huà)面里的態(tài)勢(shì)。兼顧以上二者,工具欄提供按鍵,將懸浮式的常規(guī)控制對(duì)話框和視景通道隱藏,使得仿真畫(huà)面占據(jù)整個(gè)屏幕下方。界面整體效果如圖7所示。

圖7 界面整體效果示意圖

4.1 視景通道的實(shí)現(xiàn)

仿真初期,主視角在炮口的右側(cè),可以實(shí)時(shí)觀察高炮周圍的態(tài)勢(shì)。視角的觀察范圍有限,右下角視景通道可用于觀察目標(biāo)周圍。在配置文件中添加Channel、Observer和Transform實(shí)例,在視景通道UsedBy屬性中選擇主窗口,即該通道選擇主窗口顯示,觀察者選擇新建的觀察者實(shí)例。觀察者實(shí)例屬性頁(yè)中LookFromTarget選項(xiàng)選擇Transform實(shí)例,在該實(shí)例中即可設(shè)置視景通道相對(duì)于目標(biāo)的位置和觀察目標(biāo)的運(yùn)動(dòng)方式。

通道的顯示與隱藏通過(guò)自定義消息、消息隊(duì)列和線程通信[15]實(shí)現(xiàn)。在自定義消息頭文件中增加如下定義:

#define WM_TargetChannel_MSGWM_USER+42

線程通信和消息隊(duì)列都在WinUser.h頭文件中已經(jīng)實(shí)現(xiàn),只需調(diào)用PostThreadMessage和PeekMessage方法即可。功能區(qū)的按鍵創(chuàng)建點(diǎn)擊事件處理函數(shù),給VPThread傳遞自定義信息:

∷PostThreadMessage(VPThreadID,WM_TargetChannel_MSG,(WPARAM)(true),0);

其中WPARAM為傳遞的參數(shù)即為真,最后在主線程中調(diào)用PeekMessage函數(shù)接收自定義消息:

PeekMessage(&msg,NULL,WM_USER+1,WM_USER+42,PM_REMOVE);

拿到為真的參數(shù)用于作為視景通道的顯示或隱藏的標(biāo)志量,首先要獲得該視景通道的指針:

mTargetchannel=vpChannel::find("TargetChannel");

其中引號(hào)內(nèi)的是配置文件中的通道實(shí)例名稱,調(diào)用setDrawArea顯示畫(huà)面:

mTargetchannel ->setDrawArea(0.75,1,0.65,1);

括號(hào)中4個(gè)數(shù)字依次表示的是視景在仿真畫(huà)面中占據(jù)的左右上下位置,范圍為0到1,視景通道位置關(guān)系如圖8所示。

圖8 視景通道位置關(guān)系示意圖

視景通道的位置參數(shù)都為0或都為1可隱藏視景通道,待需要時(shí)再顯示。

4.2 彈目偏差的動(dòng)態(tài)顯示

在攔截目標(biāo)的過(guò)程中,偏差量會(huì)實(shí)時(shí)變化。彈目偏差的數(shù)值實(shí)時(shí)顯示在仿真畫(huà)面的左上角,更直觀。在配置文件中創(chuàng)建Overlay2Dtext實(shí)例,在主視景通道中顯示,Text屬性欄中設(shè)置初始字樣、字體和顏色。Origin屬性欄設(shè)置其在畫(huà)面中的位置。在程序中,實(shí)時(shí)的顯示偏差需要拿到配置文件中該實(shí)例的指針:

m_PianChaOverlay2DText=vpOverlay2DText::find("PianChaOverlay2DText ");

當(dāng)彈丸穿過(guò)迎彈面時(shí),產(chǎn)生偏差,將所要顯示的字符和數(shù)字拼成字符指針dest,調(diào)用setString[16]函數(shù):

m_PianChaOverlay2DText ->setString(dest)。

5 仿真結(jié)果

5.1 仿真畫(huà)面

仿真系統(tǒng)分為3個(gè)階段,沒(méi)有接收到數(shù)據(jù)系統(tǒng)處于就緒狀態(tài)、直升機(jī)進(jìn)入視野攔截階段和擊毀直升機(jī)成功攔截。

在就緒階段,采用多視角的方式展示戰(zhàn)場(chǎng)態(tài)勢(shì),主要有四個(gè)視點(diǎn)。左上為沿著炮口方向向上觀察的視點(diǎn);右上為全局視點(diǎn),從高處觀察整個(gè)戰(zhàn)場(chǎng)態(tài)勢(shì);左下為高炮視點(diǎn);右下直升機(jī)視點(diǎn),觀察目標(biāo)周圍態(tài)勢(shì)。多視點(diǎn)效果如圖9所示。

圖9 多視點(diǎn)效果圖

在直升機(jī)攔截目標(biāo)階段,當(dāng)接收到外部數(shù)據(jù)時(shí),直升機(jī)來(lái)襲。目標(biāo)進(jìn)入主視點(diǎn)視野內(nèi),右上方是直升機(jī),左上方是實(shí)時(shí)顯示的彈目偏差的高低角和方位角,即為最終返回給火控設(shè)備的偏差量,彈丸發(fā)射處于視野中部,高炮和目標(biāo)的連線上,如首次未成功攔截,后續(xù)會(huì)繼續(xù)發(fā)射彈丸攔截目標(biāo)。仿真畫(huà)面效果如圖10所示。

圖10 仿真畫(huà)面圖

當(dāng)火控設(shè)備接收到偏差量進(jìn)行校正后,仿真系統(tǒng)再次接收到數(shù)據(jù)后,多次校射后若彈丸擊中目標(biāo),觸發(fā)爆炸效果,仿真結(jié)束,目標(biāo)爆炸效果如圖11所示。

圖11 目標(biāo)爆炸效果圖

6 結(jié)論

相對(duì)于傳統(tǒng)直線線性插值求取迎彈面上的彈著點(diǎn),3次樣條曲線插值求取的彈著點(diǎn)使得實(shí)時(shí)解算彈目偏差的更準(zhǔn)確、更接近真實(shí)值?;赩ega Prime的視景仿真系統(tǒng),畫(huà)面逼真打擊感強(qiáng),使得虛擬閉環(huán)校射真實(shí)直觀,同時(shí)具備可控性、安全性、無(wú)破壞性,不受氣候影響、不受空間和場(chǎng)地限制、費(fèi)用低等,具有工程應(yīng)用價(jià)值。但仿真系統(tǒng)對(duì)外部數(shù)據(jù)過(guò)分依賴,在外部數(shù)據(jù)出現(xiàn)問(wèn)題時(shí),無(wú)法保證本身計(jì)算的正確性。下一步研究方向是減少對(duì)彈道解算的依賴,內(nèi)置彈道解算模塊,以實(shí)現(xiàn)只依賴火控信息,實(shí)現(xiàn)整個(gè)攔截過(guò)程的可視化。

猜你喜歡
彈丸插值偏差
水下截卵形彈丸低速侵徹薄鋼板的仿真分析
滑動(dòng)式Lagrange與Chebyshev插值方法對(duì)BDS精密星歷內(nèi)插及其精度分析
50種認(rèn)知性偏差
空化槽對(duì)彈丸入水特性影響研究
水下并聯(lián)超空泡射彈外彈道數(shù)值分析
無(wú)控旋轉(zhuǎn)彈丸外彈道姿態(tài)測(cè)試與模型驗(yàn)證
如何走出文章立意偏差的誤區(qū)
加固轟炸機(jī)
基于pade逼近的重心有理混合插值新方法
真相
罗甸县| 博白县| 永城市| 东源县| 永新县| 巢湖市| 新和县| 辉县市| 嘉峪关市| 禹城市| 平罗县| 年辖:市辖区| 响水县| 兰考县| 文水县| 武冈市| 泽普县| 定襄县| 砀山县| 蚌埠市| 高淳县| 二连浩特市| 广东省| 射阳县| 新闻| 江口县| 华宁县| 西峡县| 辽宁省| 定州市| 南溪县| 吉水县| 维西| 郸城县| 台南市| 资源县| 额济纳旗| 隆安县| 城口县| 盐边县| 阳朔县|