邱飛達,熊新炎,董 靜
(哈爾濱商業(yè)大學 輕工學院, 哈爾濱 150028)
隨著圖像處理與計算機技術的發(fā)展,基于視覺傳感的焊縫提取技術已被引入焊接生產(chǎn)領域.近年來,基于視覺的檢測技術因其檢測精度高、測量穩(wěn)定性強,且數(shù)據(jù)易于保存統(tǒng)計等優(yōu)點而在自動引導焊接中廣為應用[1].
由于一些視覺傳感器無法識別帶有一定高度差工件拼接焊縫且無法適應大尺寸工件工具遮擋等復雜因素所帶來的影響,導致其焊縫的識別過程受到干擾,造成視覺系統(tǒng)識別錯誤以及缺焊、錯焊等現(xiàn)象,且識別的精度不高.為滿足焊接的精度與自動化焊接的控制要求,需要提取工件上焊縫位置的三維位置信息來確定焊接起止點并確定焊槍行走路徑,能夠穩(wěn)定提取焊縫位置精確的三維坐標信息對大尺寸工件的焊接的自動化有著重要意義.
基于大尺寸工件中拼接焊縫提取中存在的以上問題,本文提出了一種基于面結構光的工件拼接焊縫三維位置提取方法.機器人手臂帶動視覺傳感器在工件正上方沿預先識別的焊縫方向移動,在識別位置進行工件掃描,基于面結構光進行點云的三維重建,得到該位置相對應的點云圖并轉化為該位置工件表面的深度圖像.基于深度圖像進行焊縫識別,通過對二維深度圖的圖像處理,擬合出每組焊縫起止點位置并由二維與三維的對應關系轉化為三維坐標,機器人通過手眼關系傳遞進行焊接.
基于結構光的三維點云重建技術是一種非接觸的主動式視覺測量技術,具有精度高、速度快、單次測量點云數(shù)據(jù)稠密等優(yōu)點[2].測量過程中,投影儀依次在工件表面投影出多種頻率且具有一定相位差的正弦結構光,并由攝像機采集得到工件表面的變形條紋圖像,對該條紋圖像進行相位解算并根據(jù)系統(tǒng)標定的參數(shù)結果即可重建出物體表面在相機坐標系下的三維點云數(shù)據(jù)[3-4].
本文采用四步相移法進行單頻率結構光下的相位主值的求解,并采用時間相位解包裹的多頻外差法[5]進行解相位.根據(jù)文獻[6]可知,由幾何關系推導,可知二維像素坐標系下某一點的絕對相位θ與其在相機坐標系中的三維坐標(Xc,Yc,Zc)存在以下關系:
(1)
其中:a1~a8為待標定參量.在相機標定過程中拾取若干組標定點作為特征點,在標定過程中得到其像素坐標(mi,ni)及其相機坐標(Xci,Yci,Zci),根據(jù)相位主值的求解得到像素點處的絕對相位θi,在標定中選取多組(Xci,Yci,Zci)與θi的對應關系即可擬合出一組合理的系統(tǒng)標定參量.
根據(jù)相機的成像原理,某一點圖像坐標系下的二維坐標(m,n)和相機坐標系下的三維坐標(Xc,Yc,Zc)滿足以下關系:
(2)
其中:c1~c5為相機內(nèi)參,由相機的標定過程獲得.聯(lián)立式(1)、(2)可以解得每個像素點所對應在相機坐標系下的三維坐標,逐像素點依次進行三維重建.其中:某二維像素點(m,n)和其相機坐標系下的三維坐標(Xc,Yc,Zc),存在如下關系:
(3)
深度圖像也被稱為距離影像,與普通的RGB圖像相比,它可以直接反映物體可見表面的幾何形狀,其像素值可以反映場景中物體到相機的距離,可以有效區(qū)分焊縫與工件背景以此克服復雜背景因素的影響并保證焊縫輪廓的完整性[7],并能直接地體現(xiàn)出物體在相機坐標系下的三坐標.深度圖像的獲取大體分為兩種形式:一種是主動深度傳感;另一種是被動測距傳感.本文選擇第一種方式進行圖像獲取,由式(3)中的二維與三維對應關系,使二維像素點的像素與該點重建所得的高度值Zc相匹配,并將其標準化.掃描單幅工件所得的點云圖如圖1所示,對其進行深度圖的轉化,所得到的的深度圖像如圖2所示.
圖1 工件表面點云圖Figure 1 Point cloud diagram of workpiece surface
圖2 工件表面深度圖Figure 2 Workpiece surface depth map
由深度圖可以直觀看出被測物的高度信息,以此為依據(jù)進行干擾物的過濾,作為第一步濾波.高度方向的濾波可以較好的過濾掉焊縫上的遮擋以及大部分噪聲信號.在圖2中可以可以看出圖中依然存在噪聲信息,通過圖像處理技術可以對深度圖進行預處理、濾波等操作,即能夠獲得焊縫起止點的三維信息.
2.1.1 圖像預處理
圖像的預處理能夠消除圖像中非必要信息,得到真實有用的信息,改善圖像質量,有利于后期計算機的圖像處理與特征檢測.
由于深度圖片中含有的冗余信息較多,首先在圖片中拼接焊縫周圍設置ROI區(qū)域,忽略距離焊縫較遠位置的特征信息,僅保留所需要的焊縫附近的邊緣特征,ROI尺寸選取為300×1 024像素處于圖像中心時ROI結果如圖3(A)所示.
由于在掃描過程中很容易因為工件表面剖光、曝光調(diào)節(jié)不當?shù)仍蛟斐膳臄z工件圖片部分模糊不清,噪聲在圖像常表現(xiàn)為一引起較強視覺效果的孤立像素點或像素塊,在深度圖像中造成除焊縫邊緣以外的邊緣特征信息,給圖像的后續(xù)邊緣提取造成困難,對此本文使用高斯濾波對得到的深度圖像進行去噪處理.采用離散化的高斯函數(shù)產(chǎn)生一組歸一化的高斯核,對圖像進行線性平滑濾波用以消除高斯噪聲.相對于均值濾波與中值濾波,高斯濾波對圖像邊緣信息保留的比較細致,這有利于以后對圖像的處理[8].高斯濾波的結果如圖3(B)所示.
由圖3(B)可以看到高斯濾波后有很多小干擾區(qū)域,干擾后續(xù)的圖像處理.為填充深度圖像上的黑點,用閉操作對圖片進行進一步處理.閉操作會平滑輪廓的一部分,并彌合較窄的間斷,將高斯濾波的結果進行閉操作后的圖像如圖3(C)所示,可以看出,進行閉操作處理后的ROI圖像已經(jīng)過濾掉了大部分冗余噪聲,可以進行邊緣采集.
圖3 圖像預處理Figure 3 Image preprocessing
2.1.2 Canny邊緣提取
為得到焊縫位置,首先要得到其兩側邊緣點的像素位置信息.物體邊緣是以圖像局部特征不連續(xù)的形式出現(xiàn)的,即是指圖像局部亮度變化最顯著的部分,具有方向和幅度兩個特性.圖像邊緣提取算法通過邊緣檢測算子進行,與其他算子相比較,Canny 算子在各方面性能優(yōu)越,所以一直以來都被作為一種標準的邊緣算子[9-10].Canny邊緣提取的主要過程有:
1)使用一階偏導數(shù)計算圖像各點的梯度的幅值和方向;
2)對梯度進行非極大性抑制,以消除邊緣檢測帶來的雜散響應;
3)應用雙閾值過濾掉無用的邊緣信息.
對圖像預處理后的深度圖像進行Canny邊緣檢測,進行Canny變換之后的圖像由于去除了冗余的邊緣以及噪聲信息,焊縫特征已較為明顯,如圖4所示.
2.2.1 三維擬合點提取與優(yōu)化
通過圖4可以得到焊縫邊緣的信息,但仍需要通過進一步處理才能得到所需的焊縫三維位置信息.由于Canny邊緣檢測得到的圖像只有0與255兩個灰度值[11-12].本文采取的拼接焊縫提取算法如下:
圖4 Canny邊緣采集Figure 4 Canny edge acquisition
從第一行開始,在程序中分別對每一行從左到右依次進行像素掃描,濾除掉每行的邊緣數(shù)量不為2的情況并分別記錄下每行第一次遇到灰度值為 255 的像素的二維坐標和第二次遇到灰度值為 255 的像素的二維坐標,分別作為拼接焊縫左右邊緣像素坐標,并設定焊縫的像素寬度閾值進行過濾.通過式(3),將每行的得到的左右邊緣像素坐標(mi,ni),(mj,nj)分別轉換至三維坐標(Xci,Yci,Zci)、(Xcj,Ycj,Zcj),并以兩個點的中點(x,y,z)初步作為拼接焊縫線在該行的擬合點.
由于理想的擬合點近似分布在一條直線上,分別計算所有擬合點的x,y,z軸坐標平均值與每個擬合點的x,y,z軸坐標值.若兩值偏差大于閾值,則判定該點為偏離點應當舍去,以此類推,分別以x,y,z三軸為基準進行迭代直至滿足閾值條件.
2.2.2 三維直線方程的建立
由2.2.1得到一系列擬合的三維點,將這些點通過最小二乘法擬合成一條三維直線,作為該視場下提取出的焊縫三維信息.已知三維直線的點向式方程:
(4)
根據(jù)文獻[13],對該方程進行等價轉換,得:
(5)
其中:k1=m/p,b1=x0-(m*z0)/p,k2=n/p,b2=y0-(n*z0)/p.經(jīng)過計算得到,擬合直線參數(shù)分別為:
(6)
通過擬合參數(shù)建立三維直線方程,并根據(jù)焊接工藝要求確定相機坐標系下的焊接路徑,即可通過手眼關系生成焊接起止點的用戶坐標并傳遞給機器人進行焊接.
為驗證本文提出所三維焊縫識別系統(tǒng)的實用性,本文在車間環(huán)境下進行了實驗與分析.本實驗所選相機的分辨率為1 280×1 024像素,數(shù)字光柵投影儀的分辨率為912×1 140像素.傳感器的工作距離為400 mm,系統(tǒng)測量視場的深度范圍為300~500 mm,單幅掃描的范圍為300 mm×250 mm.實驗采用FANUC M-20iA型號6軸機器人,將視覺傳感器固連在焊接機器手末端.
為評定系統(tǒng)中三維焊縫重建過程中由于標定誤差以及相機畸變等問題帶來的三維精度誤差,本文參考三維點云重建中二維與三維坐標的對應關系,使用陣列為11×9,圓心距為25.00 mm,精度為0.01 mm的黑底白圓標靶對點云重建的結果進行評測[14-15],實驗步驟依次為:
1)拍攝黑底白圓標靶的圖像,利用圖像處理技術圓檢測找出所有圓的位置并提取出所有圓心的二維圖像坐標.
2)僅對該標靶上提取出的圓心點進行三維重建,提取所有標定圓圓心位置所對應的三維坐標.
3)計算每兩個相鄰標定圓圓心的歐式距離,并與標準圓心距進行比較即可得到該組結果的測量誤差.
在某一組實驗中,在黑底白圓標靶二維圖像中識別出圓心位置及其重建出其三維坐標如圖5所示,實際距離與測量距離的部分誤差結果如表1所示.
圖5 圓心位置Figure 5 Center position
表1 測量結果與實際值的誤差Table 1 Error between measurement result and actual value
通過多組實驗驗證,在本文選用的傳感器工作距離與視場條件下,三維焊縫識別系統(tǒng)中重建算法平均誤差在0.3 mm左右,最大誤差可以控制在0.75 mm以內(nèi).
為觀察焊縫位置并對焊縫提取的結果進行分析,在車間環(huán)境下采用該視覺系統(tǒng)識別一條間距為2~5 mm、邊緣高度差為5~7 mm的拼接焊縫并對該處工件進行三維重建,實驗示意如圖6所示.
圖6 實驗示意圖Figure 6 Schematic diagram of experiment
根據(jù)本文提取算法對該拼接焊縫進行提取,首先通過三維重建完成深度圖的建立,其次進行圖片的處理與焊縫擬合.得到每列上焊縫邊緣以及擬合焊縫點在相機坐標系下的三維坐標,經(jīng)過對擬合點進行偏離值過濾, 得到n組三維坐標值如表2. 將所得的三維點集通過最小二乘法進行擬合,得到的點向式空間直線方程式(7).
表2 擬合邊緣與焊縫點三維位置Table 2 3D position of fitting edge and weld point
(7)
最終在所得的三維點云圖中對擬合的三維焊縫結果進行可視化,如圖7所示.由提取的焊縫與該處點云的可視化結果可以看出,文中所提出的基于面結構光的工件拼接焊縫三維位置提取方法較好的擬合出了拼接焊縫在相機坐標系下的三維位置,可以根據(jù)具體工藝要求確定焊接長度并通過手眼關系轉化為用戶坐標進行焊接.
圖7 焊縫提取結果可視化Figure 7 Visualization of weld extraction results
本文提出了基于面結構光的工件拼接焊縫三維位置提取方法,通過相機與面結構光投影儀所組成的視覺傳感器系統(tǒng)在工件上方對其焊縫位置進行掃描得到深度圖,并基于深度圖進行焊縫識別,擬合出焊縫線與其起止點位置,為自動化焊接提供數(shù)據(jù).通過大量實驗表明,本文所提出的提取算法速度較快、精度較高、穩(wěn)定性較強、自動化程度較高,并可以通過返回的點云結果對得到的焊縫準確性進行判斷,重建階段平均誤差約為0.3 mm.能夠較好地返回焊縫起止點的三維位置并進行焊接,滿足一定精度的焊接要求.本文方法只針對拼接焊縫,對于其他種類以及帶有一定坡口的焊縫需要進一步研究.且對圖像質量的要求較高,對環(huán)境光要求較為嚴格.