張永超, 于智偉, 丁麗林
(山東科技大學 機械電子工程學院,山東 青島 266590)
煤矸石分揀是煤炭粗選的首要環節,也是提高煤炭質量以及礦井效益的重要方法[1]。傳統煤矸石分揀如人工分揀、濕選和干選等分揀方式正面臨工傷風險率高、環境污染嚴重及智能化程度低的困境[2-3]。而機械臂分揀不僅能有效降低工傷風險率,同時還具有效率高、綠色分揀的優勢。《關于加快煤礦智能化發展的指導意見》也明確提出對具備條件的煤礦要加快智能化改造,推進危險崗位的機器人作業,到2035年各類煤礦基本實現智能化,建成智能感知、智能決策、自動執行的煤礦智能化體系。煤矸石分揀朝著智能機器人化方向發展符合現代工業發展趨勢。
目前,用于機器人分揀機械臂的控制算法主要有抓取函數法[4]、基于費拉里法的動態目標抓取算法[5]、金字塔形尋優算法[6]、比例導引法[7]等。這些控制算法中除抓取函數法僅適用靜態目標外,其他控制算法均可在已獲取目標位置的前提下,實現快速接近目標的目的。然而將以上控制算法應用于煤矸石分揀機械臂時發現,煤矸石分揀機械臂的工作效率嚴重受限于控制算法中機械臂運動學或動力學等環境模型的設計精度,若精度低則會使煤矸石分揀機械臂末端執行器不能良好接近目標,造成較高的漏選率[8]。王鵬等[9]設計了一種基于機器視覺技術的多機械臂煤矸石分揀機器人系統,該系統可高效分揀50~260 mm粒度的煤矸石,并且能良好適應不同帶速,但其機械臂控制算法仍依賴模型的精確性。因此,研究一種可使煤矸石分選機械臂穩定高效運行的無模型智能控制算法對實現煤矸石分選作業無人化、智能化具有重要意義。
強化學習作為一種重要的機器學習方法,因其控制過程不依賴于精確環境模型的特點,在機器人智能控制領域具有重要地位。它強調在與環境的交互中獲取反映真實目標達成度的反饋信號,強調模型的試錯學習和序列決策行為的動態和長期效應。深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法是強化學習中常用來處理具有連續性動作空間任務的一種優秀控制算法[10],但傳統DDPG算法的獎勵函數僅是基于歐幾里得距離設計的,缺乏動作懲罰項等約束項,訓練過程中容易使機械臂學習到輸出較大關節角控制量的策略。若獎勵函數設計不合理,還會出現稀疏獎勵問題,使機械臂學不到期望的策略[11]。
針對以上問題,本文提出了一種基于強化學習的改進DDPG算法,并用于煤矸石分揀機械臂的控制。通過設計獎勵函數使機械臂能更快學習到平穩接近目標的策略。通過改進Actor和Critic神經網絡結構以及使用批標準化和Dropout優化方法,使算法具有更穩健處理機械臂關節角等低維輸入觀測值的能力[12]。仿真實驗結果表明,改進的DDPG算法與傳統控制算法相比具有無模型通用性強及在與環境交互中可自適應學習抓取姿態的優勢,并且學習能力優于傳統DDPG算法,其在大型連續動作空間具有巨大的潛在應用價值。
DDPG算法屬于Actor-Critic算法,它在確定性策略梯度(Deterministic Policy Gradient,DPG)算法[13]的基礎上融入了深度神經網絡[14]。DDPG算法的參數更新思想借鑒了深度Q網絡(Deep Q Network,DQN)算法中的雙網絡延時更新和經驗回放機制來切斷數據相關性,訓練過程中使用批量標準化[15]來提高學習效率。
DDPG算法中的Actor策略網絡可在連續動作空間進行探索以及做出動作決策,Critic價值網絡則負責評判決策優劣,以此指引Actor策略網絡參數更新。兩者均包含2個具有相同結構的神經網絡,即目標網絡和估計網絡。Actor的估計網絡是根據Critic的估計網絡的指引實時更新,Critic的估計網絡是根據自身目標網絡的指引實時更新,因此,估計網絡的參數是最新參數,而目標網絡參數則是根據估計網絡參數使用滑動平均方式來延遲更新的,Critic的估計網絡參數的更新方式為最小化均方誤差L:
(1)
式中:N為從經驗池中取出的數據總個數;yi為i時刻目標Q值的更好估計;Q(si,ai|θQ)為估計Q值;si為i時刻的環境狀態;ai為i時刻的輸入動作;θQ為Critic網絡中估計網絡的參數,Q代表Critic網絡中的估計網絡;ri為i時刻的即時獎勵;γ為折扣率;Q′(si+1,μ′(si+1|θμ′)|θQ′)為目標Q值;μ′(si+1|θμ′)為確定性策略,μ′為Actor網絡中的目標網絡,θμ′為Actor網絡中目標網絡的參數;θQ′為Critic網絡中目標網絡的參數,Q′為Critic網絡中的目標網絡。
這種利用估計網絡和目標網絡進行參數更新的雙網絡機制切斷了數據相關性,有效提高了算法收斂性。類似于監督學習標簽的yi為Critic估計網絡參數的更新指明了方向,使參數更新更穩定。
Actor策略網絡基于策略梯度更新網絡參數:
θμJ(θμ)≈

