?

基于VR-Forces的作戰仿真關鍵技術

2024-01-08 01:31劉貴賓王亞平陳佳蕊胡燦燦張煜
計算機輔助工程 2023年4期
關鍵詞:彈藥實體解析

劉貴賓, 王亞平, 陳佳蕊, 胡燦燦, 張煜

(1.南京理工大學 機械工程學院,南京 210094;2.中國兵器裝備集團兵器裝備研究所,北京 102202)

0 引 言

軍事訓練是軍隊在作戰中取得優勢的必備前提,軍事行動具有高復雜性、高技術性,并且會消耗大量人力、物力等資源,這促進了計算機生成兵力技術的發展。計算機生成兵力(computer generated forces, CGF)是指由計算機生成和控制的自主或半自主的虛擬智能體。CGF技術已廣泛應用于構造仿真和虛擬仿真中,在國內外廣泛應用于軍事訓練、國防規劃、新型武器以及新戰術的效能評估上。目前,CGF實體根據其生成的自主性可劃分為自動兵力(automated force, AF)與半自動兵力(semi-automated force, SAF)。

AF主要由計算機完成對規劃、決策等行為的建模,AF系統具有自主感知、決策和行動能力,能夠更快、更準確地做出響應。但是,AF仿真系統的設計和實現難度較大,需要使用復雜的人工智能算法和技術,并且由于兵力生成具有軟件自主性,其行為和決策難以人為預測和控制,有時不會依據操作員的意愿行動,存在一定的安全風險。

SAF仿真的高層決策、規劃等行為由人為進行設置,底層的反應式行為通過計算機控制,典型的系統有ModSAF(modular semi-automated forces)。此系統的典型軟件是MAK Technologies公司開發的VR-Forces,該軟件能夠保證所生成兵力的行為與決策符合操作員的期望,占用的仿真資源較少,適合小規模多智能體的作戰仿真,其功能已經相當成熟。但是,此類系統需要人為干預或指導,作戰效率較低,尤其在涉及到軍團級作戰時,以人工完成兵力生成是一項巨大的工作,并且面對復雜和不可預測的環境,系統缺乏自適應和自我修正能力。

目前,國內有關VR-Forces仿真結果分析的研究較少。俞成龍等[1]采用實例分析法研究機群作戰仿真的可視化演示;高化猛等[2]利用VR-Forces提供的應用程序接口進行功能擴展;王超等[3]通過分析某典型裝備模型的基本要素,給出基于VR-Forces的裝備建模方法和實例;連云峰等[4]研究VR-Forces的計算機兵力生成過程,構建坦克排的聚合體并進行作戰檢驗;高化猛等[5]針對VR-Forces與其他仿真程序數據交互困難的問題,提出一種新的基于注冊表和遠程控制函數的數據交互機制。上述文獻均主要研究VR-Forces功能擴展和數據交互。

VR-Forces提供海、陸、空、天多種類型的仿真,仿真模型類型比較豐富,但是裝備類型大多為歐美國家的,針對我國裝備的仿真模型幾乎沒有。另外,對抗仿真需要對彈藥消耗量、仿真時間、實體毀傷狀態等仿真數據進行統計分析,以進行作戰效能評估,因此需要解決數據庫的連接與配置問題,且需要對源數據進行解析。然而,VR-Forces仿真平臺的數據解析和處理在國內外文獻中極少見到。

針對上述問題,本文首先分析VR-Forces仿真平臺的仿真方法,然后研究實體模型構建方法,基于模型描述規范,導入新三維仿真模型,實現仿真實體模型參數的自定義。通過開放式數據庫互連技術ODBC、JDBC等與各種數據庫進行連接,將仿真數據以表格形式輸出到外部數據庫系統中,以進行解析與應用。

本文提出的仿真模型重用技術可以減少仿真模型開發的時間和成本,提高仿真模型的可重復使用性和可維護性,快速建立所需的仿真場景和情境,提高仿真建模的效率和準確性。開放式數據庫互連技術可提供更靈活的數據輸出方式,將仿真數據和結果集成到評價軟件系統中,有利于進一步開展作戰效能綜合分析。

