李榮華,薛豪鵬,楊敏,劉國安
(1.大連交通大學 機械工程學院,遼寧 大連 116028; 2.上海宇航系統工程研究所,上海 201109)
焊接是一種勞動強度大、生產周期長、勞動環境惡劣且對操作工人會產生潛在危害的工作[1].隨著工業化和現代化程度的提高,焊接機器人技術可極大地降低人工焊接的成本,改善工人的工作環境,并可逐步穩定和保證產品的質量.目前焊接機器人大致可分為三大類:示教再現型、離線編程型以及自主編程型[2].但現存焊接機器人無法自主識別焊縫位置,仍存在著示教耗時長、工作形式單一、效率低下等諸多問題.在智能制造時代,不僅要求機器人具有自主學習能力,并能夠感知和適應周圍的不同環境,將視覺圖像反饋到本體控制中[3].因此,亟需基于視覺的智能化焊接技術.
視覺傳感技術在自動化焊接的應用中,基于視覺的焊縫識別和焊前引導及焊縫跟蹤技術是實現智能化焊接的前提[4].針對這一問題,很多學者進行了大量研究.韓俊文[5]提出了一種基于OpenCV3的焊縫識別系統,實現了對5A06與6063型號鋁合金焊縫的識別;王文超[6]等提出一種基于磁光傳感器的焊縫識別方法,通過提取焊縫中心位置,實現對微間隙焊縫的識別;Ming Y[7]等人提出一種基于機器視覺的焊縫表面缺陷監測系統.綜上所述,精確識別焊縫位置并控制焊接機械臂進行焊接仍是待解決的難題.
本文面向當前背景下對焊接機器人智能化的需求,結合雙目視覺技術,在已有的相機設備、焊接技術基礎上,提出一套基于雙目視覺的機械臂焊縫檢測與操控系統,利用計算機編程語言Python結合圖像處理軟件OpenCV實現對角接焊縫位置的識別,并控制機械臂進行模擬焊接,實現焊縫的自動識別與焊接.
為了使機械臂末端能夠精準地識別并提取焊縫位置,通過雙目視覺測量系統,在不借助外部其他傳感器的情況下,獲得目標在不同相機下的圖像信息.圖1所示為通過雙目相機拍攝到的左右相機圖像,由于圖片中存在各種噪聲干擾,導致在進行特征點、線、面等特征提取時失敗,因此需要進行圖像預處理操作[8-9].圖像預處理是對圖像進行特征提取、分割以及匹配等操作前的處理,主要目的是消除圖像中的無用信息、干擾因素等,增強顯著性有用信息的可檢測性,預處理過程主要有二值化、平滑、幾何變換、圖像濾波去噪等.

圖1 雙目相機拍攝圖像
由于雙目相機采集到的圖像不僅包含待測工件信息,還具有工件所在區域的復雜背景,在進行圖像預處理過程中,首先需要通過掩膜處理將背景信息剔除.用選定的圖像、物體對需要處理的圖像進行遮擋或者控制圖像處理的過程,將需要的區域圖像值保留,不需要的值歸零,得到包含有效信息的圖像區域,即除去復雜背景的圖片.同時將圖片中已獲取到的焊接件顏色相匹配的閾值作為感興趣的值,對整個圖像進行覆蓋.
(1)圖像去噪
實際焊接工作環境中,通常存在低照明度以及高溫等惡劣條件,因此通過雙目相機獲取的圖像不可避免會產生噪點[10-11],由此可造成重要信息判別失誤等問題,影響后續的圖像特征識別、提取等操作,因此為了提高識別精度,需要消除掉圖像中的各種噪聲干擾.在圖像中常見的噪聲有高斯噪聲、瑞麗噪聲、椒鹽噪聲、周期噪聲等.圖2為對圖像進行高斯濾波、均值濾波處理后的效果圖.

圖2 濾波處理后的圖像
針對不同的圖像噪聲,由于其特點不同需選擇不同的處理算法,降噪處理后圖片所呈現的效果并不一樣,通過圖2所示的不同濾波結果可明顯看出高斯濾波效果更優,因此選用高斯濾波進行后續的圖像處理操作,可大大降低后續噪聲帶來的干擾,確保焊縫位置的精確識別.
(2)二值化處理
圖像閾值分割主要是利用圖像中灰度差異,實現對圖像的分割技術,將工件背景區域與工件區域的灰度劃分為兩個不同的等級.選定一個較為合理的閾值,像素點達到閾值時等于1,否則為0,從而產生相應的二值化圖像.對于一幅大小為m×n的圖像,閾值為Th,規定圖像中像素灰度值小于Th的個數為Th0,圖像中像素灰度值大于Th的個數為Th1,整幅圖像的灰度平均值為θ,目標件中像素點個數占總圖的比例為η0,灰度的平均值為θ0,背景中像素點個數占總圖的比例為η1,灰度的平均值為θ1,類間方差為G,則有:
(1)
通過式(1)可推出類間方差G:
G=η0·η1·(θ0-θ1)2
(2)
(3)邊緣檢測
邊緣檢測是圖像處理的一個重要環節,在對物體進行邊緣檢測時,首先對圖像輪廓進行粗略計算,然后通過連接規則將檢測到的輪廓點進行連接,并對不相關點進行剔除,保留圖像的重要結構信息,提高圖像處理的速度.其次通過一個N×N的核來和圖像中的每一個像素點進行卷積,隨后根據實際選取合適的閾值進行邊緣部分提取.
(3)
使用式(4)、式(5)所示的兩個卷積模板,檢測水平邊沿及豎直邊沿.
(4)
(5)
(4)邊緣直線檢測
Hough變換檢測直線實質是找到構成直線的所有像素點, 其基本原理是用圖像邊緣點計算參數空間參考點的軌跡,將圖像空間轉換到參數空間,通過處理參數實現直線檢測.圖3為通過霍夫變換檢測到的實際效果圖.

