許 昊,李維榮,程 鵬
(中機生產力促進中心,北京 100044)
在全球工業化高度發展的今天,螺紋連接作為傳統的機械連接方式,因其具有結構簡單,操作方便,成本低廉等特點,仍然作為主流聯接方式而被廣泛使用。六角頭螺栓是螺紋連接中最常用的緊固件,應用量特別大,出現失效案例又很多,幾何精度直接影響其力學性能和互換性,必須在成型加工過程中加以控制。目前,對螺栓外形[1]的檢測大多采用人工抽檢,存在人為因素影響大,效率低下等問題,用光學方法進行自動檢測的應用還不廣泛。
機器視覺是一種非接觸的檢測方法,它具有快捷、經濟、靈活等優點。通過工業CCD或CMOS攝像頭拍攝物體的清晰圖像,然后采用計算機硬件及軟件技術對圖像信息進行輔助處理,提取幾何特征值,與預期特征進行自動對比,進而完成零件的測量和篩選。圖1是視覺檢測系統的一般流程。

圖1 視覺檢測系統的一般流程Fig.1 The general process of visual inspection system
本文所述的螺栓檢測系統有以下幾部分組成:①圖像采集部分,包括三個CCD數字攝像機、光源等;②零件傳送及篩選部分,包括步進電機,傳送帶等,步進電機的運動和篩選模塊的動作均采用PLC控制;③圖像處理部分,主要對采集到的螺栓圖像進行實時處理并進行特征提取。圖2為螺栓檢測的檢測流程[2]。
螺栓在傳送帶上運動,依次經過三個攝像頭的檢測區域,觸發拍照采集圖像,然后將圖像傳送至計算機進行實時處理,與預設的參數進行比較,判定零件是否合格。根據判定結果發出篩選模塊控制指令,實現合格與不合格產品的分離。

圖2 螺栓檢測流程Fig.2 Bolt detection process
常見的螺栓幾何缺陷包括尺寸超差、形狀不規則、頭部填充不滿或者裂紋等,這些缺陷在采集的圖像中主要表現為面積和邊界等特征參數的變化。
經過圖像采集、處理得到所需的圖像,用一些區域描繪子來描述圖像中的區域特征[3],如區域的邊界線型、面積、致密性、質心等。
(1)零件的投影面積。在處理后得到的二值數字圖像中,背景區域為黑色,待檢物體為白色,區域的面積可定義為黑白界限內區域中所包含的像素總數。

式中:A—區域面積 (m);m—像素點橫坐標;n—像素點縱坐標;f(m,n):像素點特征值,黑色時取0,白色時取1。
(2)區域周長。常用的有兩種計算方法:一種是在區域的邊界像素中,設某像素與其上下左右像素間的距離為1,與斜方向像素間的距離為,周長就是這些像素間距離的總和。另一種計算方法將邊界的像素數目總和作為周長,本文選擇第一種方法。

∈i代表該點鄰域的8個方向,斜向為奇數。
(3)區域的圓形度。

此參數不受區域平移、旋轉和尺寸變化的影響。
(4)區域質心。

式中:m—像素點橫坐標;n—像素點縱坐標;xc—質心橫坐標;yc—質心的縱坐標;f(m,n):像素點特征值,黑色時取0,白色時取1。
(5)區域的平均半徑。

式中:(xk,yk)—區域邊緣上的點;(xc,yc)—區域的質心。
(1)螺栓頭。 圖 3(a)為螺栓頭的灰度圖像,圖 3 (b)為螺栓頭部二值化后的區域圖像,圖3(c)為圖3(b)的輪廓跟蹤曲線。由圖3(b)可計算出螺栓頭部的面積,圖3(c)可計算出螺栓頭部的輪廓周長,進而可求出其它特征參數值。

圖3 螺栓頭特征提取Fig.3 Feature extraction of the bolt head
(2)螺紋大徑。螺紋的大徑是指與螺紋相切的假想圓柱體的直徑。大徑是普通外螺紋的公稱直徑,可通過測量螺栓底端的投影外圓輪廓線的長度來獲得。圖4(a)為螺栓底端的原始灰度圖像,圖4(b)、(c)分別是底端圖像的二值化和邊緣提取后的結果。

圖4 螺紋大徑的特征提取Fig.4 Feature extraction of major diameter
(3)螺紋中徑。中徑是一個假想圓柱的直徑,該圓柱的母線通過牙型上溝槽和凸起軸向寬度相等的地方,此假想圓柱稱為中徑圓柱。中徑圓柱的母線稱為中徑線,軸線即為螺紋軸線。螺紋連接一般只有螺紋牙側面中徑附近接觸,而在大徑和小徑處應有間隙,螺紋中徑是決定螺紋配合性質的主要參數。螺紋邊緣提取后的結果如圖 5(c)所示。

圖5 螺紋中徑的特征提取Fig.5 Feature extraction of pitch diameter
由圖5可知,螺紋牙的上下邊緣線是兩條近似對稱的曲線,這時存在一條對稱軸,其方程式設為y=kx+b。選取曲線上的一系列點,通過最小二乘法可計算出k、b,進而求出螺紋截面對稱軸的方程式。設直線y=kx+b與數據點[xi,yi]的方差為 φ(a,k), 則有:


圖6 螺紋的中徑線Fig.6 The pitch diameter line of screw thread

求得直線方程y=kx+b后,將其向上平移r距離得到y=kx+b+r,平移后的直線和螺紋上邊緣線產生一系列交點,如圖6所示。將所有螺紋邊緣點[xi,yi]依次代入y=kx+b+r, 若滿足|yi-(kxi+b+r)|<σ,則認為這一點是交點,此處σ取0.1。這時產生線段AB、BC、CD、DE、EF,選取令所有線段方差最小的r值,并記錄此時的直線L。同理,可求得下方的另一條直線L1,中徑d2=|L-L1|。
在Visual C++6.0下開發應用程序,圖像的構造及讀取等操作封裝在Cimg類中,而對圖像的處理操作封裝在CimgProcess類中。零件進入圖像采集區域觸發數字攝像機采集圖像到內存后,立即構造CimgProcess對象[3],并調用相應的成員函數進行處理。部分程序代碼如下:


本文根據螺栓形狀特征設計了一種基于機器視覺的檢測方法,經驗證,這種方法的檢測精度可達到0.05mm,速率達到120件/分鐘,不僅提高了檢測效率和準確性,更有利于實現工廠的自動化。在以上工作的基礎上還應該做以下研究:①改善和完善現有代碼,提高檢測的效率并減少誤差率;②對機械部分進行優化設計,以提高系統整體的靈活性。
[1]楊樹華.標準緊固件手冊[M].中國質檢出版社,2012.
[2]林長青,莊石,廖俊必,等.基于機器視覺的螺釘在線檢測[J].工具技術,2007,8.
[3]張錚,王艷平,等.數字圖像處理與機器視覺Visual C++與Matlab實現[M].人民郵電出版社,2010.
[4]劉海波,沈晶,郭聳,等.Visual C++數字圖像處理技術詳解[M].機械工程出版社,2010.