matlab機器人工具箱的熟悉
0.二維空間位姿描述
x=1;y=2;theta=0.1;
T = SE2(x,y,theta);%代表(x,y)的平移和theta角度的旋轉
trplot2(T);%畫出相對於世界座標系的變換T
T = transl2(x,y);%二維空間中,純平移的齊次變換
% trplot2(T);%畫出相對於世界座標系的變換T
1.三維空間位姿描述:
①rotx( ),roty( ),rotz( ) %繞xyz軸旋轉theta得到旋轉矩陣(3×3)
②trplot ( ) %繪製出相應的旋轉矩陣
③tranimate( ) %實現一個旋轉動畫(動態效果)
④transl( ) %實現座標平移變換
⑤trotx( ),troty( ),trotz( ) %繞xyz軸旋轉theta得到齊次變換矩陣(4×4)
2、Link類:
R = Link([theta,d,a,alpha])關節角、連桿偏距、連桿長度、連桿轉角
屬性:R.RP:獲取連桿關節類型 R.theta:獲取連桿關節角
R.d : 獲取連桿偏距
R.a : 獲取連桿長度 R.alpha : 獲取連桿扭轉角
sigma : 默認0,轉動關節;1,移動關節
mdh : 默認O,標準D・H; 1, 改進SD-H
3.SerialLink類
L = SerialLink(links,options)
屬性:
L.plot(theta) %plot theta對應的姿態
L.display %顯示DH param
L.teach %示教界面
4.運動學
Six_Link = SerialLink(L,'name','sixlink');
Six_Link.fkine([pi/2 -pi/4 pi/2 pi/3 -pi/2 pi/6])
Six_Link.ikine6s(T ) %逆運動學封閉解;只適用SDH,自己寫求解函數;
Six_Link.ikine(T ) %逆運動學數值解;
5、雅可比矩陣
Six_Link.jacob0( ) %相對於座標系0
Six_Link.jacobn( ) %相對於座標系n; Jn 和J0關係:速度伴隨矩陣
實例:
L(1) = Link([0 0 0 0], 'modified');
L(2) = Link([0 0.138+0.024 0 -pi/2], 'modified');
L(3) = Link([0 -0.127-0.024 0.420 0], 'modified');
L(4) = Link([0 0.114+0.021 0.375 0], 'modified');
L(5) = Link([0 0.114+0.021 0 -pi/2], 'modified');
L(6) = Link([0 0.090+0.021 0 pi/2], 'modified');
Six_Link = SerialLink(L,'name','sixlink');
Six_Link.display;