這個是我對于我的大創項目的構思,隨著時間逐漸更新
項目概要
我們的項目平臺來自挑戰杯揭綁掛帥的無人機對抗項目,但是在由于時間原因,并未考慮強化學習,所以現在通過大創項目來彌補遺憾
我們項目分為三部分,分為虛擬機,態勢系統,和運行程序端(使用主機)
虛擬機內包含各種無人機信息,并封裝為接口供windows端控制
態勢系統主要是用來顯示戰場的情況,使得態勢可視化
運行程序端編寫程序進行無人機控制
啟動順序為
虛擬機-》態勢系統-》運行程序端
項目學習基礎
強化學習:
?????? 學習馬爾可夫決策決策過程(MDP)
?????? 學習強化學習主要算法:
????????????? 值迭代法,策略梯度法 重點學習PPO和DDPG
如果對于強化學習公式的了解較少的可以觀看b站上的課程
【強化學習的數學原理】課程:從零開始到透徹理解(完結)_嗶哩嗶哩_bilibili
由于這里我們目前所使用的公式原因,先學習
了解仿真平臺
?????? 對于各種API的研究(前期工作)
????????理解無人機的各種參數
對于linux系統的了解(前期工作)
????????學習一些基礎操作,并對于其提供的虛擬機實現了解
對于強化學習接口搭建(完成Gym接口)封裝Linux接口作為訓練環境
首先利用PPO/DDPG訓練單無人機基礎移動(邊界避障,上下限制)
進行偵察訓練,導彈躲避訓練
然后再加入對抗系統,使得無人機與敵機進行交互
首先是藍方設計固定策略進行訓練
然后紅藍方都進行強化學習訓練
目前較為適合的最終算法(改進的MADDPG)
基礎知識
Linux
一些基礎linux命令總結為linux命令
如下
linux命令-CSDN博客
然后需要查看shell腳本
這里推薦黑馬程序員的課程
02.shell入門(1)_嗶哩嗶哩_bilibili
強化學習
然后是強化學習的基礎知識
馬爾可夫決策
基本元素
-
狀態集(State Space)
記為 S,表示系統可能處于的所有狀態的集合。例如,在一個迷宮環境中,每個格子可以看作一個狀態;在資源分配問題中,狀態可以是當前資源的使用量、剩余量等的組合。 -
動作集(Action Space)
記為 A,表示在每個狀態下可執行的所有動作。例如,在迷宮中可向上、下、左、右移動;在資源分配問題中可以為“給某個任務分配多少資源”等不同策略選項。 -
狀態轉移概率(Transition Probability)
記為 P(s′∣s,a),表示當前處于狀態 s,執行動作 a?之后,轉移到下一狀態 s′?的概率。這也是“馬爾可夫”性質的來源:轉移只與當前狀態和當前動作相關,而與之前的歷史狀態無關。 -
獎勵函數(Reward Function)
記為 R(s,a)或 R(s,a,s′),表示在狀態 s?執行動作 a并轉移到狀態 s′時得到的即時回報。這個回報值可能是正的(獎勵)或負的(懲罰)。 -
折扣因子(Discount Factor)
記為 γ,取值范圍通常在 [0,1] 之間。它用于平衡短期和長期收益的重要性:當 γ越接近 1 時,更注重長期回報;當 γ越小,越關注即時回報。
決策過程
-
觀察狀態
系統(或智能體)觀察當前狀態 s。 -
選擇動作
根據一定的策略(policy)π\piπ,在狀態 sss 下選擇一個動作 aaa。策略 π\piπ 可以理解為一個函數或規則,用于指定在不同狀態下執行哪一個動作。 -
環境反饋
- 狀態轉移:在環境中執行動作 aaa 后,系統會隨機地轉移到下一個狀態 s′s's′(由轉移概率 P(s′∣s,a)P(s' \mid s,a)P(s′∣s,a) 決定)。
- 得到獎勵:與此同時,系統給予執行該動作的即時回報 R(s,a)R(s,a)R(s,a) 或 R(s,a,s′)R(s, a, s')R(s,a,s′)。
-
更新決策
基于新的狀態 s′s's′ 和獲得的獎勵,智能體可以對其策略 π\piπ 進行更新或繼續保持不變,具體取決于使用的算法(例如價值迭代、策略迭代、Q 學習、深度強化學習等)。 -
進入下一輪決策
新的狀態 s′s's′ 成為當前狀態,系統重復上述過程,直到達到終止條件(如達到目標狀態、達到最大交互步數、收斂到穩定策略等)
PPO
DDPG?
note:無人機飛行是連續的動作,使用?DDPG
聚焦連續動作空間,使用確定性策略和 Critic-Q 網絡來估計動作價值,具備較高的數據利用效率,但也對訓練穩定性和超參數選擇有更高要求。
MADDPG
多無人機對戰是多智能體和DDPG的結合
- 集中式 Critic:在訓練過程中,每個智能體的 Critic 都可以訪問 全局信息,包括所有智能體的狀態和動作。這使得 Critic 在更新時對環境動態和其他智能體決策有更全面的認識,緩解了環境非平穩問題。
- 分散式 Actor:在執行階段,每個智能體只基于自身的局部觀測來進行決策,保持靈活性與可擴展性。
初步研究
動作設置:
? ? ? ? 我們使用機動號操作無人機進行對戰,一共執行五個狀態,平飛,俯沖,平飛加減速,爬升,轉彎
獎勵函數設置
?
初步設計為分為多個階段,進行分開訓練,分為巡航,進攻,躲避,撤退四個策略,通過條件進行狀態轉移
開始設計初步的獎勵和懲罰函數
巡航:
? ? ? ? 獎勵項:偵察到敵方無人機,偵察到敵方無人機時的高度差
? ? ? ? 懲罰項:碰撞到邊界
進攻:
? ? ? ? 獎勵項:導彈命中敵方無人機
? ? ? ? 懲罰項:敵方無人機脫離我方鎖定
躲避:
? ? ? ? 獎勵:躲避敵方導彈
撤退:
? ? ? ? 獎勵:??
? ? ? ? 懲罰:被敵方無人機偵測