圖3 霍夫變換檢測直線
(5)相交點提取
在檢測到直線后可得到一些相交點坐標,通過將交點坐標與剔除復雜背景后的ROI(感興趣)區域進行比對,并滿足以下兩個條件:①交點坐標位于ROI區域的某個閾值范圍內則可看作是焊縫的邊界點之一,通過判斷擬合直線得到的交點坐標在ROI區域的位置即可.②搜索該點最近的鄰域點,若鄰域內點的距離d<2 pixel,則認為這兩點為一個點坐標,大小取該兩坐標大小的均值.
圖4所示為提取到的交點位置.

圖4 相交點處理結果
在實際焊接中,由于工廠環境惡劣,導致視覺檢測系統出現檢測失敗或檢測結果與實際相差太大的情況.為了能夠穩定獲取焊縫位置信息,可采用貼標志點進行輔助識別方法,使得在某種復雜環境下可對焊縫位置進行精確識別,圖5為焊縫處輔助標志物粘貼示意圖.

圖5 輔助標志物粘貼示意圖
對具有標志物的焊縫圖像進行Otsu二值化處理,雖然很大程度上去除了冗雜信息,減輕了計算量,但是并不能保證最終處理精度,在光照、溫度、震動等外界環境干擾下,經過預處理后得到的圖像效果不是很好,因此需要對圖像進行形態學處理,去除圖像中的雜亂“毛刺”,圖6所示為提取到的焊縫位置及圖像中的“毛刺”現象圖.

圖6 焊縫提取及圖像中的“毛刺”
由于硬件以及環境的影響,噪聲是圖像處理中經常存在的現象之一.由于噪聲的影響,圖像在二值化后得到的邊界十分不平滑,物體以及背景區域存在許多噪點,因此需要進行多次運算才能得到較為滿意的處理效果.
SIFT算法所搜尋的一些特征往往對噪點、光亮度等因素沒有影響,其搜尋的是一些特征十分突出的區域,如一些拐點、明亮度對比較高的點及物體邊緣位置等,因此采用SIFT算法在處理信息量較大的數據時可快速實現匹配檢測.圖7為經過計算后的焊縫角點檢測結果圖.

圖7 焊縫角點位置檢測
雙目相機從兩個不同位置拍攝到的含同一對象的圖像,通過匹配對應區域計算出視差,通過逆向過程恢復目標件的三維結構信息,通過建立合理的目標函數及約束條件,采用最優化算法求解方程.
理想狀態下的雙目視覺成像如圖8所示,其中左右攝像機是完全平行的,基線b為左右相機光心的連線,空間上的任意一點P(X,Y,Z)在左右成像平面上的點分別為Pl(xl,yl)和Pr(xr,yr).

圖8 雙目視覺成像原理
通過三角測量法可以得到圖像中物體的坐標值,其計算過程如式(6)所示.
(6)
式中,(u0,v0)為攝像機光心在像素坐標系中的坐標點,(ul,vl)、(ur,vr)分別代表目標在左相機和右相機中的像素坐標點,理想情況下兩個相機焦距f大小是一致的,右相機是以左側相機為基準計算的,(X,Y,Z)坐標值是以左側相機為標準進行計算的.
整個焊接系統分為兩部分,一是硬件搭建,二是算法編寫及軟件實現.整套焊接系統所需要實現的功能是通過雙目相機識別到待測工件,通過對相機采集到的圖像數據進行處理,最終得到焊縫起始位置坐標信息, 坐標經過轉換后傳遞給機械臂,機械臂接收指令后,到達識別出的焊縫起始位置處,通過末端執行機構在焊縫上行進,完成模擬焊接的一個過程.圖9所示為焊接操控系統實物圖,圖10為焊接模擬試驗過程.

圖9 焊接操控系統實物圖

(a) 焊縫識別
為保證試驗數據的可靠性,將角接焊縫按照不同的高度以及傾斜度進行隨機放置.實驗結果以焊縫起點位置坐標為參考,設置60組實驗,隨機選擇幾組不同位置的焊縫,針對不同環境下的算法分別進行實驗,在室內光照下進行兩組分別為不貼標志物和貼標志物檢測對比試驗,得到的檢測坐標值及誤差如表1.

表1 檢測坐標值及誤差試驗數據
通過表1數據可以看出,左右視圖中的vl與vr值基本相同,在設計視覺算法允許誤差內,左右成像平面滿足平行線約束的條件.每組實驗中系統計算的值與實際測量值呈現不同程度的誤差,采用不貼標志物的方式下最大的一組誤差為4.14%,最小的一組誤差為1.86%;采用貼標志物的方式下最大的一組誤差為2.56%,最小誤差的一組誤差為0.52%.通過上述實驗數據,可得出采用不貼標志物的方式比貼標志物的方式平均偏差要稍高一些,但兩種方式整體的誤差都滿足實驗的精度的要求,符合預期的目標.因此,在光照等外界環境干擾不大的情況下,可以采用不貼標志物的方式進行角接型焊縫位置的識別;若是對精度要求相對較高或者外界干擾較大的情況下,可采取通過貼標志物的方式進行角接型焊縫位置的識別.