劉建春,高永康,陳勇忠
(1.廈門理工學院機械與汽車工程學院,福建 廈門 361024;2.廈門理工學院電氣工程與自動化學院,福建 廈門 361024)
隨著工業機器人的快速發展,其在機械加工、磨削拋光、裝配、噴涂等作業中得到廣泛的應用[1]。工業機器人雖然可以完成諸多復雜、危險的工作,但大多數需要人工示教完成指定的動作,無法滿足制造加工過程自動化及智能化的需求[2]。將視覺技術與機器人技術結合應用如同給機器人安裝了眼睛,可以使機械臂的動作更加智能化、靈活化。國內外研究人員對視覺引導機器人定位抓取目標物體做了大量研究。文獻[3]研究了采用單目視覺引導機器人的方式,將相機固定在機械臂末端,采用吸盤實現對目標物的抓取。文獻[4]以圓柱形膠瓶蓋為研究對象,通過放置在不同位置的相機求取物體三維坐標,然后對機器人進行正、逆運動學求解,最終引導末端執行器抓取目標物體。文獻[5]以工裝板為研究對象,以雙目視覺技術為基礎,通過求取定位孔的三維位置坐標,最終引導末端夾爪實現夾取功能。
雖然國內外學者對視覺引導機器人抓取物體做了很多研究,但還存在以下幾點不足。首先單目視覺雖然簡單方便但只局限于二維平面空間無法獲取深度信息。其次末端夾具的選擇上吸盤居多,僅能實現對質量較輕的物體抓取。雖然部分學者采取夾爪,但是在求取物體姿態僅求取了位置坐標,沒有計算偏轉角度,限制了抓取物體的姿態。同時研究對象大多數為圓柱、矩形等形狀規則的物體,離實際推廣應用還有一定的差距。
而異構件(如水龍頭)形狀復雜按照以上方法還難于實現精確的定位與抓取。為了實現機器人對多種姿態下水龍頭的定位抓取,開發了一套雙目視覺引導的異構件識別定位抓取系統,完成了圖像采集、雙目標定、手眼標定、偏轉角與機器人第六軸標定、圖像預處理、立體校正及匹配等功能模塊設計。
系統可以分為以下幾個部分:系統標定、圖像采集與預處理、立體校正與匹配、三維坐標及偏轉角的確定、系統通訊等,系統工作流程,如圖1所示。

圖1 系統工作流程Fig.1 System Workflow
在系統運行之前標定。分別進行單目及雙目標定,獲得其內部參數及二者之間的位姿關系。通過手眼標定得到視覺系統與機器人基坐標系之間的平移及旋轉矩陣。同時根據物體初始偏轉角度建立工件與機器人第六軸的轉換關系。系統運行時,放置于傳送帶上的水龍頭到達感應區域后光電傳感器動作,傳動帶停止,相機開始拍照。獲取的圖像經過預處理、立體校正與匹配等操作,計算出物體的三維坐標,同時利用圖像二階矩計算出偏轉角度。
將三維坐標及偏轉角經手眼轉換矩陣及偏轉角轉換公式運算,得到機器人基坐標系下的三維坐標及第六軸的旋轉角度,最后通過通訊模塊將數據發送給機器人控制柜引導機器人實現抓取動作。
標定是機器視覺應用中重要的一步[6],標定精度直接影響機器人能否實現定位抓取功能。系統標定包括四部分:單目標定、雙目標定、手眼標定、偏轉角與機器人第六軸標定。
單目標定是確定相機的內部與外部參數。常用的方法為張正友等人提出的基于2D靶標的相機標定法[7]。為了標定相機必須建立相應的數學模型,應用較多的是線性針孔成像模型。同時相機標定時涉及四種坐標系的轉換[8],實質是求取世界坐標系與像素坐標系的對應關系。
實驗采用(80×80)mm 的(7×7)圓點實心陣列陶瓷標定板,通過拍攝(15~20)張不同姿態的標定板圖像運行程序即可完成標定。
雙目標定是在單相機標定的基礎上求取二者之間的相對位姿關系。通過單目標定求取相機的內部與外部參數,假設左右相機外部參數分別用Rl、Tl與Rr、Tr表示,同理二者之間的相對位姿可用旋轉矩陣RR,與平移向量TR表示。
假設點P在世界坐標系與左、右相機坐標系下的非齊次坐標分別為Xw,Xl,Xr,則三者有以下關系[9]:

由于左右相機的外部參數是相對于同一個世界坐標系,消去Xw得:

可得右相機相對左相機的轉換關系為:

根據式(3)及單目標定結果,則左右相機的位姿關系,如式(4)所示:

機器人手眼關系可以分為eye-to-hand與eye-in-hand兩種。由于實驗是在傳送帶上進行定位抓取,視野范圍是固定的,采用eye-to-hand方式比較合適,其手眼標定是建立相機坐標系與機器人基坐標之間的關系(以左相機作為相機坐標系建立手眼關系),手眼標定模型示意圖,如圖2所示。

圖2 手眼標定示意圖Fig.2 Hand-Eye Calibration Diagram

可得手眼標定的基本方程式[10]:

根據式(7)原理編寫程序,可得標定結果,如表1所示。

表1 手眼標定結果Tab.1 Results of Hand-Eye Calibration
實際放置的水龍頭有不同的偏轉方向,然而求得的三維坐標只能引導夾爪到達指定位置上方,此時只有夾爪與物體的方向一致才能完成抓取功能。但是手眼標定建立的是相機坐標系與機器人基坐標系之間的關系,未建立機器人第六軸關節與物體偏轉方向的關系。由于視覺系統的坐標系是基于左相機坐標系,則偏轉方向僅考慮左圖像中物體的方向即可。因此需建立左圖像偏轉角與機器人第六軸之間的轉換關系。
經圖像算法處理可提取水龍頭的圓柱區域,如圖3(d)所示。假設水龍頭的偏轉角度為α,為了方便轉換限制偏轉角度范圍為0 ≤α≤π。
夾爪到達指定位置正上方時讀取當前機器人第六軸的數據,假設此時旋轉角度為β,經過轉換后機器人末端第六軸的角度β為:

