郭吉昌,朱志明,閆國瑞,馬國銳
(1.清華大學機械工程系,北京100084;2.中國工程物理研究院機械制造工藝研究所,四川綿陽621900)
基于UG的弧焊機器人離線編程系統(tǒng)開發(fā)
郭吉昌1,朱志明1,閆國瑞2,馬國銳1
(1.清華大學機械工程系,北京100084;2.中國工程物理研究院機械制造工藝研究所,四川綿陽621900)
針對KUKA KR30L16型6自由度焊接機器人,應(yīng)用UG/Open二次開發(fā)函數(shù)和C++編程語言,進行了基于UG可視化平臺的離線編程系統(tǒng)開發(fā),實現(xiàn)了焊接機器人系統(tǒng)和常用焊接工件的三維建模及組裝、運動學求解、焊接軌跡規(guī)劃、運動路徑仿真與檢測、焊接控制程序自動生成等功能。詳細探討了系統(tǒng)開發(fā)中的關(guān)鍵技術(shù)問題。仿真檢測與試驗結(jié)果表明,所開發(fā)的離線編程系統(tǒng)能夠滿足車間常用工件焊接的離線編程要求,提高了焊接生產(chǎn)效率。
弧焊機器人;KUKA KR30L16;離線編程系統(tǒng);運動學求解;軌跡規(guī)劃
工業(yè)機器人的運動控制程序主要通過在線示教和離線編程兩種方法實現(xiàn)。其中,在線示教法為大多數(shù)工業(yè)機器人所使用,但存在編程精度和生產(chǎn)效率低、CAD/CAM一體化程度不高、對示教者經(jīng)驗要求高等問題。相對于在線示教法,離線編程在提高機器人生產(chǎn)效率、復(fù)雜軌跡規(guī)劃、運動仿真和控制程序自動生成等方面具有明顯優(yōu)勢。
機器人離線編程就是借助計算機圖形學建立機器人及其環(huán)境物的模型,采用機器人語言進行編程,生成預(yù)加工運動軌跡代碼,經(jīng)過仿真和碰撞檢測,最后下載到控制器中控制實際機器人運動[1]。機器人離線編程技術(shù)的研究和應(yīng)用主要分為基于
CAD三維可視化軟件的二次開發(fā)和機器人生產(chǎn)廠家的商業(yè)化離線編程系統(tǒng)兩大類。如KUKA、FANUC、ABB等機器人生產(chǎn)廠家都成功開發(fā)了各自的離線編程系統(tǒng),但其使用成本高、只針對廠家機器人型號和編程語言、工藝過程影響因素多等問題。
機器人離線編程已成為工業(yè)機器人發(fā)展的必然趨勢[2],因此,基于三維可視化軟件二次開發(fā)的機器人離線編程系統(tǒng)成為研究和應(yīng)用的熱點,如哈爾濱工業(yè)大學基于Auto-CAD 2000平臺,使用Object ARX開發(fā)工具,成功開發(fā)了弧焊機器人離線編程系統(tǒng),目前正在開展基于SolidWorks二次開發(fā)的離線編程系統(tǒng)研究[2]。
本研究基于UG NX8.5平臺,以C++作為編程語言,利用UG/Open提供的強大函數(shù)庫和開發(fā)工具,對UG NX進行二次開發(fā),針對KUKA公司KR30L16型6自由度焊接機器人進行離線編程系統(tǒng)開發(fā)研究。
1.1 離線編程系統(tǒng)組成
離線編程系統(tǒng)由4大模塊組成,分別為三維建模模塊、焊接軌跡規(guī)劃模塊、運動仿真與檢測模塊、機器人控制程序自動生成模塊。各部分之間的邏輯關(guān)系如圖1所示。

