前言:中文期刊網(wǎng)精心挑選了數(shù)學(xué)建模飛行管理問題范文供你參考和學(xué)習(xí),希望我們的參考范文能激發(fā)你的文章創(chuàng)作靈感,歡迎閱讀。
數(shù)學(xué)建模飛行管理問題范文1
(裝甲兵工程學(xué)院,北京 100072)
摘要: 為了加強(qiáng)仿真系統(tǒng)的通用性和可管理性,提出了基于共享內(nèi)存的裝備仿真系統(tǒng)結(jié)構(gòu)。介紹了基于共享內(nèi)存的模型結(jié)構(gòu);利用信號量的方法來解決各模塊對共享內(nèi)存的訪問控制;詳細(xì)介紹了炮長節(jié)點(diǎn)裝備模型視鏡模型、數(shù)學(xué)模型、炮長終端模型對共享內(nèi)存寫入的結(jié)構(gòu)體內(nèi)容。
關(guān)鍵詞 : 仿真系統(tǒng);體系結(jié)構(gòu);共享內(nèi)存;進(jìn)程間通信
中圖分類號:TP391.9 文獻(xiàn)標(biāo)識碼:A 文章編號:1006-4311(2015)03-0206-03
作者簡介:王欽釗(1973-),男,山東文登人,教授,碩士生導(dǎo)師,主要研究方向?yàn)榛鹂叵到y(tǒng)、系統(tǒng)仿真;黃釗(1991-),男,陜西山陽人,碩士研究生,主要研究方向?yàn)橄到y(tǒng)仿真;李小龍(1976-),男,山西代縣人,碩士,講師,主要研究方向?yàn)橄到y(tǒng)仿真。
0 引言
隨著分布交互式仿真技術(shù)的不斷發(fā)展,利用VC等軟件平臺,結(jié)合成熟的仿真引擎開發(fā)武器裝備仿真系統(tǒng)逐漸成為軍事訓(xùn)練、試驗(yàn)領(lǐng)域研究的熱點(diǎn)。但是鑒于軍事仿真中武器裝備結(jié)構(gòu)復(fù)雜、功能繁多等特點(diǎn),基于目前通行體系結(jié)構(gòu)的仿真系統(tǒng)在實(shí)際的使用中逐漸暴露出了系統(tǒng)開發(fā)、維護(hù)困難,可拓展性差等問題。
本文在結(jié)合武器系統(tǒng)的特點(diǎn),分析現(xiàn)有仿真系統(tǒng)的缺點(diǎn)的基礎(chǔ)上,提出基于共享內(nèi)存的武器裝備仿真系統(tǒng)的體系結(jié)構(gòu)。為了更直觀地闡述系統(tǒng)的結(jié)構(gòu)和開發(fā)過程,本文將以坦克分隊(duì)模擬訓(xùn)練中的炮長節(jié)點(diǎn)為例進(jìn)行說明。
1 現(xiàn)有仿真系統(tǒng)的缺點(diǎn)
軍事仿真具有視景逼真、交互性強(qiáng)、仿真節(jié)點(diǎn)多的特點(diǎn),現(xiàn)有的仿真系統(tǒng)通常是利用VC等開發(fā)平臺實(shí)現(xiàn)網(wǎng)絡(luò)通信、人機(jī)交互和三維圖形顯示等功能。
此種結(jié)構(gòu)的仿真系統(tǒng)主要幾個方面的問題:①對系統(tǒng)開發(fā)人員要求過高;②系統(tǒng)的可讀性和可維護(hù)性差;③通用性較差。為了解決上述問題,本文提出基于共享內(nèi)存機(jī)制的裝備仿真系統(tǒng)結(jié)構(gòu)。將仿真系統(tǒng)的三維視景顯示和數(shù)學(xué)解算模型、網(wǎng)絡(luò)通信等相互分離形成獨(dú)立的進(jìn)程,利用共享內(nèi)存完成數(shù)據(jù)的交換和同步,組成仿真系統(tǒng)。
2 基于共享內(nèi)存的仿真系統(tǒng)體系結(jié)構(gòu)
2.1 共享內(nèi)存的介紹 共享內(nèi)存指在計(jì)算機(jī)中將同一塊物理內(nèi)存映射到兩個或者多個進(jìn)程各自的進(jìn)程地址空間,各進(jìn)程可以及時獲取其他進(jìn)程對共享內(nèi)存中數(shù)據(jù)的更新[1]。
在分布交互式仿真中,使用共享內(nèi)存技術(shù),具有如下優(yōu)點(diǎn)[2]:
①系統(tǒng)的開發(fā)不再僅僅局限于仿真引擎中,系統(tǒng)模塊化程度更高,方便管理和改進(jìn),增強(qiáng)通用性和開發(fā)效率;
②可以選擇性地獲取仿真過程中的各種數(shù)據(jù),方便其他進(jìn)程使用和分析仿真結(jié)果;
③系統(tǒng)開銷小,有利于硬件資源的高效應(yīng)用;
④通信效率較高,可以滿足仿真中數(shù)據(jù)交換高頻率、實(shí)時性要求。
2.2 仿真系統(tǒng)的結(jié)構(gòu) 為了解決現(xiàn)有仿真系統(tǒng)所存在的問題,我們對仿真系統(tǒng)的結(jié)構(gòu)進(jìn)行了重新定義,將仿真系統(tǒng)按照功能進(jìn)行模塊化劃分:在分布式仿真HLA/RTI結(jié)構(gòu)的基礎(chǔ)上,使用RV引擎進(jìn)行三維視景的模擬,利用Simulink等數(shù)學(xué)分析工具對仿真系統(tǒng)的各項(xiàng)數(shù)學(xué)模型進(jìn)行建模,炮長終端等裝備部件采用C++獨(dú)立建模,各個模塊相互獨(dú)立運(yùn)行,在基于共享內(nèi)存的通信協(xié)議下實(shí)現(xiàn)仿真的同步和數(shù)據(jù)的交換。網(wǎng)絡(luò)通信模塊從共享內(nèi)存中將本機(jī)各項(xiàng)仿真數(shù)據(jù)整合為聯(lián)邦盟員與網(wǎng)絡(luò)其他節(jié)點(diǎn)進(jìn)行通信。如圖1所示。
在炮長節(jié)點(diǎn)的仿真計(jì)算機(jī)中,各個模塊的任務(wù)和功能大致如表1所示。
3 基于共享內(nèi)存的進(jìn)程間通信機(jī)制
基于共享內(nèi)存的仿真系統(tǒng)體系結(jié)構(gòu)中,共享內(nèi)存作為數(shù)據(jù)存儲和交換的公共邏輯內(nèi)存,是連接各個模塊組成仿真系統(tǒng)的紐帶,所以各模塊仿真進(jìn)程間基于共享內(nèi)存的通信協(xié)議是系統(tǒng)實(shí)現(xiàn)的關(guān)鍵。
3.1 共享內(nèi)存的建立 兩個仿真進(jìn)程之間共享虛擬內(nèi)存大致步驟為[3]:①在一個應(yīng)用程序中利用CreateFileMapping()函數(shù)創(chuàng)建一段有名稱標(biāo)示的內(nèi)存空間,并設(shè)置其大小和訪問權(quán)限;②調(diào)用MapViewOfFile()函數(shù)將該內(nèi)存映射到本程序的地址空間中;③另一個應(yīng)用程序可以直接或者通過通訊管理程序利用OpenFileMapping()函數(shù)訪問該內(nèi)存對象,一旦訪問成功獲得其句柄,則該應(yīng)用程序也將把該空間映射到自身地址空間中,這個內(nèi)存空間就可以被當(dāng)作共享內(nèi)存來使用。
本文將共享內(nèi)存進(jìn)行分塊,根據(jù)數(shù)據(jù)寫入方的不同創(chuàng)建不同的結(jié)構(gòu)體,并將共享內(nèi)存自動返回的空類型LPVOID句柄轉(zhuǎn)化為變量結(jié)構(gòu)體指針,利用該指針加上偏移量就可以訪問到具體變量對應(yīng)的空間完成讀寫。
3.2 共享內(nèi)存的訪問控制 由于多個進(jìn)程共享一段內(nèi)存,為了實(shí)現(xiàn)其訪問邏輯,本文采取信號量的方式來協(xié)調(diào)進(jìn)程對共享內(nèi)存中數(shù)據(jù)的讀寫操作。
如圖3所示,為實(shí)現(xiàn)裝甲車輛火控系統(tǒng)解算射擊提前量和方位角,需要三維視景仿真程序和火控系統(tǒng)數(shù)學(xué)模型進(jìn)行通信。在RV引擎中獲取激光測距、火炮運(yùn)動角速度、坦克傾斜角等數(shù)據(jù),寫入共享內(nèi)存而后發(fā)出信號量1;數(shù)學(xué)模型檢測到信號量1后利用這些數(shù)據(jù)解算得出射擊提前量和方位角并發(fā)送信號量2;視景引擎又根據(jù)解算的提前量和方位角驅(qū)動火炮運(yùn)動。通過此訪問控制機(jī)制,保證了數(shù)據(jù)傳輸?shù)倪壿嬳樞颉?/p>
4 應(yīng)用實(shí)例
裝甲裝備模擬訓(xùn)練中炮長節(jié)點(diǎn)的裝甲裝備模型結(jié)構(gòu)在1.2中已經(jīng)予以討論,下面就各部分的具體的建模方法和其對共享內(nèi)存的讀寫內(nèi)容及讀寫方法分別做以介紹。
4.1 三維視景模型 本文采用RV引擎建立視景模型。結(jié)合1.2中視景模型的任務(wù),可以分析出在坦克射擊訓(xùn)練過程中,視景模型的輸出數(shù)據(jù)主要有:坦克坐標(biāo)、坦克運(yùn)動速度和方向等。這些數(shù)據(jù)都可以通過簡單的編程獲取。RV引擎獲取的數(shù)據(jù)經(jīng)過轉(zhuǎn)換,轉(zhuǎn)變?yōu)闃?biāo)準(zhǔn)的C++數(shù)據(jù)類型寫入到共享內(nèi)存中結(jié)構(gòu)體的相應(yīng)位置。如下是射擊時,結(jié)構(gòu)體中用于解算射擊諸元所需的部分變量,數(shù)學(xué)模型獲取這些數(shù)據(jù)進(jìn)行瞄準(zhǔn)角和提前量的解算。
4.2 數(shù)學(xué)模型 火控計(jì)算機(jī)最主要的功能之一就是利用其EPROM中由各種彈藥的射表所逼近的彈道函數(shù)完成瞄準(zhǔn)叫和方位修正量的計(jì)算。在實(shí)裝中通常需要求出瞄準(zhǔn)角、飛行時間、橫風(fēng)、藥溫、氣溫和初速減退量等與距離的函數(shù)關(guān)系。為了簡便起見,我們只對對射擊影響最大的瞄準(zhǔn)角和飛行時間進(jìn)行模擬。
一般情況下,彈道函數(shù)中瞄準(zhǔn)角的計(jì)算公式為:
4.3 炮長終端仿真進(jìn)程 在射擊訓(xùn)練中炮長終端主要是負(fù)責(zé)部分信號量的發(fā)送和當(dāng)前火炮武器系統(tǒng)狀態(tài)的顯示。
炮長終端對共享內(nèi)存的寫入數(shù)據(jù),大多是工況選擇、彈種選擇等信號量,提供給其他模塊。如下是其寫入共享內(nèi)存的結(jié)構(gòu)體內(nèi)容。
4.4 網(wǎng)絡(luò)通信進(jìn)程 就整個模擬訓(xùn)練系統(tǒng)而言,目前多采用HLA/RTI的結(jié)構(gòu)。HLA提供通用的技術(shù)框架和開發(fā)規(guī)范,而運(yùn)行支撐平臺RTI是HLA接口規(guī)范的具體實(shí)現(xiàn),目的在于將仿真應(yīng)用、運(yùn)行管理和底層通信等基本功能的分離,實(shí)現(xiàn)盟員間數(shù)據(jù)的有序和按需傳送。文獻(xiàn)[4]詳細(xì)介紹了基于分布式共享內(nèi)存的RTI通信機(jī)制[4],在此不再贅述。
5 結(jié)束語
圖3為炮長節(jié)點(diǎn)使用破甲彈對1180m外目標(biāo)進(jìn)行射擊的效果,各項(xiàng)數(shù)據(jù)采集、傳輸正常,彈道顯示正確,能夠較為準(zhǔn)確地模擬坦克射擊的過程。
測試運(yùn)行結(jié)果表明,基于共享內(nèi)存的裝備模型建模可以滿足分布式交互仿真的實(shí)時性要求,提高了模型的開發(fā)效率和可維護(hù)性。此種仿真系統(tǒng)結(jié)構(gòu)在軍事模擬訓(xùn)練、試驗(yàn)領(lǐng)域有較好的應(yīng)用前景。
參考文獻(xiàn):
[1]劉暢.分部交互仿真若干問題的研究[D].北京:北京郵電大學(xué),2008.
[2]梁強(qiáng),魯鶴松,杜君,等.仿真軟件多進(jìn)程間數(shù)據(jù)交互實(shí)現(xiàn)研究[J].系統(tǒng)仿真學(xué)報,2013,25(S):137-141.