1 VR-Forces的仿真方法和交互機理

1.1 仿真方法

VR-Force主要采用連續時間與離散事件的混合仿真系統。VR-Forces仿真模擬的是一系列事件的發生和影響,每個事件都有其獨立的時間戳。模擬時按時間順序依次處理每個事件,并根據事件對模型狀態進行修改,最終得到仿真結果。這種仿真方法可以幫助操作員快速預測決策結果[6]。

VR-Forces提供2個可執行文件,一個是圖形界面(GUI)的前端程序,另一個是仿真引擎的后端程序。GUI程序提供用戶與系統交互,用戶可以使用GUI程序創建、編輯和運行仿真場景。后端程序是實現仿真引擎的核心部分,負責處理場景和運行仿真的過程。通過仿真引擎和可視界面的分離,VR-Forces可以同時運行多個圖形界面,每個界面可以與同一仿真引擎進行通信,并可以在不同的視角下觀察仿真結果[7]。這樣的設計可以增強仿真場景的可視性與可操作性,提高仿真的效率和精度。同時,這也使得VR-Forces可以應用于分布式仿真環境中,多個操作端可以通過網絡連接到同一仿真引擎,共同參與仿真任務的執行和分析[8]。

VR-Forces的前端GUI和后端仿真引擎通過TCP/IP協議進行通信,加載場景和運行仿真時前端程序與后端程序運行交互示意見圖1。

(1)在GUI中創建或加載場景,并設置仿真參數;

(2)GUI將命令發送到仿真引擎(例如創建實體或設置其屬性);

(3)仿真引擎接收到命令后執行相應操作,并將結果返回給GUI;

圖 1 VR-Forces仿真前、后端交互示意

(4)當仿真引擎狀態發生變化時(例如實體移動或受到傷害),將狀態更新發送給GUI;

(5)GUI收到狀態更新后更新場景顯示(例如移動實體的位置或顯示實體受到的傷害);

(6)用戶可以通過GUI監視和控制仿真過程(例如暫停、恢復、加速或減速仿真);

(7)當仿真結束時,GUI將結果保存到文件或數據庫中,以供后續分析和再次使用。

1.2 交互機理

在仿真過程中,VR-Forces將任務信息發送到核心模塊中,核心模塊負責執行任務,同時將任務信息發送到相關模塊進行處理。模擬情景和模擬環境模塊負責創建場景、環境和特定的情況,確保仿真的真實性。作戰單元模塊負責對作戰單元進行建模,并負責執行作戰單元的任務。核心模塊不斷更新仿真結果,并將其發送到結果記錄和可視化模塊中,方便用戶分析和評估作戰結果。Data Logger模塊可以保存仿真結果并進行后續分析[9]。

在準備階段,需要配置對象參數數據庫編輯器、實體編輯器、想定編輯器和仿真條件等。完成準備階段實際上就完成了仿真實體模型與作戰行為模型、作戰環境模型的具體配置[10]。

在運行階段,需要配置仿真數據記錄器,設置數據記錄模塊所偵測的仿真數據類型,打開仿真數據的實時監測,然后開始仿真。仿真結束后,停止仿真,關閉數據記錄器,保存仿真數據。

在分析階段,將已經保存的仿真數據利用外部接口導出至目標數據庫中。

在VR-Forces中,各個模塊都可以生成、發送和接收消息,用于傳遞狀態信息、用戶輸入、傳感器數據等。消息可以包含各種信息,例如實體的位置、速度、姿態、任務指令等。

圖 2 VR-Forces仿真流程