圖1 機器人離線編程系統(tǒng)邏輯流程
1.2 離線編程系統(tǒng)工作原理
相對于其他CAD軟件,UG基于完全的實體復(fù)合建模和裝配建模技術(shù),并提供了CAD/CAE/CAM編程工具集,且其開放性的架構(gòu)為二次開發(fā)提供了強大的接口支持。因此,本研究基于UG平臺進行機器人離線編程系統(tǒng)的二次開發(fā)與實現(xiàn)。
首先,以Visual studio 2010為編程平臺,利用UG/Open中封裝的2000多個函數(shù)進行機器人系統(tǒng)和待焊工件的三維建模編程,編程完成后的文本文件在UG NX8.5中運行,得到相應(yīng)的實體模型;機器人系統(tǒng)的裝配和常用焊接件模型庫都是基于函數(shù)的編程實現(xiàn)(見圖2)。然后,根據(jù)焊接件在機器人系統(tǒng)模型中的裝配位置,確定焊縫位置坐標。根據(jù)所確定的焊縫位置信息進行運動學的正運算和逆運算,進而規(guī)劃焊接機器人的運動軌跡。最后根據(jù)所求得的軌跡規(guī)劃進行運動仿真與檢測,即將軌跡規(guī)劃得到的機器人關(guān)節(jié)運動方程設(shè)置為模型運動驅(qū)動函數(shù)。觀察仿真運動過程,若存在干涉和碰撞問題,則返回建模模塊,重新對焊接件進行裝配位置調(diào)整、運動學求解和軌跡規(guī)劃過程,直至無干涉問題。根據(jù)求得的軌跡規(guī)劃方程直接在UG中生成機器人運動控制代碼[3-4]。

圖2 基于UG/Open的機器人系統(tǒng)三維建模
需要注意的是,人機交互界面的開發(fā)貫穿離線編程系統(tǒng)開發(fā)的全過程,要易于操作者使用,且需要不斷完善和改進。同時,焊接工件在變位機上裝配時要精確按照所在建模空間的位置安裝,否則會造成焊接軌跡誤差。
建模是運動學求解的基礎(chǔ)和關(guān)鍵。6自由度焊接機器人可以看作是6連桿組合的開環(huán)機構(gòu)。運動學求解的本質(zhì)是經(jīng)過一系列的坐標變換,分別求取焊槍末端點相對于基坐標系的位置和焊縫相對于工作臺坐標系的位置,進而求得焊槍末端點相對于工作臺坐標系的位置,為此,首先要對其進行坐標
系定義。坐標系的定義不同,計算結(jié)果完全不同,甚至影響計算結(jié)果的正確性。本研究采用Craig修正D-H模型對系統(tǒng)進行運動學求解,坐標系定義如圖3所示。θ1等于零時,基坐標系0和坐標系1重合。因關(guān)節(jié)4、5和6的軸線相交于同一點,故令此3個坐標系重合[5]。

圖3 機器人操作臂D-H(Craig)模型坐標系定義
根據(jù)所定義的坐標系,機器人各軸基于Craig修正D-H模型的運動參數(shù)如表1所示。

表1 焊接機器人各軸D-H模型運動參數(shù)
對弧焊機器人進行高級編程與仿真,首先要對該機器人進行運動學分析,包括運動學正解和運動學逆解兩類基本問題[6]。不同廠家、不同型號的機器人因其結(jié)構(gòu)不同,所以運動學求解方法各不相同。下面針對KR30L16型焊接機器人進行運動學求解。
2.1 運動學正運算
對于兩個相鄰的連桿坐標系i和i-1,由矩陣連乘計算出坐標系變換的通用表達式為[4]

將表1中D-H模型參數(shù)分別帶入上式,可以得到機器人操作臂6個相鄰坐標系的變換矩陣對坐標系進行連續(xù)矩陣變換,得到機器人腕部關(guān)節(jié)相對世界坐標系(基坐標系)的變換矩陣

式(1)為機器人操作臂變換矩陣,描述了機械臂末端關(guān)節(jié)坐標系(6)相對于基坐標系(0)的位姿,該矩陣是機器人運動分析的基礎(chǔ)。將各矩陣代入式(1)進行計算,有

令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
對于6自由度機器人而言,6個關(guān)節(jié)任意轉(zhuǎn)動某一角度,將轉(zhuǎn)動角度θ1~θ6輸入式(2),即可求得焊槍末端的空間坐標,即px,py,pz。
2.2 運動學逆運算
運動學逆運算是指已知機器人末端執(zhí)行器的位姿,求解對應(yīng)的關(guān)節(jié)變量的過程。6自由度機器人前3個關(guān)節(jié)決定機器人末端位置,后3個關(guān)節(jié)決定末端執(zhí)行器姿態(tài)。
式(2)兩端同乘[01T(θ1)]-1,有

