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;