當一個模塊生成消息時,可以將消息發送給其他模塊。接收到消息的模塊可以解析消息中的信息,并根據需要執行相應操作,例如更新實體的狀態、調整運動軌跡、生成傳感器數據等[11]。不同模塊之間可以通過消息傳遞實現實時信息共享和交互。消息傳遞機制允許各個模塊在運行時動態地交互和協同工作,從而實現復雜的仿真行為和場景模擬。模塊之間的消息傳遞可以通過VR-Forces的內部API或者其他通信方式進行,例如共享內存、網絡通信等。這種靈活的交互機理使得VR-Forces具有高度的可擴展性和定制性,能夠滿足不同仿真需求和應用場景的要求。VR-Forces仿真過程的交互機理見圖3。

2 仿真模型的重用

VR-Forces擁有規則庫、傳感器庫、武器庫、模型庫等仿真資源庫[12],其中重用可行性較強的是模型庫,通過建立可重用的仿真模型導入至模型庫中,再利用其他仿真資源庫重構符合需求的仿真模型。將這些模型分別存儲到庫中,以便于后續使用。在需要構建仿真模型時,可以直接從庫中選擇相應的模型,再根據需求選取其他仿真資源進行重構,從而快速構建新的仿真模型。

圖 3 VR-Forces仿真過程的交互機理

先通過3D MAX、SolidWorks三維建模軟件對實體構建可視化模型,再將實體可視化模型導出為flt格式。在VR-Forces的實體編輯器Entity Editor中選取需要新建的模型實體類型,在仿真模型集中以原有實體模型為基礎新建模型,就可以重用原仿真實體模型的基本參數、運動參數、傳感器參數、武器裝備參數、附加系統參數等[13]。

取pH=6.0的枸杞蛋白質溶液8.0ml,加入相對應的(NH4)2SO4固體[11],使蛋白質溶液的(NH4)2SO4飽和度達20%,搖勻,靜置3~4h后以8000r/min離心10min,傾出上清液并測量體積,重復以上步驟,直到蛋白質溶液的(NH4)2SO4飽和度達100%。得到(NH4)2SO4飽和度分別為20%、40%、60%、80%、100%的枸杞蛋白沉淀。向5次離心后的傾出上清液的離心管中加入0.2mol/l pH=6.0的PBS緩沖液5.0ml,輕輕搖動,使貼于管壁上的蛋白質溶解后置于冰箱中保存。

以新建某種固定翼航空兵力為例,可以選取原有的固定翼無人機進行重用,具體生成步驟如下。

(1)構建用于重用的三維模型,可利用3D MAX、SolidWorks等三維建模軟件,見圖4。

圖 4 固定翼航空兵力可視化模型

(2)重構仿真模型,將構建完成的三維模型導出為flt格式,再導入至實體編輯器中。

(3)編輯固定翼航空兵力的基本類型、運動參數等,使仿真模型的運行參數能夠實現預設功能,見表1。

表 1 模型可重用參數

(4)調整固定翼航空兵力的傳感器、武器、附加系統,使其主要職能為幫助士兵在空中進行短途飛行。

(5)采用對象參數數據編輯器Opd Editor對傳感器系統、武器系統、附加系統進行深層編輯。

3 結果文件的解析與應用

Data Logger是VR-Forces中用于數據記錄和輸出的模塊。在作戰仿真過程中,Data Logger與VR-Forces GUI通過DIS協議連接,可實時記錄仿真過程中的各種數據,包括實體的位置、速度、方向,任務的執行情況,以及其他自定義數據。在仿真完畢后,記錄的數據可以導出為文本文件、lgr文件,或者將數據轉移至數據庫中。

通過仿真實驗發現,文本輸出與lgr輸出的仿真數據邏輯混亂,解析難度較大。相比之下,將數據轉移至數據庫中解析的難度適中,且可以利用可視化數據庫管理工具預設好導入數據庫的數據格式,因此本文采用數據庫輸出的方式進行仿真數據提取。

仿真數據的解析需要對所提取的數據進行分析,配合仿真界面中的實體行為與狀態情況,如實體的移動速度、開火次數、死亡的位置等信息。

