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