令式(3)兩邊矩陣對應(yīng)元素(2,4)相等,得

由式(4)可求出


令式(6)兩邊矩陣對應(yīng)元素(1,4)和(3,4)分別相等,有

由式(4)、式(7)的平方和得到



令式(10)中兩邊矩陣的元素(1,4)和(2,4)分別對應(yīng)相等,可解得

由此可得

令式(10)中兩邊矩陣的元素(1,3)和(3,3)分別對應(yīng)相等,可得

式(11)中兩式相除,有


令式(13)中兩邊矩陣元素(1,3)和(3,3)對應(yīng)相等,有

由此可以求得θ5


其中s6、c6分別為

由式(9)求解θ3時,正負號取值的不同,使得θ2、θ3有兩組不同的解,由于關(guān)節(jié)4可以“翻轉(zhuǎn)”,因此θ4、θ5、θ6也有另外一組解,分別為

可見,將上述各解組合后,機器人系統(tǒng)共有8組解。具體應(yīng)用中,需要根據(jù)關(guān)節(jié)的旋轉(zhuǎn)限位參數(shù)及軌跡要求等具體選擇相應(yīng)的解。
機器人軌跡規(guī)劃是指給定機械手的初始位姿以及末端目標位姿,在機械手的可達域范圍內(nèi)尋找最適于焊接工藝需要的軌跡。軌跡規(guī)劃的目的就是確定在達到最終目標以前末端執(zhí)行器的行走路徑、運動時間以及速度[7-9]。
以圖4所示的角焊縫為例。焊接機器人要完成角焊縫焊接,焊槍需先沿著軌跡1運動至A點,然后再沿著ABCD的路徑移動,在此過程中完成角焊縫的焊接,最后焊槍沿著軌跡3回到初始位置。下面分別就各段軌跡進行規(guī)劃。

圖4 弧焊機器人軌跡規(guī)劃實例
在關(guān)節(jié)空間內(nèi)對軌跡進行規(guī)劃,根據(jù)運動學建模結(jié)果可知,在初始位置時,(θ1~θ6)=(0,-90,0,0,0,0)。設(shè)A點的空間坐標為(1 700,500,1 500),B點坐標為(1 600,500,1 500),C點坐標為(1 200,500,1500),D點坐標為(1100,500,1500)。
已知焊槍末端距離坐標系6沿Z軸方向距離為540(見圖5)。定義焊槍末端焊絲上的空間坐系
7方向與坐標系6相同,則在焊接過程中,坐標系7的原點與工件上待焊點坐標重合。由坐標系平移變換得到坐標系7到坐標系6的變換矩陣為


圖5 焊槍末端空間坐標系變換示意
當焊槍在軌跡規(guī)劃中的A、B、C、D點處時,經(jīng)過坐標系變換得到坐標系6的坐標原點為

將A、B、C、D各點的坐標代入,有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點時,Px=1 700,Py=500,Pz=960。假設(shè)焊槍垂直于焊縫且與角接試板呈45°夾角。則此時,ax=0,ay=0.707,az=-0.707,nx=0,ny=0.707,nz=0.707,將Px、Py、Pz代入空間坐標系的變換矩陣06T,由上文逆運動學求解θ1~θ6過程,可獲得θ1~θ6的4組解(此處省略關(guān)節(jié)4和關(guān)節(jié)6翻轉(zhuǎn)180°后的各組解)。

考慮表1中的各軸旋轉(zhuǎn)限位,對4組解進行比較,根據(jù)轉(zhuǎn)動角度最小(運動時間最短)原則,選擇解(1)為路徑1規(guī)劃中焊槍位于A點時的各軸轉(zhuǎn)角。
為了生成速度和位移連續(xù)的平滑運動軌跡,避免單純線性插值造成的關(guān)節(jié)運動速度不連續(xù),采用三階多項式插值法進行插值計算。假設(shè)機器人手臂由O點運動到A點用時10 s,設(shè)機器人關(guān)節(jié)的運動方程為

