孔令升 崔西寧 郭俊廣 宋 展 孫紅雨
1(中國科學(xué)院深圳先進(jìn)技術(shù)研究院 深圳 518055)
2(中國科學(xué)院大學(xué) 北京 100039)
3(山東科技大學(xué) 青島 266590)
機(jī)械臂抓取是機(jī)器人自動(dòng)化領(lǐng)域的一個(gè)重要研究課題,在分揀、裝配、上料、焊接、噴涂等領(lǐng)域有著廣泛的應(yīng)用。現(xiàn)有的機(jī)械臂抓取技術(shù)包括基于 2D 圖像與基于 3D 視覺抓取技術(shù)。其中,基于 2D 圖像抓取技術(shù)是抓取技術(shù)中較成熟的技術(shù),但由于缺乏 3D 姿態(tài),機(jī)械臂只能豎直向下獲取抓取位置,故在復(fù)雜的環(huán)境中,該技術(shù)已不能滿足空間抓取的應(yīng)用要求[1-2]?;?3D 視覺抓取技術(shù)由于獲取物體目標(biāo)空間位姿的不確定性、獲取點(diǎn)云分辨率低、手眼標(biāo)定結(jié)果誤差大、場景的復(fù)雜性及遮擋等因素影響,增加了機(jī)械臂抓取物體目標(biāo)的難度。隨著工業(yè)技術(shù)的不斷發(fā)展,機(jī)械臂抓取的需求也愈發(fā)向可靠、快速和精確方向發(fā)展,對現(xiàn)有機(jī)械臂抓取技術(shù)提出了嚴(yán)峻挑戰(zhàn)。
現(xiàn)有的 3D 點(diǎn)云獲取技術(shù)包括雙目、結(jié)構(gòu)光和飛行時(shí)間等[3-5]。在不同的 3D 點(diǎn)云獲取技術(shù)中,基于結(jié)構(gòu)光的三維掃描方法以其高精度和高效率而被廣泛使用。黃會(huì)明等[6]提出了一種基于微振鏡結(jié)構(gòu)光的三維重建方法。該方法基于多頻外差的方法對物體進(jìn)行三維重建,使用了基于點(diǎn)對特征三維特征匹配的方式對獲取的三維數(shù)據(jù)與基準(zhǔn)模型進(jìn)行匹配和定位操作,能獲取任意位置放置的物體在機(jī)器人坐標(biāo)系中的三維坐標(biāo)和法線信息。與 Kinect 相比,該方法無論是在精度還是在處理時(shí)間上都有了很大提升。Li 等[7]提出了一種二維視覺和三維視覺相結(jié)合的堆垛目標(biāo)拾取系統(tǒng)的設(shè)計(jì)方法。該系統(tǒng)利用結(jié)構(gòu)光的方法獲取三維信息,并提取出目標(biāo)區(qū)域,再利用廣義霍夫變換方法對目標(biāo)進(jìn)行匹配和位姿估計(jì),接著將物體的位姿發(fā)送給機(jī)械手進(jìn)行自動(dòng)抓取,其對散亂物體的捕捉非常有效,且利用二維和三維方法的結(jié)合提高了算法的效率。
手眼系統(tǒng)是由攝像機(jī)和機(jī)械手構(gòu)成的機(jī)器人視覺系統(tǒng),分為 Eye-in-Hand 式手眼系統(tǒng)[8]和 Eye-to-Hand 式手眼系統(tǒng)[9]。手眼標(biāo)定的意義在于建立起攝像機(jī)坐標(biāo)系與機(jī)械臂末端抓手坐標(biāo)系之間的聯(lián)系,能將在攝像機(jī)坐標(biāo)系下的信息通過建立的聯(lián)系轉(zhuǎn)換成在機(jī)械臂坐標(biāo)系下的信息。Tsai 和 Lenz[10]早在 20 世紀(jì) 80 年代就提出了經(jīng)典的方法,將手眼標(biāo)定的數(shù)學(xué)模型歸結(jié)為求解 AX=XB 矩陣,即將手眼標(biāo)定的求解具體化為矩陣的求解。Zhuang 等[11]提出了一種同時(shí)計(jì)算世界坐標(biāo)系到機(jī)械臂坐標(biāo)系、機(jī)械臂末端手爪坐標(biāo)系到攝像機(jī)坐標(biāo)系的剛體變換方法,通過運(yùn)用四元數(shù)推導(dǎo) X 和 Z 的顯式線性解求得 AX=ZB 的齊次矩陣方程。
本文提出一種針對非規(guī)則目標(biāo)的 3D 視覺引導(dǎo)抓取系統(tǒng),系統(tǒng)可分為體視覺模塊、點(diǎn)云處理模塊和抓取控制模塊。在立體視覺模塊中,采用格雷碼與線移結(jié)合的方法作為結(jié)構(gòu)光系統(tǒng)的編碼方案,通過解碼實(shí)現(xiàn)目標(biāo)高精度的三維重建[12]并建立 3D 模板庫。點(diǎn)云處理模塊對獲取的點(diǎn)云去噪后,將標(biāo)準(zhǔn)模板與預(yù)處理后的場景點(diǎn)云進(jìn)行匹配。得到匹配參數(shù)后,利用手眼標(biāo)定參數(shù)計(jì)算出機(jī)器手抓取位姿。最后由抓取控制模塊完成引導(dǎo)機(jī)器手對目標(biāo)物體的抓取。
基于立體視覺的機(jī)械臂抓取系統(tǒng)由工業(yè)相機(jī)、投影儀、上位機(jī)、機(jī)器人控制器、電動(dòng)夾持器和機(jī)械臂等部分組成。
本文系統(tǒng)設(shè)計(jì)圖如圖 1 所示,對應(yīng)的硬件功能如下:投影儀與工業(yè)相機(jī)組成立體視覺系統(tǒng)。具體地,首先由投影儀投出編碼圖案,工業(yè)相機(jī)進(jìn)行拍攝并將采集到的圖像傳到上位機(jī);隨后上位機(jī)對圖像進(jìn)行處理,利用標(biāo)定的參數(shù)對投影儀投出的編碼圖案進(jìn)行解碼,得到三維點(diǎn)云數(shù)據(jù)后,再進(jìn)行模板點(diǎn)云獲取、點(diǎn)云去噪、點(diǎn)云分割、表面模板匹配等步驟;待獲取抓取位置姿態(tài)后通過 TCP/IP(Transmission Control Protocol/Internet Protocol)通信傳送給機(jī)器人控制器,控制機(jī)械臂與電動(dòng)夾持器完成抓取動(dòng)作并將抓取目標(biāo)物放置在指定位置。
在 Windows 系統(tǒng)環(huán)境下,以 VS2015 作為軟件開發(fā)平臺(tái),C++語言作為程序開發(fā)環(huán)境。系統(tǒng)軟件結(jié)構(gòu)運(yùn)用類設(shè)計(jì)思想,對應(yīng)的系統(tǒng)軟件結(jié)構(gòu)如圖 2 所示,分為立體視覺模塊、點(diǎn)云處理模塊和抓取控制模塊。
(1)立體視覺模塊。該部分先對相機(jī)、投影儀及相機(jī)投影儀之間的旋轉(zhuǎn)平移矩陣參數(shù)進(jìn)行標(biāo)定,再對投影儀的投影圖案進(jìn)行編碼,獲得高質(zhì)量的編碼圖像后,結(jié)合標(biāo)定參數(shù)進(jìn)行解碼獲取點(diǎn)云數(shù)據(jù),并將點(diǎn)云數(shù)據(jù)發(fā)送至點(diǎn)云處理模塊。
圖 1 系統(tǒng)設(shè)計(jì)圖Fig. 1 The diagram of system design
圖 2 系統(tǒng)軟件結(jié)構(gòu)Fig. 2 Structure of system software
(2)點(diǎn)云處理模塊。該方案采用模板匹配方案對場景中物體進(jìn)行抓取。首先,在工作距離下獲取標(biāo)準(zhǔn)模板,并獲取標(biāo)準(zhǔn)模板下的抓取位姿與放置位姿;然后,對獲取場景點(diǎn)云進(jìn)行分割,并將分割后的點(diǎn)云與標(biāo)準(zhǔn)模板進(jìn)行匹配,獲取抓取位姿;最后,通過 TCP/IP 通信將數(shù)據(jù)傳送到抓取控制模塊。
(3)抓取控制模塊。抓取控制模塊主要包括機(jī)械臂控制模塊、電動(dòng)夾持器抓取控制模塊和路徑規(guī)劃模塊。機(jī)械臂控制模塊通過實(shí)時(shí)獲取目標(biāo)位姿,并計(jì)算機(jī)械臂控制參數(shù)來控制機(jī)械臂移動(dòng)。當(dāng)機(jī)械臂到達(dá)目標(biāo)位姿后,由電動(dòng)夾持器抓取控制模塊進(jìn)行抓取,確保抓取成功。為避免抓取后與平臺(tái)發(fā)生碰撞,根據(jù)抓取位姿與放置目標(biāo)位姿合理規(guī)劃路徑,確保目標(biāo)物能準(zhǔn)確放到指定位置。
本文提出的抓取系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)大致分 3 步:(1)標(biāo)定結(jié)構(gòu)光系統(tǒng)內(nèi)外參數(shù)與機(jī)械臂手眼標(biāo)定參數(shù),通過解碼編碼圖像完成點(diǎn)云重建,基于此完成模板庫的建立;(2)進(jìn)行場景點(diǎn)云與模板庫中標(biāo)準(zhǔn)模板點(diǎn)云匹配,找出匹配率最高的匹配參數(shù)作為最終結(jié)果,獲取轉(zhuǎn)換矩陣;(3)基于標(biāo)定參數(shù)與匹配得到的轉(zhuǎn)換矩陣,獲取抓取位姿,引導(dǎo)機(jī)械臂完成抓取。
圖 3 系統(tǒng)標(biāo)定原理圖Fig. 3 System calibration schematic diagram
其中,[R, T] 為轉(zhuǎn)換矩陣。
由公式(1)~(3)使用格雷碼與線移結(jié)合進(jìn)行編解碼[13-14],可解出攝像機(jī)坐標(biāo)系下的空間點(diǎn)坐標(biāo),具體如公式(4)所示。
圖 4 手眼標(biāo)定原理圖Fig. 4 System calibration schematic diagram
基于上述方案獲取點(diǎn)云后,用三維制圖軟件創(chuàng)建匹配模板。構(gòu)建 3D 模板庫時(shí),需獲取不同位姿下的物體點(diǎn)云構(gòu)建模板庫,以解決實(shí)際場景中遮擋和堆疊情況下獲取點(diǎn)云的多姿態(tài)問題。
本文采用點(diǎn)對特征的三維點(diǎn)云匹配算法[18]。點(diǎn)對特征分為全局特征與局部特征,其中全局特征匹配恢復(fù)三維姿態(tài)計(jì)算量巨大[19],而直接在點(diǎn)云上進(jìn)行關(guān)鍵點(diǎn)、面片等局部特征提取易出現(xiàn)誤匹配[20]。在本文 3.1 小節(jié)中,完成了 2D 圖像到 3D 點(diǎn)云的轉(zhuǎn)換,通過轉(zhuǎn)換矩陣的逆矩陣可將 3D 點(diǎn)云轉(zhuǎn)換為 2D 圖像,隨后在模板圖像中設(shè)置關(guān)鍵點(diǎn),可生成 128 維關(guān)鍵點(diǎn)描述子[21]。在局部對模型圖片和場景圖片進(jìn)行匹配時(shí),選取匹配率最高的 3 對像素點(diǎn)映射到 3D 點(diǎn)云中構(gòu)建點(diǎn)對特征。而對匹配結(jié)果進(jìn)行驗(yàn)證時(shí),選取匹配誤差最小的特征作為點(diǎn)對特征,從而恢復(fù)模型在場景中的全局姿態(tài)。點(diǎn)對特征可用來描述兩個(gè)點(diǎn)的相對位置及法線方向[22]。假設(shè)對于任意兩個(gè)點(diǎn) m1、m2以及它們各自的法矢量 n1、n2,令矢量差 d=m2-m1,并定義特征 F 為:
其中,設(shè)分量 F1為 m1和 m2之間的距離;F2和 F3為法線與兩點(diǎn)定義的向量夾角;F4為兩法線夾角。點(diǎn)對特征 F 的 4 個(gè)分量如圖 5 所示。
圖 5 特征描述Fig. 5 Feature description
點(diǎn)云匹配識(shí)別率由相關(guān)度大小決定匹配程度。在匹配過程中,堆疊物體會(huì)匹配多個(gè)模板,且由于不同模板在場景中遮擋程度不同,以及模板本身特征的差異,最終生成多組匹配數(shù)據(jù)。因此,取匹配率最高的一組數(shù)據(jù)作為最終識(shí)別結(jié)果。由于場景中總會(huì)有一目標(biāo)處于無遮擋或接近于無遮擋狀態(tài),使用該方案在復(fù)雜的堆疊情況下也能有效識(shí)別。
本文實(shí)驗(yàn)平臺(tái)由工業(yè)相機(jī)、投影儀、UR5 機(jī)械臂和 RG2 夾持器組成。其中,??倒I(yè)相機(jī)(MV-CA013-20UM)分辨率為 1 280×1 024,像元尺寸為 4.8 μm,最高幀率為 170 fps;鏡頭為 OPT(奧普特)工業(yè)定焦鏡頭(OPT-C1214-2M),光圈為 1.4~16,焦距為 12 mm,C 接口鏡頭;投影儀采用德州儀器公司的投影儀(DLP4500),分辨率為 912×1 140,像素尺寸為 7.64 μm;機(jī)械臂選用丹麥優(yōu)傲機(jī)械臂(UR5),有效負(fù)載為 5 kg,有效工作半徑為 850 mm,自由度為 6 個(gè)旋轉(zhuǎn)關(guān)節(jié);夾爪選用丹麥優(yōu)傲夾持器(RG2),有效載荷為2 kg,夾持力為 3~40 N,總行程為 110 mm,行程時(shí)間為 950 ms/200 ms。實(shí)驗(yàn)平臺(tái)搭建如圖 6 所示。
在基于結(jié)構(gòu)光的機(jī)器人抓取實(shí)驗(yàn)中,首先需要重建出散亂擺放系列物體的三維數(shù)據(jù),且重點(diǎn)在三維數(shù)據(jù)的獲取速度和精度上。因此,本文選用國際象棋和金屬兩種物體進(jìn)行實(shí)驗(yàn)。其中,國際象棋表面形狀復(fù)雜、沒有顏色特征,且比較小,使用其他方式很難獲取高精度 3D 模型。金屬物體由于高反區(qū)域及黑暗區(qū)域使重建模型容易造成缺失。本文國際象棋和金屬物體三維數(shù)據(jù)獲取結(jié)果如圖 7 和圖 8 所示。其中,使用結(jié)構(gòu)光掃描設(shè)備投射條紋,結(jié)果如圖 7(b)和圖 8(b)所示。根據(jù)編解碼圖案和標(biāo)定數(shù)據(jù)得到的物體三維重建結(jié)果如圖 7(c)和圖 8(c)所示。通過象棋與金屬物體進(jìn)行泊松重建(如圖 7(d)和圖 8(d)所示),驗(yàn)證了重建結(jié)果的高精度。使用如圖 7(c)和圖 8(c)所示模板庫中的模板點(diǎn)云在如圖 7(h)和圖 8(h)的三維場景數(shù)據(jù)上進(jìn)行匹配,找到所有匹配到的物體在場景點(diǎn)云中的旋轉(zhuǎn)平移矩陣,匹配得到的物體用黑色顯示,如圖 9 所示。完成匹配矩陣計(jì)算后,即可通過計(jì)算獲取抓取點(diǎn)完成抓取。圖 10 為將匹配結(jié)果進(jìn)行分析計(jì)算獲取抓取位置姿態(tài)后完成抓取動(dòng)作的過程。
本文使用標(biāo)準(zhǔn)國際象棋進(jìn)行抓取實(shí)驗(yàn),其任務(wù)是在散亂放置的象棋中,抓取匹配到的模板象棋,并以一定姿態(tài)放置于指定位置上。其中,象棋采用人工放置,且隨機(jī)擺放。模板匹配得到匹配參數(shù)后,系統(tǒng)按照第 3.3 小節(jié)中的程序抓取象棋,抓取實(shí)驗(yàn)過程如圖 10 所示。
為分析抓取系統(tǒng)的性能,驗(yàn)證精度時(shí)將機(jī)械臂移動(dòng)到測量位置,使用示教器讀取機(jī)械臂在世界坐標(biāo)系下的標(biāo)準(zhǔn)抓取坐標(biāo)與姿態(tài)?;?3D 視覺引導(dǎo)抓取系統(tǒng)同樣可得實(shí)際抓取坐標(biāo)與姿態(tài)。實(shí)驗(yàn)設(shè)置計(jì)算兩組坐標(biāo)之間的距離作為位置精度,取 Z 軸方向的旋轉(zhuǎn)角誤差作為角度誤差,相機(jī)獲取圖片到位姿輸出的時(shí)間作為處理時(shí)間(未包括機(jī)械臂運(yùn)動(dòng)時(shí)間)。實(shí)驗(yàn)共采集 100 組數(shù)據(jù)比較以確定其精度,其中 5 組數(shù)據(jù)如表 1 所示。
圖 6 實(shí)驗(yàn)平臺(tái)搭建 Fig. 6 The experimental setup
圖 7 國際象棋的結(jié)構(gòu)光重建Fig. 7 3D reconstruction of chess model with structured light
圖 8 金屬的結(jié)構(gòu)光重建Fig. 8 3D reconstruction of metal model with structured light
圖 9 模板匹配結(jié)果Fig. 9 Template matching results
圖 10 抓取的關(guān)鍵步驟Fig. 10 Key steps of picking
表 1 精度與處理時(shí)間的比較Table 1 Comparision of accuracy and processing time
從實(shí)驗(yàn)結(jié)果來看,象棋的準(zhǔn)確抓取驗(yàn)證了抓取系統(tǒng)的精度。此法位置精度在 0.05 mm 內(nèi),繞 Z 軸的旋轉(zhuǎn)角度誤差在 5°以內(nèi),處理時(shí)間在 0.2 s 左右,散亂象棋識(shí)別率為 100%,機(jī)器人成功抓取率可達(dá) 97%。進(jìn)行金屬零件抓取時(shí),由于重建點(diǎn)云噪點(diǎn)過多,識(shí)別率可達(dá) 94%,機(jī)器人成功抓取率可達(dá) 86%。黃會(huì)明等[6]提出基于微振鏡結(jié)構(gòu)光的方式可獲得 0.1 mm 左右的重建精度,獲取位置信息處理時(shí)間約為 0.4 s,但其并未進(jìn)行姿態(tài)精度計(jì)算。Li 等[7]提出一種二維視覺和三維視覺相結(jié)合的堆垛目標(biāo)拾取系統(tǒng)的設(shè)計(jì)方法,抓取精度達(dá) 1 mm。Lin 等[25]提出一種基于深度學(xué)習(xí)的機(jī)器人視覺目標(biāo)識(shí)別與姿態(tài)估計(jì)系統(tǒng)的設(shè)計(jì)方案,抓取平均平移和旋轉(zhuǎn)誤差分別小于 5.2 mm 和 3.95°。Le 和 Lin[26]基于二維像素值提取三維點(diǎn)云數(shù)據(jù),抓取平均平移和旋轉(zhuǎn)誤差分別小于 0.23 cm 和 2.26°,抓取一次時(shí)間約為 0.9 s,不適合小物體抓取。Wang 等[27]提出端到端的深度學(xué)習(xí)方法估計(jì)六自由度物體姿態(tài),機(jī)器人成功抓取率僅為 73%,且訓(xùn)練模型時(shí)間長,故不適合在工業(yè)任務(wù)中使用。Wang 等[28]提出一種求取給定類別中不可見對象實(shí)例 6D 位姿的方法,在散亂場景中識(shí)別率為 94.7%。Park 等[29]提出一種新的 6D 姿態(tài)估計(jì)框架 Pix2Pose,正確估計(jì)姿態(tài)百分比為 72.4%,訓(xùn)練集所需數(shù)據(jù)量龐大,且系統(tǒng)框架復(fù)雜。Park 等[30]提出一種多任務(wù)模板匹配(MTTM)框架,該框架預(yù)測分割率為 78.8%、位姿預(yù)測正確率為 52.9%,完成抓取小型物體任務(wù)不穩(wěn)定。目前,雖然基于深度學(xué)習(xí)的識(shí)別與位姿估計(jì)方案無需提前準(zhǔn)備 3D 模板即可完成抓取,但在工業(yè)應(yīng)用中仍有識(shí)別率過低、位姿估計(jì)魯棒性差等問題亟需解決。與現(xiàn)有的方法相比,本文的抓取系統(tǒng)可作為高精度工業(yè)抓取切實(shí)可行的解決方案,但所提方案基于 3D 模板庫限制了使用場景,仍需進(jìn)一步研究。
針對可靠、快速和精確機(jī)械臂抓取工作,本文搭建結(jié)構(gòu)光三維重建系統(tǒng),利用結(jié)構(gòu)光系統(tǒng)高精度、快速重建的優(yōu)勢,在 10 ms 內(nèi)獲得了物體的高精度三維信息。為精確計(jì)算目標(biāo)的姿態(tài),先對點(diǎn)云進(jìn)行濾波處理,再采用點(diǎn)對特征的三維點(diǎn)云匹配算法對場景和模型點(diǎn)云進(jìn)行精確匹配。通過坐標(biāo)系變換確定目標(biāo)位姿,以便機(jī)器人正確地抓取目標(biāo)。該系統(tǒng)能在散亂物體中以準(zhǔn)確位姿抓取目標(biāo),可靠、快速和精確地完成機(jī)械臂抓取工作,可應(yīng)用于分揀、裝配、上料等工業(yè)自動(dòng)化領(lǐng)域,尤其是小目標(biāo)抓取領(lǐng)域,以提高現(xiàn)有生產(chǎn)線的性能。