郝 博,陳丹丹,楊 斌,韓 焱
(1.東北大學機械工程與自動化學院,沈陽 110819;2.東北大學秦皇島分校控制工程學院,秦皇島 066004)
飛機的裝配過程就是把各種構造形式和功用的結構件按照某種要求加以連接,最后拼裝成為一個飛機整機的過程[1]。一架大型飛機上大約有上百萬個連接件,連接的方式有很多,主要為鉚接或螺栓連接。結構件連接質量直接影響飛機使用壽命。據統計,在飛機機體故障中有75%~80%都是機體機構的連接部位疲勞破壞引起的,而制孔質量是影響疲勞強度的關鍵因素。提高制孔質量可以降低連接處附加應力、擠壓應力,提高連接處的靜強度和動強度[2],從而提高連接處疲勞強度,延長飛機的服役時間,保證飛行安全。鉚接孔的圓度誤差直接反應零件加工質量的好壞,其大小是直接影響幾何精度和制孔質量的一項重要指標,影響連接件使用性能和壽命。康仁科等[1]指出為保證飛機飛行安全,需保證足夠高的圓度精度要求。卜泳等[2]分析了飛機壽命的關鍵因素,指出了圓度會影響制孔質量。張宏杰[3]指出圓度等形位誤差在我國民用飛機設備的加工和裝配中有著非常重要的作用,適當的圓度誤差能保證零件加工與裝配精度。
目前,圓度誤差檢測技術在近十年發展較為迅速,已經從傳統的手工檢測發展到微機自動化檢測,從人工接觸檢測發展到非接觸式測量。機器視覺檢測相較人工具有精度高、速度快、成本低、操作簡單等特點,在多個領域應用廣泛。劉慶民等[4]研究了基于機器視覺的非均勻分布點圓度誤差評定,證明了該方法的可行性。
本文針對以往圓度誤差檢測過程存在速度慢、檢測成本高等缺陷,采用基于機器視覺的圓度誤差評定方法。最后通過實驗驗證本方法的精確性和可靠性。
機器視覺檢測系統主要包括相機、光源、VMS4030g移動平臺、計算機組成。實驗采用長50 cm、寬40 cm、厚1.5 cm的u型鋼板模擬飛機結構件。該u型鋼板表面均勻分布20個通孔,圓孔半徑值R約為42 mm,用來模擬飛機鉚接孔。采用VMS4030g移動平臺對u型鋼板進行定位,通過移動X、Y、Z軸對u型鋼板圓孔的圖像采集,確保圓孔分布位于采集平臺正中心,便于保留圖像的完整性。圖像采集是緊固孔圓度檢測的重要組成部分,是系統的“眼睛”,基于機器視覺的緊固孔圓度誤差的在線檢測,為保證檢測精度和工作效率,系統選用高性能的面陣CCD相機。面陣CCD相機擁有大量感光單元,通過矩陣形式排列,成像速度快、精度較高,具有一次成像的特點[5]。實驗光源的選取會直接影響圖像質量,對后續特征提取和研究有重要影響。光源可分為自然光源和人造光源。人造光源包括熒光燈、光纖鹵素燈、LED光源等。其中,LED光源具有穩定性好、壽命長、光效快、功耗低、綠色環保等優點[6]。針對緊固孔圓度檢測的光源選用LED光源。在照明方式上,實驗采用高角度LED環形光源進行打光,該照明方式具有光束集中、亮度高及均勻性好等優點[7],適用于本測量系統。系統硬件布局如圖1所示。

圖1 系統硬件
圓度檢測過程為:首先,將待測零件放置檢測裝置,CCD相機進行特征采集,將特征信息導入計算機系統獲取待測零件的圖像信息;其次,對已識別的圖像信息在MATLABA環境中進行圖像高斯濾波去噪、圖像二值化處理。將灰度化的圖像進行拉普拉斯邊緣特征提取,獲得圖像輪廓信息;最后,用最小包容區域法進行邊緣輪廓圓度誤差評定,判定圓度誤差是否滿足要求。如果誤差在合理范圍內,則保留該零件,送入下一個檢測環節。反之,則進行人工檢測,對零件進行二次判定。檢測流程如圖2所示。

