廖登宇,張 震,趙德京,崔浩巖
(1.青島大學自動化學院,山東青島 266071;2.山東省工業控制重點實驗室,山東青島 266071)
移動機器人在復雜環境中進行路徑規劃是完成協作搬運[1-2]的關鍵。傳統的路徑規劃算法如A*算法[3]、遺傳算法[4]、蟻群算法[5]等在多機器人場景下無法保證得到最優路徑。強化學習[6-8]是一種馬爾可夫決策過程(Markov Decision Process,MDP)優化方法。智能體僅通過與環境的交互試錯獲得最優策略。該文將參與協作搬運任務的機器人看作智能體,為每個機器人設計了回報函數,由此建立了隨機博弈[9-10];并提出一種新的多智能體深度強化學習(Multi-Agent Deep Reinforcement Learning,MADRL)[11-12]算法進行求解,得到其搬運時間最短的路徑。
將每個參與搬運的機器人看為是一個智能體,機器人協作搬運任務示意圖如圖1 所示。

圖1 機器人協作搬運任務示意圖
其中,數字標號①、②表示兩個機器人,實心矩形代表目標,帶有斜杠的陰影方塊代表障礙物,Home 是一個3×1 的區域。該任務的目的是規劃兩臺機器人的行動路線,使其以最短的搬運時間準確抓取貨物后將其運輸到Home 區域。
機器人前往下一網格作為動作,在該任務中每個機器人有左、右、上、下和靜止五個動作及靜止、抓取左邊、抓取右邊三個抓取狀態。機器人協作搬運任務的移動規則定義如下:兩個機器人必須同時移動。若其中一個發生碰撞,則另一個將靜止不動;只有兩個機器人同時一左一右抓住目標,才能朝著相同的方向一起移動;在白色區域,如果兩個機器人朝同一方向移動且沒有發生碰撞,目標成功移動的概率為100%。在3×4 灰色區域內,其狀態轉移為非確定性的狀態轉移,機器人有50%的概率成功移動。
回報函數的定義如下:如果一個機器人抓住目標,它將獲得+1 的立即回報;如果目標到達Home 區域,每個機器人將獲得+100 的立即回報;如果目標在灰色陰影區域移動,每個智能體將獲得0 的立即回報,如果目標未在灰色陰影區域移動,每個智能體將獲得-4 的立即回報;在其他情況下,每個智能體都會獲得-1 的立即回報。
該文基于QTRAN[13]算法,提出一種合作型MADRL算法QTRAN Plus,對聯合動作Q 值函數進行值分解,使用混合網絡和智能體Q 值函數Qi(si,ai)逼近聯合動作Q 值函數,其計算過程如圖2 所示。

圖2 Q′jt(s,a)值分解示意圖
其中,圖2(a)展示了混合網絡的內部結構,圖2(b)展示了帶有混合網絡的聯合動作Q 值網絡的整體架構是圖2(b)中用混合網絡和智能體Q 值網絡逼近得到的聯合動作的Q 值函數。為了用逼近Qjt(s,a),因此在使用Lopt和Lnopt學習時,通過固定的Qjt(s,a)來穩定學習。用來表示固定的Qjt(s,a),即使用損失函數更新參數時,不更新帶有“”標記的網絡。和QTRAN 算法中用所有智能體Q 值函數簡單加和逼近聯合動作Q 值函數相比,采用混合網絡提高了逼近能力,因而更有可能提高算法的優化能力。
在集中訓練階段,有兩個主要目標需要訓練。一個是聯合動作Q 值函數Qjt(s,a),另一個是過渡后的聯合動作Q 值函數。QTRAN Plus 中損失函數設計如下:
其中,Ltd用于訓練聯合動作Q 值網絡Qjt(s,a),Lopt和Lnopt用于訓練混合網絡和智能體Q 值網絡,這三個損失函數是QTRAN 算法中原有的,為了提高算法收斂速度,該文新增了損失函數Lmix,Lmix、Lopt和Lnopt共同用于訓練混合網絡和智能體Q 值網絡,λopt、λnopt和λmix分別代表損失函數Lopt、Lnopt和Lmix的權重。下面具體介紹式(1)右側的四個損失函數。
Ltd表達式如下所示:
其中,θ-代表目標網絡參數,r(s,a)代表在狀態s下選擇聯合動作a時獲得的回報代表s′下的最優聯合動作。
為滿足IGM,定義如下條件:
Lopt用于確保得到的聯合動作是否滿足式(5),Lnopt的目的是檢查在每一步中樣本選擇的動作是否滿足式(6)。其定義如下:
其中,β表示混合網絡和智能體Q值網絡中所有的參數。如在Lopt(;β)中,只對β進行更新而不更新θ。
為了加快收斂速度,該文所新增的損失函數定義如下:
其中,β-表示目標混合網絡的參數。λopt、λnopt和λmix代表三個損失函數的權重,為了更好地訓練參數,將權重設置為λopt=λnopt=λmix=1.0。
QTRAN Plus 算法架構圖如圖3 所示。