針對實體狀態,本文期望可以得到作戰仿真過程中的人員傷亡情況、死亡位置、死亡時間等數據,這些數據可以用于綜合作戰效能評估中的人員傷亡效能評估。針對交火數據,解析虛擬兵力的不同彈藥的消耗情況,期望得到每種武器裝備的彈藥消耗量,以評估戰損情況。針對仿真時間、任務完成情況,期望得到每個事件的時間點,以評估作戰任務完成度。

3.1 仿真數據的遷移

采用開放式數據庫互連技術實現Data Logger與MySQL數據庫的異構數據庫互連,將仿真數據從源數據庫遷移至MySQL數據庫中,數據遷移包括數據讀取、數據轉換與數據轉入,其基本原理[14]見圖5。

圖 5 數據遷移基本原理

首先,在MySQL數據庫中創建一個與Data Logger所需數據格式相匹配的數據表,并建立ODBC數據源。

然后,在Data Logger中設置與ODBC數據源對應的連接信息和MySQL語句,以便將記錄的數據寫入到MySQL數據庫中[15]。

將Data Logger與MySQL數據庫實現異構數據庫互連的詳細配置流程如下。

(1)配置網絡接口與端口信息。在協議界面配置網絡接口地址與端口信息,并測試確認Data Logger與VR-Forces前、后端應用成功連接,見圖6。

圖 6 Data logge與Force 連接示意

(2)配置用戶界面。配置Data Logger與VR-Forces前、后端應用的網絡接口地址的互連,通過DIS(7)分布式仿真器進入仿真界面。

(3)配置目標數據與數據連接驅動互連。利用可視化數據庫管理工具對MySQL數據庫進行預處理,配置格式和時間間隔,并測試確認ODBC驅動程序與目標數據庫連接成功,見圖7。

圖 7 連接驅動和數據庫連接

(4)測試確認源數據庫與目標數據庫互連成功,將Data Logger收集的數據導入到數據庫,見圖8。

圖 8 仿真數據導入數據庫

在數據記錄過程中,Data Logger將記錄的數據按照預先設置的格式和時間間隔進行存儲,并通過ODBC連接將數據遷移到MySQL數據庫中。在MySQL數據庫中,使用可視化的數據庫管理工具對目標數據庫中的數據進行管理,以便進行數據的解析與應用,將VR-forces中的仿真數據遷移至MySQL的過程[15]見圖9。

圖 9 VR-Forces數據遷移流程

MySQL數據庫中的數據表主要包括:entitystate(實體狀態表)、fire(開火事件)、detonation(爆炸事件)等,導出至目標數據庫的仿真數據表見圖10。

圖 10 目標數據庫的仿真數據表

3.2 仿真數據的解析

仿真數據解析的前提是要了解VR-Forces的仿真過程以及數據記錄的原理。VR-Forces記錄仿真數據通過Data Logger模塊實現。Data Logger模塊是VR-Forces的一個核心模塊,負責記錄仿真過程中的數據并將其保存到文件中。當VR-Forces運行時,Data Logger在后臺自動記錄數據,包括仿真場景中所有對象的位置、速度、方向、狀態等信息,以及各種事件的發生時間和類型[16]。

VR-Forces內部不同模塊每一次交互,都會有一次信息的發出與響應,在界面展示出的可能是實體的一次狀態更新,或者是一個事件的觸發,這些數據導出至目標數據庫中會被保存至不同數據表格里[17]。

MySQL數據庫的主要數據解析如下:

checkpoints(檢查點表)記錄Data Logger監控仿真暫停/開始時生成時間戳。

detonation(爆炸事件表)包含攻擊實體和被攻擊實體的爆炸事件。fire數據表格記錄彈藥命中被攻擊實體的爆炸事件,detonation數據表格在此基礎上記錄未命中實體的爆炸事件。