圖2 檢測流程圖
由于圖像采集過程會受到儀器設備、光照條件、空間分辨率等諸多因素的影響,采集到的圖像信息不能達到理想的情況。同時數字圖像本身也存在精度低、穩定差等缺陷,使得圖像處理過程中灰度值不一致,會產生噪聲,從而影響對比度的現象[8]。實驗選擇在光照充足、安全易操作的環境下進行,調節圖像分辨率,獲得最佳目標圖像,得到20個u型板圓孔圖像采集信息,選取圓孔分布位置最佳、包含特征信息最多作為目標圓孔圖像,如圖3所示。觀察并分析圖像,調整實驗參數,發現在某個強度下噪聲數量最多,且強度越遠噪聲點個數越少,并且此規律服從高斯分布,故需去除圖像中的高斯噪聲,對實驗獲得的圖像進行高斯濾波處理。

圖3 CCD相機采集到的原圖像
高斯濾波是一種線性平滑濾波,其去噪過程是首先選擇一個卷積模板,分別掃描圖像位置每一處像素,獲得鄰域內像素值的加權平均灰度值,用該灰度值來代替模板中心像素值,從而達到去噪的目的。采集到的圓孔二維圖像較為簡單,易于分析,其二維高斯函數為:
(1)
在高斯濾波中,卷積核往往會發生變化,其總和不再是一,因此需要對卷積核歸一化處理。對卷積核歸一化過程為:將鄰域坐標值帶入二維高斯函數中,獲得卷積函數值,用獲得的函數值分別進行加權計算,獲得坐標點總和為一的坐標值,從而實現歸一化處理。圖4是選取高斯核為3*3的卷積模板來表示卷積核形成的過程,選擇標準差σ=1,其中中心點坐標為(1,1)及其鄰域內8個點坐標,如圖4所示。高斯濾波去噪的原理就是在采集的圖像上方移動高斯核,將圖像的像素值高斯核相乘,將輸出的結果相加并輸出,便可以達到抑制噪聲的效果[9]。圖7為原圖像與高斯濾波去噪后對比圖。

圖4 3*3卷積模板

圖5 二維高斯函數模板

(a) 原圖像 (b) 高斯濾波去噪
為將鉚接孔圓度特征與背景信息區分開,需要對所得到的圖像進行二值化處理。圖像二值化處理是將工件的彩色通道(包括RGB三個通道)轉換為單通道輸出,從而保證孔圓度特征信息。二值化公式為:
(2)
在MATLAB環境下完成二值化過程。調用rgbzgray函數將彩色圖像轉換為灰度圖像,調用imbinarize函數用于自動求解閾值大小,圖8為鉚接孔二值化圖像。

圖8 鉚接孔二值化圖像
圖像邊緣處的像素值往往是不連續的,但是這種不連續可以通過求導來檢測。檢測常用的一階求導算子有Sobel算子、Prewitt算子、Roberts算子、Robinson算子等。一階微分算子方法雖然計算簡便、速度快,但是定位不準確,降低識別的準確性。而二階微分算子是基于一階導數極值點,對圖像求解二階導數過零點的位置來精確定位圖像邊緣,測量結果具有更高的準確性。本文采用拉普拉斯算子進行邊緣特征求解。
拉普拉斯算子是通過調整中心像素灰度值與邊緣周圍像素值的大小關系進行邊緣提取。若中心像素灰度比周圍像素值高,便會增加中心像素的灰度值,產生“亮者更亮”的效果,反之就降低中心像素灰度值,從而獲得邊緣特征信息。
拉普拉斯算子基本算法為:
(3)
式中:

(4)

(5)
則
2f(x,y)=f(x+1,y)+f(x-1,y)+
f(x,y+1)+f(x,y-1)-4f(x,y)
(6)
根據拉普拉斯算子可以得到如圖9所示的拉普拉斯算子模板。

(a) 拉普拉斯運算模板 (b) 拉普拉斯運算擴展模板
由模板可知,當鄰域的像素與中心像素相同時,應用鄰域模板與原圖像進行卷積運算,其結果顯示為0;當鄰域的平均像素低于中心像素時,采用鄰域模板和原圖像進行卷積運算,其結果為顯示為正數,反之為負數。將卷積結果加在原中心像素上,就可以實現圖像的邊緣檢測[9]。用公式表示為:
(7)
式中:f(x,y)和g(x,y)分別為輸入圖像與銳化后的圖像。由于拉普拉斯算子具有旋轉不變性,故不需要考慮原圖旋轉角度對邊緣提取結果產生的影響。圖10為邊緣檢測圖像。

