張永超, 于智偉, 丁麗林
(山東科技大學(xué) 機械電子工程學(xué)院,山東 青島 266590)
煤矸石分揀是煤炭粗選的首要環(huán)節(jié),也是提高煤炭質(zhì)量以及礦井效益的重要方法[1]。傳統(tǒng)煤矸石分揀如人工分揀、濕選和干選等分揀方式正面臨工傷風(fēng)險率高、環(huán)境污染嚴重及智能化程度低的困境[2-3]。而機械臂分揀不僅能有效降低工傷風(fēng)險率,同時還具有效率高、綠色分揀的優(yōu)勢?!蛾P(guān)于加快煤礦智能化發(fā)展的指導(dǎo)意見》也明確提出對具備條件的煤礦要加快智能化改造,推進危險崗位的機器人作業(yè),到2035年各類煤礦基本實現(xiàn)智能化,建成智能感知、智能決策、自動執(zhí)行的煤礦智能化體系。煤矸石分揀朝著智能機器人化方向發(fā)展符合現(xiàn)代工業(yè)發(fā)展趨勢。
目前,用于機器人分揀機械臂的控制算法主要有抓取函數(shù)法[4]、基于費拉里法的動態(tài)目標抓取算法[5]、金字塔形尋優(yōu)算法[6]、比例導(dǎo)引法[7]等。這些控制算法中除抓取函數(shù)法僅適用靜態(tài)目標外,其他控制算法均可在已獲取目標位置的前提下,實現(xiàn)快速接近目標的目的。然而將以上控制算法應(yīng)用于煤矸石分揀機械臂時發(fā)現(xiàn),煤矸石分揀機械臂的工作效率嚴重受限于控制算法中機械臂運動學(xué)或動力學(xué)等環(huán)境模型的設(shè)計精度,若精度低則會使煤矸石分揀機械臂末端執(zhí)行器不能良好接近目標,造成較高的漏選率[8]。王鵬等[9]設(shè)計了一種基于機器視覺技術(shù)的多機械臂煤矸石分揀機器人系統(tǒng),該系統(tǒng)可高效分揀50~260 mm粒度的煤矸石,并且能良好適應(yīng)不同帶速,但其機械臂控制算法仍依賴模型的精確性。因此,研究一種可使煤矸石分選機械臂穩(wěn)定高效運行的無模型智能控制算法對實現(xiàn)煤矸石分選作業(yè)無人化、智能化具有重要意義。
強化學(xué)習(xí)作為一種重要的機器學(xué)習(xí)方法,因其控制過程不依賴于精確環(huán)境模型的特點,在機器人智能控制領(lǐng)域具有重要地位。它強調(diào)在與環(huán)境的交互中獲取反映真實目標達成度的反饋信號,強調(diào)模型的試錯學(xué)習(xí)和序列決策行為的動態(tài)和長期效應(yīng)。深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法是強化學(xué)習(xí)中常用來處理具有連續(xù)性動作空間任務(wù)的一種優(yōu)秀控制算法[10],但傳統(tǒng)DDPG算法的獎勵函數(shù)僅是基于歐幾里得距離設(shè)計的,缺乏動作懲罰項等約束項,訓(xùn)練過程中容易使機械臂學(xué)習(xí)到輸出較大關(guān)節(jié)角控制量的策略。若獎勵函數(shù)設(shè)計不合理,還會出現(xiàn)稀疏獎勵問題,使機械臂學(xué)不到期望的策略[11]。
針對以上問題,本文提出了一種基于強化學(xué)習(xí)的改進DDPG算法,并用于煤矸石分揀機械臂的控制。通過設(shè)計獎勵函數(shù)使機械臂能更快學(xué)習(xí)到平穩(wěn)接近目標的策略。通過改進Actor和Critic神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)以及使用批標準化和Dropout優(yōu)化方法,使算法具有更穩(wěn)健處理機械臂關(guān)節(jié)角等低維輸入觀測值的能力[12]。仿真實驗結(jié)果表明,改進的DDPG算法與傳統(tǒng)控制算法相比具有無模型通用性強及在與環(huán)境交互中可自適應(yīng)學(xué)習(xí)抓取姿態(tài)的優(yōu)勢,并且學(xué)習(xí)能力優(yōu)于傳統(tǒng)DDPG算法,其在大型連續(xù)動作空間具有巨大的潛在應(yīng)用價值。
DDPG算法屬于Actor-Critic算法,它在確定性策略梯度(Deterministic Policy Gradient,DPG)算法[13]的基礎(chǔ)上融入了深度神經(jīng)網(wǎng)絡(luò)[14]。DDPG算法的參數(shù)更新思想借鑒了深度Q網(wǎng)絡(luò)(Deep Q Network,DQN)算法中的雙網(wǎng)絡(luò)延時更新和經(jīng)驗回放機制來切斷數(shù)據(jù)相關(guān)性,訓(xùn)練過程中使用批量標準化[15]來提高學(xué)習(xí)效率。
DDPG算法中的Actor策略網(wǎng)絡(luò)可在連續(xù)動作空間進行探索以及做出動作決策,Critic價值網(wǎng)絡(luò)則負責評判決策優(yōu)劣,以此指引Actor策略網(wǎng)絡(luò)參數(shù)更新。兩者均包含2個具有相同結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),即目標網(wǎng)絡(luò)和估計網(wǎng)絡(luò)。Actor的估計網(wǎng)絡(luò)是根據(jù)Critic的估計網(wǎng)絡(luò)的指引實時更新,Critic的估計網(wǎng)絡(luò)是根據(jù)自身目標網(wǎng)絡(luò)的指引實時更新,因此,估計網(wǎng)絡(luò)的參數(shù)是最新參數(shù),而目標網(wǎng)絡(luò)參數(shù)則是根據(jù)估計網(wǎng)絡(luò)參數(shù)使用滑動平均方式來延遲更新的,Critic的估計網(wǎng)絡(luò)參數(shù)的更新方式為最小化均方誤差L:
(1)
式中:N為從經(jīng)驗池中取出的數(shù)據(jù)總個數(shù);yi為i時刻目標Q值的更好估計;Q(si,ai|θQ)為估計Q值;si為i時刻的環(huán)境狀態(tài);ai為i時刻的輸入動作;θQ為Critic網(wǎng)絡(luò)中估計網(wǎng)絡(luò)的參數(shù),Q代表Critic網(wǎng)絡(luò)中的估計網(wǎng)絡(luò);ri為i時刻的即時獎勵;γ為折扣率;Q′(si+1,μ′(si+1|θμ′)|θQ′)為目標Q值;μ′(si+1|θμ′)為確定性策略,μ′為Actor網(wǎng)絡(luò)中的目標網(wǎng)絡(luò),θμ′為Actor網(wǎng)絡(luò)中目標網(wǎng)絡(luò)的參數(shù);θQ′為Critic網(wǎng)絡(luò)中目標網(wǎng)絡(luò)的參數(shù),Q′為Critic網(wǎng)絡(luò)中的目標網(wǎng)絡(luò)。
這種利用估計網(wǎng)絡(luò)和目標網(wǎng)絡(luò)進行參數(shù)更新的雙網(wǎng)絡(luò)機制切斷了數(shù)據(jù)相關(guān)性,有效提高了算法收斂性。類似于監(jiān)督學(xué)習(xí)標簽的yi為Critic估計網(wǎng)絡(luò)參數(shù)的更新指明了方向,使參數(shù)更新更穩(wěn)定。
Actor策略網(wǎng)絡(luò)基于策略梯度更新網(wǎng)絡(luò)參數(shù):
θμJ(θμ)≈
(2)
圖1 DDPG算法結(jié)構(gòu)
改進DDPG算法應(yīng)用對象為六自由度煤矸石分揀機械臂,其動作空間龐大且應(yīng)用環(huán)境復(fù)雜,為使神經(jīng)網(wǎng)絡(luò)更容易學(xué)習(xí)其輸入特征數(shù)據(jù)的分布,同時也為緩解訓(xùn)練過程中神經(jīng)網(wǎng)絡(luò)的過擬合問題,Actor網(wǎng)絡(luò)使用4層計算層并引入批量標準化方法和Dropout方法,以使模型訓(xùn)練更穩(wěn)健,Actor網(wǎng)絡(luò)的雙網(wǎng)絡(luò)均采用圖2所示的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
圖2 Actor神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
Actor框架中的估計網(wǎng)絡(luò)輸入層接收環(huán)境實時狀態(tài)si,目標網(wǎng)絡(luò)輸入層接收智能體與環(huán)境交互后的下一狀態(tài)si+1。批量標準化(Batch Normalization,BN)層通過減小數(shù)據(jù)在神經(jīng)網(wǎng)絡(luò)層傳遞過程中數(shù)據(jù)分布的改變,使神經(jīng)網(wǎng)絡(luò)參數(shù)更新更快且更易學(xué)習(xí)到知識,又因其是在小批量樣本上計算均值和方差,難免引入小噪聲,這也同時提高了神經(jīng)網(wǎng)絡(luò)的泛化能力。隱藏層中層1和層2中的黃色神經(jīng)元表示該層使用了Dropout方法,Dropout方法通過使部分神經(jīng)元隨機失活以減小神經(jīng)元之間的依賴性,促使神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)更穩(wěn)健的特征,提高了網(wǎng)絡(luò)的魯棒性。
Critic網(wǎng)絡(luò)的估計網(wǎng)絡(luò)和目標網(wǎng)絡(luò)采用如圖3所示的3層全連接神經(jīng)網(wǎng)絡(luò)來擬合Q(si,ai|θQ)和Q′(si+1,μ′(si+1|θμ′)|θQ′),并使用BN層和Dropout方法緩解神經(jīng)網(wǎng)絡(luò)過擬合,從而使Critic網(wǎng)絡(luò)可更好評判Actor網(wǎng)絡(luò)輸出動作的優(yōu)劣。
圖3 Critic神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
為使煤矸石分揀機械臂可自適應(yīng)學(xué)習(xí)到接近目標的方法,同時解決傳統(tǒng)機械臂強化學(xué)習(xí)控制方法輸出動作過大以及稀疏獎勵容易被淹沒的問題,本文在傳統(tǒng)DDPG算法的基礎(chǔ)上設(shè)計了可持續(xù)輸出收益的獎勵函數(shù):
(3)
終止狀態(tài)判定項通過給可輸出連續(xù)跟蹤目標動作的智能體一個較大的獎勵值來誘導(dǎo)機械臂學(xué)習(xí)到跟蹤目標的能力,減小目標與機械臂末端執(zhí)行器的沖擊。
改進DDPG算法依據(jù)馬爾科夫決策過程[16]控制機械臂在與環(huán)境交互中學(xué)習(xí)知識,任務(wù)是找到能最大化智能體期望回報的最優(yōu)策略[17],即最大化估計Q值。在煤矸石分揀機械臂控制任務(wù)中,強化學(xué)習(xí)中的智能體為具有決策能力的煤矸石分揀機械臂。估計Q值的更新依據(jù)自身梯度以及其與目標Q值q的均方誤差來指引,其中q為
q=ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′)
(4)
機械臂根據(jù)相應(yīng)傳感器返回的煤矸石位置以及機械臂狀態(tài)進行決策,輸出機械臂預(yù)測控制量,并根據(jù)機械臂執(zhí)行動作之后的環(huán)境狀態(tài)如末端執(zhí)行器與煤矸石的距離、機械臂的位置、煤矸石的位置等進行下一步?jīng)Q策。通過不斷試錯學(xué)習(xí),使網(wǎng)絡(luò)參數(shù)向可輸出機械臂探索過程中所遇最大q值方向更新,直到機械臂可以根據(jù)環(huán)境狀態(tài)準確輸出接近煤矸石的策略或幕獎勵波動趨于穩(wěn)定時即可提前終止訓(xùn)練。煤矸石分揀機械臂控制流程如圖4所示。首先初始化改進DDPG算法權(quán)重,然后加載訓(xùn)練權(quán)重,最后根據(jù)煤矸石位置及關(guān)節(jié)角狀態(tài)輸出相應(yīng)的關(guān)節(jié)角來控制機械臂運動,以使末端執(zhí)行器接近煤矸石。煤矸石位置以及機械臂關(guān)節(jié)角狀態(tài)由相應(yīng)檢測模塊和傳感器測得。
圖4 機械臂控制流程
本文采用CoppeliaSim搭建虛擬環(huán)境模型,并在環(huán)境模型中創(chuàng)建UR5機械臂、RG2執(zhí)行器、輸送帶、煤和煤矸石,以此模擬實際煤矸石分揀環(huán)境,仿真平臺如圖5所示。
圖5 仿真平臺
使用Python在tensorflow2.2.0上編寫改進DDPG算法框架,并調(diào)用CoppeliaSim創(chuàng)建的虛擬環(huán)境來訓(xùn)練算法。算法中Actor的雙網(wǎng)絡(luò)和Critic的雙網(wǎng)絡(luò)神經(jīng)元配置見表1,其神經(jīng)網(wǎng)絡(luò)輸入狀態(tài)si為6個關(guān)節(jié)角度、執(zhí)行器指定點的絕對坐標、第5個關(guān)節(jié)的絕對坐標、末端執(zhí)行器指定點與煤矸石中心的距離。獎勵函數(shù)參數(shù)c1和c2經(jīng)測試設(shè)定為0.1和0.2,使用30倍的高斯分布噪聲,設(shè)定算法循環(huán)幕數(shù)為5 000,每幕迭代步數(shù)為300,若末端執(zhí)行器中設(shè)定的特定點與煤矸石中心距離為0時,超參數(shù)b被賦值為10,若下一步距離仍為0,則b繼續(xù)累加10,當其累加了20步時,即跟蹤了20步,則提前結(jié)束當前幕。
表1 Actor和Critic神經(jīng)網(wǎng)絡(luò)中各層神經(jīng)元數(shù)量
為測試改進DDPG算法的性能,將其與僅使用歐幾里得距離作為獎勵函數(shù)的傳統(tǒng)DDPG算法在相同環(huán)境下進行訓(xùn)練對比,經(jīng)5 000幕迭代后,改進DDPG算法每幕獎勵結(jié)果如圖6所示,傳統(tǒng)DDPG算法每幕獎勵結(jié)果如圖7所示。
圖6 改進DDPG算法每幕獎勵
強化學(xué)習(xí)不同于傳統(tǒng)監(jiān)督學(xué)習(xí),其訓(xùn)練樣本沒有確定標簽,也就沒有真正意義上的損失函數(shù),因此,當幕獎勵趨于穩(wěn)定時,即可認為機械臂在當前環(huán)境中學(xué)習(xí)到了基于所用算法的最優(yōu)策略。由圖6和圖7可看出,改進DDPG算法和傳統(tǒng)DDPG算法指引下的機械臂在環(huán)境中經(jīng)過隨機探索后都學(xué)習(xí)到了一種策略,改進DDPG算法訓(xùn)練穩(wěn)定后的每幕獎勵接近機械臂探索過程中的最大值,而傳統(tǒng)DDPG算法訓(xùn)練穩(wěn)定后的每幕獎勵與機械臂探索過程中遇到的最大獎勵相差較大,這表示所設(shè)計的獎勵函數(shù)比傳統(tǒng)獎勵函數(shù)更具有誘導(dǎo)機械臂學(xué)習(xí)到最優(yōu)策略的能力。
圖7 傳統(tǒng)DDPG算法每幕獎勵
為了進一步測試2種算法訓(xùn)練后的性能,將訓(xùn)練后的改進DDPG算法和傳統(tǒng)DDPG算法進行泛化能力對比驗證,測試過程為在虛擬環(huán)境中繼續(xù)添加紅色、黃色、綠色物塊,如圖8所示,圖中灰色物塊為2種算法在學(xué)習(xí)過程中所用的訓(xùn)練目標,使用這4種顏色的物塊代替實際分揀環(huán)境中的煤矸石,將這4種煤矸石分別設(shè)定為測試目標,并使用2種算法分別對其進行10次接近測試,結(jié)果見表2。
圖8 CoppeliaSim虛擬環(huán)境
表2 測試結(jié)果
由表2可看出,改進DDPG算法具有良好的泛化能力,即接近訓(xùn)練過程中未曾出現(xiàn)過目標的能力,而傳統(tǒng)DDPG算法泛化能力較差,這也進一步驗證了改進DDPG算法控制下的機械臂所學(xué)策略質(zhì)量較高。在接近測試過程中,傳統(tǒng)DDPG算法控制下的煤矸石分揀機械臂的末端執(zhí)行器多數(shù)以一種垂直于虛擬環(huán)境中地面的非常規(guī)姿態(tài)位于物塊之上,這也證明了傳統(tǒng)DDPG算法控制下的機械臂并未學(xué)習(xí)到良好的策略。在黃色物塊接近測試中,傳統(tǒng)DDPG算法控制下的煤矸石分揀機械臂末端執(zhí)行器特定位置的運動軌跡如圖9所示,改進DDPG算法控制下的末端執(zhí)行器特定位置運動軌跡如圖10所示。從圖9和圖10可看出,改進DDPG算法與傳統(tǒng)DDPG算法相比,其控制策略可以更好地使末端執(zhí)行器接近目標。
圖9 傳統(tǒng)DDPG算法控制結(jié)果
圖10 改進DDPG算法控制結(jié)果
黃色物塊接近測試中,2種算法輸出的一次關(guān)節(jié)角控制量對比如圖11所示。從圖11可看出,改進DDPG算法因受獎勵函數(shù)輸出動作懲罰項的影響,其關(guān)節(jié)角輸出控制量小于傳統(tǒng)DDPG算法的輸出,降低了因大幅度更新關(guān)節(jié)角對機械臂性能造成的影響。
圖11 2種算法輸出的一次關(guān)節(jié)角控制量對比
綜上可知,改進DDPG算法和傳統(tǒng)DDPG算法控制下的煤矸石分揀機械臂通過與環(huán)境交互均可使機械臂學(xué)習(xí)到一種控制策略,但測試結(jié)果表明,傳統(tǒng)DDPG算法所學(xué)策略性能較差,不能良好接近目標,改進DDPG算法所學(xué)策略更接近最優(yōu)。
(1)對傳統(tǒng)DDPG算法中的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和獎勵函數(shù)進行了改進,提出了適合處理六自由度煤矸石分揀機械臂的改進DDPG算法。改進DDPG算法經(jīng)過訓(xùn)練后,Actor網(wǎng)絡(luò)即可根據(jù)環(huán)境狀態(tài)映射成具有最大估計Q值的關(guān)節(jié)狀態(tài)控制量,最終經(jīng)相應(yīng)運動控制器控制煤矸石分揀機械臂接近煤矸石,實現(xiàn)煤矸石分揀。
(2)實驗結(jié)果表明,改進DDPG算法相較于傳統(tǒng)DDPG算法可更快收斂于探索過程中所遇最大獎勵值。改進DDPG算法可控制機械臂小幅度接近煤矸石,具有較強的泛化能力,為解決實際煤矸石機械臂智能分揀問題提供了一種新方法,同時也為后期與基于深度學(xué)習(xí)的視覺檢測聯(lián)合使用提供了理論保障。