陳 柱,吳定祥,唐立軍
(1.長沙理工大學 物理與電子科學學院,長沙 410114;2.近地空間電磁環境監測與建模湖南省普通高校重點實驗室,長沙 410114;3.長沙億旭智能科技有限公司,長沙 410004)
常用的陶瓷溫控器由特種陶瓷殼體和金屬動觸件構成。溫控器要求陶瓷殼體安裝后,能精確支撐其內部金屬觸件在合適的位置,且有良好的密封性。陶瓷殼體外壁成圓柱狀,中空由兩個平面階層組成,設有兩個安裝孔,使陶瓷殼內槽深度在線測量較為困難。
常見的測量方法可分為接觸式和非接觸式兩種,接觸式測量方法[1]有:游標卡尺、螺旋測微器、探針式和關節臂式三坐標測量機等。其特點是測量的可靠性高、測量精度高,但接觸式測量的接觸力可能會對測量器具和零件表面造成變形,從而影響測量的準確度,且測量速度較慢效率不高[2]。常見的非接觸測量方法有:激光法[3]、電渦流法、超聲測量法、機器視覺測量。非接觸測量的優點是測量傳感器不與被測物體接觸,不會對被測零件表面造成損傷,對于結構復雜、曲面和軟性物體的測量有較大優勢[4-5]。前者測量過程步驟繁多效率太低,后者檢測速度快效率高。
因此本文對形狀較為復雜的陶瓷殼內槽深度測量方法進行研究,探討激光輔助拍照加機器視覺方法,實現對溫控器陶瓷殼體的內槽深度的在線檢測。
本文所檢測的溫控陶瓷繼電器殼體是一個外圓中空的圓柱形物體,且內部含有高低不同的兩個平面階層,兩個階層上都有安裝孔。陶瓷殼體結構如圖1所示。具體要檢測陶瓷殼體槽內底層、中間層和頂層各個層面之間的深度差H1、H2、H3。

圖1 陶瓷殼體結構參數
本設計要求測量陶瓷殼體內槽中,兩個不同階層的深度。如果不加選擇直接投射激光,當激光照射到內部安裝孔上時,會導致光斑成像不規則難以識別?;虍敼獍叩慕嵌扰c兩平面交界線的角度相近時,光斑只能覆蓋其中的一個平面,無法反映兩平面之間的高度差。只有當激光同時照射在不同高度的兩個平面上,才能形成帶有間距且相互平行的光斑。通過光斑之間的距離差,采用激光三角法可以將距離差轉換為高度差,從而求取內槽中不同階層的深度信息。因此選取激光的照射方向是相當關鍵的,由此通過機器視覺的方法識別陶瓷殼擺放角度,并設計多激光環形光路自適應的輔助相機拍照。
該光路結構要應用在工業生產線上,要求能夠快速對溫控器陶瓷殼內槽深度進行測量。由于溫控器陶瓷殼體為上端開口的圓柱形結構,因此采用環形光路投射激光。同時陶瓷殼體內槽的結構具有軸對稱,所以只需在環形支架的180°半圓內,等間距安裝8個一字激光器,即可全面覆蓋陶瓷殼正放變化的角度。各個相鄰激光位置相差的角度為22.5°,8個激光所處的角度分別為0°、22.5°、45°、67.5°、90°、112.5°、135°、157.5°、180°。環形支架位于零件檢測位置的正上方,每個激光都以45°角向下照射。結構示意圖如圖2所示。其中r為環形支架的半徑,d為激光焦距,θ為激光向下投射的角度。

圖2 多激光環形光路
要判定哪個激光照射的方向合適,就需要拍攝溫控器陶瓷殼的內槽結構。采用機器視覺的方式識別陶瓷殼內槽結構特征,確定零件的放置角度。以陶瓷殼的擺放角度為依據,選擇合適方的激光。
2.2.1 激光投射坐標構建
要通過識別陶瓷殼的擺放角度判斷照射激光的方向,必須構建相應的位置坐標系。首先在圖像中構建圖像坐標系O-UV和世界坐標系O-XaYaZa,以及根據激光器的實際擺放位置構建激光坐標系O-xy。如圖3所示,世界坐標系中的Xa軸對應圖像和激光坐標系中的U軸和X軸,Ya軸對應圖像和激光坐標系中的V軸和Y軸.8個激光的編號分別為1、2、3、4、5、6、7、8號。

圖3 坐標系圖
2.2.2 零件旋轉角度的識別
實時的拍攝零件的圖像,通過圖像處理的方法識別零件內槽結構,確定零件擺放的旋轉角度。具體實現步驟如下。
(1)圖像預處理:
工業相機拍攝的零件的平面圖像,不可避免會含有噪聲。在對圖像進行特征識別前,需要對圖像進行相應的預處理,改善圖像的可識別度。通過中值濾波[6-7]可以較好的除去圖像中的斑點噪聲和椒鹽噪聲。采用閾值分割的方法將圖像中的物體和背景分開,可以避免在邊緣檢測時出現邊界重影的現象。原圖和預處理后的圖像如圖4所示。

