蔚芳鑫,孫明革,周海宇
(吉林化工學院 信息與控制工程學院,吉林 吉林 132022)
如今工業(yè)生產(chǎn)各領域都對機器人的控制精度提出了更高的要求,而機器人的運動學分析是機器人控制技術的重要理論基礎,也是進行軌跡規(guī)劃的前提,分析并建立正確的運動學模型是研究機器人問題中必不可少的重要先行環(huán)節(jié)[1-2].采用MATLAB作為運動學仿真驗證平臺,是目前廣為使用的一種方法,利用其中的Robotics Toolbox機器人工具箱可以很好地完成對機器人運動學模型的仿真與驗證,通過建模可以得到三維可視化的機器人本體模型,也可以很直觀地看到機器人的運行效果[3-4].因此對Hyundai-Hs220型六自由度機械臂開展研究,建立理論正逆運動學模型,基于MATLAB平臺及Robotics Toolbox進一步檢驗運動學模型的正確性與合理性.
本研究以韓國現(xiàn)代公司生產(chǎn)的Hyundai-HS220工業(yè)機器人為載體,它是典型的六自由度工業(yè)機器人[5-6],較一般的機器人來說,其特點是負載能力較強,達220 kg.圖1(a)為機械臂實物圖.基于六自由度工業(yè)機器人運動特性的復雜度以及相關結(jié)構(gòu)參數(shù)較多,為清晰、直觀地表達機器人各關節(jié)的關系和位姿,采用改進的D-H建模方法建立如圖1(b)所示的機器人各關節(jié)的坐標系[7],建立步驟如下:
(1)確定原點
在相鄰兩關節(jié)軸i-1和i間的公垂線與i-1軸的交點或兩軸交點處確定為原點.
(2)定出Zi-1軸及其方向
以關節(jié)軸i-1作為Zi-1軸,且其方向指向該關節(jié)軸.
(3)定出Xi-1軸及其方向
關節(jié)軸i和i-1間的公垂線方向即為Xi-1軸的方向
(5)依照右手定則確定Xi-1軸.
(a)
依據(jù)圖1(b) 所建立的坐標系并按照D-H約定的規(guī)則推定出各連桿參數(shù)值并建立如表1所示的D-H參數(shù)表,表中i表示關節(jié)序號,θi為關節(jié)角度,di為兩鄰近關節(jié)偏移的距離,ai-1為鄰近兩關節(jié)連桿的長度,αi-1為關節(jié)扭轉(zhuǎn)角.
表1 Hyundai-HS220型機器人D-H參數(shù)表
正運動學分析過程,就是將機器人各連桿當作自變量,研究機器人末端執(zhí)行機構(gòu)的位姿相對于機器人基坐標系之間的變換關系,并推導出正運動學方程[8-9].依據(jù)齊次坐標變換的方法及D-H參數(shù)表,可以得到如式(1)所示求解相鄰關節(jié)間坐標變換矩陣的一般表達式:
(1)
(2)
其中:
nx=c1[c23(c4c5c6-s4s6)-s23s5s6]+s1(s4c5c6+c4s6) ;
ny=s1[c23(c4c5c6-s4s6)-s23s5s6]-c1(s4c5c6+c4s6) ;
nz=-s23(c4c5c6-s4s6)-c23s5c6,
ox=[s23s5s6-c23(c4c5c6+s4c6)]c1-(s4c5s6-c4c6)s1;
oy=[s23s5s6-c23(c4c5c6+s4c6)]s1+(s4c5s6-c4c6)c1;
oz=s23(c4c5c6+s4c6)+c23s5s6;
ax=c1(c23c4c5-s23c5)-s1s4s5;
ay=s1(c23c4c5-s23c5)+c1s4s5;
az=s23c4s5-c23c5;
px=c1(a3c23-d4s23+a1+a2c2) ;
py=s1(a3c23-d4s23+a1+a2c2) ;
pz=-d4c23-a3s23-a2s2.
(3)
以上求解出的各表達式即構(gòu)成了正運動學方程,若設置一組關節(jié)角度θ1~θ6,則通過上述方程的計算,就能得到機器人末端的位姿.
θ1=Atan2(py,px)或θ1=Atan2(-py,-px) ,
(4)
(5)
θ3=Atan2(a3n-d4m,a3m+d4n) ,
(6)
θ6=Atan2(m2s3+n1c3,m1s3-n2c3)或θ6=Atan2[-(m2s3+n1c3),-(m1s3-n2c3)] ,
(7)
θ5=Atan2[ayc1-axs1,(nyc1-nxs1)c6+(oxs1-oyc1)s6] ,
(8)
θ4=Atan2(s4,c4) ,
(9)
為了驗證所推導的正逆運動學方程的正確性,采用MATLAB Robotics Toolbox機器人工具箱進行運動學模型的建立,它能夠提供多種運動學函數(shù)來支持建模[10].依據(jù)表1的D-H參數(shù)并通過調(diào)用相關函數(shù)編寫程序完成建模.給定一組關節(jié)角度theta=[000000],得到如圖2所示機器人的初始位姿模型.
圖2 機器人模型
正運動學方程的仿真,主要是通過給定一組關節(jié)角度,用推導的正運動學方程和機器人工具箱的fkine運動學函數(shù)來分別進行末端位姿矩陣的計算,若結(jié)果一致則說明所建立的正運動學模型正確.由于手動計算較為復雜,所以將正運動學方程的推導過程在MATLAB中編寫成函數(shù)腳本.首先給出一組關節(jié)角度theta=[0-pi/3pi/3000],由正運動學函數(shù)進行驗證結(jié)果如下:
由Robotics Toolbox機器人工具箱驗證結(jié)果如下:
通過數(shù)據(jù)對比發(fā)現(xiàn),所建立的正運動學方程是正確的.
逆運動學仿真,是通過工具箱算出位姿矩陣,由逆解方程運算得到機器人到達該位姿各關節(jié)所需的角度,并將該組角度作為輸入,由工具箱中的正解函數(shù)fkine來進行驗證,若解出的位姿矩陣與給定矩陣一致,則逆運動學方程建立正確.現(xiàn)給出用工具箱fkine函數(shù)算出的位姿矩陣:
同于正解仿真過程,將逆解推導流程通過MATLAB編寫成函數(shù)腳本,運行程序并將得到的關節(jié)角度回代到工具箱中得到:
二者結(jié)果相同,驗證了逆運動學方程的正確性.
軌跡規(guī)劃基本方法主要歸為關節(jié)空間和笛卡爾空間軌跡規(guī)劃兩種,無論選用哪種方法最終都要滿足軌跡的平滑連續(xù)[11].關節(jié)空間軌跡規(guī)劃由于其是以關節(jié)角變量的函數(shù)來規(guī)劃軌跡的,可以直觀并實時地看到各關節(jié)角的變化情況,不存在機構(gòu)奇異性.所以本文選用關節(jié)空間軌跡規(guī)劃方法來進行規(guī)劃.隨機設置空間中兩點,即初始位姿點和終止位姿點,設定到達初始位姿點所需的關節(jié)轉(zhuǎn)角為qs=[0 0 0 0 0 0],到達終止位姿點所需的關節(jié)轉(zhuǎn)角為qf=[pi/3,-pi/3,pi/6,-pi/6,-pi/7,-pi/4] ,調(diào)用機器人工具箱函數(shù)jtraj,其格式為:
[qqdqdd]=jtraj[qs,qf,t].
(10)
運行程序得到了如圖3所示6個關節(jié)的角度位移、角速度及角加速度變化曲線.
t/s(a)關節(jié)角位移
對圖3進行觀察并分析得知,所有關節(jié)的角位移、角速度、角加速曲線均連續(xù)且平滑,機器人能夠平穩(wěn)地從初始位姿運動到終止位姿,各關節(jié)沒有出現(xiàn)異位突變現(xiàn)象,沒有產(chǎn)生較大的震蕩,滿足規(guī)劃需求.
基于MATLAB的機器人工具箱平臺,對所建立的運動學方程進行了驗證,并完成了在關節(jié)空間的軌跡規(guī)劃,得到了各關節(jié)運動參數(shù)的軌跡變化曲線.結(jié)果表明機器人運行效果良好,可以平穩(wěn)地從初始位姿運動到終止位姿,所建立的運動學模型可以作為后續(xù)研究的理論支撐.