摘 要:工業(yè)機(jī)器人崛起于在20世紀(jì)60,是一種將其和計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)系統(tǒng)結(jié)合在一起的特殊裝備。而Unimation PUMA560作為簡(jiǎn)單6自由度機(jī)器人,在工業(yè)中的應(yīng)用也極為廣泛。本文針對(duì)典型的工業(yè)機(jī)器人Unimation公司生產(chǎn)的PUMA560機(jī)器人,運(yùn)用MATLAB中的機(jī)器人仿真工具箱(Robotics Toolbox)分析了其正逆運(yùn)動(dòng)學(xué)方法和軌跡規(guī)劃的結(jié)果,并觀察了其運(yùn)動(dòng)情況和規(guī)律。
關(guān)鍵詞:Unimation PUMA560;機(jī)械臂;MATLAB仿真
機(jī)器人運(yùn)動(dòng)學(xué)涉及大量的算法設(shè)計(jì)和計(jì)算量,所以利用計(jì)算機(jī)可視化和計(jì)算機(jī)的仿真軟件的方式進(jìn)行仿真,能過(guò)大大減輕科研人員的工作量。通過(guò)圖形觀察機(jī)器人在一定控制條件下的運(yùn)動(dòng)規(guī)律進(jìn)而幫助科研人員更好地理解其工作的原理,同時(shí)驗(yàn)證其算法的正確性,并對(duì)機(jī)器人進(jìn)行圖形仿真將結(jié)果以圖形的形式表示出來(lái),也十分便于展示給企業(yè)或者客戶(hù)。此外,MATLAB等的仿真軟件能在機(jī)器人投入生產(chǎn)之前觀察其工作效果,從而大大減輕了企業(yè)承擔(dān)的經(jīng)濟(jì)風(fēng)險(xiǎn)。
一、 搭建PUMA560機(jī)械臂
本文應(yīng)用MATLAB的Robotics Toolbox機(jī)器人仿真工具箱做機(jī)械臂的仿真。第一步是利用Link函數(shù)搭建各個(gè)連桿之間關(guān)節(jié)的相互關(guān)系,第二步是調(diào)用robot函數(shù)創(chuàng)建一個(gè)新的機(jī)器人對(duì)象。
二、 PUMA560的運(yùn)動(dòng)分析
(一) 機(jī)器人運(yùn)動(dòng)學(xué)正問(wèn)題
機(jī)器人運(yùn)動(dòng)學(xué)正問(wèn)題已知連桿的位移和相對(duì)應(yīng)的關(guān)節(jié)的偏移量,求解末端連桿坐標(biāo)系相對(duì)于基坐標(biāo)系的位姿。
圖1 PUMA560操作臂運(yùn)動(dòng)參數(shù)和坐標(biāo)系分布
本文使用MALTBA的Robot中的正問(wèn)題計(jì)算函數(shù)fkine能夠求解機(jī)器人運(yùn)動(dòng)學(xué)的正問(wèn)題。在分析這個(gè)問(wèn)題時(shí),分析可得在操作臂的中部有一個(gè)輪子將連續(xù)三個(gè)部件的運(yùn)動(dòng)相關(guān)聯(lián)在一起。需要根據(jù)連桿變換矩陣公式求得每一個(gè)連桿的變換矩陣01T~56T,然后將各個(gè)連桿矩陣連乘得到06T:
(二) 機(jī)器人運(yùn)動(dòng)學(xué)逆問(wèn)題
機(jī)器人運(yùn)動(dòng)學(xué)逆的解決方法在被告知連桿的位移和相對(duì)應(yīng)坐標(biāo)系的姿態(tài),即其位姿矩陣,求反求機(jī)械臂各個(gè)關(guān)節(jié)的位姿。利用工具箱中的逆問(wèn)題求解函數(shù)能夠完成分析機(jī)器人運(yùn)動(dòng)學(xué)逆問(wèn)題。在本例子中,有待求解的是六個(gè)轉(zhuǎn)角。具體的,逆問(wèn)題的計(jì)算步驟是運(yùn)用以下方程式
然后,在方程式每一邊都左乘T的逆矩陣,并使每一邊相位置相匹配的元素在數(shù)值上也相等。
(三) 路徑規(guī)劃
機(jī)械臂路徑規(guī)劃的方法上是依據(jù)機(jī)械臂要到達(dá)的路徑設(shè)計(jì)機(jī)器人各關(guān)節(jié)的運(yùn)動(dòng)規(guī)律。即,每到達(dá)一個(gè)目的地,就將這個(gè)目的地設(shè)為新的起點(diǎn)。在MATLAB中,可以利用機(jī)器人工具箱提供的函數(shù)實(shí)現(xiàn)路徑的規(guī)劃。
三、 MATLAB運(yùn)動(dòng)仿真
(一) 創(chuàng)建機(jī)器人
創(chuàng)建機(jī)器人需要上文提到的MATLAB的機(jī)器人仿真工具箱連接函數(shù),其具體格式是:
L(1)=Link([0,theta1,0,0,1],′modified′);
L(2)=Link([theta2,0,0,-pi/2,0],′modified′);
L(3)=Link([theta3,10,10,0,0],′modified′);
L(4)=Link([theta4,10,10,-pi/2,0],′modified′);
L(5)=Link([theta5,0,0,-pi/2,0],′modified′);
L(6)=Link([theta6,0,0,-pi/2,0],′modified′);
L(7)=Link([theta7,0,0,0,0],′modified′);
L(8)=Link([theta8,0,0,0,1],′modified′);
bot=SerialLink(L,′name′,′ROBOT′)
(二) 機(jī)械臂運(yùn)動(dòng)學(xué)正問(wèn)題的求解
求解機(jī)械臂運(yùn)動(dòng)學(xué)正問(wèn)題需要使用上文提到的機(jī)器人仿真工具箱的正問(wèn)題計(jì)算函數(shù)。
(三) 仿真結(jié)果
最后利用仿真軟件工具自帶的畫(huà)圖函數(shù)即可求得最后的效果圖:
bot.plot([theta1 theta2 theta3 theta4 theta5 theta6 theta7 theta8])
圖2 機(jī)械臂仿真圖
如圖2所示,為本次實(shí)驗(yàn)的仿真結(jié)果。
四、 結(jié)論
本文針對(duì)典型常用工業(yè)機(jī)器人PUMA56機(jī)械臂,利用仿真軟件MATLAB中的機(jī)器人工具箱分析了其正逆運(yùn)動(dòng)學(xué)問(wèn)題和軌跡規(guī)劃的問(wèn)題,并觀察了其運(yùn)動(dòng)情況和規(guī)律。說(shuō)明該類(lèi)型在連桿和角度給定值合適的情況下能完成設(shè)定的任務(wù)。
參考文獻(xiàn):
[1]John J. Craig著,贠超等譯.機(jī)器人學(xué)導(dǎo)論[M].機(jī)械工業(yè)出版社,2006.
[2]臧慶凱,李春貴,閆向磊.Study on the Simulation of PUMA560 Robot Motion Based on MATLAB.
作者簡(jiǎn)介:
徐哲揚(yáng),重慶市,重慶交通大學(xué)。