(2)

圖1 DDPG算法結構
改進DDPG算法應用對象為六自由度煤矸石分揀機械臂,其動作空間龐大且應用環境復雜,為使神經網絡更容易學習其輸入特征數據的分布,同時也為緩解訓練過程中神經網絡的過擬合問題,Actor網絡使用4層計算層并引入批量標準化方法和Dropout方法,以使模型訓練更穩健,Actor網絡的雙網絡均采用圖2所示的神經網絡結構。

圖2 Actor神經網絡結構
Actor框架中的估計網絡輸入層接收環境實時狀態si,目標網絡輸入層接收智能體與環境交互后的下一狀態si+1。批量標準化(Batch Normalization,BN)層通過減小數據在神經網絡層傳遞過程中數據分布的改變,使神經網絡參數更新更快且更易學習到知識,又因其是在小批量樣本上計算均值和方差,難免引入小噪聲,這也同時提高了神經網絡的泛化能力。隱藏層中層1和層2中的黃色神經元表示該層使用了Dropout方法,Dropout方法通過使部分神經元隨機失活以減小神經元之間的依賴性,促使神經網絡學習更穩健的特征,提高了網絡的魯棒性。
Critic網絡的估計網絡和目標網絡采用如圖3所示的3層全連接神經網絡來擬合Q(si,ai|θQ)和Q′(si+1,μ′(si+1|θμ′)|θQ′),并使用BN層和Dropout方法緩解神經網絡過擬合,從而使Critic網絡可更好評判Actor網絡輸出動作的優劣。

圖3 Critic神經網絡結構
為使煤矸石分揀機械臂可自適應學習到接近目標的方法,同時解決傳統機械臂強化學習控制方法輸出動作過大以及稀疏獎勵容易被淹沒的問題,本文在傳統DDPG算法的基礎上設計了可持續輸出收益的獎勵函數:

(3)

終止狀態判定項通過給可輸出連續跟蹤目標動作的智能體一個較大的獎勵值來誘導機械臂學習到跟蹤目標的能力,減小目標與機械臂末端執行器的沖擊。
改進DDPG算法依據馬爾科夫決策過程[16]控制機械臂在與環境交互中學習知識,任務是找到能最大化智能體期望回報的最優策略[17],即最大化估計Q值。在煤矸石分揀機械臂控制任務中,強化學習中的智能體為具有決策能力的煤矸石分揀機械臂。估計Q值的更新依據自身梯度以及其與目標Q值q的均方誤差來指引,其中q為
q=ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′)
(4)
機械臂根據相應傳感器返回的煤矸石位置以及機械臂狀態進行決策,輸出機械臂預測控制量,并根據機械臂執行動作之后的環境狀態如末端執行器與煤矸石的距離、機械臂的位置、煤矸石的位置等進行下一步決策。通過不斷試錯學習,使網絡參數向可輸出機械臂探索過程中所遇最大q值方向更新,直到機械臂可以根據環境狀態準確輸出接近煤矸石的策略或幕獎勵波動趨于穩定時即可提前終止訓練。煤矸石分揀機械臂控制流程如圖4所示。首先初始化改進DDPG算法權重,然后加載訓練權重,最后根據煤矸石位置及關節角狀態輸出相應的關節角來控制機械臂運動,以使末端執行器接近煤矸石。煤矸石位置以及機械臂關節角狀態由相應檢測模塊和傳感器測得。

圖4 機械臂控制流程
本文采用CoppeliaSim搭建虛擬環境模型,并在環境模型中創建UR5機械臂、RG2執行器、輸送帶、煤和煤矸石,以此模擬實際煤矸石分揀環境,仿真平臺如圖5所示。

