扶宇陽(yáng),葛阿萍
(五邑大學(xué) 機(jī)電工程學(xué)院,廣東 江門 529020)
圖1為IRB140型機(jī)器人基本結(jié)構(gòu),它是6 軸多用途工業(yè)機(jī)器人。根據(jù)機(jī)器人的運(yùn)動(dòng)學(xué)原理結(jié)合齊次變換知識(shí)可知,空間中的任意坐標(biāo)系相對(duì)于某個(gè)參考坐標(biāo)系的位置和姿態(tài)完全可以由這兩個(gè)坐標(biāo)系間的變換獲得。本機(jī)器人末端執(zhí)行器與機(jī)器人其他各連桿之間的運(yùn)動(dòng)學(xué)關(guān)系可簡(jiǎn)化為如圖2所示的連桿坐標(biāo)系。
圖1 IRB140型機(jī)器人基本結(jié)構(gòu)
圖2 連桿坐標(biāo)系
所有坐標(biāo)系遵循右手定則,變量θi、αi、ai、di(i=1,2,3,4,5,6)分別為各軸的轉(zhuǎn)角、相鄰Z 軸之間的扭轉(zhuǎn)角、相鄰兩軸最短距離以及連桿的長(zhǎng)度,其值見表1。
表1 機(jī)器人的連桿參數(shù)表
對(duì)于機(jī)器人這種運(yùn)動(dòng)關(guān)系可由連桿i對(duì)連桿i-1相對(duì)位置的奇次變換矩陣Ai來表述,即:
采用Denavit-Hartenbe提出的D-H 法確定相鄰兩運(yùn)動(dòng)副之間的位置和方向,4×4階齊次D-H 矩陣可同時(shí)實(shí)現(xiàn)坐標(biāo)系的旋轉(zhuǎn)與平移,則機(jī)器人末端執(zhí)行器相對(duì)于基座總變換矩陣0T6為:
其中:nx、ny、nz為機(jī)器人法向矢量;ox、oy、oz為方向矢量;ax、ay、az為接近矢量;px、py、pz為位置坐標(biāo)。
由矩陣對(duì)應(yīng)元素相等解得末端執(zhí)行器坐標(biāo)系的接近矢量和位置坐標(biāo):
ax=-cosθ1(cos(θ2+θ3)cosθ4sinθ5+sin(θ2+θ3)·cosθ5)-cosθ1sinθ4sinθ5,
ay=-sinθ1(cos(θ2+θ3)cosθ4sinθ5+sin(θ2+θ3)·cosθ5)+cosθ1sinθ4sinθ5,
az=sin(θ2+θ3)cosθ4sinθ5-cos(θ2+θ3)cosθ5。
px=cosθ1[a2cosθ2+a1+a3cos(θ2+θ3)-d4·sin(θ2+θ3)],
py=sinθ1[a2cosθ2+a1+a3cos(θ2+θ3)-d4sin(θ2+θ3)],
pz=-a3sin(θ2+θ3)-a2sinθ2-d4cos(θ2+θ3)。
在MATLAB環(huán)境下借助機(jī)器人工具箱Robotics Toolbox可以方便地建立IRB140機(jī)器人模型。調(diào)用Link 函 數(shù)L=LINK([alpha A theta D Sigma],‘modified’)(其中,alpha 為扭角,A 為連桿 的長(zhǎng)度,theta為關(guān)節(jié)角,D 為偏置距離,Sigma=1(IRB140機(jī)器人只有轉(zhuǎn)動(dòng)關(guān)節(jié)),modified為改進(jìn)的D-H 參數(shù))和robot函數(shù)robot(LINK,...),利用下面的命令完成機(jī)器人對(duì)象模型的創(chuàng)建:
L1=LINK([00000],'modified');L2=LINK([-pi/270 0 0 0],'modified');
L3=LINK([0 360 0 0 0],'modified');L4=LINK([-pi/2 0 0 380 0],'modified');
L5=LINK([pi/2 0 0 0 0],'modified');L6=LINK([-pi/2 0 0 0 0],'modified');
IRB=robot({L1L2L3L4L5L6});IRB.name=‘IRB140';drivebot(IRB)
基于Robotics Toolbox的IRB140機(jī)器人模型如圖3所示。
通過移動(dòng)圖3中代表關(guān)節(jié)角度的6個(gè)滑塊驅(qū)動(dòng)機(jī)器人運(yùn)動(dòng),滑塊1、2、3的移動(dòng)可以改變機(jī)器人末端執(zhí)行器的位置,滑塊4、5、6運(yùn)動(dòng)可使末端執(zhí)行器具有不同的姿態(tài)。它們的參數(shù)值共同確定了執(zhí)行器末端的位姿。為驗(yàn)證運(yùn)動(dòng)學(xué)方程式的正確性,把機(jī)器人各桿件的幾何參數(shù)和6組隨機(jī)選取的關(guān)節(jié)變量值代入運(yùn)動(dòng)學(xué)方程,并利用MATLAB 編寫計(jì)算程序求得末端執(zhí)行器的位姿;然后將相應(yīng)的數(shù)據(jù)輸入到滑??刂破髦兄苯幼x取實(shí)際的末端執(zhí)行器的位姿數(shù)據(jù)并進(jìn)行比較。隨機(jī)選取的6組關(guān)節(jié)變量值為:
q1=[-1.357 5,-1.590 2,-2.210 8,-2.210 8,-1.124 8,0],
q2=[-0.659 34,-2.210 8,-1.745 3,-1.784 1,-1.551 4,-0.892 06],
q3=[-1.629,-1.706 5,-1.357 5,-2.094 4,-2.179 7,-1.629],
q4=[-0.892 06,-0.504 21,-0.698 13,-0.465 42,-0.659 34,0.310 28],
q5=[0.310 28,0.659 34,0.310 28,0.504 21,0.426 63,1.163 6],
q6=[1.900 5,2.404 7,0.969 63,1.132 5,2.311 6,2.420 2]。
圖3 基于Robotics Toolbox的IRB140機(jī)器人模型
機(jī)器人末端執(zhí)行器的方程求解數(shù)據(jù)和滑塊控制器直接讀取的值比較見表2。
表2 運(yùn)動(dòng)學(xué)方程MATLAB求解值與滑塊設(shè)定值比較
從表2可以看出,隨機(jī)變量代入運(yùn)動(dòng)學(xué)方程求解 的數(shù)值和滑塊控制器直接讀取的數(shù)值誤差較小,說明所求解的運(yùn)動(dòng)學(xué)方程和利用函數(shù)建立的機(jī)器人三維模型的可靠性。
機(jī)器人正運(yùn)動(dòng)學(xué)的仿真是在確定連桿參數(shù)和預(yù)先設(shè)定各關(guān)節(jié)變化的前提下分析機(jī)器人末端執(zhí)行器的位姿變化,正運(yùn)動(dòng)學(xué)仿真是完成機(jī)器人運(yùn)動(dòng)學(xué)正解求解的仿真。求解正運(yùn)動(dòng)學(xué)需要利用Robotics Toolbox里的fkine函數(shù):
TR=FKINE(ROBOT,Q)。
其中:TR為由Q 定義的前向運(yùn)動(dòng)學(xué)的正解;ROBOT為機(jī)器人對(duì)象的名稱。先設(shè)定關(guān)節(jié)型坐標(biāo)系一個(gè)點(diǎn)為:
qz=[-0.077 572-0.310 28-0.116 35 1.435 1.629 0.969 3]。
調(diào)用函數(shù)fkine(IRB,qz)可以求得關(guān)于這個(gè)點(diǎn)的位姿。設(shè)置一個(gè)時(shí)間矢量t=0:0.056:2,再確定到達(dá)點(diǎn)的坐標(biāo):
qr=[2.883-1.318 7 0.736 92 0.426 63 3.141 6-0.349 07]。
用函數(shù)jtraj(IRB,q)計(jì)算關(guān)節(jié)空間軌跡q=j(luò)traj(qz,qr,t),最后調(diào)用T=fkine(IRB,q)。返回的T是一系列4×4的矩陣,表示位姿的變化過程。用坐標(biāo)軸來表示X,Y,Z 坐標(biāo)在2s內(nèi)的軌跡變化,可調(diào)用函數(shù)plot(t,squeeze(T(i,4,:)))(i=1,2,3)來繪制末端執(zhí)行器坐標(biāo)的變化曲線以及空間坐標(biāo)變化曲線,如圖4、圖5所示。
圖4 正運(yùn)動(dòng)學(xué)仿真曲線圖(機(jī)器人末端坐標(biāo))
圖4和圖5分別是機(jī)械手末端在2s內(nèi)從初始位置qz到終點(diǎn)位置qr的空間坐標(biāo)和空間軌跡曲線的變化過程。通過控制滑塊控制器可以研究其可達(dá)到的各種位形,進(jìn)一步驗(yàn)證機(jī)器人正運(yùn)動(dòng)學(xué)求解的準(zhǔn)確性。
機(jī)器人運(yùn)動(dòng)學(xué)逆解是根據(jù)機(jī)器人末端執(zhí)行器的坐標(biāo)系相對(duì)于基坐標(biāo)系的期望位姿,求出該位姿相對(duì)應(yīng)的機(jī)器人各關(guān)節(jié)轉(zhuǎn)角。調(diào)用Robotics Toolbox 里的ikine()函數(shù),其調(diào)用格式為:
Q=IKINE(ROBOT,T)或Q=IKINE(ROBOT,T,Q)。
其中:參數(shù)ROBOT 為指定機(jī)器人對(duì)象名稱;Q 此處默認(rèn)為0;T 為逆解的變換矩陣。設(shè)定時(shí)間矢量t=0:0.056:2;確定起始點(diǎn)T1=transl(568.342,-44.176,-236.020)和 終 止 點(diǎn)T2=transl(-242.371,277.725,31.136);調(diào)用函數(shù)ctraj:T=ctraj(T1,T2,length(t))和q=ikine(r,T);調(diào)用plot(t,q(:,i)),繪制的各關(guān)節(jié)轉(zhuǎn)角變化曲線如圖6所示。
圖5 正運(yùn)動(dòng)學(xué)的空間坐標(biāo)變化曲線
圖6 逆運(yùn)動(dòng)學(xué)中各關(guān)節(jié)的轉(zhuǎn)角變化曲線
分析逆運(yùn)動(dòng)學(xué)6個(gè)關(guān)節(jié)角變化曲線,關(guān)節(jié)1、2、3曲線變化的起止點(diǎn)與正運(yùn)動(dòng)學(xué)設(shè)定值基本符合,關(guān)節(jié)4、5、6存在比較大的差異,這是逆運(yùn)動(dòng)學(xué)中逆解的多重性問題。對(duì)于全部為旋轉(zhuǎn)關(guān)節(jié)的6自由度IRB140機(jī)器人,到達(dá)某一個(gè)特定的目標(biāo)方式有很多種,可達(dá)到16種逆解。系統(tǒng)可以根據(jù)最短行程原則、關(guān)節(jié)運(yùn)動(dòng)空間限制、最接近的解和避障要求來選擇合適的逆解。
利用MATLAB安裝的機(jī)器人工具箱結(jié)合相應(yīng)工業(yè)機(jī)器人的連桿參數(shù)和轉(zhuǎn)角參數(shù)對(duì)機(jī)器人建模和仿真能達(dá)到很好的仿真效果。仿真結(jié)果驗(yàn)證了所建立的機(jī)器人運(yùn)動(dòng)學(xué)方程和基于機(jī)器人工具箱構(gòu)建的三維模型的可靠性,直觀地分析了機(jī)器人末端執(zhí)行器位置和姿態(tài)和各關(guān)節(jié)轉(zhuǎn)角之間的關(guān)系,為機(jī)器人進(jìn)行機(jī)構(gòu)最優(yōu)化設(shè)計(jì)與研究提供了一種簡(jiǎn)單和實(shí)用的手段。
[1] 王智興,樊文欣,張保成,等.基于MATLAB 的工業(yè)機(jī)器人運(yùn)動(dòng)學(xué)分析與仿真[J].機(jī)電工程,2012,29(1):35-37.
[2] 王海鳴.基于神經(jīng)網(wǎng)絡(luò)的機(jī)器人逆運(yùn)動(dòng)學(xué)求解[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2008:23-25.
[3] 熊有倫.機(jī)器人技術(shù)基礎(chǔ)[M].武漢:華中科技大學(xué)出版社,2002.
[4] 陶智量.基于MATLAB的6自由度工業(yè)機(jī)器人仿真研究[D].長(zhǎng)春:吉林大學(xué),2009:39-42.
[5] 張志涌.掌握和精通MATLAB[M].北京:北京航空航天大學(xué)出版社,1997.