圖3 QTRAN Plus算法架構圖
圖3 展示了智能體Q 值函數、聯合動作Q 值函數以及式(1)中損失函數的計算過程。為了保證訓練穩定,一方面,計算損失函數Ltd和Lmix時使用了目標網絡。每隔時間周期T,將當前網絡的參數值拷貝到目標網絡的參數;另一方面,計算損失函數Lopt和Lnopt時使用了當前網絡Qjt(;β)作為目標值,即圖3中含有“”符號的網絡代表對其進行固定,不需要對其進行梯度下降更新。此外,圖3 中計算和使用的網絡是相同的,計算Qjt(s′,aˉ′;θ-)和Qjt(s,a;θ)使用的網絡是相同的,只是由于輸入值的不同,因此得到不同的輸出值。為了提高樣本的使用率和訓練的平穩性,該算法使用回放緩沖區(Replay Buffer)[14]對樣本進行收集采樣,該方法針對交互樣本使用效率過低的問題,將采集到的樣本放到一個類似于緩沖區的地方。每個樣本的格式為,隨著智能體選擇的策略不斷更新,回放緩沖區里面包含選擇不同的策略下收集到的數據,并且回放緩沖區只有在存滿時才會把舊的數據丟掉。更新參數時,每次從回放緩沖區隨機選擇一個batch 的樣本進行批處理隨機梯度下降法對網絡參數進行更新。以聯合動作Q 值網絡的參數θ′為例,其更新公式如下:
其中,α表示學習率表示第i個樣本按照式(2)和式(3)計算得到的損失,b表示一個batch包含的樣本數。
通過與VDN[15]、QMIX[16]、QTRAN[13]算法對比,在機器人協作搬運任務中驗證所提算法的有效性,特增加QTRAN Plus w/oLmix以作為消融實驗。其中通過消融實驗來研究混合網絡和新增加的損失函數在QTRAN Plus 中的必要性。仿真實驗共進行50 回合取平均結果,每回合實驗包含L個學習回合和5 000個評價回合。在每一回合的評價階段中,每個機器人都使用其所學的固定策略。完成任務的最小期望步長為12,最大期望累積回報為182。如果任務在12個步長內完成,則判斷其學習成功。QTRAN Plus 算法中損失函數的權重設置為λopt=λnopt=λmix=1.0 。QMIX、VDN 和QTRAN 算法的參數設置與QTRAN Plus 相同。
機器人協作搬運任務中各算法及消融實驗的成功率、平均累積回報及標準差和平均步長及標準差數據如表1-3 所示。由仿真數據可知,只有QTRAN Plus 的成功率最終達到100%。QMIX 的學習速度雖然快,但因為缺乏聯合動作Q 值函數的指導,有時會落入局部最優甚至會得到糟糕的策略。而QTRAN Plus 為了算法穩定性,犧牲了一部分學習速度來訓練聯合動作Q 值網絡。因此,盡管在學習回合數達到30 000 時,QTRAN Plus 的成功率不如QMIX,但在平均累計回報和平均步長方面已經優于QMIX 并且呈現穩定趨勢。QTRAN 的學習速度較慢,因此成功率僅為32%。從消融實驗的仿真數據來看,QTRAN Plus w/oLmix的優化能力優于QTRAN,這說明用混合網絡代替QTRAN 中的加和操作能的確能夠提高優化能力。其次,與QTRAN Plus相比,QTRAN Plus w/oLmix的收斂速度低,且最終學習效果不如前者,這說明新增加的Lmix對提高收斂速度和學習效果都有重要的作用。

表1 成功率

表2 平均累積回報及標準差

表3 平均步長及標準差
圖4 所示為經過50 000 回合學習后,QTRAN Plus 算法得到的聯合策略。箭頭表示機器人執行的動作。該任務將在12 個步長中完成,這是該任務的最小期望步長。

圖4 QTRAN Plus在協作搬運任務中獲得的最優聯合策略
該文以機器人協作搬運任務這一實際問題為研究背景,提出了一種基于多智能體深度強化學習的算法QTRAN Plus。仿真實驗表明,通過把機器人協作搬運任務建模成隨機博弈,并使用多智能體深度強化學習算法求解,能夠求解得到搬運時間最短的路徑。同時,對比實驗和消融實驗說明,QTRAN Plus 算法使用混合網絡代替Q 值網絡的加和,以及并使用新的損失函數確實能夠提升算法的穩定性和最優性。下一步將會在更為復雜的場景中設計相關的多智能體深度強化學習算法并進行驗證。