蘇少輝,張東陽(yáng),汪益停,陳 昌,陳國(guó)金
(杭州電子科技大學(xué)機(jī)械工程學(xué)院,浙江 杭州 310018)
利用工業(yè)機(jī)器人和視覺(jué)系統(tǒng)對(duì)工件進(jìn)行定位和抓取是生產(chǎn)線上的一項(xiàng)重要應(yīng)用,大尺度矩形工件定位的主要思路是獲取工件圖像的幾何中心和旋轉(zhuǎn)角度,然后通過(guò)視覺(jué)系統(tǒng)將工件位置信息發(fā)送給機(jī)器人,實(shí)現(xiàn)工件抓取。通常滿足精度要求的工件圖像需要使用超高分辨率的廣角工業(yè)相機(jī)采集,但是,高分辨率相機(jī)的成本高,圖像處理時(shí)間長(zhǎng),空間復(fù)雜度高,消除廣角相機(jī)帶來(lái)的畸變也需要耗費(fèi)大量的時(shí)間。工件的角點(diǎn)是二維圖像亮度變化最劇烈或圖像邊緣曲線上曲率值最大的像素點(diǎn),具有旋轉(zhuǎn)不變性和不隨光照條件變化而改變的優(yōu)點(diǎn)。利用角點(diǎn)特征能很好地將工件和背景區(qū)分開(kāi),所以,可用工件的角點(diǎn)來(lái)確定工件的幾何中心[1]。目前,Harris角點(diǎn)檢測(cè)算法[2]和FAST角點(diǎn)檢測(cè)算法[3]是應(yīng)用最廣泛的角點(diǎn)檢測(cè)算法,但是,在圖像噪聲高時(shí),其魯棒性差;圖像分辨率高時(shí),效率低,檢測(cè)性能依賴閾值的設(shè)定[4-5]。大尺度工件往往因?yàn)椴蓸右曇按?,易受外界光線的干擾從而導(dǎo)致大量的背景噪聲,給Harris和FAST角點(diǎn)檢測(cè)結(jié)果帶來(lái)了不可避免的干擾,且無(wú)法直接給出工件的旋轉(zhuǎn)角度。為了滿足實(shí)時(shí)性和精確度要求高的流水線作業(yè),本文針對(duì)大尺度工件的對(duì)角區(qū)域進(jìn)行研究,提出一種改進(jìn)的Hough直線角點(diǎn)檢測(cè)方法,通過(guò)雙相機(jī)與機(jī)器人的“手眼標(biāo)定”方法,給機(jī)器人傳送準(zhǔn)確的抓取姿態(tài)數(shù)據(jù),極大方便了機(jī)器人抓取大尺度工件的定位工作。
角點(diǎn)定位即檢測(cè)出大尺度工件對(duì)角區(qū)域兩條邊線的交點(diǎn)在圖像坐標(biāo)系中的位置。相機(jī)安裝位置不同,工件在相機(jī)視野中成像位置也不同。本文研究的大尺度矩形工件邊角在相機(jī)中成像特點(diǎn)為:其中一個(gè)邊角覆蓋相機(jī)視野的左上角區(qū)域,記為左相機(jī),其對(duì)邊角覆蓋相機(jī)視野的右下角區(qū)域,記為右相機(jī),如圖1所示。
在圖像處理領(lǐng)域,Hough變換(Hough Transform,HT)[6-7]是常用的直線搜索技術(shù)。但是傳統(tǒng)的HT是利用圖像空間和參數(shù)空間的對(duì)偶性原理,將離散的數(shù)字圖像空間(直角坐標(biāo)系)中的每一個(gè)特征點(diǎn)映射成參數(shù)空間(極坐標(biāo)系)中的一條正弦曲線,這種“一對(duì)多”的映射方式具有很大的盲目性,需要較大的儲(chǔ)存空間,計(jì)算量較大,導(dǎo)致算法效率低下。
圖1 左右相機(jī)成像特點(diǎn)
隨機(jī)Hough變換(Randomized Hough Transform,RHT)[8]和概率Hough變換(Probabilistic Hough Transform,PHT)[9]均采用隨機(jī)選擇采樣點(diǎn),使用圖像空間到參數(shù)空間“多對(duì)一”的映射方式降低了運(yùn)算復(fù)雜度,減少了儲(chǔ)存空間,但是,在實(shí)時(shí)性要求高,圖像分辨率大的場(chǎng)景下,算法的效率還有待提高。本文吸收了RHT和PHT算法的優(yōu)點(diǎn)并充分考慮大尺度矩形工件邊角成像的特點(diǎn),即工件在圖像中的兩條邊必定經(jīng)過(guò)圖像的邊界,提出了改進(jìn)的Hough直線角點(diǎn)檢測(cè)方法。
根據(jù)左相機(jī)成像特點(diǎn),改進(jìn)算法如下:
(1)提取圖像中n個(gè)特征點(diǎn),組成點(diǎn)云空間P={pi=(xi,yi)|i=1,2,3,…,n};
(2)按x遞增順序從P中提取子集Plx={plx=(xlx,ylx)|ylx=0},按y遞增順序從P中提取子集Ply={ply=(xly,yly)|yly=0},作為種子集;
(3)由于目標(biāo)直線必過(guò)圖像邊界,首先從Plx中取出一點(diǎn)pi作為種子點(diǎn),這種方式有效減小了RHT和PHT選取種子點(diǎn)的盲目性;
(4)初始化參數(shù)累加器數(shù)組;
(6)重復(fù)步驟5,若點(diǎn)pk滿足|θjk-θji|<ε1,認(rèn)為pk和pj在一條直線上,則屬于參數(shù)θji的累加器空間加1,若不滿足,則重新開(kāi)辟參數(shù)θjk的累積器空間;直到某一參數(shù)θ的累加器達(dá)到了閾值T1,則認(rèn)為可能檢測(cè)到一條直線,停止步驟5;
(7)計(jì)算參數(shù)θ表示的直線方程:
ρ=xjcosθ+yisinθ
(1)
(8)遍歷P1中的特征點(diǎn)p(x,y),若滿足|xcosθ+ysinθ-ρ|<ε2,則刪除該特征點(diǎn),若被刪除的特征點(diǎn)數(shù)目大于閾值T2,則確定圖像中存在式(1)表示的直線;
(9)記刪除一條直線特征點(diǎn)的剩余點(diǎn)集為P2,再?gòu)膒ly中取出一點(diǎn)pi作為種子點(diǎn),回到步驟4,檢測(cè)另一條邊線;
(10)計(jì)算2條直線的交點(diǎn)PC,即工件的角點(diǎn),算法結(jié)束。
右側(cè)相機(jī)圖像的檢測(cè)步驟與左側(cè)相機(jī)類(lèi)似,只是選取的種子點(diǎn)是從圖像下邊界和右邊界開(kāi)始。改進(jìn)的Hough直線角點(diǎn)檢測(cè)方法的關(guān)鍵在于根據(jù)圖1中工件的成像特點(diǎn)選擇合適的種子集和控制閾值,保證過(guò)濾掉小段干擾直線,確保檢測(cè)出來(lái)的直線是2條基本垂直的目標(biāo)直線。如果得到的直線不夠精確,還可以用最小二乘法擬合被刪掉的特征點(diǎn)集,獲取準(zhǔn)確的直線方程。
工件的旋轉(zhuǎn)角度α由2條邊線的參數(shù)方程確定:
α=min(|θ1|,|θ2|)
(2)
式中,θ1,θ2分別表示邊線與圖像X軸的夾角。
為了消除相機(jī)的畸變影響,對(duì)相機(jī)進(jìn)行標(biāo)定,本文選取張正友標(biāo)定方法[10-11],利用MATLAB中的相機(jī)標(biāo)定工具箱進(jìn)行標(biāo)定;為了達(dá)到“手眼協(xié)調(diào)”的目的,需要相機(jī)坐標(biāo)系與機(jī)器人坐標(biāo)系的標(biāo)定。雙目視覺(jué)定位的步驟如下:
(1)利用張正友標(biāo)定法,標(biāo)定相機(jī)A,B的內(nèi)參和外參矩陣;
(4)利用上述定位算法,檢測(cè)工件在圖像中的角點(diǎn)坐標(biāo)PA(xA,yA)和PB(xB,yB);
(5)根據(jù)步驟3的變換矩陣,把相機(jī)B成像中的工件角點(diǎn)坐標(biāo)換算到相機(jī)A成像坐標(biāo)系中,記為PB(xBA,yBA);
(7)根據(jù)步驟2計(jì)算工件幾何中心在機(jī)器人坐標(biāo)系中的表示,即機(jī)器人的抓取目標(biāo)點(diǎn);
(8)根據(jù)上述定位算法得到工件旋轉(zhuǎn)角度α,計(jì)算機(jī)器人抓取點(diǎn)的歐拉角;
(9)根據(jù)步驟7的坐標(biāo)和步驟8的歐拉角計(jì)算目標(biāo)點(diǎn)的位姿,生成機(jī)器人抓取路線。
實(shí)驗(yàn)采用德國(guó)IMAGING Source公司生產(chǎn)的DFK33GP1300工業(yè)相機(jī),分辨率為1280×1024,機(jī)器人采用ABB-6700工業(yè)機(jī)器人,重復(fù)定位誤差為0.05 mm,計(jì)算機(jī)配置CPU:Intel六代i5,內(nèi)存為8 GB。試驗(yàn)對(duì)象為2 000 mm×2 000 mm×200 mm的海綿工件,抓手和相機(jī)安裝位置如圖2所示,2個(gè)相機(jī)與法蘭中心成中心對(duì)稱(chēng),相機(jī)光學(xué)零點(diǎn)距離工件為800 mm。
由于工件背景復(fù)雜,本文模擬實(shí)際工業(yè)生產(chǎn)環(huán)境,得到3組不同的采樣結(jié)果:無(wú)干擾圖、曝光缺陷圖、背景干擾圖,統(tǒng)計(jì)這些圖像的直方圖,結(jié)果如圖3所示,橫坐標(biāo)表示灰度值,縱坐標(biāo)表示圖像中某灰度值下分布的像素個(gè)數(shù),即頻數(shù)。
圖3 實(shí)驗(yàn)對(duì)象直方圖
從圖3可以看出:曝光存在缺陷的圖像處于低灰度值的像素和高灰度值的像素點(diǎn)較多,說(shuō)明這些圖片存在曝光不足或者過(guò)曝光的問(wèn)題;除了主體像素點(diǎn)外,背景受干擾的圖像還存在部分干擾像素點(diǎn);無(wú)干擾的圖像中,一部分像素分布在低灰度區(qū)域,另一部分像素分布在高灰度區(qū)域,說(shuō)明圖像背景和主體分化明顯??傮w來(lái)說(shuō),當(dāng)3種圖像的灰度值超過(guò)250時(shí),圖像背景和主體都能較好地分化開(kāi),所以,所有圖像均以固定閾值250做二值化處理。考慮到以固定閾值處理的二值化圖像往往帶有椒鹽噪聲等其他雜質(zhì),經(jīng)過(guò)分析對(duì)比,實(shí)驗(yàn)采用9×9的卷積核對(duì)圖像進(jìn)行均值濾波效果最好。對(duì)3組照片使用相同運(yùn)算核的開(kāi)運(yùn)算,去除孤立的孔洞和毛刺。
為了檢測(cè)本文改進(jìn)Hough直線檢測(cè)算法的有效性,選取背景干擾嚴(yán)重的1幅圖像進(jìn)行測(cè)試。因?yàn)镽HT和PHT算法原理基本相似,且PHT算法應(yīng)用較多,故本文選用PHT算法作為對(duì)比,檢測(cè)效果如圖4所示。
圖4 本文算法與PHT算法輸出結(jié)果對(duì)比
圖4(a)中,帶端點(diǎn)的線段是PHT算法檢測(cè)結(jié)果,除了目標(biāo)線段,很多干擾直線也被檢測(cè)出來(lái),且耗時(shí)較長(zhǎng);圖4(b)中,本文改進(jìn)算法通過(guò)控制檢測(cè)閾值,工件2條邊線明顯被檢測(cè)出來(lái),檢測(cè)速度比PHT算法快了接近4倍,且直接給出2條邊線的參數(shù)方程,聯(lián)立求解可得工件角點(diǎn)坐標(biāo),根據(jù)式(2)可得工件旋轉(zhuǎn)角度。
分別使用本文算法、Harris算法、FAST算法進(jìn)行角點(diǎn)檢測(cè),結(jié)果如圖5-7所示,3種算法檢測(cè)結(jié)果的對(duì)比如表1所示。
圖7 背景干擾情況下,3種算法效果對(duì)比
表1 3種角點(diǎn)識(shí)別算法性能對(duì)比
由表1可以看出:在無(wú)干擾的圖像中,3種算法都能識(shí)別出工件的角點(diǎn),本文算法識(shí)別的有效率遠(yuǎn)高于其他2種算法;在曝光存在缺陷的圖像中,Harris和FAST角點(diǎn)檢測(cè)算法的識(shí)別有效率均不理想,無(wú)法應(yīng)用于實(shí)際生產(chǎn)中,本文算法能最大程度降低圖像邊緣噪聲對(duì)檢測(cè)結(jié)果的影響;在背景存在干擾的圖像中,本文算法無(wú)論從耗時(shí)還是識(shí)別有效率上均領(lǐng)先于其他2種算法。綜上,本文算法識(shí)別角點(diǎn)有效率高,耗時(shí)較少,抗噪能力強(qiáng),同時(shí)可給出工件的旋轉(zhuǎn)角度,準(zhǔn)確可靠。
圖8 雙目視覺(jué)標(biāo)定精度測(cè)試裝置
為了測(cè)試雙目視覺(jué)標(biāo)定方法的精度,用標(biāo)定板代替所定位工件,尖端工具代替末端執(zhí)行器來(lái)定位選擇的目標(biāo)角點(diǎn),測(cè)試裝置如圖8所示。
首先拍下標(biāo)定板的圖像,計(jì)算每一個(gè)角點(diǎn)的圖像坐標(biāo),用帶針尖的工具去觸碰標(biāo)定板的角點(diǎn),記錄示教器上的坐標(biāo)值,代表該角點(diǎn)實(shí)際對(duì)應(yīng)的機(jī)器人坐標(biāo),然后利用雙目視覺(jué)標(biāo)定系統(tǒng),計(jì)算出像素坐標(biāo)對(duì)應(yīng)的機(jī)器人坐標(biāo)。試驗(yàn)數(shù)據(jù)如表2所示。
表2 雙目視覺(jué)標(biāo)定驗(yàn)證結(jié)果
圖9 大尺度工件復(fù)合效果
從表2可以看出:本文雙目視覺(jué)標(biāo)定方法誤差在0.5 mm左右,滿足定位精度要求。根據(jù)本文算法得到的角點(diǎn)坐標(biāo)和工件旋轉(zhuǎn)角度,能夠準(zhǔn)確計(jì)算出大尺度矩形工件的幾何中心和相對(duì)于示教末端執(zhí)行器的旋轉(zhuǎn)角度,以此數(shù)據(jù)調(diào)整機(jī)器人的姿態(tài)可以實(shí)現(xiàn)工件的準(zhǔn)確定位抓取。為了驗(yàn)證本文算法的實(shí)際應(yīng)用效果,選擇實(shí)際生產(chǎn)中的純海綿床墊作為實(shí)驗(yàn)對(duì)象,上、下層工件尺寸均為2 000 mm×2 000 mm,抓取前工件為任意角度、任意位置在實(shí)驗(yàn)臺(tái)上擺放,首先定位下層工件位姿,然后定位上層工件位姿,并引導(dǎo)機(jī)器人完成抓取,最后將上層工件復(fù)合在下層工件上面,復(fù)合效果如圖9所示。每個(gè)流程要完成兩次大尺寸工件的精準(zhǔn)定位,才能滿足海綿床墊的復(fù)合精度要求。經(jīng)過(guò)若干次實(shí)驗(yàn),邊緣吻合精度小于2 mm,抓取中心重復(fù)誤差小于0.05 mm。
本文基于Hough變換提出了改進(jìn)的Hough直線角點(diǎn)檢測(cè)方法,利用雙目視覺(jué)技術(shù)完成了大尺度工件的定位,該定位方法耗時(shí)短、精度高,可應(yīng)用于大尺度工件的搬運(yùn)、碼垛、復(fù)合等場(chǎng)景,彌補(bǔ)了工業(yè)領(lǐng)域利用機(jī)器視覺(jué)定位大尺度工件方面研究的不足。但是,柔性大尺度工件易產(chǎn)生變形,影響定位精度,下一步將考慮柔性大尺度工件的形變,進(jìn)一步完善算法,使其更貼近實(shí)際應(yīng)用。