張文群,程松貴
ZHANG Wen-qun1, CHENG Song-gui2
(1.合肥通用職業技術學院,合肥 230001;2.安徽江淮汽車股份有限公司,合肥 230601)
隨著汽車制造裝備業的發展,機器視覺測量與控制技術逐步得到應用。機器視覺控制涉及的研究內容比較廣泛,主要包括攝像機標定、圖像處理、特征提取、視覺測量及視覺控制算法等。根據攝像機與機器人的相互位置、使用攝像機數目、是否自然測量及控制模型的不同,機器人的視覺系統可分為多種類型[1~4]。文章所述的機器人視覺控制系統為單目二維平面視覺測控系統,其手眼系統為攝像機固定型(Eye to Hand),控制模型為基于圖像控制的。在安徽江淮汽車制造有限公司某沖壓自動化線,該技術得以應用,并且效果很好。
攝像機的內參數模型描述的是景物點與圖像點之間的關系。一般地,景物點在攝像機坐標系下的坐標用(xc,yc,zc)表示,圖像點坐標為(u,v),圖像光軸中心點坐標為(u0,v0),kx及ky為放大系數,其攝像機的四參數模型如式(1)所示。

攝像機的外參數模型是景物坐標系在攝像機坐標系中的描述。模型中,(xc,yc,zc)是景物點在攝像機坐標系OcXcYcZc下的坐標;(xw,yw,zw)是景物點在坐標系OwXwYwZw下的坐標;矢量n、o、a分別為Xw、Yw、Zw軸在攝像機坐標系OcXcYcZc下的方向向量;矢量p為OwXwYwZw的坐標原點在攝像機坐標系OcXcYcZc中的位置。該模型的外參數矩陣如式(2)所示:

對于單目二維視覺測量系統,如圖1所示,攝像機垂直于工作臺表面安裝,并與工作臺表面保持一合適的距離d,以減小圖像畸變。攝像機的位置及內外參數固定。

圖1 單目視覺測量系統
在攝像機的光軸中心建立攝像機及景物點坐標系,OcZc垂直于XwYw面,且交于點Ow;Xc軸、Yc軸、Zc軸分別與Xw軸、Yw軸、Zw軸平行;d為光軸中心點Oc到景物平面的距離。在工作平面上,景物坐標可表示為(xw,yw,0)。由式(2)可以獲得景物點在攝像機坐標系下的坐標。

在攝像機及d選擇比較合適的情況下,攝像機的畸變可以忽略不計。對工作平面上的兩參考點P1(xw1,yw1,0)和P2(xw2,yw2,0),分別有圖像點(u1,v1)和(u2,v2),該圖像點坐標是通過圖像處理系統直接獲取的。根據式(3)及式(1),有:

kxd、kyd是標定出的攝像機參數。工件上任意點Pi的圖像坐標(ui,vi)可以通過圖像坐標系直接獲取,P1景物坐標(xw1,yw1)為平面坐標已知的參考點,則任意點Pi的景物坐標(xwi,ywi)可由式(5)獲得。

Eye-to-Hand位置給定型機器人視覺控制,利用視覺測量的目標位置對機器人進行位置給定,使機器人的末端到達目標位置[5]。圖2為位置給定型機器人視覺控制原理框圖,主要由兩部分構成:計算機視覺測量系統及機器人運動控制系統。本段的術語“位置”廣義上說包括位置數據和姿態信息。
圖2中,計算機視覺測量系統硬件上主要包括一套工業級攝像頭、一臺工控機及一塊PCI視頻信號采集卡等。軟件主要包括系統軟件Windows XP、數據庫軟件ACCESS及自行開發視覺測控應用軟件。機器人視覺測控應用軟件的開發平臺為Microsoft VC++6.0,另有二次開發工具視覺軟件MVTec HALCON 10.0。圖2中的用戶坐標系下的對象坐標系原點位置和坐標系姿態(簡稱位姿),是機器人位置給定型機器視覺系統的輸出結果。該系統在功能上主要由圖像采集、圖像輪廓特征提取、圖像坐標提取、用戶坐標系下的景物坐標生成、工件位姿坐標生成及數據通信等部分構成。

