田春林,陳李博,馬國慶,侯茂盛,劉 濤
(1.長春理工大學 機電工程學院,2.長春理工大學 光電工程學院,長春 130022)
隨著現代生產的精密化、智能化,無人智能工廠對機器人視覺的依賴程度越來越高,尤其是在航空航天和汽車制造領域中的焊接與裝配,物流領域中的碼垛、分揀,工業2D、3D自動化檢測等應用中,機器人視覺比比皆是。機器人視覺系統通常按照攝像機與機械臂的相對位置不同分Eye-in-Hand系統和Eye-to-Hand系統。其中Eye-in-Hand系統是將相機安裝在機械臂末端法蘭盤上,隨著機械臂的運動而運動;而Eye-to-Hand系統是將相機安裝在機械臂本體之外,工作中不隨其運動而運動[1,2]。
在機器人視覺系統中常用的手眼標定系統一般為Eye-in-Hand系統,該系統的加工制造精度主要由手眼標定的準確度決定。因此,研究快速的、準確的手眼標定方法就顯得至關重要。目前,常用的手眼標定方法是使用棋盤格標定板與OpenCV或Matlab等軟件相結合,再控制機械手進行多次位姿變換,利用張正友平面標定法來進行標定的傳統標定法[3]。但該方法操作較為復雜,受各方面的因素影響較大。因此,為了提高標定精度,簡化操作,本文提出基于Halcon軟件進行Eye-in-Hand手眼系統標定,為后續的動態識別定位抓取提供基礎。
工業機器人視覺系統的手眼標定本質上是為了獲取相機圖像坐標系Ccam與工業機器人基坐標系Cbase之間的轉換關系,在進行Eye-in-Hand手眼系統標定之前,首先要對相機進行標定,獲取攝像機的內外參數及位姿,為手眼標定做前期準備。在工程實際應用中常用的相機類型有兩種,分別為線陣CCD相機與面陣CCD相機。由于線陣CCD相機標定的模型相對于面陣CCD相機標定復雜許多,所以面陣CCD相機的使用范圍與頻率十分廣泛,因此本文通過使用面陣CCD相機來進行相關驗證[4,5]。面陣CCD相機的模型如圖1所示。

圖1 面陣CCD相機成像模型
其中,圖像坐標系為(r,c),成像平面坐標系為(u,v),相機坐標系為Ccam(xc,yc,zc),世界坐標系為Cword(xw,yw,zw),空間一點P在相機坐標系下為Pc(xc,yc,zc),在世界坐標系下為Pw(xw,yw,zw)。若不考慮相機徑向畸變,則點Pw在成像平面上的投影點為Pc,若考慮鏡頭畸變則投影點將發生偏移,投影點將偏移為Pc'點。
將世界坐標系下的點轉換到相機成像平面坐標系下需要經過以下三個步驟:
1)世界坐標系下的點Pw(xw,yw,zw)變換到相機坐標系下的點Pc(xc,yc,zc),其變換關系為Pc=RPw+T,改寫成矩陣形式(1):

其中R為變換時的旋轉矩陣,T為平移向量,M為4×4的變換矩陣。
2)由相機坐標系下的點Pc(xc,yc,zc)變換到成像平面坐標系下P'c(xi,yi),它們之間為投影的關系,其變換形式為關系式(2):

式中f表示的并不是相機鏡頭的焦距,而是相機的主焦距。由于在相機成像過程中世界坐標系上的點與成像平面上的點的連線不經過相機的光學中心,所以本文應考慮相機畸變情況。設為畸變后成像平面上的坐標,則經畸變變換后的變換關系式(3)為:

其中參數k值的大小決定了畸變的程度。

其中Sx和Sy是比例縮放因子,它們表示圖像傳感器上水平和垂直方向上相鄰像素之間的距離,Cx和Cy為光心在相機成像平面上的投影點。由這一系列的推導公式可知,在進行相機標定的時候,本質上就是求得該相機的內參數(f,k,Cx,Cy,Sx,Sy)與外參數(其平移變換矩陣T與旋轉變化矩陣R)的過程,該標定所求得的一系列參數為后續機器人手眼標定奠定了基礎,也是手眼標定過程中的必要條件。
在機器人視覺中,手眼系統模型按照相機擺放位置的不同通常分為固定相機和移動相機兩種模型,在應用機器人視覺技術時,我們經常將相機固定在機械手的末端法蘭上,也就是移動相機模型,當我們進行標定時,其目的是為了求解機器人基坐標系、機器人末端工具坐標系、攝像機坐標系、標定板坐標系與世界坐標系的相互轉換關系[6],如圖2所示。

圖2 移動相機模型下各坐標系轉換關系示意圖
其中Cbase為機械手基坐標系,Ctool為末端工具坐標系,Cobj為標定板坐標系或物體坐標系,Ccam為攝像機坐標系。
手眼標定一般情況下為控制機械手運動,然后在不同位置對相同物體進行拍攝,從而通過軟件推導計算出手眼系統的變換矩陣,其運動前后坐標系示意圖如圖3所示。

圖3 移動相機模型下運動前后各坐標系示意圖
其中Cc1、Ce1分別表示機械臂移動前的相機坐標系和機械臂末端法蘭的坐標系,如I1位置;Cc2、Ce2分別表示機械臂移動后的相機坐標系和機械臂末端法蘭的坐標系,I2如位置。通過機械臂的兩次移動可以得到Cc1、Cc2兩個坐標系之間的關系定義為C,由于機械臂是手動控制的,可以直接從機械臂控制器中讀取Ce1、Ce2的關系,這里定義為D。由于本文使用運動相機模型,所以攝像機坐標系和機械臂末端法蘭坐標系的相對位置是一個固定值假定為X。假定空間中有一點P,在攝像機坐標系和機械臂末端法蘭坐標系的坐標分別為:Pc1,Pc2,Pe1,Pe2,通過上述關系可得:
由式(5)與式(6)可得:
由式(7)與式(8)可得:

