999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Kinect的機器人抓取系統研究

2019-02-15 07:25:08黃玲濤繆海峰李亞男
農業機械學報 2019年1期
關鍵詞:深度實驗模型

黃玲濤 王 彬 倪 濤 繆海峰 李亞男

(吉林大學機械與航空航天工程學院, 長春 130022)

0 引言

隨著人工智能的快速發展,機器人技術的研究水平得到了飛速的提高,計算機視覺和機器人技術的結合成為當前的研究熱點。受HUBEL等[1]的生物研究啟發,卷積神經網絡(Convolutional neural network, CNN)[2-4]被提出,并在物體識別、物體檢測[5]等領域取得了成功。通過計算機視覺技術[5]對物體進行識別,然后控制機器人實現抓取成為研究的一個重要領域,該技術的實現可以擺脫傳統的示教模式,應對不同的作業環境,并且能夠大大降低人工成本,提高經濟效益。

目前,在物體檢測方面,牛津大學計算機視覺組(Visual geometry group, VGG)提出的VGG模型(Visual geometry group network, VGGNet)[6]成功地構建了VGGNet-11、GGNet-13、VGGNet-16和VGGNet-19等卷積神經網絡模型。VGGNet-16被用在深度學習SSD模型[7-9]中,并能夠使模型獲得較高的運行速度和檢測精度。

在物體定位方面,為了得到物體在三維空間的坐標信息和在圖像中的像素信息之間的映射,可以通過文獻[10-11]方法對相機進行標定,獲得其內參、外參、畸變參數等。文獻[12-15]通過手眼標定將機器人系統和視覺系統連接起來,然后通過坐標變換得到物體在機器人基坐標系中的三維坐標,完成機器人的抓取任務[16-18]。

在機器人抓取方面,LENZ等[19]將深度學習方法引入到機器人抓取中。LEVINE等[20]收集機器人抓取實驗數據用于訓練神經網絡模型,該模型通過卷積神經網絡預測手爪成功抓取物體的概率,并完成抓取動作。

本文提出將Kinect攝像頭作為視覺采集器,對物體識別及機器人的抓取搬運進行研究,利用SSD模型對物體類型進行實時識別,通過張正友標定法[10-11]獲取Kinect內外參并計算物體位置信息,最后控制機器人各關節,以完成機器人對物體的抓取搬運任務。

1 系統組成

物體抓取系統結構如圖1所示,Kinect相機與機器人分別固定在工作環境中,相機固定在工作臺,其不隨機械手一起運動。物體抓取系統包括物體檢測系統、物體定位系統和機器人抓取系統。物體檢測系統是基于SSD模型的深度學習方法,通過對20個目標物體采樣、標記和訓練后形成適合本系統的物體檢測模型。物體識別模型在Kinect相機獲得工作場景的實時彩色圖像后,識別出目標物體并顯示物體類別和邊框,同時輸出物體在像素坐標系中的像素坐標。物體定位系統獲得物體在圖像中的像素位置以及對應的深度值后,通過手眼標定方法,得到物體在機器人基坐標下的位置。機器人抓取系統在得到目標物體坐標值后,通過逆運動學求解得到機器人6個關節需要到達的位置,控制機器人及其機械手爪實現抓取搬運動作。

圖1 物體抓取系統結構示意圖Fig.1 Schematic of object grasping system

2 物體檢測系統

Kinect相機在采集物體不同位置和姿態下的彩色圖像后,對這些圖像中的物體類別及其在圖像中的像素坐標進行標注,然后將彩色圖像及其標注信息作為訓練樣本,訓練并生成SSD的物體檢測模型,實現目標物體檢測。

2.1 物體圖像采集及增強

以20種物體(易拉罐、礦泉水瓶和紙盒等)作為實驗的目標物體(圖2)。復雜環境背景的圖像會對模型訓練、評價和使用產生很大的干擾,為了減少這些干擾,機器人工作區域設置為淺藍色。

圖2 實驗所用的20種物體Fig.2 20 objects used in experiment

用于訓練模型的物體圖像信息不僅需要物體處在不同位置和姿態狀況下,而且還需要多個物體同時在一幅圖像中。為了充分擴充數據集,對原圖像作順時針旋轉10°,逆時針旋轉10°處理,并對原圖像以及旋轉圖像進行高斯噪聲處理和模糊處理,即一幅原圖像能夠得到8幅擴充圖像(圖3)。實驗共采集了449幅物體圖像,數據集共449×9=4 041幅圖像。

圖3 原圖的增強效果圖Fig.3 Enhancement effect pictures of original image

2.2 物體圖像標注、轉換及SSD模型

