999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多實例并行機動仿真模型開發

2017-04-28 02:21:16趙長寬杭立杰
導彈與航天運載技術 2017年2期
關鍵詞:功能模型系統

何 麗,吳 艷,趙長寬,杭立杰

(1. 北京航天發射技術研究所,北京,100076;2. 東北大學,沈陽,110819)

多實例并行機動仿真模型開發

何 麗1,吳 艷1,趙長寬2,杭立杰1

(1. 北京航天發射技術研究所,北京,100076;2. 東北大學,沈陽,110819)

針對仿真系統中對機動模型的多實例并行需求,提出基于C++和Matlab混合編程的方式進行模型開發。就Matlab Function實現的功能函數在多實例運行過程中將出現的數據混用問題,在分析Matlab數據管理調用方式的基礎上,提出基于Map的數據管理方法實現不同對象實例數據,并完成了模型開發。

Matlab;機動模型;多實例;并行仿真

0 引 言

隨著武器系統實戰化要求的不斷提升,開展武器系統作戰效能評估的需求日益迫切,需要針對武器系統借助虛擬仿真的手段來評價其作戰效能[1~4]。而車輛的機動特性作為武器系統射前生存能力評估的重要內容,需要依托車輛機動仿真模型開展多種戰場環境下的效能仿真,作為武器系統作戰效能評估的重要支撐[5]。

裝備在實際作戰過程中并非單車作戰,而是多車分散作戰,為了迷惑敵人還需配備一定數量的佯動、示假車輛,因此在武器作戰效能評估仿真系統的單次仿真中需要多車同時執行多種作戰任務,要求機動模型具備單次仿真的多實例運行功能。然而由于機動模型運行過程需要基于大量的數值計算,對外提供姿態、位置、狀態等信息數據,對于機動過程中的核心算法采用了專用數值語言的Matlab進行開發。考慮模型的面向對象特性與擴展性,提出了基于C++和Matlab混合編程、采用Map數據管理方法的多實例并行仿真模型開發技術。

1 模型概述

機動模型作為武器運輸的支撐平臺,承擔著武器的運輸、打擊前的準備等重要任務。根據其在整個戰場環境中的使用模式,分析獲得與機動模塊存在交互的外部系統,如圖1所示。

根據車輛作戰使用流程,搭建了機動過程的概念模型,并明確了機動過程仿真模型的功能,具體包括:

a)根據想定信息和配置文件對模型的幾何屬性、質量屬性、行駛策略、路徑信息和運動參數進行初始化;

b)根據裝備在彎道等的通行能力,以行駛時間最小為目標,以車輛能通行為約束條件,進行路徑規劃;

c)根據概念模型中的行動模型,將裝備的行動分解為若干基本行動進行編碼,利用基本行動組合成各種指令,通過指令控制機動過程中裝備的行為;

d)輸出裝備的運動信息、姿態信息和狀態信息,便于其他模型的集成調用。

2 多實例仿真解決方案

武器作戰效能評估仿真系統采用面向對象的編程思想、基于 C++語言環境進行開發,由對象實例維護各自屬性與功能。因此機動仿真模型勢必也要采用面向對象的方式來滿足其與仿真系統的集成使用需求。

2.1 模型開發架構

由于機動模型在實時仿真過程中,需要進行大量的數值運算。而目前常用面向對象的編程語言 C++、C#、Java等對數值運算的支撐力度有限,較為高級的數值運算功能需要耗費大量的時間進行算法開發與功能驗證,而Matlab作為采用C語言編寫、重點關注數值計算的數學應用軟件,在數值運算算法上有明顯的優勢,且Matlab提供了與C++混合編程的豐富接口[6]。因此在模型開發之初確定了采用 Matlab、C++聯合的開發模式,其中Matlab負責實現模型的功能算法以及仿真模型的運算,C++負責實現模型與外部模型、上層框架的交互以及模型功能接口調度。模型開發架構如圖2所示。

圖2中,接口層與中間轉換層在C++中實現,功能執行層在Matlab中實現。接口層采用了面向對象的編程方式,將機動模型作為一個對象類,包含屬性與功能函數,可供外部仿真系統調用并實例化為多個對象執行不同的仿真任務;中間轉換層將外部仿真系統中接收的模型屬性參數、路徑、天氣等信息傳遞給Matlab功能執行模塊,供仿真解算過程中調用;功能執行層將根據從中間轉換層中接收到的信息類別,執行相應的機動與狀態轉換功能;數據層為機動模型的固有屬性配置文件,可按車輛的實際屬性信息修改配置文件。

2.2 風險預估

