張文群,程松貴
ZHANG Wen-qun1, CHENG Song-gui2
(1.合肥通用職業(yè)技術(shù)學(xué)院,合肥 230001;2.安徽江淮汽車股份有限公司,合肥 230601)
隨著汽車制造裝備業(yè)的發(fā)展,機(jī)器視覺測(cè)量與控制技術(shù)逐步得到應(yīng)用。機(jī)器視覺控制涉及的研究?jī)?nèi)容比較廣泛,主要包括攝像機(jī)標(biāo)定、圖像處理、特征提取、視覺測(cè)量及視覺控制算法等。根據(jù)攝像機(jī)與機(jī)器人的相互位置、使用攝像機(jī)數(shù)目、是否自然測(cè)量及控制模型的不同,機(jī)器人的視覺系統(tǒng)可分為多種類型[1~4]。文章所述的機(jī)器人視覺控制系統(tǒng)為單目二維平面視覺測(cè)控系統(tǒng),其手眼系統(tǒng)為攝像機(jī)固定型(Eye to Hand),控制模型為基于圖像控制的。在安徽江淮汽車制造有限公司某沖壓自動(dòng)化線,該技術(shù)得以應(yīng)用,并且效果很好。
攝像機(jī)的內(nèi)參數(shù)模型描述的是景物點(diǎn)與圖像點(diǎn)之間的關(guān)系。一般地,景物點(diǎn)在攝像機(jī)坐標(biāo)系下的坐標(biāo)用(xc,yc,zc)表示,圖像點(diǎn)坐標(biāo)為(u,v),圖像光軸中心點(diǎn)坐標(biāo)為(u0,v0),kx及ky為放大系數(shù),其攝像機(jī)的四參數(shù)模型如式(1)所示。
攝像機(jī)的外參數(shù)模型是景物坐標(biāo)系在攝像機(jī)坐標(biāo)系中的描述。模型中,(xc,yc,zc)是景物點(diǎn)在攝像機(jī)坐標(biāo)系OcXcYcZc下的坐標(biāo);(xw,yw,zw)是景物點(diǎn)在坐標(biāo)系OwXwYwZw下的坐標(biāo);矢量n、o、a分別為Xw、Yw、Zw軸在攝像機(jī)坐標(biāo)系OcXcYcZc下的方向向量;矢量p為OwXwYwZw的坐標(biāo)原點(diǎn)在攝像機(jī)坐標(biāo)系OcXcYcZc中的位置。該模型的外參數(shù)矩陣如式(2)所示:
對(duì)于單目二維視覺測(cè)量系統(tǒng),如圖1所示,攝像機(jī)垂直于工作臺(tái)表面安裝,并與工作臺(tái)表面保持一合適的距離d,以減小圖像畸變。攝像機(jī)的位置及內(nèi)外參數(shù)固定。
圖1 單目視覺測(cè)量系統(tǒng)
在攝像機(jī)的光軸中心建立攝像機(jī)及景物點(diǎn)坐標(biāo)系,OcZc垂直于XwYw面,且交于點(diǎn)Ow;Xc軸、Yc軸、Zc軸分別與Xw軸、Yw軸、Zw軸平行;d為光軸中心點(diǎn)Oc到景物平面的距離。在工作平面上,景物坐標(biāo)可表示為(xw,yw,0)。由式(2)可以獲得景物點(diǎn)在攝像機(jī)坐標(biāo)系下的坐標(biāo)。
在攝像機(jī)及d選擇比較合適的情況下,攝像機(jī)的畸變可以忽略不計(jì)。對(duì)工作平面上的兩參考點(diǎn)P1(xw1,yw1,0)和P2(xw2,yw2,0),分別有圖像點(diǎn)(u1,v1)和(u2,v2),該圖像點(diǎn)坐標(biāo)是通過圖像處理系統(tǒng)直接獲取的。根據(jù)式(3)及式(1),有:
kxd、kyd是標(biāo)定出的攝像機(jī)參數(shù)。工件上任意點(diǎn)Pi的圖像坐標(biāo)(ui,vi)可以通過圖像坐標(biāo)系直接獲取,P1景物坐標(biāo)(xw1,yw1)為平面坐標(biāo)已知的參考點(diǎn),則任意點(diǎn)Pi的景物坐標(biāo)(xwi,ywi)可由式(5)獲得。
Eye-to-Hand位置給定型機(jī)器人視覺控制,利用視覺測(cè)量的目標(biāo)位置對(duì)機(jī)器人進(jìn)行位置給定,使機(jī)器人的末端到達(dá)目標(biāo)位置[5]。圖2為位置給定型機(jī)器人視覺控制原理框圖,主要由兩部分構(gòu)成:計(jì)算機(jī)視覺測(cè)量系統(tǒng)及機(jī)器人運(yùn)動(dòng)控制系統(tǒng)。本段的術(shù)語“位置”廣義上說包括位置數(shù)據(jù)和姿態(tài)信息。
圖2中,計(jì)算機(jī)視覺測(cè)量系統(tǒng)硬件上主要包括一套工業(yè)級(jí)攝像頭、一臺(tái)工控機(jī)及一塊PCI視頻信號(hào)采集卡等。軟件主要包括系統(tǒng)軟件Windows XP、數(shù)據(jù)庫軟件ACCESS及自行開發(fā)視覺測(cè)控應(yīng)用軟件。機(jī)器人視覺測(cè)控應(yīng)用軟件的開發(fā)平臺(tái)為Microsoft VC++6.0,另有二次開發(fā)工具視覺軟件MVTec HALCON 10.0。圖2中的用戶坐標(biāo)系下的對(duì)象坐標(biāo)系原點(diǎn)位置和坐標(biāo)系姿態(tài)(簡(jiǎn)稱位姿),是機(jī)器人位置給定型機(jī)器視覺系統(tǒng)的輸出結(jié)果。該系統(tǒng)在功能上主要由圖像采集、圖像輪廓特征提取、圖像坐標(biāo)提取、用戶坐標(biāo)系下的景物坐標(biāo)生成、工件位姿坐標(biāo)生成及數(shù)據(jù)通信等部分構(gòu)成。
圖2 位置給定型機(jī)器人視覺控制框圖
首先建立攝像機(jī)圖像坐標(biāo)系,進(jìn)行攝像機(jī)參數(shù)標(biāo)定,建立與圖像坐標(biāo)系關(guān)聯(lián)的機(jī)器人用戶坐標(biāo)系。根據(jù)公式(4)標(biāo)定出攝像機(jī)參數(shù)kxd、kyd;獲取工作臺(tái)參考點(diǎn)P1圖像坐標(biāo)(u1,v1)及其在世界(World)坐標(biāo)系OwXwYwZw下的景物坐標(biāo)(xw1,yw1,zw1);以此點(diǎn)為原點(diǎn)建立用戶(User)坐標(biāo)系OuXuYuZu,用戶坐標(biāo)系與世界坐標(biāo)系相應(yīng)軸平行,方向一致,故其位姿坐標(biāo)為(xw1,yw1,zw1,0,0,0)。在用戶坐標(biāo)系下,公式(5)中的u1、v1對(duì)應(yīng)的xw1、yw1標(biāo)定為0值。
其次,基于用戶坐標(biāo)系建立OoXoYoZo對(duì)象(Object)坐標(biāo)系[6](如圖3所示)。獲取工作臺(tái)樣本工件的圖像輪廓特征模型(如圖4所示),圖4矩形區(qū)域中心點(diǎn)Oo(圖4中“X”點(diǎn))為輪廓特征參考點(diǎn),也即對(duì)象坐標(biāo)系原點(diǎn)。過Oo點(diǎn)的輪廓特征方向角標(biāo)定為0°。Oo點(diǎn)圖像坐標(biāo)為(uo,vo),其用戶坐標(biāo)系下的景物坐標(biāo)xu及yu通過公式(5)獲?。涣碛捎贠o點(diǎn)在用戶坐標(biāo)系的XuYu平面上,故其zu値為0;又由于標(biāo)定階段的對(duì)象坐標(biāo)系與用戶坐標(biāo)系相應(yīng)軸方向一致,故有OoXoYoZo坐標(biāo)系的位姿坐標(biāo)為(xu,yu,0,0,0,0)。
然后,基于對(duì)象坐標(biāo)系獲取P拾點(diǎn)TCP坐標(biāo)。TCP(Tool Centre Piont)為工具中心點(diǎn),表示機(jī)器人末端位姿。通過機(jī)器人示教盤手動(dòng)操作機(jī)器人,使TCP處于一合適位姿(正好能拾取狀態(tài)未變的樣本工件),獲取對(duì)象坐標(biāo)系下的TCP坐標(biāo)P拾(xo,yo,zo,rox,roy,roz),并保存為機(jī)器人軌跡程序P拾點(diǎn)(拾取工件)。至此,完成了待拾取工件的機(jī)器視覺標(biāo)定。創(chuàng)建輪廓模型的部分VC示例代碼如下:
圖3 創(chuàng)建對(duì)象坐標(biāo)系
圖4 創(chuàng)建模型
標(biāo)定結(jié)束,就可以實(shí)現(xiàn)機(jī)器視覺位置自動(dòng)給定功能。首先提取待拾取工件的輪廓特征,搜索匹配已有輪廓模型,獲取工件Oo點(diǎn)圖像坐標(biāo)(uo′,vo′)及方向角α(如圖5所示)。然后跟標(biāo)定階段一樣通過公式(5)獲取景物坐標(biāo)(xu′,yu′),從而可得OoXoYoZo對(duì)象坐標(biāo)系(如圖3所示的對(duì)象坐標(biāo)系2)在用戶坐標(biāo)系里的位姿坐標(biāo)(xu′,yu′,0,0,0,α)。機(jī)器視覺位姿獲取的部分VC示例代碼如下:
圖5 輪廓特征模型匹配
機(jī)器視覺位置給定模塊生成對(duì)象坐標(biāo)系新的位姿數(shù)據(jù)后,連同待拾取工件的類型代碼一起實(shí)時(shí)發(fā)送給機(jī)器人控制系統(tǒng),機(jī)器人控制系統(tǒng)接收到這些數(shù)據(jù)后,就可以執(zhí)行相關(guān)程序,以實(shí)現(xiàn)拾取搬送工件的動(dòng)作。
機(jī)器人執(zhí)行程序前,讀取主程序、軌跡程序(包括點(diǎn)代號(hào)、速度及加速度等參數(shù))及點(diǎn)位姿數(shù)據(jù),以進(jìn)行數(shù)據(jù)預(yù)處理,其中一個(gè)重要內(nèi)容就是確立不同的坐標(biāo)系之間的轉(zhuǎn)換矩陣參數(shù)[7]。點(diǎn)位姿數(shù)據(jù)分屬于世界坐標(biāo)系、用戶坐標(biāo)系及對(duì)象坐標(biāo)系。世界坐標(biāo)系的點(diǎn)包括:初始點(diǎn)、若干避障點(diǎn)及若干減速點(diǎn)等;用戶坐標(biāo)系下的點(diǎn)如對(duì)象坐標(biāo)系原點(diǎn);對(duì)象坐標(biāo)系下的點(diǎn),如若干臨近點(diǎn)及拾取點(diǎn)P拾等。
機(jī)器人系統(tǒng)執(zhí)行軌跡程序時(shí),無論對(duì)象坐標(biāo)系在用戶坐標(biāo)系中的位姿是否有變化,機(jī)器人系統(tǒng)可以通過對(duì)象坐標(biāo)系到世界坐標(biāo)系的矩陣轉(zhuǎn)換邏輯,實(shí)現(xiàn)基于對(duì)象坐標(biāo)系的點(diǎn)(如P拾)的位姿坐標(biāo)自動(dòng)轉(zhuǎn)換。另外,就機(jī)器人系統(tǒng)而言,還有基坐標(biāo)系及軸坐標(biāo)系,機(jī)器人系統(tǒng)在后臺(tái)實(shí)時(shí)進(jìn)行世界坐標(biāo)系到基坐標(biāo)系,最后到軸坐標(biāo)系的自動(dòng)轉(zhuǎn)換。經(jīng)過這些轉(zhuǎn)換后,機(jī)器人控制系統(tǒng)控制各個(gè)軸的伺服電機(jī)動(dòng)作,以最終實(shí)現(xiàn)工件的機(jī)器視覺自動(dòng)拾取功能。
基于單目視覺的機(jī)器視覺控制系統(tǒng)的研發(fā),利用了機(jī)器視覺軟件的常規(guī)模塊進(jìn)行二次開發(fā),發(fā)掘了現(xiàn)有機(jī)器人成熟的開放的技術(shù),故研發(fā)成本比較低,研發(fā)周期短。經(jīng)驗(yàn)證抗干擾能力非常強(qiáng)(如圖5所示),運(yùn)行穩(wěn)定高效,因此在汽車制造業(yè)中得以應(yīng)用,且應(yīng)用前景廣闊。
[1]王鵬,孫長(zhǎng)庫,張子淼.單目視覺位姿測(cè)量的線性求解[J].儀器儀表學(xué)報(bào),2011,32(5):1126-1131.
[2]韓延祥,張志勝,戴敏.用于目標(biāo)測(cè)距的單目視覺測(cè)量方法[J].光學(xué)精密工程,2011,19(5):l110-1117.
[3]余厚云,張為公.基于單目視覺的跟馳車輛車距測(cè)量方法[J].東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,42(3):542-546.
[4]尚倩,阮秋琦,李小利.雙目立體視覺的目標(biāo)識(shí)別與定位[J].智能系統(tǒng)學(xué)報(bào),2011,6(4):303-311.
[5]徐德,等.機(jī)器人視覺測(cè)量與控制[M].國(guó)防工業(yè)出版社,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.宋偉剛.機(jī)器人機(jī)械系統(tǒng)原理理論、方法和算法[M].2004,13-50.