劉興德,刁建超,盧添燁,周海宇
(吉林化工學院 信息與控制工程學院,吉林吉林,132022)
焊接機器人在惡劣的環境下依舊能夠高效率和高精度的完成工作,被大量應用于汽車零部件生產、船體加工加工等各種機械制造業中,但隨著應用范圍的變大,實際工作環境業在不斷的變化,當焊接的物體或者環境發生變化時,如果機器人未能及時的做出對應的調整,就會導致焊縫焊接出現各種各樣的問題,以及精度偏差、焊接質量低下。為此,應用一款適合的傳感器解決在線跟蹤問題。激光視覺傳感器憑借其非接觸、速度快、精度高和抗干擾能力強等優點,而被廣泛應用于機器人自動化焊接領域。
本文提出了一種基于激光結構光的焊縫特征信息提取方法,該方法通過激光器發射線狀的結構光照射到焊接工件表面上,根據焊縫與光帶的位置關系產生光帶彎曲,通過相機成像后進行圖像處理,提取焊縫特征信息。該方法能夠計算獲得準確的二維數據和簡單的三維數據,能夠識別焊縫寬度、深度以及形狀等特征,具有較高的識別精度[1]。
為了獲得更清晰的激光圖像,本文設計的激光視覺傳感器包括COMS 相機、激光器、采集卡、減光鏡和濾光鏡等部分。在實際使用中,相機固定在焊槍上,激光器放置在相機前并與相機成一定夾角,使得激光器發射的光線水平射在焊縫上。為了獲得良好的激光圖像,在傳感器中加裝了濾光片和減光鏡,以過濾其他光譜和減少干擾。激光測量原理如圖1 所示。

圖1 激光視覺傳感器的原理
焊縫跟蹤系統包括視覺部分和跟蹤部分兩大部分。視覺部分由CMOS 相機和激光器等組成,能夠產生焊縫圖像,并通過圖像采集卡傳遞給工控機進行圖像處理。跟蹤部分通過特定算法計算出焊縫在圖像中的特征點,進而求得焊槍與特征點的相對距離,從而操作機械臂實現焊接。當發現實際焊接路徑與標定路徑出現偏差時,通過通信傳輸給機器人進行相應的糾偏,以實現實時跟蹤的目標。焊縫跟蹤系統能夠實現全部功能,提高焊接質量和效率[2]。為了保證焊接的質量和速度,在對提取到的圖像進行處理就顯得尤為重要,圖像處理的結果直接影響到特征點的提取,本文將對焊縫條紋提取進行重點講述。圖2 是完整的焊縫跟蹤系統的構成圖。
焊縫圖像是從視覺傳感器中獲取的原始圖像,其中包含了焊縫的特征信息,但需要經過進一步的處理才能獲得焊縫偏差信息,以進行焊縫跟蹤。圖像處理算法是實現焊縫跟蹤的重要步驟,主要包括預處理、激光條紋中心線提取和焊縫位置特征提取。由于焊接環境通常不理想,圖像容易受到周圍環境光、工件缺陷和CCD 特性等因素的影響,因此采集的圖像可能會有噪點。為了提取焊縫特征信息,需要對原始圖像進行預處理,消除噪點,并將包含焊縫特征的激光條紋與周圍背景分離[3]。
線激光視覺系統采集的焊縫初始圖像可能存在噪聲干擾和線激光條紋邊緣毛刺現象,同時焊縫在整幅圖像中占據較小比例。因此,直接在初始焊縫圖像上進行圖像處理的任務量會很大。為了提高處理效率,本文采用感興趣區域提取法(ROI)對區域進行重點提取,去除不必要的圖像信息,保留主要的圖像信息。每次焊接的起點都是在焊縫上,相機與機器人末端的相對位置保持不變,因此焊縫區域在整幅圖像中的位置也基本保持不變。在獲取處理后的圖像時,直接利用預設的相對位置來獲取感興趣區域,并確保焊縫區域能完整地保留在ROI 中。通常選擇的ROI尺寸為激光彎曲段尺寸大小的5 倍,以確保焊縫區域能夠完整地保留在ROI 中。如圖3 所示,通過截取原圖來獲得大小為640×480 像素的ROI 區域,在后續的處理中需要使用ROI 中的坐標來獲取原圖中的坐標信息。圖3 是經過ROI 提取后的圖像。

圖3
攝像機采集的圖像通常會受到各種類型的噪聲干擾,如果不對圖像進行濾波算法的處理,這些噪聲點將會影響最終焊縫特征信息的提取。常用的前濾波方法包括中值濾波、高斯濾波和均值濾波,通常通過設置空間域掩模,在焊縫圖像的灰度值矩陣上遍歷掩模,通過線性或非線性運算獲取掩模中心點的灰度值,并抑制圖像中的噪聲。
高斯濾波是一種常見的線性平滑濾波器,其主要思想是將圖像中每個像素的值,用其周圍像素值的加權平均數來代替。其中,權值是通過高斯函數計算得到的,離中心像素越遠的像素點的權值越小,越接近中心像素的權值越大。這樣的權值分布使得高斯濾波器可以保留圖像中的邊緣信息,同時抑制噪聲。高斯濾波器的模板大小和標準差是其關鍵參數,模板大小決定了平均值的計算范圍,標準差則決定了權值的分布范圍。通常情況下,標準差越大,濾波器的模板大小也越大,這樣可以更好地平滑圖像并減少噪聲,但同時也會降低圖像的細節和邊緣信息。高斯濾波器廣泛應用于圖像處理的各個領域,如圖像去噪、邊緣檢測、圖像增強等,離散化之后的高斯濾波算法的權系數矩陣模板為:
二維高斯分布函數為:
其中,σ為標準差。經過MATLAB 圖像處理后的圖像如圖4 所示。