基于SSD模型的物體檢測技術屬于監督學習,所以需要獲得圖像中所有目標物體的標注信息,包括物體類別id和物體邊框像素位置。

當所有的彩色圖像均標注完畢后,需要將70%的圖像和對應標注文件作為訓練數據集,剩下30%作為評價數據集。雖然Fast R-CNN模型平均精度比SSD模型高一些,但是運行耗時卻比SSD模型高很多,基本無法滿足視頻實時處理的要求,因此本文使用SSD訓練模型,訓練模型的學習率設置為0.000 4,批量大小設置為1,訓練次數設置為40 000。隨著訓練次數的增加,損失函數值隨之減小。SSD訓練完成后,使用評價數據集測試所得到的SSD模型,其檢測精度為81.56%,可以用來作為檢測物體的模型。

3 機器人抓取系統

3.1 機器人

使用EPSON A901S型六自由度機器人實現對物體的抓取,其各坐標系如圖4所示。機器人與實驗臺連接處為機器人基坐標系({0}),關節1~3分別作為第{1}~{3}坐標系。由于此機器人的結構特點,以及為了使機器人擁有逆運動學封閉解,第{4}~{6}坐標系置于同一位置,即關節4處。此機器人的特點是前3個關節控制機器人末端的位置,后3個關節控制機器人末端的姿態。此后用{i}表示第i坐標系。

圖4 機器人坐標系簡圖Fig.4 Sketch of robot coordinate system0.基坐標系 1~7.關節坐標系

圖5 機械手爪和Arduino UNO單片機Fig.5 Mechanical gripper and Arduino UNO microcontroller

3.2 機械手爪

機械手爪(圖5a)通過連接法蘭固定在機器人末端,用于抓取目標物體。機械手爪由數字舵機驅動完成手爪的張合動作,并由Arduino UNO單片機(圖5b)編程控制。

3.3 機器人D-H參數

根據EPSON六自由度機器人、連接器和機械手爪的尺寸以及各個關節坐標系的位置和姿態,機器人D-H參數如表1所示。其中φ1~φ6為機器人關節1~6的關節角,該關節角為EPSON生產廠家定義,與D-H參數中的θi關系見表1。

表1 EPSON六自由度機器人D-H參數Tab.1 D-H parameters of EPSON six-degree-of-freedom robot

3.4 機器人正運動學

3.5 機器人逆運動學

如圖4所示,機械手爪末端中心位置為第{7}坐標系的原點位置。當機械手爪安裝在機器人末端時,為實現手爪到達指定的位置和姿態,必須對機器人的逆運動學求解。由于EPSON A901S機器人的結構特點,即第4~6坐標系交于一點滿足PIEPER準則,此機器人具有封閉解。

由于{7}相對于機器人基坐標系的位置和姿態已知,為(px7,py7,pz7,θx7,θy7,θz7)T,故{7}相對于基坐標系的齊次變換矩陣為

其中s表示sin,c表示cos,其下標x表示θx7,y表示θy7,z表示θz7。

{7}相對于{6}僅發生了平移,姿態沒有改變,所以{6}相對于{0}的姿態與{7}相對于{0}的姿態相同,故{6}的齊次變換矩陣為

其中,*表示未計算的值。由齊次變換矩陣的特點可知,矩陣第4列前3個值分別是{6}在基坐標系中的位置。令{6}在基坐標系中的位姿為(px,py,pz,θx,θy,θz)T,其中有

pxcosφ1+pysinφ1=0

(1)

(2)

(3)

3.5.1關節角φ1

根據式(1)可得

(4)

φ1存在多解,其為φ11和φ12,當φ1>0時,φ11=φ1,φ12=φ11-π。當φ1≤0時,φ12=φ1,φ11=φ12+π。

3.5.2關節角φ3

對式(2)和式(3)等號兩邊同時平方再相加,可解得

(5)

其中

每一個φ1對應的φ3有兩個值,即φ31=φ3和φ32=-φ3,因為φ1本身有兩個解,所以φ3有4個值。

3.5.3關節角φ2

將φ1和φ3代入式(2)和式(3)中,求解得

(6)

其中,φ2的正負號與sinφ2的正負號相同。每一個φ3唯一對應一個φ2的值,所以φ2也有4個值。

3.5.4篩選最優關節角φ1、φ2和φ3