圖5 仿真平臺
使用Python在tensorflow2.2.0上編寫改進DDPG算法框架,并調用CoppeliaSim創建的虛擬環境來訓練算法。算法中Actor的雙網絡和Critic的雙網絡神經元配置見表1,其神經網絡輸入狀態si為6個關節角度、執行器指定點的絕對坐標、第5個關節的絕對坐標、末端執行器指定點與煤矸石中心的距離。獎勵函數參數c1和c2經測試設定為0.1和0.2,使用30倍的高斯分布噪聲,設定算法循環幕數為5 000,每幕迭代步數為300,若末端執行器中設定的特定點與煤矸石中心距離為0時,超參數b被賦值為10,若下一步距離仍為0,則b繼續累加10,當其累加了20步時,即跟蹤了20步,則提前結束當前幕。

表1 Actor和Critic神經網絡中各層神經元數量
為測試改進DDPG算法的性能,將其與僅使用歐幾里得距離作為獎勵函數的傳統DDPG算法在相同環境下進行訓練對比,經5 000幕迭代后,改進DDPG算法每幕獎勵結果如圖6所示,傳統DDPG算法每幕獎勵結果如圖7所示。

圖6 改進DDPG算法每幕獎勵
強化學習不同于傳統監督學習,其訓練樣本沒有確定標簽,也就沒有真正意義上的損失函數,因此,當幕獎勵趨于穩定時,即可認為機械臂在當前環境中學習到了基于所用算法的最優策略。由圖6和圖7可看出,改進DDPG算法和傳統DDPG算法指引下的機械臂在環境中經過隨機探索后都學習到了一種策略,改進DDPG算法訓練穩定后的每幕獎勵接近機械臂探索過程中的最大值,而傳統DDPG算法訓練穩定后的每幕獎勵與機械臂探索過程中遇到的最大獎勵相差較大,這表示所設計的獎勵函數比傳統獎勵函數更具有誘導機械臂學習到最優策略的能力。

圖7 傳統DDPG算法每幕獎勵
為了進一步測試2種算法訓練后的性能,將訓練后的改進DDPG算法和傳統DDPG算法進行泛化能力對比驗證,測試過程為在虛擬環境中繼續添加紅色、黃色、綠色物塊,如圖8所示,圖中灰色物塊為2種算法在學習過程中所用的訓練目標,使用這4種顏色的物塊代替實際分揀環境中的煤矸石,將這4種煤矸石分別設定為測試目標,并使用2種算法分別對其進行10次接近測試,結果見表2。

圖8 CoppeliaSim虛擬環境

表2 測試結果
由表2可看出,改進DDPG算法具有良好的泛化能力,即接近訓練過程中未曾出現過目標的能力,而傳統DDPG算法泛化能力較差,這也進一步驗證了改進DDPG算法控制下的機械臂所學策略質量較高。在接近測試過程中,傳統DDPG算法控制下的煤矸石分揀機械臂的末端執行器多數以一種垂直于虛擬環境中地面的非常規姿態位于物塊之上,這也證明了傳統DDPG算法控制下的機械臂并未學習到良好的策略。在黃色物塊接近測試中,傳統DDPG算法控制下的煤矸石分揀機械臂末端執行器特定位置的運動軌跡如圖9所示,改進DDPG算法控制下的末端執行器特定位置運動軌跡如圖10所示。從圖9和圖10可看出,改進DDPG算法與傳統DDPG算法相比,其控制策略可以更好地使末端執行器接近目標。

圖9 傳統DDPG算法控制結果

圖10 改進DDPG算法控制結果
黃色物塊接近測試中,2種算法輸出的一次關節角控制量對比如圖11所示。從圖11可看出,改進DDPG算法因受獎勵函數輸出動作懲罰項的影響,其關節角輸出控制量小于傳統DDPG算法的輸出,降低了因大幅度更新關節角對機械臂性能造成的影響。

圖11 2種算法輸出的一次關節角控制量對比
綜上可知,改進DDPG算法和傳統DDPG算法控制下的煤矸石分揀機械臂通過與環境交互均可使機械臂學習到一種控制策略,但測試結果表明,傳統DDPG算法所學策略性能較差,不能良好接近目標,改進DDPG算法所學策略更接近最優。
(1)對傳統DDPG算法中的神經網絡結構和獎勵函數進行了改進,提出了適合處理六自由度煤矸石分揀機械臂的改進DDPG算法。改進DDPG算法經過訓練后,Actor網絡即可根據環境狀態映射成具有最大估計Q值的關節狀態控制量,最終經相應運動控制器控制煤矸石分揀機械臂接近煤矸石,實現煤矸石分揀。
(2)實驗結果表明,改進DDPG算法相較于傳統DDPG算法可更快收斂于探索過程中所遇最大獎勵值。改進DDPG算法可控制機械臂小幅度接近煤矸石,具有較強的泛化能力,為解決實際煤矸石機械臂智能分揀問題提供了一種新方法,同時也為后期與基于深度學習的視覺檢測聯合使用提供了理論保障。