(南華大學(xué) 機(jī)械工程學(xué)院,衡陽 421001)
隨著我國工業(yè)的迅猛發(fā)展,機(jī)器人的應(yīng)用越來越廣泛。在機(jī)器人的生產(chǎn)與使用中需要考慮機(jī)器人的最佳使用位姿以保證機(jī)器人的使用壽命與其工作的穩(wěn)定性[1],需要求出機(jī)器人的逆解,并選擇其最優(yōu)解。目前,逆運(yùn)動(dòng)學(xué)求解方法分為數(shù)值解法與封閉解法,數(shù)值解法能夠精確的求出逆解并且能運(yùn)用于絕大多數(shù)的機(jī)器人,但是其運(yùn)算量較大,函數(shù)構(gòu)造較復(fù)雜[2~5];本文研究的封閉解法在通用性上不如數(shù)值法,但其函數(shù)構(gòu)造簡便、計(jì)算方便快捷,對滿足pieper準(zhǔn)則的機(jī)器人具有通用性。本文對PUMA560機(jī)器人建立正向運(yùn)動(dòng)數(shù)學(xué)模型,利用封閉解法求出其逆解。
PUMA560機(jī)器人D-H參數(shù)如表1所示。D-H參數(shù)法如圖1所示,ai-1為延xi-1,從zi-1移動(dòng)到zi的距離;αi-1為繞xi-1,從zi-1旋轉(zhuǎn)到zi的角度;di為延zi-1,從xi-1移動(dòng)到xi的距離;θi為繞zi-1,從xi-1旋轉(zhuǎn)到xi的角度。利用D-H參數(shù)進(jìn)行連桿建模[6],廣義變換矩陣如式(1)所示:
表1 PUMA560機(jī)器人D-H參數(shù)
圖1 D-H參數(shù)表示法
式(1)中,R表示繞相應(yīng)的軸轉(zhuǎn)動(dòng)θ或者αi-1角度,T表示沿對應(yīng)的軸移動(dòng)ai-1或者d長度。
機(jī)器人位姿正解是求逆解的基礎(chǔ),通過正解的計(jì)算求出末端執(zhí)行器最后的位姿,并將該位姿參數(shù)作為輸入應(yīng)用到逆解計(jì)算中。構(gòu)造機(jī)器人正解參數(shù)模型,首先從機(jī)器人的固定基座開始為連桿進(jìn)行編號(hào),將固定基座記為連桿0,第一個(gè)可動(dòng)連桿為連桿1,依此類推,機(jī)器人最末端的連桿為連桿n。機(jī)器人至少有6個(gè)關(guān)節(jié)對應(yīng)6個(gè)自由度。末端執(zhí)行器需要3個(gè)位置和3個(gè)方位的參數(shù)才能保證其在三維空間中達(dá)到任意位姿。利用D-H參數(shù)分步建立各連桿變換矩陣,再依次連接各個(gè)變換矩陣。
根據(jù)變化矩陣求得機(jī)器人正解為:
機(jī)器人的位姿逆解需要考慮三個(gè)方面因素[7,8]:
1)解的存在性
逆運(yùn)動(dòng)學(xué)的解是否存在取決于期望位姿是否在機(jī)器人的工作空間內(nèi)。
2)多解性問題
逆運(yùn)動(dòng)學(xué)解的個(gè)數(shù)取決于機(jī)器人的關(guān)節(jié)數(shù)量,也與連桿參數(shù)和關(guān)節(jié)運(yùn)動(dòng)范圍有關(guān),通常機(jī)器人的關(guān)節(jié)數(shù)量越多,連桿的非零參數(shù)越多,運(yùn)動(dòng)學(xué)的逆解的個(gè)數(shù)就越多。
3)逆運(yùn)動(dòng)學(xué)的求解方法
當(dāng)今設(shè)計(jì)的絕大多數(shù)6自由度機(jī)器人都滿足pieper準(zhǔn)則,即相鄰的三個(gè)關(guān)節(jié)軸線相交于一點(diǎn),因此它們都有封閉解,本文采用代數(shù)的方法求得各個(gè)參數(shù)的解。
式(3)中,向矢量處于夾手進(jìn)入物體的方向,稱為接近向量a;y方向矢量的方向從一個(gè)指尖指向另外一個(gè)指尖,稱為方向矢量o;最后一個(gè)矢量n,它與矢量o和a一起構(gòu)成一個(gè)右手矢量合集,矢量p描述坐標(biāo)系的原點(diǎn)至于夾手指尖的中心所在位置。以上12個(gè)參數(shù)都是已知的。由式(3)得知等號(hào)左右兩邊對應(yīng)元素相等,得到如下方程:
式(7)表示等式左邊第二行第四列與右邊第二行第四列對應(yīng)相等,并采用三角代換式(8)、式(9)進(jìn)行計(jì)算:
計(jì)算結(jié)果如下:
同理可得其余角度數(shù)值:
由于三角函數(shù)產(chǎn)生的正負(fù)號(hào)導(dǎo)致θ1與θ3分別都有兩個(gè)符號(hào)不同的解,因此其兩兩組合就能產(chǎn)生四組不同的解,其產(chǎn)生的解的組合如表2所示。
表2 機(jī)器人四組逆解
對于PUMA560機(jī)器人來說,由于本身結(jié)構(gòu)的性質(zhì)導(dǎo)致其到達(dá)某一位姿時(shí)有對稱解,因此到達(dá)某一位置除了上述四種逆解之外,通過機(jī)器人臂彎關(guān)節(jié)“翻轉(zhuǎn)”可以得到另外不同的四組解,如表3所示。
表3 機(jī)器人對稱四組逆解
利用MATLAB對上述解析式進(jìn)行編程,輸入一組各關(guān)節(jié)的初始角度參數(shù),生成末端位姿參數(shù)[9~11],然后利用末端位姿參數(shù)反過來求逆解得到八組不同的解(在MATLAB平臺(tái)首先將角度值轉(zhuǎn)換為弧度值)。
初始狀態(tài)如表4所示。
表4 初始各關(guān)節(jié)角度參數(shù)
求出逆解如表5所示。
表5 逆解求解結(jié)果
通過上表數(shù)據(jù)可以看到第六組解與初始值接近,并且其余七組解在理論上也是滿足執(zhí)行器到達(dá)執(zhí)行位姿的解。此外,通過改變不同的初始位姿得到的逆解誤差都在允許范圍以內(nèi),滿足機(jī)器人求逆解的精確度要求。
通過實(shí)驗(yàn)研究分析,在MATLAB平臺(tái)下進(jìn)行的逆解運(yùn)算能夠快速準(zhǔn)確的得出機(jī)器人在理論上能夠?qū)崿F(xiàn)的八組位姿逆解,再根據(jù)實(shí)際情況進(jìn)行取舍使得其滿足機(jī)器人運(yùn)作平穩(wěn)、避障等相關(guān)條件的約束,具有重要的實(shí)際意義。