圖4 圖像預處理
(2)邊緣提取:
陶瓷殼的不同結構之間有著明顯的分界線,邊緣信息的查找對其結構特征的提取非常重要。因此采用Canny邊緣檢測算法[8]對陶瓷殼的邊緣進行查找,在Canny邊緣檢測中采用高斯濾波去除噪聲。經典Canny算法有4個梯度算子來分別計算水平、垂直、對角線方向的梯度。在本文的檢測過程中只采用了水平和垂直方向的差分算子Gx和Gy。計算梯度模和方向的公式如下:
(1)
(2)
其中:G為梯度強度,θ表示梯度方向arctan為反正切函數。其中的卷積陣列為:
(3)
Canny邊緣檢測中還采用了非極大值抑制[9]的方法,對非邊緣像素進行排除。但對于細節信息較為豐富的圖像,非極大值抑制只能細化線條,卻不能消除不需要的線條。因此后續還需要通過雙閥值法對邊緣進行強、弱邊緣的區分。Canny邊緣檢測的效果是顯著的,相比普通的梯度算法其不僅抑制了噪聲引起的偽邊緣,而且對邊緣進行了細化操作。即使用于對比度較低的圖像,Canny算法也能較好的實現邊緣檢測。陶瓷殼體邊緣檢測圖如圖5所示。

圖5 邊緣提取圖
(3)陶瓷殼結構特征的檢測:
陶瓷殼體角度的識別是以內槽結構特征的分布情況為依據,陶瓷殼結構的特征主要有,殼體的平面中心、外壁輪廓、中間層邊沿線和零件底部的兩個安裝孔,如圖6所示。這些特征都屬于圓特征和線特征,因此本文采用霍夫變換對零件特征進行提取。

圖6 待檢測的特征
霍夫變換檢測特征的原理[10-11]是將笛卡爾坐標內的直線映射到霍夫空間,在一個點上形成峰值,將形狀檢測問題轉化為峰值統計問題。在笛卡爾坐標中直線方程都是由x、y加相應的參數來表示,而在霍夫空間內則使用極坐標表示一條直線。其中為該直線到原點的距離,為該直線的垂線與x軸的夾角。一條線在霍夫空間內,可表示成相交的曲線。笛卡爾坐標和霍夫空間轉換圖如圖7所示。

圖7 空間轉換圖
霍夫變換具有旋轉不變性且對噪聲不敏感的優點,其在多數應用場合可以準確的檢測出圓和直線。但是標準的霍夫變換運算量大且效率較低。因此采用標準霍夫變換的改進算法,累計概率霍夫變換來檢測陶瓷殼結構中的直線特征。這種方法將標準的霍夫變換的計算范圍大大縮小,提高了算法的執行效率。
(4)陶瓷殼角度的確定:
根據陶瓷殼在圖像坐標系的位置,設定其角度判別標準圖如圖8中所示,陶瓷殼的旋轉角度分別為0°、90°、180°、270°。

圖8 角度設定示意圖
通過霍夫變換可以準確的查找出零件上的兩個圓P1、P2,以及中間層的邊緣線L。由點與直線之間的距離公式(4)計算出圓P1、P2的圓心與直線L之間的距離d1、d2,d1減去d2得到Δd。
(4)
△d=d1-d2
(5)
以直線所處位置為基準,設定離直線近的圓為圓P1,離直線遠為圓P2。既時圓1為P1,時圓2為P1。
陶瓷殼旋轉角度的判斷方法,設邊緣線L與圖像坐標系x軸的夾角為β,由對稱性可知角度β的范圍為0°到180°。但是檢測的陶瓷殼并不是中心對稱的,其旋轉角度的范圍為0°到360°。所以通過值的大小,與直線L的角度共同確定零件的旋轉角度。為圓P1圓心的y軸坐標和陶瓷殼體幾何中心點O0的y軸坐標的差值,如式(6)所示。
△y=yop1-yo
(6)
累計概率霍夫變換檢測直線L,輸出來的角度β的范圍在-90°到90°之間。直線L的角度與陶瓷殼旋轉角度的轉換關系式,如式(7)所示:

(7)
陶瓷殼檢測效果圖,如圖9所示。其中分別檢測出了3個圓和其圓心坐標,以及中間層的邊沿線。根據設定的零件旋轉角度判別規則和直線的傾斜角β(38.35°),通過式(7) 中的180-β得到零件的旋轉角度為141.65°。

圖9 零件角度檢測效果圖
2.2.3 投射激光的判斷
通過之前構建好位置坐標,根據各個參數之間的關系,可以選擇出合適角度的激光。激光器所在位置的角度與其投射出來線光斑的角度相差90°,所以當激光器位于激光坐標系的ω度位置時,形成線光斑的角度為ω+90度。根據激光架的實際高度,和各個激光器向下投射的角度。結合具體的實驗得出,當線光斑與陶瓷殼的旋轉角度相差在75°到90°時。照射在內槽上的光斑,可以較好的覆蓋陶瓷殼內槽中各個高度不同的平面,且不會照射在安裝孔上。當光斑的角度與陶瓷殼的角度差值越接近90°,光斑受到陶瓷殼內壁的干擾越小,且呈現的寬度大小越均勻,光斑邊緣越光滑。所測量出來的光斑間距值的穩定性和精確性越好。要檢測的陶瓷殼是非對稱的,但其局部結構具有軸對稱性。當陶瓷殼體位于10°或190°時,直線L與x軸的夾角β1、β2都是10°,如圖10所示。