機動模型由仿真運行總線進行調度使用,在仿真系統初始化過程中分配機動模型數量與相關初始屬性設定,創建多個實例進行多任務仿真。對于面向對象的 C++在多實例仿真方面不存在調用以及數據管理問題,Matlab自身也有面向對象的編程機制[7],但針對C++與Matlab混合編程模式無法應用Matlab的面向對象特性,因此執行層還應依托功能函數(Function)的方式實現。

在Matlab Function中,為方便數據傳遞、避免功能函數中形式參數過多而導致參數不易管理,使用了大量的全局變量進行參數傳遞。Matlab運行機制為每啟動一次Matlab實例均會啟動一個進程,且各進程中的數據相互隔離,即全局變量在多個進程中是相互獨立的,不會存在數據混用的情況。但在單進程、多線程的運行模式下,各線程共用同一個全局變量,在多個實例運行時由于共用全局變量,使得模型在執行相應的機動任務時因無法隔離數據導致模型運行功能不正確。因此基于Matlab采用功能函數的方式在進行多實例并行仿真時的運行效果為:

a)多進程并行仿真(一個進程內運行一個模型實例)時,各模型數據正常,仿真模型正常運行;

b)多線程并行仿真(一個進程中運行多個模型實例)時,將出現模型數據混亂,所有模型數據一致,且運行數據異常。

實際作戰效能仿真系統包含了多進程、多線程的運行模式,因此在通過Matlab Function進行機動功能實現時,應重點解決多線程仿真運行過程中的數據隔離存儲與調用問題。

2.3 解決方案

利用非面向對象的Function方式實現多實例機動解算功能實現時,借鑒并行仿真時的獨有變量概念[8],尋求一種將各仿真實例中的參數進行隔離的方式。Matlab中數據可通過數組、結構體、containers.Map容器等多種方式進行管理。其中containers.Map容器可以將一個復雜的數據結構映射為一個簡單的數值或字符串,常用在組織大型數據的場合。Map通過key快速方便地查詢相應的值,其中key為唯一標識,當Map中存放了2個key相同的量,則后者會覆蓋/替換前者。因此多實例仿真時,可將不同對象使用過程中產生的參數變量存放在容器中,進行隔離維護,需要時取出,從而避免各對象參數混亂的情況。

綜合考慮后選擇通過 containers.Map管理參數的方式進行多模型并行仿真方案實施。其具體步驟如下:

a)在模型初始化階段(即對象創建時),建立Map容器,以模型唯一標識ID作為key值,管理該模型對應的全局變量集合;

b)每一個模型對象對應一個總的全局變量集合,通過結構體的形式存儲模型運行過程中的所有參數;

c)仿真解算過程中,通過模型ID獲取其對應的全局變量結構體,并從中取出需要的參數,參與仿真;

d)仿真解算完成后,更新結構體中被改變參數的信息,并將更新后的全局變量結構體存入Map容器中。

通過ID將各模型對象的屬性參數進行隔離,保證了仿真運行過程中數據的獨立性,實現過程簡單,并且有效解決了內存數據混用問題。Map容器中參數存放代碼示例如圖3所示。

3 機動模型開發

3.1 功能模塊開發

從機動模型與外部系統的交互調用需求分析,將機動模型分為初始化、輸入、解算以及輸出4大基本功能模塊,機動模型主要功能模塊及相應的子功能見表1,具體仿真運行時的使用流程如圖4所示。

表1 機動模型功能模塊及實現方式

續表1

3.2 實施效果

車輛機動仿真模型能夠模擬多種車輛在不同機動任務下的技術性能參數,具備隨機路徑規劃功能,提供實時平臺姿態、速度和通行情況等模型輸出。將多實例并行機動仿真模型加載至武器作戰效能仿真系統中進行集成測試,測試結果表明機動模型功能性能正常,并能有效地管理實例對象的獨有數據,實現了不同對象執行不同機動任務的需求。機動模型運行可視化效果如圖5所示,單車機動曲線如圖6所示。

4 結束語

本文針對武器系統作戰使用過程中的多實例并行仿真需求,利用C++與Matlab混合編程的方式,采用面向對象的編程思想構建了多實例并行機動仿真模型,提供不同任務剖面下車輛運動姿態、位置、狀態等信息,實現不同行駛策略、環境條件下車輛機動過程戰術技術性能分析,為分析車輛的生存能力提供必要的基礎性數據。

[1] 陳景亮, 朱一凡, 等. 導彈攻防對抗作戰效能仿真分析方法論[J]. 國防科技大學學報, 1999(1): 20-24.

[2] 邢清華, 劉付顯. 攻防對抗系統建模與仿真[J]. 計算機仿真, 2002, 19(5) : 12-14.

