(武漢理工大學(xué) 機(jī)電工程學(xué)院,湖北 武漢 430070)
點(diǎn)焊作為汽車(chē)制造過(guò)程中主要的焊接方式,車(chē)身焊點(diǎn)的質(zhì)量決定著整車(chē)的力學(xué)性能的好壞[1]。焊點(diǎn)質(zhì)量檢測(cè)過(guò)程中,目前常用的焊點(diǎn)質(zhì)量無(wú)損檢測(cè)方法有超聲波檢測(cè)法及渦流檢測(cè)法,上述方法雖然檢測(cè)原理不同,但均是通過(guò)檢測(cè)傳感器探頭接收的信號(hào)值的差異(回波信號(hào)、渦流值)來(lái)反映焊點(diǎn)質(zhì)量的好壞,須盡量保證探頭軸線(xiàn)方向與焊點(diǎn)法線(xiàn)方向相重合,對(duì)焊點(diǎn)定位的精度提出較高的要求。同時(shí),考慮到車(chē)身制造誤差的影響,傳統(tǒng)機(jī)器人示教已無(wú)法滿(mǎn)足焊點(diǎn)定位精度的要求。因此,針對(duì)如何提高示教機(jī)器人對(duì)焊點(diǎn)的實(shí)時(shí)補(bǔ)償精度問(wèn)題,本研究采用基于雙目視覺(jué)引導(dǎo)機(jī)器人定位焊點(diǎn)策略,且由于點(diǎn)焊作業(yè)中,焊接參數(shù)及實(shí)際工況等因素的影響,導(dǎo)致焊點(diǎn)的外觀(guān)形狀差異較大,為視覺(jué)定位焊點(diǎn)增加難度,需構(gòu)建誤差補(bǔ)償模型,實(shí)現(xiàn)焊點(diǎn)的精確定位。
針對(duì)如何實(shí)現(xiàn)目標(biāo)物體的精確定位,國(guó)內(nèi)外學(xué)者對(duì)此做出了許多研究。劉俸材[2-3]等通過(guò)仿真分析雙目結(jié)構(gòu)參數(shù)對(duì)定位精度的影響,得出誤差較小時(shí)的結(jié)構(gòu)參數(shù)取值范圍;王闖闖[4]等提出了基于支持向量機(jī)回歸的誤差補(bǔ)償算法,對(duì)焊點(diǎn)進(jìn)行誤差補(bǔ)償;樊海風(fēng)[5]等提出一種利用BP(back propagation)神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)平行式雙目視覺(jué)系統(tǒng)的誤差補(bǔ)償;John M[6]等人采用人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)對(duì)機(jī)床的軸向定位精度進(jìn)行誤差補(bǔ)償,定位精度提升了80%;Prakash[7]等人采用反向傳播前饋神經(jīng)網(wǎng)絡(luò)提升CNC 車(chē)床的定位精度,實(shí)現(xiàn)了將車(chē)床的定位精度提升到亞微米級(jí);齊俊德[8]等人通過(guò)分析機(jī)器人運(yùn)動(dòng)性能對(duì)其定位精度的影響,構(gòu)建基于改進(jìn)Denavit-Hartenberg算法的定位誤差補(bǔ)償模型,實(shí)現(xiàn)提升機(jī)器人的定位精度。這些研究大多分析測(cè)量誤差的影響因素從而進(jìn)行補(bǔ)償,鮮有對(duì)誤差補(bǔ)償模型參數(shù)優(yōu)化方面的研究,而未對(duì)模型參數(shù)進(jìn)行優(yōu)化可能會(huì)導(dǎo)致模型出現(xiàn)收斂速度慢、易陷入局部最優(yōu)解等問(wèn)題。
本文通過(guò)在工業(yè)機(jī)器人末端安裝雙目傳感器,利用圖像處理技術(shù)擬合焊點(diǎn)的邊緣輪廓,提取焊點(diǎn)的中心坐標(biāo),同時(shí),構(gòu)建基于改進(jìn)粒子群優(yōu)化的支持向量機(jī)回歸的誤差補(bǔ)償模型,預(yù)測(cè)視覺(jué)系統(tǒng)的定位誤差,并對(duì)測(cè)量結(jié)果進(jìn)行誤差補(bǔ)償,最終實(shí)現(xiàn)機(jī)器人對(duì)焊點(diǎn)定位的實(shí)時(shí)補(bǔ)償。試驗(yàn)表明,補(bǔ)償后的測(cè)量結(jié)果的精度得到了明顯的提高,驗(yàn)證了該方法的有效性。
機(jī)器視覺(jué)因具有非接觸、響應(yīng)時(shí)間快、定位精度高等優(yōu)勢(shì),目前在工業(yè)、農(nóng)業(yè)、軍事、航空、交通、醫(yī)療等領(lǐng)域得到廣泛應(yīng)用[9-10]。
雙目視覺(jué)定位原理是通過(guò)2個(gè)攝像機(jī)在不同位置對(duì)同一目標(biāo)物體進(jìn)行拍照,根據(jù)兩成像平面與目標(biāo)物體之間構(gòu)成的三角形,利用三角測(cè)量原理實(shí)現(xiàn)對(duì)目標(biāo)物體的三維重建。雙目視覺(jué)模型如圖1所示。
圖1 雙目視覺(jué)模型示意圖Fig.1 Schematic diagram of binocular vision model
假設(shè)世界坐標(biāo)系與左相機(jī)坐標(biāo)系重合,P(X,Y,Z)是空間中任意一點(diǎn),oxyz為左相機(jī)坐標(biāo)系,OlXlYlz為左相機(jī)圖像坐標(biāo)系,orxryrzr為右相機(jī)坐標(biāo)系,OrXrYrzr為右相機(jī)圖像坐標(biāo)系,P在兩相機(jī)成像平面上的對(duì)應(yīng)點(diǎn)分別為pl、pr。
假設(shè)空間中某一點(diǎn)P在相機(jī)成像平面的投影坐標(biāo)為(u,v),在世界坐標(biāo)系下的坐標(biāo)為P(xw,yw,zw),齊次表示為fx、fy、s、u0、v0
式中:k為比例因子;為相機(jī)內(nèi)參;R、t為相機(jī)坐標(biāo)系到世界坐標(biāo)系的旋轉(zhuǎn)、平移矩陣,即相機(jī)外參;H為單應(yīng)性矩陣。
則可得出目標(biāo)點(diǎn)P在空間中的三維坐標(biāo)為
綜上可知,已知兩相機(jī)的焦距fl、fr、及目標(biāo)點(diǎn)在左右相機(jī)的圖像坐標(biāo)以及兩相機(jī)之間的旋轉(zhuǎn)、平移矩陣,就可求出目標(biāo)點(diǎn)P在空間的三維坐標(biāo)。
圖像處理的目的是為了確定圖像中焊點(diǎn)的中心坐標(biāo)。考慮到焊點(diǎn)圖像在采集和傳輸過(guò)程中往往會(huì)受到各種噪聲干擾的影響,導(dǎo)致圖像質(zhì)量較低,影響定位結(jié)果。因此,必須對(duì)所采集的焊點(diǎn)圖像進(jìn)行相應(yīng)的預(yù)處理,提高圖像質(zhì)量。焊點(diǎn)圖像特征提取流程圖如圖2所示。
圖2 焊點(diǎn)圖像特征提取流程圖Fig.2 Flow chart of welding spots image feature extraction
特征提取流程詳細(xì)描述如下:1)對(duì)圖像進(jìn)行中值濾波,消除圖像中孤立的噪點(diǎn),同時(shí)起到平滑圖像的目的;2)進(jìn)行圖像銳化處理,對(duì)濾波后的圖像進(jìn)行補(bǔ)償,使焊點(diǎn)的邊緣輪廓更加清晰,更加接近真實(shí)值;3)利用Canny算子檢測(cè)圖像的邊緣輪廓;4)利用Hough圓檢測(cè)算法擬合焊點(diǎn)的邊緣輪廓,最終實(shí)現(xiàn)焊點(diǎn)中心坐標(biāo)的定位。圖像處理效果圖如圖3所示。
圖3 圖像處理效果圖Fig.3 Image processing effect
雙目視覺(jué)系統(tǒng)定位車(chē)身焊點(diǎn)策略采用基于圖像處理的視覺(jué)伺服控制[11-12]。當(dāng)車(chē)身進(jìn)入待檢工位,機(jī)器人根據(jù)事先示教的車(chē)身上所有的關(guān)鍵焊點(diǎn),包括相機(jī)拍照點(diǎn)P1,探頭檢測(cè)點(diǎn)P2、將當(dāng)前P2定位基準(zhǔn)點(diǎn),對(duì)下一輛進(jìn)入待檢工位的車(chē)身進(jìn)行實(shí)時(shí)糾偏,定位流程圖如圖4所示:
圖4 視覺(jué)定位流程圖Fig.4 Flow chart of visual positioning
定位流程圖詳細(xì)描述如下所示:1)車(chē)身進(jìn)入待檢工位,機(jī)器人根據(jù)示教程序,運(yùn)動(dòng)至相機(jī)拍照點(diǎn)P1,采集當(dāng)前焊點(diǎn)圖像信息;2)通過(guò)雙目立體匹配算法計(jì)算出焊點(diǎn)中心的三維坐標(biāo),并結(jié)合前期示教的探頭檢測(cè)點(diǎn)P2計(jì)算出焊點(diǎn)中心坐標(biāo)三維偏差(?x,?y,?z);3)機(jī)器人移動(dòng)至探頭檢測(cè)點(diǎn)P2,并根據(jù)接收的偏差值引導(dǎo)機(jī)器人至當(dāng)前焊點(diǎn)的期望位置。
在實(shí)際工況中機(jī)器人定位焊點(diǎn)的誤差較大,如工業(yè)機(jī)器人存在強(qiáng)耦合及非線(xiàn)性誤差、車(chē)間復(fù)雜的生產(chǎn)環(huán)境對(duì)視覺(jué)定位產(chǎn)生的干擾,以及雙目立體匹配算法存在的定位誤差等因素,導(dǎo)致系統(tǒng)的定位精度較低。
針對(duì)以上問(wèn)題,機(jī)器人模型及相機(jī)標(biāo)定誤差屬于系統(tǒng)誤差,而雙目立體匹配誤差屬于隨機(jī)誤差,會(huì)存在波動(dòng),但只要匹配算法合理,隨機(jī)誤差會(huì)控制在某個(gè)范圍波動(dòng)??紤]到焊點(diǎn)位置數(shù)據(jù)采集的復(fù)雜性,且無(wú)法獲取較多車(chē)身焊點(diǎn)樣本,因此,采用支持小樣本理論的統(tǒng)計(jì)學(xué)方法來(lái)提升雙目視覺(jué)的定位精度。
支持向量機(jī)是一種建立在統(tǒng)計(jì)學(xué)理論基礎(chǔ)上的機(jī)器學(xué)習(xí)算法,該算法在有限數(shù)據(jù)集情況下,具有較好的泛化能力,且在解決非線(xiàn)性、高維模式時(shí)取得較好的效果[13],因此,本研究采用支持向量機(jī)回歸(support vector regression,SVR)的方法對(duì)焊點(diǎn)定位進(jìn)行誤差補(bǔ)償,以獲取較高的定位精度。
支持向量機(jī)因其在數(shù)據(jù)集有限的情況下表現(xiàn)出的學(xué)習(xí)能力,在很多領(lǐng)域得到廣泛的應(yīng)用。假定集合{(xi,yi)},i=1,2,…,n為樣本的數(shù)據(jù)集,xi為數(shù)據(jù)集的輸入集合,yi為輸入對(duì)應(yīng)的目標(biāo)值。
為避免出現(xiàn)線(xiàn)性不可分的情況,引入松弛變量ξ和ξ?、懲罰因子C及不敏感損失系數(shù)ε。同時(shí),引入核函數(shù)K(xi,xj)將目標(biāo)函數(shù)向高維進(jìn)行映射,將非線(xiàn)性問(wèn)題轉(zhuǎn)化為線(xiàn)性可分問(wèn)題。優(yōu)化問(wèn)題即可表示為
其中:松弛變量將距離超平面較遠(yuǎn)的干擾點(diǎn)去掉,并將線(xiàn)性問(wèn)題轉(zhuǎn)化為非線(xiàn)性問(wèn)題;懲罰因子用來(lái)表征離群點(diǎn)所帶來(lái)的損失,C越大,表示對(duì)離群點(diǎn)越重視;不敏感損失系數(shù)ε用來(lái)評(píng)估模型的擬合精度。
常用的核函數(shù)有多項(xiàng)式核函數(shù)、高斯徑向基核函數(shù)(radial basis function,RBF)、sigmoid 核函數(shù)等。不同的核函數(shù)類(lèi)型決定著映射到高維的方向。在車(chē)身焊點(diǎn)位置預(yù)估中,核函數(shù)采用RBF 核函數(shù),見(jiàn)(5)式:
式中γ為核寬度系數(shù),主要反映支持向量之間的相關(guān)程度。
由上述分析可知,損失函數(shù)ε、懲罰因子C及核寬度系數(shù)γ決定著模型的擬合精度及回歸程度,因此,如何選取三者的值對(duì)模型的好壞起著決定作用。目前常用的支持向量機(jī)參數(shù)優(yōu)化算法有交叉驗(yàn)證法、遺傳算法、粒子群優(yōu)化算法等。相較于其他算法,粒子群算法具有簡(jiǎn)單易行、收斂速度快、設(shè)置參數(shù)少等特點(diǎn),因此得到了廣泛的應(yīng)用。
粒子群算法(particle swarm optimization,PSO)思想源于鳥(niǎo)群捕食行為,通過(guò)每個(gè)粒子經(jīng)歷的局部極小值并與其他粒子共享該粒子目前所在的位置,進(jìn)而快速地達(dá)到全局最小值[14]。假設(shè)存在粒子i,其第k次迭代后的速度更新公式為
粒子群算法因其設(shè)置參數(shù)少、算法容易實(shí)現(xiàn)而被廣泛應(yīng)用,但同時(shí)粒子群算法也存在容易陷入局部最優(yōu)解的問(wèn)題[15]。針對(duì)上述問(wèn)題,提出基于非線(xiàn)性自適應(yīng)的改進(jìn)粒子群參數(shù)優(yōu)化算法(improved particle swarm optimization,IPSO)。主要針對(duì)慣性權(quán)重w,加速度c1、c2進(jìn)行優(yōu)化。
慣性權(quán)重w值的大小決定著尋優(yōu)算法的收斂速度,w越大,全局搜索能力越強(qiáng),但不易收斂;w越小,收斂速度慢,且容易陷入局部最優(yōu)解。因此,在初期應(yīng)保證較大的w值,提高算法的全局搜索能力,在后期應(yīng)提高算法的局部搜索能力,即減小w的值。慣性權(quán)重w值更新公式如(7)式所示:
式中:wmax為權(quán)重的最大值,通常取0.9;wmin為權(quán)重的最小值,通常取0.4;T為當(dāng)前的迭代次數(shù);Tmax為最大迭代次數(shù)。權(quán)重w變化示意圖如圖5所示。
圖5 權(quán)重w 變化曲線(xiàn)圖Fig.5 Variation curve of weight w
其中:w為慣性權(quán)重,用于調(diào)節(jié)搜索范圍;c1、c2為加速度,調(diào)節(jié)搜索步長(zhǎng);r1、r2為屬于0 到1的隨機(jī)數(shù),增加搜索隨機(jī)性;pibest為粒子i經(jīng)歷過(guò)的最好位置;gbest為種群所經(jīng)歷最好位置;xki為粒子i在第k次迭代的位置,在支持向量機(jī)中即為{C,ε,γ}的取值。
對(duì)于加速度c1和c2,分別表示粒子的自身學(xué)習(xí)率和社會(huì)學(xué)習(xí)率。在迭代初期,個(gè)體粒子對(duì)粒子當(dāng)前的最優(yōu)位置影響較大,應(yīng)保證較大的c1和較小的c2,提高算法的全局搜索能力,而在迭代后期,粒子群粒子對(duì)當(dāng)前粒子的最優(yōu)位置影響最大,應(yīng)保證較小的c1和較大的c2,提高算法的局部搜索精度。加速度c1,c2調(diào)整公式為
式中:c1max、c1min分別表示加速度c1的最大值和最小值;c2max、c2min分別表示加速度c2的最大值和最小值。通常取cimax=2.0,cimin=1.5,其中i=1,2。c1、c2變化示意圖如圖6所示。
圖6 加速度c1、c2 變化示意圖Fig.6 Variation diagram of acceleration c1 and c2
當(dāng)車(chē)身進(jìn)入工位時(shí),機(jī)器人根據(jù)示教軌跡至相機(jī)拍照位置,根據(jù)雙目立體匹配算法,獲取當(dāng)前焊點(diǎn)中心的三維坐標(biāo),實(shí)現(xiàn)初定位,并將該坐標(biāo)發(fā)送至經(jīng)改進(jìn)粒子群算法優(yōu)化的支持向量機(jī)回歸模型,模型將返回所預(yù)測(cè)的差值給機(jī)器人,進(jìn)而引導(dǎo)機(jī)器人至該焊點(diǎn)檢測(cè)位置。系統(tǒng)誤差補(bǔ)償策略流程圖如圖7所示。
由上述分析可知,誤差補(bǔ)償模型對(duì)焊點(diǎn)的定位精度起著關(guān)鍵性作用,誤差補(bǔ)償模型流程圖如圖8所示。
算法具體步驟如下:
1)獲取已知車(chē)身的40個(gè)關(guān)鍵焊點(diǎn),利用雙目立體匹配算法,計(jì)算出焊點(diǎn)在機(jī)器人下的坐標(biāo)(xi′,yi′,zi′),其中i=1,2,…,40。
2)獲取上述40個(gè)焊點(diǎn)在機(jī)器人下的實(shí)際坐標(biāo)(xi,yi,zi),并求出兩者之間(的差值?xi=xi?xi′,并將作為預(yù)測(cè)值y,{xi′,yi′,zi′}為輸入值,其中前30組為數(shù)據(jù)集,后10組為測(cè)試集。
圖7 誤差補(bǔ)償策略流程圖Fig.7 Flow chart of error compensation strategy
圖8 構(gòu)建誤差補(bǔ)償模型流程圖Fig.8 Flow chart of constructing error compensation model
3)初始化粒子種群 {C,ε,γ},設(shè)定粒子群的相關(guān)初始化參數(shù)。
4)計(jì)算每個(gè)粒子的適應(yīng)度,將當(dāng)前出現(xiàn)的pibest作為當(dāng)前全局gbest。適應(yīng)度函數(shù)采用均方差函數(shù)(mean square error,MSE),計(jì)算公式如(10)式所示。
式中:n表示訓(xùn)練集樣本個(gè)數(shù);f(xi)表示焊點(diǎn)理論坐標(biāo)(xi′,yi′,zi′);yi表示焊點(diǎn)實(shí)際坐標(biāo)(xi,yi,zi)。
5)根據(jù)(10)式更新粒子的速度和位置,將跟新后的粒子適應(yīng)度pibest與當(dāng)前全局極值gbest比較,若優(yōu),則更新gbest;否則保留原值,直至產(chǎn)生全局最優(yōu)值gbest。
6)利用輸出的{C,ε,γ}訓(xùn)練SVR模型,通過(guò)測(cè)試集的數(shù)據(jù)及驗(yàn)證指標(biāo)MSE函數(shù)反映當(dāng)前模型的擬合精度,直至獲得滿(mǎn)意的回歸模型。
雙目視覺(jué)焊點(diǎn)定位系統(tǒng)主要由上位機(jī)系統(tǒng)、視覺(jué)系統(tǒng)及機(jī)器人系統(tǒng)組成,如圖9所示。
圖9 系統(tǒng)硬件框架圖Fig.9 System hardware framework diagram
其中,上位機(jī)與機(jī)器人通過(guò)TCP/IP 進(jìn)行通訊,視覺(jué)系統(tǒng)通過(guò)圖像處理計(jì)算出焊點(diǎn)與示教焊點(diǎn)坐標(biāo)的偏移值(?x,?y,?z)后,再由上位機(jī)發(fā)送給機(jī)器人,引導(dǎo)機(jī)器人實(shí)現(xiàn)焊點(diǎn)的定位。
現(xiàn)場(chǎng)試驗(yàn)平臺(tái)如圖10所示,主要由研華工控機(jī)、AUBO-I5 機(jī)器人,大恒工業(yè)相機(jī)、Computar 鏡頭組成。
圖10 實(shí)驗(yàn)平臺(tái)搭建Fig.10 Experimental platform construction
焊點(diǎn)定位試驗(yàn)驗(yàn)證流程如下所示:
1)在車(chē)身上選擇10個(gè)關(guān)鍵焊點(diǎn)進(jìn)行機(jī)器人示教拍照,并記錄當(dāng)前10個(gè)拍照位姿信息及焊點(diǎn)的真實(shí)坐標(biāo) (x,y,z);
2)當(dāng)下一個(gè)車(chē)身到位后,利用開(kāi)發(fā)的視覺(jué)定位系統(tǒng),并結(jié)合步驟1)下的視覺(jué)拍照位姿,計(jì)算對(duì)應(yīng)焊點(diǎn)的理論坐標(biāo) (x′,y′,z′);
3)將焊點(diǎn)理論坐標(biāo) (x′,y′,z′)輸入訓(xùn)練好的IPSO-SVR模型中,得出偏差值(?x,?y,?z);
4)將偏差值(?x,?y,?z)發(fā)送給步驟1)中示教的真實(shí)焊點(diǎn)坐標(biāo),引導(dǎo)機(jī)器人實(shí)現(xiàn)精確定位;
5)作為驗(yàn)證,測(cè)量第2次車(chē)身到位后的焊點(diǎn)的真實(shí)坐標(biāo)(x′′,y′′,z′′),并計(jì)算(?x′,?y′,?z′),其中?x′=10個(gè)關(guān)鍵焊點(diǎn)的定位誤差圖如圖11所示。由圖11可知,3個(gè)方向的IPSO-SVR模型預(yù)測(cè)的效果與實(shí)際基本符合。
圖11 各方向誤差預(yù)測(cè)結(jié)果Fig.11 Error prediction results in all directions
為驗(yàn)證使用經(jīng)改進(jìn)粒子群算法優(yōu)化后的SVR模型(IPSO-SVR)的優(yōu)越性,使用同樣的數(shù)據(jù)集及測(cè)試集,分別使用Middlebury 平臺(tái)中排名較好的算法SGBM2、SGM 對(duì)焊點(diǎn)定位結(jié)果進(jìn)行補(bǔ)償,并比較3 者的誤差預(yù)測(cè)能力,見(jiàn)表1所示。其中:
由表1可知,IPSO-SVR模型的預(yù)測(cè)能力最佳,在x方向的誤差可控制在0.5 mm 以?xún)?nèi),在y、z方向的誤差可控制在0.6 mm 以?xún)?nèi),在空間中的誤差可控制在0.8 mm 以?xún)?nèi),具有較高的定位精度,驗(yàn)證了該方法的有效性。
表1 誤差補(bǔ)償效果Table1 Error compensation effect mm
本研究在基于雙目視覺(jué)車(chē)身焊點(diǎn)定位的基礎(chǔ)上,引入機(jī)器學(xué)習(xí)相關(guān)算法,提出了一種新的車(chē)身焊點(diǎn)定位算法,并搭建相應(yīng)的試驗(yàn)平臺(tái),與Middlebury 平臺(tái)上排名較好的算法對(duì)預(yù)測(cè)結(jié)果進(jìn)行比較,驗(yàn)證了該方法的有效性和優(yōu)越性。