陳奎燁, 史旭華, 徐銘澤
(寧波大學(xué) 信息科學(xué)與工程學(xué)院,浙江 寧波 315211)
機械臂廣泛應(yīng)用于工業(yè)生產(chǎn)的各個領(lǐng)域,基于視覺的機械臂自主抓取可以對不同種類和大小的物體實現(xiàn)快速識別和抓取,因而具有更好的適應(yīng)性和魯棒性。目前基于視覺的機械臂抓取方法大多需要對相機進行標(biāo)定和機械臂運動學(xué)求逆才能獲取目標(biāo)物體在機械臂基坐標(biāo)系下的位姿。視覺系統(tǒng)的標(biāo)定精度受作業(yè)環(huán)境影響較大,且存在標(biāo)定過程繁瑣和計算復(fù)雜度高的問題。運動學(xué)求逆難以獲得求解消耗時間與機械臂靈活性之間的平衡。
隨著深度學(xué)習(xí)理論的成熟,越來越多的研究者將深度學(xué)習(xí)理論應(yīng)用到機械臂抓取的研究中。文獻[1,2]提出了一種基于深度學(xué)習(xí)的機械臂抓取方法,通過基于深度學(xué)習(xí)的目標(biāo)檢測算法獲取目標(biāo)物體的位置,再通過深度相機或視覺系統(tǒng)的標(biāo)定獲得相機坐標(biāo)系與機械臂基坐標(biāo)系的轉(zhuǎn)換關(guān)系,控制機械臂完成對目標(biāo)物體抓取,該方法實現(xiàn)了對不同物體的抓取,但相機坐標(biāo)系與機械臂基坐標(biāo)系之間的轉(zhuǎn)換計算復(fù)雜,且視覺系統(tǒng)一旦標(biāo)定,難以調(diào)整。文獻[3]介紹了一種無標(biāo)定閉環(huán)機械臂抓取控制方法,通過不間斷計算機械手和目標(biāo)物體在圖像中的位置完成對目標(biāo)的抓取,該方法無需視覺系統(tǒng)標(biāo)定即可實現(xiàn)對不同類型目標(biāo)物體的抓取,但需要使用深度相機獲取深度圖像信息,難以推廣。文獻[4]提出了一種基于高斯過程混合模型的機械臂抓取方法,通過示教采集數(shù)據(jù),直接構(gòu)建目標(biāo)物體在圖像中的坐標(biāo)與機械臂關(guān)節(jié)角的映射關(guān)系完成對目標(biāo)物體的抓取,為機械臂抓取控制提供了一種新的思路。
針對機械臂自主抓取過程中存在的標(biāo)定困難和樣本獲取困難問題,本文提出了一種基于高斯過程回歸(Gaussian process regression,GPR)和核嶺回歸(kernel ridge regression,KRR)組合模型的機械臂抓取方法,利用普通相機實現(xiàn)了對二維平面上的目標(biāo)物體類別快速識別和定位,以及快速構(gòu)建目標(biāo)物體位姿與機械臂關(guān)節(jié)角的映射關(guān)系,無需視覺系統(tǒng)的標(biāo)定和機械臂運動學(xué)求逆,可實現(xiàn)對各類目標(biāo)物體較為準(zhǔn)確的快速抓取。
系統(tǒng)框架及算法流程如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)及算法流程圖
此抓取方法主要包括目標(biāo)物體檢測與分割、目標(biāo)物體位姿檢測、以及機械臂抓取策略。首先使用攝像頭獲取目標(biāo)物體的三原色(RGB)圖像,將圖像輸入Mask-RCNN算法中,檢測目標(biāo)物體的類別并分割目標(biāo)物體,根據(jù)分割出的目標(biāo)物體獲取目標(biāo)物體的位置和姿態(tài),然后根據(jù)訓(xùn)練好的組合抓取策略獲取機械臂關(guān)節(jié)角度,最后控制機械臂抓取目標(biāo)物體。
本文使用的目標(biāo)檢測和實例分割算法是Mask-RCNN[5],其框架結(jié)構(gòu)如圖2所示。
圖2 Mask-RCNN結(jié)構(gòu)
Mask-RCNN算法是在目標(biāo)檢測算法Faster-RCNN[6]的基礎(chǔ)上引入了全卷積網(wǎng)絡(luò)(fully convolutional network,F(xiàn)CN)的架構(gòu)思想實現(xiàn)了對檢測到的目標(biāo)物體進行像素級的分割[7]。通過Mask-RCNN算法可以精準(zhǔn)獲取目標(biāo)物體的類別以及在圖像中的輪廓信息。
本文提出了一種針對不同物體的簡易位姿估計方法,目標(biāo)物體位姿如圖3所示。根據(jù)Mask-RCNN分割出的實例獲取目標(biāo)物體在圖像中的重心,所獲得的重心點坐標(biāo)(x,y)作為目標(biāo)物體在圖像中的位置,再根據(jù)分割出的實例的最小外接矩形的長邊與圖像橫坐標(biāo)的夾角θ作為目標(biāo)物體在圖像中的姿態(tài),最終目標(biāo)物體的位姿可表示為(x,y,θ)。將(x,y,θ)直接作為組合抓取策略的輸入。
圖3 目標(biāo)物體的位姿
選擇合適的模型學(xué)習(xí)映射函數(shù)對自主抓取任務(wù)至關(guān)重要。高斯過程模型在處理高維數(shù)、復(fù)雜的非線性回歸問題時具有良好的效果,且僅需要少量的樣本就可完成模型的訓(xùn)練。但在實際訓(xùn)練中,基于單個高斯過程的抓取模型并不能很好地擬合機械臂的最后一個關(guān)節(jié)角度,而與高斯過程聯(lián)系緊密的核嶺回歸卻在最后一個關(guān)節(jié)角的擬合中取得了較好的效果,且KRR模型同樣適用于小樣本回歸問題,因而本文將兩種模型進行了簡單組合,提出一種基于GPR和KRR的組合模型的機械臂抓取方法。
GPR是一種以貝葉斯理論和統(tǒng)計學(xué)習(xí)理論為基礎(chǔ)的基于先驗的回歸分析模型,在處理高維數(shù)、小樣本和非線性等復(fù)雜回歸問題時具有良好的效果[8]。
高斯過程是任意具有聯(lián)合高斯分布的有限隨機變量集合X=[x1,x2,…,xn],其統(tǒng)計特性可由均值函數(shù)μ(x)和協(xié)方差函數(shù)k(x,x′)決定。高斯過程可以定義為
f(x)~GP(μ(x),k(x,x′))
(1)
式中x和x′為X中的任意隨機變量。對于一般的帶有高斯白噪聲的標(biāo)準(zhǔn)線性回歸模型有
y=f(x)+ε,f(x)=xTw
(2)
(3)
觀測值y和預(yù)測值f*的聯(lián)合先驗分布為
(4)
式中K(X,X)為n×n階對稱正定協(xié)方差矩陣,K(X,x*)為新輸入測試點x*與所輸入點X的n×1階協(xié)方差矩陣,k(x*,x*)為測試點x*自身的協(xié)方差,則可計算出f*的后驗分布為
f*|X,y,x*~N(*,Cov(f*))
(5)
GPR中的協(xié)方差函數(shù)有多種形式,如RBF核函數(shù)、RQ核函數(shù)和SE核函數(shù)等,本文嘗試了不同核函數(shù)的加法和乘法組合以獲得更好的回歸效果。
KRR是結(jié)合了核技巧和嶺回歸的非線性預(yù)測算法,它使用核函數(shù)k(x,x′)=〈φ(x),φ(x′)〉把原始的非線性數(shù)據(jù)映射到一個核空間,使得數(shù)據(jù)在這個核空間里線性可分,進而可以在核空間中對數(shù)據(jù)進行線性嶺回歸[9]。
對于線性回歸模型有
(6)
(7)
嶺回歸中引入了正則化來控制模型的復(fù)雜度,目標(biāo)代價函數(shù)為
(8)
式中λ為正則化參數(shù)。
通過基于嶺回歸的換方法,將樣本通過非線性變化xi→φ=φ(xi)映射到高維空間,則所求的最優(yōu)解可表示為
(9)
將式(9)代入到式(8)中,變成對系數(shù)α求最優(yōu)解
(10)
用核函數(shù)表示特征空間中的內(nèi)積為K(xi,xj)=φT(xj)φ(xi),代入到式(10)中得到
(11)
轉(zhuǎn)換為矩陣形式,可得
(12)
求導(dǎo)后整理可得
α*=(K+λI)-1Y
(13)
式中K為大小為n×n維的核矩陣,λ為正則化參數(shù),I為單位矩陣,Y為n維列向量,Y=[y1,y2,…,yn]。
本文采用常用的高斯核函數(shù)
(14)
基于GPR和KRR的抓取方法將目標(biāo)物體的位姿作為輸入,機械臂關(guān)節(jié)角度信息作為輸出,通過分別訓(xùn)練GPR和KRR模型獲得機械臂的抓取控制策略。具體方法如圖4所示,其中將目標(biāo)物體的像素坐標(biāo)(x,y)作為GPR模型的輸入,輸出為機械臂關(guān)節(jié)角的前五個關(guān)節(jié)角度[α1,α2,α3,α4,α5],目標(biāo)物體的位姿(x,y,θ)作為KRR模型的輸入,輸出為第六個關(guān)節(jié)角度α6。
圖4 基于GPR和KRR的抓取方法
在學(xué)習(xí)階段,通過示教模式拖動機械臂抓取目標(biāo)物體獲取訓(xùn)練數(shù)據(jù),訓(xùn)練數(shù)據(jù)包括相機拍攝的圖像以及對應(yīng)的機械臂關(guān)節(jié)角度。通過位姿估計算法可獲取目標(biāo)物體位姿,使用獲取的目標(biāo)物體位姿和相應(yīng)的關(guān)節(jié)角度信息對組合模型進行訓(xùn)練,獲取位姿和關(guān)節(jié)角度的映射關(guān)系。機械臂自主抓取時,通過相機獲取目標(biāo)物體圖像,確定目標(biāo)物體位姿,利用映射關(guān)系獲取相應(yīng)關(guān)節(jié)角度,完成對目標(biāo)物體的抓取。
Mask-RCNN的模型基于Tensorflow框架搭建,其訓(xùn)練所需的參數(shù)如下:基礎(chǔ)學(xué)習(xí)率為0.001;最大迭代次數(shù)1 000;學(xué)習(xí)率衰減策略為“steps”,步長為50;權(quán)重衰減項為0.000 1。
將實際環(huán)境中拍攝的圖片放入訓(xùn)練好的模型中測試,部分物體的檢測和分割結(jié)果如圖5所示,從所示結(jié)果可以看出,Mask-RCNN算法實現(xiàn)了較好的目標(biāo)識別和分割。
圖5 目標(biāo)檢測和分割結(jié)果
實驗采用AUBO i5協(xié)作型機械臂,該機械臂有6個關(guān)節(jié),有效工作范圍半徑886 mm,攝像頭為戴浦1080P高清攝像頭,夾持器為大寰的自適應(yīng)兩指夾爪AG—95L,最大行程為95 mm。
實驗通過抓取5 cm小木塊訓(xùn)練機械臂抓取策略,小木塊的抓取訓(xùn)練數(shù)據(jù)由實驗人員通過機械臂人工示教模式采集。首先將小木塊放置于工作臺任意位置,再通過攝像頭獲取含有小木塊的圖像,最后拖動機械臂抓取小木塊,記錄機械臂6個關(guān)節(jié)角度值。實驗共進行了150次人工示教抓取,得到了機械臂的抓取數(shù)據(jù)集。
通過抓取小木塊獲取的抓取策略同樣適用于其他相對規(guī)則物體的抓取。機械臂在自主作業(yè)階段,測試了對不同物體的抓取。首先,將目標(biāo)物體在工作臺上的任意位置,通過攝像頭采集圖像,利用訓(xùn)練好的Mask-RCNN模型獲取目標(biāo)物體類別和分割后的圖像并計算目標(biāo)物體位姿,通過位姿和關(guān)節(jié)角映射關(guān)系獲取相應(yīng)的關(guān)節(jié)角度,控制機械臂完成抓取。自主抓取的具體過程如圖6所示。
圖6 AUBO i5機械臂抓取過程
機械臂抓取測試結(jié)果由實驗人員判定。實驗對不同規(guī)格的小木塊、香蕉、胡蘿卜、蘋果、橙子和鼠標(biāo)分別進行了抓取測試,針對每種目標(biāo)物體分別進行80次抓取測試,各類目標(biāo)物體抓取結(jié)果如表1所示,其中夾爪閉合過程中碰到目標(biāo)物體即評定為機械臂到達成功,抓住目標(biāo)物體并成功舉起即判定為抓取成功。
表1 抓取實驗結(jié)果
5 cm小木塊在80次的抓取測試中,成功率為88.75 %,失敗的抓取多數(shù)因末端執(zhí)行器到達的位置與姿態(tài)不匹配,末端執(zhí)行器在碰到目標(biāo)物體后,不能進行有效的夾持操作。針對不同規(guī)格小木塊進行的抓取實驗所獲得的結(jié)果可以看出,小木塊規(guī)格變小時,會出現(xiàn)到達不成功的情況,進而導(dǎo)致抓取成功率下降,因此本文提出的抓取策略受制于定位精度的影響,難以實現(xiàn)對較小物體的精確抓取。
本文在驗證了抓取方法有效性的基礎(chǔ)上下,還進一步討論了不同模型、樣本數(shù)量和不同核函數(shù)對抓取效果的影響,分析模型的定位精度和抓取效果。模型的定位誤差是指在機械臂基坐標(biāo)系下的機械臂末端執(zhí)行器的真實位置和預(yù)測位置之間的歐氏距離,距離越小,定位越精準(zhǔn)。誤差容限為機械臂抓取時所允許的最大定位誤差,超過誤差容限,則無法成功抓取物體。
仿真對比實驗在人工采集到的訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集中完成。將不同條件下的對比模型在同一個訓(xùn)練集下進行訓(xùn)練,獲取不同的抓取策略,并在同一個測試集下進行測試,針對測試集下的每一組目標(biāo)物體位姿,都可獲得多組關(guān)節(jié)角度預(yù)測值,通過機械臂正運動學(xué)算法計算出各組關(guān)節(jié)角度預(yù)測值所對應(yīng)的末端執(zhí)行器在機械臂基坐標(biāo)系下的位置,并計算其與真實的位置的歐氏距離,所得到的歐氏距離小于誤差容限且最后一個關(guān)節(jié)角度預(yù)測值與真實關(guān)節(jié)角度誤差小于30°,則判定抓取成功,否則抓取失敗。到達成功率不考慮最后一個關(guān)節(jié)角度預(yù)測值與真實關(guān)節(jié)角度誤差。
本文將所提出的方法與高斯過程回歸模型、核嶺回歸模型和混合高斯過程模型(mixture of Gaussian processes,MGP)在相同實驗環(huán)境下進行了對比。在不同誤差容限下的對比結(jié)果如圖7(a)所示。機械臂在誤差容限較小時,GPR和KRR的組合模型的抓取成功率明顯高于其他三種模型,在誤差容限較大時,四種模型的測試結(jié)果相差無幾。在誤差容限為30 mm時,組合模型的抓取成功率高于單一的GPR模型20.3 %,高于KRR模型21.9 %。而在誤差容限為20 mm時,組合模型的抓取成功率更是高于GPR模型31.5 %,高于KRR模型38.4 %。由此可見,本文所提出的組合模型更能適用于定位精度要求相對更高的抓取任務(wù)中,可實現(xiàn)對較小規(guī)格物體的抓取。MGP模型的效果依賴于聚類效果,而本實驗中訓(xùn)練數(shù)據(jù)集分布相對均勻,聚類效果較差,因此未獲得良好的抓取效果。
本文選取了RBF,MAT,RQ,RBF+rRQ和RBF+RQ+MAT幾類核函數(shù)及其組合而成的核函數(shù)進行了比較,具體結(jié)果如圖7(b)所示。可以看出,通過加法運算組合的核函數(shù)在誤差容限較小時效果更好,但效果相較于其它核函數(shù)并不是非常顯著。
為了研究樣本數(shù)量對于模型預(yù)測效果的影響,隨機選取了50,75,…,150個隨機樣本對模型進行了訓(xùn)練和測試,預(yù)測效果如圖7(c)所示。仿真實驗中的測試點統(tǒng)一為200個??梢钥闯?,當(dāng)樣本數(shù)量達到100時,模型的預(yù)測結(jié)果趨于穩(wěn)定,更多的樣本量對于提升模型預(yù)測精度的效果并不明顯。
圖7 實驗結(jié)果
實驗驗證了該方法的可行性,實現(xiàn)了對不同目標(biāo)物體較為精準(zhǔn)的定位和抓取,該方法可以應(yīng)用于精度要求相對較低且目標(biāo)物體相對規(guī)則的抓取作業(yè)任務(wù)中。進行了3組對比實驗,結(jié)果表明:1)本文所提出的方法在誤差容限較小時明顯優(yōu)于單個GPR和KRR;2)通過加法運算組合的核函數(shù)相較于單個核函數(shù)具有更好的預(yù)測效果;3)在達到一定樣本數(shù)量時,模型的預(yù)測結(jié)果幾乎不再受樣本數(shù)量影響。