譚哲卿,辛長(zhǎng)范,闞 煌,高 鑫,史銘姍
(中北大學(xué) 機(jī)電工程學(xué)院,太原 030051)
制導(dǎo)彈藥一直是各國(guó)重點(diǎn)研究對(duì)象,為了節(jié)省實(shí)驗(yàn)經(jīng)費(fèi),盡可能減少實(shí)彈射擊次數(shù),研發(fā)過(guò)程中需要進(jìn)行大量的仿真實(shí)驗(yàn),其中彈道仿真是研究制導(dǎo)彈藥控制系統(tǒng)的重要手段[1-3]。早期常用的彈道仿真多為數(shù)值仿真[4-6],研究人員只能使用數(shù)值計(jì)算結(jié)果繪制二維的曲線來(lái)判斷制導(dǎo)系統(tǒng)的性能。后來(lái)出現(xiàn)了比較直觀的圖形仿真,其使用數(shù)值計(jì)算結(jié)果給圖形仿真提供真實(shí)的仿真數(shù)據(jù)。但是目前在彈道可視化研究中,常用的圖形仿真方法較為簡(jiǎn)單,彈藥與目標(biāo)的三維模型比較簡(jiǎn)陋,作戰(zhàn)場(chǎng)景設(shè)置得比較理想,大多只能觀察制導(dǎo)彈藥的飛行姿態(tài),難以展現(xiàn)實(shí)戰(zhàn)條件下制導(dǎo)彈藥從發(fā)射到命中目標(biāo)的全過(guò)程。
文獻(xiàn)[7-10]在Simulink平臺(tái)上搭建了制導(dǎo)彈藥的六自由度彈道仿真模型并對(duì)可視化進(jìn)行了一定研究,其使用的VRML、Vega Prime軟件開(kāi)發(fā)難度高、開(kāi)發(fā)周期長(zhǎng)、僅能表現(xiàn)出制導(dǎo)彈藥飛行中的姿態(tài),無(wú)法對(duì)戰(zhàn)場(chǎng)環(huán)境進(jìn)行模擬,文獻(xiàn)[11]使用的MBVC平臺(tái)雖能簡(jiǎn)單地表現(xiàn)戰(zhàn)場(chǎng)環(huán)境,但場(chǎng)景搭建復(fù)雜、畫(huà)面與現(xiàn)實(shí)世界差距較大。文獻(xiàn)[12-13]使用了FlightGear、OpenGL作為可視化平臺(tái),但搭建過(guò)程復(fù)雜且缺少?gòu)椀赖臄?shù)值仿真部分。文獻(xiàn)[14-17]雖然都使用了Unity3D進(jìn)行可視化仿真,但其中文獻(xiàn)[14]完全沒(méi)有數(shù)值計(jì)算過(guò)程,僅僅是單純的視景呈現(xiàn)。文獻(xiàn)[15-16]的仿真模型部分較為簡(jiǎn)單,且文章中沒(méi)有體現(xiàn)數(shù)值仿真的計(jì)算過(guò)程,使仿真的真實(shí)度打了一定折扣。文獻(xiàn)[17]雖然有較為細(xì)致的數(shù)值計(jì)算過(guò)程,但其通過(guò)TXT文件將數(shù)值計(jì)算結(jié)果傳遞給Unity3D,總體仿真步驟較多,過(guò)程較為繁瑣。
為彌補(bǔ)以上不足,本文選擇Unity3D軟件作為可視化平臺(tái),該軟件是一款結(jié)合了圖形、物理、音頻、網(wǎng)絡(luò)等多方面引擎的專(zhuān)業(yè)開(kāi)發(fā)平臺(tái),從發(fā)布至今已有十余年歷史,它的底層架構(gòu)成熟、平臺(tái)的穩(wěn)定性高,成熟的案例較多、開(kāi)發(fā)相對(duì)簡(jiǎn)單、開(kāi)發(fā)周期短,圖形技術(shù)先進(jìn)、顯示畫(huà)面生動(dòng)。本文選擇的數(shù)值計(jì)算平臺(tái)是在制導(dǎo)彈藥彈道仿真中常用的Matlab/Simulink軟件,文獻(xiàn)[18-19]均進(jìn)行了詳細(xì)的研究分析。將Simulink和Unity3D結(jié)合起來(lái)的聯(lián)合仿真模型能得到準(zhǔn)確的數(shù)值仿真結(jié)果[20],也能多視角全方位的觀察制導(dǎo)彈藥的飛行姿態(tài)和彈道,從而較為逼真的展現(xiàn)戰(zhàn)場(chǎng)環(huán)境下制導(dǎo)彈藥的運(yùn)動(dòng)和對(duì)目標(biāo)的探測(cè)和打擊過(guò)程。
本文的聯(lián)合仿真系統(tǒng)包括Simulink軟件中的制導(dǎo)彈藥彈道仿真模型和Unity3D軟件中的可視化窗口,前者包括描述制導(dǎo)彈藥運(yùn)動(dòng)的六自由度動(dòng)力學(xué)和運(yùn)動(dòng)學(xué)方程組,使用Simulink編程工具將方程組搭建為圖形化的彈道仿真模型,搭建過(guò)程中使用Simulink自帶的圖形化用戶(hù)接口,能夠快速、準(zhǔn)確地搭建仿真模型,且能保證仿真算法的可靠性[21]。可視化部分由Unity3D軟件、制導(dǎo)彈藥和目標(biāo)的三維模型、真實(shí)世界的高程數(shù)據(jù)和衛(wèi)星地圖、驅(qū)動(dòng)模型運(yùn)動(dòng)的腳本文件組成。Unity3D支持fbx、obj、dxf等多種格式的三維模型,用戶(hù)可以根據(jù)需要添加彈藥或目標(biāo)的模型。本文使用AutoCAD建立制導(dǎo)彈藥和目標(biāo)的三維模型,對(duì)模型進(jìn)行格式轉(zhuǎn)換后再導(dǎo)入到Unity3D中。在Unity3D中使用真實(shí)世界的高程數(shù)據(jù)和衛(wèi)星地圖可以搭建出基于真實(shí)數(shù)據(jù)的三維場(chǎng)景模型,增添了可視化仿真的真實(shí)性。
Unity3D中的功能主要由腳本文件實(shí)現(xiàn),腳本支持JavaScript、C#、Boo三種語(yǔ)言。本文中的腳本文件主要由C#語(yǔ)言寫(xiě)成,除了使用UDP通信協(xié)議處理Matlab/Simulink端發(fā)送來(lái)的仿真數(shù)據(jù),還可以實(shí)現(xiàn)三維模型的移動(dòng)、攝像機(jī)的移動(dòng)、特效展現(xiàn)等功能。整個(gè)系統(tǒng)的架構(gòu)如圖1所示。
圖1 可視化平臺(tái)整體架構(gòu)
本文在研究制導(dǎo)彈藥六自由度彈道可視化仿真的基礎(chǔ)上,創(chuàng)造性地加入一種數(shù)值可視化技術(shù),在顯示制導(dǎo)彈藥彈道的同時(shí),也能實(shí)時(shí)顯示制導(dǎo)彈藥在飛行過(guò)程中所受到的過(guò)載。
2.1.1 六自由度彈道仿真模型
在Simulink中搭建數(shù)值仿真時(shí),為了方便修改和調(diào)試參數(shù),常常將一個(gè)龐大且復(fù)雜的系統(tǒng)分成多個(gè)子模塊,并構(gòu)建出各模塊之間清晰的輸入輸出關(guān)系,再將各個(gè)子模塊連接并封裝起來(lái),從而建立起一個(gè)完整的Simulink仿真系統(tǒng)。制導(dǎo)彈藥的六自由度彈道仿真模型由4個(gè)子模塊構(gòu)成,分別是彈體運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)模塊、氣動(dòng)力模塊、制導(dǎo)模塊和目標(biāo)運(yùn)動(dòng)模塊。
彈體動(dòng)力學(xué)與運(yùn)動(dòng)學(xué)模塊用于解算制導(dǎo)彈藥在飛行過(guò)程中受到的力,力矩與運(yùn)動(dòng)相關(guān)參數(shù)之間的關(guān)系。為了設(shè)計(jì)穩(wěn)定的姿態(tài)控制系統(tǒng),需設(shè)立關(guān)于制導(dǎo)彈藥的六自由度運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)模型[22]。
氣動(dòng)力模塊用于制導(dǎo)彈藥的氣動(dòng)特性仿真,首先根據(jù)運(yùn)動(dòng)參數(shù)計(jì)算縱向與橫向的氣動(dòng)力系數(shù)和氣動(dòng)力矩系數(shù),再根據(jù)氣動(dòng)力和氣動(dòng)力矩公式計(jì)算軸向力、徑向力、側(cè)向力、俯仰力矩、偏航力矩和滾轉(zhuǎn)力矩。具體計(jì)算公式取自此文[23]。
本文使用Missile Datcom計(jì)算該型制導(dǎo)彈藥的氣動(dòng)參數(shù),該軟件能夠根據(jù)飛行器的條件參數(shù)進(jìn)行經(jīng)驗(yàn)數(shù)據(jù)的擬合并選取公式計(jì)算氣動(dòng)系數(shù)和導(dǎo)數(shù)。將該彈的外形參數(shù)輸入Missile Datcom,即可得到帶有氣動(dòng)系數(shù)、靜導(dǎo)數(shù)、動(dòng)導(dǎo)數(shù)和操縱系數(shù)的“for006.dat”的輸出文件。在Matlab中使用命令“datcomimport”即可將Datcom計(jì)算結(jié)果導(dǎo)入Matlab工作區(qū)中以備使用。在仿真過(guò)程中將動(dòng)力學(xué)與運(yùn)動(dòng)學(xué)模塊計(jì)算出來(lái)的飛行狀態(tài)參數(shù)和舵偏角導(dǎo)入到氣動(dòng)力模塊即可得到該狀態(tài)下制導(dǎo)彈藥受到的空氣動(dòng)力。
制導(dǎo)模塊分為導(dǎo)引頭子模塊與自動(dòng)駕駛儀子模塊,導(dǎo)引頭子模塊根據(jù)目標(biāo)和彈體之間的相對(duì)位置,計(jì)算出彈目距離和視線高低角、方位角等信息,再根據(jù)特定的導(dǎo)引規(guī)律形成過(guò)載指令信號(hào)輸出給自動(dòng)駕駛儀模塊。自動(dòng)駕駛儀模塊根據(jù)制導(dǎo)系統(tǒng)輸出的指令,通過(guò)一定的控制規(guī)律輸出舵機(jī)控制信號(hào)使舵面發(fā)生偏轉(zhuǎn),從而產(chǎn)生改變導(dǎo)彈姿態(tài)所需要的力和力矩[24]。
目標(biāo)的運(yùn)動(dòng)模塊在整個(gè)系統(tǒng)中用于模擬目標(biāo)的運(yùn)動(dòng)狀態(tài),各模塊的結(jié)構(gòu)如圖2所示。
圖2 六自由度彈道Simulink模型
2.1.2 目標(biāo)與制導(dǎo)彈藥建模
Unity3D引擎中使用的模型一般先在AutoCAD、3DMax等專(zhuān)業(yè)三維建模軟件中搭建好再導(dǎo)入到Unity3D中使用,Unity3D自身的建模功能比較簡(jiǎn)陋,較難完成復(fù)雜模型的搭建。本文使用某型火箭彈和某型裝甲車(chē)作為彈藥和目標(biāo)模型,先在AutoCAD軟件中建模后導(dǎo)出為stl格式,再使用blender軟件轉(zhuǎn)換為fbx格式后即可導(dǎo)入到Unity3D中使用。導(dǎo)入模型時(shí)要注意根據(jù)現(xiàn)實(shí)世界中的尺寸調(diào)整模型的比例,本文所使用的制導(dǎo)彈藥模型和目標(biāo)車(chē)輛模型如圖3所示。
圖3 目標(biāo)與彈藥的三維模型圖
2.1.3 三維地形建模
在Unity3D中對(duì)環(huán)境進(jìn)行建模有許多成熟的方法和工具[25],一般使用引擎中的Terrian地形作為環(huán)境模型使用。Unity3D中的默認(rèn)Terrian模型為2048 m×2048 m的正方形平面模型,制作者可以使用不同的筆刷來(lái)升高或降低Terrian模型的某一塊區(qū)域來(lái)構(gòu)建各種地形,再對(duì)這個(gè)Terrian模型進(jìn)行貼圖即可使用。
為了搭建地球上某一地點(diǎn)的真實(shí)地形,首先需要獲取該位置的高程圖和衛(wèi)星影像圖。這兩種圖片可以使用互聯(lián)網(wǎng)上的免費(fèi)或收費(fèi)資源。高程圖的作用是作為T(mén)errian模型的高度圖來(lái)生成模型的網(wǎng)格,而衛(wèi)星影像圖則是作為T(mén)errian模型的表面貼圖。
本文中的地形模型選取某省最高精度為30 m的ASTGTM地形高程數(shù)據(jù),該數(shù)據(jù)為tif格式文件,需要在QGIS軟件中轉(zhuǎn)換為raw格式的文件并在Photoshop軟件中裁剪為2048 × 2048 像素的尺寸才可供Unity3D使用。
Unity3D也可以?xún)?chǔ)存多個(gè)搭建好的地形,仿真時(shí)可以根據(jù)需求切換不同環(huán)境。圖4為本文使用的高程圖與衛(wèi)星影像圖,圖5為處理好后的真實(shí)地形模型。
圖4 高程圖與衛(wèi)星影像圖
圖5 Unity3D中搭建好的地形模型
在高動(dòng)態(tài)可視化場(chǎng)景中,系統(tǒng)需要及時(shí)地檢測(cè)模型之間的碰撞。Unity3D中內(nèi)置有物理引擎PhysX,該引擎能快速、高效地完成碰撞檢測(cè)需求。PhysX引擎是通過(guò)掛載在三維模型上的以“Collider”(碰撞體)為結(jié)尾的組件進(jìn)行碰撞檢測(cè)的,若三維模型沒(méi)有掛載“Collider”組件,則仿真運(yùn)行時(shí)不對(duì)該模型進(jìn)行碰撞檢測(cè)。Unity3D中的“Collider”組件根據(jù)形狀分為“BoxCollider”(方形碰撞體)、“SphereCollider”(球形碰撞體)、“CapsuleCollider”(圓柱形碰撞體)這樣的默認(rèn)組件,也有供用戶(hù)自定義碰撞計(jì)算模型的”MeshCollider“(網(wǎng)格碰撞體)組件。
若需要檢測(cè)碰撞的物體模型幾何面較少,可以使用Unity3D自帶的“BoxCollider”、“SphereCollider”組件實(shí)現(xiàn)碰撞檢測(cè)。這種默認(rèn)組件的運(yùn)行速度快且占用計(jì)算資源少,缺點(diǎn)是結(jié)構(gòu)比較單一。對(duì)于幾何面復(fù)雜的目標(biāo)、為了保證碰撞檢測(cè)的準(zhǔn)確性,需要使用“MeshCollider”組件進(jìn)行檢測(cè),此時(shí)可以使用自定義的模型網(wǎng)格作為碰撞體檢測(cè)網(wǎng)格。本仿真針對(duì)制導(dǎo)彈藥這樣瘦長(zhǎng)的物體使用“CapsuleCollider”組件,針對(duì)目標(biāo)車(chē)輛則使用“MeshCollider”組件。
設(shè)置好碰撞體后,就需要掛載相應(yīng)的腳本檢測(cè)模型之間的碰撞并執(zhí)行碰撞發(fā)生后的下一步動(dòng)作。一般用“OnTriggerEnter”(進(jìn)入觸發(fā)器)函數(shù)來(lái)執(zhí)行下一步動(dòng)作,例如碰撞發(fā)生后的爆炸特效和被命中目標(biāo)的燃燒特效等。編寫(xiě)好腳本后需要將其掛載在目標(biāo)模型上,這樣程序開(kāi)始運(yùn)行時(shí)就可以執(zhí)行腳本中的代碼。本文中制導(dǎo)彈藥和目標(biāo)三維模型設(shè)置的碰撞體如圖6所示。
圖6 碰撞體模型
圖7 UDP數(shù)據(jù)通信協(xié)議
仿真系統(tǒng)建立完后,Matlab/Simulink需要將計(jì)算結(jié)果及時(shí)地傳輸?shù)経nity3D中以驅(qū)動(dòng)整個(gè)場(chǎng)景,現(xiàn)在主流通訊方式有傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP,transmission control protocol/internet protocol)、控制器局域網(wǎng)總線(CAN,controller area network)等。TCP/IP作為一種以太網(wǎng)接口通信技術(shù)被廣泛應(yīng)用在各種工控自動(dòng)化行業(yè)中。TCP/IP中的用戶(hù)數(shù)據(jù)報(bào)協(xié)議(UDP,user datagram protocol)在數(shù)據(jù)傳輸前不需要建立連接,因此實(shí)時(shí)性較高,能快速傳輸數(shù)據(jù)。因?yàn)楸痉抡鎸?duì)實(shí)時(shí)性有較高的要求,故選擇UDP協(xié)議進(jìn)行Matlab與Unity3D之間的通信。
為此,需要在Matlab/Simulink端和Unity3D端各自建立數(shù)據(jù)傳輸模塊,在Matlab端可以使用Simulink模塊庫(kù)中自帶的UDP發(fā)送與接收模塊,設(shè)置好IP地址和端口號(hào)后就可以進(jìn)行數(shù)據(jù)的發(fā)送與接收。
在Unity3D端則需要設(shè)置數(shù)據(jù)接收腳本。接收腳本中的IP地址字符串和連接端口號(hào)要和Simulink中UDP發(fā)送模塊的值一樣,之后即可設(shè)置數(shù)據(jù)的接收循環(huán)。Unity端開(kāi)始運(yùn)行后,UDP接受腳本就會(huì)時(shí)刻監(jiān)聽(tīng)對(duì)應(yīng)IP地址和端口廣播的數(shù)據(jù),當(dāng)Simulink的仿真開(kāi)始并廣播數(shù)據(jù)后,Unity3D就能接收到制導(dǎo)彈藥和目標(biāo)的位置、速度等數(shù)據(jù)。
傳統(tǒng)意義上的可視化仿真技術(shù)使用計(jì)算結(jié)果驅(qū)動(dòng)模型運(yùn)動(dòng),但在仿真進(jìn)行時(shí),無(wú)法一邊觀察三維模型的運(yùn)動(dòng)一邊觀察實(shí)時(shí)計(jì)算出來(lái)的數(shù)值大小。為了滿(mǎn)足仿真時(shí)能兼顧觀察模型運(yùn)動(dòng)姿態(tài)與數(shù)值結(jié)果的要求,本文提出一種數(shù)值可視化技術(shù),其原理是每隔一個(gè)固定的時(shí)間間隔或一段固定的移動(dòng)距離就在物體的運(yùn)動(dòng)軌跡上生成這一時(shí)刻的指示條,通過(guò)指示條的大小和方向來(lái)反映彈體在這一時(shí)刻的過(guò)載情況。
此時(shí)Unity3D端設(shè)置的生成條件為每隔一段固定的飛行距離就生成指示條。如圖8所示,圖中軌跡線是制導(dǎo)彈藥在飛行過(guò)程中質(zhì)心位置形成的軌跡線,球體為當(dāng)前時(shí)刻的質(zhì)心位置,數(shù)字表示指示條生成時(shí)的飛行時(shí)間,“n_y=(數(shù)字)”表示當(dāng)前位置彈體所受法向過(guò)載的數(shù)值大小,指示條的長(zhǎng)度代表制導(dǎo)彈藥在彈體坐標(biāo)系中所受法向過(guò)載的大小,指示條向下伸長(zhǎng)表示此時(shí)的法向過(guò)載為負(fù)值,指示條向上伸長(zhǎng)表示此時(shí)的過(guò)載值為正值。Simulink中的仿真模型設(shè)置了舵機(jī)在發(fā)射后4.00 s開(kāi)始工作,圖8中能直觀地看到彈體在4.00 s開(kāi)始產(chǎn)生向下的過(guò)載。
圖8 數(shù)值可視化示意圖
要讓仿真環(huán)境在運(yùn)行時(shí)產(chǎn)生諸如模型運(yùn)動(dòng)、視角跟隨、尾焰與爆炸特效的生成、彈體軌跡的繪制等一系列行為,就需要編寫(xiě)相應(yīng)的行為腳本并掛載到對(duì)應(yīng)的模型組件上運(yùn)行。
以驅(qū)動(dòng)模型運(yùn)動(dòng)的腳本為例,這種腳本就需要以一定的頻率從UDP數(shù)據(jù)接收腳本中獲取模型的新坐標(biāo),并將物體本身的舊坐標(biāo)值不斷修改為新坐標(biāo)值,從而轉(zhuǎn)化為三維模型的平動(dòng)和轉(zhuǎn)動(dòng),模型運(yùn)動(dòng)腳本的作用原理如圖9所示,該腳本的作用為在仿真運(yùn)行開(kāi)始時(shí)實(shí)時(shí)從UDP接收腳本中獲取目標(biāo)模型的坐標(biāo)和姿態(tài)角數(shù)據(jù),同時(shí)將模型本身的舊坐標(biāo)和姿態(tài)角數(shù)據(jù)更改為新的坐標(biāo)和姿態(tài)角數(shù)據(jù)。
圖9 控制物體運(yùn)動(dòng)腳本的工作原理
視角的設(shè)置是整個(gè)彈道可視化仿真中最重要的問(wèn)題,設(shè)置的正確與否直接影響到最終的顯示結(jié)果。在Unity3D中,場(chǎng)景運(yùn)行的最終結(jié)果會(huì)統(tǒng)一輸出到Game視窗。Game視窗顯示的畫(huà)面通過(guò)“Hierarchy”(層次視圖)中的“Camera”(攝像機(jī))組件來(lái)實(shí)現(xiàn),設(shè)置好攝像機(jī)組件的畫(huà)面范圍和位置后就可以將其拍攝到的畫(huà)面顯示在Game視窗上。
如圖10(a)所示,圖中線框顯示的就是側(cè)視圖攝像機(jī)的取景范圍。為了滿(mǎn)足制導(dǎo)彈藥飛行姿態(tài)和彈道的觀察需求,本文設(shè)置了4部攝像機(jī),其中3個(gè)攝像機(jī)用來(lái)拍攝制導(dǎo)彈藥的三視圖視角,一個(gè)攝像機(jī)為自由視角,使用鼠標(biāo)實(shí)現(xiàn)攝像機(jī)的移動(dòng)和視角的縮放,如圖10(b)所示。
圖10 跟蹤攝像機(jī)的設(shè)置
在Unity3D中,火焰、煙霧和爆炸等特效均使用Unity3D編輯器內(nèi)自帶的“ParticleSystem”(粒子系統(tǒng))組件進(jìn)行控制,該組件可以控制粒子的形狀、大小和持續(xù)時(shí)間等。本文使用“ParticleSystem”制作發(fā)動(dòng)機(jī)尾焰和彈藥命中后目標(biāo)產(chǎn)生爆炸的特效。
本仿真設(shè)定該型制導(dǎo)彈藥的發(fā)動(dòng)機(jī)分為兩級(jí)工作,第一級(jí)工作時(shí)間為0.00~0.04 s,第二級(jí)工作時(shí)間為0.15~2.65 s。因此仿真中需要對(duì)發(fā)動(dòng)機(jī)尾焰的表現(xiàn)時(shí)長(zhǎng)進(jìn)行控制,本文使用一個(gè)單獨(dú)的控制腳本,在檢測(cè)到發(fā)動(dòng)機(jī)推力不為0時(shí)開(kāi)啟尾焰特效,其余時(shí)間則關(guān)閉。同樣編寫(xiě)一個(gè)腳本控制爆炸特效,使用“OnTriggerEnter”函數(shù)監(jiān)測(cè)制導(dǎo)彈藥與目標(biāo)的碰撞,在檢測(cè)到制導(dǎo)彈藥和目標(biāo)車(chē)輛發(fā)生碰撞后使用“Instantiate”(實(shí)例化)函數(shù)生成一個(gè)爆炸特效。最終尾焰與爆炸特效的效果如圖11所示。
圖11 視覺(jué)效果圖
搭建好Simulink數(shù)值仿真模型和Unity3D三維仿真場(chǎng)景后,即可設(shè)定初始仿真參數(shù),本文所使用的主要參數(shù)見(jiàn)表1所示。由于激光制導(dǎo)彈藥在攻擊過(guò)程中需要持續(xù)對(duì)目標(biāo)進(jìn)行照射,一旦敵方目標(biāo)的激光告警器感知到激光的照射,那么敵方就可能啟動(dòng)反制措施使制導(dǎo)彈藥無(wú)法命中。
表1 制導(dǎo)彈藥主要參數(shù)
因此,本文對(duì)制導(dǎo)彈藥攻擊目標(biāo)的過(guò)程進(jìn)行仿真,尋找在敵方存在反制措施的情況下,對(duì)不同運(yùn)動(dòng)狀態(tài)的目標(biāo)進(jìn)行激光照射的窗口期。
本仿真中主要通過(guò)Unity3D中的碰撞檢測(cè)來(lái)判斷制導(dǎo)彈藥是否命中目標(biāo),設(shè)置的條件為只要制導(dǎo)彈藥的三維模型和目標(biāo)的三維模型發(fā)生接觸即判定為命中。此外,攻擊過(guò)程中需要滿(mǎn)足一定的約束條件,若仿真過(guò)程中的參數(shù)超過(guò)下列約束,則可以認(rèn)為攻擊失?。?/p>
1)被動(dòng)段最小飛行速度限制:因本文中制導(dǎo)彈藥的彈翼所能提供的升力有限,因此在制導(dǎo)彈藥的無(wú)動(dòng)力段速度低于某值時(shí)彈翼無(wú)法提供足夠的升力,從而視為喪失制導(dǎo)能力,本文設(shè)定最小飛行速度為180 m/s。
2)敵目標(biāo)反制限制:在敵方目標(biāo)的激光告警器感應(yīng)到激光照射后會(huì)在一定時(shí)間內(nèi)采取快速機(jī)動(dòng)或釋放煙霧等反制措施使制導(dǎo)彈藥失去目標(biāo),本文設(shè)定敵方目標(biāo)在感知到威脅后的4.0 s做出反制措施,反制措施執(zhí)行1.0 s后制導(dǎo)彈藥失控。因此制導(dǎo)彈藥需要在激光照射有效的5.0 s內(nèi)命中目標(biāo)。
3)激光最小照射時(shí)間限制:由于反制措施的存在,攻擊方的激光照射時(shí)間有限,如果激光照射時(shí)間過(guò)小,則制導(dǎo)系統(tǒng)來(lái)不及修正軌跡造成脫靶。
4)飛行高度限制:若制導(dǎo)彈藥的飛行高度小于0 m,則視為攻擊失敗。
5)飛行時(shí)間限制:制導(dǎo)彈藥需要在彈上自毀裝置啟動(dòng)前命中目標(biāo),自毀裝置的啟動(dòng)時(shí)間為飛行開(kāi)始后的第15.0 s。
4.2.1 目標(biāo)為靜止?fàn)顟B(tài)
假定紅方在距離發(fā)射點(diǎn)2 100 m處發(fā)現(xiàn)藍(lán)方靜止目標(biāo)后發(fā)射制導(dǎo)彈藥,從發(fā)射到命中目標(biāo)這段時(shí)間藍(lán)方目標(biāo)保持靜止,首先假設(shè)藍(lán)方激光反制措施不工作,仿真顯示制導(dǎo)彈藥大約在9.73 s命中目標(biāo)。那么可以得出在藍(lán)方激光反制措施正常工作時(shí),紅方開(kāi)始激光照射的時(shí)間t不能早于4.73 s,否則目標(biāo)就會(huì)啟動(dòng)反制措施使制導(dǎo)彈藥脫靶。接著以0.1 s為開(kāi)啟激光照射的時(shí)間間隔,得出當(dāng)激光開(kāi)始照射的時(shí)間晚于8.7 s時(shí),制導(dǎo)彈藥就會(huì)來(lái)不及進(jìn)行機(jī)動(dòng)而脫靶。從而得出紅方開(kāi)始激光照射的時(shí)間既不能早于4.73 s,也不能晚于8.7 s,窗口期一共是3.97 s。仿真部分彈道如圖12所示,仿真途中的輸出界面如圖13所示。
圖12 照射開(kāi)始時(shí)間t在8.8 s附近的彈道軌跡圖
圖13 攻擊靜止目標(biāo)時(shí),飛行時(shí)間為9.70 s時(shí)的輸出視圖
4.2.2 目標(biāo)為運(yùn)動(dòng)狀態(tài)
假定紅方在距離發(fā)射點(diǎn)2 100 m處發(fā)現(xiàn)藍(lán)方運(yùn)動(dòng)目標(biāo)后發(fā)射制導(dǎo)彈藥,從發(fā)射到命中目標(biāo)這段時(shí)間藍(lán)方目標(biāo)以10 m/s的速度向z軸負(fù)方向運(yùn)動(dòng),首先假設(shè)藍(lán)方激光反制措施不工作,仿真顯示制導(dǎo)彈藥大約在9.76 s命中目標(biāo)。那么可以得出在藍(lán)方激光反制措施開(kāi)始工作時(shí),紅方開(kāi)始激光照射的時(shí)間t不能早于4.76 s,否則目標(biāo)就會(huì)啟動(dòng)反制措施。接著以0.1 s為開(kāi)啟激光照射的時(shí)間間隔,得出當(dāng)激光開(kāi)始照射的時(shí)間晚于7.3 s時(shí),制導(dǎo)彈藥就會(huì)來(lái)不及進(jìn)行機(jī)動(dòng)而脫靶。從而得出紅方開(kāi)始激光照射的時(shí)間不能早于4.73 s,也不能晚于7.3 s,窗口期一共有2.57 s。仿真部分彈道如圖14所示,仿真過(guò)程中的輸出界面如圖15所示。
圖14 照射開(kāi)始時(shí)間t在7.4 s附近的彈道軌跡圖
圖15 攻擊運(yùn)動(dòng)目標(biāo)時(shí),飛行時(shí)間為9.70 s時(shí)的輸出視圖
本文基于Siumlink和Unity3D軟件,建立了一種制導(dǎo)彈藥的六自由度彈道可視化平臺(tái),可以實(shí)現(xiàn)制導(dǎo)彈藥從發(fā)射到命中目標(biāo)的完整攻擊過(guò)程仿真。本文的應(yīng)用實(shí)例表明該平臺(tái)能夠模擬目標(biāo)的運(yùn)動(dòng)狀態(tài)對(duì)激光照射窗口期的影響,對(duì)制導(dǎo)彈藥的研制、使用和作戰(zhàn)決策提供一定的參考價(jià)值。后續(xù)將考慮更多的制導(dǎo)手段和場(chǎng)景設(shè)置,逐步拓展該平臺(tái)的仿真能力,進(jìn)一步逼近真實(shí)的攻防對(duì)抗過(guò)程。