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