汪玉美,劉楠楠,馮娟娟,姚寒瑜
(陸軍炮兵防空兵學(xué)院無人機(jī)應(yīng)用系,合肥 230031)
無人機(jī)在信息化、無人化戰(zhàn)爭中發(fā)揮了重要的作用,從保障力量躍升為主戰(zhàn)力量。深入研究無人機(jī)運(yùn)用方式并及時(shí)將研究成果融入無人機(jī)專業(yè)教學(xué)已迫在眉睫。
實(shí)驗(yàn)仿真已經(jīng)成為“兵力與經(jīng)費(fèi)的倍增器”[1],從外軍典型無人機(jī)戰(zhàn)例來看,無人機(jī)研究領(lǐng)域的基本特征之一就是不斷地創(chuàng)新與發(fā)展,傳統(tǒng)的戰(zhàn)例分析、實(shí)兵推演等形式難以滿足教學(xué)研究需求[2-3]。無人機(jī)實(shí)驗(yàn)仿真拓展性強(qiáng),其可設(shè)計(jì)、可編輯、可復(fù)盤的特點(diǎn),使得相關(guān)研究能夠靈活地根據(jù)任務(wù)需要,實(shí)時(shí)調(diào)整實(shí)驗(yàn)要素,較好地適應(yīng)無人機(jī)研究的動(dòng)態(tài)變化[4-5]。
將無人機(jī)實(shí)驗(yàn)仿真引入教學(xué),構(gòu)建教學(xué)平臺(tái),模擬復(fù)雜環(huán)境,分析方案規(guī)劃,對(duì)提高未來指揮員在無人機(jī)籌劃能力方面具有重要作用[6-7]?;诖?,本文設(shè)計(jì)了無人機(jī)實(shí)驗(yàn)仿真教學(xué)平臺(tái),為學(xué)員提供軟件仿真環(huán)境,提升學(xué)員解決無人機(jī)相關(guān)問題的能力,培養(yǎng)無人機(jī)應(yīng)用的創(chuàng)新意識(shí)。
無人機(jī)實(shí)驗(yàn)仿真教學(xué)平臺(tái)基于計(jì)算機(jī)網(wǎng)絡(luò),采用分布式技術(shù)[8-9],使平臺(tái)各組成部分有序連接,通過模塊間的數(shù)據(jù)交互,客觀形象地構(gòu)建出無人機(jī)方案推演過程,幫助學(xué)員演示、設(shè)計(jì)、分析、創(chuàng)新無人機(jī)任務(wù)規(guī)劃[10-11]。該教學(xué)平臺(tái)總體結(jié)構(gòu)如圖1 所示。
圖1 無人機(jī)實(shí)驗(yàn)仿真教學(xué)平臺(tái)總體結(jié)構(gòu)
在無人機(jī)實(shí)驗(yàn)仿真教學(xué)平臺(tái)中,分布式仿真引擎采用組件化建模與離散事件仿真技術(shù),采用時(shí)間和離散事件混合推進(jìn)方式,對(duì)仿真事件進(jìn)行周期性和非周期性的調(diào)度,負(fù)責(zé)服務(wù)接口、模型接口、事件管理器、時(shí)間管理器和仿真想定加載器的創(chuàng)建和維護(hù);模型開發(fā)主要用于設(shè)計(jì)、生成仿真組件模型和實(shí)體模型,通過圖形化建模方式,添加屬性、方法和需要處理的消息,生成模型代碼;模型裝配主要基于組件化建模思想,根據(jù)建模對(duì)象的實(shí)際性能,完成組件模型的參數(shù)設(shè)置,再“組裝”這些組件生成可部署的實(shí)體模型;想定編輯主要用于創(chuàng)建和管理仿真想定,完成環(huán)境和實(shí)體地部署;想定運(yùn)行解析想定編輯中設(shè)定的流程,由分布式仿真引擎執(zhí)行,可對(duì)單線程運(yùn)行、指定隨機(jī)數(shù)種子、人在回路、運(yùn)行完畢后自動(dòng)回放等進(jìn)行選配;數(shù)據(jù)分發(fā)服務(wù)主要完成分布式數(shù)據(jù)中繼、提供統(tǒng)一仿真時(shí)間、管理聯(lián)邦和聯(lián)邦內(nèi)的成員;二維、三維態(tài)勢(shì)主要對(duì)態(tài)勢(shì)進(jìn)行形象直觀展示和控制;效能分析評(píng)估主要根據(jù)推送的仿真結(jié)果數(shù)據(jù)對(duì)無人機(jī)完成任務(wù)的效能或是規(guī)劃方案進(jìn)行分析評(píng)估。
分布式仿真引擎主要由時(shí)間管理器、事件管理器和其他接口服務(wù)組成。引擎運(yùn)行時(shí),事件管理器執(zhí)行仿真模型提交的事件,時(shí)間管理器負(fù)責(zé)裁決事件管理器提交事件的時(shí)間有效性,并批準(zhǔn)符合執(zhí)行條件的事件執(zhí)行,隨著仿真事件的不斷執(zhí)行,推動(dòng)仿真時(shí)間前進(jìn),直至結(jié)束。其他接口服務(wù)主要為模型和數(shù)據(jù)提供支撐,包括對(duì)象管理、服務(wù)管理、環(huán)境管理、數(shù)據(jù)采集、結(jié)果裁決和地形服務(wù)等。分布式仿真引擎總體設(shè)計(jì)如圖2 所示。時(shí)間管理器、事件管理器和仿真模型三者之間的交互關(guān)系如圖3 所示。
圖2 分布式仿真引擎總體設(shè)計(jì)
圖3 時(shí)間管理器、事件管理器和仿真模型交互關(guān)系
仿真引擎包含多個(gè)事件管理器,每個(gè)事件管理器維護(hù)一個(gè)獨(dú)立的事件隊(duì)列,隊(duì)列中可存在多個(gè)仿真實(shí)體和組件模型提交的事件。時(shí)間管理器扮演仲裁者的角色,負(fù)責(zé)協(xié)調(diào)多個(gè)事件隊(duì)列的事件同步,待執(zhí)行事件都必須向時(shí)間管理器提交執(zhí)行請(qǐng)求,根據(jù)時(shí)間、優(yōu)先級(jí)決定是否能執(zhí)行。若多個(gè)事件的時(shí)間、優(yōu)先級(jí)一樣時(shí),通過隊(duì)列的并發(fā)設(shè)計(jì),使多個(gè)事件同時(shí)執(zhí)行以提高仿真運(yùn)行效率。
模型開發(fā)模塊主要由模型視圖設(shè)計(jì)、組件/實(shí)體建模和代碼生成組成。模型視圖設(shè)計(jì)主要以圖標(biāo)的形式管理組件和實(shí)體模型提供編輯和排列的功能,如圖4所示。組件/實(shí)體建模主要是以圖形化方式建模,通過選擇繼承的父類,添加屬性、方法、接口以及能處理的消息、態(tài)勢(shì)、指令進(jìn)行建模,如圖5 所示。實(shí)體模型能對(duì)消息和態(tài)勢(shì)進(jìn)行處理,組件模型僅對(duì)指令進(jìn)行處理,定義消息如圖6 所示,態(tài)勢(shì)與指令的定義與消息類似。代碼生成主要是為建模內(nèi)容創(chuàng)建VC開發(fā)環(huán)境下的模型項(xiàng)目,并生成C++代碼,生成動(dòng)態(tài)鏈接庫文件應(yīng)用到模型裝配模塊(見2.3)。
圖4 模型視圖設(shè)計(jì)
圖5 組件/實(shí)體建模
圖6 自定義消息
模型裝配模塊主要由組件模型實(shí)例化和實(shí)體模型組裝組成。模型實(shí)例化主要完成組件模型的型號(hào)化,根據(jù)建模對(duì)象的實(shí)際性能,通過輸入具體的參數(shù)進(jìn)行配置,生成型號(hào)化組件。實(shí)體模型組裝仍按建模對(duì)象的真實(shí)構(gòu)成,選擇相對(duì)應(yīng)的組件模型實(shí)例進(jìn)行組裝,構(gòu)成能在想定編輯模塊(見2.4)中部署的實(shí)體模型,如圖7 所示。
想定編輯模塊主要由想定管理、實(shí)體資源管理組成。想定管理用于創(chuàng)建、加載和維護(hù)仿真想定,提高想定編輯效率,以便快速形成仿真想定。實(shí)體資源管理主要為想定編輯人員提供可視化的部署環(huán)境,對(duì)部署實(shí)體和資源的基本信息和相互關(guān)系等信息進(jìn)行管理維護(hù),是想定編輯模塊的核心,如圖8 所示。
圖8 想定編輯主界面
態(tài)勢(shì)顯示模塊主要由二維態(tài)勢(shì)和三維態(tài)勢(shì)組成。二維態(tài)勢(shì)是對(duì)推演態(tài)勢(shì)進(jìn)行二維展示,根據(jù)關(guān)注的時(shí)間或地點(diǎn)控制態(tài)勢(shì)的進(jìn)展,如圖9 所示。三維態(tài)勢(shì)是對(duì)仿真過程的三維呈現(xiàn),仿真更貼近現(xiàn)實(shí),觀察人員能更直觀、友好地觀察總體形勢(shì),如圖10 所示。
圖9 二維態(tài)勢(shì)顯示
圖10 三維態(tài)勢(shì)顯示
數(shù)據(jù)分發(fā)模塊主要由數(shù)據(jù)中繼和時(shí)間協(xié)調(diào)服務(wù)模塊組成。數(shù)據(jù)中繼是想定運(yùn)行、仿真引擎、態(tài)勢(shì)顯示以及效能評(píng)估數(shù)據(jù)之間交互的中轉(zhuǎn)樞紐,如圖11 所示。時(shí)間協(xié)調(diào)主要負(fù)責(zé)控制、協(xié)調(diào)統(tǒng)一模塊之間仿真時(shí)間的同步,如圖12 所示。
圖11 數(shù)據(jù)中繼服務(wù)
圖12 時(shí)間協(xié)調(diào)服務(wù)
效能分析評(píng)估模塊主要由數(shù)據(jù)抽取、統(tǒng)計(jì)分析、報(bào)表生成等部分組成,對(duì)仿真運(yùn)行結(jié)果數(shù)據(jù)進(jìn)行分析評(píng)估,支持評(píng)估指標(biāo)的自定義動(dòng)態(tài)構(gòu)建,如圖13 所示。數(shù)據(jù)抽取是按一定標(biāo)準(zhǔn)格式從想定運(yùn)行數(shù)據(jù)中抽取需要參與評(píng)估的數(shù)據(jù),統(tǒng)計(jì)分析是根據(jù)評(píng)估算子對(duì)抽取的數(shù)據(jù)進(jìn)行各類計(jì)算,計(jì)算結(jié)果交報(bào)表生產(chǎn)單元進(jìn)行多樣化展示[11-12]。
圖13 效能分析評(píng)估
以基于貪心算法的無人機(jī)航跡規(guī)劃為例,說明該實(shí)驗(yàn)仿真平臺(tái)在實(shí)際教學(xué)中的應(yīng)用[12-15]。
3.1.1 偵察目標(biāo)任務(wù)
結(jié)合具體問題展開無人機(jī)仿真教學(xué),設(shè)某無人機(jī)部隊(duì)配屬4 個(gè)無人機(jī)基地,分別是P01、P02、P03、P04,每個(gè)基地裝備2 架某型無人機(jī),對(duì)10 個(gè)目標(biāo)群共68個(gè)目標(biāo)進(jìn)行偵察,每個(gè)目標(biāo)群均配屬雷達(dá),且開機(jī)對(duì)空警戒,其坐標(biāo)信息見表1。設(shè)定的偵察目標(biāo)任務(wù):為FY型無人機(jī)完成10 個(gè)目標(biāo)群的偵察任務(wù)擬制最佳航跡路線和無人機(jī)調(diào)度策略,以保證偵察無人機(jī)滯留雷達(dá)有效探測(cè)范圍內(nèi)的時(shí)間總和最短。
3.1.2 約束和假設(shè)條件
結(jié)合具體目標(biāo)任務(wù),給出約束條件:
(1)無人機(jī)巡航飛行速度為180 km/h,巡航飛行高度為3 km。
(2)無人機(jī)只攜帶光電載荷,對(duì)地有效探測(cè)范圍半徑為10 km。
(3)無人機(jī)對(duì)每個(gè)目標(biāo)群的各目標(biāo)至少偵察一次。
(4)執(zhí)行完任務(wù)后無人機(jī)需返回原基地。
(5)目標(biāo)群配屬的雷達(dá)對(duì)無人機(jī)的有效探測(cè)距離為50 km。
為簡化問題,給出3 個(gè)假設(shè)條件:
(1)無人機(jī)勻速飛行。
(2)所有的目標(biāo)優(yōu)先級(jí)相同。
(3)無人機(jī)經(jīng)過目標(biāo),即被發(fā)現(xiàn)。
有了以上條件,目標(biāo)任務(wù)就可以等價(jià)為:“無人機(jī)在雷達(dá)探測(cè)范圍內(nèi)的路徑總和最短”,這就將問題轉(zhuǎn)化為利用貪心算法求解旅行商問題。
3.1.3 設(shè)計(jì)偵察策略
從10 個(gè)目標(biāo)群68 個(gè)目標(biāo)的位置分布,可發(fā)現(xiàn)目標(biāo)群內(nèi)的目標(biāo)分布的較為密集,目標(biāo)群之間分布較為松散,這樣可將航跡規(guī)劃劃分為2 個(gè)層次來解決。第1 層次,在保證探測(cè)到其內(nèi)部每一個(gè)目標(biāo)的前提下,求解出目標(biāo)群內(nèi)的最短路徑;第2 層次,宏觀上將每個(gè)目標(biāo)群視為1 個(gè)節(jié)點(diǎn)(以雷達(dá)站坐標(biāo)為參考坐標(biāo)),在10個(gè)目標(biāo)群總尋求一條最短路徑。將群間、群內(nèi)的最短路路徑全局優(yōu)化,結(jié)合各無人機(jī)基地的具體坐標(biāo)信息,確定無人機(jī)的分配和每架無人機(jī)的航跡規(guī)劃。
3.2.1 貪心算法計(jì)算最短路徑
利用模型開發(fā)模塊的框架,編程實(shí)現(xiàn)貪心算法的基本思想,通過分層次輸入各目標(biāo)群或目標(biāo)的坐標(biāo)信息,計(jì)算出若干條滿足條件的最短路徑,結(jié)合各無人機(jī)基地的位置信息,利用貪心算法局部尋優(yōu)原則,確定無人機(jī)的分配,得出一條基于貪心算法的航跡規(guī)劃,即一系列航跡點(diǎn)的坐標(biāo)。
3.2.2 仿真平臺(tái)分析航跡規(guī)劃
利用模型裝配模塊將涉及目標(biāo)、雷達(dá)、無人機(jī)等實(shí)體進(jìn)行組裝,利用想定編輯模塊部署4 個(gè)無人機(jī)基地、8 架無人機(jī)、10 個(gè)雷達(dá)站和68 個(gè)目標(biāo)等實(shí)體,為調(diào)度的2 架無人機(jī)設(shè)定具體巡航點(diǎn),具體坐標(biāo)依據(jù)貪心算法程序計(jì)算得出的航跡點(diǎn)。爾后運(yùn)行想定,觀察推演的二維、三維態(tài)勢(shì),如圖14、15 所示(黑色線為實(shí)際飛行路徑,紅色是規(guī)劃路徑),設(shè)置效能分析評(píng)估模塊,統(tǒng)計(jì)無人機(jī)飛行距離和時(shí)間(見表2)。
表2 優(yōu)化前無人機(jī)飛行距離和時(shí)間
圖14 貪心算法航跡規(guī)劃二維態(tài)勢(shì)顯示
圖15 貪心算法航跡規(guī)劃三維態(tài)勢(shì)顯示
由仿真結(jié)果可見,無人機(jī)并沒有完全按照設(shè)定的航跡飛行,存在偏離,甚至在目標(biāo)群內(nèi)偵察時(shí),飛行航跡略顯混亂,分析其原因,主要是在規(guī)劃路徑時(shí),忽略了2 個(gè)問題:一是未考慮無人機(jī)的轉(zhuǎn)彎半徑,二是未考慮光電載荷的有效偵察范圍。
3.2.3 優(yōu)化完善實(shí)現(xiàn)任務(wù)目標(biāo)
針對(duì)仿真結(jié)果的表現(xiàn),需對(duì)設(shè)計(jì)航跡進(jìn)一步的優(yōu)化。①對(duì)航跡進(jìn)行平滑處理,這里采用繞點(diǎn)平滑,即不經(jīng)過原規(guī)劃航跡點(diǎn)的平滑,較適合實(shí)際飛行情況。②考慮到無人機(jī)攜帶的光電載荷有效偵察半徑為10 km,采用三角法對(duì)目標(biāo)群內(nèi)的偵察序列進(jìn)行優(yōu)化,即依次選取A、B、C點(diǎn),由3 個(gè)點(diǎn)構(gòu)成三角形,判斷B 點(diǎn)與點(diǎn)A、C 之間的距離是否在有效偵察范圍內(nèi),若為真,則B 點(diǎn)可以從航跡點(diǎn)中去掉;若為假,繼續(xù)往下推進(jìn)一個(gè)節(jié)點(diǎn),直至覆蓋所有的節(jié)點(diǎn),最后留下的航跡點(diǎn)則是最優(yōu)序列。
根據(jù)優(yōu)化策略修改想定,運(yùn)行后其二維態(tài)勢(shì)如圖16 所示,克服了之前出現(xiàn)的問題,飛行時(shí)間和距離也較之前更短,如表3 所示。
表3 優(yōu)化后無人機(jī)飛行距離和時(shí)間
圖16 優(yōu)化后航跡的二維顯示
本文針對(duì)傳統(tǒng)分析戰(zhàn)例、實(shí)戰(zhàn)推演方式無法滿足無人機(jī)的教學(xué)研究,設(shè)計(jì)了無人機(jī)實(shí)驗(yàn)仿真平臺(tái),該平臺(tái)在分布式無人機(jī)作戰(zhàn)仿真引擎的基礎(chǔ)上,集成了模型開發(fā)、模型裝配、想定編輯、數(shù)據(jù)分發(fā)、多維態(tài)勢(shì)和效能評(píng)估等模塊,實(shí)現(xiàn)了規(guī)劃方案推演和實(shí)驗(yàn)分析功能,有效地支撐了無人機(jī)相關(guān)的教學(xué)研究活動(dòng),增強(qiáng)學(xué)員對(duì)無人機(jī)任務(wù)規(guī)劃的興趣,提升學(xué)員解決無人機(jī)問題的能力。