王國強,陳宇軒,馬瀅瀅,蔣儒浩,王浩丞,羅 賀
(1.合肥工業(yè)大學管理學院,合肥 230009;2.過程優(yōu)化與智能決策教育部重點實驗室,合肥 230009;3.智能互聯(lián)系統(tǒng)安徽省實驗室,合肥 230009)
隨著無人機性能的提升,利用多架無人機相互協(xié)同執(zhí)行無人機對抗無人機、無人機對抗有人機等復雜空戰(zhàn)任務已得到各國軍方的關注[1-2]。任務規(guī)劃方法是多無人機協(xié)同空戰(zhàn)過程中的核心關鍵技術之一,有效的任務規(guī)劃方法能夠使多無人機形成有效的戰(zhàn)術戰(zhàn)法[3]、采取合理的目標分配方案[4],從而提高多無人機協(xié)同的整體作戰(zhàn)效能。
為驗證多無人機協(xié)同空戰(zhàn)任務規(guī)劃算法的有效性,若采用真實無人機用于任務規(guī)劃算法的演練與驗證,將會面臨維護費用高、運行風險大、保障措施復雜等一系列問題[5],對此,研究人員主要通過數(shù)值實驗方式對運籌優(yōu)化[6-7]、博弈決策[8]、強化學習[9-11]等不同類型的多無人機協(xié)同空戰(zhàn)任務規(guī)劃算法進行有效性驗證。然而,上述數(shù)值實驗的驗證方式對無人機的飛控、火控模型做出了較大簡化,難以精細模擬多架無人機協(xié)同空戰(zhàn)的實際過程。因此,研發(fā)多無人機協(xié)同空戰(zhàn)任務規(guī)劃仿真系統(tǒng),在虛擬的空戰(zhàn)環(huán)境中構建交戰(zhàn)雙方的飛機、武器等實體,模擬多無人機的協(xié)同飛行、戰(zhàn)術執(zhí)行和目標分配等空戰(zhàn)過程,對節(jié)約研究成本、有效驗證任務規(guī)劃算法具有重要意義。
目前已有一些針對空戰(zhàn)仿真系統(tǒng)的研究。在有人機空戰(zhàn)仿真系統(tǒng)研究方面,王領等[12]基于開源仿真軟件FlightGear和通用仿真軟件Matlab,研發(fā)了一種空戰(zhàn)任務可視化仿真系統(tǒng),通過網(wǎng)絡將各模擬座艙連接,能夠?qū)崿F(xiàn)多架有人機的對抗仿真。Gosse等[13]研發(fā)了一種嵌入式訓練空戰(zhàn)仿真系統(tǒng),該系統(tǒng)能夠采集飛行員的操作信號并輸入到各種航電設備,最后反饋給仿真環(huán)境,使飛行員能夠通過對抗多類虛擬部隊進行空戰(zhàn)訓練。在無人機對抗有人機的空戰(zhàn)仿真系統(tǒng)研究方面,Shin等[14]在商用飛行模擬器X-Plane基礎上進行二次開發(fā),實現(xiàn)了1架無人機對抗1架有人機的空戰(zhàn)仿真。Yuan等[15]研發(fā)了空戰(zhàn)戰(zhàn)術決策仿真系統(tǒng),該系統(tǒng)包含多種戰(zhàn)術機動、火控模型,能夠?qū)崿F(xiàn)1架無人機對抗1架有人機的空戰(zhàn)戰(zhàn)術機動仿真。在無人機空戰(zhàn)仿真系統(tǒng)研究方面,盧銳軒等[16]在傳統(tǒng)空戰(zhàn)仿真系統(tǒng)基礎上,通過改造智能體與仿真平臺的交互接口,構建了1對1的無人機空戰(zhàn)智能自博弈平臺,能夠支持對基于人工智能的機動決策算法的訓練和驗證。王國強等[17]基于VR-Forces仿真引擎,構建了一種分布式的無人機編隊協(xié)同任務規(guī)劃仿真系統(tǒng),能夠仿真無人機對抗無人機的協(xié)同空戰(zhàn)任務規(guī)劃過程,支持多類的任務規(guī)劃算法的驗證,并提供仿真過程的二維場景展示。
然而,上述空戰(zhàn)仿真系統(tǒng)的用途相對比較聚焦、功能相對有限,難以滿足多種復雜場景下的多無人機協(xié)同空戰(zhàn)任務規(guī)劃仿真需求,例如:既能支持無人機對抗無人機、又能支持無人機對抗有人機;既能支持不同語言開發(fā)的任務規(guī)劃算法的驗證,又能支持基于人工智能的任務規(guī)劃算法的訓練。對此,基于VR-Forces仿真引擎,設計了一種通用的多無人機協(xié)同空戰(zhàn)任務規(guī)劃仿真系統(tǒng),主要創(chuàng)新點如下:
1) 設計并開發(fā)了算法庫模塊,能夠?qū)Χ囝?、多種算法進行統(tǒng)一管理,可以兼容多種編程語言實現(xiàn)的算法,具備算法的封裝、調(diào)用、添加和修改等功能。
2) 在紅、藍、白三方子系統(tǒng)的基礎上,設計并開發(fā)了強化學習算法子系統(tǒng),建立了強化學習算法子系統(tǒng)與紅方/藍方子系統(tǒng)間的數(shù)據(jù)交互機制,能夠支持基于強化學習的多無人機協(xié)同空戰(zhàn)任務分配算法的訓練與驗證。
3) 提出了人機交互關鍵技術,實現(xiàn)了使用模擬座艙物理連接的人在環(huán)路仿真,能夠真實有效地模擬飛行員操控有人機飛行和攻擊目標,從而支持無人機對抗有人機的空戰(zhàn)模式。
多無人機協(xié)同空戰(zhàn)是一個復雜的博弈過程,中間涉及到多個決策環(huán)節(jié),包括戰(zhàn)術決策、目標分配和重決策等等。記紅方為R方,藍方為B方,R方有m個無人機,B方有n個無人機,具體任務規(guī)劃過程分析如下。
戰(zhàn)術決策是多無人機協(xié)同空戰(zhàn)中重要的宏觀性決策環(huán)節(jié),一般發(fā)生于目標分配之前。在戰(zhàn)術決策時,需要在對整個空戰(zhàn)態(tài)勢深入分析和對作戰(zhàn)對象威脅程度充分理解的前提下,采取如包夾攻擊、誘敵等戰(zhàn)術策略以保證我方無人機安全、高效地完成作戰(zhàn)任務[7,18]?;诓┺牡乃枷?將多無人機協(xié)同空戰(zhàn)戰(zhàn)術決策問題構建為一個博弈模型G=(SR,SB,U),具體如下:
當對抗雙方執(zhí)行所決策的戰(zhàn)術方案進入彼此的探測范圍后,紅方無人機需要通過解析對抗過程中獲取到的數(shù)據(jù),計算敵我雙方空戰(zhàn)態(tài)勢,在此基礎上,制定紅方無人機的目標分配方案,以指導每個無人機在后續(xù)對抗過程中對抗相應的目標[19-22]。基于納什均衡博弈的思想,將R方和B方作為博弈的參與人,將多無人機協(xié)同空戰(zhàn)目標分配問題建模為雙矩陣博弈模型G=(SR,SB,U),具體如下:
由于多無人機協(xié)同空戰(zhàn)環(huán)境中存在大量的動態(tài)性和不確定性,導致先前制定好的決策方案可能隨著對抗的進行不再適用當前環(huán)境,需要根據(jù)復雜的戰(zhàn)場環(huán)境找準改變當前決策的關鍵時機點T,在T時刻進行重決策并進行后續(xù)對抗,從而在對抗過程中占據(jù)優(yōu)勢,重復上述過程直至對抗結束[23-25]?;隈R爾可夫決策過程理論,將多無人機協(xié)同空戰(zhàn)重決策問題建模為馬爾可夫決策模型M=〈S,A,Ps,a,F〉,具體如下:
①S:為無人機狀態(tài)空間,包含了所有可能達到的狀態(tài)s∈S,其中s=(sR1,sR2,…,sRm,sB1,sB2,…,sBn),由m個紅方無人機狀態(tài)數(shù)據(jù)和n個藍方無人機狀態(tài)數(shù)據(jù)組成。
②A:為重決策動作空間,包含了可能采取的重決策動作a∈A,其中a=1表示進行重決策,a=0表示不進行重決策,即保持當前決策方案不變。
③Ps,a:為執(zhí)行動作a時由當前狀態(tài)s轉(zhuǎn)移到下一狀態(tài)s′的概率。
④F:為當前狀態(tài)s下采取某個重決策動作a后的期望獎勵回報E[F|s,a]。
VR-Forces仿真引擎是美國MAK公司開發(fā)的國際領先仿真工具,具備簡單易用的圖形接口、大量仿真實體模型和一套面向?qū)ο蟮腁PI程序接口,并且支持分布式交互仿真;同時,自帶成熟的地形建模工具,可以根據(jù)需求靈活創(chuàng)建仿真場景,為多無人機協(xié)同空戰(zhàn)仿真提供了有力支持[26]。針對多無人機協(xié)同空戰(zhàn)任務規(guī)劃仿真系統(tǒng)的實際需求,本研究結合VR-Forces仿真引擎特點,設計了多無人機協(xié)同空戰(zhàn)任務規(guī)劃仿真系統(tǒng)體系架構,如圖1所示。
圖1 多無人機協(xié)同空戰(zhàn)任務規(guī)劃仿真系統(tǒng)的體系架構
該系統(tǒng)架構由紅方子系統(tǒng)、藍方子系統(tǒng)、白方子系統(tǒng)以及強化學習算法訓練子系統(tǒng)等4部分構成,支持無人機對抗無人機、無人機對抗有人機等多種空戰(zhàn)模式。其中,紅方子系統(tǒng)和藍方子系統(tǒng)擁有相同的架構,可以根據(jù)空戰(zhàn)模式靈活配置,所有子系統(tǒng)采用分布式架構在同一局域網(wǎng)下進行通信。
紅方/藍方子系統(tǒng)負責對己方無人機或有人機的仿真,其內(nèi)部模塊具體內(nèi)容如下:
1) VR-Forces仿真引擎:作為仿真系統(tǒng)的核心基礎組件,負責無人機/有人機的動力學、感知、毀傷等模型的仿真,仿真時間同步以及子系統(tǒng)間的網(wǎng)絡通信。
2) 紅方/藍方視景展示模塊:以紅方/藍方的視角,展示雙方無人機/有人機的狀態(tài)信息以及雙方對抗過程。
3) 算法庫:支持對任務規(guī)劃算法的封裝、選擇、調(diào)用以及新算法的添加,現(xiàn)有任務規(guī)劃算法包括戰(zhàn)術決策、目標分配和重決策等算法。
4) 戰(zhàn)術決策模塊:通過調(diào)用算法庫中的戰(zhàn)術決策算法,得到相應的戰(zhàn)術方案,并發(fā)送給VR-Forces仿真引擎去執(zhí)行。
5) 目標分配模塊:通過調(diào)用算法庫中的目標分配算法,得到相應的目標分配方案,并發(fā)送給VR-Forces仿真引擎去執(zhí)行。
6) 重決策模塊:調(diào)用算法庫中的重決策算法,確定戰(zhàn)術決策、目標分配等模塊的調(diào)用時機。
7) 人機交互模塊:通過屏幕和VR眼鏡,以駕駛艙第一視角的方式向操作員展示有人機自身、友機與敵機的狀態(tài)信息;同時,通過油門桿、駕駛桿、觸摸屏等輸入設備,操作員可以實時地對仿真系統(tǒng)中的有人機進行飛行控制、選擇目標進行攻擊等操作。
白方子系統(tǒng)負責仿真的全局配置和展示,通過運行VR-Forces仿真引擎和系統(tǒng)內(nèi)部模塊實現(xiàn)對紅藍雙方對抗全過程的仿真。白方子系統(tǒng)內(nèi)部模塊的具體內(nèi)容如下:
1) 白方視景展示模塊:在仿真過程中,以二維或者三維的方式實時展示紅藍雙方對抗過程,同時可以查看雙方有人機/無人機的全部信息。
2) 場景管理模塊:負責對任務場景的創(chuàng)建、加載、修改以及保存。針對不同任務需求創(chuàng)建不同的任務場景文件,以實現(xiàn)對多無人機協(xié)同空戰(zhàn)進行仿真。每個場景文件包括仿真地形、紅藍雙方實體狀態(tài)等信息。
3) 批處理模塊:通過設置任務場景、仿真次數(shù)以及單局對抗時間,可以實現(xiàn)在無人工干預的情況下,多次對同一場景進行仿真。通過與強化學習算法訓練子系統(tǒng)搭配使用可以實現(xiàn)對強化學習算法進行大批量的訓練學習。同時,批處理模塊包含日志回放功能,可以實現(xiàn)對仿真過程的數(shù)據(jù)記錄及回放。
4) 仿真控制模塊:可以控制仿真的開始、暫停和退出,也可以控制仿真的加速和減速,支持在0.5倍速至16倍速間的仿真。
5) VR-Forces仿真引擎:根據(jù)場景管理、批處理和仿真控制等模塊中的參數(shù)配置對仿真過程進行管理;獲取無人機、有人機的狀態(tài)信息;驅(qū)動白方視景展示模塊展示仿真對抗全過程。
強化學習算法訓練子系統(tǒng)基于python語言開發(fā),負責對強化學習算法進行訓練與學習,并集成了TensorFlow、PyTorch等工具。該子系統(tǒng)由以下5個模塊組成:
1) 數(shù)據(jù)接收模塊:接收紅方/藍方子系統(tǒng)發(fā)送的數(shù)據(jù),提取數(shù)據(jù)并進行格式轉(zhuǎn)換。
2) 數(shù)據(jù)預處理模塊:對數(shù)據(jù)進行預處理,包括數(shù)據(jù)過濾、數(shù)據(jù)歸一化和數(shù)據(jù)補全等功能,處理后的數(shù)據(jù)作為強化學習算法模塊的輸入。
3) 獎勵計算模塊:對獲取數(shù)據(jù)進行解析,采用預設的獎勵計算方法得到獎勵回報值,用于對強化學習算法參數(shù)的迭代更新。
4) 強化學習算法模塊:加載待訓練的強化學習算法,通過切換不同算法實現(xiàn)對多個強化學習算法的訓練學習,負責輸出決策方案到數(shù)據(jù)發(fā)送模塊以及算法的迭代更新等。
5) 數(shù)據(jù)發(fā)送模塊:將數(shù)據(jù)進行格式轉(zhuǎn)換,并發(fā)送到紅方/藍方子系統(tǒng)中。
本研究中設計的多無人機協(xié)同空戰(zhàn)任務規(guī)劃仿真系統(tǒng)中主要包括3個關鍵技術,具體介紹如下。
為了便于大量算法的統(tǒng)一管理以及新算法的添加,在紅方/藍方子系統(tǒng)中設計了一種具有多層邏輯架構的算法庫,如圖2所示。
圖2 算法庫的多層邏輯架構示意圖
多無人機協(xié)同空戰(zhàn)任務規(guī)劃仿真系統(tǒng)算法庫中的算法在邏輯架構上分為4層。其中,第1層為算法庫的入口;第2層為解決空戰(zhàn)過程中某個關鍵決策問題的算法;第3層為求解相應關鍵決策問題的不同種類的算法;第4層為某個類型算法下的多個具體算法。其中,第4層中相同類型的算法具有統(tǒng)一的輸入輸出接口,可直接進行相互替換,例如,在圖2中,LH算法、GA算法和PSO算法的輸入均為博弈雙矩陣,輸出為目標分配方案的編號。
為了對算法進行統(tǒng)一管理以及方便戰(zhàn)術決策、目標分配等模塊的調(diào)用,在對算法庫進行實現(xiàn)時,針對圖2中第3層的每類算法,設計了相應的算法原型,定義了該類算法的輸入和輸出規(guī)范。例如,基于優(yōu)化方法的目標分配算法原型、基于雙矩陣博弈的目標分配算法原型。第4層的算法則可以根據(jù)相應的算法原型進行實現(xiàn)和封裝。其中,在實現(xiàn)具體的算法時,除了算法的實現(xiàn)接口,還定義了算法類型、名稱、初始化等多個管理接口,以便算法庫管理。圖3給出了算法庫的實現(xiàn)架構示意圖。
圖3 算法庫的實現(xiàn)架構示意圖
在圖3中,將LH算法、GA算法和PSO算法添加到算法庫時,只需要根據(jù)基于雙矩陣博弈的目標分配算法原型封裝成相應的動態(tài)鏈接庫,再將其添加到指定文件夾即可。同時,若要添加新的算法類型,例如添加基于貝葉斯博弈的戰(zhàn)術決策算法,則直接定義該類型的算法原型,并封裝成動態(tài)鏈接庫,再將其添加到指定文件即可。并且,LH算法、GA算法和PSO算法的動態(tài)鏈接庫的具體實現(xiàn)過程中,可以采用 C/C++/Python/Matlab等多種編程語言進行,具有很好的兼容性。
上述算法庫的多層邏輯架構和實現(xiàn)架構可以減少算法與具體決策問題之間的耦合性,增強算法的復用性,避免仿真系統(tǒng)中算法的冗余,提高仿真系統(tǒng)的運行效率。同時,可以根據(jù)需要向算法庫中添加某類或某種算法,擴展仿真系統(tǒng)的功能。在該架構下,多無人機協(xié)同空戰(zhàn)任務規(guī)劃仿真系統(tǒng)的算法庫具備對算法的封裝、選擇、調(diào)用和添加等功能。
為了支持對基于強化學習的多無人機協(xié)同空戰(zhàn)任務規(guī)劃算法的訓練,在上述仿真系統(tǒng)體系架構的基礎上,本文提出了一種強化學習算法訓練技術。訓練時紅方/藍方子系統(tǒng)將無人機狀態(tài)信息以特定數(shù)據(jù)格式傳輸給強化學習算法訓練子系統(tǒng),在強化學習算法訓練子系統(tǒng)中進行解算將決策信息返回到紅方/藍方子系統(tǒng)中,進行仿真對抗。在仿真系統(tǒng)中經(jīng)過大量訓練后,可以使算法的性能穩(wěn)定提升。以訓練紅方的重決策算法為例,該強化學習算法訓練技術的框架如圖4所示。
圖4 強化學習算法訓練技術框架
在此框架下,訓練的基本步驟如下:
步驟1:在白方子系統(tǒng)的場景管理模塊中創(chuàng)建或者加載任務場景,在白方子系統(tǒng)的批處理模塊中設置仿真時長、仿真次數(shù)等參數(shù),然后發(fā)送給紅方子系統(tǒng)。
步驟2:根據(jù)當前對抗情況,紅方子系統(tǒng)中的VR-Forces仿真引擎將無人機的狀態(tài)信息以JSON格式發(fā)送到強化學習算法訓練子系統(tǒng)的數(shù)據(jù)接收模塊中。
步驟3:強化學習算法訓練子系統(tǒng)的數(shù)據(jù)接收模塊提取無人機狀態(tài)信息并發(fā)送到數(shù)據(jù)預處理模塊中;數(shù)據(jù)預處理模塊對無人機狀態(tài)信息進行數(shù)據(jù)篩選、數(shù)據(jù)歸一化、數(shù)據(jù)補齊等處理后發(fā)送到獎勵計算模塊和強化學習算法模塊中。
步驟4:強化學習算法訓練子系統(tǒng)的獎勵計算模塊將無人機狀態(tài)信息作為輸入,根據(jù)獎勵函數(shù)得到獎勵回報值發(fā)送到強化學習算法模塊中;強化學習算法模塊一方面將無人機狀態(tài)信息作為神經(jīng)網(wǎng)絡輸入得到重決策結果,另一方面根據(jù)獎勵回報值的大小對網(wǎng)絡參數(shù)進行迭代更新。
步驟5:強化學習算法訓練子系統(tǒng)的數(shù)據(jù)發(fā)送模塊將重決策結果轉(zhuǎn)換成JSON格式發(fā)送到紅方子系統(tǒng)的目標分配模塊或戰(zhàn)術決策模塊中,相應模塊調(diào)用算法庫中的算法得到?jīng)Q策方案。
步驟6:紅方子系統(tǒng)的VR-Forces仿真引擎根據(jù)決策方案進行仿真對抗,同時將實時的無人機狀態(tài)信息發(fā)送給白方子系統(tǒng),白方子系統(tǒng)的視景展示模塊進行仿真過程的實時展示。
步驟7:重復步驟2—步驟6,直至達到預設仿真次數(shù),白方子系統(tǒng)的仿真控制模塊控制整個仿真結束。
為了真實有效地模擬飛行員操控有人機,實現(xiàn)無人機對抗有人機的空戰(zhàn)模式,結合VR-Forces仿真引擎的特點,提出了一種人機交互技術,基本框架如圖5所示。
圖5 人機交互技術框架
在仿真過程中,人機交互模塊實時解析操作員通過油門桿和駕駛桿發(fā)送的速度控制信息、姿態(tài)控制信息以及火力控制信息,并發(fā)送到VR-Forces仿真引擎中實現(xiàn)對有人機的控制。同時,人機交互模塊還需要解析由VR-Forces仿真引擎發(fā)送的狀態(tài)信息,并分類同步展示在3個不同的屏幕中。下面從人機交互模塊接收的信息和發(fā)送的信息兩方面進行詳細說明:
1) 人機交互模塊接收的信息
人機交互模塊接收的信息具體包括狀態(tài)信息、速度控制信息、姿態(tài)控制信息和火力控制信息。
① 狀態(tài)信息:由自身狀態(tài)信息、友機狀態(tài)信息和敵機狀態(tài)信息3部分組成。自身狀態(tài)信息和友機狀態(tài)信息包括位置坐標、速度、角度、余彈和油量等基本信息;敵機狀態(tài)信息包括位置坐標、速度和角度等基本信息。
② 速度控制信息:通過速度控制信息可以調(diào)整有人機的飛行速度。在仿真過程中,人機交互模塊實時監(jiān)測油門桿的控制方向,當操作員調(diào)整油門桿方向時,人機交互模塊會接收到相應的速度控制信息。
③ 姿態(tài)控制信息:通過姿態(tài)控制信息可以調(diào)整有人機的飛行方向。在仿真過程中,人機交互模塊實時監(jiān)測駕駛桿的控制方向,當操作員調(diào)整駕駛桿方向時,人機交互模塊會接收到相應的姿態(tài)控制信息。
④ 火力控制信息:通過火力控制信息可以控制有人機對選定目標發(fā)射導彈。在仿真過程中,人機交互模塊實時監(jiān)測駕駛桿的控制按鍵,當操作員按下目標選擇按鍵或發(fā)射導彈按鍵時,人機交互模塊會接收到相應的火力控制信息。
2) 人機交互模塊發(fā)送的信息
人機交互模塊發(fā)送的信息包括決策信息、控制信息、待決策信息、第一視角信息和相對態(tài)勢信息。
① 決策信息:當人機交互模塊接收到火力控制信息后,會將該信息轉(zhuǎn)換為有人機需要執(zhí)行的決策信息,包括對目標的選擇以及發(fā)射導彈等,并將決策信息發(fā)送到VR-Forces仿真引擎中,實現(xiàn)對有人機的目標選擇以及發(fā)射導彈控制。
② 控制信息:當人機交互模塊接收到速度控制信息和姿態(tài)控制信息后,會將該信息轉(zhuǎn)換為有人機需要執(zhí)行的控制信息,包括對速度的控制和方向的控制等,并將控制信息發(fā)送到VR-Forces仿真引擎中,實現(xiàn)對有人機的飛行控制。
③ 待決策信息:待決策信息包括自身的剩余導彈信息和目標選擇信息。在仿真過程中,屏幕一中將同步顯示本機的剩余導彈數(shù)量;當敵機進入我方攻擊范圍時,敵機的編號將進入目標選擇信息欄中,此時操作員可以通過駕駛桿上的目標選擇按鍵選擇需要攻擊的敵機,并通過駕駛桿上的發(fā)射導彈按鍵向該敵機發(fā)射導彈。
④ 第一視角信息:在仿真過程中,人機交互模塊會將把本機狀態(tài)信息轉(zhuǎn)換為第一視角信息在屏幕二中同步顯示,以模擬有人機飛行員在真實空戰(zhàn)中所能看到的畫面。同時,當敵機進入我方探測范圍時,還會顯示敵機的相對方位信息。
⑤ 相對態(tài)勢信息:在仿真過程中,人機交互模塊會根據(jù)VR-Forces仿真引擎中的自身狀態(tài)信息、友機狀態(tài)信息和探測到的敵機信息,轉(zhuǎn)換得到相對態(tài)勢信息,并同步展示在屏幕三中。
圍繞上述提出的算法庫、強化學習算法訓練以及人機交互等關鍵技術,結合本文中設計的系統(tǒng)體系架構,開發(fā)實現(xiàn)了多無人機協(xié)同空戰(zhàn)任務規(guī)劃仿真系統(tǒng)。本仿真系統(tǒng)可以靈活支持無人機對抗無人機、無人機對抗有人機等多種空戰(zhàn)模式?,F(xiàn)以無人機對抗有人機的空戰(zhàn)模式為例,介紹本仿真系統(tǒng)。
圖6展示了本仿真系統(tǒng)的實物圖。圖中的右邊為多架無人機構成的紅方子系統(tǒng)和強化學習算法訓練子系統(tǒng),左邊為兩架有人機構成的藍方子系統(tǒng),中間為白方子系統(tǒng)。
圖6 多無人機協(xié)同空戰(zhàn)任務規(guī)劃仿真系統(tǒng)實驗環(huán)境
紅方子系統(tǒng)的軟件界面如圖7所示。其中,算法庫的算法參數(shù)配置界面如圖7(a)所示,其中包括戰(zhàn)術決策、目標分配和重決策3類算法,同時展示了具體算法的名稱、描述和參數(shù);算法庫的算法選擇如圖7(b)所示,其中顯示了紅方無人機的戰(zhàn)術決策算法、目標分配算法以及重決策算法的具體選擇情況。
圖7 紅方子系統(tǒng)的軟件界面
白方子系統(tǒng)的軟件界面如圖8所示。其中,包括場景管理、仿真控制和狀態(tài)查看等功能,同時還能實時展示了仿真對抗的二維界面。
圖8 白方子系統(tǒng)的軟件界面
藍方子系統(tǒng)的軟件界面分別展示在3塊顯示屏上,如圖9所示。其中,屏幕一用于展示待決策信息,包括有人機自身的剩余導彈數(shù)量以及當前可以攻擊的敵方目標信息,如圖9(a)所示;屏幕二用于展示操作員可以看到的第一視角信息,包括有人機座艙中的各種儀表信息以及探測范圍內(nèi)的敵方目標方位信息,如圖9(b)所示;屏幕三用于展示相對態(tài)勢信息,包括友機的狀態(tài)信息,探測到的敵機信息,如圖9(c)所示。
圖9 藍方子系統(tǒng)的軟件界面
藍方子系統(tǒng)主要通過油門桿和駕駛桿實現(xiàn)對有人機的控制,如圖10所示。
圖10 基于油門桿和駕駛桿的有人機控制
仿真過程中,操作員使用駕駛桿的前后方向①、左右方向②和按鍵③分別控制有人機的俯仰角、航向角和滾轉(zhuǎn)角,使用油門桿的前后方向④控制有人機的飛行速度;若對方飛機進入我方探測范圍內(nèi),屏幕一中的待決策信息列表將出現(xiàn)被探測到的敵機編號(如圖9(a)所示),操作員可使用駕駛桿上的按鍵⑤選擇需要攻擊的目標,目標確定后可使用按鍵⑥對目標發(fā)射導彈。
本文所研發(fā)的多無人機協(xié)同空戰(zhàn)任務規(guī)劃仿真系統(tǒng)能夠根據(jù)不同的實驗需求,通過自定義參數(shù)配置生成相應的空戰(zhàn)任務場景,并通過加載不同的多無人機協(xié)同空戰(zhàn)任務規(guī)劃算法對算法的性能進行測試,同時能夠?qū)趶娀瘜W習的多無人機協(xié)同空戰(zhàn)任務規(guī)劃算法進行訓練。接下來,通過2個應用實例進行進一步的說明。
為對多無人機協(xié)同空戰(zhàn)目標分配算法進行測試,本文中設置了3種仿真場景,每個仿真場景中均包含2架紅方無人機,2架藍方無人機,每架無人機具有相同的毀傷概率且搭載4枚空對空導彈。紅藍雙方的戰(zhàn)術決策算法和重決策算法均使用算法庫中的相應規(guī)則類算法,藍方的目標分配算法使用算法庫中的LH算法,紅方的目標分配算法先使用算法庫中的LH算法進行200次仿真,再使用算法庫中的GA算法進行200次仿真。具體的測試流程如下:
步驟1:分別啟動紅方子系統(tǒng)、藍方子系統(tǒng)和白方子系統(tǒng)。
步驟2:在白方子系統(tǒng)的批處理模塊中設置仿真時長為3 min,仿真次數(shù)為200次。
步驟3:在白方子系統(tǒng)中加載仿真場景。
步驟4:在紅方子系統(tǒng)中配置紅方使用的戰(zhàn)術決策算法、目標分配算法和重決策算法。
步驟5:在藍方子系統(tǒng)中配置藍方使用的戰(zhàn)術決策算法、目標分配算法和重決策算法。
步驟6:在白方子系統(tǒng)中開始仿真,仿真過程中的數(shù)據(jù)自動保存到數(shù)據(jù)庫中。
步驟7:仿真結束后,對數(shù)據(jù)庫中保存的仿真過程數(shù)據(jù)進行統(tǒng)計分析。
其中,保存仿真過程數(shù)據(jù)的數(shù)據(jù)庫界面如圖11所示。其中,可以查看每局對抗的各種數(shù)據(jù)文件,并可以根據(jù)數(shù)據(jù)篩選需求對數(shù)據(jù)進行篩選。
圖11 仿真結果的統(tǒng)計界面
基于仿真過程數(shù)據(jù),還可以進一步對比分析LH或GA算法的求解時間、求得解的收益值,以及每個仿真場景下紅方和藍方獲勝的次數(shù)、失敗的次數(shù)、平均的次數(shù)以及摧毀的目標數(shù)量和損耗的無人機數(shù)量等。例如,在每種場景下,紅方使用LH算法和GA算法進行目標分配取得的勝率如圖12所示。
圖12 不同場景下的獲勝率對比
在5.1節(jié)的仿真場景的基礎上,對基于強化學習的多無人機協(xié)同空戰(zhàn)重決策算法進行訓練。在每種仿真場景下,紅藍雙方的戰(zhàn)術決策算法和目標分配算法均使用算法庫中的相應規(guī)則類算法,藍方的重決策算法使用算法庫中的規(guī)則類算法,紅方的重決策算法使用Actor-Critic算法(一種強化學習算法)。分別在不同仿真場景下各進行400次仿真對抗,具體的訓練流程如下:
步驟1:依次開啟紅方子系統(tǒng)、藍方子系統(tǒng)、白方子系統(tǒng)和強化學習算法訓練子系統(tǒng)。
步驟2:在白方子系統(tǒng)的批處理模塊中設置仿真時長為 3 min、仿真次數(shù)為400次,在白方子系統(tǒng)的仿真控制模塊中設置仿真速度為1。
步驟3:在白方子系統(tǒng)中加載仿真場景。
步驟4:在紅方子系統(tǒng)中配置紅方使用的戰(zhàn)術決策算法、目標分配算法。
步驟5:在強化學習算法訓練子系統(tǒng)中加載Actor-Critic算法作為紅方的重決策算法,并配置算法學習率,本次實驗學習率取0.1、0.01、0.001、0.000 1和0.000 01。
步驟5:在藍方子系統(tǒng)中配置藍方使用的戰(zhàn)術決策算法、目標分配算法和重決策算法。
步驟6:在白方子系統(tǒng)中開始訓練,訓練過程中的數(shù)據(jù)自動保存到數(shù)據(jù)庫中。
步驟7:訓練結束后,對數(shù)據(jù)庫中保存的仿真過程數(shù)據(jù)進行統(tǒng)計分析。
訓練結束后,對保存在數(shù)據(jù)庫中的訓練過程數(shù)據(jù)進行統(tǒng)計分析,結果如圖13所示。
圖13 重決策算法的訓練結果
圖13(a)展示了重決策算法在不同學習率下的對抗結果,通過分析采取不同學習率對獲勝率、平局率和失敗率的影響,能夠為重決策算法確定合適的學習率;圖13(b)展示了紅方在3種仿真場景下的獲勝場數(shù)、失敗場數(shù)和平局場數(shù),通過分析重決策算法在不同仿真場景下的獲勝、失敗和平局場數(shù)變化,可以驗證重決策算法的有效性;圖13(c)展示了在3種仿真場景下,隨著訓練次數(shù)的增加,紅方獲勝率的變化情況,通過分析獲勝率的變化趨勢,可以驗證重決策算法的穩(wěn)定性、收斂性。當算法訓練完成后,符合預期效果的強化學習算法可以添加到算法庫中。
本文中基于VR-Forces仿真引擎,設計和實現(xiàn)了一種分布式的多無人機協(xié)同空戰(zhàn)任務規(guī)劃仿真系統(tǒng)。該系統(tǒng)由紅方/藍方子系統(tǒng)、白方子系統(tǒng)和強化學習算法訓練子系統(tǒng)構成,并集成了算法庫、強化學習訓練和人機交互等多個關鍵技術。該系統(tǒng)能夠支持無人機對抗無人機、無人機對抗有人機等多種空戰(zhàn)模式,支持基于強化學習的任務規(guī)劃算法的訓練,支持多語言多種類任務規(guī)劃算法的管理和測試,并能實時展示空戰(zhàn)對抗過程,仿真展示度高。在后續(xù)工作中,將進一步研發(fā)人機交互、算法輔助決策等模塊,實現(xiàn)有人機無人機協(xié)同對抗的空戰(zhàn)模式,以支持有人機無人機協(xié)同空戰(zhàn)任務規(guī)劃方法的測試和驗證。