求式(17)的一階導(dǎo)數(shù)和二階導(dǎo)數(shù),并帶入相應(yīng)的邊界條件,可以得到

式中θ0為各軸初始角度;θf為各軸運動末端轉(zhuǎn)角;tf為運動總時間。
將初始各關(guān)節(jié)角θ0=(θ1~θ6),θf和tf=10代入式(18),可以得到焊接機器人6個關(guān)節(jié)角的運動方程

使用Matlab繪制出的方程組(19)的曲線如圖6所示。同理,可求得焊接機器人完成路徑2(ABCD)的各關(guān)節(jié)運動曲線,如圖7所示。

圖6 機器人各關(guān)節(jié)運動曲線(路徑1:OA)

圖7 機器人各關(guān)節(jié)運動曲線(路徑2:ABCD)
對于路徑3,為了避免焊槍返回過程中與焊件發(fā)生干涉碰撞,設(shè)置G(900,500,1 800)點,使焊槍返回路徑必須經(jīng)過G點。因此,將路徑3分為2段分別求解,從而得到如圖8、圖9所示的機器人各關(guān)節(jié)運動規(guī)劃曲線。圖6和圖9的仿真結(jié)果顯示,在初始位置時,機器人關(guān)節(jié)2從-90°開始運動,其他5個
關(guān)節(jié)從0°開始運動,當機器人完成規(guī)劃路徑回到O點時,關(guān)節(jié)2回到-90°位置,其他關(guān)節(jié)回到0°位置。此過程驗證了軌跡規(guī)劃過程和運動學求解過程的正確性。將軌跡規(guī)劃中各軸運動方程以機器語言輸入機器人控制器,即可完成規(guī)劃的焊接任務(wù)。

圖8 機器人各關(guān)節(jié)運動曲線(路徑3:DG段)

圖9 機器人各關(guān)節(jié)運動曲線(路徑3:GO段)
基于UG 8.5平臺,使用C++編程語言,利用UG/ Open的強大函數(shù)庫和工具集,進行了二次開發(fā)。完成了針對KUKA KR30L16機器人的離線編程系統(tǒng)開發(fā),實現(xiàn)了清晰易用的交互界面開發(fā)、焊接件三維建模、運動仿真和檢測、自動軌跡規(guī)劃和控制代碼生成等主要功能;仿真和焊接試驗表明,系統(tǒng)能夠滿足常用的焊接件離線編程要求,提高了該型號焊接機器人的生產(chǎn)效率。
對離線編程過程中的部分關(guān)鍵技術(shù):運動學建模、運動學正運算和逆運算、路徑規(guī)劃、關(guān)節(jié)運動曲線仿真等問題,進行了詳細探討,為今后實現(xiàn)功能更加全面的離線編程仿真系統(tǒng)奠定基礎(chǔ)。
[1]王穎娜.面向激光加工的六軸機器人離線編程研究[D].北京:北京工業(yè)大學激光工程研究院,2003.
[2]何廣忠.機器人弧焊離線編程系統(tǒng)及其自動編程技術(shù)的研究[D].哈爾濱:哈爾濱工業(yè)大學,2006.
[3]侯永濤,丁向陽.UG/Open二次開發(fā)與實例精解[M].北京:化學工業(yè)出版社,2007.
[4]呂鵬,孟正大.弧焊機器人離線編程的實用化技術(shù)[J].華中科技大學學報(自然科學版),2008(36):273-276.
[5]Craig J J.機器人學導(dǎo)論[M].贠超譯.北京:機械工業(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]馮勝強.基于UG的弧焊機器人離線編程與統(tǒng)計方法的焊接質(zhì)量判定[D].天津:天津大學,2010.
[8]周金強.基于UG的工業(yè)機器人離線編程系統(tǒng)[D].武漢:華中科技大學,2013.
[9]唐濤宇.機器人離線編程系統(tǒng)的研究[D].哈爾濱:哈爾濱工業(yè)大學,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
獻
郭吉昌,朱志明,閆國瑞,等.基于UG的弧焊機器人離線編程系統(tǒng)開發(fā)[J].電焊機,2016,46(10):1-6.
2016-03-03;
2016-06-18
郭吉昌(1987—),男,在讀博士,主要從事焊接裝備、工藝及自動化研究。