圖2 位置給定型機器人視覺控制框圖
首先建立攝像機圖像坐標系,進行攝像機參數標定,建立與圖像坐標系關聯的機器人用戶坐標系。根據公式(4)標定出攝像機參數kxd、kyd;獲取工作臺參考點P1圖像坐標(u1,v1)及其在世界(World)坐標系OwXwYwZw下的景物坐標(xw1,yw1,zw1);以此點為原點建立用戶(User)坐標系OuXuYuZu,用戶坐標系與世界坐標系相應軸平行,方向一致,故其位姿坐標為(xw1,yw1,zw1,0,0,0)。在用戶坐標系下,公式(5)中的u1、v1對應的xw1、yw1標定為0值。
其次,基于用戶坐標系建立OoXoYoZo對象(Object)坐標系[6](如圖3所示)。獲取工作臺樣本工件的圖像輪廓特征模型(如圖4所示),圖4矩形區域中心點Oo(圖4中“X”點)為輪廓特征參考點,也即對象坐標系原點。過Oo點的輪廓特征方向角標定為0°。Oo點圖像坐標為(uo,vo),其用戶坐標系下的景物坐標xu及yu通過公式(5)獲取;另由于Oo點在用戶坐標系的XuYu平面上,故其zu値為0;又由于標定階段的對象坐標系與用戶坐標系相應軸方向一致,故有OoXoYoZo坐標系的位姿坐標為(xu,yu,0,0,0,0)。
然后,基于對象坐標系獲取P拾點TCP坐標。TCP(Tool Centre Piont)為工具中心點,表示機器人末端位姿。通過機器人示教盤手動操作機器人,使TCP處于一合適位姿(正好能拾取狀態未變的樣本工件),獲取對象坐標系下的TCP坐標P拾(xo,yo,zo,rox,roy,roz),并保存為機器人軌跡程序P拾點(拾取工件)。至此,完成了待拾取工件的機器視覺標定。創建輪廓模型的部分VC示例代碼如下:

圖3 創建對象坐標系


圖4 創建模型
標定結束,就可以實現機器視覺位置自動給定功能。首先提取待拾取工件的輪廓特征,搜索匹配已有輪廓模型,獲取工件Oo點圖像坐標(uo′,vo′)及方向角α(如圖5所示)。然后跟標定階段一樣通過公式(5)獲取景物坐標(xu′,yu′),從而可得OoXoYoZo對象坐標系(如圖3所示的對象坐標系2)在用戶坐標系里的位姿坐標(xu′,yu′,0,0,0,α)。機器視覺位姿獲取的部分VC示例代碼如下:


圖5 輪廓特征模型匹配
機器視覺位置給定模塊生成對象坐標系新的位姿數據后,連同待拾取工件的類型代碼一起實時發送給機器人控制系統,機器人控制系統接收到這些數據后,就可以執行相關程序,以實現拾取搬送工件的動作。
機器人執行程序前,讀取主程序、軌跡程序(包括點代號、速度及加速度等參數)及點位姿數據,以進行數據預處理,其中一個重要內容就是確立不同的坐標系之間的轉換矩陣參數[7]。點位姿數據分屬于世界坐標系、用戶坐標系及對象坐標系。世界坐標系的點包括:初始點、若干避障點及若干減速點等;用戶坐標系下的點如對象坐標系原點;對象坐標系下的點,如若干臨近點及拾取點P拾等。
機器人系統執行軌跡程序時,無論對象坐標系在用戶坐標系中的位姿是否有變化,機器人系統可以通過對象坐標系到世界坐標系的矩陣轉換邏輯,實現基于對象坐標系的點(如P拾)的位姿坐標自動轉換。另外,就機器人系統而言,還有基坐標系及軸坐標系,機器人系統在后臺實時進行世界坐標系到基坐標系,最后到軸坐標系的自動轉換。經過這些轉換后,機器人控制系統控制各個軸的伺服電機動作,以最終實現工件的機器視覺自動拾取功能。
基于單目視覺的機器視覺控制系統的研發,利用了機器視覺軟件的常規模塊進行二次開發,發掘了現有機器人成熟的開放的技術,故研發成本比較低,研發周期短。經驗證抗干擾能力非常強(如圖5所示),運行穩定高效,因此在汽車制造業中得以應用,且應用前景廣闊。
[1]王鵬,孫長庫,張子淼.單目視覺位姿測量的線性求解[J].儀器儀表學報,2011,32(5):1126-1131.
[2]韓延祥,張志勝,戴敏.用于目標測距的單目視覺測量方法[J].光學精密工程,2011,19(5):l110-1117.
[3]余厚云,張為公.基于單目視覺的跟馳車輛車距測量方法[J].東南大學學報(自然科學版),2012,42(3):542-546.
[4]尚倩,阮秋琦,李小利.雙目立體視覺的目標識別與定位[J].智能系統學報,2011,6(4):303-311.
[5]徐德,等.機器人視覺測量與控制[M].國防工業出版社,2011:3-129.
[6]ABB.Technical reference manual-RAPID overview-RobotWare5.14 [EB/OL].3HAC16580-1 Revision K.2013.ABB robotics:ABB
[7]Jorge Angeles.宋偉剛.機器人機械系統原理理論、方法和算法[M].2004,13-50.