史召峰,陳周五
(安徽工業(yè)經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院 機(jī)械與汽車工程學(xué)院,安徽 合肥 230051)
?
基于Robotics Toolbox的6R型機(jī)械臂運(yùn)動(dòng)學(xué)仿真及分析
史召峰,陳周五
(安徽工業(yè)經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院機(jī)械與汽車工程學(xué)院,安徽合肥230051)
摘要:針對(duì)6R型機(jī)械臂運(yùn)動(dòng)學(xué)進(jìn)行了研究。首先采用D-H法建立機(jī)械臂關(guān)節(jié)坐標(biāo)系并確定其連桿參數(shù),應(yīng)用MATLAB軟件中的Robotics Toolbox仿真工具箱建立該機(jī)械臂模型,其次對(duì)機(jī)械臂進(jìn)行軌跡規(guī)劃研究和運(yùn)動(dòng)學(xué)仿真,最后,基于機(jī)械臂運(yùn)動(dòng)學(xué)模型應(yīng)用可操作度指標(biāo)分析機(jī)械臂的靈巧性能,本文闡述了機(jī)械臂運(yùn)動(dòng)學(xué)仿真的一般規(guī)律,由仿真得出的結(jié)果可知,本文的研究對(duì)于關(guān)節(jié)型機(jī)械臂的運(yùn)動(dòng)學(xué)仿真具有重要意義。
關(guān)鍵詞:Robotics Toolbox;軌跡規(guī)劃;運(yùn)動(dòng)學(xué)仿真;靈活性
機(jī)械臂運(yùn)動(dòng)學(xué)是機(jī)器人研究領(lǐng)域的基礎(chǔ)課題,包括位姿層面的運(yùn)動(dòng)學(xué)研究和速度層面的運(yùn)動(dòng)學(xué)研究。關(guān)于機(jī)械臂的運(yùn)動(dòng)學(xué)研究,國(guó)內(nèi)外不少學(xué)者對(duì)其進(jìn)行了探索和研究,其中研究較多的是PUMA系列機(jī)器人和斯坦福機(jī)器人,干敏耀等基于MATLAB軟件平臺(tái)對(duì)PUMA機(jī)械臂進(jìn)行了研究,分析其運(yùn)動(dòng)學(xué)特性并對(duì)其進(jìn)行仿真[1];張微微等針對(duì)Stanford機(jī)器人進(jìn)行研究,分析了其動(dòng)力學(xué)性能并對(duì)其運(yùn)動(dòng)學(xué)進(jìn)行仿真[2];盧銳等針對(duì)PUMA560機(jī)器人作了分析,并基于機(jī)器人工具箱對(duì)其運(yùn)動(dòng)學(xué)進(jìn)行了仿真[3];李憲華等對(duì)一種機(jī)械臂進(jìn)行運(yùn)動(dòng)學(xué)研究并構(gòu)建了其3D仿真平臺(tái)[4];孫亮等針對(duì)一六自由度機(jī)械臂對(duì)其進(jìn)行軌跡規(guī)劃和仿真研究,并開發(fā)出其仿真平臺(tái)[5];謝乃柳等基于六自由度機(jī)械臂提出一種算法,對(duì)機(jī)械臂軌跡規(guī)劃進(jìn)行了研究和分析并驗(yàn)證算法的正確性[6];趙京等提出用主成分分析法分析機(jī)械臂運(yùn)動(dòng)靈活性,并以空間3R機(jī)械臂為例進(jìn)行驗(yàn)證[7]。
上述研究中多以PUMA和Stanford機(jī)器人為例,本文則以一種6R型川崎機(jī)械臂為研究對(duì)象,首先采用D-H法對(duì)機(jī)械臂進(jìn)行運(yùn)動(dòng)學(xué)建模,得到各連桿的DH參數(shù),并用機(jī)器人工具箱建立機(jī)械臂模型,其次,分別在機(jī)械臂關(guān)節(jié)空間和笛卡爾空間對(duì)其運(yùn)動(dòng)軌跡進(jìn)行規(guī)劃,分析其運(yùn)動(dòng)特性,最后,基于可操作度橢球指標(biāo)分析機(jī)械臂的靈活性。機(jī)械臂的運(yùn)動(dòng)學(xué)分析及仿真不僅可以直觀的反映末端執(zhí)行器在基礎(chǔ)坐標(biāo)系中位姿隨各關(guān)節(jié)變量的變化情況,而且能反映出機(jī)械臂的關(guān)節(jié)速度與末端操作速度之間的關(guān)系,同時(shí)得到運(yùn)動(dòng)過程中各關(guān)節(jié)位置、速度及加速度隨時(shí)間的變化關(guān)系,在仿真過程中,可以觀測(cè)到機(jī)械臂的運(yùn)動(dòng)情況,而且結(jié)果以圖形的形式直觀地顯示出來。
1機(jī)械臂D-H模型建立
本文研究的機(jī)械臂由6個(gè)轉(zhuǎn)動(dòng)關(guān)節(jié)組成,根據(jù)機(jī)械臂的結(jié)構(gòu)構(gòu)型如圖1所示,采用D-H法建立機(jī)械臂的各關(guān)節(jié)處連桿坐標(biāo)系, 完整的關(guān)節(jié)坐標(biāo)系模型如圖2所示,建立好坐標(biāo)系模型后,根據(jù)各個(gè)連桿之間的關(guān)系就可以確定該機(jī)械臂的D-H參數(shù),如表1所示。其中θi為第i關(guān)節(jié)角度值,ai為相鄰關(guān)節(jié)間的桿件長(zhǎng)度,di為相鄰關(guān)節(jié)間的桿件偏移量,αi為相鄰坐標(biāo)系間的扭轉(zhuǎn)角,其中α、a、d為固定值,θ為變量。
圖1 機(jī)械臂本體結(jié)構(gòu)
圖2 機(jī)械臂關(guān)節(jié)坐標(biāo)系
關(guān)節(jié)θi(°)αi(°)ai(m)di(mm)關(guān)節(jié)范圍(°)190-901200-160~1602-9002500-60~1503909000-120~15040-900250-360~360509000-135~135600080-360~360
其中:Cθi表示cos(θi),Sθi表示sin(θi)。
(1)
2機(jī)械臂模型建立
Robotics Toolbox工具箱里面設(shè)有機(jī)械臂研究所用到的的運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)和軌跡規(guī)劃等方面的函數(shù),應(yīng)用該工具箱除了可以進(jìn)行數(shù)值計(jì)算,還能夠?qū)C(jī)械臂進(jìn)行圖形仿真,方便觀測(cè)其運(yùn)動(dòng)規(guī)律和過程。在MATLAB軟件環(huán)境下,應(yīng)用Robotics Toolbox工具箱中的Link函數(shù)和Serial Link函數(shù)來建立機(jī)械臂的模型,Link函數(shù)的一般通式為L(zhǎng)=Link([Theta D A Alpha Sigma], CONVENTION),其中Theta表示關(guān)節(jié)變量角,D表示偏距,A表示連桿長(zhǎng)度,Alpha表示扭轉(zhuǎn)角,Sigma代表關(guān)節(jié)類型:0為轉(zhuǎn)動(dòng)關(guān)節(jié),1為移動(dòng)關(guān)節(jié),CONVENTION可以取‘standard’和‘modified’,即‘standard’為采用標(biāo)準(zhǔn)的D-H參數(shù),而‘modified’代為采用改進(jìn)的D-H參數(shù),根據(jù)表1中的機(jī)械臂DH參數(shù),構(gòu)建機(jī)械臂模型的命令如下:
L(1)=Link([Pi/2 0 120 -Pi/2 0],‘standard’);%構(gòu)建機(jī)械臂第一關(guān)節(jié)
L(2)=Link([-Pi/2 0 250 0 0], ‘standard’);%構(gòu)建機(jī)械臂第二關(guān)節(jié)
L(3)=Link([Pi/2 0 0 Pi/2 0], ‘standard’);%構(gòu)建機(jī)械臂第三關(guān)節(jié)
L(4)=Link([0 250 0 -Pi/2 0], ‘standard’);%構(gòu)建機(jī)械臂第四關(guān)節(jié)
L(5)=Link([0 0 0 Pi/2 0], ‘standard’);%構(gòu)建機(jī)械臂第五關(guān)節(jié)
L(6)=Link([0 80 0 0 0], ‘standard’);%構(gòu)建機(jī)械臂第六關(guān)節(jié)
Rob = SerialLink(L,’Name’,’Rob’); %構(gòu)建機(jī)械臂,并命名為Rob
Teach(Rob); %示教機(jī)械臂的6個(gè)關(guān)節(jié)變量,觀測(cè)機(jī)械臂的實(shí)時(shí)位姿。
執(zhí)行程序命令后即可得到機(jī)械臂的滑塊控制圖和初始姿態(tài)如圖3和圖4所示,可以看出機(jī)械臂處于初始位姿時(shí)的情況,通過調(diào)節(jié)圖3中的滾動(dòng)條可以直觀的觀測(cè)到機(jī)械臂的各個(gè)關(guān)節(jié)變化時(shí),機(jī)械臂的位姿變化情況。
圖3 滑塊控制圖圖
圖4 初始姿態(tài)
3運(yùn)動(dòng)學(xué)正解仿真
機(jī)械臂的運(yùn)動(dòng)學(xué)正解仿真可以直接有效的驗(yàn)證其絕對(duì)定位精度和重復(fù)定位精度,在各個(gè)關(guān)節(jié)都能夠到達(dá)的范圍內(nèi),隨機(jī)給每個(gè)關(guān)節(jié)變量取三個(gè)數(shù)值,分別為:[Pi/4 Pi/4 Pi/4 0 -Pi/4 0]、[Pi/2 -Pi/2 -2×Pi/3 0 -Pi/2 Pi/2]、[4×Pi/5 -Pi/2 Pi/3 Pi 0 -Pi/2],在圖3所示的控制面板中輸入以上隨機(jī)選的三組關(guān)節(jié)角度,機(jī)械臂在基礎(chǔ)坐標(biāo)系中的位姿和會(huì)由程序自動(dòng)計(jì)算出來,經(jīng)過驗(yàn)證,所得的三組機(jī)械臂的位姿和式(1)計(jì)算得到的位姿一致,驗(yàn)證了在MATLAB中建立的機(jī)械臂的模型的正確性。
4機(jī)械臂軌跡規(guī)劃
對(duì)于機(jī)械臂軌跡規(guī)劃研究,通常的軌跡規(guī)劃方式有兩種:一是機(jī)械臂關(guān)節(jié)空間的規(guī)劃,二是機(jī)械臂笛卡爾空間的規(guī)劃,此兩類軌跡規(guī)劃方式優(yōu)缺點(diǎn)并存:機(jī)械臂關(guān)節(jié)空間的軌跡規(guī)劃相對(duì)簡(jiǎn)單,算法相對(duì)容易且計(jì)算量小,但會(huì)導(dǎo)致在其在笛卡爾空間的運(yùn)動(dòng)軌跡不易觀測(cè);機(jī)械臂笛卡爾空間的軌跡規(guī)劃比則較容易觀察且直觀,但在運(yùn)動(dòng)過程中機(jī)械臂易出現(xiàn)奇異形位,從而導(dǎo)致關(guān)節(jié)速度和加速度非常大,不利于控制。因此有必要對(duì)兩種規(guī)劃方式分別研究,這里對(duì)該機(jī)械臂分別作兩種規(guī)劃仿真,在MATLAB軟件環(huán)境下,在計(jì)算機(jī)械臂的正逆解時(shí)應(yīng)用Robotics Toolbox工具箱中的Fkine函數(shù)和Ikine函數(shù),計(jì)算關(guān)節(jié)空間和笛卡爾空間的運(yùn)動(dòng)軌跡時(shí)利用Jtraj函數(shù)和Ctraj函數(shù)。
4.1機(jī)械臂關(guān)節(jié)空間軌跡規(guī)劃
設(shè)定機(jī)械臂仿真時(shí)間為5s,本文采用TPT運(yùn)動(dòng),即機(jī)械臂初始的關(guān)節(jié)值是q0=[0 0 0 0 0 0],終止的關(guān)節(jié)值是q1=[ Pi/3 -Pi/2 Pi/4 Pi/8 0 Pi/2],在MATLAB中執(zhí)行q=Jtraj(q0,q1,t)程序命令則可得到采用5次多項(xiàng)式插值方法的各個(gè)關(guān)節(jié)的變化曲線和各個(gè)關(guān)節(jié)速度和加速度的變化曲線,如圖5所示。
(a) 末端位置
(c) 關(guān)節(jié)加速度
(b) 關(guān)節(jié)變量
(d) 關(guān)節(jié)速度
由前文分析可知,給定各個(gè)關(guān)節(jié)變量的值,就可以求得該機(jī)械臂末端在基礎(chǔ)坐標(biāo)系中的變換矩陣T,由該矩陣T,計(jì)算出末端執(zhí)行器在基礎(chǔ)坐標(biāo)系下的位置和姿態(tài)。由圖5(b)中規(guī)劃好的的各組關(guān)節(jié)角,利用Robotics Toolbox工具箱中Fkine函數(shù)求得相應(yīng)的齊次變換矩陣T,用命令Plot(t,Transl(T))就可以得到機(jī)械臂末端執(zhí)行器在笛卡爾空間中的位置變化曲線,如圖5的(a)所示。為了能夠直觀的觀察末端的運(yùn)動(dòng)范圍,分別做出末端運(yùn)動(dòng)軌跡在三個(gè)坐標(biāo)平面中的投影曲線,如圖6所示。
圖6 末端軌跡在三坐標(biāo)面投影
4.2機(jī)械臂笛卡爾空間規(guī)劃
我們實(shí)際控制機(jī)械臂時(shí),只是要求機(jī)械臂能夠示教到要求軌跡上的一些比較重要的點(diǎn),再根據(jù)機(jī)械臂的運(yùn)動(dòng)方式特征求解得到這些重要的點(diǎn)之間的位置點(diǎn),最后通過在這些點(diǎn)之間采用插補(bǔ)的方式進(jìn)行軌跡規(guī)劃控制,進(jìn)而達(dá)到高精度的機(jī)械臂運(yùn)動(dòng)控制。本文取空間兩點(diǎn)A和空間B兩點(diǎn)為例,進(jìn)行笛卡爾直線軌跡規(guī)劃,其中A和B位姿的齊次變換矩陣為:
利用Ctraj函數(shù)進(jìn)行從A到B的笛卡爾間軌跡規(guī)劃,時(shí)間為5s,可以得到此過程中末端執(zhí)行器的軌跡曲線,結(jié)果如圖7所示,進(jìn)一步可以得到上述規(guī)劃過程中機(jī)械臂末端的路徑點(diǎn)圖,如圖8所示。
圖7 末端軌跡曲線
圖8 末端路徑點(diǎn)圖
在MATLAB環(huán)境下對(duì)機(jī)械臂進(jìn)行關(guān)節(jié)空間和笛卡爾空間軌跡規(guī)劃,直觀的看出各個(gè)關(guān)節(jié)的位置、速度和加速度隨時(shí)間的變化情況,以及末端執(zhí)行器的運(yùn)動(dòng)軌跡,為后續(xù)的機(jī)械臂避障規(guī)劃研究奠定了基礎(chǔ)。
5機(jī)械臂靈巧性分析及仿真
機(jī)械臂靈巧性的指標(biāo)有很多,本文采用Yoshikawa提出的可操作度指標(biāo)和可操作度橢球來分析機(jī)械臂的靈巧性能[8]。Yoshikawa定義可操作度為
(2)
式中:
σi—雅克比矩陣的奇異值,i=1,2,…m;
機(jī)械臂沿各個(gè)方向上運(yùn)動(dòng)能力的大小就是可操作度的物理意義,可以看作是機(jī)器人的整體靈活性的綜合指標(biāo)。在此基礎(chǔ)之上,Yoshikawa定義了可操作度橢球,如圖9所示,橢球各軸的方向與(J(q)JT(q))-1的特征向量一致,各軸長(zhǎng)等于其特征值平方根的倒數(shù),也等于J的奇異值。
圖9 可操作度橢球
在MATLAB軟件環(huán)境下,應(yīng)用工具箱中的Jacob0函數(shù)來計(jì)算該機(jī)械臂的雅克比矩陣,并在MATLAB中作出末端的可操作度橢球,分析其靈巧性能。由于篇幅原因,本文僅對(duì)該機(jī)械臂的工作空間內(nèi)的一個(gè)確定位姿進(jìn)行靈巧性能分析,即關(guān)節(jié)角為[Pi/3 -Pi/3 2×Pi/3 Pi/8 Pi/2 Pi/2]時(shí),其余原理相同,此時(shí)機(jī)械臂的位姿如圖10所示,所求得的機(jī)械臂在此位姿時(shí)的末端移動(dòng)速度橢球和末端轉(zhuǎn)動(dòng)速度橢球如圖11所示。
圖10 機(jī)械臂位姿
圖11 速度橢球
經(jīng)過仿真可以看出,機(jī)械臂此時(shí)刻位姿時(shí),如圖10所示,其末端的移動(dòng)速度橢球和末端的轉(zhuǎn)動(dòng)速度橢球分別如圖11中所示,由圖中可以看出橢球的都比較接近球,說明個(gè)機(jī)械臂在此位姿時(shí)的靈活性能比較好,其中半徑小的方向說明機(jī)械臂沿此方向的運(yùn)動(dòng)能力有所下降,反之,在半徑比較大的方向上,機(jī)械臂的運(yùn)動(dòng)能力較好,即靈活性能較好。當(dāng)機(jī)械臂在關(guān)節(jié)奇異形位時(shí),機(jī)械臂的可操作度橢球在某個(gè)方向上面接近為一個(gè)平面,說明沿該方向機(jī)械臂幾乎不能夠運(yùn)動(dòng)。機(jī)械臂的靈巧性仿真為后續(xù)的機(jī)械臂避障規(guī)劃研究提供了依據(jù)。
6結(jié)論
本文針對(duì)6R型川崎機(jī)械臂,借助MATLAB軟件中Robotics Toolbox工具箱,基于機(jī)械臂D-H參數(shù)建立該6R型機(jī)械臂的模型,完成對(duì)機(jī)械臂的關(guān)節(jié)空間和笛卡爾空間的軌跡規(guī)劃的仿真,得到各關(guān)節(jié)的變化曲線,驗(yàn)證該變化是否滿足各個(gè)關(guān)節(jié)位置、速度和加速度的要求,并應(yīng)用機(jī)械臂的可操作度指標(biāo),利用機(jī)械臂雅克比矩陣?yán)L制機(jī)械臂的可操作度橢球,研究和分析了機(jī)械臂在工作空間中確定位姿時(shí)的靈巧性,為以后的機(jī)械臂的避障規(guī)劃研究奠定了基礎(chǔ),具有非常高的現(xiàn)實(shí)意義。
參考文獻(xiàn):
[1]干敏耀,馬駿騎,陳永星,等. 基于MATLAB的PUMA機(jī)器人運(yùn)動(dòng)學(xué)仿真[J]. 昆明理工大學(xué)學(xué)報(bào):理工版,2003(6):50-53.
[2]張微微,郭希娟. Stanford機(jī)器人動(dòng)力學(xué)性能分析與仿真[J]. 計(jì)算機(jī)仿真,2007(5):138-141.
[3]盧銳,王忠慶.基于MATLAB Robotics TOOIs的機(jī)械臂仿真[J].電子世界,2014,(18):417-418.
[4]李憲華,張雷剛,張軍,等. 一種機(jī)械臂運(yùn)動(dòng)學(xué)研究及3D仿真平臺(tái)構(gòu)建[J].安徽理工大學(xué)學(xué)報(bào):自然科學(xué)版,2014,(3):39-44.
[5]孫亮,馬江,阮曉鋼. 六自由度機(jī)械臂軌跡規(guī)劃與仿真研究[J].控制工程, 2010, 17(3):388-392.
[6]謝乃流,陳勁杰,石巖. 基于六自由度機(jī)械臂的軌跡規(guī)劃[J].機(jī)械制造與自動(dòng)化, 2011,40(1):141-144.
[7]趙京,李立明,尚紅,等. 基于主成分分析法的機(jī)械臂運(yùn)動(dòng)靈活性性能綜合評(píng)價(jià)[J]. 機(jī)械工程學(xué)報(bào), 2014,50(13):9-15.
[8]Yoshikawa T. Manipulability of robotic mechanism [J].Int Jof Robotics Research, 1985,4(2):3-9.
(責(zé)任編輯:李孟良)
收稿日期:2016-01-05
基金項(xiàng)目:安徽省省級(jí)教學(xué)研究項(xiàng)目(2014jyxm559);安徽省省級(jí)教學(xué)團(tuán)隊(duì)(2015tszy067)。
作者簡(jiǎn)介:史召峰(1978-),男,安徽省合肥市人,碩士,講師,主要從事機(jī)電控制及CAD/CAM/CAE技術(shù)研究。
中圖分類號(hào):TP241
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1673-8772(2016)02-0060-07
Kinematic Simulation and Analysis of 6R Manipulator Based on Robotics Toolbox
SHI Zhao-feng,CHEN Zhou-wu
(School of Mechanical & Automotive Engineering, Anhui Technical College of Industry and Economy, Hefei 230051,China)
Abstract:The kinematics of manipulator was studied aimed at 6R manipulator. Firstly, the joint coordinate system of manipulator was established using D-H method and the parameters of its links were determined, then the manipulator model was established by using Robotics Toolbox simulation Toolbox of MATLAB. Secondly, the trajectory planning and kinematics simulation of manipulator were studied. Lastly, the flexibility of the manipulator was analyzed by using manipulability index based on the kinematic model of manipulator. This article describes the general laws of manipulator kinematic simulation, the results show that this study has important signi
-ficance for simulation of an articulated manipulator.
Key words:Robotics Toolbox; Trajectory planning; Kinematics simulation; Flexibility
安徽科技學(xué)院學(xué)報(bào)2016年3期