圖10 角度簡化
在這種情況下使用,其最佳投射激光都是1號激光。因此當零件旋轉的角度為時,被選擇的激光所在角度ω的關系式如式(8)所示:

(8)
該公式可以將ω的范圍從0°到360°,減小到原來的一半0°到180°。在環形光路中的8個激光,可將180°的范圍分為8個等間距區間。每個激光的有效覆蓋范圍,為其所在位置的前后11.25°。通過二分法可找出ω所在的最小區間。當成立,則說明第a號激光為最佳角度激光。否則成立,第b號激光為最佳角度激光。
2.2.4 內槽深度的測量
拍攝光斑在陶瓷殼內槽中成像的圖,并通過圖像處理的方法對光斑之間的間距進行檢測。然后采用激光三角法將光斑之間的間距值,轉換為內槽的深度值。
(1)光斑間距的求取提?。?/p>
激光形成的光斑有一定的寬度,要求各個線光斑之間的距離,就必須找出光斑的中線。光斑中間的亮度最亮,向外兩邊光斑亮度逐漸變暗,且變化趨勢不完全一致。因此光斑邊緣具有毛刺,為避免毛刺干擾中線的求取,采用高斯濾波可以較好的去除毛刺,使邊緣會變得光滑。濾除毛刺后的光斑邊緣表現為凹凸不平的光滑曲線。
由于光斑邊緣凹凸不平,使求出的中線不是完美的直線,不利于光斑間距的求解。因此采用光斑最小外接矩形的中線,來近似作為光斑的中線。這樣求取出來的中線為一條直線,具有較好的穩定性和一致性。同時考慮到利用頂層、中間層、底層3個面上的光斑,分別求出的中線斜率難以保證完全一樣。所以只求取其中成線最長光斑的中線,其他光斑只求取中心點,最后通過點與線距離來求光斑間的間距。光斑間距檢測效果如圖11所示。

圖11 光斑間距檢測圖
(2)激光三角法轉換深度:
激光三角法示意圖如12圖所示。求得光斑間的距離后,根據激光向下投射的角度,通過式(9)可以確定光斑間距與內槽深度的轉換參數tanβ。
(9)

圖12 激光三角法示意圖
根據上述方案設計實驗驗證方法,采用Basler相機拍攝圖像,像素為2 596×1 944。采用LED光源漫射正向照明,所用激光為650 nm、5 mW的線激光器。采用自主設計的環形多激光光路結構,即8個一字激光器以零件檢測的位置為中心等間距的圍成一個180°的半圓結構置于傳送圓盤的上方,每個激光器都以45°角向下投射到零件內槽中。驗證內容分為兩部分,第一部分驗證零件旋轉角度識別和投射激光選擇的準確性。第二部分驗證該方法對零件內槽深度檢測的準確性。
為了驗證角度識別和投射激光的選取,首先手動將零件擺放到檢測位置并確定其旋轉角度。然后用角度檢測程序檢測其旋轉角度,使其與手動測量的角度進行比較。同時也記錄其點亮激光的編號看是否符合預設要求。實驗結果如表1所示。

表1 角度識別數據
從表1中可以看出,零件的旋轉角度識別精度在1°以內。通過識別到的角度選擇的激光均符合輔助檢測要求。
隨機選取零件進行深度檢測,將測量出來的深度與千分尺測量的實際深度進行對比求其絕對誤差。其中H1表示內槽底部到零件頂部的深度,H2代表內槽中間層到零件頂部的深度。深度測量數據和絕對誤差分別如表2和圖13所示。

圖13 深度檢測絕對誤差
從測量結果的對比情況可以看出,深度測量的絕對誤差小于10 μm。系統的測量穩定性和精度達到了預計要求。跟據實際的情況進行誤差補償后可進一步穩定誤差波動范圍,滿足快速在線檢測需求。
針對溫控器陶瓷殼內槽深度在線檢測,需要人工調整零件的問題,本文提出了一種基于零件角度預識別的多角度激光自適應測量內槽深度的方法。通過圖像識別的方式檢測零件正放的旋轉角度,根據陶瓷殼的旋轉角度自動選擇投射激光,采用激光三角法求取零件的內槽深度。通過實際測量得到如下結論:
(1)應用多激光環形光路結構結合零件角度預識別的方法,實現了無需人工干預,自動選擇光路結構中合適的激光進行照射。零件角度的識別精度在1°以內。
(2)通過機器視覺的方法,求取內槽中不同平面上線光斑的間距,并由激光三角法將間距值轉換為內槽的深度值。實現對零件內槽深度的在線測量,測量的絕對誤差小于10 μm。