圖4 高斯濾波后圖像
高斯濾波的優點:可以更好地保留圖像的邊緣和特征信息,同時,還具有頻域上的優點,可以在保留圖像細節的同時消除高頻噪聲,提高圖像質量。高斯濾波有效保留激光條紋的邊緣信息,因此,本文選擇高斯濾波進行濾波處理。
圖像閾值算法,其原理是根據圖像的像素實際值,找一個合適的閾值。然后對圖像基于設定的閾值進行分割成不同的區域。經過圖像濾波去噪、焊縫初始圖像除去大部分不需要處理的區域和干擾焊縫特征點提取的噪聲,提取焊縫特征所需要的畸變激光條紋的灰度特征與背景板材的灰度特征差異不夠明顯。將灰度值小于閾值的背景板材區域的灰度值變為 0,將灰度值大于閾值的激光條紋區域的灰度值變為255。其數學表達式為:
式中,f(x,y)為經過預處理后的焊縫圖像像素灰度值,g(x,y)為焊縫圖像處理后的像素灰度值,T為確定的最佳分割范圍而算的的閾值。從上式可以看出,焊縫激光條紋提取的效果取決于分割閾值的數值,如果求得數值比理想的數值差別較大,會損失目標區域的焊縫信息,數值確定較小,會在導致求取的目標區域含有圖像噪聲。目前常用的有最大類間、類內方差比法、迭代法類間、最大距離法等。
最大類間方差法,是一種圖像二值化處理中常用的自適應閾值選取方法。其基本思想是,將圖像中的灰度級分為兩個部分,使得兩個部分之間的類間方差最大,即圖像的灰度級被分為前景和背景兩部分,使得前景和背景之間的類間方差最大,而前景和背景內部的類內方差最小,最大類間方差法在實際應用中具有較高的準確性和魯棒性。
具體實現步驟如下:
(1)對圖像的灰度級進行直方圖統計,并計算出每個灰度級出現的概率;
(2)從灰度級最小值開始,計算每個灰度級處的類間方差;
(3)找到類間方差最大的灰度級作為閾值,將圖像進行二值化處理。
算法原理:假設一幅圖像的大小為u?v 分別表示待處理圖像兩個不同方向上的像素總和,n 個灰度值為i 的像素在圖像中占有的概率表示為:
其中閾值暫取為T,在 T 處將圖像分為 A 和 B 兩類,則B={0~T-1},C={T~255} 則圖像中A 和B 產生的概率PA和PB 分別為:
上述兩式PA+PB=1,并且A、B 兩類的灰度平均值μA和μB分別為:
根據以上各式,則A 和B 兩類間的方差 σ2(T):
通過算法原理可知,當類間方差σ2取到最大值時,灰度值T為最佳閾值。利用MATLAB 將上述算法進行的閾值分割后的圖像,經過上述處理后得到的圖像如圖5 所示。

圖5 最大類間方差法
經歷過上述的圖像處理后,獲得了較為清晰地圖像焊縫光條,進一步需要得到焊縫特征點的像素坐標,需要將特征點從激光中心線中提取出來,這里需要對焊縫信息進行分析,利用光在焊縫處產生彎曲的特點進行焊縫特征點提取,而要準確的提取到特征點需要先對激光中心線進行提取。
3.4.1 灰度質心法
灰度質心法是一種常用于圖像處理的方法,用于計算圖像的重心,可以將其擴展到計算輪廓的重心,從而得到輪廓的中心線.中心線可以通過以下步驟計算:
首先,通過閾值分割或邊緣檢測得到輪廓。對輪廓進行細化,以便得到一個像素寬度的線。對于每個像素,計算其灰度質心。灰度質心是指該像素及其周圍像素的灰度值與其坐標的乘積之和除以該像素及其周圍像素的灰度值之和。將所有灰度質心連接起來,即可得到中心線。
具體做法:沿著垂直激光線條的方向將激光線圖上的第m 列坐標設為(xm,yn),其中變量n=1.……,K,K 表示列光帶的截面寬度,取奇數,計算公式如下:
其中m 為激光的帶寬變量,變化范圍依據圖像尺寸確定。下面是跟常用的幾種算法與灰度質心法的效果圖,如圖6 所示灰度質心法通過進一步的去除偽極大值,消除階躍點,穩定性好,可以連接間斷點,使中心線平滑連續。處理后的圖像如圖6 所示。

圖6 灰度質心法提取到中心線
3.4.2 特征點提取
針對L 型板工件的V型坡口焊縫,其激光條紋基本上是由數個直線段構成的,在直線段的相交點位置就是所需要尋找的焊縫特征點,直線段的獲取可以通過最小二乘法進行擬合,也可以通過霍夫變換等方式得到,不過霍夫變換方法計算過程比較復雜,同時需要花費較長的處理時間,不利于焊縫跟蹤的實時處理。對V 型坡口激光條紋圖像采用最小二乘法進行直線擬合,可得到的特征點最終結果如圖7 所示。

圖7 焊縫特征點提取
為了驗證圖像特征點提取的準確性,利用示教器提取工件上3 條焊縫和它的固定點位之間的距離,記錄下兩兩之間的實際長度,將它與經過圖像處理后的特征點世界坐標兩兩之間的距離長度相比較,獲得平均誤差,計算該誤差為±0.15mm,滿足焊接的精度需要。如表1 所示。

表1 實際距離與實驗距離下的焊縫長度值