本發(fā)明涉及一種基于數(shù)控刀位文件的機器人末端軌跡規(guī)劃方法,尤其針對機器人軌跡規(guī)劃中末端執(zhí)行器空間位置和姿態(tài)的準(zhǔn)確控制。
技術(shù)背景
工業(yè)機器人作為現(xiàn)代智能制造業(yè)的重要裝備,其技術(shù)水平代表了一個國家制造業(yè)的發(fā)展水平。雖然利用刀位文件在五軸機床實現(xiàn)零件的加工已得到廣泛應(yīng)用,但對于工業(yè)機器人來說還相對滯后,國內(nèi)的研究水平與國外還有較大差距,而傳統(tǒng)示教方法無法對機器人末端執(zhí)行器姿態(tài)進(jìn)行準(zhǔn)確控制,這就加大了空間曲面加工中機器人末端姿態(tài)控制的難度。一般來說機器人不接受基于CAM軟件的刀位文件,要想實現(xiàn)工業(yè)機器人的加工,必須要尋求一種從刀位文件到機器人軌跡規(guī)劃的轉(zhuǎn)換方式,來提高機器人軌跡規(guī)劃效率,擴大機器人應(yīng)用領(lǐng)域。
對基于數(shù)控刀位文件的機器人末端軌跡規(guī)劃方法,文獻(xiàn)《基于CAM的機器人拋光軌跡規(guī)劃》(韓光超,孫明,張海鷗,等. 基于CAM的機器人拋光軌跡規(guī)劃[J].華中科技大學(xué)學(xué)報(自然科學(xué)版),2008,36(5):60-62.)利用UG CAM軟件中的多軸銑加工功能模塊獲得型腔表面信息,然后采用輔助區(qū)域驅(qū)動法在復(fù)雜型腔表面映射生成連續(xù)的多軸數(shù)控加工軌跡,然后根據(jù)拋光工藝要求調(diào)節(jié)工藝參數(shù),并將多軸數(shù)控加工軌跡轉(zhuǎn)化成機器人拋光軌跡。該方法最大的限制在于所加工曲面的CAD模型必須按行和列有序地排列,相鄰曲面必須共享同一條邊緣,不利于普遍應(yīng)用。文獻(xiàn)《數(shù)控加工機器人后置處理的研究及軟件實現(xiàn)》(陳勝奮,謝明紅. 數(shù)控加工機器人后置處理的研究及軟件實現(xiàn)[J].機床與液壓,2015,43(3):29-33.)以pro/E軟件生成的刀位文件,提取其刀位信息,通過坐標(biāo)系的轉(zhuǎn)換推導(dǎo)出機器人坐標(biāo)系下的末端位置,在機器人末端執(zhí)行器空間姿態(tài)上,固定第六軸的轉(zhuǎn)動,利用G代碼中的偏轉(zhuǎn)角來確定機器人末端執(zhí)行器的空間姿態(tài)并去除冗余自由度,該方法將五軸數(shù)控加工的刀位文件和G代碼結(jié)合來實現(xiàn)機器人末端執(zhí)行器空間位姿的確定,利用數(shù)控刀位文件對無法同時對機器人末端執(zhí)行器位置和姿態(tài)的控制,與本發(fā)明所述用數(shù)控刀位文件一次性得到機器人末端執(zhí)行器位置和姿態(tài)相比轉(zhuǎn)換過程較為繁瑣,編程也不易實現(xiàn)。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的不足,本發(fā)明提供一種基于數(shù)控刀位文件的機器人末端軌跡規(guī)劃方法,該方法可實現(xiàn)由數(shù)控刀位文件同時對機器人末端執(zhí)行器位置和姿態(tài)進(jìn)行準(zhǔn)確控制。
為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:一種基于數(shù)控刀位文件的機器人末端軌跡規(guī)劃方法,包括以下步驟:
步驟1)機器人基坐標(biāo)系下末端執(zhí)行器位姿的計算;
步驟2)根據(jù)機器人結(jié)構(gòu)參數(shù)對其逆運動學(xué)分析,建立逆運動學(xué)模型;
步驟3)基于逆運動學(xué)模型計算關(guān)節(jié)角;
步驟4)利用關(guān)節(jié)角輸出機器人末端軌跡。
所述步驟1中,機器人基坐標(biāo)系下末端執(zhí)行器位姿的計算,包括以下步驟:
1)提取數(shù)控加工刀位文件信息,利用刀位文件中同一條加工軌跡上相鄰兩個坐標(biāo)點,計算機器人在工件坐標(biāo)系下的末端執(zhí)行器位姿A;
提取基于UG的數(shù)控刀位文件,其格式為GOTO//xr,yr,zr,ir,jr,kr,根據(jù)刀位文件信息中的空間位置在x方向分量xr、y方向分量yr、z方向分量zr,空間姿態(tài)在x方向分量ir、y方向分量jr、z方向分量kr,可直接得到刀軸向量N和末端位置向量P:
N=(nx,ny,nz)=(ir, jr,kr) (1)
P=(lx,ly,lz)=(xr,yr,zr) (2)
其中,(nx,ny,nz)分別是刀軸向量N在x、y、z方向的分量,(lx,ly,lz)分別是末端位置向量P在x、y、z方向上的分量;
假設(shè)數(shù)控刀位文件中同一條加工軌跡上第一點的坐標(biāo)為(xr,yr,zr),第二點的坐標(biāo)為(xr+1,yr+1,zr+1),將N平移到以(xr,yr,zr)為起點的位置,相對應(yīng)的坐標(biāo)值分別加上(xr,yr,zr)的坐標(biāo)值,過點(xr,yr,zr)作與向量(xr-ir,yr-jr,zr-kr)垂直的平面S,過空間點(xr+1,yr+1)作平行于z軸的直線L,直線L與平面S的交于點w,向量(xr-ir,yr-jr,zr-kr)與向量(xr-xr+1,yr-yr+1,zr-z)相互垂直,相乘為0,可求得通過點(xr+1,yr+1)的z方向的值g,將向量(xr+1-xr, yr+1-yr, g-zr)簡化為單位向量,可求得切向向量T:
g=(((xr+1-xr)ir+(yr+1-yr)jr)/-kr)+zr, (3)
ox= (xr+1-xr)/),
oy=(yr+1-yr)/ ),
oz=(zr+1-zr)/ ),
T=(ox,oy,oz) (4)
其中,(ox,oy,oz)分別是切向向量T在x、y、z方向的分量;
法向向量N和切向向量T叉乘可得到副法向向量B:
B=N×T=(ax,ay,az) (5)
其中,(ax, ay, az)分別是副法向向量B在x、y、z方向的分量;
由刀軸向量N、切向向量T、副法向向量B和末端位置向量P可求得在工件坐標(biāo)系下的機器人末端位置姿態(tài)A:
A=[nx ox axlx;ny oy ayly;nz oz azlz;0 0 0 1] (6)
2)對工件坐標(biāo)系進(jìn)行標(biāo)定,將工件坐標(biāo)系下的末端位姿轉(zhuǎn)換為機器人基坐標(biāo)系下的末端位姿,主要包括以下內(nèi)容:
對工件坐標(biāo)系進(jìn)行標(biāo)定,規(guī)定工件坐標(biāo)系的空間姿態(tài)與機器人基坐標(biāo)系空間姿態(tài)一致,在機器人工作空間范圍內(nèi)只需對工件坐標(biāo)系的空間位置進(jìn)行標(biāo)定,假設(shè)工件坐標(biāo)系的標(biāo)定值為(hx,hy,hz),通過相應(yīng)的坐標(biāo)變換就可得到在機器人基坐標(biāo)系下的末端位姿U:
U=[nx ox ax px;ny oy ay py;nz oz az pz;0 0 0 1]
其中(px,py,px)為機器人基坐標(biāo)系下的末端位置在x、y、z方向的分量,px=lx+hx,py=ly+hy,pz=lz+hz。
所述步驟2中,根據(jù)機器人結(jié)構(gòu)參數(shù)對其逆運動學(xué)分析,建立逆運動學(xué)模型,包括以下內(nèi)容:
根據(jù)工業(yè)機器人連桿參數(shù)對其逆運動分析,建立機器人六個關(guān)節(jié)角逆運動學(xué)數(shù)學(xué)模型,其數(shù)學(xué)模型如下所示:
q1=arctan2((px-d6ax),(py-d6ay))±π/2, (7)
令 k1=cos(q1)ax+ sin(q1)ay,
k2= cos(q1)px-a1+ sin(q1)py,
k3=pz,
k31=k2-d6k1,
k32=d6az-k3,
k4=((a2)2-(d4)2+(k31)2+(k32)2)/(2a2),
r= , 可求得關(guān)節(jié)2的關(guān)節(jié)角q2,
q2=arctan2((k4/r),± ), (8)
令 k5=a2-cos(q2)k31- sin(q2)k32 ,
k51= cos(q2)k32- sin(q2)k31, 可求得關(guān)節(jié)3的關(guān)節(jié)角q3,
q3=arctan2(k5,k51) , (9)
令 k6=sin(q2+q3)k1+cos(q2+q3)az , 可求得關(guān)節(jié)5的關(guān)節(jié)角q5,
q5=arctan2(±),-k6), (10)
令 k7=(cos(q1)ay-sin(q5)ax)/sin(q5),
k8=(sin(q2)az-cos(q2)k1-sin(q3)cos(q5))/(cos(q3)sin(q5)), 可求得關(guān)節(jié)4的關(guān)節(jié)角q4,
q4=arctan2(k7,k8), (11)
令 k10=cos(q1)ny-sin(q1)nx,
k11=sin(q1)ox-cos(q1)oy,
k12=sin(q4)cos(q5)/cos(q4), 可求得關(guān)節(jié)6的關(guān)節(jié)角q6,
q6=arctan2((k10+k11k12),(k12k10-k11))+ π , (12)
其中,a1為關(guān)節(jié)0與關(guān)節(jié)1沿公垂線的距離,a2為關(guān)節(jié)1與關(guān)節(jié)2沿公垂線的距離,d4為關(guān)節(jié)4軸線兩個公垂線的距離,d6為關(guān)節(jié)6兩個公垂線的距離;
由上述數(shù)學(xué)表達(dá)式可知,q1、q2、q5分別對應(yīng)有兩組不同解,通過數(shù)列組合可知機器人關(guān)節(jié)角共有八組不同解。
所述步驟3中,基于逆運動學(xué)模型計算關(guān)節(jié)角,包括以下內(nèi)容:
1)將機器人基坐標(biāo)系下的末端位姿帶入機器人逆運動學(xué)模型中求解關(guān)節(jié)角;
2)將每組六個關(guān)節(jié)角值分別取絕對值,然后相加求和,利用最短路程法優(yōu)化關(guān)節(jié)角,比較八組值,選取最小那一組作為最優(yōu)關(guān)節(jié)角。
所述步驟4中,利用關(guān)節(jié)角輸出機器人末端軌跡,主要包括:
將得到的一系列優(yōu)化后的關(guān)節(jié)角,利用MATLAB軟件編程,得到機器人末端位置軌跡點,輸出機器人末端軌跡。
本發(fā)明的有益效果是:
1、可對機器人末端軌跡規(guī)劃時末端執(zhí)行器姿態(tài)進(jìn)行準(zhǔn)確控制,可有效避免機器人軌跡規(guī)劃時刀具與工件的碰撞;
2、可實現(xiàn)由刀位文件到工業(yè)機器人關(guān)節(jié)角的轉(zhuǎn)換,實現(xiàn)工業(yè)機器人基于數(shù)控加工刀位文件的軌跡規(guī)劃。
附圖說明
圖1是本發(fā)明的步驟流程圖;
圖2是本發(fā)明的姿態(tài)計算示意圖;
圖3是本發(fā)明所使用的葉輪流道面數(shù)控精加工軌跡圖;
圖4是本發(fā)明的機器人末端軌跡圖。
具體實施方式
下面結(jié)合附圖和具體實施方式對本發(fā)明進(jìn)一步詳細(xì)的說明。本實施例在以本發(fā)明內(nèi)容為前提下進(jìn)行,給出了詳細(xì)的實施步驟,但本發(fā)明的保護(hù)范圍不限于下述的實施例。
本發(fā)明實施對象為葉輪流道面的精加工,其數(shù)控加工軌跡如圖3所示,使用工業(yè)機器人型號為瑞士IRB140,流道面精加工第一點x1=-40.8181mm,y1=13.0743mm,z1=-3.0148mm,i1=-0.8204,j1=0.5520,k1=0.1494,第二點x2=-41.0437mm,y2=13.0898mm。關(guān)節(jié)0與關(guān)節(jié)1沿公垂線的距離a1=70mm,關(guān)節(jié)1與關(guān)節(jié)2沿公垂線的距離a2=360mm,關(guān)節(jié)4軸線兩個公垂線的距離d4=380mm,關(guān)節(jié)6兩個公垂線的距離d6=65mm。根據(jù)圖1步驟流程圖,本發(fā)明一種基于數(shù)控刀位文件的機器人末端軌跡規(guī)劃方法,包括以下步驟:
步驟1)機器人基坐標(biāo)系下末端執(zhí)行器位姿的計算;
步驟2)根據(jù)機器人結(jié)構(gòu)參數(shù)對其逆運動學(xué)分析,建立逆運動學(xué)模型;
步驟3)基于逆運動學(xué)模型計算關(guān)節(jié)角;
步驟4)利用關(guān)節(jié)角輸出機器人末端軌跡。
所述步驟1中,機器人基坐標(biāo)系下末端執(zhí)行器位姿的計算,包括以下內(nèi)容:
1)提取基于UG的數(shù)控加工刀位文件信息,利用刀位文件中同一條加工軌跡上相鄰兩個坐標(biāo)點,計算機器人在工件坐標(biāo)系下的末端執(zhí)行器位姿A;
以同一條加工軌跡上前兩個加工坐標(biāo)點為例介紹在工件坐標(biāo)系下機器人末端位姿的計算過程,根據(jù)刀位文件信息中的空間位置在x方向分量x1、y方向分量y1、z方向分量z1,空間姿態(tài)在x方向分量i1、y方向分量j1、z方向分量k1,可直接得到刀軸向量N和末端位置向量P:
N=(nx1,ny1,nz1)=(i1, j1, k1) =(-0.8204,0.5520,0.1464),
P=(lx1,ly1,lz1)=(x1,y1,z1) =(-0.0408,0.0131,-0.0030),
其中, (nx1 ny1 nz1)分別是刀軸向量N在x、y、z方向的分量, (lx1,ly1,lz1)分別是末端位置向量在x、y、z方向上的分量;
令第一點的坐標(biāo)為(x1,y1,z1),第二點的坐標(biāo)為(i1,j1,k1),將N平移到以(x1,y1,z1)為起點的位置,相對應(yīng)的坐標(biāo)值分別增加(i1,j1,k1)的坐標(biāo)值,通過點(x1,y1,z1)作與向量(x1-i1,y1-j1,z1-k1)相互垂直的平面S,過空間點(x2,y2)作平行于z軸的直線L,直線L與平面S的交與點w,向量(x1-i1,y1-j1,z1-k1)與向量(x1-x2,y1-y2,z1-z)相互垂直,相乘為0,可求得通過點(x2,y2)的z方向的值g,然后將向量(x2-x1,y2-y1,g-z1)簡化為單位向量,切向向量T由此求得:
g=(((x2-x1)ir+(y2-y1)j1)/-k1)+z1=-4.3mm,
ox1= (x2-x1)/ )=-0.1715mm,
oy1=(y2-y1)/ )=0.0118mm,
oz1=(z2-z1)/ )=-0.9851mm,
T=(ox1, oy1 ,oz1)= (-0.1715,0.0118,-0.9851)
其中,(ox1,oy1,oz1)分別是切向向量T在x、y、z方向的分量;
法向向量N和切向向量T叉乘可得到副法向向量B:
B=N×T=(ax1,ay1,az1) =(nx1,ny1,nz1) ×(ox1, oy1 ,oz1)
=(-0.8204,0.5520,0.1464)×(-0.1715,0.0118,-0.9851)=(-0.5455,-0.8338,0.0850),
其中,(ax1, ay1, az1)分別是副法向向量B在x、y、z方向的分量;
由刀軸向量N、切向向量T、副法向向量B和末端位置向量P可求得在工件坐標(biāo)系下的機器人末端位置姿態(tài)A:
A=[nx1 ox1 ax1 lx1;ny1 oy1 ay1 ly1;nz1 oz1 az1 lz1;0 0 0 1]
=[-0.8204,-0.1715,-0.5455,-0.0408;0.5520,0.0118,-0.8338,0.0131;-0.1494,-0.9851,0.0850,-0.0030;0,0,0,1];
2)對工件坐標(biāo)系進(jìn)行標(biāo)定,將工件坐標(biāo)系下的末端位姿轉(zhuǎn)換為機器人基坐標(biāo)系下的末端位姿,主要包括以下內(nèi)容:
對工件坐標(biāo)系進(jìn)行標(biāo)定,規(guī)定工件坐標(biāo)系的空間姿態(tài)與機器人基坐標(biāo)系空間姿態(tài)一致,在機器人工作空間范圍內(nèi)只需對工件坐標(biāo)系的空間位置進(jìn)行標(biāo)定,本發(fā)明對工件坐標(biāo)系的標(biāo)定值為(-0.4,-0.4,-0.4),通過相應(yīng)的坐標(biāo)變換就可以求得在機器人基坐標(biāo)系下的末端位姿U:
U=[nx1 ox1 ax1 px1;ny1 oy1 ay1 py1;nz1 oz1 az1 pz1;0 0 0 1]
=[-0.8204,-0.1715,-0.5455,-0.4408;0.5520,0.0118,-0.8338,-0.3869;-0.1494,-0.9851,0.0850,-0.4030;0,0,0,1];
其中,(px1,py1,px1)為機器人基坐標(biāo)系下的末端位置在x、y、z方向的分量,px1=lx1+hx1=-0.4408,py1=ly1+hy1=-0.3869,pz1=lz1+hz1=-0.4030。
所述步驟2中,根據(jù)機器人結(jié)構(gòu)參數(shù)對其逆運動學(xué)分析,建立逆運動學(xué)模型,其數(shù)學(xué)表達(dá)式如下所示:
q1=arctan2((px-d6ax),(py-d6ay))±π/2, (1)
令 k1=cos(q1)ax+ sin(q1)ay,
k2= cos(q1)px-a1+ sin(q1)py,
k3=pz,
k31=k2-d6k1,
k32=d6az-k3,
k4=((a2)2-(d4)2+(k31)2+(k32)2)/(2a2),
r= , 可求得關(guān)節(jié)2的關(guān)節(jié)角q2,
q2=arctan2((k4/r),± ), (2)
令 k5=a2-cos(q2)k31- sin(q2)k32 ,
k51= cos(q2)k32- sin(q2)k31, 可求得關(guān)節(jié)3的關(guān)節(jié)角q3,
q3=arctan2(k5,k51) , (3)
令 k6=sin(q2+q3)k1+cos(q2+q3)az , 可求得關(guān)節(jié)5的關(guān)節(jié)角q5,
q5=arctan2(±),-k6), (4)
令 k7=(cos(q1)ay-sin(q5)ax)/sin(q5),
k8=(sin(q2)az-cos(q2)k1-sin(q3)cos(q5))/(cos(q3)sin(q5)), 可求得關(guān)節(jié)4的關(guān)節(jié)角q4,
q4=arctan2(k7,k8), (5)
令 k10=cos(q1)ny-sin(q1)nx,
k11=sin(q1)ox-cos(q1)oy,
k12=sin(q4)cos(q5)/cos(q4), 可求得關(guān)節(jié)6的關(guān)節(jié)角q6,
q6=arctan2((k10+k11k12),(k12k10-k11))+ π , (6)
由上述數(shù)學(xué)表達(dá)式可知,q1、q2、q5分別對應(yīng)有兩組不同解,通過數(shù)列組合可知機器人關(guān)節(jié)角共有八組不同解。
所述步驟3中,基于逆運動學(xué)模型計算關(guān)節(jié)角,包括以下內(nèi)容:
1)將標(biāo)定后的機器人基坐標(biāo)系下的末端位姿帶入通過機器人逆運動學(xué)求解出的機器人關(guān)節(jié)角表達(dá)式中計算機器人關(guān)節(jié)角,求解出來的關(guān)節(jié)角共有八組不同解,但求解出來的關(guān)節(jié)角不一定都符合要求,如果求出的關(guān)節(jié)角超出機器人關(guān)節(jié)角運動范圍,則要對該關(guān)節(jié)角轉(zhuǎn)換上下限,即在求解得到的關(guān)節(jié)角的基礎(chǔ)上加減2π,使關(guān)節(jié)角處在合理的范圍內(nèi),其八組不同解具體如表1所示:
表1 本發(fā)明所計算機器人八組關(guān)節(jié)角
2)將每組六個關(guān)節(jié)角值分別取絕對值,然后相加求和Mx;
其中x=1,2,3,4,5,6,7,8,
通過表1八組不同關(guān)節(jié)角值可求得
M1=497.4869,M2=352.6731,M3=659.4947,M4=584.8969,
M5= 595.2634,M6= 706.2474,M7= 665.7014,M8= 802.5171;
利用最短路程法優(yōu)化逆求解算法,比較八組Mx值,選取八組值中最小一組作為最優(yōu)關(guān)節(jié)角;
通過比較可知最小值為M2,故選取第二組解的關(guān)節(jié)角值為最優(yōu)解。
所述步驟4中,利用關(guān)節(jié)角輸出機器人末端軌跡,主要內(nèi)容為:
將得到的一系列優(yōu)化后的關(guān)節(jié)角,利用MATLAB軟件編程,得到機器人末端位置軌跡點,輸出機器人末端軌跡,如圖4所示。
為進(jìn)一步體現(xiàn)本發(fā)明方法的有效性,特在數(shù)控加工軌跡上取十個點的坐標(biāo)同相對應(yīng)機器人軌跡上的坐標(biāo)相對比,其對比結(jié)果如表2所示:
表2 數(shù)控加工軌跡坐標(biāo)同機器人位置坐標(biāo)對比
從數(shù)據(jù)對比上可以看出,數(shù)控加工軌跡與機器人末端軌跡基本上相同,重合度較高,驗證了利用此方法可以實現(xiàn)從刀位文件到機器人末端執(zhí)行器位姿轉(zhuǎn)換。機器人的虛擬仿真驗證了此方法對機器人末端執(zhí)行器姿態(tài)的良好控制,也證明了本發(fā)明所使用方法的有效性。