吳闖,劉金平,馬明豪,王象元,王毅
核工業(yè)工程研究設(shè)計有限公司 北京 101300
遙控操作焊接技術(shù)可以有效改善焊接環(huán)境,發(fā)揮機(jī)械臂可達(dá)性、穩(wěn)定性好等方面優(yōu)勢的同時,充分發(fā)揮人的高效決策能力以及高度學(xué)習(xí)能力,同時計算機(jī)對焊接過程中某些復(fù)雜場景信息的計算能力可以補(bǔ)足人在計算方面的薄弱點,使得人可以專心決策,而使機(jī)械臂作為決策執(zhí)行者,因此遙控焊接對于惡劣焊接場景有很大的應(yīng)用前景。
視覺傳感和遙控焊接過程的監(jiān)控是實現(xiàn)遙控焊接的重要手端[1]。因此,本文設(shè)計視覺系統(tǒng)的方案,并根據(jù)視覺系統(tǒng)輔助條件下設(shè)計焊接遙控操作的控制策略及焊槍姿態(tài)優(yōu)化方式,且實時監(jiān)控焊接過程,并給操作員提供焊縫坡口特征信息,便于其決策并實時改變焊槍姿態(tài),實現(xiàn)更好的遙控焊接質(zhì)量。
視覺檢測傳感器內(nèi)部集成了圖像采集系統(tǒng)和激光發(fā)射器,外部包括保護(hù)殼、濾光系統(tǒng)和防飛濺擋板,模型如圖1所示。
圖1 傳感器模型
本文選取能發(fā)射650nm的激光器,其具有較高的工作使用壽命,并配備激光功率適配器,可以更改激光的照射強(qiáng)度,激光照射在工件表面形成“一字形”的條紋,能夠較好地反應(yīng)焊縫坡口形貌,如圖2所示。
圖2 激光工作原理
由于工件對激光有反光等影響,對結(jié)構(gòu)光提取增大了難度,故使用濾光片消除影響結(jié)構(gòu)光提取的干擾因素,讓試驗?zāi)苷_M(jìn)行。
視覺傳感自適應(yīng)控制系統(tǒng)在Python的基礎(chǔ)上結(jié)合OpenCV、Halcon等圖片處理軟件平臺進(jìn)行試驗和調(diào)試。
圖像處理利用Opencv進(jìn)行預(yù)處理,焊縫特征點提取使用Halcon進(jìn)行連續(xù)不間斷的提取。
相機(jī)標(biāo)定過程中使用Halcon得到相機(jī)參數(shù),并進(jìn)行精度檢驗,光平面使用Matlab進(jìn)行數(shù)據(jù)處理和平面擬合,手眼標(biāo)定用Matlab進(jìn)行坐標(biāo)系的轉(zhuǎn)換。PC機(jī)與機(jī)器人的通信利用Python中的UDP通信進(jìn)行數(shù)據(jù)交換。
三角測量法是利用光線空間傳播過程中的光學(xué)反射規(guī)律和相似三角形原理,在接收透鏡的物空間與像空間構(gòu)成相似關(guān)系,同時利用邊角關(guān)系計算出移動距離[2]。根據(jù)激光的入射角度不同可分為以下兩種情況。
(1)正入射 激光與工件表面垂直,正入射原理如圖3所示。激光正入射到參考平面M處、測量平面N處,并分別在CCD上的M'和N'處成像。
圖3 正入射原理
根據(jù)幾何光路可知,ΔOPN:ΔOP'N'得到式(1),即
由光路圖可知
聯(lián)立式(1)、(2)可得
進(jìn)而即可求解得到m,在已知參考平面的情況下,通過m即可完成測距。
(2)斜入射 激光與工件表面夾角α>0,如圖4所示。
圖4 斜入射原理
由ΔOPN:ΔOP'N'得到式(4),即
解得m即可。
結(jié)構(gòu)光三角測量法不用接觸工件,得到的距離就有較高的精度;可以測量的范圍較大,對待測表面要求低;結(jié)構(gòu)簡單,性價比高。
實際焊接過程中,要將得到的圖像灰度處理成只有黑白兩色狀態(tài)。利用OpenCV中Imread里的函數(shù)進(jìn)行處理。
轉(zhuǎn)換之后的灰度圖像如圖5所示。由于焊接環(huán)境以及線結(jié)構(gòu)光的發(fā)射,在線結(jié)構(gòu)光的轉(zhuǎn)折部分存在干擾噪聲。這些噪聲與椒鹽噪聲類似,對目標(biāo)特征的識別與檢測有很大影響。另外,線結(jié)構(gòu)光條紋的邊緣呈鋸齒狀,但是起伏幅度較小。
圖5 灰度圖像分析處理
利用Matlab對圖5a進(jìn)行處理,可以直觀地看到圖中的噪點分布沒有規(guī)律,且噪點較多,如圖5b所示。
對圖像進(jìn)行平滑處理,將影響圖片質(zhì)量的噪聲去除[3]。根據(jù)濾波器的不同可分為以下三種。
(1)均值濾波 令Sxy表示中心在(x,y)點,尺寸為m×n的矩形坐標(biāo)組,均值濾波的表達(dá)式為
利用OpenCV中的 Blur算法對圖像均值濾波。
(2)高斯濾波 高斯濾波原理是加權(quán)平均圖像中任意一個鄰域點內(nèi)的像素值,確定該點的像素值。高斯濾波過程中所選模板內(nèi)的值并非全部都是1,而是根據(jù)二維高斯分布函數(shù)來確定,之后利用改模板與圖像進(jìn)行卷積計算。
二維高斯是構(gòu)建高斯濾波的基礎(chǔ),其概率分布函數(shù)式為
式中σ——二維高斯分布函數(shù)的標(biāo)準(zhǔn)差。
利用OpenCV中的 GaussianBlur算法對圖像進(jìn)行處理。
(3)中值濾波 中值濾波是一種非線性濾波技術(shù),其濾波思想與均值濾波過程中疊加求平均值的方式截然不同。在中值濾波過程中,所采用的是排序統(tǒng)計思想。原理是利用任意一點像素值周圍的灰度中值,來替換該點的灰度值。使用中值濾波對消除噪聲很合適。
利用OpenCV中的 MedianBlur 算法對圖像進(jìn)行處理。
其中,中值濾波的效果受卷積核尺寸的大小Ksize影響,本文通過編歷卷積核大小為1、3、5、7,濾波效果如圖6所示。從圖6可看出,當(dāng)卷積核為3時,圖片邊緣雖然保存有較好的效果,但是噪聲相對于卷積核為5時,效果略差一些,卷積核為7時,圖片邊緣細(xì)節(jié)較為模糊。
圖6 中值濾波效果
本文中為了得到更好的圖片邊緣效果以及減少噪聲的干擾,因此Ksize取值為5。
二值化處理,又叫做黑白處理。為突出焊縫圖像中的特征,將結(jié)構(gòu)光變?yōu)榘咨?,其余地方變?yōu)楹谏尸F(xiàn)的圖像為黑白分明的圖像。
用OpenCV中的Threshold算法對中值濾波后的圖像進(jìn)行二值化處理。分析得出,圖像二值化后,圖像黑白分明,結(jié)構(gòu)光和背景處噪點數(shù)量明顯減小。
邊緣檢測可以提取出目標(biāo)區(qū)域與周圍像素不一樣的輪廓。本項目中,邊緣指的是線結(jié)構(gòu)光在采集圖像中的邊緣。由于光的反射、散射等原因,線結(jié)構(gòu)光在圖像中較為寬粗。邊緣檢測步驟為濾波、增強(qiáng)、檢測[4]。本文在初步檢測線結(jié)構(gòu)光邊緣時,選用Canny檢測與Sobel檢測方法并對其結(jié)果進(jìn)行比較分析。
(1)Sobel邊緣檢測 Sobel檢測算法為離散型差分算法,也稱為一階微分算法。主要運(yùn)算思想是通過任意像素點鄰近的灰度值進(jìn)行計算,得到該點的灰度值。圖像邊緣附近的灰度值變化幅度較大,呈階躍現(xiàn)象[5]。因此,利用計算得到的一階梯度值與閾值進(jìn)行比較,確定其是否為邊緣。
(2)Canny邊緣檢測 結(jié)合最優(yōu)思想,Canny檢測可使圖像中的實際邊緣檢測數(shù)量最大化。局部化檢測良好,檢測的點與實際邊緣線上的點距離較近,而且檢測到像素邊緣之間的距離最小。Canny邊緣檢測步驟如下。
1)噪聲去除:由于邊緣檢測很容易受到噪聲的影響,因此用中濾波去除噪聲。
2)計算圖像梯度:計算得到Gx和Gy,從而找到邊界的梯度和方向,即
3)抑制非極大值:在得到Gx和Gy之后,對圖像進(jìn)行處理,如果掃描到的點在相同梯度上最大,則被判定為邊界點,從而篩除非邊緣像素點,僅留下邊緣檢測線。
4)滯后閾值:設(shè)置兩個閾值:minVal和maxVal。圖像的灰度值高于maxVal時判定為邊界,低于minVal1的則不是邊界。在兩個閾值中間,看取得的點與被判定為邊界的點是否相連,相連則為邊界點,反之則不是。
(3)差分圖像及骨架提取 將原圖像與區(qū)域連接生成的圖像差分運(yùn)算,為差分圖像。在此基礎(chǔ)上再次進(jìn)行灰度轉(zhuǎn)化與二值化,在此基礎(chǔ)上進(jìn)行分析處理。從目標(biāo)外圍到目標(biāo)內(nèi)圍,對目標(biāo)不斷腐蝕,直到目標(biāo)是單層像素寬度。該單層像素即目標(biāo)的骨架。通過以上流程,達(dá)到細(xì)化線結(jié)構(gòu)光邊緣的目的。細(xì)化線結(jié)構(gòu)光優(yōu)化流程如圖7所示。與原圖像進(jìn)行比較可知,差分圖像中的線結(jié)構(gòu)光清晰明亮。在像素層面上,線結(jié)構(gòu)光線寬大幅度降低并且沒有斷裂現(xiàn)象,差分效果好。
圖7 細(xì)化線結(jié)構(gòu)光優(yōu)化流程
(4)特征點提取 焊點即為焊縫與線結(jié)構(gòu)光的交點。在提取邊緣后,通過對其腐蝕膨脹、直線擬合得到4條線結(jié)構(gòu)光,進(jìn)而轉(zhuǎn)換成4條結(jié)構(gòu)光兩兩延長求交點的問題,從而求出焊點。
具體操作步驟如下:
1)首先對變間隙焊縫的視頻進(jìn)行分幀處理,得到306張圖片,依次對其進(jìn)行灰度處理。
2)自適應(yīng)閾值控制,使其對所有的圖片都適用,對線結(jié)構(gòu)光圖像進(jìn)行二值化處理后再進(jìn)行腐蝕膨脹處理。
3)利用Halcon中的特征檢測對線結(jié)構(gòu)光進(jìn)行特征區(qū)域選取,并對區(qū)域內(nèi)圖像特征突出放大。
4)利用霍夫變換,對特征區(qū)域內(nèi)的結(jié)構(gòu)光進(jìn)行直線擬合,利用Halcon中的fit_line_contour_xld算法可以延長擬合到的直線求交點。
利用Halcon對視頻實時處理,得到連續(xù)的焊縫特征像素點,并以txt格式保存下來,經(jīng)過后續(xù)的相機(jī)標(biāo)定、激光平面標(biāo)定和手眼標(biāo)定,就可以把像素點在實際坐標(biāo)系下的點計算出來,再對實際坐標(biāo)下的點進(jìn)行UG三維建模,三維模型如圖8所示。
圖8 實物和三維模型
三維建模后,坡度寬度和深度的誤差均在0.02cm內(nèi),滿足精度要求。
本文研究的遙控操作返修機(jī)器人視覺系統(tǒng)焊縫圖像處理算法能夠準(zhǔn)確識別焊縫并對待焊試件進(jìn)行三維建模,方便遙控操作返修工作的順利開展。首先通過視覺檢測傳感器采集焊縫信息,并初步采用圖像處理三角測量算法進(jìn)行計算;而后對圖像平滑處理,利用中值濾波將影響圖片質(zhì)量的噪聲去除;通過圖像二值化處理、結(jié)構(gòu)光的邊緣細(xì)化處理,利用遠(yuǎn)端場景恢復(fù)算法形成待返修焊口三維模型。