圖10 邊緣檢測圖像
常用的圓度誤差評定共有4種:最小二乘法、最小外接圓法、最小包容區域法和最大內切法[10]。本實驗測量規則零件圓度誤差,使用最小包容區域具有精度較高、速度快、穩定性好,簡單易實現的特點[11]。
最小包容區域是指能夠剛好將一個給定目標物體恰好包含在內的區域是指理想要素包容被測實際要素時,具有最小半徑的包容區域。使用最小包容區域法評定圓度誤差,就是按最小條件來確定理想圓與被測實際輪廓的位置[12]。最小條件可以用“2+2”[13-15]形式表示。“2+2”形式的內容為:①先對提取出的輪廓邊界隨機采集數據點,每4個數據點為一組,共采集10組。已采集的4個數據點稱為“控制點”,該控制點滿足兩個數據點在外圓上分布,剩余兩個數據點在內圓上分布的特點。②內圓上兩控制點的連線與外圓上兩控制點的連線要相交于一點,即4個控制點符合交叉要求。
步驟1:對已提取的輪廓邊緣選取4個“控制點”,(例如:A點和B點,C點和D點)。對于該控制點來說,符合同一方向分布,即沿順時針分布或者逆時針分布。且選取該控制點的順序按照內圓、外圓交替進行;
步驟2:將內外圓上的兩點分別連接,形成兩條直線,分別得到直線L1和L2。求出直線L1和L2垂直平分線斜率K1′和K2′,可表示為:
(8)
(9)
步驟3:分別求直線L1和L2的垂直平分線L1′和L2′,并求出垂直平分線交點坐標O(X,Y),表示為:
(10)
(11)
(12)
步驟4:以O(X,Y)為圓心,以O(X,Y)分別到A(xA,yA)、B(xB,yB)、C(xC,yC)、D(xD,yD)的距離為半徑,做一組同心圓;
步驟5:觀察圖中其他測量點與同心圓之間的位置關系;
若該組同心圓能夠全部包含其他測量點,則認為該組同心圓上4個控制點符合最小包容區域法評定圓度誤差的條件,則圓度誤差為該組同心圓之間的距離。由于最小區域圓圓心至圓上各點距離中,至少各有兩個最大值Rmax和最小值Rmin,且兩最小值坐標連線與兩最大值坐標連線的交點位于最小圓內,則圓度誤差可以表示成圓心O(X,Y)到圓上最遠點(Xmax,Ymax)的距離與到最近點(Xmin,Ymin)距離之差,圓度誤差表示為:
(13)
保留并記錄數據;反之,若剩余其他測量點中有任意一點位于該組同心圓包含區域之外,那么認為該組同心圓上4個控制點不符合最小包容區域評定圓度誤差條件,故剔除該4個點的組合;
步驟6:按照控制點的選取原則,重新選擇控制點并記錄數據;
步驟7:重復步驟1~步驟5,直到包含所有符合最小包容區域評定法的組合。
(1)在MATLAB環境下調用BWBOUNDARIES函數獲取邊緣點坐標,將獲得的坐標每隔3.6°取一點實驗坐標值,共獲取100等份,將100份實驗坐標值打亂并隨機抽取10份為一組進行圓度擬合,共進行10次實驗。例如隨機選取一組坐標值分別為(14.012,45.124)、(26.532,24.064)、(33.672,17.935)、(41.347,14.256)、(55.066,13.134)、(60.273,14.732)、(73.225,20.826)、(80.112,27.263)、(50.202,89.635)、(29.673,82.658)將上述實驗坐標值進行圓度擬合,獲得圓心坐標為(51.11,51.12)。在Python Opencv環境下調用函數獲得圓度誤差為0.097 mm,半徑為42.250 mm。圖11為獲得的擬合圓和圓心坐標信息。

圖11 擬合圓以及圓心坐標信息
(2)將10組數據統計如表1所示。

表1 實驗數據
根據表1數據可以看出,被測零件圓度誤差平均值為0.095,均方誤差為0.09,平均半徑為42.207 7,可以看出圓度誤差分布較為均勻,數據波動性小,也驗證了本實驗重復性好。以圓度誤差f和檢測圓半徑R的比值表示圓度誤差評定的相對誤差率,用ε表示:
(14)
實驗測得相對誤差率為0.002 6,可以間接表示圓度誤差的大小,表明圓孔的制造精度。
針對工程應用中圓度檢測存在的測量精度低、測量成本高等特點,提出了一種基于機器視覺的非接觸式圓度誤差檢測方法。通過CCD相機獲取原始圖像、對圖像進行高斯去噪,通過拉普拉斯算子獲得圖像邊緣信息,最終通過最小包容區域法評估圓度誤差信息。通過實驗驗證該測量系統的有效性。實驗硬件設備為CCD相機,軟件信息為MATLAB程序平臺,測得鉚接孔圓度誤差平均值為0.095,均方誤差為0.09,圓度相對誤差率為0.002 6,可見該測量系統成本低、可重復性好、測量精度高。