由于φ1有兩個解,即φ11和φ12,每個φ1對應兩個φ3,每個φ3唯一對應一個φ2,所以共有4組解:{φ11,φ21,φ31}、{φ11,φ22,φ32}、{φ12,φ23,φ33}、{φ12,φ24,φ34}。雖然前3個關節角有4組解,但是由于機器人各個關節均有旋轉角范圍,故每個關節角必須在此范圍之內,關節角范圍如表1所示。若此時只剩下一組解,則此組關節角為最終的前3個關節角;如仍然剩下多組解,則表示這些角均可使機器人達到期望位姿,此時可依據轉動幅度最小原則篩選出最優關節角。得到的最優關節角φ1、φ2和φ3將用于計算后3個關節角φ4、φ5和φ6。

3.5.5關節角φ5

φ5=arccos(c2+3(sz-1cxsy-cz-1sx)+s2+3cxcy)

(7)

其中下標“2+3”表示φ2+φ3,“z-1”表示θx7-φ1。φ5有兩個解,即φ51=φ5和φ52=-φ5。

(8)

其中g=s2+3cx(cz-1-sz-1cy)+c2+3cxcy

每一個φ5唯一對應一個φ4,因φ5有2個,故φ4有2個值。

(9)

每一個φ5對應一個φ6,因為存在2個φ5,故φ6有2個值。由式(8)、(9)可知,當φ5=0時,關節5處于奇異點位置,相應的雅可比矩陣不可逆,φ4和φ6無解,此時不能使用公式求解關節角φ4和φ6。此時,本文令φ5為一個極小值(0.000 1°),將其代入式(8)、(9)中求解φ4和φ6。

3.5.8篩選最優關節角φ4、φ5和φ6

由于φ5有2個解,即φ51和φ52,每個φ5唯一對應一個φ4和φ6,所以共有2組解:{φ41,φ51,φ61}、{φ42,φ52,φ62}。首先需要判斷2組解是否均在關節旋轉角范圍內,若排除1組解則剩下1組解為最終的后3個關節角;如仍然剩下2組解,則表示這些角均可使機器人達到期望位姿,此時與篩選前3個關節角的方法一樣篩選后3個關節角。

4 基于Kinect相機的物體定位

物體檢測系統識別物體時,能生產物體圖像邊框,邊框4點連線交點為中心點,并作為機器人搬運時的抓取點。文中的物體定位是針對物體中心點的定位。由中心點的像素坐標系坐標及其深度值,求其在相機坐標系的位置,然后通過坐標變換將其相機坐標位置轉換到{0}系中的位置(X0,Y0,Z0),通過逆運動學求解,控制機器人各關節角,以實現機器人對目標物體的抓取。

4.1 彩色圖像映射到深度空間

Kinect深度相機與RGB彩色相機安裝位置不同,所以觀察視角也不同,其彩色圖像的分辨率是1 920像素×1 080像素,深度圖像分辨率是512像素×424像素,彩色圖像上的每一個像素(1 920×1 080=2 073 600)并不能在深度圖像上找到一一對應的深度(512×424= 217 088)。Kinect for Windows SDK中提供一個將彩色幀映射到深度空間的函數(MapColorFrameToDepth SpaceUsingIntPtr)。該函數會得到一個長度與彩色幀像素個數相同的一維數組(P[2073600]),數組中的元素表示原深度圖的坐標位置,此坐標位置的值表示相應的深度值,將這些深度依次存放在與數組P相同長度的一維數組(D[2073600])中。最后將數組D轉換成1 920×1 080的矩陣M。彩色圖像的每一個像素都能在矩陣M的相應位置得到其深度Zc,Zc被用來求物體中心點在{0}中的位置信息(X0,Y0,Z0)。

4.2 Kinect相機標定

利用張正友標定法對Kinect相機進行標定。影響標定誤差的主要因素為標定板精度及標定照片數量。此外還受光照強度、標定圖片標中定板面積占比、板面平整度等方面影響[21]。實驗標定板采用的是11×8黑白相間的平整正方形棋盤格(圖6),每個正方形邊長為30 mm,其精度為±0.005 mm。

圖6 標定板及其物理坐標Fig.6 Calibration board and its physical coordinates

機器人末端去掉抓手,安裝標定板后,標定板中心為{8}坐標系,標定板坐標系為{e},位于標定板的左上方。標定板中心點與六維力傳感器中心點對齊后,將其固定。在光照充足的情況,移動機器人末端位置和姿態使標定板處于不同位姿,通過Kinect獲得20幅標定圖像,并確保每幅圖像中標定板面積占比超過50%。

4.2.1相機坐標系轉換到圖像坐標系

從相機坐標系{c}轉換到圖像坐標系是將三維點轉換到二維點,假設目標物體在{c}的坐標為(Xc,Yc,Zc),在圖像坐標系上的投影坐標為(x,y)。如圖7所示,根據相似三角形法,整理后{c}到圖像坐標系的轉換關系為

