吳云飛,柳 賀,李 陽,王仁勝
(1.安徽工程大學(xué) 電氣工程學(xué)院,安徽 蕪湖241009;2.安徽埃夫特智能裝備股份有限公司,安徽 蕪湖241009)
如今,在工業(yè)進(jìn)程不斷發(fā)展的前提下,工業(yè)機(jī)器人的發(fā)展也越來越快,在各行各業(yè)都能見到工業(yè)機(jī)器人的身影,如光伏、鋰電、碼垛、焊接、打磨行業(yè),等等。但是不同行業(yè)不同工藝的機(jī)器人的任務(wù)和需求都不盡相同,這就意味著機(jī)器人末端夾具也會(huì)各不相同。面對(duì)機(jī)器人不同的末端夾具,需要根據(jù)實(shí)際需求以及情況來建立工具坐標(biāo)系以及標(biāo)定工具方向。工具坐標(biāo)系標(biāo)定決定了軌跡規(guī)劃的準(zhǔn)確性,工具坐標(biāo)系標(biāo)定對(duì)機(jī)器人離線編程意義重大,因此工具及工件標(biāo)定具有重要的研究意義。
李廣云等[1]提出一種快速確定坐標(biāo)系的方法,利用激光跟蹤儀及幾何法原理進(jìn)行工具坐標(biāo)系的位置標(biāo)定,該方法快速有效;何淼[2]以FANUC工業(yè)機(jī)器人為例,分析了直接輸入法、三點(diǎn)法、六點(diǎn)法的工具坐標(biāo)系的設(shè)置方法;羅豪龍等[3]將最小二乘法與工具坐標(biāo)系相結(jié)合,提出一種新的工具坐標(biāo)系的標(biāo)定方法,該方法提高了標(biāo)定的精度;周星等[4]和吳樂平等[5]提出一種改進(jìn)的五點(diǎn)選優(yōu)TCP(Tool Center Point)標(biāo)定算法,在傳統(tǒng)的四點(diǎn)法的基礎(chǔ)上增加了誤差閾值,使標(biāo)定精度進(jìn)一步提高;王永強(qiáng)等[6]根據(jù)打磨工件標(biāo)定算法及工件的特點(diǎn),設(shè)計(jì)標(biāo)定塊,利用輔助特征點(diǎn)三點(diǎn)標(biāo)定方法及合理的測(cè)量方法,完成了工件的高精度匹配;李培東等[7-11]針對(duì)不同行業(yè)及型號(hào)的機(jī)器人進(jìn)行了關(guān)于工具坐標(biāo)系標(biāo)定方法的說明以及改進(jìn)。但以上方法均不適用于本研究的應(yīng)用場(chǎng)景,所以,根據(jù)市場(chǎng)需求及應(yīng)用場(chǎng)景,本文提出了一種新的方法。
為解決客戶現(xiàn)場(chǎng)具體需求問題,本文設(shè)計(jì)如下方法。機(jī)器人抓取一根直桿,放置到固定位置的卡槽中,接著繞抓取的直桿旋轉(zhuǎn)90°。完成后,放置直桿離開。機(jī)器人在繞桿的過程不能產(chǎn)生較大的偏差,目前評(píng)估約在1~2 mm以內(nèi)。
在機(jī)器人投用于正常的工藝現(xiàn)場(chǎng)之前,通常會(huì)通過仿真軟件來模擬評(píng)估機(jī)器人是否可實(shí)現(xiàn)動(dòng)作,以及實(shí)現(xiàn)動(dòng)作后從仿真軟件中輸出點(diǎn)位信息來幫助調(diào)試。但是在應(yīng)用于實(shí)際工藝之前的仿真中,模型與實(shí)際夾具還是存在著較大偏差,所以在仿真中得到的工具值不可以直接輸入,而需要根據(jù)具體的夾具和新方法通過標(biāo)定來準(zhǔn)確地計(jì)算出直桿的工具坐標(biāo),以解決工藝中的精度問題。由于傳統(tǒng)的基于C10系統(tǒng)的埃夫特工業(yè)機(jī)器人的實(shí)現(xiàn)方法是靠傳統(tǒng)的TCP與坐標(biāo)軸的方向來標(biāo)定工具坐標(biāo)方向,這種方法精度遠(yuǎn)遠(yuǎn)不夠?;诖朔N情況,設(shè)計(jì)一種算法以讓示教器實(shí)現(xiàn)需求非常必要。
在如今的工業(yè)生產(chǎn)線上,通常存在著多種工藝,這就使得工業(yè)機(jī)器人需要在末端執(zhí)行器上安裝特定的工具,并且需要在這些工具的規(guī)定位置上建立一個(gè)坐標(biāo)系,以便坐標(biāo)的獲取與轉(zhuǎn)換,這就是所謂的工具坐標(biāo)系,而機(jī)器人某些特定的軌跡常常基于工具上的某一點(diǎn)來進(jìn)行規(guī)劃,這個(gè)點(diǎn)被稱為工具中心點(diǎn)(TCP),簡(jiǎn)稱CT點(diǎn)。
本實(shí)驗(yàn)所選用機(jī)器人基于C10系統(tǒng)的埃夫特工業(yè)機(jī)器人,在實(shí)現(xiàn)繞桿90°旋轉(zhuǎn)的工藝時(shí),傳統(tǒng)的方法是至少先標(biāo)定出直桿的一個(gè)TCP,標(biāo)定方法是C10系統(tǒng)的三點(diǎn)標(biāo)定法,然后再進(jìn)行工具方向的標(biāo)定,方法是通過工程師的經(jīng)驗(yàn)用肉眼或者吊鉛垂線將直桿盡可能調(diào)整至與選擇的基礎(chǔ)坐標(biāo)系中的XYZ軸的任一方向重合,從而實(shí)現(xiàn)直桿夾具的工具方向的標(biāo)定。
針對(duì)傳統(tǒng)工具方向標(biāo)定方法的缺陷與不足,本文提出用算法來解決工具方向標(biāo)定問題。首先標(biāo)定出直桿兩端面正中心的TCP位置,分別設(shè)為T0和T1。然后取其中間值,計(jì)算出直桿正中心的T2的偏置數(shù)值。再通過算法確定基于C10系統(tǒng)的歐拉角變換,從而計(jì)算出直桿的工具方向。
一般情況下,工具坐標(biāo)系的原點(diǎn)就是PC,工具在被安裝在機(jī)器人末端執(zhí)行器上之后,除非人為改變其安裝位置,否則工具坐標(biāo)系相對(duì)于機(jī)器人末端坐標(biāo)系的關(guān)系是固定不變的。
而在實(shí)際工作中,原始默認(rèn)的工具坐標(biāo)系有時(shí)不能滿足工作需求,這時(shí)候就需要工程師根據(jù)末端執(zhí)行器上的特定工具裝置來重新構(gòu)建一個(gè)工具坐標(biāo)系。這個(gè)新建立的工具坐標(biāo)系會(huì)在實(shí)際工作需求中讓操作者靈活方便地調(diào)整機(jī)器人姿態(tài),從而精確地控制機(jī)器人的運(yùn)動(dòng)軌跡來實(shí)現(xiàn)工藝需求。
首先通過標(biāo)定來準(zhǔn)確地計(jì)算出直桿的工具坐標(biāo)。當(dāng)工具的TCP點(diǎn)標(biāo)定完成后(設(shè)定為直桿的正中心),再標(biāo)定工具方向(設(shè)定直桿的方向?yàn)楣ぞ叩膠軸方向)。最后完成整個(gè)工具標(biāo)定后,對(duì)機(jī)器人進(jìn)行手動(dòng)示教,將直桿放置到卡槽中間,接著在工具坐標(biāo)系下,點(diǎn)擊TZ繞工具z方向旋轉(zhuǎn)90°。完成整個(gè)動(dòng)作的示教。
首先標(biāo)定出直桿兩端正中心的TCP位置,分別為T0和T1。然后取其中間值,計(jì)算出直桿正中心的T2的偏置數(shù)值。接著標(biāo)定直桿的方向?yàn)楣ぞ遺方向。并通過上面T0和T1的偏置數(shù)值,可以計(jì)算出直桿的z方向,再進(jìn)行工具方向的標(biāo)定。計(jì)算公式為
(1)
(2)
(3)
其中:T0(x)、T0(y)、T0(z)是T0點(diǎn)的坐標(biāo)值;T1(x)、T1(y)、T1(z)是T1點(diǎn)的坐標(biāo)值;T2(x)、T2(y)、T2(z)是基于T0、T1得到的偏置中心點(diǎn)T2的坐標(biāo)值。如圖1所示,根據(jù)T0、T1的坐標(biāo)值計(jì)算出T2的坐標(biāo)值。
圖1 直桿模型TCP點(diǎn)位置
完成程序示教調(diào)用工具坐標(biāo)系,完成點(diǎn)位示教。程序中相關(guān)點(diǎn)位調(diào)用T2工具號(hào)。直桿中間點(diǎn)TCP偏移的計(jì)算式為
T0=(x1,y1,z1,0,0,0),
(4)
T1=(x2,y2,z2,0,0,0),
(5)
T2=(x3,y3,z3,a3,b3,c3),
(6)
在完成夾具的工具坐標(biāo)標(biāo)定后,接下來就需要完成工具方向的標(biāo)定工作。直桿工具方向的計(jì)算如圖2所示,圖2(a)為法蘭盤默認(rèn)的工具方向,圖2(b)為根據(jù)用戶需求自定義標(biāo)定后的工具方向。
(a)默認(rèn)工具坐標(biāo)系 (b)自定義工具坐標(biāo)系圖2 工具坐標(biāo)系轉(zhuǎn)換對(duì)比示意圖
顯然,默認(rèn)的工具坐標(biāo)系與工藝中所需要的坐標(biāo)系大相徑庭,所以工程師需要自己標(biāo)定自定義的工具坐標(biāo)系以及工具坐標(biāo)方向才能完成類似于本文所解決的工藝需求。
根據(jù)本次工藝的現(xiàn)場(chǎng)需求,需要注意的是,由于現(xiàn)場(chǎng)為使用機(jī)器人繞桿進(jìn)行旋轉(zhuǎn),所以本文根據(jù)現(xiàn)場(chǎng)需求將直桿所指的方向標(biāo)定為工具的Z方向,而對(duì)于本研究中屬于無關(guān)變量的直桿的X和Y方向,不作為本研究實(shí)驗(yàn)中所考慮的因素。下面主要考慮如何將默認(rèn)工具坐標(biāo)系中的工具方向轉(zhuǎn)變?yōu)樽远x工具坐標(biāo)系所示的方向。
2.3.1 歐拉角靜態(tài)定義
在機(jī)器人的坐標(biāo)以及工具值中,abc標(biāo)識(shí)的是機(jī)器人姿態(tài)變換的歐拉角。在不同的機(jī)器人系統(tǒng)中,歐拉角的表示方法各有不同。
為了區(qū)別坐標(biāo)軸,分別設(shè)xyz軸為慣性系的參考軸,即大地坐標(biāo)系的3個(gè)軸;設(shè)XYZ軸為載體系的參考軸,即載體坐標(biāo)系的3個(gè)軸。
正確的歐拉角組中,任何兩個(gè)連續(xù)的旋轉(zhuǎn),必須繞著不同的轉(zhuǎn)動(dòng)軸旋轉(zhuǎn)。因此,歐拉角的表示共有12種方式。其中有6種繞3條軸的旋轉(zhuǎn)(Tait-Bryan Angle):XYZ,XZY,YXZ,YZX,ZXY,ZYX;有6種只繞兩條軸的旋轉(zhuǎn)(Proper Euler Angle):XYX,YXY,XZX,ZXZ,YZY,ZYZ。同時(shí),歐拉角組中旋轉(zhuǎn)變換的類型根據(jù)參考的旋轉(zhuǎn)坐標(biāo)的不同又分為2種:一種是繞固定于載體的坐標(biāo)軸的3個(gè)旋轉(zhuǎn)的復(fù)合;另外一種是繞大地坐標(biāo)系參考軸的3個(gè)旋轉(zhuǎn)的復(fù)合。C10系統(tǒng)使用的是繞固定于載體的坐標(biāo)軸ZYZ的歐拉角的表示方式。
2.3.2 歐拉角動(dòng)態(tài)定義
①繞固定載體坐標(biāo)系旋轉(zhuǎn)
設(shè)任何一點(diǎn)P1在xyz與XYZ坐標(biāo)系統(tǒng)的坐標(biāo)分別為r1與R1。定義Z(α)為繞著Z軸旋轉(zhuǎn)α角度的結(jié)果,Y(β)為繞著Y軸旋轉(zhuǎn)β角度的結(jié)果,X(γ)為繞著X軸旋轉(zhuǎn)γ角度的結(jié)果。
(7)
在本文算法中C10系統(tǒng)為ZYZ的歐拉角,所以本文表示它的姿態(tài)角為(α,β,γ),首先,坐標(biāo)系X1,Y1,Z1為默認(rèn)的工具方向。
第一步:坐標(biāo)系X1,Y1,Z1繞Z1軸旋轉(zhuǎn)角度α,旋轉(zhuǎn)方向符合右手坐標(biāo)系。旋轉(zhuǎn)后的坐標(biāo)為X2,Y2,Z2。
第二步:坐標(biāo)系X2,Y2,Z2繞Y2旋轉(zhuǎn)角度β,旋轉(zhuǎn)方向符合右手坐標(biāo)系。旋轉(zhuǎn)后的坐標(biāo)為X3,Y3,Z3。
第三步:坐標(biāo)系X3,Y3,Z3繞Z3進(jìn)行旋轉(zhuǎn),對(duì)于現(xiàn)場(chǎng)的使用不影響,所以此步驟可以取消,因此可取γ=0,如圖3所示。
圖3 繞固定載體坐標(biāo)系旋轉(zhuǎn)情形
②繞大地坐標(biāo)系旋轉(zhuǎn)
設(shè)任何一點(diǎn)P2在xyz與XYZ坐標(biāo)系統(tǒng)的坐標(biāo)分別為r2與R2。定義z(α1)為繞著z軸旋轉(zhuǎn)α1角度的變換,y(β1)為繞著y軸旋轉(zhuǎn)β1角度的變換,x(γ1)為繞著x軸旋轉(zhuǎn)γ1角度的變換。
(8)
在本文算法中繞大地坐標(biāo)旋轉(zhuǎn),同樣按照ZYZ的歐拉角進(jìn)行旋轉(zhuǎn),姿態(tài)角為(α1,β1,γ1) 。
第一步:坐標(biāo)系X1,Y1,Z1繞Z軸旋轉(zhuǎn)角度α1,此步驟對(duì)于Z2方向無變化,可取消α1=0。
圖4 繞大地坐標(biāo)系旋轉(zhuǎn)β1角
圖5 繞大地坐標(biāo)系旋轉(zhuǎn)γ1角
2.3.3ZYZ歐拉角的計(jì)算
從繞固定載體坐標(biāo)系旋轉(zhuǎn)與繞大地坐標(biāo)系旋轉(zhuǎn)兩種方式比較來看,繞大地坐標(biāo)系旋轉(zhuǎn)更便于工業(yè)中的計(jì)算和運(yùn)用。所以本文使用繞大地坐標(biāo)的方式計(jì)算歐拉角,再推算出繞固定載體坐標(biāo)系旋轉(zhuǎn)的值,這樣就能得出自定義的工具坐標(biāo)系以及工具方向。目前已知條件為已知T2的方向向量(X3,Y3,Z3),對(duì)應(yīng)圖上向量Z3,也就是Z3的坐標(biāo)。
圖6 Z1繞Y軸旋轉(zhuǎn)β1角
圖7 計(jì)算γ1角度
由計(jì)算得到的β1、γ1的值,可將默認(rèn)工具坐標(biāo)系中的工具z方向轉(zhuǎn)變?yōu)樽远x工具坐標(biāo)系的工具z方向。完成整個(gè)工具標(biāo)定后,機(jī)器人就可以手動(dòng)示教,將直桿放置到卡槽中間,接著在工具坐標(biāo)系下,點(diǎn)擊TZ繞工具z方向旋轉(zhuǎn)90°。完成整個(gè)動(dòng)作的示教。
本文通過理論模型與實(shí)物實(shí)驗(yàn)相比較來得出實(shí)驗(yàn)結(jié)果及結(jié)論。由本文提出的方法來編寫的改進(jìn)的部分標(biāo)定程序如圖8所示,通過仿真軟件來模擬機(jī)器人工具方向標(biāo)定如圖9所示。
圖8 部分示教程序 圖9 仿真軟件仿真姿態(tài)
將傳統(tǒng)方法得到的工具方向、本文方法得到的工具方向以及仿真軟件模擬仿真得到的機(jī)器人工具方向進(jìn)行對(duì)比實(shí)驗(yàn),通過實(shí)驗(yàn)效果發(fā)現(xiàn),本文方法與仿真軟件得出數(shù)值結(jié)果更加接近,明顯要比傳統(tǒng)方法更精確、更方便快捷,且受主觀外界因素的影響更小,完成效果更好。下面是實(shí)驗(yàn)中使用3種方法和兩組T0、T1坐標(biāo)值得到兩組T2的實(shí)驗(yàn)結(jié)果的對(duì)比情況(表1~表4)。
表1 T0、T1坐標(biāo)
表3和表4中的結(jié)果與表2仿真結(jié)果相比較得知,與傳統(tǒng)的標(biāo)定工具方向方法相比,本文算法得到的歐拉角度值與模擬仿真得出的理論值誤差更小,這說明在精度方面,本文算法明顯比傳統(tǒng)方法更加準(zhǔn)確。并且在實(shí)際繞桿旋轉(zhuǎn)工藝的實(shí)現(xiàn)過程中,直桿旋轉(zhuǎn)更加穩(wěn)定,實(shí)現(xiàn)過程也更加方便,不需要再通過人為經(jīng)驗(yàn)去標(biāo)定方向,算法改進(jìn)有效且實(shí)用性很強(qiáng)。
表2 仿真得到T2坐標(biāo)的結(jié)果
表3 傳統(tǒng)方法計(jì)算示教得到T2坐標(biāo)的結(jié)果
表4 本文方法計(jì)算得到T2坐標(biāo)的結(jié)果
在如今的工業(yè)領(lǐng)域中,工藝精度要求越來越高,本文就針對(duì)傳統(tǒng)標(biāo)定工具方向方法中出現(xiàn)的缺陷開展研究。為解決工藝需求,針對(duì)傳統(tǒng)方法的缺陷,提出了通過算法確定歐拉角變換來實(shí)現(xiàn)工具坐標(biāo)方向的準(zhǔn)確標(biāo)定以及繞桿旋轉(zhuǎn)工藝,從而使得標(biāo)定機(jī)器人工具方向的時(shí)候可以通過示教器算法程序來進(jìn)行工具方向的精確標(biāo)定,大大地方便了工藝流程。通過實(shí)驗(yàn)對(duì)比,本文解決了傳統(tǒng)方法所存在的精度問題,與傳統(tǒng)方法相比較,本文提出的算法在應(yīng)用中更為準(zhǔn)確,誤差更小,滿足工藝要求。