Matlab機器人工具箱機械手建模

根據上述機械手各關節的D-H參數,利用工具箱中的Link函數創建機械手各連桿;然後利用SerialLink函數把獨立的關節組合起來創建機器人對象。Link函數的調用格式爲:

L(i)=Link( [theta,D,A,alpha,sigma],‘convention’)

其參數與D-H參數相對應,前四個參數依次表示:參數‘theta’代表關節角,參數‘D’代表橫距,參數‘A’代表杆件長度,參數‘alpha’代表扭轉角,參數‘sigma’代表關節類型:0代表旋轉關節,非0代表移動關節,默認值爲0。參數 ‘convention’ 表示使用D-H參數法創建機器人模型的類型:‘standard’表示採用標準D-H參數法創建機器人模型;‘modified’表示採用該改進D-H參數法創建機器人模型,默認值爲’standard’,代碼中使用默認值。

本文采用標準D-H參數法對機械手進行建模。

x1=-pi/2; a1=121.16; d1=191.99;

x2=0; a2=850.94;

x3=0; a3=482.6;

x4=pi/2; a4=133.35;

x5=-pi/2; a5=0;

x6=0; d6=380.9;

L(1)=Link([0 d1 a1 x1]); L(1).qlim=[-pi,pi];

L(2)=Link([0 0 a2 x2]); L(2).qlim=[-pi/6,pi/2];

L(3)=Link([0 0 a3 x3]); L(3).qlim=[-pi/2,pi/2];

L(4)=Link([0 0 a4 x4]); L(4).qlim=[-pi/2,pi/2];

L(5)=Link([0 0 a5 x5]); L(5).qlim=[-pi/2,pi/2];

L(6)=Link([0 d6 0 x6]); L(6).qlim=[-pi,pi];

robot6=SerialLink(L,‘name’,‘robot6’);

teach(robot6,‘degrees’);

0座標系不用建立,直接從1座標系開始,建系原則:根據L(i)= Link( [theta,D,A,alpha,sigma])參數順序。

1座標系→2座標系:沿z1軸平移d1→沿x1軸平移a1→繞x1軸旋轉-90°→2座標系;

2座標系→3座標系:此處對於z2軸有一定的旋轉角度,暫且不管,沿x2軸平移a2即可;

3座標系→4座標系:沿x3軸平移a3→4座標系;

4座標系→5座標系:沿x4軸平移a4→繞x4軸旋轉90°→5座標系;

5座標系→6座標系: 由於6座標系的z6軸是旋轉軸,所以只需繞x5軸旋轉-90°→6座標系;

6座標系→手抓座標系:這兩個座標系名義上是重合的,但是需要沿着z6軸平移一段距離d6;
在這裏插入圖片描述根據座標系圖得到各個旋轉軸的轉角:0,-82.19pi/180,82.19pi/180,0,-pi/2,0. 必須轉化爲弧度,這個轉角需要根據三維模型和初始模型來確定。在robot6=SerialLink(L,‘name’,‘robot6’);後面添加如下兩行代碼:

qa=[0,-82.19pi/180,82.19pi/180,0,-pi/2,0];

robot6=SerialLink(L,‘offset’,qa);

或者合併爲一行:robot6=SerialLink(L,‘name’,‘robot6’,‘offset’,qa);

最後的座標系如下圖:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章