(10)

式中f——焦距

[xy1]T——歸一化后的圖像物理坐標

圖7 物體在相機坐標系和圖像坐標系投影示意圖Fig.7 Projection of an object in camera coordinate

4.2.2相機坐標系轉換到像素坐標系

點K在圖像坐標系中的坐標為(x,y),在像素坐標系中的坐標為(u,v)。圖像坐標系轉換到像素坐標系的轉換關系為

(11)

式中 dx、dy——圖像中單個像素在x、y方向上分別占據的長度單位數

u0、v0——圖像中心像素坐標與圖像原點像素坐標間相差的橫向、縱向像素數

式(11)可以改寫成

(12)

式中K——相機內參,為3×4矩陣

Xc——目標物體在{c}的坐標

4.2.3像素坐標系轉換到基坐標系

從世界坐標系轉換到{c}是將三維點轉換到另一個三維點。在相機標定過程中,將世界坐標系與{e}設置為重合。令目標物體在世界坐標系({e})的坐標值為Xe=(Xe,Ye,Ze)T,{e}到{c}的旋轉矩陣為R,平移向量為t,則{e}到{c}的關系為

(13)

將式(13)代入式(12)整理可得

(14)

其中

O——3×1零向量

由于標定板固定在機器人末端,標定板與機器人之間的位姿關系是確定的,故{e}中的一點可以表示為

(15)

結合式(14),可得像素坐標系到{0}的轉換為

(16)

假設{c}在{0}中的位姿表示為0Pc=(pcx,pcy,pcz,θcx,θcy,θcz)T,可得{c}到{0}的齊次變換矩陣為

4.2.4標定結果

Kinect在獲得20幅棋盤格RGB圖像后,將其轉換成灰度圖;通過亞像素角點來獲得棋盤格角點像素點坐標。因為世界坐標系建立在棋盤格平面上,所以棋盤格角點在世界坐標系的Z軸坐標為零,棋盤格內所有角點在世界坐標系中的坐標值是已知的。由20幅棋盤格圖像獲得的Kinect相機內參矩陣為

5 實驗

5.1 物體檢測實驗

將20種目標物體依次隨機擺放在工作臺不同位置上,使用SSD模型檢測這些物體,SSD模型會將每一個物體的名稱及其準確率顯示在物體邊框左上方,并用不同的顏色表示不同的物體類別(圖8)。

圖8 物體檢測結果Fig.8 Object detection results

根據邊框位置可以確定物體中心點在圖像中的準確位置,如圖9所示,圖9a為深度圖像(經彩色圖像映射深度空間處理后圖像),中心點代表物體的深度值,圖9b為彩色圖像,中心點坐標表示物體像素坐標。圖中物體“百事可樂罐”的深度Zc為1 218.75 mm,物體的像素坐標得到后,根據式(16)可計算出物體在基坐標系的準確位置。

圖9 目標物體的像素坐標和深度Fig.9 Pixel coordinates and depth values of target objects

5.2 物體定位實驗

實驗平臺上選擇4個位置,其坐標分別是 (0.8,0.2)、(0.75,0.35)、 (0.5,0.7)、(0.6,0.6),然后將20個物體分別放置在此4個位置上(黑色“+”字標記所在位置),計算得物體位置如圖10中粉色、藍色、紅色和綠色所示的“×”。20組數據所得的平均值及方差如表2所示,物體定位x向平均絕對誤差為5.2 mm,y向為2.8 mm。物體高度(Hr)及測量值的平均高度(Hm)如表3所示,物體高度的平均絕對誤差為4.5 mm。由測量結果可知,物體定位能夠比較準確地測算出物體在平臺的位置,并且絕對誤差較小,能夠滿足抓取任務要求。

圖10 工作臺物體定位實驗結果Fig.10 Experimental results of object positioning on workbench

坐標平均值方差800794.53.5x向750745.43.1500496.311.7600600.42.6200496.311.7y向350350.36.4700695.73.8600600.13.0

表3 物體高度及其測量平均值Tab.3 Object height and measured average mm

5.3 物體抓取實驗

為減少背景環境的干擾,實驗臺的背景設置成淺藍色,并在光線充足的條件下進行物體抓取實驗。在實驗平臺上選擇6個區域(圖10),分別將20個物體依次擺放在6個區域內,機器人在每個區域內抓取物體5次,每個物體被抓取次數為6×5=30次;實驗總次數為20×6×5=600次。實驗抓取動作流程如圖11所示。

