郝 博,陳丹丹,楊 斌,韓 焱
(1.東北大學(xué)機(jī)械工程與自動化學(xué)院,沈陽 110819;2.東北大學(xué)秦皇島分校控制工程學(xué)院,秦皇島 066004)
飛機(jī)的裝配過程就是把各種構(gòu)造形式和功用的結(jié)構(gòu)件按照某種要求加以連接,最后拼裝成為一個飛機(jī)整機(jī)的過程[1]。一架大型飛機(jī)上大約有上百萬個連接件,連接的方式有很多,主要為鉚接或螺栓連接。結(jié)構(gòu)件連接質(zhì)量直接影響飛機(jī)使用壽命。據(jù)統(tǒng)計,在飛機(jī)機(jī)體故障中有75%~80%都是機(jī)體機(jī)構(gòu)的連接部位疲勞破壞引起的,而制孔質(zhì)量是影響疲勞強(qiáng)度的關(guān)鍵因素。提高制孔質(zhì)量可以降低連接處附加應(yīng)力、擠壓應(yīng)力,提高連接處的靜強(qiáng)度和動強(qiáng)度[2],從而提高連接處疲勞強(qiáng)度,延長飛機(jī)的服役時間,保證飛行安全。鉚接孔的圓度誤差直接反應(yīng)零件加工質(zhì)量的好壞,其大小是直接影響幾何精度和制孔質(zhì)量的一項重要指標(biāo),影響連接件使用性能和壽命??等士频萚1]指出為保證飛機(jī)飛行安全,需保證足夠高的圓度精度要求。卜泳等[2]分析了飛機(jī)壽命的關(guān)鍵因素,指出了圓度會影響制孔質(zhì)量。張宏杰[3]指出圓度等形位誤差在我國民用飛機(jī)設(shè)備的加工和裝配中有著非常重要的作用,適當(dāng)?shù)膱A度誤差能保證零件加工與裝配精度。
目前,圓度誤差檢測技術(shù)在近十年發(fā)展較為迅速,已經(jīng)從傳統(tǒng)的手工檢測發(fā)展到微機(jī)自動化檢測,從人工接觸檢測發(fā)展到非接觸式測量。機(jī)器視覺檢測相較人工具有精度高、速度快、成本低、操作簡單等特點,在多個領(lǐng)域應(yīng)用廣泛。劉慶民等[4]研究了基于機(jī)器視覺的非均勻分布點圓度誤差評定,證明了該方法的可行性。
本文針對以往圓度誤差檢測過程存在速度慢、檢測成本高等缺陷,采用基于機(jī)器視覺的圓度誤差評定方法。最后通過實驗驗證本方法的精確性和可靠性。
機(jī)器視覺檢測系統(tǒng)主要包括相機(jī)、光源、VMS4030g移動平臺、計算機(jī)組成。實驗采用長50 cm、寬40 cm、厚1.5 cm的u型鋼板模擬飛機(jī)結(jié)構(gòu)件。該u型鋼板表面均勻分布20個通孔,圓孔半徑值R約為42 mm,用來模擬飛機(jī)鉚接孔。采用VMS4030g移動平臺對u型鋼板進(jìn)行定位,通過移動X、Y、Z軸對u型鋼板圓孔的圖像采集,確保圓孔分布位于采集平臺正中心,便于保留圖像的完整性。圖像采集是緊固孔圓度檢測的重要組成部分,是系統(tǒng)的“眼睛”,基于機(jī)器視覺的緊固孔圓度誤差的在線檢測,為保證檢測精度和工作效率,系統(tǒng)選用高性能的面陣CCD相機(jī)。面陣CCD相機(jī)擁有大量感光單元,通過矩陣形式排列,成像速度快、精度較高,具有一次成像的特點[5]。實驗光源的選取會直接影響圖像質(zhì)量,對后續(xù)特征提取和研究有重要影響。光源可分為自然光源和人造光源。人造光源包括熒光燈、光纖鹵素?zé)?、LED光源等。其中,LED光源具有穩(wěn)定性好、壽命長、光效快、功耗低、綠色環(huán)保等優(yōu)點[6]。針對緊固孔圓度檢測的光源選用LED光源。在照明方式上,實驗采用高角度LED環(huán)形光源進(jìn)行打光,該照明方式具有光束集中、亮度高及均勻性好等優(yōu)點[7],適用于本測量系統(tǒng)。系統(tǒng)硬件布局如圖1所示。
圖1 系統(tǒng)硬件
圓度檢測過程為:首先,將待測零件放置檢測裝置,CCD相機(jī)進(jìn)行特征采集,將特征信息導(dǎo)入計算機(jī)系統(tǒng)獲取待測零件的圖像信息;其次,對已識別的圖像信息在MATLABA環(huán)境中進(jìn)行圖像高斯濾波去噪、圖像二值化處理。將灰度化的圖像進(jìn)行拉普拉斯邊緣特征提取,獲得圖像輪廓信息;最后,用最小包容區(qū)域法進(jìn)行邊緣輪廓圓度誤差評定,判定圓度誤差是否滿足要求。如果誤差在合理范圍內(nèi),則保留該零件,送入下一個檢測環(huán)節(jié)。反之,則進(jìn)行人工檢測,對零件進(jìn)行二次判定。檢測流程如圖2所示。
圖2 檢測流程圖
由于圖像采集過程會受到儀器設(shè)備、光照條件、空間分辨率等諸多因素的影響,采集到的圖像信息不能達(dá)到理想的情況。同時數(shù)字圖像本身也存在精度低、穩(wěn)定差等缺陷,使得圖像處理過程中灰度值不一致,會產(chǎn)生噪聲,從而影響對比度的現(xiàn)象[8]。實驗選擇在光照充足、安全易操作的環(huán)境下進(jìn)行,調(diào)節(jié)圖像分辨率,獲得最佳目標(biāo)圖像,得到20個u型板圓孔圖像采集信息,選取圓孔分布位置最佳、包含特征信息最多作為目標(biāo)圓孔圖像,如圖3所示。觀察并分析圖像,調(diào)整實驗參數(shù),發(fā)現(xiàn)在某個強(qiáng)度下噪聲數(shù)量最多,且強(qiáng)度越遠(yuǎn)噪聲點個數(shù)越少,并且此規(guī)律服從高斯分布,故需去除圖像中的高斯噪聲,對實驗獲得的圖像進(jìn)行高斯濾波處理。
圖3 CCD相機(jī)采集到的原圖像
高斯濾波是一種線性平滑濾波,其去噪過程是首先選擇一個卷積模板,分別掃描圖像位置每一處像素,獲得鄰域內(nèi)像素值的加權(quán)平均灰度值,用該灰度值來代替模板中心像素值,從而達(dá)到去噪的目的。采集到的圓孔二維圖像較為簡單,易于分析,其二維高斯函數(shù)為:
(1)
在高斯濾波中,卷積核往往會發(fā)生變化,其總和不再是一,因此需要對卷積核歸一化處理。對卷積核歸一化過程為:將鄰域坐標(biāo)值帶入二維高斯函數(shù)中,獲得卷積函數(shù)值,用獲得的函數(shù)值分別進(jìn)行加權(quán)計算,獲得坐標(biāo)點總和為一的坐標(biāo)值,從而實現(xiàn)歸一化處理。圖4是選取高斯核為3*3的卷積模板來表示卷積核形成的過程,選擇標(biāo)準(zhǔn)差σ=1,其中中心點坐標(biāo)為(1,1)及其鄰域內(nèi)8個點坐標(biāo),如圖4所示。高斯濾波去噪的原理就是在采集的圖像上方移動高斯核,將圖像的像素值高斯核相乘,將輸出的結(jié)果相加并輸出,便可以達(dá)到抑制噪聲的效果[9]。圖7為原圖像與高斯濾波去噪后對比圖。
圖4 3*3卷積模板
圖5 二維高斯函數(shù)模板
(a) 原圖像 (b) 高斯濾波去噪
為將鉚接孔圓度特征與背景信息區(qū)分開,需要對所得到的圖像進(jìn)行二值化處理。圖像二值化處理是將工件的彩色通道(包括RGB三個通道)轉(zhuǎn)換為單通道輸出,從而保證孔圓度特征信息。二值化公式為:
(2)
在MATLAB環(huán)境下完成二值化過程。調(diào)用rgbzgray函數(shù)將彩色圖像轉(zhuǎn)換為灰度圖像,調(diào)用imbinarize函數(shù)用于自動求解閾值大小,圖8為鉚接孔二值化圖像。
圖8 鉚接孔二值化圖像
圖像邊緣處的像素值往往是不連續(xù)的,但是這種不連續(xù)可以通過求導(dǎo)來檢測。檢測常用的一階求導(dǎo)算子有Sobel算子、Prewitt算子、Roberts算子、Robinson算子等。一階微分算子方法雖然計算簡便、速度快,但是定位不準(zhǔn)確,降低識別的準(zhǔn)確性。而二階微分算子是基于一階導(dǎo)數(shù)極值點,對圖像求解二階導(dǎo)數(shù)過零點的位置來精確定位圖像邊緣,測量結(jié)果具有更高的準(zhǔn)確性。本文采用拉普拉斯算子進(jìn)行邊緣特征求解。
拉普拉斯算子是通過調(diào)整中心像素灰度值與邊緣周圍像素值的大小關(guān)系進(jìn)行邊緣提取。若中心像素灰度比周圍像素值高,便會增加中心像素的灰度值,產(chǎn)生“亮者更亮”的效果,反之就降低中心像素灰度值,從而獲得邊緣特征信息。
拉普拉斯算子基本算法為:
(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)
根據(jù)拉普拉斯算子可以得到如圖9所示的拉普拉斯算子模板。
(a) 拉普拉斯運(yùn)算模板 (b) 拉普拉斯運(yùn)算擴(kuò)展模板
由模板可知,當(dāng)鄰域的像素與中心像素相同時,應(yīng)用鄰域模板與原圖像進(jìn)行卷積運(yùn)算,其結(jié)果顯示為0;當(dāng)鄰域的平均像素低于中心像素時,采用鄰域模板和原圖像進(jìn)行卷積運(yùn)算,其結(jié)果為顯示為正數(shù),反之為負(fù)數(shù)。將卷積結(jié)果加在原中心像素上,就可以實現(xiàn)圖像的邊緣檢測[9]。用公式表示為:
(7)
式中:f(x,y)和g(x,y)分別為輸入圖像與銳化后的圖像。由于拉普拉斯算子具有旋轉(zhuǎn)不變性,故不需要考慮原圖旋轉(zhuǎn)角度對邊緣提取結(jié)果產(chǎn)生的影響。圖10為邊緣檢測圖像。
圖10 邊緣檢測圖像
常用的圓度誤差評定共有4種:最小二乘法、最小外接圓法、最小包容區(qū)域法和最大內(nèi)切法[10]。本實驗測量規(guī)則零件圓度誤差,使用最小包容區(qū)域具有精度較高、速度快、穩(wěn)定性好,簡單易實現(xiàn)的特點[11]。
最小包容區(qū)域是指能夠剛好將一個給定目標(biāo)物體恰好包含在內(nèi)的區(qū)域是指理想要素包容被測實際要素時,具有最小半徑的包容區(qū)域。使用最小包容區(qū)域法評定圓度誤差,就是按最小條件來確定理想圓與被測實際輪廓的位置[12]。最小條件可以用“2+2”[13-15]形式表示?!?+2”形式的內(nèi)容為:①先對提取出的輪廓邊界隨機(jī)采集數(shù)據(jù)點,每4個數(shù)據(jù)點為一組,共采集10組。已采集的4個數(shù)據(jù)點稱為“控制點”,該控制點滿足兩個數(shù)據(jù)點在外圓上分布,剩余兩個數(shù)據(jù)點在內(nèi)圓上分布的特點。②內(nèi)圓上兩控制點的連線與外圓上兩控制點的連線要相交于一點,即4個控制點符合交叉要求。
步驟1:對已提取的輪廓邊緣選取4個“控制點”,(例如:A點和B點,C點和D點)。對于該控制點來說,符合同一方向分布,即沿順時針分布或者逆時針分布。且選取該控制點的順序按照內(nèi)圓、外圓交替進(jìn)行;
步驟2:將內(nèi)外圓上的兩點分別連接,形成兩條直線,分別得到直線L1和L2。求出直線L1和L2垂直平分線斜率K1′和K2′,可表示為:
(8)
(9)
步驟3:分別求直線L1和L2的垂直平分線L1′和L2′,并求出垂直平分線交點坐標(biāo)O(X,Y),表示為:
(10)
(11)
(12)
步驟4:以O(shè)(X,Y)為圓心,以O(shè)(X,Y)分別到A(xA,yA)、B(xB,yB)、C(xC,yC)、D(xD,yD)的距離為半徑,做一組同心圓;
步驟5:觀察圖中其他測量點與同心圓之間的位置關(guān)系;
若該組同心圓能夠全部包含其他測量點,則認(rèn)為該組同心圓上4個控制點符合最小包容區(qū)域法評定圓度誤差的條件,則圓度誤差為該組同心圓之間的距離。由于最小區(qū)域圓圓心至圓上各點距離中,至少各有兩個最大值Rmax和最小值Rmin,且兩最小值坐標(biāo)連線與兩最大值坐標(biāo)連線的交點位于最小圓內(nèi),則圓度誤差可以表示成圓心O(X,Y)到圓上最遠(yuǎn)點(Xmax,Ymax)的距離與到最近點(Xmin,Ymin)距離之差,圓度誤差表示為:
(13)
保留并記錄數(shù)據(jù);反之,若剩余其他測量點中有任意一點位于該組同心圓包含區(qū)域之外,那么認(rèn)為該組同心圓上4個控制點不符合最小包容區(qū)域評定圓度誤差條件,故剔除該4個點的組合;
步驟6:按照控制點的選取原則,重新選擇控制點并記錄數(shù)據(jù);
步驟7:重復(fù)步驟1~步驟5,直到包含所有符合最小包容區(qū)域評定法的組合。
(1)在MATLAB環(huán)境下調(diào)用BWBOUNDARIES函數(shù)獲取邊緣點坐標(biāo),將獲得的坐標(biāo)每隔3.6°取一點實驗坐標(biāo)值,共獲取100等份,將100份實驗坐標(biāo)值打亂并隨機(jī)抽取10份為一組進(jìn)行圓度擬合,共進(jìn)行10次實驗。例如隨機(jī)選取一組坐標(biāo)值分別為(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)將上述實驗坐標(biāo)值進(jìn)行圓度擬合,獲得圓心坐標(biāo)為(51.11,51.12)。在Python Opencv環(huán)境下調(diào)用函數(shù)獲得圓度誤差為0.097 mm,半徑為42.250 mm。圖11為獲得的擬合圓和圓心坐標(biāo)信息。
圖11 擬合圓以及圓心坐標(biāo)信息
(2)將10組數(shù)據(jù)統(tǒng)計如表1所示。
表1 實驗數(shù)據(jù)
根據(jù)表1數(shù)據(jù)可以看出,被測零件圓度誤差平均值為0.095,均方誤差為0.09,平均半徑為42.207 7,可以看出圓度誤差分布較為均勻,數(shù)據(jù)波動性小,也驗證了本實驗重復(fù)性好。以圓度誤差f和檢測圓半徑R的比值表示圓度誤差評定的相對誤差率,用ε表示:
(14)
實驗測得相對誤差率為0.002 6,可以間接表示圓度誤差的大小,表明圓孔的制造精度。
針對工程應(yīng)用中圓度檢測存在的測量精度低、測量成本高等特點,提出了一種基于機(jī)器視覺的非接觸式圓度誤差檢測方法。通過CCD相機(jī)獲取原始圖像、對圖像進(jìn)行高斯去噪,通過拉普拉斯算子獲得圖像邊緣信息,最終通過最小包容區(qū)域法評估圓度誤差信息。通過實驗驗證該測量系統(tǒng)的有效性。實驗硬件設(shè)備為CCD相機(jī),軟件信息為MATLAB程序平臺,測得鉚接孔圓度誤差平均值為0.095,均方誤差為0.09,圓度相對誤差率為0.002 6,可見該測量系統(tǒng)成本低、可重復(fù)性好、測量精度高。