物體在實際成像過程中會受到相機內部電路噪聲、機械設備振動、環境光照變化等因素的影響,導致采集的圖片存在較多的噪聲,會對后期的特征提取及立體匹配產生較大影響,因此有必要對圖像進行初步的處理[11]。針對目標物周圍的椒鹽噪聲,采用(3×3)大小的掩模遍歷圖像像素,進行中值濾波處理。同時為了使物體邊緣更加清晰,通過開/閉運算去除邊緣的毛刺。
實際的雙目相機并非完全在同一平面,則兩相機拍攝的圖像也不再同一平面。當然在這種物理層次下也可以進行特征點的搜索與匹配,但是效率低下且時間較長。雙目標定后系統會生成對應左右相機的Map圖像,然后采用相應的Map圖對拍攝的圖像進行校正。校正后圖像共面且對應的特征點在同一水平線上,可以大大提高搜索效率[12]。
4.3.1 待抓取區域提取
由于水龍頭是不規則物體,如圖3(a)所示。且抓取的區域為圓柱體,需要根據圖像特征提取出圓柱體區域,然后將此區域建立為模板,進而通過模板匹配結果計算視差。通過視差及區域特征求取三維坐標及偏轉角度。
根據實驗周圍的光線明暗情況選擇合適的閾值參數,對圖像進行二值化處理,將其頂部區域分割,如圖3(b)所示。其次通過連通域分析選出目的區域,對選中的區域進行膨脹、結構元素腐蝕等形態學操作,如圖3(c)所示。最后提取類矩形區域的最小外接矩形即可將水龍頭圓柱體部分提出來,如圖3(d)所示。

圖3 抓取區域提取Fig.3 Fetching Region Extraction
4.3.2 立體匹配及三維坐標計算
經立體校正后,匹配點位于兩幅圖像對應的極線上。為了得到物體的深度信息需知左右圖像匹配點的視差值[13],因此左右圖像中對應點的正確匹配是求取三維坐標的關鍵。由于光線分布不均勻,為了減小光照變化對實驗的影響,選擇NCC模板匹配方法進行特征點的匹配[14],其原理如下:

式中:mt—模板的平均灰度值;st2—模板所有灰度值的方差;mf(x,y)—待測圖像的平均灰度值;sf2—待測圖像的所有灰度值方差。
同時為了減小誤匹配情況的出現,引入行坐標極線約束。假設模板的中心坐標為(xl,yl),對應的匹配點坐標為(xr,yr)。由于校正后圖像特征點在同一水平線上,以左右xl,xr坐標值為約束條件,當二者值相等時匹配成功,否則重新進行匹配直至成功。
將提取出的矩形區域建立為模板,當模板創建成功后返回區域的中心坐標(Rowl,Columnl)。然后依據設定的相似度數值及約束條件進行匹配判斷,匹配成功后返回右圖像中匹配區域的中心點坐標(Rowr,Columnr)。則視差D=Columnr-Columnl,根據獲取的匹配點視差及雙目標定結果及式(10)可計算出抓取位置的三維坐標。

將上述得到的坐標值(xc,yc,zc)經過手眼轉換矩陣即可得到機器人坐標系下的三維坐標。
4.3.3 偏轉角求取
矩形區域角度范圍為0 ≤α≤π,為了保證精度,實驗中采用圖像幾何矩計算目標物的偏轉方向。圖像幾何矩可以分為的一階矩、二階矩、三階矩,其中,二階矩可以計算物體的方向,二階矩計算方法,如式(11)所示。

式中:M20、M02、M11—圖像的二階矩;V(i,j)—圖像在(i,j)處的灰度值。
則圖像的偏轉方向R可表示為:

將式(12)得到的弧度值R轉換成角度α,經坐標變換,即可得到機器人第六軸的角度β。
如圖4所示,采用ABB IRB 1410六軸工業機器人,末端可負載2.5kg,定位精度0.01mm。選用像元尺寸大小(4.8×4.8)μm,分辨率530萬像素的相機。采用焦距為16mm的定焦鏡頭。雙目相機、機器人、PLC等通過交換機與上位機通信。視覺系統拍攝目標物體圖像,經處理得到實驗條件下待抓取點的三維坐標及偏轉角度。在夾爪末端固定一探針,操作機械臂使探針移至待抓取點,同時保持夾爪與物體抓取方向一致,讀取此時實際的三維坐標及偏轉角度。將視覺系統得到的位姿數據與實際的數據做差即可得到位姿誤差。三維坐標及偏轉角誤差,如圖5所示。

圖4 系統硬件組成Fig.4 System Hardware Composition

圖5 三維坐標與偏轉角誤差(單位mm/°)Fig.5 Three-Dimensional Coordinates and Deviation Angle Error(Unit mm/°)
針對現有機器人示教抓取異構件智能化及柔性化較弱問題,研發了一套雙目視覺引導的異構件定位抓取系統。以異構件水龍頭為例,完成了單目/雙目標定、手眼標定、偏轉角標定、圖像處理、立體校正及匹配、系統通訊等開發。最終得到物體的三維坐標(X,Y,Z)及旋轉角度θ。通過實際的定位抓取實驗表明,x、y、z方向誤差分別在±0.9mm、±1mm、±1.4mm 以內,偏轉角誤差在±3.5°以內,可以滿足實際的工業生產需求。