由式(9)與式(10)聯立可得:

由此得到了手眼標定的基本方程,也可將此方程利用旋轉矩陣和平移向量進行表示,則可表示為:

展開后可得:

通過上述公式推導得出的手眼標定基本方程CX=XD,其依據就是機器人末端執行器移動前后,相機與機械臂的相對位置X不變,最后我們標定所要求解出手眼關系矩陣X,為后續動態抓取、位置補償做準備[7]。
本文所采用的標定方法為:基于Halcon軟件進行相機與機械臂的手眼標定,通過多次、多角度、大范圍的移動機械臂然后進行拍照并記錄下與之相對應的機械手控制器上的位姿信息,通過軟件編程求解其手眼關系,求解關系矩陣。具體搭建的手眼標定實驗系統包括:UR10六自由度工業機器人、維視MV-EM500C工業相機與Halcon控制軟件,其中相機固定在機械臂末端法蘭上,隨機械臂運動而運動,所使用的標定板為50mm×50mm的自制打印標定板。
在進行手眼標定之前,首先要進行相機標定,以用來建立機器人工具坐標系與相機坐標系之間的相互轉化關系。與傳統的標定方法相比,本文通過使用Halcon自帶的標定板進行相機標定不僅操作十分簡單,而且標定精度較高,大大縮減了開發周期,十分便利。如果項目精度要求較高,就必須得使用特制的陶瓷標定板,如果項目精度要求不高則可以使用Halcon軟件自帶的標定板,根據需求進行打印。
在相機標定完成后,得到了相機的內外參數,就可以進行機械臂的手眼系統標定。在此標定的過程中需要在攝像機的視野內進行多次的移動機械臂對標定板進行拍攝,并且在機械手控制器中讀取相對應的位姿信息,制作成機械臂的位姿信息文件,為后續的手眼標定做準備,通過上述的過程就可以利用Halcon軟件進行移動相機模型的手眼標定。
在標定過程中通過拍攝標定板來尋找其上標志點的中心坐標,以確定攝像機內外參數,如圖4所示。

圖4 標定板和標志點坐標系的建立
其相機標定的算法流程如圖5所示。

圖5 相機標定算法流程
根據上述算法流程進行相機標定實驗,通過3組每
【】【】
組10張圖像的采集進行相機標定,標定所得的3組相機內參數如表1所示。

表1 相機內參值
通過上述3組標定實驗所得數據顯示平均誤差均在0.18個像素左右,均在一個像素范圍之內,標定精度較高。但為了獲取誤差較小、標定精度更高的手眼標定結果,我們選取第3組相機標定的內參數,進行移動相機系統的手眼標定。具體實驗中通過相機采集了15張標定圖片,并記錄下每一張圖片所對應的機械手位姿信息,再利用Halcon軟件進行標定,最后得出的機械手末端工具坐標系相對于攝像機坐標系的位姿。其標定結果如表2所示。

表2 移動相機系統手眼標定值
為了驗證手眼標定的準確度和精度,在進行手眼標定的同時,通過Halcon中的算子即可對這15張圖片上的位姿信息進行計算求解手眼標定的最大誤差值與均方根值。其結果如表3所示。
由表3可知,位置移動的最大誤差值為0.857mm,旋轉角度的最大誤差值為0.903,平移誤差在1mm之內,旋轉角度誤差在1。范圍之內,精度較好。通過上述方法,利用Halcon進行手眼標定,經過進行計算,大約需耗時30ms即可得到其相應的轉換矩陣,十分的方便、快捷,且精度較高,相對于傳統方法有較大的改進。通過該方法還可以簡單快捷地求得相機與機械臂基坐標系、標定板與相機坐標系、標定板與基坐標系之間的轉換關系,能夠為動態識別抓取提供良好的基礎。

表3 手眼標定系統誤差值
研究的針對Eye-in-Hand類型機器人的手眼標定方法,不僅能夠簡單高效的完成標定、減少繁雜的操作步驟,還減小了標定誤差,使其位置誤差在1mm,角度誤差在1。以內,提高了系統的標定精度,更充分發揮了Halcon軟件強大的處理功能。通過編寫圖像處理算法與VC++或C#進行聯合二次開發,編寫成適用于多種情況下操作的控制軟件,就可適用于工業生產,進行定位抓取碼垛等工作,大大提高了工業生產效率。
[1]徐德.機器人視覺測量與控制[M].2版.北京:國防工業出版社,2011.
[2]盧泉奇,苗同升,汪地,等.基于HALCON的機械手視覺抓取應用研究[J].光學儀器,2014,36(6):492-498.
[3]ZHANG ZH Y.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2000,22(11):1330-1334.
[4]羅珍茜,薛雷,等.基于HALCON的攝像機標定[J].電視技術,2010,34(4):100-102.
[5]陳陽光,王磊.基于HALCON的機器人視覺標定[J].光學儀器,2016,38(4):320-324.
[6]林明盛.焊接路徑的視覺識別與機器人軌跡規劃[D].廣東工業大學,2016.
[7]張云珠.工業機器人手眼標定技術研究[D].哈爾濱工程大學,2010.