在汽車零配件組裝生產線上,視覺檢測系統已經是不可或缺的重要組成部分。自動化裝配線具有批量生產,各道工序之間依賴性強,精度、穩定性要求高的特點。因此,生產環境、被測對象的特征、可以預計及不可預計的偶然因素在很大程度上影響了視覺系統的設計方案,需要仔細分析和檢驗測量算法的合理性和精確性。 在實際設計過程中,一方面生產部門會提出標準產品允許的誤差范圍,另一方面視覺系統有自身可以達到的精度水平。只有當視覺系統所能達到的精度水平高于標準產品的精度要求時,視覺檢測才是有效的。本文將以彈簧組件的尺寸檢測為例,研究分析視覺檢測中的精度問題,并提出相應的解決方案。背景 1 系統描述 視覺系統用于檢測彈簧組件的組裝質量。整個檢測過程使用雙攝像鏡頭,成90°夾角設置于兩側。當彈簧組件運動到鏡頭前,鏡頭從兩個方向同時采集圖像,經專用視覺軟件計算得出測量數據,在LCD顯示屏上顯示產品質量狀況為OK或NG,并給出各個參數的測量值。如果質量為OK, 繼續執行之后的工序;如果為NG,工作站將報警并暫停工作等待處理。 2 系統功能 視覺系統對各產品類型的主輔兩種彈簧組件的加工尺寸和組裝質量進行實時監控。主要指標包括:彈簧的外徑、活塞的外徑以及同心度的測量。嚴格將各個指標控制在質量要求的誤差范圍內,最后綜合評定產品質量的好壞,以達到質量控制的功能。 視覺檢測系統設計 1搭建視覺檢測系統通常包括以下步驟 ● 搭建光學系統,獲取質量良好的圖像。圖像要能夠突出被測對象的特征,方便對象提取,這是決定系統設計成敗的先決條件。 ● 圖像預處理。過濾圖像噪聲,通過二值化、邊緣銳化等圖像處理算法提取對象特征。 ● 位置調整和定標。定位感興區域并進行像素單位到毫米單位的轉換。 ● 檢測算法設計。針對具體應用設計外觀尺寸測量、字符讀取、二維碼讀取等檢測算法,對特殊應用場合編程設計軟件擴展模塊。 ● 系統測試。對于大批量檢測任務,需要對系統的穩定性和精度進行試生產測試。分析誤判、漏判等異常狀況,改進前述步驟,統計視覺檢測 的成功率,直至滿足生產要求為止 2 光源、鏡頭選取及成像效果 由于被測量是彈簧組件的外觀尺寸,所以采用LED背光源可以有效地突出被測物體的邊緣。另外,考慮到鏡頭、物體和光源組成的光學系統的安裝位置受機器上的預留空間限制,因此采用12mm焦距的標準鏡頭。被測物體最大長度在100mm左右,即要求取景視野要大于100mm,物距大致在200mm附近。調小光圈,抑制金屬表面的反光,微調鏡頭、物體和光源的相對距離,可以得到物體邊緣清晰的圖像。 3 圖像預處理 對于外觀尺寸檢測,邊緣的清晰程度直接影響檢測的精度。為此該系統中采用3×3的邊緣銳化模板處理原始圖像。 4 位置調整和定標 由于每件產品出現在鏡頭前的位置會有微小變化,經鏡頭放大后被測物可能偏出預設的ROI,所以需要相應調整ROI的位置。首先在圖像中找到特征明顯且穩定的一部分,如彈簧中部的3個螺紋,然后根據該部分的位置調整其他ROI的位置。圖1顯示了調整后的效果。
圖1 (a) 選取用于定位的模板 (b) 偏移的測量區域 (c) 經過位置調整后的測量區域 定標實現了像素單位到毫米單位的轉換,轉換系數由公式1計算得出。 (1)
在此,實際長度為活塞的外徑,加工精度精確到0.1mm,而像素長度從預測量結果中讀出,精確到0.01個像素,即所謂的子像素級。 5 測量方法 在外觀尺寸測量中,所用視覺檢測軟件提供了Gauging函數庫,并且采用子像素測量技術,軟件測量精度可達到0.01個像素,足以滿足產品最高0.1mm級的精度要求。在彈簧組件檢測中,各被測物的測量目的有所區別,精度要求也就不同。另外,活塞為規則的圓柱體,而彈簧為不規則的螺旋體。綜合考慮以上因素,測量工具需要依據對象特征擇優選取。
● 活塞外徑檢測 通過檢測灰度跳變可以很容易地檢測到活塞的邊緣,并以兩條直線間的最小距離作為活塞的外徑。 ● 彈簧外徑檢測 由于彈簧的輪廓為鋸齒形,所以先檢測鋸齒尖端輪廓,然后將三段邊緣擬合為一條直線,從而可以如同活塞外徑一樣以兩條直線間的最短距離作為彈簧的外徑。圖2說明了這個過程。
圖2 (a) 彈簧輪廓 (b) 擬合彈簧輪廓得到的直線 (c) 將彈簧和活塞外邊緣作為測量對象 (d) 彈簧和活塞外徑的測量結果 ● 同心度檢測方法 同心度定義為兩圓圓心的接近程度,一般以兩圓心之間的距離作為量度。然而,在該系統中需要從側面觀察,并檢測活塞和彈簧的同心度。在此提出了兩種解決方案。 方案一 :間距測量法。計算彈簧邊緣與活塞邊緣的兩側間隙,如該空隙寬度在規定的公差范圍內,即認為活塞和彈簧的同心度合格。 方案二 :中心線測量法。嘗試尋找彈簧和活塞的中心線,并計算兩條中心線的夾角,如該夾角在規定的公差范圍內,即認為活塞和彈簧的同心度合格。 ① 間距測量法 沿用測量活塞和彈簧外徑的邊緣檢測算法,可以方便的計算出彈簧邊緣與活塞邊緣的間隙寬度。由于采用成90°的雙攝像鏡頭,故進一步推算得出兩圓心間的距離。在此假定彈簧的傾斜程度很小,可以認為彈簧頂面和活塞頂面平行,彈簧和活塞的位置如圖3。推算圓心間距的公式2如下:
圖3 同心度測量的幾何模型 (2)
為說明測量的精度,簡單采集10個樣本圖像,得到表1中列出的樣本數據。
② 中心線測量法 首先選取彈簧鋸齒形輪廓上的尖端作為特征點(見圖4),由此計算出有限個中點。然后采用最小二乘法擬合這些中點,得出彈簧中心線。另外,由于活塞外壁有很高的加工精度,所以可以只取兩個中點連接成活塞的中心線,再計算出兩條擬合直線(見圖5)的夾角。這里采用與方案一中相同的樣本圖像,并在表2中給出相應的θ值。
圖4 提取彈簧和活塞邊緣上的特征點 圖5 MATLAB仿真的彈簧和活塞中心線的擬合效果
比較兩種方案,我們可以看出: ● 在測量精度方面,間距測量法更適用于彈簧輕微傾斜的情況。如果彈簧傾斜角很大,就不能簡單地認為彈簧上表面在做水平的平移,彈簧上表面和活塞上表面將不再是同一個平面,必然導致誤差急劇增大。此時一種替代的方法將得到應用,即不再計算d的準確值,而是簡單地考慮a1、a2、b1、b2是否大于一個公差下限,用以判斷產品是否合格。相比之下,中心線測量法適合于彈簧任何情況的傾斜,并能給出精確的傾斜角θ。 ● 在編程方面,間距測量法更容易實現。因為方案一只用到了一些視覺檢測軟件中都包含的基本圖像處理算法,無須對編寫擴展模塊,縮短了項目開發時間。而且方案一運算簡單,程序運行時間短,可有效提高生產效率。對于中心線測量法,一般的視覺檢測軟件的數值運算功能較弱,往往需要另行開發軟件擴展模塊,這無疑增加了編程難度。如果是對于工序耗時要求低,測量精度要求高的情況,中心線測量法更具優勢。 ● 共同的問題。兩種方案都只利用了對象邊緣的局部信息,而沒有考慮對象的整體特征。利用全局特征計算對象主軸的圖像處理算法還有很多,比如利用K-L展開的特征向量擬合,這也正是最小二乘法擬合的不同之處。不過特征向量擬合的復雜度更高。 |