entitystate(實體狀態表)記錄實體狀態信息,包括位置、速度、姿態、狀態等,用于還原實體在仿真過程中的運動軌跡和狀態。每當實體參與一場交火、爆炸事件,或者位置、姿態、航向、速度、加速度、外觀參數發生改變,都會生成一個事件并被記錄。在仿真過程中,實體的狀態信息發生改變時會生成一個事件并被記錄。每個事件都有其獨立的時間戳,數據記錄按時間順序依次處理每個事件。例如,當一個實體移動到新的位置時,系統會生成一條entitystate數據,其中包含實體的新位置、速度、姿態等信息。這個entitystate數據可以在后續的仿真分析中被用于評估實體的運動軌跡、速度變化等。

fire(開火事件表)以開火事件的發生作為時間線,每發射一枚彈藥生成一次開火事件,并記錄對應的仿真時間點。一次開火事件主要包含:攻擊實體編號、被攻擊實體編號、彈藥類型、是否加裝特殊彈頭、彈速、射擊方向以及射擊距離等信息。當一個實體開火時,系統會生成一個fire數據,其中包含實體的開火位置、目標、武器類型、射擊效果等信息。這個fire數據可以在后續的仿真分析中被用于評估實體的射擊效果、武器性能等。

3.3 仿真數據的應用

對目標數據庫數據進行分析整理,在理清其記錄邏輯后,對數據進行解析,可以得到彈藥消耗量、仿真時間、實體毀傷狀態等情況。這些數據可進一步作為作戰效能評估指標,并據此繪制人員傷亡記錄圖、紅藍雙方彈藥消耗量對比圖、紅藍雙方各實體彈藥消耗圖。

例如,依據典型城市建筑物奪控戰場想定,構建典型城市環境模型、紅藍雙方作戰班組仿真實體模型,完成作戰單元實體的行為規則及仿真模型性能參數設置。作戰仿真運行結束后,提取有效數據,見表2。對仿真數據進一步分析得到戰損統計,其中人員傷亡統計見圖11,紅藍軍同兵種彈藥消耗的對比分析見圖12,紅軍各實體彈藥消耗量對比見圖13,藍軍各實體彈藥消耗量對比見圖14。

表 2 紅、藍軍戰損統計結果

圖 11 人員傷亡統計

圖 12 紅、藍軍同兵種彈藥消耗量對比

圖 13 紅軍各實體彈藥消耗量對比

圖 14 藍軍各實體彈藥消耗量對比

經過多次仿真,作戰班組在城市作戰時執行一個班組級殲滅任務時,班組內部兵種彈藥消耗排序均呈現上述規律。

4 結 論

研究VR-Forces仿真平臺的仿真方法與交互機理,認為VR-Force主要采用連續時間與離散事件的混合仿真系統。在仿真過程中,不同模塊之間通過消息傳遞實現實時信息共享和交互,并確定下一步具體操作。詳細給出VR-Forces仿真平臺的仿真流程與內部交互機理,可對后續作戰仿真平臺的深入研究提供一定的幫助。

基于VR-Forces仿真模型庫,給出基于仿真資源庫的仿真模型重用方法,然后使用此方法完成仿真模型重用并給出具體操作步驟,提高仿真模型構建的效率和可重復性。

研究VR-Forces仿真軟件數據記錄原理,實現仿真數據的遷移、解析和應用。采用一個作戰仿真實例演示結果文件的應用,完成適用于戰損統計的分析圖,最終完成后續綜合作戰效能評估的階段性任務。

本文方法可降低仿真開發成本、提高建模效率和質量,對VR-Forces仿真平臺的使用和開發,以及對仿真數據的永久存儲和后續分析具有一定的實際意義。

猜你喜歡
彈藥實體解析
美國狼彈藥公司A16.5mm卡賓槍
打不完的彈藥
三角函數解析式中ω的幾種求法
前海自貿區:金融服務實體
彈藥動態加載下破片測試方法
睡夢解析儀
實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
電競初解析
兩會進行時:緊扣實體經濟“釘釘子”
振興實體經濟地方如何“釘釘子”
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合