本發明屬于無人機,具體涉及一種無人機群分布式動態協同方法及系統。
背景技術:
1、隨著無人機技術的快速發展,無人機在各個領域的應用日益廣泛,包括軍事偵察、災害監測、智慧城市管理等多個方面。在這些應用場景中,往往需要多架無人機協同工作,以完成復雜的任務。因此,如何實現無人機之間的有效協同,成為了當前研究的熱點和難點。
2、無人機協同面臨的挑戰如下:
3、環境復雜性:無人機在執行任務時,往往面臨復雜多變的環境,包括障礙物、天氣條件、通信狀態等。這些因素對無人機的飛行和協同產生了很大的挑戰。
4、任務多樣性:不同的任務對無人機的要求不同,包括任務的位置、類型、優先級和截止時間等。如何實現無人機在多種任務之間的有效切換和協同,是一個亟待解決的問題。
5、資源有限性:無人機的電池電量、任務隊列長度等資源是有限的。如何在資源有限的情況下,實現無人機之間的有效協同和資源分配,是另一個重要的挑戰。
6、目前,雖然有一些無人機協同的方法和技術被提出,但它們往往存在一些局限性。例如,一些方法只適用于特定的環境和任務,缺乏通用性和靈活性;一些方法在計算復雜度和實時性方面存在不足,難以滿足實際應用的需求。
7、本發明提出了一種基于馬爾科夫博弈模型的無人機群分布式動態協同方法,旨在通過引入強化學習和分布式控制技術,解決上述問題,提升無人機群的協同效率和任務完成質量。
技術實現思路
1、為了克服上述現有技術存在的缺點與不足,本發明第一目的是提供一種無人機群分布式動態協同方法;本發明第二目的是提供一種無人機群分布式動態協同系統。
2、本發明第一目的采用如下技術方案:
3、一種無人機群分布式動態協同方法,流程如下:
4、步驟一、建立無人機群分布式動態協同的馬爾科夫博弈模型,包括定義無人機狀態、環境狀態、任務狀態以及每架無人機的環境狀態;
5、無人機狀態包括無人機的位置、速度、電池電量、任務隊列長度和任務隊列頭部任務的等待時間;環境狀態包括環境中的障礙物位置、天氣條件和無人機之間的通信狀態;任務狀態包括任務的位置、類型、優先級和截止時間;每架無人機的環境狀態為結合任務與環境信息,形成每架無人機的綜合狀態矩陣,用于描述每架無人機在當前環境下的完整狀態。
6、步驟s11、定義無人機狀態:drone_state={position,velocity,battery_level,task_queue_length,task_queue_head_delay};
7、其中,drone_state表示無人機狀態;position表示無人機的位置;velocity表示無人機的速度;battery_level表示無人機的電池電量;task_queue_length表示無人機任務隊列的長度;task_queue_head_delay表示任務隊列頭部任務的等待時間;
8、步驟s12、定義環境狀態:env_state={obstacle_positions,weather_conditions,communication_status};
9、其中,env_state表示環境狀態;obstacle_positions表示環境中的障礙物位置;weather_conditions表示當前的天氣條件;communication_status表示無人機之間的通信狀態;
10、步驟s13、定義任務狀態:task_state={task_location,task_type,task_priority,task_deadline};其中,task_location表示任務的位置;task_type表示任務的類型;task_priority表示任務的優先級;task_deadline表示任務的截止時間;
11、步驟s14、定義每架無人機的環境狀態,包括任務與環境狀態矩陣mtask_and_env和無人機信息矩陣mdrone:
12、mtask_and_env=[task_location,task_type,task_priority,task_deadline,obs?tacle_positions,weather_conditions,communication_status];
13、mdrone=[position,velocity,battery_level,task_queue_length,task_queue_head_delay]。
14、步驟二、采集真實無人機任務數據,統計任務文件中最大任務所需資源量,進行無人機群環境初始化;根據任務文件,提取任務信息,構建樣本集,并在仿真環境中進行任務回放,構建無人機群模擬環境;
15、步驟三、通過動作策略神經網絡nnactor生成無人機的動作及其概率;
16、步驟四、通過值評估神經網絡nncritic評估當前狀態下采取設定動作的價值;
17、步驟五、構建動作策略和價值評估網絡的損失函數,用于參數更新。
18、優選地,步驟二具體如下:
19、步驟s21、采集真實的無人機任務文件,統計任務文件中最大任務所需資源量,進行無人機群環境初始化,無人機群環境由多架無人機構成,每架無人機的狀態由一個六元組{無人機位置,無人機速度,無人機電池電量,任務隊列長度,任務隊列頭部任務的等待時間,無人機id}表示;
20、其中,無人機位置包括經度、緯度和高度;無人機速度包括水平速度和垂直速度;無人機電池電量表示當前電池剩余電量;任務隊列長度表示無人機任務隊列中的任務數量;任務隊列頭部任務的等待時間表示任務隊列中第一個任務的等待時間;無人機id表示無人機的唯一標識符;
21、步驟s22、根據任務文件有序地提取每個任務信息,并根據閾值,進行數據清洗,保留存在資源競爭的任務,構建樣本集;隨機挑選樣本集中樣本放入任務隊列中回放,構建無人機群模擬環境。
22、優選地,步驟三具體如下:
23、s31、獲取當前無人機群模擬環境的集群狀態向量s;
24、s=[q,n];
25、其中,q表示當前任務隊列中的任務數量,n表示當前無人機群中的無人機數量;
26、s32、通過對于集群狀態向量s進行轉換,如何轉換得到每架無人機所對應的任務與環境狀態矩陣mtask_and_env和無人機信息矩陣mdrone;
27、s33、生成無人機優先度折扣因子;
28、利用每架無人機的隱狀態記錄無人機的歷史任務執行信息,將每架無人機的隱狀態和mtask_and_env輸入動作策略神經網絡nnactor,生成對應的無人機優先度折扣因子;
29、s34、生成任務優先級和動作;
30、根據mtask_and_env生成任務優先級,生成單個無人機的動作adrone與選擇當前動作adrone概率的log值log_p(adrone);具體如何生成優先級、動作以及概率
31、s35、生成聯合動作并進行資源分配;
32、將所有無人機的單個動作合并,生成一個聯合動作ajoint;根據每架無人機的任務優先級,調整資源分配,確保高優先級的任務能夠優先完成;將聯合動作ajoint應用于當前的無人機群環境中,更新每架無人機的狀態,并執行相應的任務;
33、并按照ajoint進行資源分配如何進行資源分配,使動作生效;
34、s36、根據公式計算各架無人機的獎勵值ri,計算公式如下:
35、ri=α·ωp,i+β·ωb,i;
36、其中,α和β為超參數;ωp為所有無人機的任務等待時間比的集合;ωp,i為無人機i的任務等待時間比;ωb為所有無人機的任務完成效率比的集合;ωb,i為無人機i的任務完成效率比。
37、優選地,步驟四具體如下:
38、s41、計算每架無人機的動作價值:將無人機信息矩陣mdrone輸入值評估神經網絡nncritic,計算每架無人機將會獲得當前動作的價值vdrone;s42、將相關數據存入mappo_buffer中,當當前樣本完成調度,則生成一條軌跡;其中,相關數據指的是與當前無人機執行的動作、狀態變化以及獎勵相關的所有信息;
39、令
40、ti={s1,s2,...,sn,a1,a2,...an,log_p1,log_p2,...,log_pn,v1,v2,...vn};
41、并存入mappo_buffer中;
42、其中,sn表示狀態向量;an表示動作向量;log_pn表示對數概率;vn表示價值向量;n為無人機數量;當當前樣本完成調度,則生成一條軌跡{t1,t2,...,tt}。
43、優選地,步驟五還包括網絡參數更新,具體如下:
44、當mappo_buffer中軌跡數量到達閾值后,進行網絡參數的更新:
45、分別將nnactor和nncritic的擬合動作策略函數與值評估函數表示為πθ和vω,其中,θ和ω分別為動作策略網絡nnactor和值評估網絡nncritic的參數;
46、利用gae公式進行優勢函數的估計,gae為多個價值估計的加權平均,如公式所示:
47、
48、其中,at為優勢函數,定義為當前時刻t的回報減去基線值;t表示當前時刻;t+1代表下一時刻;l表示時間間隔;γ是折扣因子;λ表示未來每一步的價值估計所占比重,v(st)表示對于t時刻狀態的價值評估;t表示軌跡長度;進行reward-to-go的計算,如公式所示,用于值評估神經網絡nncritic的參數更新:
49、
50、其中,gt為返回值;即從當前時刻開始到軌跡結束的所有獎勵之和;t表示軌跡長度;定義動作策略網絡與值評估網絡的損失函數lπ和lv,如公式所示:
51、
52、其中,lπ(θ)為動作策略網絡的損失函數;lv(ω)為值評估網絡的損失函數;為期望運算符;
53、通過動作策略網絡與值評估網絡的損失函數,利用梯度反向傳播對動作策略網絡與值評估網絡參數進行更新,參數變為θ和ω。
54、優選地,步驟五還包括策略相似度檢查,具體如下:
55、當完成了一次網絡參數更新之后,通過計算策略相似度,如公式所示,即kl散度來判定是否需要重新進行軌跡生成:
56、
57、其中,πθold為舊版本的參數;πθ(a|s)表示在給定狀態s時,按照參數θ所決定的策略π選擇動作a的概率;
58、當kl散度小于預設的閾值,通過引入概率的放縮進行訓練,即動作策略神經網絡的損失函數變為如公式所示:
59、
60、其中,lπ(θ)為損失函數;d是經驗回放緩沖區中的樣本分布;∈為小數常量,是一個很小的正數,用于防止除零錯誤;
61、s53、重復步驟三至步驟五,直至達到預定的epoch值。
62、本發明第二目的采用如下技術方案:
63、一種無人機群分布式動態協同系統,用于實現一種無人機群分布式動態協同方法,系統包括模型建立模塊、環境初始化模塊、動作策略生成模塊、值評估模塊和網絡參數更新模塊;
64、模型建立模塊:用于定義無人機狀態、環境狀態、任務狀態;生成每架無人機的綜合狀態矩陣;
65、環境初始化模塊:用于采集并統計任務數據,初始化無人機群環境,構建任務樣本集及模擬環境;
66、動作策略生成模塊:用于獲取集群狀態向量,轉換得到無人機和任務環境狀態矩陣,生成無人機優先度折扣因子,生成任務優先級和動作,合并動作生成聯合動作,計算無人機獎勵值;
67、值評估模塊:用于計算無人機動作價值,存儲數據并生成軌跡;
68、網絡參數更新模塊:用于更新動作策略和價值評估網絡參數,利用gae公式估計優勢函數,計算reward-to-go,定義并計算損失函數,進行策略相似度檢查,調整訓練策略。
69、綜上所述,由于采用了上述技術方案,本發明的有益效果是:
70、1、本發明通過定義無人機狀態、環境狀態和任務狀態,模型能夠全面考慮無人機在執行任務時的各種因素,從而制定出更合理的協同策略;無人機的動作及其概率生成,使得無人機能夠根據當前狀態和環境做出最優或接近最優的決策,提高整體作業效率。
71、2、本發明通過評估當前狀態下采取設定動作的價值,無人機能夠選擇最有利于任務執行的行動,從而縮短任務完成時間;仿真環境中的任務回放和模擬,有助于提前發現潛在的問題和瓶頸,優化任務分配和調度。
72、3、本發明通過馬爾科夫博弈模型能夠處理不確定性和動態變化的環境,使得無人機群在面對突發情況或環境變化時能夠靈活應對;通過構建動作策略和價值評估網絡的損失函數并進行參數更新,模型能夠不斷學習和優化,提高對未來情況的預測和應對能力。