倪沫楠,王天琪,李金鐘,賈振威
(天津市現代機電裝備技術重點實驗室(天津工業大學),天津300387)
焊縫起始點自動導引技術是實現智能焊接機器人自動焊接的重要前提[1-3].大多數工業生產中應用的焊接機器人[4-5]主要采用示教-再現的工作方式,操作精度完全依賴于示教經驗,且改變待焊工件的位置需重新示教,勞動強度大,工作效率低.目前,焊接起始點自動導引技術的研究并不多見.傳統基于視覺的焊接初始位置三維信息的獲取方法主要為立體視覺的方法[6-8],該方法是根據雙目視覺原理利用攝像機在不同位置獲得目標點的圖像,經過圖像處理、立體匹配、空間定位等過程計算目標點的三維坐標,進而控制機器人向目標點運動.而立體標定和立體匹配的算法復雜,且攝像機需要多次變換位置對目標點景物進行圖像采集,為減小相機畸變的影響,需要盡量防止目標點位于視野邊緣,操作過程較為繁瑣.近年來,采用單目視覺的焊縫起始點位置識別的研究中包含的模板匹配、角點檢測等算法停留在圖像處理的層面上[9-11],僅檢測出了目標點在成像平面上的二維坐標,無法滿足實際焊接的要求.
針對以上問題,本文提出了一種十字激光單目視覺的兩步導引法,利用單目視覺的圖像處理技術確定目標點的二維位置信息,調整攝像機姿態使目標點位于攝像機坐標系z軸上;結合十字激光發生器,控制機器人沿攝像機坐標系z軸向目標點運動,對焊縫起點位置進行快速精確的導引.
采用Eye-in-hand的方式固定CCD攝像機采集被測工件的圖像,機器人為瑞士ABB公司的IRB 1410型工業機器人,與工控機之間的通信采用其內置的Interface模塊實現.CCD攝像機與十字激光器采用標準的結構光安裝方式,注意在固定過程中盡量使十字激光交叉線與攝像機光軸位于同一平面.試驗工件為2塊50 mm×180 mm、厚度5 mm的普通碳鋼平板對接成的v型坡口樣件.試驗裝置如圖1所示,工控機為系統的主要控制核心,承擔了圖像采集、圖像處理、數據運算及機器人運動狀態的讀取和控制等工作.

圖1 試驗裝置示意圖Fig.1 Schematic of test device
由于該試驗中的導引為一個由遠及近的過程,首先,控制機器人位于工件上方一定距離,并保證焊縫起始點在攝像機視野范圍內;然后,對采集到的圖像進行Hough直線檢測,求取直線交點的方法獲得焊縫起始點的圖像坐標[12],為后續的導引工作做準備.
根據焊縫起始點在成像平面的坐標,建立如圖2所示的新坐標系,并求取新舊坐標系之間的轉換關系.
焊縫起始點P在攝像機坐標系中的坐標為(xc,yc,f),其中 f為相機焦距,xc、yc為 P 點在成像平面上的坐標,光源中心Oc與圖像中目標點P可確定一條直線,設直線方程為

對式(1)進行歸一化處理,則該直線的單位向量可用式(2)表示:


圖2 坐標系轉換Fig.2 Conversion chart of coordinate
以向量OP作為新坐標系的z軸,根據光源中心點O(0,0,0)、點(0,0,f)以及點(xc,yc,f)決定的平面的垂向量按右手定則確定新坐標系的x軸與y軸,令兩坐標系間轉換矩陣為Rot

由式(4)結合坐標系繞空間中任意一軸旋轉的旋轉矩陣[3],即可求得轉換矩陣Rot:

利用上述推導的旋轉矩陣對機器人進行姿態變換,如圖3所示,W為機器人基坐標系,T1、T2分別為機器人運動前后機器人末端坐標系,c1、c2分別為機器人運動前后相機坐標系,攝像機坐標系與工具坐標系的轉換矩陣T為常量矩陣,由兩步標定法可以求解[13];T1TW、T2TW為世界坐標系與運動前后工具坐標系之間的轉換矩陣,2T1為運動前后攝像基坐標系間的轉換矩陣,存在如下關系:

經過2T1的變換,控制機器人運動即可使焊縫起始點在攝像機光軸上.

圖3 系統坐標轉換關系Fig.3 Diagram of coordinate transformation
焊槍向目標點接近的過程中,由CCD攝像機拍攝獲得的圖像可知,激光交點不斷向圖像中心移動,如圖4所示,隨著光點的不斷靠近,焊槍距焊縫起始點的距離也是一個由遠及近的過程.在調整攝像機姿后,十字激光交點可能沒有出現在視野范圍或距離圖像中心較遠.為節省計算時間,可通過激光點距離圖像中心較遠和較近兩種控制模式對機器人進行控制,通過判斷激光點是否出現在圖像中對控制模式進行轉換.

