劉航鋮,嚴(yán)小軍,惠宏超
(北京航天控制儀器研究所,北京 100039)
在精密自動(dòng)裝配過程中,機(jī)器視覺檢測(cè)通過識(shí)別零件輪廓,進(jìn)而確定軸孔零件中心的方法來(lái)實(shí)現(xiàn)零件的對(duì)位[1],照明系統(tǒng)作為視覺檢測(cè)的關(guān)鍵部分,對(duì)零件的輪廓的識(shí)別精度有顯著影響。與常用的環(huán)形光源及線光源比較,平行背光源具有尺寸檢測(cè)精度高,被測(cè)零件輪廓更為清晰等特點(diǎn)[2,3],能有效提高機(jī)器視覺在精密裝配領(lǐng)域中的檢測(cè)精度。
但由于待裝配的孔零件無(wú)法保證完全豎直,在孔零件存在不確定的小角度傾斜時(shí),采用平行背光照明將出現(xiàn)的光路如圖1所示,所成的像分別對(duì)應(yīng)零件上下端面的輪廓,這將超出鏡頭允許的景深范圍,導(dǎo)致無(wú)法采集到清晰的圖像,使平行背光源在孔零件定位的工程應(yīng)用中使用困難。
圖1 零件傾斜時(shí)平行背光照明的光路Fig.1 The light path of parallel backlight when the parts are inclined
文獻(xiàn)[4]在孔徑尺寸檢測(cè)中引入了平行背光源照明,但主要用于提高圖像對(duì)比度,在輪廓識(shí)別中仍依靠環(huán)形光源正面照明。文獻(xiàn)[5]中采用平行背光源照明突出零件輪廓特征,但檢測(cè)對(duì)象為圓柱形零件的側(cè)面輪廓,在零件傾斜時(shí)仍可獲得清晰圖像。文獻(xiàn)[6]中利用平行背光源照明實(shí)現(xiàn)了機(jī)器視覺高精度檢測(cè),但其檢測(cè)對(duì)象為球形體,無(wú)法適用于孔零件的定位檢測(cè)。
圖2 薄壁孔零件的內(nèi)棱結(jié)構(gòu)Fig.2 Inner edge structure of thin wall hole parts
針對(duì)上述問題,提出了一種基于平行背光源的孔零件定位方法,利用圖2所示的孔型零件對(duì)安裝軸起固定、限位作用的內(nèi)棱結(jié)構(gòu),在零件傾斜導(dǎo)致光路被阻擋的情況下,相機(jī)通過采集零件內(nèi)棱的輪廓特征來(lái)獲取零件位置信息。分析了內(nèi)棱輪廓的圖像特征,并設(shè)計(jì)了對(duì)應(yīng)的圖像處理算法、零件傾斜角計(jì)算方法與空間定位方法,實(shí)現(xiàn)對(duì)孔零件的準(zhǔn)確空間定位。該方法克服了平行背光源的工程應(yīng)用困難,提高了機(jī)器視覺檢測(cè)精度,在單目視覺條件下,可實(shí)現(xiàn)在孔零件傾斜角小于1°時(shí),同軸度要求10 μm的軸孔自動(dòng)化裝配。
相機(jī)需要采集到孔零件內(nèi)棱的完整輪廓才能滿足檢測(cè)要求,因此,僅當(dāng)平行背光覆蓋范圍包括內(nèi)棱的全部邊緣輪廓時(shí),視覺檢測(cè)系統(tǒng)才能獲得內(nèi)棱結(jié)構(gòu)的完整圖像。
圖3 薄壁孔零件的簡(jiǎn)化模型Fig.3 Simplified model of thin wall hole parts
將薄壁孔零件簡(jiǎn)化為圖3所示的模型,設(shè)零件沿軸線的傾斜角為β,內(nèi)棱厚度為h,深度為L(zhǎng),長(zhǎng)度為l,零件全高為H,內(nèi)壁半徑為r,據(jù)此可以給出傾斜角可行域的第一個(gè)條件,用以計(jì)算采用平行背光方式照明時(shí),滿足機(jī)器視覺檢測(cè)要求的零件傾斜角極值:
(1)
同時(shí),平行背光照明在相機(jī)鏡頭中所成的像是輪廓的陰影,如圖4所示,由于傾斜,圖像上所呈現(xiàn)的陰影輪廓實(shí)際上分別屬于孔零件內(nèi)棱的上下表面。
圖4 平行背光在零件內(nèi)部結(jié)果的實(shí)際投影輪廓Fig.4 The actual projection profile of the parallel backlight results inside the part
為滿足圖像清晰度需求,用于機(jī)器視覺檢測(cè)的鏡頭需要在一定的景深范圍下工作,設(shè)鏡頭工作的景深范圍為±a,零件傾斜后的圖像為上下兩個(gè)輪廓陰影的拼接,因此兩個(gè)輪廓的位置都需要滿足工作距離的要求,在符合式(1)中傾斜角可行域的前提下,則可以得到傾斜角可行域的第二個(gè)條件:
(2)
當(dāng)零件端面與相機(jī)成像面不平行時(shí),圓輪廓在相機(jī)中的成像為橢圓[7],在圖3所示的傾斜情況下,將上下表面輪廓分別簡(jiǎn)化為無(wú)厚度的薄壁,其在相機(jī)中的成像為兩個(gè)橢圓, 因此,孔零件內(nèi)棱在相機(jī)中的成像結(jié)果如圖5所示,為兩個(gè)橢圓各自的一部分拼接而成。
圖5 孔零件內(nèi)棱結(jié)構(gòu)輪廓的投影Fig.5 Projection of inner edge structure contour of hole parts
設(shè)孔零件端面某點(diǎn)的坐標(biāo)為[xw,yw,zw],本文使用的鏡頭為遠(yuǎn)心鏡頭,可以避免成像遠(yuǎn)小近大的問題,根據(jù)變換原理,其在數(shù)字圖像坐標(biāo)系O-uv中的投影坐標(biāo)為[8]:
(3)
上式中矩陣λ,μ由鏡頭放大倍數(shù)與相機(jī)像元尺寸決定,是固定值,矩陣R、T由坐標(biāo)系變換決定,為便于研究,以孔零件豎直固定時(shí),固定面圓心為原點(diǎn),圓柱軸線為Z軸建立如圖6所示的直角坐標(biāo)系。在該坐標(biāo)系下,零件的傾斜總可以分解為繞X軸旋轉(zhuǎn)與繞Y軸旋轉(zhuǎn),因此假定零件僅繞X軸旋轉(zhuǎn)來(lái)對(duì)圖像特征進(jìn)行研究。
圖6 零件裝配坐標(biāo)系Fig.6 Part assembly coordinate system
零件的定位問題可以轉(zhuǎn)化為在二維圖像中尋求適宜的關(guān)鍵特征,繼而設(shè)置相應(yīng)的定位算法,使零件得以實(shí)現(xiàn)成功裝配。在假定零件僅繞X軸旋轉(zhuǎn)的前提下,可對(duì)孔零件的圖像特征分析如下:
1)設(shè)未發(fā)生傾斜時(shí),孔零件內(nèi)棱下表面與X軸平行的直徑,其與內(nèi)棱外壁的交點(diǎn)在世界坐標(biāo)系中的坐標(biāo)分別為A(x1,0,z1),B(-x1,0,z1),則在零件繞X軸旋轉(zhuǎn)β后,A、B的坐標(biāo)分別變?yōu)?
A(x1,(H-L)sinβ,z1-(H-L)tanβsinβ)
(4)
B(-x1,(H-L)sinβ,z1-(H-L)tanβsinβ)
(5)
2)設(shè)未發(fā)生傾斜時(shí),孔零件內(nèi)棱下表面與Y軸平行的直徑,其與內(nèi)棱外壁的交點(diǎn)在世界坐標(biāo)系中的坐標(biāo)分別為C(0,y2,z2),則在零件繞X軸旋轉(zhuǎn)β后,C、D的坐標(biāo)分別變?yōu)椋?/p>
C(0,y2+[r(1/cosβ-1)+(H-L-rtanβ)sinβ],
z2-f(β))
(6)
D(0,-y2+[r(1-cosβ)+H-L]sinβ,z2-f(β))
(7)
3)根據(jù)式(3)給出的變換原理,通過調(diào)整相機(jī)位置使R為單位矩陣,T為0矩陣,若將孔零件內(nèi)棱視為無(wú)厚度的薄壁,可以得到,在相機(jī)獲取的內(nèi)棱下表面圖像中,A、B、C、D點(diǎn)對(duì)應(yīng)的坐標(biāo)分別為:
A1(x1λ,(H-L)sinβμ)
(8)
B1(-x1λ,(H-L)sinβμ)
(9)
C1(0,{y2+[r(1/cosβ-1)+(H-L-
rtanβ)sinβ}μ])
(10)
D1(0,{-y2+r(1-cosβ)+(H-L)sinβ}μ])
(11)
同理可以分析得出,若將孔零件內(nèi)棱視為無(wú)厚度的薄壁,則上表面相同位置的點(diǎn)在零件傾斜后,在相機(jī)獲取的圖像中的坐標(biāo)為:
A2(x3λ,(H-L-h)sinβμ)
(12)
B2(-x3λ,(H-L-h)sinβμ)
(13)
C2(0,{y4+[r(1/cosβ-1)+(H-L-h-
rtanβ)sinβ}μ])
(14)
D2(0,{-y4+r(1-cosβ)+(H-L-h)sinβ}μ])
(15)
由以上坐標(biāo)變化結(jié)果可知,當(dāng)零件繞X軸旋轉(zhuǎn)時(shí),孔零件內(nèi)棱同一表面上,與X軸平行的直徑與內(nèi)棱外壁的交點(diǎn)在相機(jī)采集的圖像中,沿X軸方向的坐標(biāo)值之差始終為2λx1=2λr,與傾斜角度無(wú)關(guān);與Y軸平行的直徑與內(nèi)棱外壁的交點(diǎn)在相機(jī)采集的圖像中,其沿Y軸方向的坐標(biāo)值之差為2rcosβμ,與傾斜角度相關(guān)。
由此可知,繞X軸傾斜后的孔零件內(nèi)棱同一表面在相機(jī)中成像的橢圓特征為:長(zhǎng)軸長(zhǎng)度為內(nèi)棱半徑的整數(shù)倍且保持不變,短軸長(zhǎng)度與傾斜角β及內(nèi)棱的半徑r相關(guān)。因此,相機(jī)最終采集到的圖像為上下表面所成像的兩個(gè)相同橢圓的拼接,為實(shí)現(xiàn)定位,需對(duì)采集到的橢圓圖像進(jìn)行擬合。
橢圓擬合較常見的方法主要為hough變換擬合[9]與最小二乘法擬合[10]兩種方法,但直接使用這些方法進(jìn)行擬合時(shí),其計(jì)算效率與輪廓識(shí)別誤差難以滿足精密裝配的需要。針對(duì)孔零件的實(shí)際特征,采用優(yōu)化后的橢圓擬合算法[11],結(jié)合歸一化與最小二乘法對(duì)橢圓進(jìn)行擬合,得到式(4)中的橢圓參數(shù)A、B、C、D、E、F:
Ax2+Bxy+Cy2+Dx+Ey+F=0
(16)
則橢圓中心坐標(biāo)(xc,yc)為:
(17)
(18)
短軸長(zhǎng)度b為:
(19)
如前文所述,傾斜孔零件的內(nèi)棱在空間中的投影為兩個(gè)相同橢圓的拼接,且橢圓短軸在數(shù)值上僅與孔零件內(nèi)棱半徑r及傾斜角度β有關(guān),因此可建立函數(shù)f(β)=rcosβ=b,通過擬合出的b值解出β值:
(20)
函數(shù)f(β)=rcosβ為偶函數(shù),因此經(jīng)上述方法計(jì)算出的傾斜角將有兩個(gè)解,這是圓的二義性問題[12],當(dāng)零件繞同一個(gè)軸旋轉(zhuǎn)±β時(shí),所得到的橢圓投影是一致的。
針對(duì)這一問題,一般通過零件連續(xù)運(yùn)動(dòng)或采集不同位姿下的兩幅視圖,確定零件的傾斜角的唯一解[12,13],但孔零件的夾持機(jī)構(gòu)只有線位移自由度,無(wú)法實(shí)現(xiàn)偏轉(zhuǎn)角度的連續(xù)變化。因此利用文獻(xiàn)[14]所述的分光棱鏡改變光路,使相機(jī)可在零件側(cè)面采集到零件端面圖像,撤去分光棱鏡后,相機(jī)可對(duì)孔零件側(cè)面輪廓進(jìn)行拍攝,通過以下方法判斷傾斜方向,得到傾斜角的唯一解:
1)如圖7所示,當(dāng)零件沿X軸旋轉(zhuǎn)時(shí),相機(jī)拍攝孔零件的側(cè)面特征,當(dāng)側(cè)面底部輪廓特征能觀測(cè)到兩段圓弧時(shí),零件逆時(shí)針旋轉(zhuǎn),反之順時(shí)針旋轉(zhuǎn);
2)當(dāng)零件沿Y軸旋轉(zhuǎn)時(shí),相機(jī)拍攝孔零件柱面的側(cè)面特征,通過側(cè)面直線的偏斜方向確定旋轉(zhuǎn)方向;
3)零件的傾斜可以分解為繞X、Y軸的旋轉(zhuǎn)過程,因此在完成上述檢測(cè)后,零件的傾斜角即可得以確定。
圖7 零件沿不同方向旋轉(zhuǎn)同一角度時(shí)的不同投影Fig.7 Different projections of parts rotating in different directions at the same angle
孔零件圖像為兩個(gè)橢圓的拼接,其圖像中心點(diǎn)坐標(biāo)為兩個(gè)橢圓中心點(diǎn)連線的中點(diǎn):
(21)
以孔零件裝配坐標(biāo)系為世界坐標(biāo)系,根據(jù)遠(yuǎn)心鏡頭坐標(biāo)變換規(guī)律,零件端面中心點(diǎn)的坐標(biāo)為:
(22)
同時(shí),零件在空間中的傾斜角為β也已計(jì)算得出。由此,孔零件在空間中的位姿可以完全確定。
待裝配孔零件長(zhǎng)40.00 mm,外徑30.00 mm,內(nèi)棱直徑20.02 mm,圓柱軸零件厚度12.00 mm,半徑20.00 mm,同軸度要求為10 μm,使用6 500萬(wàn)像素工業(yè)相機(jī),其在平行背光條件下采集到的圖像如圖8所示。
圖8 孔零件在平行背光條件下采集的圖像Fig.8 Image acquisition of hole parts under the condition of parallel backlight
根據(jù)驗(yàn)證需求,將軸類零件與六自由度調(diào)整機(jī)構(gòu)相連接以搭建裝配平臺(tái)。實(shí)驗(yàn)通過給定偏轉(zhuǎn)角度的方式進(jìn)行,在給定偏轉(zhuǎn)角度后通過實(shí)驗(yàn)驗(yàn)證傾斜角計(jì)算方法的準(zhǔn)確性,驗(yàn)證結(jié)果如表1所示。
表1 平行光源照明時(shí)傾斜角檢測(cè)方法驗(yàn)證結(jié)果Table 1 Verification results of tilt angle detection method for parallel light source illumination
實(shí)驗(yàn)顯示,本文提出的傾斜角檢測(cè)方法絕對(duì)精度小于0.002°,相對(duì)誤差小于0.5%。
為驗(yàn)證本文方法對(duì)裝配精度的提升,使用環(huán)形光源進(jìn)行正面照明,以孔零件端面為檢測(cè)對(duì)象,采用同樣的方法檢測(cè)傾斜角度,其結(jié)果如表2所示。
表2 環(huán)形光源照明時(shí)傾斜角檢測(cè)方法驗(yàn)證結(jié)果Table 2 Verification results of tilt angle detection method for annular light source illumination
可知,在給定同樣傾斜角的情況下,采用平行背光源時(shí),傾斜角檢測(cè)精度明顯優(yōu)于環(huán)形光源正面照明,證明本文提出的利用平行光源背光照明檢測(cè)傾斜角的方法能有效提高機(jī)器視覺檢測(cè)的精度。
根據(jù)以上所述的定位方法進(jìn)行零件裝配,試裝配中,通過觀察待裝配零件在裝配過程中是否出現(xiàn)卡阻來(lái)驗(yàn)證定位方法的可行性,采用同一套零件反復(fù)試裝三十次,并與采用環(huán)形光源正面照明時(shí)的成功率進(jìn)行對(duì)比,其結(jié)果如表3所示。
表3 不同照明方式下的裝配成功率Table 3 Assembly success rate under different lighting modes
從上述實(shí)驗(yàn)結(jié)果可知,采用本文提出的精密定位改進(jìn)方法后,待裝配零件的一次裝配成功率得以大幅提高,證明本文所提出的方法能在工程中得以實(shí)際應(yīng)用。
本文針對(duì)孔零件視覺定位過程中,在零件存在小角度傾斜時(shí),平行光源工程使用困難的問題,利用孔零件內(nèi)棱設(shè)計(jì)了一種改進(jìn)后的視覺定位方法,可通過單目視覺的方式確定零件的傾斜角度并給出視覺定位特征點(diǎn),最終實(shí)現(xiàn)孔零件的精確定位。
實(shí)際驗(yàn)證表明,本文提出的精密定位改進(jìn)方法誤差優(yōu)于0.5%,解決了平行背光源在實(shí)際工程應(yīng)用中的使用困難,與傳統(tǒng)環(huán)形光源方案相比,裝配精度與成功率均得以提升,改善了實(shí)際裝配環(huán)節(jié)的質(zhì)量,能夠?qū)崿F(xiàn)同軸度要求10 μm級(jí)的精密裝配,具有顯著的工程應(yīng)用價(jià)值。