黃玲濤 王 彬 倪 濤 繆海峰 李亞男
(吉林大學(xué)機(jī)械與航空航天工程學(xué)院, 長(zhǎng)春 130022)
隨著人工智能的快速發(fā)展,機(jī)器人技術(shù)的研究水平得到了飛速的提高,計(jì)算機(jī)視覺和機(jī)器人技術(shù)的結(jié)合成為當(dāng)前的研究熱點(diǎn)。受HUBEL等[1]的生物研究啟發(fā),卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network, CNN)[2-4]被提出,并在物體識(shí)別、物體檢測(cè)[5]等領(lǐng)域取得了成功。通過計(jì)算機(jī)視覺技術(shù)[5]對(duì)物體進(jìn)行識(shí)別,然后控制機(jī)器人實(shí)現(xiàn)抓取成為研究的一個(gè)重要領(lǐng)域,該技術(shù)的實(shí)現(xiàn)可以擺脫傳統(tǒng)的示教模式,應(yīng)對(duì)不同的作業(yè)環(huán)境,并且能夠大大降低人工成本,提高經(jīng)濟(jì)效益。
目前,在物體檢測(cè)方面,牛津大學(xué)計(jì)算機(jī)視覺組(Visual geometry group, VGG)提出的VGG模型(Visual geometry group network, VGGNet)[6]成功地構(gòu)建了VGGNet-11、GGNet-13、VGGNet-16和VGGNet-19等卷積神經(jīng)網(wǎng)絡(luò)模型。VGGNet-16被用在深度學(xué)習(xí)SSD模型[7-9]中,并能夠使模型獲得較高的運(yùn)行速度和檢測(cè)精度。
在物體定位方面,為了得到物體在三維空間的坐標(biāo)信息和在圖像中的像素信息之間的映射,可以通過文獻(xiàn)[10-11]方法對(duì)相機(jī)進(jìn)行標(biāo)定,獲得其內(nèi)參、外參、畸變參數(shù)等。文獻(xiàn)[12-15]通過手眼標(biāo)定將機(jī)器人系統(tǒng)和視覺系統(tǒng)連接起來,然后通過坐標(biāo)變換得到物體在機(jī)器人基坐標(biāo)系中的三維坐標(biāo),完成機(jī)器人的抓取任務(wù)[16-18]。
在機(jī)器人抓取方面,LENZ等[19]將深度學(xué)習(xí)方法引入到機(jī)器人抓取中。LEVINE等[20]收集機(jī)器人抓取實(shí)驗(yàn)數(shù)據(jù)用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,該模型通過卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)手爪成功抓取物體的概率,并完成抓取動(dòng)作。
本文提出將Kinect攝像頭作為視覺采集器,對(duì)物體識(shí)別及機(jī)器人的抓取搬運(yùn)進(jìn)行研究,利用SSD模型對(duì)物體類型進(jìn)行實(shí)時(shí)識(shí)別,通過張正友標(biāo)定法[10-11]獲取Kinect內(nèi)外參并計(jì)算物體位置信息,最后控制機(jī)器人各關(guān)節(jié),以完成機(jī)器人對(duì)物體的抓取搬運(yùn)任務(wù)。
物體抓取系統(tǒng)結(jié)構(gòu)如圖1所示,Kinect相機(jī)與機(jī)器人分別固定在工作環(huán)境中,相機(jī)固定在工作臺(tái),其不隨機(jī)械手一起運(yùn)動(dòng)。物體抓取系統(tǒng)包括物體檢測(cè)系統(tǒng)、物體定位系統(tǒng)和機(jī)器人抓取系統(tǒng)。物體檢測(cè)系統(tǒng)是基于SSD模型的深度學(xué)習(xí)方法,通過對(duì)20個(gè)目標(biāo)物體采樣、標(biāo)記和訓(xùn)練后形成適合本系統(tǒng)的物體檢測(cè)模型。物體識(shí)別模型在Kinect相機(jī)獲得工作場(chǎng)景的實(shí)時(shí)彩色圖像后,識(shí)別出目標(biāo)物體并顯示物體類別和邊框,同時(shí)輸出物體在像素坐標(biāo)系中的像素坐標(biāo)。物體定位系統(tǒng)獲得物體在圖像中的像素位置以及對(duì)應(yīng)的深度值后,通過手眼標(biāo)定方法,得到物體在機(jī)器人基坐標(biāo)下的位置。機(jī)器人抓取系統(tǒng)在得到目標(biāo)物體坐標(biāo)值后,通過逆運(yùn)動(dòng)學(xué)求解得到機(jī)器人6個(gè)關(guān)節(jié)需要到達(dá)的位置,控制機(jī)器人及其機(jī)械手爪實(shí)現(xiàn)抓取搬運(yùn)動(dòng)作。
圖1 物體抓取系統(tǒng)結(jié)構(gòu)示意圖Fig.1 Schematic of object grasping system
Kinect相機(jī)在采集物體不同位置和姿態(tài)下的彩色圖像后,對(duì)這些圖像中的物體類別及其在圖像中的像素坐標(biāo)進(jìn)行標(biāo)注,然后將彩色圖像及其標(biāo)注信息作為訓(xùn)練樣本,訓(xùn)練并生成SSD的物體檢測(cè)模型,實(shí)現(xiàn)目標(biāo)物體檢測(cè)。
以20種物體(易拉罐、礦泉水瓶和紙盒等)作為實(shí)驗(yàn)的目標(biāo)物體(圖2)。復(fù)雜環(huán)境背景的圖像會(huì)對(duì)模型訓(xùn)練、評(píng)價(jià)和使用產(chǎn)生很大的干擾,為了減少這些干擾,機(jī)器人工作區(qū)域設(shè)置為淺藍(lán)色。
圖2 實(shí)驗(yàn)所用的20種物體Fig.2 20 objects used in experiment
用于訓(xùn)練模型的物體圖像信息不僅需要物體處在不同位置和姿態(tài)狀況下,而且還需要多個(gè)物體同時(shí)在一幅圖像中。為了充分?jǐn)U充數(shù)據(jù)集,對(duì)原圖像作順時(shí)針旋轉(zhuǎn)10°,逆時(shí)針旋轉(zhuǎn)10°處理,并對(duì)原圖像以及旋轉(zhuǎn)圖像進(jìn)行高斯噪聲處理和模糊處理,即一幅原圖像能夠得到8幅擴(kuò)充圖像(圖3)。實(shí)驗(yàn)共采集了449幅物體圖像,數(shù)據(jù)集共449×9=4 041幅圖像。
圖3 原圖的增強(qiáng)效果圖Fig.3 Enhancement effect pictures of original image
基于SSD模型的物體檢測(cè)技術(shù)屬于監(jiān)督學(xué)習(xí),所以需要獲得圖像中所有目標(biāo)物體的標(biāo)注信息,包括物體類別id和物體邊框像素位置。
當(dāng)所有的彩色圖像均標(biāo)注完畢后,需要將70%的圖像和對(duì)應(yīng)標(biāo)注文件作為訓(xùn)練數(shù)據(jù)集,剩下30%作為評(píng)價(jià)數(shù)據(jù)集。雖然Fast R-CNN模型平均精度比SSD模型高一些,但是運(yùn)行耗時(shí)卻比SSD模型高很多,基本無法滿足視頻實(shí)時(shí)處理的要求,因此本文使用SSD訓(xùn)練模型,訓(xùn)練模型的學(xué)習(xí)率設(shè)置為0.000 4,批量大小設(shè)置為1,訓(xùn)練次數(shù)設(shè)置為40 000。隨著訓(xùn)練次數(shù)的增加,損失函數(shù)值隨之減小。SSD訓(xùn)練完成后,使用評(píng)價(jià)數(shù)據(jù)集測(cè)試所得到的SSD模型,其檢測(cè)精度為81.56%,可以用來作為檢測(cè)物體的模型。
使用EPSON A901S型六自由度機(jī)器人實(shí)現(xiàn)對(duì)物體的抓取,其各坐標(biāo)系如圖4所示。機(jī)器人與實(shí)驗(yàn)臺(tái)連接處為機(jī)器人基坐標(biāo)系({0}),關(guān)節(jié)1~3分別作為第{1}~{3}坐標(biāo)系。由于此機(jī)器人的結(jié)構(gòu)特點(diǎn),以及為了使機(jī)器人擁有逆運(yùn)動(dòng)學(xué)封閉解,第{4}~{6}坐標(biāo)系置于同一位置,即關(guān)節(jié)4處。此機(jī)器人的特點(diǎn)是前3個(gè)關(guān)節(jié)控制機(jī)器人末端的位置,后3個(gè)關(guān)節(jié)控制機(jī)器人末端的姿態(tài)。此后用{i}表示第i坐標(biāo)系。
圖4 機(jī)器人坐標(biāo)系簡(jiǎn)圖Fig.4 Sketch of robot coordinate system0.基坐標(biāo)系 1~7.關(guān)節(jié)坐標(biāo)系
圖5 機(jī)械手爪和Arduino UNO單片機(jī)Fig.5 Mechanical gripper and Arduino UNO microcontroller
機(jī)械手爪(圖5a)通過連接法蘭固定在機(jī)器人末端,用于抓取目標(biāo)物體。機(jī)械手爪由數(shù)字舵機(jī)驅(qū)動(dòng)完成手爪的張合動(dòng)作,并由Arduino UNO單片機(jī)(圖5b)編程控制。
根據(jù)EPSON六自由度機(jī)器人、連接器和機(jī)械手爪的尺寸以及各個(gè)關(guān)節(jié)坐標(biāo)系的位置和姿態(tài),機(jī)器人D-H參數(shù)如表1所示。其中φ1~φ6為機(jī)器人關(guān)節(jié)1~6的關(guān)節(jié)角,該關(guān)節(jié)角為EPSON生產(chǎn)廠家定義,與D-H參數(shù)中的θi關(guān)系見表1。
表1 EPSON六自由度機(jī)器人D-H參數(shù)Tab.1 D-H parameters of EPSON six-degree-of-freedom robot
如圖4所示,機(jī)械手爪末端中心位置為第{7}坐標(biāo)系的原點(diǎn)位置。當(dāng)機(jī)械手爪安裝在機(jī)器人末端時(shí),為實(shí)現(xiàn)手爪到達(dá)指定的位置和姿態(tài),必須對(duì)機(jī)器人的逆運(yùn)動(dòng)學(xué)求解。由于EPSON A901S機(jī)器人的結(jié)構(gòu)特點(diǎn),即第4~6坐標(biāo)系交于一點(diǎn)滿足PIEPER準(zhǔn)則,此機(jī)器人具有封閉解。
由于{7}相對(duì)于機(jī)器人基坐標(biāo)系的位置和姿態(tài)已知,為(px7,py7,pz7,θx7,θy7,θz7)T,故{7}相對(duì)于基坐標(biāo)系的齊次變換矩陣為
其中s表示sin,c表示cos,其下標(biāo)x表示θx7,y表示θy7,z表示θz7。
{7}相對(duì)于{6}僅發(fā)生了平移,姿態(tài)沒有改變,所以{6}相對(duì)于{0}的姿態(tài)與{7}相對(duì)于{0}的姿態(tài)相同,故{6}的齊次變換矩陣為
其中,*表示未計(jì)算的值。由齊次變換矩陣的特點(diǎn)可知,矩陣第4列前3個(gè)值分別是{6}在基坐標(biāo)系中的位置。令{6}在基坐標(biāo)系中的位姿為(px,py,pz,θx,θy,θz)T,其中有
pxcosφ1+pysinφ1=0
(1)
(2)
(3)
3.5.1關(guān)節(jié)角φ1
根據(jù)式(1)可得
(4)
φ1存在多解,其為φ11和φ12,當(dāng)φ1>0時(shí),φ11=φ1,φ12=φ11-π。當(dāng)φ1≤0時(shí),φ12=φ1,φ11=φ12+π。
3.5.2關(guān)節(jié)角φ3
對(duì)式(2)和式(3)等號(hào)兩邊同時(shí)平方再相加,可解得
(5)
其中
每一個(gè)φ1對(duì)應(yīng)的φ3有兩個(gè)值,即φ31=φ3和φ32=-φ3,因?yàn)棣?本身有兩個(gè)解,所以φ3有4個(gè)值。
3.5.3關(guān)節(jié)角φ2
將φ1和φ3代入式(2)和式(3)中,求解得
(6)
其中,φ2的正負(fù)號(hào)與sinφ2的正負(fù)號(hào)相同。每一個(gè)φ3唯一對(duì)應(yīng)一個(gè)φ2的值,所以φ2也有4個(gè)值。
3.5.4篩選最優(yōu)關(guān)節(jié)角φ1、φ2和φ3
由于φ1有兩個(gè)解,即φ11和φ12,每個(gè)φ1對(duì)應(yīng)兩個(gè)φ3,每個(gè)φ3唯一對(duì)應(yīng)一個(gè)φ2,所以共有4組解:{φ11,φ21,φ31}、{φ11,φ22,φ32}、{φ12,φ23,φ33}、{φ12,φ24,φ34}。雖然前3個(gè)關(guān)節(jié)角有4組解,但是由于機(jī)器人各個(gè)關(guān)節(jié)均有旋轉(zhuǎn)角范圍,故每個(gè)關(guān)節(jié)角必須在此范圍之內(nèi),關(guān)節(jié)角范圍如表1所示。若此時(shí)只剩下一組解,則此組關(guān)節(jié)角為最終的前3個(gè)關(guān)節(jié)角;如仍然剩下多組解,則表示這些角均可使機(jī)器人達(dá)到期望位姿,此時(shí)可依據(jù)轉(zhuǎn)動(dòng)幅度最小原則篩選出最優(yōu)關(guān)節(jié)角。得到的最優(yōu)關(guān)節(jié)角φ1、φ2和φ3將用于計(jì)算后3個(gè)關(guān)節(jié)角φ4、φ5和φ6。
3.5.5關(guān)節(jié)角φ5
φ5=arccos(c2+3(sz-1cxsy-cz-1sx)+s2+3cxcy)
(7)
其中下標(biāo)“2+3”表示φ2+φ3,“z-1”表示θx7-φ1。φ5有兩個(gè)解,即φ51=φ5和φ52=-φ5。
(8)
其中g(shù)=s2+3cx(cz-1-sz-1cy)+c2+3cxcy
每一個(gè)φ5唯一對(duì)應(yīng)一個(gè)φ4,因φ5有2個(gè),故φ4有2個(gè)值。
(9)
每一個(gè)φ5對(duì)應(yīng)一個(gè)φ6,因?yàn)榇嬖?個(gè)φ5,故φ6有2個(gè)值。由式(8)、(9)可知,當(dāng)φ5=0時(shí),關(guān)節(jié)5處于奇異點(diǎn)位置,相應(yīng)的雅可比矩陣不可逆,φ4和φ6無解,此時(shí)不能使用公式求解關(guān)節(jié)角φ4和φ6。此時(shí),本文令φ5為一個(gè)極小值(0.000 1°),將其代入式(8)、(9)中求解φ4和φ6。
3.5.8篩選最優(yōu)關(guān)節(jié)角φ4、φ5和φ6
由于φ5有2個(gè)解,即φ51和φ52,每個(gè)φ5唯一對(duì)應(yīng)一個(gè)φ4和φ6,所以共有2組解:{φ41,φ51,φ61}、{φ42,φ52,φ62}。首先需要判斷2組解是否均在關(guān)節(jié)旋轉(zhuǎn)角范圍內(nèi),若排除1組解則剩下1組解為最終的后3個(gè)關(guān)節(jié)角;如仍然剩下2組解,則表示這些角均可使機(jī)器人達(dá)到期望位姿,此時(shí)與篩選前3個(gè)關(guān)節(jié)角的方法一樣篩選后3個(gè)關(guān)節(jié)角。
物體檢測(cè)系統(tǒng)識(shí)別物體時(shí),能生產(chǎn)物體圖像邊框,邊框4點(diǎn)連線交點(diǎn)為中心點(diǎn),并作為機(jī)器人搬運(yùn)時(shí)的抓取點(diǎn)。文中的物體定位是針對(duì)物體中心點(diǎn)的定位。由中心點(diǎn)的像素坐標(biāo)系坐標(biāo)及其深度值,求其在相機(jī)坐標(biāo)系的位置,然后通過坐標(biāo)變換將其相機(jī)坐標(biāo)位置轉(zhuǎn)換到{0}系中的位置(X0,Y0,Z0),通過逆運(yùn)動(dòng)學(xué)求解,控制機(jī)器人各關(guān)節(jié)角,以實(shí)現(xiàn)機(jī)器人對(duì)目標(biāo)物體的抓取。
Kinect深度相機(jī)與RGB彩色相機(jī)安裝位置不同,所以觀察視角也不同,其彩色圖像的分辨率是1 920像素×1 080像素,深度圖像分辨率是512像素×424像素,彩色圖像上的每一個(gè)像素(1 920×1 080=2 073 600)并不能在深度圖像上找到一一對(duì)應(yīng)的深度(512×424= 217 088)。Kinect for Windows SDK中提供一個(gè)將彩色幀映射到深度空間的函數(shù)(MapColorFrameToDepth SpaceUsingIntPtr)。該函數(shù)會(huì)得到一個(gè)長(zhǎng)度與彩色幀像素個(gè)數(shù)相同的一維數(shù)組(P[2073600]),數(shù)組中的元素表示原深度圖的坐標(biāo)位置,此坐標(biāo)位置的值表示相應(yīng)的深度值,將這些深度依次存放在與數(shù)組P相同長(zhǎng)度的一維數(shù)組(D[2073600])中。最后將數(shù)組D轉(zhuǎn)換成1 920×1 080的矩陣M。彩色圖像的每一個(gè)像素都能在矩陣M的相應(yīng)位置得到其深度Zc,Zc被用來求物體中心點(diǎn)在{0}中的位置信息(X0,Y0,Z0)。
利用張正友標(biāo)定法對(duì)Kinect相機(jī)進(jìn)行標(biāo)定。影響標(biāo)定誤差的主要因素為標(biāo)定板精度及標(biāo)定照片數(shù)量。此外還受光照強(qiáng)度、標(biāo)定圖片標(biāo)中定板面積占比、板面平整度等方面影響[21]。實(shí)驗(yàn)標(biāo)定板采用的是11×8黑白相間的平整正方形棋盤格(圖6),每個(gè)正方形邊長(zhǎng)為30 mm,其精度為±0.005 mm。
圖6 標(biāo)定板及其物理坐標(biāo)Fig.6 Calibration board and its physical coordinates
機(jī)器人末端去掉抓手,安裝標(biāo)定板后,標(biāo)定板中心為{8}坐標(biāo)系,標(biāo)定板坐標(biāo)系為{e},位于標(biāo)定板的左上方。標(biāo)定板中心點(diǎn)與六維力傳感器中心點(diǎn)對(duì)齊后,將其固定。在光照充足的情況,移動(dòng)機(jī)器人末端位置和姿態(tài)使標(biāo)定板處于不同位姿,通過Kinect獲得20幅標(biāo)定圖像,并確保每幅圖像中標(biāo)定板面積占比超過50%。
4.2.1相機(jī)坐標(biāo)系轉(zhuǎn)換到圖像坐標(biāo)系
從相機(jī)坐標(biāo)系{c}轉(zhuǎn)換到圖像坐標(biāo)系是將三維點(diǎn)轉(zhuǎn)換到二維點(diǎn),假設(shè)目標(biāo)物體在{c}的坐標(biāo)為(Xc,Yc,Zc),在圖像坐標(biāo)系上的投影坐標(biāo)為(x,y)。如圖7所示,根據(jù)相似三角形法,整理后{c}到圖像坐標(biāo)系的轉(zhuǎn)換關(guān)系為
(10)
式中f——焦距
[xy1]T——?dú)w一化后的圖像物理坐標(biāo)
圖7 物體在相機(jī)坐標(biāo)系和圖像坐標(biāo)系投影示意圖Fig.7 Projection of an object in camera coordinate
4.2.2相機(jī)坐標(biāo)系轉(zhuǎn)換到像素坐標(biāo)系
點(diǎn)K在圖像坐標(biāo)系中的坐標(biāo)為(x,y),在像素坐標(biāo)系中的坐標(biāo)為(u,v)。圖像坐標(biāo)系轉(zhuǎn)換到像素坐標(biāo)系的轉(zhuǎn)換關(guān)系為
(11)
式中 dx、dy——圖像中單個(gè)像素在x、y方向上分別占據(jù)的長(zhǎng)度單位數(shù)
u0、v0——圖像中心像素坐標(biāo)與圖像原點(diǎn)像素坐標(biāo)間相差的橫向、縱向像素?cái)?shù)
式(11)可以改寫成
(12)
式中K——相機(jī)內(nèi)參,為3×4矩陣
Xc——目標(biāo)物體在{c}的坐標(biāo)
4.2.3像素坐標(biāo)系轉(zhuǎn)換到基坐標(biāo)系
從世界坐標(biāo)系轉(zhuǎn)換到{c}是將三維點(diǎn)轉(zhuǎn)換到另一個(gè)三維點(diǎn)。在相機(jī)標(biāo)定過程中,將世界坐標(biāo)系與{e}設(shè)置為重合。令目標(biāo)物體在世界坐標(biāo)系({e})的坐標(biāo)值為Xe=(Xe,Ye,Ze)T,{e}到{c}的旋轉(zhuǎn)矩陣為R,平移向量為t,則{e}到{c}的關(guān)系為
(13)
將式(13)代入式(12)整理可得
(14)
其中
O——3×1零向量
由于標(biāo)定板固定在機(jī)器人末端,標(biāo)定板與機(jī)器人之間的位姿關(guān)系是確定的,故{e}中的一點(diǎn)可以表示為
(15)
結(jié)合式(14),可得像素坐標(biāo)系到{0}的轉(zhuǎn)換為
(16)
假設(shè){c}在{0}中的位姿表示為0Pc=(pcx,pcy,pcz,θcx,θcy,θcz)T,可得{c}到{0}的齊次變換矩陣為
4.2.4標(biāo)定結(jié)果
Kinect在獲得20幅棋盤格RGB圖像后,將其轉(zhuǎn)換成灰度圖;通過亞像素角點(diǎn)來獲得棋盤格角點(diǎn)像素點(diǎn)坐標(biāo)。因?yàn)槭澜缱鴺?biāo)系建立在棋盤格平面上,所以棋盤格角點(diǎn)在世界坐標(biāo)系的Z軸坐標(biāo)為零,棋盤格內(nèi)所有角點(diǎn)在世界坐標(biāo)系中的坐標(biāo)值是已知的。由20幅棋盤格圖像獲得的Kinect相機(jī)內(nèi)參矩陣為
將20種目標(biāo)物體依次隨機(jī)擺放在工作臺(tái)不同位置上,使用SSD模型檢測(cè)這些物體,SSD模型會(huì)將每一個(gè)物體的名稱及其準(zhǔn)確率顯示在物體邊框左上方,并用不同的顏色表示不同的物體類別(圖8)。
圖8 物體檢測(cè)結(jié)果Fig.8 Object detection results
根據(jù)邊框位置可以確定物體中心點(diǎn)在圖像中的準(zhǔn)確位置,如圖9所示,圖9a為深度圖像(經(jīng)彩色圖像映射深度空間處理后圖像),中心點(diǎn)代表物體的深度值,圖9b為彩色圖像,中心點(diǎn)坐標(biāo)表示物體像素坐標(biāo)。圖中物體“百事可樂罐”的深度Zc為1 218.75 mm,物體的像素坐標(biāo)得到后,根據(jù)式(16)可計(jì)算出物體在基坐標(biāo)系的準(zhǔn)確位置。
圖9 目標(biāo)物體的像素坐標(biāo)和深度Fig.9 Pixel coordinates and depth values of target objects
實(shí)驗(yàn)平臺(tái)上選擇4個(gè)位置,其坐標(biāo)分別是 (0.8,0.2)、(0.75,0.35)、 (0.5,0.7)、(0.6,0.6),然后將20個(gè)物體分別放置在此4個(gè)位置上(黑色“+”字標(biāo)記所在位置),計(jì)算得物體位置如圖10中粉色、藍(lán)色、紅色和綠色所示的“×”。20組數(shù)據(jù)所得的平均值及方差如表2所示,物體定位x向平均絕對(duì)誤差為5.2 mm,y向?yàn)?.8 mm。物體高度(Hr)及測(cè)量值的平均高度(Hm)如表3所示,物體高度的平均絕對(duì)誤差為4.5 mm。由測(cè)量結(jié)果可知,物體定位能夠比較準(zhǔn)確地測(cè)算出物體在平臺(tái)的位置,并且絕對(duì)誤差較小,能夠滿足抓取任務(wù)要求。
圖10 工作臺(tái)物體定位實(shí)驗(yàn)結(jié)果Fig.10 Experimental results of object positioning on workbench
坐標(biāo)平均值方差800794.53.5x向750745.43.1500496.311.7600600.42.6200496.311.7y向350350.36.4700695.73.8600600.13.0
表3 物體高度及其測(cè)量平均值Tab.3 Object height and measured average mm
為減少背景環(huán)境的干擾,實(shí)驗(yàn)臺(tái)的背景設(shè)置成淺藍(lán)色,并在光線充足的條件下進(jìn)行物體抓取實(shí)驗(yàn)。在實(shí)驗(yàn)平臺(tái)上選擇6個(gè)區(qū)域(圖10),分別將20個(gè)物體依次擺放在6個(gè)區(qū)域內(nèi),機(jī)器人在每個(gè)區(qū)域內(nèi)抓取物體5次,每個(gè)物體被抓取次數(shù)為6×5=30次;實(shí)驗(yàn)總次數(shù)為20×6×5=600次。實(shí)驗(yàn)抓取動(dòng)作流程如圖11所示。
抓取過程中出現(xiàn)失敗抓取情況,機(jī)器人不重新嘗試再次抓取該物體,操控者需將該目標(biāo)物體移出抓取區(qū),繼續(xù)后續(xù)其他物體抓取實(shí)驗(yàn)。即使出現(xiàn)抓取失敗物體碰倒其他物體的情況,只需將被碰倒的物體重新放回原位,SSD模型會(huì)對(duì)物體進(jìn)行再次識(shí)別,程序會(huì)重新計(jì)算該物體中心點(diǎn)的位置。
表4表示6個(gè)區(qū)域中20種物體被抓取實(shí)驗(yàn)的成功率,其中區(qū)域2和區(qū)域4的成功率最高,達(dá)到99%,區(qū)域6的成功率最低,但是也能夠達(dá)到95%。表5表示每個(gè)目標(biāo)物體被抓取的成功率,其中10個(gè)目標(biāo)物體被抓取成功率為100%,物體13的成功率最低,為83%。物體抓取失敗的主要原因是該物體的中間部分形狀不規(guī)則,為凹陷彎曲,Kinect在測(cè)量此類物體時(shí)其深度信息存在較大的誤差,最終導(dǎo)致定位系統(tǒng)所得到的物體位置也存在較大誤差。本實(shí)驗(yàn)的600次抓取中成功次數(shù)為582次,總成功率為97%,證明了通過深度學(xué)習(xí)檢測(cè)物體并將位置映射到機(jī)器人基坐標(biāo)系的方法在機(jī)器人抓取任務(wù)中是有效的。
設(shè)計(jì)了一個(gè)基于Kinect相機(jī)的機(jī)器人抓取系統(tǒng),利用該系統(tǒng)可實(shí)時(shí)對(duì)作業(yè)環(huán)境內(nèi)的物體進(jìn)行識(shí)別檢查,準(zhǔn)確計(jì)算物體的定位信息。
圖11 機(jī)器人抓取物體動(dòng)作流程Fig.11 Action diagram of object grasping experiment
項(xiàng)目區(qū)域123456成功率/%969996999795
對(duì)所構(gòu)建的系統(tǒng)分別進(jìn)行了物體檢查、定位及抓取實(shí)驗(yàn)。物體在x向平均絕對(duì)誤差為5.2 mm,y向平均絕對(duì)誤差為2.8 mm,物體高度的平均絕對(duì)誤差為4.5 mm,誤差較小,滿足物體抓取時(shí)的定位要求,物體抓取實(shí)驗(yàn)的成功率達(dá)到97%。
表5 物體抓取實(shí)驗(yàn)的成功率Tab.5 Success rate of object grasping experiment
實(shí)驗(yàn)結(jié)果表明,所構(gòu)建的機(jī)器人系統(tǒng)針對(duì)不同目標(biāo)物體能實(shí)時(shí)、可靠地完成物體抓取搬運(yùn)任務(wù)。