何佳斌 吳志生 李樂(lè)樂(lè)
(太原科技大學(xué)焊接技術(shù)研究所,太原,030024)
馬鞍型空間曲線是一種典型的、復(fù)雜的空間曲線,在焊接馬鞍型焊縫的實(shí)際生產(chǎn)中,焊槍沿著焊縫的位置移動(dòng)也伴隨著姿態(tài)變化,其位姿變化軌跡較復(fù)雜。本文針對(duì)Motoman-UP6 型弧焊機(jī)器人實(shí)現(xiàn)焊接馬鞍型焊縫的軌跡運(yùn)動(dòng)仿真,這對(duì)研究機(jī)器人自動(dòng)化焊接空間曲線焊縫起指導(dǎo)作用[1]。
Motoman-UP6 型弧焊機(jī)器人是典型的三維開(kāi)環(huán)鏈?zhǔn)綑C(jī)構(gòu)的工業(yè)機(jī)器人,具有六個(gè)串聯(lián)轉(zhuǎn)動(dòng)關(guān)節(jié)軸,如圖1 所示,分別為S 軸、L 軸、U 軸、R 軸、B 軸和T 軸,并且在其工作空間內(nèi),可以實(shí)現(xiàn)工具末端點(diǎn)(TCP)的任意空間位置與姿態(tài)。
圖1 Motoman-Up6 弧焊機(jī)器人
在對(duì)機(jī)器人實(shí)體三維建模時(shí),可以簡(jiǎn)化機(jī)器人模型中對(duì)運(yùn)動(dòng)仿真不影響的細(xì)節(jié)部分,只要保證機(jī)器人模型的外部輪廓以及關(guān)節(jié)位置和機(jī)器人實(shí)體一致,其運(yùn)動(dòng)學(xué)仿真結(jié)果與實(shí)際運(yùn)動(dòng)學(xué)結(jié)果就是等價(jià)的。
通過(guò)以上思想,這里對(duì)機(jī)器人模型進(jìn)行合理的簡(jiǎn)化,減少模型的零件數(shù),利用三維建模軟件Solidworks 建立整個(gè)機(jī)器人各構(gòu)件的實(shí)體模型,包括基座、轉(zhuǎn)臺(tái)、大臂、拐桿、小臂、末端和焊槍。然后,通過(guò)各構(gòu)件之間轉(zhuǎn)動(dòng)關(guān)節(jié)的約束定義,得到UP6 型弧焊機(jī)器人裝配體模型如圖2 所示,弧焊機(jī)器人結(jié)構(gòu)尺寸如圖3 所示。
圖2 UP6 弧焊機(jī)器人裝配體模型
圖3 UP6 弧焊機(jī)器人結(jié)構(gòu)尺寸
在機(jī)器人運(yùn)動(dòng)學(xué)中,機(jī)械臂可以看成是由一系列連桿通過(guò)關(guān)節(jié)連接而成的一個(gè)運(yùn)動(dòng)鏈,需要通過(guò)定義某些參數(shù)來(lái)具體描述這個(gè)運(yùn)動(dòng)鏈。采用修正后的Denait-Hartenberg(D-H)理論[2],本文將軸S、軸L、軸U、軸R、軸B和T 軸(如圖1 中所示)分別標(biāo)記為軸1-軸6,并且將基座、轉(zhuǎn)臺(tái)、大臂、拐桿、小臂、腕部和焊槍?zhuān)ㄈ鐖D2 中所示)分別標(biāo)記為連桿0-連桿6。
用連桿長(zhǎng)度 ai?1(關(guān)節(jié)軸i -1和關(guān)節(jié)軸i 之間公垂線的長(zhǎng)度,由關(guān)節(jié)軸i -1指向關(guān)節(jié)軸i)和連桿轉(zhuǎn)角 (按右手定則繞 ai?1從關(guān)節(jié)軸i -1到關(guān)節(jié)軸i 的角度)作為描述連桿i -1的參數(shù),
節(jié)軸i 同向)關(guān)節(jié)角度θi(按右手定則繞關(guān)節(jié)軸i 從α i?1
用連桿偏距 di(αi?1和 αi之間公垂線的距離,與關(guān)
到 αi的角度)作為描述關(guān)節(jié)軸i 的參數(shù),其中對(duì)于運(yùn)動(dòng)
鏈的末端連桿, ai?1和αi?1習(xí)慣設(shè)置為0,即 a0=a6= 0,α0=α6= 0。在這里提出了D-H 參數(shù)的方向性,其主要是為了后面建立連桿坐標(biāo)系提供方便,并能夠直接引入
表1 Motoman-UP6 機(jī)器人的D-H 參數(shù)表
機(jī)械臂相鄰連桿之間的空間關(guān)系是通過(guò)固接的連桿坐標(biāo)系之間的空間關(guān)系來(lái)描述,首先需要在每個(gè)連桿上定義一個(gè)固接的連桿坐標(biāo)系,其建立規(guī)則如下[2]:
1)坐標(biāo)系{i}的iZ 軸沿關(guān)節(jié)軸i 由公垂線 1ia?指向公垂線ia (當(dāng)id =0 時(shí),iZ 垂直于 1ia?和ia 所在的平面);
2)坐標(biāo)系{i}的 iX 軸沿公垂線ia 由關(guān)節(jié)軸i 指向關(guān)節(jié)軸 1i+ (當(dāng) ia =0 時(shí),iX 垂直于iZ 和 1iZ+所在的平面);
3)坐標(biāo)系{i}的原點(diǎn)位于公垂線 ia 與關(guān)節(jié)軸i 的交點(diǎn)處,坐標(biāo)系{i}的iY 軸可由其他兩個(gè)按右手定則得到。
圖4 所示為UP6 機(jī)器人各連桿坐標(biāo)系,連桿坐標(biāo)系{0}-連桿坐標(biāo)系{6}依次固接在機(jī)器人基座、轉(zhuǎn)臺(tái)、大臂、拐桿、小臂、腕部上,圖中X0方向與Z0方向構(gòu)成了坐標(biāo)系{0},其中Y0方向按右手定則得到,后面連桿坐標(biāo)系同理。固連在基座上的連桿坐標(biāo)系為{0},它是一個(gè)固定不動(dòng)的坐標(biāo)系,為了簡(jiǎn)便,通常設(shè)定當(dāng)1θ =0°時(shí),坐標(biāo)系{0}與坐標(biāo)系{1}重合,同理,固連在機(jī)器人腕部的連桿坐標(biāo)系為{6},取 =0°時(shí),連桿坐標(biāo)系{5}的X5軸與連桿坐標(biāo)系{6}的X6軸重合。
圖4 UP6 機(jī)器人連桿坐標(biāo)系
利用以上的四個(gè)D-H 參數(shù),關(guān)節(jié)角度iθ 、連桿偏距連桿轉(zhuǎn)角 ai?1和連桿長(zhǎng)度 構(gòu)建出連桿坐標(biāo)系{i}相對(duì)于連桿坐標(biāo)系{i-1}的變換矩陣[2]:
式(1)中 icθ 表示的是cosiθ ,isθ 表示的是siniθ下式同;
故由上面的機(jī)器人D-H 參數(shù)可以得到各個(gè)相鄰連桿坐標(biāo)系之間的變換矩陣,如下式(2)-式(7)所示。
所以,可以得到連桿坐標(biāo)系{6}相對(duì)于連桿坐標(biāo)系{0}的變換矩陣為:
06T 是
關(guān)于6 個(gè)關(guān)節(jié)軸角的函數(shù),可以根據(jù)各關(guān)節(jié)角度θi計(jì)算出固接在腕部的連桿坐標(biāo)系{6}相對(duì)于固接在基座的連桿坐標(biāo)系{0}的位置和姿態(tài)。
本文中焊接工件為兩個(gè)垂直相交的的圓管,其半徑分別為100mm(r)和200mm(R),如圖5 所示。焊縫坐標(biāo)系(表示為坐標(biāo)系{Hi},0 ≤i ≤n,n 為空間曲線離散點(diǎn)個(gè)數(shù))是用來(lái)描述空間曲線焊縫的。坐標(biāo)系{Hi}的坐標(biāo)原點(diǎn)和基軸軸向分別表示的是焊槍末端沿著焊縫運(yùn)動(dòng)在i 時(shí)刻的位置及姿態(tài),X 軸表示焊縫曲線的切線方向,也即焊槍的前進(jìn)方向,Z 軸表示焊縫曲線的法線方向,也即焊槍的軸向。圖中坐標(biāo)系{G}表示的是工件中心坐標(biāo)系。
圖5 焊縫坐標(biāo)系
在工件中心坐標(biāo)系{G}中,建立空間曲線方程為:
利用Matlab 將該焊縫軌跡的數(shù)學(xué)模型提取出來(lái),并將其軌跡曲線均勻離散化處理后,計(jì)算出每個(gè)離散點(diǎn)的位置及姿態(tài),即構(gòu)成焊縫坐標(biāo)系。
焊縫坐標(biāo)系{Hi}相對(duì)于工件中心坐標(biāo)系{G}位姿矩陣可表示為[3]:
各離散點(diǎn)的位置計(jì)算,也即焊縫坐標(biāo)系{Hi}原點(diǎn)位置計(jì)算。
在Matlab 中繪制該馬鞍型焊縫軌跡線,得到如圖6所示馬鞍型焊縫方向矢量中的黑色曲線。
各離散點(diǎn)的姿態(tài)計(jì)算,也即焊縫坐標(biāo)系{Hi}基軸軸向計(jì)算。
方向向量 ∶焊槍前進(jìn)方向,為空間焊縫曲線的切線方向,即圖6 中藍(lán)色箭頭線所示;
方向向量 ∶焊槍軸線方向,為焊縫曲線法平面與兩個(gè)圓管曲面所成曲線的切線夾角的平分線方向,如圖6 所示,黃顏色箭頭線為曲線法平面與圓管R 所成曲線的切線方向,粉紅色箭頭線為曲線法平面與圓管r 所成曲線的切線方向。
在Matlab 中執(zhí)行以上運(yùn)算過(guò)程的編程,得到其焊縫坐標(biāo)系{Hi}(0 ≤i ≤100)如圖7 馬鞍型焊縫坐標(biāo)系。
圖6 馬鞍型焊縫方向矢量
圖7 馬鞍 型 焊 縫 坐 標(biāo)系
機(jī)器人逆運(yùn)動(dòng)學(xué)是在已知工具坐標(biāo)系相對(duì)于基坐標(biāo)系的期望位置與姿態(tài),計(jì)算一系列滿足期望要求的關(guān)節(jié)角度。只要通過(guò)運(yùn)動(dòng)學(xué)方程推導(dǎo)出腕部連桿坐標(biāo)系{6}相對(duì)于基座連桿坐標(biāo)系{0}的變換矩陣06T,即可利用Matlab中的Robotic toolbox 求解出機(jī)器人各關(guān)節(jié)角。
由于在當(dāng)工具末端處于目標(biāo)位姿時(shí),工具末端坐標(biāo)系{7}與焊縫坐標(biāo)系{Hi}將重合,如圖8 所示為弧焊機(jī)器人系統(tǒng)坐標(biāo)系轉(zhuǎn)換,圖中坐標(biāo)系{S}為工作臺(tái)坐標(biāo)系,其相對(duì)于基座坐標(biāo)系{0}固定不動(dòng)。從而構(gòu)建機(jī)器人運(yùn)動(dòng)學(xué)方程如式(10)所示,等式左邊為工具末端的連桿坐標(biāo)系{7}相對(duì)于基座坐標(biāo)系{0}的變換矩陣,等式右邊為焊縫坐標(biāo)系{Hi}相對(duì)于基座坐標(biāo)系{0}的變換矩陣。
圖8 弧焊機(jī)器人系統(tǒng)坐標(biāo)系轉(zhuǎn)換
所以得到:
式中 T06表示機(jī)器人腕部坐標(biāo)系{6}相對(duì)于基座坐標(biāo)系{0}的轉(zhuǎn)換矩陣;
T67表示工具末端坐標(biāo)系{7}相對(duì)于機(jī)器人腕部坐標(biāo)系{6}的轉(zhuǎn)換矩陣;
TS0表示工作臺(tái)坐標(biāo)系{S}相對(duì)于基座坐標(biāo)系{0}的轉(zhuǎn)換矩陣;
TGS表示工件坐標(biāo)系{G}相對(duì)于工作臺(tái)坐標(biāo)系{S}的轉(zhuǎn)換矩陣;
THGi
表示焊縫坐標(biāo)系{Hi}相對(duì)于工件坐標(biāo)系{G}的轉(zhuǎn)換矩陣。
經(jīng)過(guò)轉(zhuǎn)換,得到:
由于工作臺(tái)坐標(biāo)系{S}相對(duì)于基座坐標(biāo)系{0}的位姿是固定不變的,所以0ST為已知矩陣,同理SGT 和67T也是已知的。本文在計(jì)算中有:
利用Matlab 中的Robotics Toolbox 建立UP6 機(jī)器人數(shù)學(xué)模型,并求其對(duì)應(yīng)位姿逆解[4],在逆解之前可以通過(guò)驗(yàn)證:
時(shí),得到其軸坐標(biāo)分別為[0 –pi/2 0 0 pi/2 0]和[0.35 -1.22 0.52 0.70 -3.84 1.05],并得到機(jī)器人各軸位姿圖形[5]如圖9、圖10 所示,可以看到其逆解可靠。
建立機(jī)器人模型及其求逆程序如下:
L1=link([0 0 0 0],'modified');
L2=link([-pi/2 150 -pi/2 0],'modified');
L3=link([pi 570 0 0],'modified');
L4=link([-pi/2 130 0 -640],'modified');
L5=link([pi/2 0 pi/2 0],'modified');
L6=link([pi/2 0 0 0],'modified');
r=robot({L1 L2 L3 L4 L5 L6});
r.name='Motoman-UP6';
T=0sT*sgT*ghT*(67T)^-1;
q=ikine(r,T,[0 pi/2 0 0 -pi/2 0]);
圖9 Matlab 機(jī)器人逆解1
圖10 Matlab 機(jī)器人逆解2
利用Solidworks 中的Motion 插件進(jìn)行機(jī)器人運(yùn)動(dòng)仿真實(shí)驗(yàn), 將Matlab 中所得各關(guān)節(jié)坐標(biāo)輸入到Solidworks 建立的機(jī)器人模型6 個(gè)關(guān)節(jié)中,關(guān)節(jié)坐標(biāo)通過(guò)樣條曲線插值擬合,使關(guān)節(jié)運(yùn)動(dòng)平穩(wěn)。如圖11 所示為5s 內(nèi)機(jī)器人關(guān)節(jié)軸角隨時(shí)間變化散點(diǎn)圖,圖中每個(gè)星點(diǎn)、散點(diǎn)表示的是該時(shí)刻對(duì)應(yīng)的各關(guān)節(jié)軸角值。關(guān)節(jié)角1-5 的散點(diǎn)在整個(gè)仿真時(shí)間內(nèi)均呈現(xiàn)周期性的弦曲線分布,且周期均為5s,在結(jié)束時(shí)刻各軸回到初始角度,整體來(lái)看軸角散點(diǎn)在曲線的極點(diǎn)時(shí)刻都分布較密集,而在曲線極點(diǎn)的過(guò)渡時(shí)刻分布較稀疏。關(guān)節(jié)角6 的散點(diǎn)從0°-360°以2.5s 為周期呈現(xiàn)規(guī)律性波動(dòng)上升,散點(diǎn)分布均勻。
圖11 機(jī)器人軸坐標(biāo)隨時(shí)間變化曲線
如圖12 所示為弧焊機(jī)器人焊接馬鞍型焊縫仿真過(guò)程幀圖,在整個(gè)仿真過(guò)程中焊槍末端點(diǎn)(焊絲端點(diǎn))始終與焊縫軌跡點(diǎn)保持協(xié)調(diào)吻合,焊槍的軸線方向(焊槍坐標(biāo)系{7}的Z 軸方向)始終沿焊縫軌跡點(diǎn)的Z 軸方向,焊槍的前進(jìn)方向(焊槍坐標(biāo)系{7}的X 軸方向)也始終沿焊縫軌跡點(diǎn)的X 軸方向。
圖14 焊槍末端仿真過(guò)程線性速度變化曲線
圖15 焊槍末端仿真過(guò)程線性加速度變化曲線
圖12 弧焊機(jī)器人焊接馬鞍型焊縫仿真幀圖
如圖13-圖15 所示焊槍末端仿真過(guò)程中的位移、速度及加速度隨時(shí)間變化曲線,其變化也均呈周期性。
圖13 焊槍末端仿真過(guò)程線性位移變化曲線
1)為了實(shí)現(xiàn)模型關(guān)節(jié)角度方向與實(shí)體關(guān)節(jié)角度方向相一致,連桿坐標(biāo)系Z 軸方向須按照右手定則確定,這對(duì)于運(yùn)動(dòng)仿真的真實(shí)性非常重要。引用修改后的D-H 參數(shù)法,并提出了D-H 參數(shù)的方向性,這對(duì)于后面建立連桿坐標(biāo)系十分方便,在建立運(yùn)動(dòng)學(xué)方程時(shí)可以直接引用John. J. Craig 提出的連桿變換矩陣 。
2)機(jī)器人Motion 運(yùn)動(dòng)仿真軌跡跟數(shù)學(xué)模型一致,證明所建的運(yùn)動(dòng)學(xué)方程與焊縫坐標(biāo)系正確,并通過(guò)數(shù)據(jù)點(diǎn)間的樣條曲線插值擬合,完成了數(shù)據(jù)點(diǎn)間的平穩(wěn)過(guò)渡,所得軌跡圓滑無(wú)棱角,聯(lián)合Matlab 的Robotic toolbox 逆解計(jì)算以及Solidworks 的三維仿真,完成了機(jī)器人從運(yùn)動(dòng)控制到模型運(yùn)動(dòng)的整個(gè)過(guò)程,這對(duì)后期實(shí)現(xiàn)離線編程與仿真有重要作用。
[1] 陳光偉.導(dǎo)管架焊接接頭空間軌跡規(guī)劃研究[D].天津:天津工業(yè)大學(xué),2010.
[2] Craig J J.機(jī)械人學(xué)導(dǎo)論[M].北京∶機(jī)械工業(yè)出版社,2006.
[3] 劉永,王克鴻,杜姍姍,等.弧焊機(jī)器人空間焊縫焊接參數(shù)與姿態(tài)規(guī)劃研究[J].南京理工大學(xué)學(xué)報(bào),2003,27(2)∶144-147.
[4] 任福深,陳樹(shù)君,殷樹(shù)言,等.管道插接焊縫位置及焊槍位姿建模[J].焊接學(xué)報(bào),2008,29(11)∶33-36.
[5] 左富勇,胡小平,謝珂,等.基于Matlab Robotics 工具箱的SCARA 機(jī)器人軌跡規(guī)劃與仿真[J].湖南科技大學(xué)學(xué)報(bào),2012,27(2)∶41-44.
[6] Corke P I.A Robotics Toolbox for Matlab[J].IEEE Transactions on Robotics and Automation,1996(1)∶24-32.?