圖4 激光點位置示意圖Fig.4 Map of laser spot location
導引過程主要對光軸方向上機器人移動的距離進行判定,假設機器人每次移動距離d,工具坐標系也在光軸方向上位移d,此時在得知機器人初始位姿矩陣iTW的情況下,即可對下一時刻的位姿進行估計,由式(7)可知:

式中,系數k隨著工具坐標系在光軸方向的位移變化不斷進行調整.
系統精確導引的原理如圖5所示,圖中d即為需要向焊縫起始點移動的距離,f為焦距,AD為激光平面與攝像機坐標系軸交點坐標的矢量,β為激光器與攝像機光軸夾角,e為激光點在圖像坐標系中距圖像中心的距離,γ為光軸與工件平面夾角.其中,e、β、f、γ 均為已知,AD 可利用基于機器人運動和平面約束的激光平面方程標定方法[14]求得,三角形幾何關系為


圖5 精確導引原理圖Fig.5 Principle diagram of precise guidance
根據式(8),即可對焊槍的移動距離進行精確導引.
系統沿光軸方向導引的控制過程如圖6所示,控制模式1為激光點距離圖像中心較遠的導引,這個過程只是單一的控制機器人按給定的步長沿攝像機坐標系z軸向被測工件以較快速度靠近.控制模式2為激光點距離圖像中心較近的引導,該模式下需要實時計算實際移動距離與給定步長之間的關系確定系數k,控制機器人進行精確導引.

圖6 系統控制流程圖Fig.6 Flow chart of system control
系統的控制過程中設置了2個閾值.閾值m用來判斷控制模式的轉換,即使十字激光交點出現在圖像視野中,但它到圖像中心的距離大于閾值m則依然采用控制模式1,以此來減少不必要的計算,節省導引時間;閾值η用來判斷導引結果,當激光點到圖像中心的距離小于該參數時停止導引,避免導引過程中存在的細小誤差使程序運行錯誤.
焊縫起始點導引試驗系統如圖7所示.首先,進行機器人手眼標定[15]以及十字激光單一平面方程參數標定,求解相機坐標系相對于機器人末端坐標系的轉換矩陣T和攝像機坐標系下的激光平面方程.

圖7 試驗系統圖Fig.7 Diagram of test system

采集焊縫圖像對焊縫初始點進行識別,獲得起始點位置的像素坐標為(422.9,317.3),根據標定過程中獲得的相機參數求得相機的旋轉矩陣Rot

轉換前后的圖片對比如圖8(a)和(b)所示,轉換后的起始點像素坐標為(328.6,248.3)與攝像機標定所獲得的像素中心坐標(334.6,243.1)相差較小,可知該方法可以實現對相機姿態的調整,進而為下一步指導焊槍向起始點靠近做準備.
如圖8(c)所示,激光器發出的十字激光交叉點已出現在攝像機成像平面內,可直接進行精確導引.十字激光交叉點像素坐標為(338.8,355.4),結合轉換后的起始點像素坐標以及所標定的激光平面方程,可計算出式(10)所需的已知量,將其代入式(10),求得機器人沿攝像機z軸方向移動的精確值d=144 mm.再將d代入式(8)中,控制機器人沿攝像機光軸(即攝像機坐標系z軸)移動至光點到達焊縫起始點,如圖8(d)所示.最終根據文獻[14]中介紹的激光條紋上特征點三維坐標的計算方法,計算出該點的三維坐標,進而控制機器人是焊槍末端到達焊縫起始點.

圖8 起始點位置變化Fig.8 Change of the initial point position:(a)position of the initial point before adjustment;(b)position of the initial point after adjustment;(c)positions of laser and the initial point before approaching;(d)positions of laser and the initial point after approaching
為驗證導引方法的有效性,共進行了20次實驗,將導引結果的焊縫起始點位置計算值,與通過已標定精確的焊槍末端尖點示教讀出的起始點位置進行比較,得出導引結果相對于真實起始點位置的偏差如圖9所示,可知導引精度在0.5~1.6 mm,可滿足實際焊接的需要.

圖9 試驗結果誤差圖Fig.9 Chart of test result error
1)提出單目視覺與十字激光相結合的兩步法,只要保證目標點位于攝像機視野范圍內,即可自動完成導引,方法簡單、穩定性高.克服了傳統基于“單目雙位”的立體視覺方法中,匹配算法復雜、導引效率不高等問題.
2)采用激光點距離圖像中心較近、較遠兩種控制模式對焊槍接近焊接起始點過程進行改進,在獲得導引效率的同時又能保證導引精度.