周慶懿,瞿佳偉,張春雷,
(1.四川大學(xué) 機(jī)械工程學(xué)院,成都610065;2.成都樂(lè)創(chuàng)自動(dòng)化技術(shù)有限公司,成都610041)
在電子產(chǎn)品生產(chǎn)中,點(diǎn)膠機(jī)扮演著極其重要的角色[1]。例如PCB 電路板的電子元件粘結(jié)、智能手機(jī)外殼和攝像頭的固定等工業(yè)制造任務(wù)中無(wú)一不用到點(diǎn)膠機(jī)。由于工業(yè)產(chǎn)品中出現(xiàn)了越來(lái)越多的異形面、復(fù)雜空間曲線、曲面,導(dǎo)致普通的三軸點(diǎn)膠機(jī)不能很好地完成點(diǎn)膠任務(wù),只能使用五軸點(diǎn)膠機(jī)來(lái)完成這樣的復(fù)雜任務(wù),而五軸點(diǎn)膠機(jī)的工件定位和示教的任務(wù)復(fù)雜度和難度較大,使用傳統(tǒng)的專用定位夾具做工件定位和人工示教所帶來(lái)的成本高。結(jié)合當(dāng)下機(jī)器視覺(jué)的應(yīng)用領(lǐng)域和發(fā)展現(xiàn)狀,機(jī)器視覺(jué)技術(shù)是解決上述難題的不二選擇。
目前機(jī)器視覺(jué)工件定位的研究主要是針對(duì)于兩大類工件,一是平面工件[2-3],主要用于流水線扁平工件的分揀工作,適用范圍有限,只能進(jìn)行工件的二維平面定位;二是立體工件[4-5],由于使用純視覺(jué)技術(shù)的限制,造成精度不夠高,一般在毫米級(jí),因此主要用于機(jī)器手分揀任務(wù)。而在數(shù)控機(jī)床中的相關(guān)應(yīng)用研究較少,且適用范圍比較局限,比如針對(duì)特定工件的特定加工環(huán)節(jié)視覺(jué)定位,如在花鍵加工中的應(yīng)用[6]。
本文研究基于機(jī)器視覺(jué)的雙轉(zhuǎn)臺(tái)五軸點(diǎn)膠機(jī)床運(yùn)動(dòng)學(xué)模型,并選取工件表面定位特征點(diǎn),結(jié)合運(yùn)動(dòng)學(xué)模型進(jìn)行求解特征點(diǎn)的工件坐標(biāo),完成工件定位,求得的定位特征點(diǎn)兩兩實(shí)際物理距離與理論物理距離的平均誤差為7.5 μm。數(shù)控機(jī)床很多基本的結(jié)構(gòu)相似,所以該定位方法還可以很容易地應(yīng)用在其它數(shù)控機(jī)床中,可移植性較高。該方法部分研究結(jié)果已于2021年在成都樂(lè)創(chuàng)自動(dòng)化技術(shù)有限公司正式投入使用。
研究對(duì)象為雙轉(zhuǎn)臺(tái)五軸點(diǎn)膠機(jī)床,如圖1所示,相機(jī)安裝在Z軸滑臺(tái)上,它與五軸機(jī)床其它關(guān)鍵運(yùn)動(dòng)部件有著確定的運(yùn)動(dòng)關(guān)系,為了實(shí)現(xiàn)對(duì)工件的精確定位,求解工件在加工平臺(tái)上的位姿,首先需要使用張正友標(biāo)定法[10]進(jìn)行單相機(jī)標(biāo)定,確定工業(yè)相機(jī)的相機(jī)內(nèi)參與畸變系數(shù),該方法比較成熟,可直接使用,然后確定相機(jī)和五軸機(jī)床中各個(gè)運(yùn)動(dòng)部件的運(yùn)動(dòng)學(xué)信息,建立運(yùn)動(dòng)學(xué)模型,最后基于該模型,結(jié)合工件定位特征點(diǎn)建立優(yōu)化目標(biāo)函數(shù),使用LM優(yōu)化方法求解特征點(diǎn)的工件坐標(biāo),完成工件定位。
圖1 雙轉(zhuǎn)臺(tái)五軸點(diǎn)膠機(jī)結(jié)構(gòu)Fig.1 Structure of dual turntable five-axis machine
基于視覺(jué)的五軸機(jī)床上的關(guān)鍵部件運(yùn)動(dòng)學(xué)關(guān)系可視為一條串聯(lián)運(yùn)動(dòng)鏈,如圖2所示,實(shí)線連接部分屬于物理連接,即運(yùn)動(dòng)部件之間的固聯(lián)關(guān)系,它們之間僅存在剛體變換運(yùn)動(dòng),其中相機(jī)和針頭都安裝在同一滑臺(tái)上,相對(duì)位姿固定,可簡(jiǎn)化為同屬一個(gè)部件;點(diǎn)畫(huà)線部分屬于非物理連接,由相機(jī)模型聯(lián)系[10]。加工平臺(tái)上的標(biāo)定板世界坐標(biāo)信息可以通過(guò)兩個(gè)途徑變換到相機(jī)坐標(biāo)下,一是通過(guò)物理連接部分獲得,二是通過(guò)非物理連接部分獲得,非物理連接部分獲取的信息可以作為先驗(yàn)信息應(yīng)用于標(biāo)定環(huán)節(jié),因此首先需要對(duì)物理連接部分進(jìn)行運(yùn)動(dòng)學(xué)建模,確定用于描述物理連接部分運(yùn)動(dòng)關(guān)系的數(shù)學(xué)模型,才能利用非物理連接部分的先驗(yàn)信息對(duì)其進(jìn)行關(guān)鍵參數(shù)的標(biāo)定。
圖2 五軸機(jī)床運(yùn)動(dòng)鏈Fig.2 Kinematic chain of five-axis machine
齊次坐標(biāo)變換可以描述空間中任意坐標(biāo)系之間的相對(duì)位姿關(guān)系[7-8],也可以表示空間點(diǎn)在不同坐標(biāo)系下的描述之間的轉(zhuǎn)換關(guān)系。本文采用齊次坐標(biāo)變換法來(lái)描述機(jī)床中各個(gè)關(guān)鍵部件之間的運(yùn)動(dòng)關(guān)系,即相對(duì)位姿關(guān)系,通過(guò)在各個(gè)部件上建立標(biāo)準(zhǔn)笛卡爾右手坐標(biāo)系,用坐標(biāo)系之間的齊次變換來(lái)描述部件之間的關(guān)系,坐標(biāo)系示意圖如圖3所示。
圖3 五軸機(jī)床上的關(guān)鍵部件固聯(lián)坐標(biāo)系示意圖Fig.3 Coordinate system of critical components in five-axis machine
理想運(yùn)動(dòng)學(xué)模型如式(1)所示,忽略所有機(jī)床誤差,若知道坐標(biāo)系之間的相對(duì)位姿關(guān)系,便可知道它們之間的齊次變換矩陣,而物理連接部分屬于串聯(lián)關(guān)系,因此可以利用這些齊次變換矩陣,從標(biāo)定點(diǎn)世界坐標(biāo)出發(fā),逐級(jí)變換到標(biāo)定點(diǎn)在相機(jī)坐標(biāo)系下的坐標(biāo)。
式中:pV為空間點(diǎn)在{V}下的坐標(biāo);pW為世界坐標(biāo);為空間點(diǎn)從{W}下變換到{C}下的齊次變換矩陣,同樣也表示{W}坐標(biāo)系相對(duì){C}的位姿,以此類推。
標(biāo)定板可看作加工工件,當(dāng)把標(biāo)定板固定在加工平臺(tái)上后,標(biāo)定板與加工平臺(tái)的相對(duì)位姿不再發(fā)生改變,因此標(biāo)定板坐標(biāo)系{W}即是加工坐標(biāo)系,不難看出,在五軸機(jī)床的運(yùn)作過(guò)程中,標(biāo)定點(diǎn)的世界坐標(biāo)pW將不會(huì)發(fā)生改變。實(shí)際加工過(guò)程中,標(biāo)定點(diǎn)在{V}下的坐標(biāo)pV會(huì)因五軸機(jī)床的運(yùn)動(dòng)發(fā)生改變,而式(1)的齊次坐標(biāo)變換模型中,齊次變換矩陣D描述了五軸機(jī)床運(yùn)動(dòng)鏈節(jié)點(diǎn)的靜態(tài)位姿關(guān)系和運(yùn)動(dòng)關(guān)系。
機(jī)床的幾何誤差按照與各運(yùn)動(dòng)軸位置的相關(guān)性分為兩類,一是位置無(wú)關(guān)幾何誤差元素PIGE(position-independent geometric error,PIGE);二是位置相關(guān)幾何誤差元素PDGE(position-dependent geometric error,PDGE)。在本文中將忽略PDGE,僅考慮機(jī)床的PIGE。PIGE 誤差主要包含機(jī)床各運(yùn)動(dòng)軸的安裝誤差,包括平動(dòng)軸的3 項(xiàng)垂直度誤差,旋轉(zhuǎn)軸的4項(xiàng)垂直度誤差以及4 項(xiàng)軸間距誤差[9]。
為了便于將誤差模型耦合到理想運(yùn)動(dòng)學(xué)模型中,同樣采用齊次坐標(biāo)變換法進(jìn)行誤差模型建模??紤]到五軸機(jī)床中平動(dòng)軸和旋轉(zhuǎn)軸的誤差項(xiàng)不同,因此可以將式(1)分解為式(2),分別對(duì)平動(dòng)軸部分和旋轉(zhuǎn)軸部分進(jìn)行誤差分析與模型建立:
式中:pY為標(biāo)定點(diǎn)在坐標(biāo)系{Y}下的坐標(biāo)。
1.2.1 平動(dòng)軸誤差運(yùn)動(dòng)學(xué)模型
在理想情況下,無(wú)PIGE 誤差,{X},{Y},{Z}三個(gè)平動(dòng)軸滑臺(tái)固聯(lián)坐標(biāo)系中的三坐標(biāo)軸線均與機(jī)床基座坐標(biāo)系{M}的坐標(biāo)軸平行,機(jī)床復(fù)位時(shí),以上各坐標(biāo)系重合。此時(shí)考慮PIGE 誤差[9],即運(yùn)動(dòng)軸安裝誤差,該誤差實(shí)質(zhì)上是造成了運(yùn)動(dòng)軸相對(duì)于機(jī)床基座做剛體變換,部件上固聯(lián)的平動(dòng)軸坐標(biāo)系{X},{Y},{Z}同樣將產(chǎn)生相對(duì){M}的剛體變換。因此在平動(dòng)軸誤差運(yùn)動(dòng)學(xué)模型中,將乘上對(duì)應(yīng)平動(dòng)軸PIGE誤差項(xiàng)所帶來(lái)的剛體變換矩陣。平動(dòng)軸誤差運(yùn)動(dòng)學(xué)模型如式(3)所示:
式中:EX,EY,EZ分別為PIGE 誤差所帶來(lái)的相對(duì){M}的剛體變換矩陣。
由齊次變換矩陣的特性可知,該模型中的齊次變換矩陣可以耦合為一個(gè)齊次變換矩陣T,模型簡(jiǎn)化為
式中:RM的物理意義為{Y}坐標(biāo)系相對(duì)于相機(jī)坐標(biāo)系{V}的旋轉(zhuǎn)。相機(jī)安裝好后,在機(jī)床運(yùn)動(dòng)中,相機(jī)與Y軸滑臺(tái)之間只做平動(dòng)運(yùn)動(dòng),不發(fā)生旋轉(zhuǎn)運(yùn)動(dòng),因此可以想象RM是一個(gè)旋轉(zhuǎn)矩陣常量;tM的物理意義為{Y}相對(duì)于{V}的平移向量,該向量包含了兩個(gè)因素,一是由于機(jī)床做平動(dòng)運(yùn)動(dòng)時(shí)引起的平移變換,二是由于PIGE 幾何誤差項(xiàng)引起的靜態(tài)誤差。因此tM是一個(gè)關(guān)于機(jī)床輸入坐標(biāo)的線性函數(shù),如式(5)所示:
式中:M3×4為映射矩陣。因此,對(duì)于平動(dòng)軸誤差運(yùn)動(dòng)學(xué)模型只需標(biāo)定出RM和M3×4兩個(gè)矩陣參數(shù)。
在實(shí)際標(biāo)定過(guò)程中,機(jī)床僅作平動(dòng)運(yùn)動(dòng),旋轉(zhuǎn)軸不做轉(zhuǎn)動(dòng),Y軸滑臺(tái)與加工平臺(tái)相對(duì)靜止,假設(shè)此時(shí)的坐標(biāo)系{Y}與標(biāo)定板坐標(biāo)系{W}重合,因此可以使機(jī)床僅作平動(dòng)運(yùn)動(dòng),拍攝足夠數(shù)量不同平動(dòng)參數(shù)下的標(biāo)定板圖像,用已經(jīng)標(biāo)定好的相機(jī)內(nèi)參作為初始值,使用張氏標(biāo)定法[10]求解對(duì)應(yīng)圖像的單應(yīng)矩陣,再根據(jù)相機(jī)內(nèi)參矩陣解耦出每張圖像的外參矩陣,即{W}相對(duì){V}的剛體變換矩陣,又因?yàn)椋鸜}與{W}重合,該變換矩陣實(shí)質(zhì)也是{Y}相對(duì)相機(jī){V}的變換矩陣。此時(shí)不難想象,由于機(jī)床僅作平動(dòng)運(yùn)動(dòng),每張標(biāo)定板圖像對(duì)應(yīng)旋轉(zhuǎn)矩陣RM理論上應(yīng)該是常量,但由于圖像處理和計(jì)算會(huì)帶來(lái)隨機(jī)噪聲,導(dǎo)致這些旋轉(zhuǎn)矩陣存在微小偏差,因此可使用平均法求出所有旋轉(zhuǎn)矩陣的平均值作為標(biāo)定結(jié)果,而求解出來(lái)的平移向量則是tM,根據(jù)式(5)和多組變換矩陣的平移向量,可構(gòu)建超定方程組,最后利用最小二乘法可以求解出M3×4。
1.2.2 旋轉(zhuǎn)軸誤差運(yùn)動(dòng)學(xué)模型
旋轉(zhuǎn)軸運(yùn)動(dòng)將會(huì)導(dǎo)致原本重合的{Y}與{W}產(chǎn)生剛體變換,因此旋轉(zhuǎn)軸誤差運(yùn)動(dòng)學(xué)模型需要確定該剛體變換的具體形式。旋轉(zhuǎn)軸坐標(biāo)系{A}與{C}的原點(diǎn)建立在實(shí)際旋轉(zhuǎn)軸線上的一點(diǎn),假設(shè){A}原點(diǎn)在{Y}下的坐標(biāo)為ta,{C}的原點(diǎn)在{A}下的坐標(biāo)為tc,旋轉(zhuǎn)軸A的實(shí)際旋轉(zhuǎn)軸線在{Y}下的方向向量為va,C的實(shí)際軸線在{A}下的方向向量為vc。不難想象,在這種模型條件下,若求解出原點(diǎn)ta,tc和方向向量va,vc,便能確定A,C軸的實(shí)際旋轉(zhuǎn)軸線分別在{Y}和{A}下的位置,兩直線之間的相對(duì)位姿則包含了PIGE 誤差項(xiàng)中的旋轉(zhuǎn)軸垂直度誤差與軸間距誤差。
假設(shè)機(jī)床旋轉(zhuǎn)軸的旋轉(zhuǎn)度數(shù)分別為a和c,由旋轉(zhuǎn)軸引起的{Y}與{W}之間的坐標(biāo)變換可看作{W}繞直線(ta,va)旋轉(zhuǎn)a度,再繞(tc,vc)旋轉(zhuǎn)c度,并且在a,c為0 時(shí){Y},{A},{C}坐標(biāo)系三軸線分別相互平行。又因{Y}在未作旋轉(zhuǎn)運(yùn)動(dòng)時(shí)與{W}重合,有pY=pW,因此可以通過(guò)僅旋轉(zhuǎn)一根旋轉(zhuǎn)軸實(shí)現(xiàn)對(duì)相應(yīng)旋轉(zhuǎn)軸的軸線參數(shù)標(biāo)定。以A軸為例,標(biāo)定過(guò)程推導(dǎo)如下:
{W}與{Y}的變換公式如式(7)所示,其中旋轉(zhuǎn)矩陣可由羅德里格斯公式求得,如式(6)所示:
式中:a為A軸旋轉(zhuǎn)度數(shù);vaX,vaY,vaZ為va的分量。
此時(shí)相機(jī)拍下標(biāo)定板的照片,根據(jù)相機(jī)成像原理可得:
聯(lián)合式(7)與式(8):
根據(jù)前一步的標(biāo)定結(jié)果,令機(jī)床此時(shí)的平動(dòng)軸參數(shù)為[X,Y,Z,1]T,則:
根據(jù)式(9)和式(10)可得:
式中:R和t為每張圖像對(duì)應(yīng)的外參矩陣,可同樣根據(jù)張正友標(biāo)定法求得,RM和M3×4可由平動(dòng)軸誤差模型標(biāo)定求得,平動(dòng)軸參數(shù)[X,Y,Z,1]T為已知量。因此采集n組僅做A軸旋轉(zhuǎn)的標(biāo)定板圖像,可根據(jù)式(11)建立n個(gè)方程求出ta,RA,進(jìn)而利用羅德里格斯公式反求出va。同理,在僅旋轉(zhuǎn)C軸時(shí),可求得C軸軸線的方向向量vc,以及軸線上一點(diǎn)tc,完成旋轉(zhuǎn)軸誤差模型的標(biāo)定。
此時(shí)增加兩個(gè)坐標(biāo)系{A0}與{C0}。{A0}表示A軸未旋轉(zhuǎn)時(shí)的坐標(biāo)系,{C0}表示C軸未旋轉(zhuǎn)時(shí)的坐標(biāo)系,并且當(dāng)旋轉(zhuǎn)軸參數(shù)a,c為0 時(shí),{A0},{C0}分別與{A},{C}重合,此時(shí)以上坐標(biāo)系的軸線分別與{Y}的三根軸線平行,因此通過(guò)上小節(jié)標(biāo)定的旋轉(zhuǎn)運(yùn)動(dòng)軸實(shí)際旋轉(zhuǎn)軸線分別在{Y}與{A}下的方向向量va,vc,結(jié)合機(jī)床的串聯(lián)運(yùn)動(dòng)模型,不難想象無(wú)論A,C是否旋轉(zhuǎn),它們的實(shí)際旋轉(zhuǎn)軸線在{A0},{C0}下數(shù)值上是不變的。{A0},{C0}分別與{A},{C}之間的關(guān)系如式(12)所示,顯然,它們之間僅存在因旋轉(zhuǎn)產(chǎn)生的旋轉(zhuǎn)變換。
式中:Ra和Rc為對(duì)應(yīng)旋轉(zhuǎn)軸旋轉(zhuǎn)動(dòng)a,c產(chǎn)生的旋轉(zhuǎn)矩陣,對(duì)應(yīng)旋轉(zhuǎn)軸線為上一小節(jié)標(biāo)定所得的va,vc。綜合誤差運(yùn)動(dòng)學(xué)模型如式(13)所示:
由于該運(yùn)動(dòng)鏈包含視覺(jué)系統(tǒng),因此可以通過(guò)相機(jī)模型建立像素坐標(biāo)到加工坐標(biāo)的齊次坐標(biāo)變換模型,如式(14)所示:
基于該模型可建立優(yōu)化目標(biāo)函數(shù),其中相機(jī)內(nèi)參K的初始值可通過(guò)張正友相機(jī)標(biāo)定法標(biāo)定得出[10],其余優(yōu)化參數(shù)為齊次變換矩陣中的未知參數(shù),如表1所示。pW為標(biāo)定板信息,是已知量,pp可由圖像處理提取標(biāo)定板Mark 點(diǎn)像素坐標(biāo)獲得,因此可以通過(guò)圖像處理獲得的像素坐標(biāo)作為先驗(yàn)信息,使用非線性優(yōu)化方法求解優(yōu)化參數(shù)。
表1 綜合誤差運(yùn)動(dòng)學(xué)模型的齊次變換矩陣Tab.1 Homogeneous transfer matrix of integrated-error-kinematic model
從綜合誤差運(yùn)動(dòng)學(xué)模型可推導(dǎo)出像素坐標(biāo)與工件坐標(biāo)之間的齊次變換關(guān)系,如式(14)所示,基于該模型建立工件定位優(yōu)化目標(biāo)函數(shù),如式(15)所示:
其中,在上述運(yùn)動(dòng)學(xué)模型標(biāo)定完成后,K相機(jī)內(nèi)參和D變換矩陣為已知量,Zc深度信息和pW工件坐標(biāo),為未知量,作為優(yōu)化參數(shù),再對(duì)實(shí)驗(yàn)零件4 個(gè)定位特征分別拍攝多張多視角圖像,通過(guò)圖像處理得到定位點(diǎn)像素坐標(biāo),作為先驗(yàn)信息,通過(guò)LM 非線性優(yōu)化可以得到定位特征的加工坐標(biāo)信息,實(shí)現(xiàn)工件定位。實(shí)驗(yàn)零件如圖4所示。
圖4 測(cè)試零件Fig.4 Test workpiece
該實(shí)驗(yàn)通過(guò)RANSAC 法對(duì)數(shù)據(jù)樣本進(jìn)行去噪[11],并在此基礎(chǔ)上增加了RANSAC 參數(shù)搜索環(huán)節(jié),利用處理后的數(shù)據(jù)樣本,使用LM 非線性優(yōu)化方法進(jìn)行各參數(shù)的優(yōu)化以及未知參數(shù)的求解,算法流程如圖5 和圖6所示。
圖5 增加參數(shù)搜索環(huán)節(jié)的RANSAC+LM 算法流程Fig.5 Flow chart of RANSAC+LM algorithm adding parameters searching
圖6 LM 非線性優(yōu)化流程Fig.6 Flow chart of LM nonlinear optimization
實(shí)驗(yàn)迭代兩次時(shí)平均重投影誤差就從175 下降到了0.5 以下,最終得到平均重投影誤差為0.17像素的五軸機(jī)床綜合誤差運(yùn)動(dòng)學(xué)模型,迭代誤差如圖7所示。
圖7 運(yùn)動(dòng)學(xué)模型標(biāo)定LM 迭代誤差Fig.7 LM errors of kinematic model
該實(shí)驗(yàn)通過(guò)對(duì)建好的優(yōu)化目標(biāo)函數(shù)進(jìn)行LM 非線性優(yōu)化,得到工件定位特征點(diǎn)的工件坐標(biāo)值最優(yōu)解求解。定位結(jié)果如表2所示。
表2 工件定位特征點(diǎn)求解結(jié)果Tab.2 Solution result of workpiece-positioning-feature points
從標(biāo)定結(jié)果的平均重投影誤差可以看出,該算法的重投影誤差在1 個(gè)像素左右。根據(jù)實(shí)驗(yàn)工件的3D 模型可以得到4 個(gè)定位特征點(diǎn)之間的相對(duì)距離長(zhǎng)度,以該長(zhǎng)度作為理論長(zhǎng)度,最后根據(jù)定位結(jié)果計(jì)算對(duì)應(yīng)定位特征點(diǎn)之間的實(shí)際長(zhǎng)度,做誤差分析得到長(zhǎng)度平均誤差為0.0075 mm,也就是7.5 μm。
本文提出了一種基于機(jī)器視覺(jué)的五軸機(jī)床運(yùn)動(dòng)學(xué)模型標(biāo)定算法,以及基于該模型的工件定位算法,該算法可解決五軸點(diǎn)膠機(jī)的工件定位問(wèn)題,減少專用定位夾具的必要,降低工件裝夾定位要求,該方法稍加修改后可應(yīng)用于三軸或四軸等其它類型數(shù)控機(jī)床、工業(yè)機(jī)器人、抓取機(jī)械臂等場(chǎng)景,為剛體變換場(chǎng)景中運(yùn)動(dòng)模型標(biāo)定以及目標(biāo)定位問(wèn)題提供了一種基于機(jī)器視覺(jué)技術(shù)的解決方案。但該方法標(biāo)定過(guò)程中需要人工采集大量標(biāo)定圖像,并且最后僅用到了求解出的加工坐標(biāo)信息,而深度信息未利用到,因此在今后的工作中可以繼續(xù)圍繞圖像采集自動(dòng)化、充分利用該算法中求解的深度信息解決其它合適的工程問(wèn)題這兩個(gè)問(wèn)題深入研究,進(jìn)一步改進(jìn)和擴(kuò)展該算法。