陳 滿, 李茂軍, 胡建文, 賴志強, 李俊日
(長沙理工大學(xué) 電氣與信息工程學(xué)院,湖南 長沙 410114)
機器人的抓取在冶金、鋼鐵和原子能等工業(yè)中有著廣泛的應(yīng)用。上述工業(yè)中的抓取對象常具有形狀不規(guī)則、危險系數(shù)高(高溫、強輻射等)、密集堆疊等特性;有時還需優(yōu)先考慮溫度因素,即抓取動作需有溫度優(yōu)先性(在抓取過程中最大程度地優(yōu)先抓取高溫物體,以降低對設(shè)備與環(huán)境的危害)。這里重點考慮形狀不規(guī)則、密集堆疊,需要優(yōu)先考慮溫度因素的動作場景,提出了一種基于深度強化學(xué)習(xí)的密集物體溫度優(yōu)先推抓(high-temperature priority pushing and grasping method for dense objects,TPG)方法,提高了抓取完成率和抓取成功率,并且具有優(yōu)先抓取溫度較高物體的能力。
機器人抓取的主要方法有基于模型方法和無模型的數(shù)據(jù)驅(qū)動方法。傳統(tǒng)的基于模型方法主要包括有Sanz P J提出的接觸面建模法,通過對機器人和抓取對象的接觸面進行力學(xué)建模來完成抓取操作[1],這類方法難以應(yīng)用于非結(jié)構(gòu)化場景。隨著機器學(xué)習(xí)的發(fā)展,無模型的數(shù)據(jù)驅(qū)動方法成為了熱門研究方向,主要思路是提取對象的特征,建立特征和機器人關(guān)節(jié)或末端執(zhí)行器之間的映射關(guān)系,無需建立物理模型便可完成抓取任務(wù),Zeng A等人使用全卷積網(wǎng)絡(luò)(fully convolutional network,FCN)提取對象的特征并指導(dǎo)機器人抓取物體[2]?;谏疃葟娀瘜W(xué)習(xí)(deep reinforcement learning,DRL)的抓取方法也是一種數(shù)據(jù)驅(qū)動方法,在機器人抓取方面取得了出色的成果,Zeng A等人首次將推動和抓取動作進行聯(lián)合處理,提出了基于DRL的推抓方法,得到了更好的抓取效果[3]。
本文針對密集堆疊、需要考慮溫度因素的高難度抓取場景,提出了TPG方法。建立以FCN為基礎(chǔ)的端到端映射,將紅外圖像添加到映射輸入;建立推動和抓取的聯(lián)合框架,改善了抓取效果;在獎勵函數(shù)中考慮溫度因素,使其適用于溫度優(yōu)先的抓取場景;創(chuàng)建溫度優(yōu)先度指標(biāo),評估動作的溫度優(yōu)先性。
基本的強化學(xué)習(xí)以馬爾科夫決策過程(Markov decision process,MDP)為理論框架:在t時刻獲取狀態(tài)st,智能體根據(jù)策略π選擇并執(zhí)行動作at,然后過渡到新的狀態(tài)st+1并獲取獎勵r(st,at)。最終目的是找到一個最優(yōu)策略π*,該策略可以最大化未來獎勵之和
(1)
式中γ∈[0,1)為未來獎勵的折扣系數(shù)。狀態(tài)-動作值函數(shù)可以表示為
(2)
依據(jù)最優(yōu)策略π*可以得到最佳的狀態(tài)—動作值函數(shù)Qπ*(st,at),用貝爾曼最優(yōu)性方程表示為[4]
(3)
式中a′為狀態(tài)st+1能夠執(zhí)行的所有動作。
為解決傳統(tǒng)強化學(xué)習(xí)(RL)的感知能力不強的問題,DeepMind團隊提出了深度Q網(wǎng)絡(luò)(deep Q network,DQN)模型[5]。DQN使用深度神經(jīng)網(wǎng)絡(luò)(DNN)作為非線性函數(shù)近似器來近似Q值,并通過目標(biāo)Q網(wǎng)絡(luò)計算目標(biāo)值yt,以此更新Q網(wǎng)絡(luò)參數(shù),yt表示為
(4)
式中θ′為目標(biāo)Q網(wǎng)絡(luò)的參數(shù)。
如圖1中場景1所示,橢圓內(nèi)物體之間密集排列且相互堆疊,為直接抓取造成了難度;溫度優(yōu)先抓取則需要最大程度地優(yōu)先抓取溫度較高的物體,若該物體位于堆疊物體下部,則抓取軌跡會被阻擋,普通抓取動作難以完成任務(wù)。TPG方法可以先對物體進行推動,為抓取動作提供足夠的空間,部分后續(xù)抓取場景效果圖如圖1(b)~(d)所示。
圖1 抓取場景效果
3.2.1 TPG方法總體描述
TPG方法總體描述如下:1)首先由RGB-D相機與紅外熱像儀提取環(huán)境狀態(tài),經(jīng)過點云匹配與正交變換轉(zhuǎn)換成高度圖;2)將高度圖旋轉(zhuǎn)16次(原因見3.2.3節(jié)),再分別經(jīng)過兩個FCN輸出所有像素點的Q值;3)依據(jù)Q值和ε—貪婪策略指導(dǎo)動作,并獲得獎勵;4)不斷通過目標(biāo)Q網(wǎng)絡(luò)進行訓(xùn)練。主要仿真設(shè)備環(huán)境如圖2所示,TPG方法流程圖如圖3所示,下面分別對狀態(tài)、動作、狀態(tài)—行為值函數(shù)、獎勵函數(shù)進行建模。
圖2 仿真設(shè)備環(huán)境
圖3 TPG方法流程圖
3.2.2 狀 態(tài)
(5)
狀態(tài)st經(jīng)過3D點云匹配和重力方向投影生成高度圖,其中高度圖的邊緣是依據(jù)末端執(zhí)行器的工作空間來定義的,工作空間為一個面積為S的正方形(圖2中黑色區(qū)域),取S=4482mm2。
3.2.3 動 作
動作at包括三個要素:1)動作類型ω,有推動和抓取兩種類型;2)動作方向f,f反映了末端執(zhí)行器的旋轉(zhuǎn)角度,由于直接建立從狀態(tài)到旋轉(zhuǎn)角度的映射較為困難,因此,將輸入高度圖旋轉(zhuǎn)16次(每隔22.5°旋轉(zhuǎn)一次),對應(yīng)輸出16張Q值圖,采用這種方法使機器人對旋轉(zhuǎn)方向的選擇近似為對16張Q值圖的選擇;3)動作位置p,動作位置是末端執(zhí)行器推動或抓取的像素點。因此動作at描述為
at={ω,f,p}
(6)
3.2.4 狀態(tài)—動作值函數(shù)——FCN
使用FCN進行狀態(tài)—動作值函數(shù)近似。如圖3所示,設(shè)置兩個FCN(推動網(wǎng)絡(luò)χp和抓取網(wǎng)絡(luò)χg),將推抓動作聯(lián)合在同一個框架內(nèi)。對兩個網(wǎng)絡(luò)輸出的16張Q值圖進行拼接,最終在兩張Q值圖(均由16張圖片拼接而成)中選擇最大Q值的像素點作為最佳動作點。
χp和χg具有相同前向傳遞結(jié)構(gòu)。首先兩個網(wǎng)絡(luò)的DenseNet—121分別在ImageNet上預(yù)訓(xùn)練,然后經(jīng)過通道級聯(lián)和兩個1×1的卷積層(每層包括一個批量歸一化BN層和一個非線性激活函數(shù)ReLU層)。DenseNet由多個Dense Block組成,每一層的輸入都與前面所有卷積層的輸出有關(guān)。
3.2.5 獎勵函數(shù)
(7)
式中I為紅外圖像的熱值,L為熱像儀的熱平,R為熱像儀的熱范圍,X為偽彩色值。再利用熱值與絕對溫度的關(guān)系,可得出對應(yīng)點的溫度值[6]
tp=B/log[(Aτξ/I+1)]
(8)
式中τ為透射率;ξ為物體發(fā)射率;A,B為熱像儀標(biāo)定曲線常數(shù);tp為溫度值。由上述式(7)、式(8)可知,抓取點偽彩色值和溫度的關(guān)系為非線性關(guān)系。溫度獎勵Rg-hot為
(9)
式中tmax為所有像素點的最大溫度值,ρ為獎勵因子,取值為7.5。
綜合以上三部分獎勵,可得獎勵函數(shù)
(10)
使用Huber損失函數(shù)進行訓(xùn)練
(11)
在訓(xùn)練過程中使用的動量梯度下降方法,具體參數(shù)為:動量0.9,權(quán)重衰減2-5,學(xué)習(xí)率10-4;未來獎勵折扣γ恒定為0.5;使用優(yōu)先經(jīng)驗重播方法,對于不同的經(jīng)驗集設(shè)置不同的采樣權(quán)值,采樣權(quán)值與經(jīng)驗集的時間差分有關(guān);使用ε—貪婪策略,貪婪因子ε為隨機選擇下一步動作的概率,在前500次動作中取值為0.5,在500~1 500次動作中從0.5逐步衰減到0.1,并在后續(xù)訓(xùn)練中保持不變。
綜上可得基于深度Q網(wǎng)絡(luò)的機器人密集物體溫度優(yōu)先推抓決策算法,用該算法進行訓(xùn)練,算法流程圖如圖4所示。
圖4 算法1流程圖
輸入:未來獎勵折扣γ、學(xué)習(xí)率、權(quán)重衰減、動量、目標(biāo)網(wǎng)絡(luò)權(quán)重參數(shù)更新周期;
初始化:容量為N的記憶池D;初始化經(jīng)驗集;初始化Q網(wǎng)絡(luò)并隨機權(quán)重θ;初始化目標(biāo)Q網(wǎng)絡(luò)和權(quán)重θ′,使θ′=θ
Begin
1)For episode=1,Mdo
2)初始化機器人工作空間,獲取初始狀態(tài)s1
3)Fort=1,tmaxdo
4)使用ε—貪婪策略選取動作
5)執(zhí)行動作at,過渡到新狀態(tài)空間,st+1并獲得獎勵r(st,at)
6)如果記憶池D的經(jīng)驗集為N,則刪除最早的經(jīng)驗集
7)組成經(jīng)驗集〈st,at,r(st,at),st+1〉存入D中
8)更新經(jīng)驗集的被采樣概率
9)使用優(yōu)先經(jīng)驗重播方法從D中抽取一個經(jīng)驗集j
10)依據(jù)經(jīng)驗集j計算目標(biāo)值yj
11)ifsj+1為最終狀態(tài)
yj=rj+1
else
yj=rj+1+γmaxa′Qθ′(s′,a′)
12)使用動量梯度下降方法更新Q網(wǎng)絡(luò)的權(quán)重參數(shù)θ
13)隔C步更新一次目標(biāo)Q網(wǎng)絡(luò)權(quán)重參數(shù),使θ′=θ
14)更新貪婪因子ε// 500~1 500次迭代
15)End for
16)End for
End for
使用RTX 2080Ti顯卡進行訓(xùn)練,使用V-REP仿真軟件中的UR5機械臂和RG2機械手進行動作,使用內(nèi)部的V-REP逆運動學(xué)模塊進行運動規(guī)劃。為了建立與實際場景相似的環(huán)境,每次生成溫度、顏色、形狀隨機的10個物體。
對TPG方法進行了2 500次訓(xùn)練,并繪制訓(xùn)練過程中的抓取成功率曲線圖(圖5)。
圖5 機器人抓取訓(xùn)練過程曲線
由訓(xùn)練結(jié)果可以看出,隨著機器人迭代次數(shù)的增加,抓取成功率逐漸上升,其中前500次訓(xùn)練過程上升效果最為明顯,說明機器人使用TPG方法在該場景下的抓取效果逐漸變好。
設(shè)置三組測試實驗:TPG方法,無紅外圖像與溫度獎勵(no temperature factor,PG)方法,無推動(no pushing,TG)方法。對于每組測試實驗進行40次重復(fù)測試,每次實驗設(shè)置10個隨機物體,均在工作空間內(nèi)密集堆疊放置5組,計算平均結(jié)果。測試實驗的結(jié)果也與文獻[4]中的結(jié)果進行對比。
設(shè)置四個主要評價指標(biāo):1)平均完成率C;2)平均抓取成功率GC;3)溫度相關(guān)度TR,表征機器人抓取動作對高溫對象的優(yōu)先性,具體公式為
(12)
E=num(obj)/num(all)
(13)
式中num(obj)為抓取對象的數(shù)量,num(all)為所有動作數(shù)量之和。
由表1可知,TPG方法、PG方法和VPG方法均可以成功抓取所有物體,而TG方法存在抓取未完成現(xiàn)象,這表明推抓方法在整體完成率上要由優(yōu)于僅抓取方法。平均抓取成功率GC方面:TPG方法和PG方法分別高于TG方法11.2 %和8.6 %,表明推抓方法可以提升抓取成功率,此外TPG方法的GC分別高于PG方法和VPG方法2.6 %和1.7 %,TG方法的GC高于Grasping-only方法2.4 %,這是由于紅外圖像的加入豐富了輸入特性,有利于機器人充分提取環(huán)境信息,從而選擇更好的動作,提升抓取成功率。
表1 測試實驗結(jié)果對比 %
平均溫度相關(guān)度TR方面:TPG方法和TG方法均顯著高于PG方法,PG方法僅為-6.3 %,這符合無溫度獎勵情況下TR期望為0的預(yù)期,說明加入紅外圖像和溫度獎勵后,溫度優(yōu)先性得到顯著提高;TPG方法的TR高于TG方法18.4 %,這是由于TG方法沒有推動動作,而部分溫度較高物體位于堆疊物體下部,抓取軌跡受到阻擋,TG方法難以優(yōu)先抓取高溫物體。平均動作效率E方面:TPG方法和PG方法分別高于TG方法4.5 %和8.9 %,這表明推抓方法的動作效率優(yōu)于僅抓取方法,值得注意的是,TPG方法相比于PG方法和VPG方法有所降低(分別為4.4 %和3.6 %),這是由于TPG方法考慮了溫度因素,需要執(zhí)行推動動作為溫度較高物體創(chuàng)造足夠的抓取空間,從而導(dǎo)致num(all)上升,動作效率E下降。
由上述實驗結(jié)果和分析可知,本文提出的TPG方法對溫度優(yōu)先的密集物體抓取場景具有較好的效果。TPG方法和PG方法在完成率、抓取成功率和動作效率方面均優(yōu)于TG方法。雖然TPG方法的動作效率E相比于PG方法略有降低,但是平均溫度相關(guān)度TR明顯優(yōu)于PG方法,因此,在溫度優(yōu)先抓取的場景下,TPG方法不失為一種較好的選擇。
對于物體密集堆疊、需要優(yōu)先考慮溫度因素的高難度抓取場景,提出了TPG方法。該方法以DRL為基礎(chǔ),使用兩個FCN,將推動和抓取放在一個框架內(nèi)聯(lián)合動作,并設(shè)置溫度獎勵,使抓取具有溫度優(yōu)先性。仿真實驗結(jié)果表明:該方法抓取效果優(yōu)于無推動的方法,并且具有優(yōu)先抓取溫度較高物體的功能。