[3] 羅鵬程, 傅攀峰, 周經倫. 武器裝備體系作戰能力評估框架[J]. 系統工程與電子技術, 2005, 27(1): 1072-1075.

[4] 張亮, 趙振南, 王利, 等. 基于體系作戰效能的武器裝備體系評估[J].四川兵工學報, 2015, 34(3): 50-58.

[5] 斗計華. 艦空導彈武器系統攻防對抗作戰效能仿真研究[J]. 彈箭與制導學報, 2007(1): 290-293.

[6] 劉維. 精通Matlab與C/C++混合程序設計[M]. 北京: 北京航空航天大學出版社, 2008.

[7] 苗志宏, 馬金強. MATLAB面向對象程序設計[M]. 北京: 電子工業出版社, 2014.

[8] 劉維. 實戰MATLAB之并行程序設計[M]. 北京: 北京航空航天大學出版社, 2011.

Development of Parallel Multi-instance Mobile Model

He Li1, Wu Yan1, Zhao Chang-kuan2, Hang Li-jie1
(1. Beijing Institute of Space Launch Techology, Beijing, 100076; 2. Northeastern University, Shenyang, 110819)

Tomeet the objectives of parallel multi-instance model in simulation system C++ and Matlab hybrid programming to bulid mobile model is proposed. The problem of data confusion that appears in the model runs multiple instances which mobile based on Matlab Function is analysised. This paper suggests a way of Map-based approach to data management in function run.

Matlab; Mobile model; Multi-instance; Parallel simulation

V553.1

A

1004-7182(2017)02-0076-04

10.7654/j.issn.1004-7182.20170217

2016-09-26;

2016-11-30

何 麗(1984-),女,工程師,主要從事復雜系統仿真分析與虛擬試驗方向的研究

猜你喜歡
功能模型系統
一半模型
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關于非首都功能疏解的幾點思考
3D打印中的模型分割與打包
主站蜘蛛池模板: 老熟妇喷水一区二区三区| 91小视频在线| 国产欧美一区二区三区视频在线观看| 亚洲精品中文字幕午夜| 国内精品久久人妻无码大片高| 日本日韩欧美| 全部免费特黄特色大片视频| 精品久久国产综合精麻豆| 国产在线98福利播放视频免费| 天堂在线亚洲| 亚洲国产无码有码| www.youjizz.com久久| 日本a级免费| 国产高潮流白浆视频| 秋霞午夜国产精品成人片| 国产亚洲视频在线观看| 好紧太爽了视频免费无码| 91欧洲国产日韩在线人成| 老司机久久99久久精品播放| 女人18一级毛片免费观看| 欧美a在线视频| 成人综合在线观看| 久久亚洲国产一区二区| 国产97公开成人免费视频| 久久久久国产精品免费免费不卡| 亚洲三级成人| 亚洲第一极品精品无码| 手机精品福利在线观看| 91精品人妻互换| 亚洲精品成人7777在线观看| 亚洲国产系列| 五月婷婷精品| 中文字幕亚洲乱码熟女1区2区| 欧美一级黄色影院| 亚洲AV人人澡人人双人| 欧美性爱精品一区二区三区| 午夜三级在线| 狼友视频国产精品首页| 一级毛片在线播放| 国产大全韩国亚洲一区二区三区| 国产手机在线观看| 高清免费毛片| 日韩成人午夜| 伊人久久精品无码麻豆精品 | 3344在线观看无码| 国产综合精品一区二区| 99在线国产| 米奇精品一区二区三区| 亚洲天堂日韩在线| 免费A∨中文乱码专区| 国产chinese男男gay视频网| 国产美女在线观看| 99热这里只有精品免费国产| 亚洲色图欧美视频| 被公侵犯人妻少妇一区二区三区| 伊人大杳蕉中文无码| 精品無碼一區在線觀看 | 日韩欧美国产精品| 亚洲男人在线| 毛片网站在线看| 亚洲无限乱码| 国产视频一区二区在线观看 | 色妺妺在线视频喷水| 91po国产在线精品免费观看| 国产一区二区三区日韩精品| 成人91在线| 久久成人免费| 99免费视频观看| 四虎国产精品永久在线网址| 日本欧美一二三区色视频| 日本一区二区三区精品国产| 精品国产福利在线| 国产激爽爽爽大片在线观看| 亚洲天堂网视频| 99er这里只有精品| 欧美福利在线播放| 亚洲日韩精品无码专区97| 亚洲色中色| a级毛片免费在线观看| 亚洲欧洲日产国产无码AV| 亚洲成人免费看| 萌白酱国产一区二区|