抓取過程中出現失敗抓取情況,機器人不重新嘗試再次抓取該物體,操控者需將該目標物體移出抓取區,繼續后續其他物體抓取實驗。即使出現抓取失敗物體碰倒其他物體的情況,只需將被碰倒的物體重新放回原位,SSD模型會對物體進行再次識別,程序會重新計算該物體中心點的位置。

表4表示6個區域中20種物體被抓取實驗的成功率,其中區域2和區域4的成功率最高,達到99%,區域6的成功率最低,但是也能夠達到95%。表5表示每個目標物體被抓取的成功率,其中10個目標物體被抓取成功率為100%,物體13的成功率最低,為83%。物體抓取失敗的主要原因是該物體的中間部分形狀不規則,為凹陷彎曲,Kinect在測量此類物體時其深度信息存在較大的誤差,最終導致定位系統所得到的物體位置也存在較大誤差。本實驗的600次抓取中成功次數為582次,總成功率為97%,證明了通過深度學習檢測物體并將位置映射到機器人基坐標系的方法在機器人抓取任務中是有效的。

6 結束語

設計了一個基于Kinect相機的機器人抓取系統,利用該系統可實時對作業環境內的物體進行識別檢查,準確計算物體的定位信息。

圖11 機器人抓取物體動作流程Fig.11 Action diagram of object grasping experiment

項目區域123456成功率/%969996999795

對所構建的系統分別進行了物體檢查、定位及抓取實驗。物體在x向平均絕對誤差為5.2 mm,y向平均絕對誤差為2.8 mm,物體高度的平均絕對誤差為4.5 mm,誤差較小,滿足物體抓取時的定位要求,物體抓取實驗的成功率達到97%。

表5 物體抓取實驗的成功率Tab.5 Success rate of object grasping experiment

實驗結果表明,所構建的機器人系統針對不同目標物體能實時、可靠地完成物體抓取搬運任務。

猜你喜歡
深度實驗模型
一半模型
記一次有趣的實驗
深度理解一元一次方程
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
做個怪怪長實驗
深度觀察
深度觀察
深度觀察
3D打印中的模型分割與打包
主站蜘蛛池模板: 波多野衣结在线精品二区| 久久精品亚洲专区| 亚洲热线99精品视频| 国产国语一级毛片| 亚洲欧美日韩色图| 欧美激情综合一区二区| 亚洲一级色| 91精品日韩人妻无码久久| 久久久久亚洲精品成人网| 国产精品手机视频| 国产精品999在线| 亚洲av日韩av制服丝袜| www.youjizz.com久久| 日韩高清成人| 亚洲成人高清无码| 在线综合亚洲欧美网站| 免费久久一级欧美特大黄| 国产成人调教在线视频| 亚洲αv毛片| 国产99欧美精品久久精品久久| 激情综合婷婷丁香五月尤物| 少妇人妻无码首页| 中文天堂在线视频| 亚洲欧美不卡视频| 免费在线成人网| 欧美激情二区三区| 天天综合网站| 欧美一区中文字幕| www.99在线观看| 曰AV在线无码| 欧美亚洲国产日韩电影在线| 日韩第一页在线| 亚洲国产第一区二区香蕉| 欧美精品在线观看视频| 国产三区二区| 综合网天天| 欧美精品影院| 亚洲午夜国产精品无卡| 国产手机在线观看| 亚洲国产一区在线观看| 91在线国内在线播放老师| 成人福利在线视频免费观看| 欧美区一区| 青青青国产精品国产精品美女| 欧美伊人色综合久久天天| 波多野一区| 亚洲久悠悠色悠在线播放| 五月天在线网站| 丁香婷婷久久| 精品第一国产综合精品Aⅴ| 她的性爱视频| 大陆国产精品视频| 538精品在线观看| 亚洲第一页在线观看| 日本高清免费不卡视频| 国内精自视频品线一二区| 中文字幕人妻无码系列第三区| 88av在线播放| 国产精品视频第一专区| 高潮毛片免费观看| 有专无码视频| 国产精品亚洲一区二区三区在线观看| 91色综合综合热五月激情| 99热最新网址| 毛片免费视频| 婷婷中文在线| 国产精品福利导航| 成人免费一级片| 福利片91| 天堂成人在线视频| 97se亚洲综合在线| 免费人成网站在线观看欧美| 五月丁香伊人啪啪手机免费观看| 特级毛片8级毛片免费观看| 国产乱子伦视频三区| 中国精品自拍| 亚洲狠狠婷婷综合久久久久| 在线观看视频99| 国产v欧美v日韩v综合精品| 国产美女在线观看| 国产成人区在线观看视频| 久久亚洲国产视频|