鄭勁松 趙章風(fēng)
(浙江工業(yè)大學(xué)機械工程學(xué)院 浙江 杭州 310023)
很多鋼管都是通過焊接制成圓形管子,再通過其他加工設(shè)備制成各種截面形狀的鋼管,作為制作其他產(chǎn)品的毛坯料。用有焊縫鋼管作為毛坯,加工制作其他產(chǎn)品時,一般情況下,不允許在焊縫上或焊縫附近位置進行打孔等加工,因為焊縫附近硬度、韌性等加工性能變得較差。因此,在自動化生產(chǎn)過程中,為能順利進行后續(xù)加工工序,需要在之前找到焊縫的位置。在目前檢測焊縫的方法,一般采用色標(biāo)傳感器或者利用計算機圖像處理技術(shù)。
對于圓形截面鋼管尋找其焊接位置,可以利用色標(biāo)傳感器實現(xiàn)焊縫位置的檢測。具體方法是:在管子上方安裝一個色標(biāo)傳感器,然后讓管子轉(zhuǎn)動一圈。在沒有焊縫的管壁位置,管子表面光滑,光反射量均勻,在焊縫及附近位置,管壁顏色偏暗,光反射量小,與其他位置存在明顯不同。因此,我們可以事先通過標(biāo)定,確定一個色差范圍閾值,把有焊縫與無焊縫的顏色區(qū)分開,這樣利用色標(biāo)傳感器就可以檢測焊縫位置了。實驗數(shù)據(jù)表明,利用色標(biāo)傳感器檢測焊縫的成功率達99%以上。但是對于截面形狀為多邊形的鋼管,如八邊形鋼管,若采用色標(biāo)傳感器檢測焊縫,鋼管在轉(zhuǎn)動一周過程中光反射不均勻,棱角邊位置和焊縫位置的光反射特征接近。由于八邊形管子棱側(cè)面是由八個平面組成,平面在轉(zhuǎn)動過程中,光反射存在方向性,導(dǎo)致光反射量極不均勻,變化很大。這些都會導(dǎo)致檢測成功率很低,在我們的實驗中,這種方法檢測焊縫位置的成功率在50%以下。
因此,對于非圓形的管子檢測表面焊縫位置,一般采用計算機圖像處理技術(shù)。用圖像拍攝設(shè)備獲取管子每一個側(cè)面的圖像,然后利用適當(dāng)圖像處理技術(shù)尋找焊縫特征,確定焊縫位置,即確定焊縫在哪一個棱側(cè)面上,從而為后續(xù)加工中避開在該側(cè)面上進行打孔等加工作準(zhǔn)備。如果通過在管子轉(zhuǎn)動一周過程中,利用相機抓取每一個棱側(cè)面圖像,然后進行圖像處理查找焊縫這種方法,實現(xiàn)比較麻煩,檢測效率也受限制。這是因為:轉(zhuǎn)動一周,由于要清晰地拍攝到每一個棱側(cè)面清晰的照片,管子轉(zhuǎn)動的速度不能很快,拍攝圖片的相機要采用高速攝像機才能勝任,還涉及到相機與管子轉(zhuǎn)動的同步問題。所以用這種方法實現(xiàn)比較麻煩,而且成本也高,因為這種相機一般價格較昂貴。
本文采用的方法是:利用鏡面反射原理,在靜止?fàn)顟B(tài)中一次性拍攝8個側(cè)棱面圖像。這種方法要求制作一個簡單的裝置,把反射鏡面位置和角度,照明光源都要事先調(diào)試好,固定好。在檢測過程中,我們唯一要做好的是在拍攝側(cè)棱面圖像時刻,要把管子轉(zhuǎn)正位置,即管子的每一個側(cè)棱面與反射鏡面相互擺正位置,使管子的8個棱側(cè)面都能在反射鏡面中成好像。這種方法可以大大縮短獲取管子棱側(cè)面圖像的時間,提高焊縫檢測速度。
在生產(chǎn)線中,落料后的管子位置是任意的,如圖1(a)中示意定位的初始位置。設(shè)管子圓心為O點,圓心到側(cè)棱面的垂直距離為h,圓心到棱角的距離為r,h和r之間的夾角為α,圓心O到側(cè)棱面豎直方向的距離為L(中間的豎直線),L是通過位移傳感器實時測量的距離。此處管子截面形狀為正八邊形,因此r即為該正八邊形外接圓的半徑長,r和h之間的夾角α=π/8,h=r×cosα=r×cos(π/8) Lmax=r (1) Lmin=h=r×cosα=r×cosπ/8=0.923 9r (2) 我們知道,管子轉(zhuǎn)動的過程中,實測距離L在h和r之間變化。如果管子的初始位置如圖1(a)所示,管子從初始位置開始以角速度ωrad/s勻速轉(zhuǎn)動,位移傳感器的采集模塊以采樣頻率f(利用一個高精度定時器)進行采集,記錄位移實時數(shù)據(jù)和采樣時刻。當(dāng)位移傳感器的采集模塊檢測位移局部最大時的時刻為t1,即如圖1(b)所示的檢測位置,此時L達到最大,L=r。 (a) 初始位置 (b) 檢測位置 (c) 轉(zhuǎn)正位置圖1 八角管端面位置圖 由于管子是以角速度ω勻速轉(zhuǎn)動,因此到時刻t2=t1+Δt時停止轉(zhuǎn)動,此時管子已經(jīng)轉(zhuǎn)正,如圖1(c)所示。 (3) 管子轉(zhuǎn)動過程中為了減小誤檢測率,我們在判斷位移傳感器數(shù)據(jù)L局部最大時,加上一個閾值Llimit=0.98r,即當(dāng)實測距離L>Llimit時,采集程序才進行局部最大值的判斷。在準(zhǔn)確判斷到實測距離L最大時,即檢測到檢測位置后,延遲Δt秒后,管子停止轉(zhuǎn)動,則管子就處于轉(zhuǎn)正位置。 我們制作了一個錐形喇叭口,錐面與軸線呈45度傾角。鏡面寬度盡量與側(cè)棱面同寬,把8片鏡面粘貼到錐形喇叭口內(nèi)表面上,鏡面與側(cè)棱面對齊,鏡面與側(cè)棱面自然呈45度平面夾角,見圖2(a)。根據(jù)光反射原理,八角管子的每一個棱側(cè)面在鏡面中呈像與管子軸線垂直,與相機鏡面平行,方便相機拍攝,也利于圖像清晰,圖2(b)就是實際拍攝的八角管子棱側(cè)面圖像。 (a) 鏡面反射原理圖 (b) 拍攝的實際圖片圖2 基于鏡面反射拍攝圖像 由于管子側(cè)壁比較光滑,所以光源的選擇和光源布置的位置很重要。本文選擇光柔和、光線散的紅色光源,位置布置在鏡面后方,能把管子棱側(cè)面照亮,但光線盡量少地直接反射到鏡面中。 圖像處理調(diào)用Halcon軟件中的圖像處理算子完成。 預(yù)處理主要包括平滑處理和圖像增強處理。圖像平滑處理調(diào)用算子mean_image對圖像進行均值濾波處理,從而剔除對檢測結(jié)果不利的噪點。利用算子emphasize對降噪后的圖像進行增強處理,為檢測焊縫作準(zhǔn)備。實際上,用鏡面采集的圖片,都在一個封閉的空間,受到的干擾很少,從圖2(b)中實際采集到的圖像看,已非常清楚。 利用Halcon算子gen_circle和difference算子生成一個圓環(huán)區(qū)域,再用reduce_domain算子獲得圖像的ROI,如圖3(a)所示。因為管子和相機的位置是固定的,因此鏡面成像位置也是確定的,為了減少處理圖像數(shù)據(jù)量和不必要的干擾,我們選定一個以管子中心為圓心的一個圓環(huán)區(qū)域圖像作為ROI。實驗結(jié)果證明,這樣做的好處是,可以大大降低光源選擇和布置要求,我們選定的ROI圖像質(zhì)量穩(wěn)定,大大降低了圖像處理難度,提高了檢測成功率。 (a) 選取ROI圖像 (b) 灰度值閾值分割圖像 (c) 根據(jù)面積和矩形形狀篩選后的圖像圖3 對ROI區(qū)域處理 利用Halcon算子threshold對圖像進行分割,得到設(shè)定灰度值的圖像區(qū)域,如圖3(b)所示。從原始圖像圖2(b)可以看出,管子的棱側(cè)面在光源照射下,在鏡面中的成像相對比較亮,亮度均勻,也就是在圖像中它們的灰度值一致,在一個小的范圍內(nèi),并且與其他區(qū)域灰度值差較大(這是因為管子棱側(cè)面金屬表面都比較光滑)。因此,我們可以用固定閾值分割算子獲得目標(biāo)區(qū)域,效果理想。從圖3(b)可以看出,在兩個棱側(cè)面之間,還有許多大塊的區(qū)域,這是因為粘貼鏡面的錐形內(nèi)壁也是金屬的,表面沒有進行粗糙和涂黑處理,處理后,這些區(qū)域在圖像中也呈黑色區(qū)域。 管子8個棱側(cè)面在閾值分割后的圖像中面積大且在一定范圍內(nèi),棱側(cè)面形狀為矩形,因此可以用Halcon算子select_shape篩選出我們需要的八個面。首先用面積大小來篩選,設(shè)定area=[60,300];其次,根據(jù)矩形度來篩選,rectangularity=[0.85,1]。結(jié)果如圖3(c)所示。實際上,如果把粘貼鏡面的錐形表面進行粗糙和涂黑處理后,根據(jù)固定閾值分割后的圖像如圖4(b)所示。我們只需要根據(jù)面積進行篩選,因為除了棱側(cè)面位置,圖像其他位置根據(jù)閾值分割后都是一些孤立的、面積很小的區(qū)域,因此設(shè)定area=[200,300]選擇形狀,結(jié)果如圖4(c),焊縫所在的面被過濾掉了,因為焊縫所在的面,在焊接過程中的高溫,使得焊縫附近表面較暗,在圖像中這個區(qū)域的灰度值偏小。利用固定灰度閾值分割后,這個面被分割成幾個小的區(qū)域,這些區(qū)域的面積明顯變小。因此可以根據(jù)面積的大小來判斷焊縫在哪一個面上。 (a) 預(yù)處理后的區(qū)域分割 (b) 閾值分割后圖像 (c) 根據(jù)面積篩選后的圖像圖4 圖像分割 下面我們示例說明焊縫檢測過程。首先獲取鏡面中的原始圖像,如圖5(a)所示。根據(jù)以上步驟,我們根據(jù)面積進行篩選,得到了一些區(qū)域,如圖4(c)所示。在實驗中,大部分情況下我們可以得到7個和8個獨立的區(qū)域,這些區(qū)域就是管子棱側(cè)面在圖像中的位置。對于這些區(qū)域的矩形度、矩形方向角和矩形位置等數(shù)據(jù),在Halcon軟件中都可以用算子得到。利用矩形方向角和矩形位置,可以確定棱側(cè)面位置,如圖5所示。如果有8個面,認(rèn)為面積最小的那個區(qū)域位置就是焊縫所在位置;如果只有7個區(qū)域,則缺失的那個區(qū)域就是焊縫所在位置。如果根據(jù)以上步驟篩選得到的區(qū)域個數(shù)多于8個,則根據(jù)區(qū)域的矩形度、矩形方向角和矩形位置等參考數(shù)據(jù),如圖5(b)所示,可以過濾掉不是管子棱側(cè)面所在的區(qū)域;如果圖像區(qū)域少于7個,則需要對閾值分割后的區(qū)域(如圖4(b)所示)進行平均灰度值計算,平均灰度值=區(qū)域灰度值總和/區(qū)域面積(像素數(shù)量),平均灰度值最小區(qū)域就是焊縫所在棱側(cè)面。 (a) 鏡面中拍攝到的管子8個棱側(cè)面及對其編號 (b) 管子轉(zhuǎn)正后8個棱側(cè)面的角度和位置參考數(shù)據(jù)圖5 焊縫檢測結(jié)果示例圖 利用Halcon圖像處理庫對通過鏡面反射方法獲得的圖片進行處理,焊縫位置的檢測成功率很高。通過多日測試,對實際打孔后的傘桿進行人工抽檢,軟件統(tǒng)計數(shù)據(jù)符合實際檢測結(jié)果。如圖6(a)所示,2017年7月8-9日2天數(shù)據(jù)是調(diào)試得到的統(tǒng)計數(shù)據(jù),檢測調(diào)試用的傘桿是質(zhì)量比較好的新桿,表面干凈,焊縫明顯。其中未檢數(shù)量和變形數(shù)量就是焊縫檢測不成功的傘桿數(shù)量,焊縫檢測成功率=(檢測總量-未檢數(shù)量-變形數(shù)量)/檢測總量,焊縫檢測成功率在99%以上;圖6(b)是一家傘桿質(zhì)量一般的企業(yè)實際運行焊縫檢測統(tǒng)計數(shù)據(jù),焊縫檢測成功率=(363 531-6 625)/363 531=98%。 (a) 測試統(tǒng)計數(shù)據(jù) (b) 實際運行統(tǒng)計數(shù)據(jù) 圖6 焊縫檢測統(tǒng)計數(shù)據(jù) 1) 利用鏡面反射原理,相機拍攝一次,可以一次性獲得管子8個棱側(cè)面圖像,降低了對相機的技術(shù)要求;通過對圖像ROI的選取,降低了光源的要求;獲得了較清晰的圖像,為后續(xù)圖像處理有了很好的保障。 2) 由于管子棱側(cè)面表面光滑,在光源照射下,管子棱側(cè)面和鏡子的相對位置在鏡面中比較明亮。利用Halcon軟件中固定閾值區(qū)域分割算子,快速地得到了管子棱側(cè)面在圖像中的區(qū)域。 3) 本方法檢測正確率高、響應(yīng)快。實驗表明,焊縫檢測成功率為95%以上,檢測時間為20~100 ms,達到了很好的效果。2 反射鏡面與光源布置
2.1 反射鏡面安裝
2.2 光源選擇與位置布置
3 圖像處理
3.1 圖像預(yù)處理[1-4]
3.2 選定圖像ROI
3.3 閾值分割[1,5-6]
3.4 區(qū)域篩選
3.5 焊縫面檢測
4 結(jié) 語