郭吉昌,朱志明,閆國(guó)瑞,馬國(guó)銳
(1.清華大學(xué)機(jī)械工程系,北京100084;2.中國(guó)工程物理研究院機(jī)械制造工藝研究所,四川綿陽(yáng)621900)
基于UG的弧焊機(jī)器人離線編程系統(tǒng)開(kāi)發(fā)
郭吉昌1,朱志明1,閆國(guó)瑞2,馬國(guó)銳1
(1.清華大學(xué)機(jī)械工程系,北京100084;2.中國(guó)工程物理研究院機(jī)械制造工藝研究所,四川綿陽(yáng)621900)
針對(duì)KUKA KR30L16型6自由度焊接機(jī)器人,應(yīng)用UG/Open二次開(kāi)發(fā)函數(shù)和C++編程語(yǔ)言,進(jìn)行了基于UG可視化平臺(tái)的離線編程系統(tǒng)開(kāi)發(fā),實(shí)現(xiàn)了焊接機(jī)器人系統(tǒng)和常用焊接工件的三維建模及組裝、運(yùn)動(dòng)學(xué)求解、焊接軌跡規(guī)劃、運(yùn)動(dòng)路徑仿真與檢測(cè)、焊接控制程序自動(dòng)生成等功能。詳細(xì)探討了系統(tǒng)開(kāi)發(fā)中的關(guān)鍵技術(shù)問(wèn)題。仿真檢測(cè)與試驗(yàn)結(jié)果表明,所開(kāi)發(fā)的離線編程系統(tǒng)能夠滿足車(chē)間常用工件焊接的離線編程要求,提高了焊接生產(chǎn)效率。
弧焊機(jī)器人;KUKA KR30L16;離線編程系統(tǒng);運(yùn)動(dòng)學(xué)求解;軌跡規(guī)劃
工業(yè)機(jī)器人的運(yùn)動(dòng)控制程序主要通過(guò)在線示教和離線編程兩種方法實(shí)現(xiàn)。其中,在線示教法為大多數(shù)工業(yè)機(jī)器人所使用,但存在編程精度和生產(chǎn)效率低、CAD/CAM一體化程度不高、對(duì)示教者經(jīng)驗(yàn)要求高等問(wèn)題。相對(duì)于在線示教法,離線編程在提高機(jī)器人生產(chǎn)效率、復(fù)雜軌跡規(guī)劃、運(yùn)動(dòng)仿真和控制程序自動(dòng)生成等方面具有明顯優(yōu)勢(shì)。
機(jī)器人離線編程就是借助計(jì)算機(jī)圖形學(xué)建立機(jī)器人及其環(huán)境物的模型,采用機(jī)器人語(yǔ)言進(jìn)行編程,生成預(yù)加工運(yùn)動(dòng)軌跡代碼,經(jīng)過(guò)仿真和碰撞檢測(cè),最后下載到控制器中控制實(shí)際機(jī)器人運(yùn)動(dòng)[1]。機(jī)器人離線編程技術(shù)的研究和應(yīng)用主要分為基于
CAD三維可視化軟件的二次開(kāi)發(fā)和機(jī)器人生產(chǎn)廠家的商業(yè)化離線編程系統(tǒng)兩大類。如KUKA、FANUC、ABB等機(jī)器人生產(chǎn)廠家都成功開(kāi)發(fā)了各自的離線編程系統(tǒng),但其使用成本高、只針對(duì)廠家機(jī)器人型號(hào)和編程語(yǔ)言、工藝過(guò)程影響因素多等問(wèn)題。
機(jī)器人離線編程已成為工業(yè)機(jī)器人發(fā)展的必然趨勢(shì)[2],因此,基于三維可視化軟件二次開(kāi)發(fā)的機(jī)器人離線編程系統(tǒng)成為研究和應(yīng)用的熱點(diǎn),如哈爾濱工業(yè)大學(xué)基于Auto-CAD 2000平臺(tái),使用Object ARX開(kāi)發(fā)工具,成功開(kāi)發(fā)了弧焊機(jī)器人離線編程系統(tǒng),目前正在開(kāi)展基于SolidWorks二次開(kāi)發(fā)的離線編程系統(tǒng)研究[2]。
本研究基于UG NX8.5平臺(tái),以C++作為編程語(yǔ)言,利用UG/Open提供的強(qiáng)大函數(shù)庫(kù)和開(kāi)發(fā)工具,對(duì)UG NX進(jìn)行二次開(kāi)發(fā),針對(duì)KUKA公司KR30L16型6自由度焊接機(jī)器人進(jìn)行離線編程系統(tǒng)開(kāi)發(fā)研究。
1.1 離線編程系統(tǒng)組成
離線編程系統(tǒng)由4大模塊組成,分別為三維建模模塊、焊接軌跡規(guī)劃模塊、運(yùn)動(dòng)仿真與檢測(cè)模塊、機(jī)器人控制程序自動(dòng)生成模塊。各部分之間的邏輯關(guān)系如圖1所示。
圖1 機(jī)器人離線編程系統(tǒng)邏輯流程
1.2 離線編程系統(tǒng)工作原理
相對(duì)于其他CAD軟件,UG基于完全的實(shí)體復(fù)合建模和裝配建模技術(shù),并提供了CAD/CAE/CAM編程工具集,且其開(kāi)放性的架構(gòu)為二次開(kāi)發(fā)提供了強(qiáng)大的接口支持。因此,本研究基于UG平臺(tái)進(jìn)行機(jī)器人離線編程系統(tǒng)的二次開(kāi)發(fā)與實(shí)現(xiàn)。
首先,以Visual studio 2010為編程平臺(tái),利用UG/Open中封裝的2000多個(gè)函數(shù)進(jìn)行機(jī)器人系統(tǒng)和待焊工件的三維建模編程,編程完成后的文本文件在UG NX8.5中運(yùn)行,得到相應(yīng)的實(shí)體模型;機(jī)器人系統(tǒng)的裝配和常用焊接件模型庫(kù)都是基于函數(shù)的編程實(shí)現(xiàn)(見(jiàn)圖2)。然后,根據(jù)焊接件在機(jī)器人系統(tǒng)模型中的裝配位置,確定焊縫位置坐標(biāo)。根據(jù)所確定的焊縫位置信息進(jìn)行運(yùn)動(dòng)學(xué)的正運(yùn)算和逆運(yùn)算,進(jìn)而規(guī)劃焊接機(jī)器人的運(yùn)動(dòng)軌跡。最后根據(jù)所求得的軌跡規(guī)劃進(jìn)行運(yùn)動(dòng)仿真與檢測(cè),即將軌跡規(guī)劃得到的機(jī)器人關(guān)節(jié)運(yùn)動(dòng)方程設(shè)置為模型運(yùn)動(dòng)驅(qū)動(dòng)函數(shù)。觀察仿真運(yùn)動(dòng)過(guò)程,若存在干涉和碰撞問(wèn)題,則返回建模模塊,重新對(duì)焊接件進(jìn)行裝配位置調(diào)整、運(yùn)動(dòng)學(xué)求解和軌跡規(guī)劃過(guò)程,直至無(wú)干涉問(wèn)題。根據(jù)求得的軌跡規(guī)劃方程直接在UG中生成機(jī)器人運(yùn)動(dòng)控制代碼[3-4]。
圖2 基于UG/Open的機(jī)器人系統(tǒng)三維建模
需要注意的是,人機(jī)交互界面的開(kāi)發(fā)貫穿離線編程系統(tǒng)開(kāi)發(fā)的全過(guò)程,要易于操作者使用,且需要不斷完善和改進(jìn)。同時(shí),焊接工件在變位機(jī)上裝配時(shí)要精確按照所在建??臻g的位置安裝,否則會(huì)造成焊接軌跡誤差。
建模是運(yùn)動(dòng)學(xué)求解的基礎(chǔ)和關(guān)鍵。6自由度焊接機(jī)器人可以看作是6連桿組合的開(kāi)環(huán)機(jī)構(gòu)。運(yùn)動(dòng)學(xué)求解的本質(zhì)是經(jīng)過(guò)一系列的坐標(biāo)變換,分別求取焊槍末端點(diǎn)相對(duì)于基坐標(biāo)系的位置和焊縫相對(duì)于工作臺(tái)坐標(biāo)系的位置,進(jìn)而求得焊槍末端點(diǎn)相對(duì)于工作臺(tái)坐標(biāo)系的位置,為此,首先要對(duì)其進(jìn)行坐標(biāo)
系定義。坐標(biāo)系的定義不同,計(jì)算結(jié)果完全不同,甚至影響計(jì)算結(jié)果的正確性。本研究采用Craig修正D-H模型對(duì)系統(tǒng)進(jìn)行運(yùn)動(dòng)學(xué)求解,坐標(biāo)系定義如圖3所示。θ1等于零時(shí),基坐標(biāo)系0和坐標(biāo)系1重合。因關(guān)節(jié)4、5和6的軸線相交于同一點(diǎn),故令此3個(gè)坐標(biāo)系重合[5]。
圖3 機(jī)器人操作臂D-H(Craig)模型坐標(biāo)系定義
根據(jù)所定義的坐標(biāo)系,機(jī)器人各軸基于Craig修正D-H模型的運(yùn)動(dòng)參數(shù)如表1所示。
表1 焊接機(jī)器人各軸D-H模型運(yùn)動(dòng)參數(shù)
對(duì)弧焊機(jī)器人進(jìn)行高級(jí)編程與仿真,首先要對(duì)該機(jī)器人進(jìn)行運(yùn)動(dòng)學(xué)分析,包括運(yùn)動(dòng)學(xué)正解和運(yùn)動(dòng)學(xué)逆解兩類基本問(wèn)題[6]。不同廠家、不同型號(hào)的機(jī)器人因其結(jié)構(gòu)不同,所以運(yùn)動(dòng)學(xué)求解方法各不相同。下面針對(duì)KR30L16型焊接機(jī)器人進(jìn)行運(yùn)動(dòng)學(xué)求解。
2.1 運(yùn)動(dòng)學(xué)正運(yùn)算
對(duì)于兩個(gè)相鄰的連桿坐標(biāo)系i和i-1,由矩陣連乘計(jì)算出坐標(biāo)系變換的通用表達(dá)式為[4]
將表1中D-H模型參數(shù)分別帶入上式,可以得到機(jī)器人操作臂6個(gè)相鄰坐標(biāo)系的變換矩陣對(duì)坐標(biāo)系進(jìn)行連續(xù)矩陣變換,得到機(jī)器人腕部關(guān)節(jié)相對(duì)世界坐標(biāo)系(基坐標(biāo)系)的變換矩陣
式(1)為機(jī)器人操作臂變換矩陣,描述了機(jī)械臂末端關(guān)節(jié)坐標(biāo)系(6)相對(duì)于基坐標(biāo)系(0)的位姿,該矩陣是機(jī)器人運(yùn)動(dòng)分析的基礎(chǔ)。將各矩陣代入式(1)進(jìn)行計(jì)算,有
令sinθi=si,cosθi=ci,c23=cos(θ2+θ3),s23=sin(θ2+θ3),則式(2)中矩陣各元素分別為:
r11=s6[c4s1-s4c1c23]+c6{c5[s1s4+c4c1c23]-s5c1s23}
r12=c6[c4s1-s4c1c23]-s6{c5[s1s4+c4c1c23]-s5c1s23}
r13=-s5[s1s4+c4c1c23]-c5c1s23
r21=-s6[c1c4+s4s1c23]-c6{c5[c1s4-c4s1c23]+ s5s1s23}
r22=s6{c5[c1s4-c4s1c23]+s5s1s23}-c6[c1c4+ s4s1c23]
r23=s5[c1s4-c4s1c23]-c5s1s23
r31=s4s6s23-c6[s5c23+c4c5s23]
r32=s6[s5c23+c4c5s23]+c6s4s23
r33=c4s5c2s3+c3s2-c5c2c3-s2s3
px=350c1+1 200c1c2-1 277c1s23+145c1c23
py=350s1+1 200c2s1-1 277s1s23+145s1c23
pz=-1 277c23-145s23-1 200s2
對(duì)于6自由度機(jī)器人而言,6個(gè)關(guān)節(jié)任意轉(zhuǎn)動(dòng)某一角度,將轉(zhuǎn)動(dòng)角度θ1~θ6輸入式(2),即可求得焊槍末端的空間坐標(biāo),即px,py,pz。
2.2 運(yùn)動(dòng)學(xué)逆運(yùn)算
運(yùn)動(dòng)學(xué)逆運(yùn)算是指已知機(jī)器人末端執(zhí)行器的位姿,求解對(duì)應(yīng)的關(guān)節(jié)變量的過(guò)程。6自由度機(jī)器人前3個(gè)關(guān)節(jié)決定機(jī)器人末端位置,后3個(gè)關(guān)節(jié)決定末端執(zhí)行器姿態(tài)。
式(2)兩端同乘[01T(θ1)]-1,有
令式(3)兩邊矩陣對(duì)應(yīng)元素(2,4)相等,得
由式(4)可求出
令式(6)兩邊矩陣對(duì)應(yīng)元素(1,4)和(3,4)分別相等,有
由式(4)、式(7)的平方和得到
令式(10)中兩邊矩陣的元素(1,4)和(2,4)分別對(duì)應(yīng)相等,可解得
由此可得
令式(10)中兩邊矩陣的元素(1,3)和(3,3)分別對(duì)應(yīng)相等,可得
式(11)中兩式相除,有
令式(13)中兩邊矩陣元素(1,3)和(3,3)對(duì)應(yīng)相等,有
由此可以求得θ5
其中s6、c6分別為
由式(9)求解θ3時(shí),正負(fù)號(hào)取值的不同,使得θ2、θ3有兩組不同的解,由于關(guān)節(jié)4可以“翻轉(zhuǎn)”,因此θ4、θ5、θ6也有另外一組解,分別為
可見(jiàn),將上述各解組合后,機(jī)器人系統(tǒng)共有8組解。具體應(yīng)用中,需要根據(jù)關(guān)節(jié)的旋轉(zhuǎn)限位參數(shù)及軌跡要求等具體選擇相應(yīng)的解。
機(jī)器人軌跡規(guī)劃是指給定機(jī)械手的初始位姿以及末端目標(biāo)位姿,在機(jī)械手的可達(dá)域范圍內(nèi)尋找最適于焊接工藝需要的軌跡。軌跡規(guī)劃的目的就是確定在達(dá)到最終目標(biāo)以前末端執(zhí)行器的行走路徑、運(yùn)動(dòng)時(shí)間以及速度[7-9]。
以圖4所示的角焊縫為例。焊接機(jī)器人要完成角焊縫焊接,焊槍需先沿著軌跡1運(yùn)動(dòng)至A點(diǎn),然后再沿著ABCD的路徑移動(dòng),在此過(guò)程中完成角焊縫的焊接,最后焊槍沿著軌跡3回到初始位置。下面分別就各段軌跡進(jìn)行規(guī)劃。
圖4 弧焊機(jī)器人軌跡規(guī)劃實(shí)例
在關(guān)節(jié)空間內(nèi)對(duì)軌跡進(jìn)行規(guī)劃,根據(jù)運(yùn)動(dòng)學(xué)建模結(jié)果可知,在初始位置時(shí),(θ1~θ6)=(0,-90,0,0,0,0)。設(shè)A點(diǎn)的空間坐標(biāo)為(1 700,500,1 500),B點(diǎn)坐標(biāo)為(1 600,500,1 500),C點(diǎn)坐標(biāo)為(1 200,500,1500),D點(diǎn)坐標(biāo)為(1100,500,1500)。
已知焊槍末端距離坐標(biāo)系6沿Z軸方向距離為540(見(jiàn)圖5)。定義焊槍末端焊絲上的空間坐系
7方向與坐標(biāo)系6相同,則在焊接過(guò)程中,坐標(biāo)系7的原點(diǎn)與工件上待焊點(diǎn)坐標(biāo)重合。由坐標(biāo)系平移變換得到坐標(biāo)系7到坐標(biāo)系6的變換矩陣為
圖5 焊槍末端空間坐標(biāo)系變換示意
當(dāng)焊槍在軌跡規(guī)劃中的A、B、C、D點(diǎn)處時(shí),經(jīng)過(guò)坐標(biāo)系變換得到坐標(biāo)系6的坐標(biāo)原點(diǎn)為
將A、B、C、D各點(diǎn)的坐標(biāo)代入,有P6A=(1 700,500,960,1)T,P6B=(1 600,500,960,1)T,P6C=(1 200,500,960,1)T,P6D=(1 100,500,960,1)T。
即在A點(diǎn)時(shí),Px=1 700,Py=500,Pz=960。假設(shè)焊槍垂直于焊縫且與角接試板呈45°夾角。則此時(shí),ax=0,ay=0.707,az=-0.707,nx=0,ny=0.707,nz=0.707,將Px、Py、Pz代入空間坐標(biāo)系的變換矩陣06T,由上文逆運(yùn)動(dòng)學(xué)求解θ1~θ6過(guò)程,可獲得θ1~θ6的4組解(此處省略關(guān)節(jié)4和關(guān)節(jié)6翻轉(zhuǎn)180°后的各組解)。
考慮表1中的各軸旋轉(zhuǎn)限位,對(duì)4組解進(jìn)行比較,根據(jù)轉(zhuǎn)動(dòng)角度最小(運(yùn)動(dòng)時(shí)間最短)原則,選擇解(1)為路徑1規(guī)劃中焊槍位于A點(diǎn)時(shí)的各軸轉(zhuǎn)角。
為了生成速度和位移連續(xù)的平滑運(yùn)動(dòng)軌跡,避免單純線性插值造成的關(guān)節(jié)運(yùn)動(dòng)速度不連續(xù),采用三階多項(xiàng)式插值法進(jìn)行插值計(jì)算。假設(shè)機(jī)器人手臂由O點(diǎn)運(yùn)動(dòng)到A點(diǎn)用時(shí)10 s,設(shè)機(jī)器人關(guān)節(jié)的運(yùn)動(dòng)方程為
求式(17)的一階導(dǎo)數(shù)和二階導(dǎo)數(shù),并帶入相應(yīng)的邊界條件,可以得到
式中θ0為各軸初始角度;θf(wàn)為各軸運(yùn)動(dòng)末端轉(zhuǎn)角;tf為運(yùn)動(dòng)總時(shí)間。
將初始各關(guān)節(jié)角θ0=(θ1~θ6),θf(wàn)和tf=10代入式(18),可以得到焊接機(jī)器人6個(gè)關(guān)節(jié)角的運(yùn)動(dòng)方程
使用Matlab繪制出的方程組(19)的曲線如圖6所示。同理,可求得焊接機(jī)器人完成路徑2(ABCD)的各關(guān)節(jié)運(yùn)動(dòng)曲線,如圖7所示。
圖6 機(jī)器人各關(guān)節(jié)運(yùn)動(dòng)曲線(路徑1:OA)
圖7 機(jī)器人各關(guān)節(jié)運(yùn)動(dòng)曲線(路徑2:ABCD)
對(duì)于路徑3,為了避免焊槍返回過(guò)程中與焊件發(fā)生干涉碰撞,設(shè)置G(900,500,1 800)點(diǎn),使焊槍返回路徑必須經(jīng)過(guò)G點(diǎn)。因此,將路徑3分為2段分別求解,從而得到如圖8、圖9所示的機(jī)器人各關(guān)節(jié)運(yùn)動(dòng)規(guī)劃曲線。圖6和圖9的仿真結(jié)果顯示,在初始位置時(shí),機(jī)器人關(guān)節(jié)2從-90°開(kāi)始運(yùn)動(dòng),其他5個(gè)
關(guān)節(jié)從0°開(kāi)始運(yùn)動(dòng),當(dāng)機(jī)器人完成規(guī)劃路徑回到O點(diǎn)時(shí),關(guān)節(jié)2回到-90°位置,其他關(guān)節(jié)回到0°位置。此過(guò)程驗(yàn)證了軌跡規(guī)劃過(guò)程和運(yùn)動(dòng)學(xué)求解過(guò)程的正確性。將軌跡規(guī)劃中各軸運(yùn)動(dòng)方程以機(jī)器語(yǔ)言輸入機(jī)器人控制器,即可完成規(guī)劃的焊接任務(wù)。
圖8 機(jī)器人各關(guān)節(jié)運(yùn)動(dòng)曲線(路徑3:DG段)
圖9 機(jī)器人各關(guān)節(jié)運(yùn)動(dòng)曲線(路徑3:GO段)
基于UG 8.5平臺(tái),使用C++編程語(yǔ)言,利用UG/ Open的強(qiáng)大函數(shù)庫(kù)和工具集,進(jìn)行了二次開(kāi)發(fā)。完成了針對(duì)KUKA KR30L16機(jī)器人的離線編程系統(tǒng)開(kāi)發(fā),實(shí)現(xiàn)了清晰易用的交互界面開(kāi)發(fā)、焊接件三維建模、運(yùn)動(dòng)仿真和檢測(cè)、自動(dòng)軌跡規(guī)劃和控制代碼生成等主要功能;仿真和焊接試驗(yàn)表明,系統(tǒng)能夠滿足常用的焊接件離線編程要求,提高了該型號(hào)焊接機(jī)器人的生產(chǎn)效率。
對(duì)離線編程過(guò)程中的部分關(guān)鍵技術(shù):運(yùn)動(dòng)學(xué)建模、運(yùn)動(dòng)學(xué)正運(yùn)算和逆運(yùn)算、路徑規(guī)劃、關(guān)節(jié)運(yùn)動(dòng)曲線仿真等問(wèn)題,進(jìn)行了詳細(xì)探討,為今后實(shí)現(xiàn)功能更加全面的離線編程仿真系統(tǒng)奠定基礎(chǔ)。
[1]王穎娜.面向激光加工的六軸機(jī)器人離線編程研究[D].北京:北京工業(yè)大學(xué)激光工程研究院,2003.
[2]何廣忠.機(jī)器人弧焊離線編程系統(tǒng)及其自動(dòng)編程技術(shù)的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2006.
[3]侯永濤,丁向陽(yáng).UG/Open二次開(kāi)發(fā)與實(shí)例精解[M].北京:化學(xué)工業(yè)出版社,2007.
[4]呂鵬,孟正大.弧焊機(jī)器人離線編程的實(shí)用化技術(shù)[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2008(36):273-276.
[5]Craig J J.機(jī)器人學(xué)導(dǎo)論[M].贠超譯.北京:機(jī)械工業(yè)出版社,2006.
[6]Manocha D,Canny J F.Efficient Inverse Kinematics for General 6R Manipulators[J].IEEE Transactions on Robotics and Automation,1994,10(5):648-657.
[7]馮勝?gòu)?qiáng).基于UG的弧焊機(jī)器人離線編程與統(tǒng)計(jì)方法的焊接質(zhì)量判定[D].天津:天津大學(xué),2010.
[8]周金強(qiáng).基于UG的工業(yè)機(jī)器人離線編程系統(tǒng)[D].武漢:華中科技大學(xué),2013.
[9]唐濤宇.機(jī)器人離線編程系統(tǒng)的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.
Development of off-line programming system for arc welding robot based on UG
GUO Jichang1,ZHU Zhiming1,YAN Guorui2,MA Guorui1
(1.Department of Mechanical Engineering,Tsinghua University,Beijing 100084,China;2.Institute of Machinery Manufacturing Technology,China Academy of Engineering Physics,Mianyang 621900,China)
By using UG/Open second development functions and Visual C++,an off-line programming system was developed based on UG visual platform for KUKA KR30L16 welding robot with 6 freedoms.The developed system has the functions such as 3D modeling of robotic system and workpieces to be joined,kinematics solution,welding path planning,motion simulation and testing,control program auto-generation,and so on.And the key technical problems in the developing process of an off-line programming system are discussed in detail.The simulation testing and experimental results show that the developed system can satisfy the off-line programming requirement of common workpieces to be joined in workshop.
arc welding robot;KUKA KR30L16;off-line programming system;kinematics solution;path planning
TP242
A
1001-2303(2016)10-0001-06
10.7512/j.issn.1001-2303.2016.10.01
獻(xiàn)
郭吉昌,朱志明,閆國(guó)瑞,等.基于UG的弧焊機(jī)器人離線編程系統(tǒng)開(kāi)發(fā)[J].電焊機(jī),2016,46(10):1-6.
2016-03-03;
2016-06-18
郭吉昌(1987—),男,在讀博士,主要從事焊接裝備、工藝及自動(dòng)化研究。