肖慶陽,方建儒,張效民,劉 冬,叢 明
(1.大連亞明汽車部件股份有限公司,遼寧 大連 116041;2.大連理工大學(xué)機(jī)械工程學(xué)院,遼寧 大連 116024)
螺紋連接是各類零件、設(shè)備之間最常見的一種連接方式,其中內(nèi)螺紋的質(zhì)量對連接的可靠性及工作性能起著至關(guān)重要的作用[1]。傳統(tǒng)的內(nèi)螺紋質(zhì)量檢測通常采用螺紋塞規(guī)作為檢測儀器[2],工人在對工件進(jìn)行檢測時依次將螺紋塞規(guī)旋入待檢測螺孔,較為費(fèi)時;自動的接觸式檢測方法是利用傳感器探頭與被測工件接觸,在其螺紋孔內(nèi)滑動,從而實現(xiàn)對紋路特征的檢測[3],此類檢測方法相較于螺紋塞規(guī)檢測的方式更加快捷,但也增加了工件損傷的風(fēng)險。
針對外螺紋的非接觸式檢測,國內(nèi)外提出了許多基于機(jī)器視覺的檢測方法[4-6],但針對工業(yè)環(huán)境下的工件內(nèi)螺紋檢測方法較少。Hong E等[7]提出了一種基于插入式線掃描相機(jī)的內(nèi)螺紋檢測方法,但只適用于大于相機(jī)直徑的螺紋孔的檢測,并且操作復(fù)雜,難以滿足工業(yè)檢測要求。
本文針對以上問題,提出了一種基于機(jī)器視覺的內(nèi)螺紋檢測方法,本方法使用灰度相機(jī),可以實現(xiàn)螺紋孔快速、準(zhǔn)確的檢測。在此基礎(chǔ)上搭建了多螺孔檢測系統(tǒng),實驗表明,該系統(tǒng)具有良好的檢測精度、較高的檢測速度,對外界光有較好的魯棒性,基本滿足工業(yè)檢測要求。
本文的螺紋檢測算法首先通過工業(yè)相機(jī)采集待測工件圖像,通過驅(qū)動模塊設(shè)置相機(jī)句柄,以每0.2 s一張的頻率從緩沖區(qū)讀取一張工件的灰度圖像,對得到的圖像進(jìn)行中值濾波、形態(tài)學(xué)閉運(yùn)算等預(yù)處理,最后采用螺牙計數(shù)算法將所得圖像中的螺牙進(jìn)行計數(shù)并判斷螺孔是否合格,得到檢測結(jié)果。
圖1 螺孔灰度圖
本文提出的螺牙計數(shù)算法是根據(jù)相機(jī)獲取的螺紋孔圖像,在給定方向上獲取一組或幾組螺紋灰度數(shù)據(jù)見圖1中框;將每組灰度數(shù)組中有效極大值點(diǎn)的個數(shù)作為螺牙數(shù)量,此外對于每個螺孔計算平行于母線的10~20條線段上的螺牙個數(shù),取其中最大值作為該螺孔的螺牙數(shù)。若螺牙數(shù)大于6個,判斷目標(biāo)為螺孔。
極大值判定算法用于計數(shù)一維灰度數(shù)組曲線中有效的極大值個數(shù),即螺紋孔中螺牙在光源照射下的明亮處與灰度采樣線段的交點(diǎn)。算法流程如圖2所示。
算法封裝為一個函數(shù),由螺牙計數(shù)算法調(diào)用。其中g(shù)rayn為長度為n的灰度數(shù)組,e為灰度數(shù)組各像素的灰度平均值,i為灰度數(shù)組下標(biāo),j為大灰度值像素計數(shù)器,j_max為j的閾值,根據(jù)相機(jī)的清晰度進(jìn)行設(shè)定,每條螺紋寬度在圖像中所占比例越大則j_max數(shù)值越大。k為灰度值閾值系數(shù),根據(jù)圖像對比度進(jìn)行設(shè)定,t為有效極大值個數(shù)。
圖2 算法流程圖
極大值計數(shù)算法函數(shù)在被調(diào)用后,首先輸入圖像預(yù)處理后獲取的灰度曲線grayn,對數(shù)組各像素平均值進(jìn)行計算,用于后續(xù)結(jié)合灰度值閾值系數(shù)k計算灰度閾值。在對各參數(shù)初始化后進(jìn)入循環(huán),對灰度數(shù)組中的元素進(jìn)行逐個判斷,當(dāng)灰度高于閾值的時候大灰度值像素計數(shù)器j自加,否則自減,同時將j限制在0到j(luò)_max之間。在每次自加后判斷j是否滿足ji=j_max-1且ji-j_max≤1,條件滿足時代表大灰度值像素計數(shù)器ji首次等于j_max-1,此時判斷該像素所在區(qū)域為有效灰度極大值點(diǎn),t自加并循環(huán)判斷下一像素值,否則直接返回循環(huán)。循環(huán)結(jié)束后輸出t作為有效極大值個數(shù)。
多螺孔檢測系統(tǒng)如圖3、圖4所示。系統(tǒng)啟動后在工件進(jìn)行檢測時,首先由工人將待檢測工件正確放置到輔具上,光電開關(guān)檢測到工件放置到位,輸出高電平至視覺控制器,由調(diào)用工業(yè)相機(jī)進(jìn)行圖像采集并發(fā)送回視覺控制器,在視覺控制器對采集到的圖像完成檢測后,工件的檢測結(jié)果保存到本地,方便日后對產(chǎn)品質(zhì)量溯源,檢測結(jié)果通過燈組進(jìn)行顯示,指導(dǎo)工人對工件復(fù)查。如圖4所示,在工件上方設(shè)有傾斜放置的平行光源,用來給鑄件表面進(jìn)行打光,以減輕不同外界光照條件下對檢測效果的影響,同時避免強(qiáng)光直射對操作者造成傷害。
圖3 檢測流程圖 1.待檢鑄件 2.光電傳感器 3.工業(yè)光源 4.工業(yè)相機(jī) 5.指示燈組圖4 鑄件外觀缺陷檢測系統(tǒng)
硬件配置:2000萬像素工業(yè)相機(jī)、i7-6700處理器。
軟件配置:Windows7 Embedded操作系統(tǒng)、opencv2.4.11。
待測螺紋孔圖像如圖5所示,螺紋區(qū)域在光源的照射下呈現(xiàn)明暗交替的圖樣。對處理后的圖像取螺孔母線上灰度值,繪制出灰度曲線由圖6所示。
圖5 原圖 圖6 灰度曲線
由圖6的灰度曲線可以看到灰度值最高的像素值為最大灰度255,與螺紋圖像中的明條紋區(qū)域相對應(yīng),經(jīng)過計數(shù)某條線段上經(jīng)過濾波處理后的灰度極大值個數(shù)得到的螺牙條數(shù)基本與實際圖像采集的個數(shù)相等。
實驗表明,通過以上方法搭建的多螺紋看檢測系統(tǒng)對于4個螺紋孔,能夠在800 ms內(nèi)完成對工件上全部4個孔的檢測,基本滿足工廠檢測線的檢測節(jié)拍要求。
針對工件內(nèi)螺紋孔檢測的問題,本文提出了基于機(jī)器視覺的內(nèi)螺紋檢測算法,并基于該算法設(shè)計多螺紋檢測系統(tǒng)。實驗表明,該系統(tǒng)能夠快速的對螺紋孔內(nèi)螺牙數(shù)量的合格與否判別,具有較高的檢測精度。目前搭載該算法的檢測設(shè)備已投入使用,程序檢測出的螺孔缺陷信息自動保存到設(shè)備本地,為產(chǎn)品的質(zhì)量溯源提供了保障。