RTB matlab工具箱(1)——demo与常用函数

1. demo

rtbdemo

出现工具箱的demo和简单工具

2. 常用函数

2.1 旋转与旋转矩阵
  1. 绕某轴旋转a角度:
rotx(a);
roty(a);
rotz(a);
rotx(30)=

    1.0000         0         0
         0    0.8660   -0.5000
         0    0.5000    0.8660
  1. 欧拉角与旋转矩阵相互转化:
eul2r()   
tr2eul()
//示例:以当前坐标系为基准旋转
r1=eul2r(90,60,30);
r2=rotz(90)*roty(60)*rotz(30);      //r2 r1等价    z-y-z
  1. 旋转矩阵与RPY角(横滚-俯仰-偏航)相互转化:
rpy2r()
tr2rpy()
%doc : convert SO(3) or SE(3) matrix to roll-pitch-yaw angles
% roll and yaw:[-pi,pi)   pitch:[-pi/2,pi/2)
//示例
r3=rpy2r(90,60,30);
r4=rotz(30)*roty(60)*rotx(90);    //r2 r1等价

绕当前坐标系旋转(r1,r2),右乘(90,60,30);
绕固定坐标系旋转,左乘(30,60,90)。

2.2 旋转与变换矩阵
  1. 旋转某角度
trotx(a);
troty(a);
trotz(a);
trotx(30)=
1.0000         0         0         0
         0    0.8660   -0.5000         0
         0    0.5000    0.8660         0
         0         0         0    1.0000
  1. 欧拉角与变换矩阵相互转化:
T1=eul2tr(90,60,30);
T2=trotz(90)*trotz(60)*trotz(30);
  1. 变换矩阵与RPY角(横滚-俯仰-偏航)相互转化:
T3=rpy2tr(90,60,30);
T4=trotz(30)*troty(60)*trotx(90);
2.3 位移与变换矩阵、旋转矩阵与变换矩阵
transl()
t2r()
r2t()

例子:

T=transl(1.5,1,0.5)*trotx(30)*trotz(60);
P=transl(T);
R=t2r(T);
//结果:
T =          

    0.5000   -0.8660         0    1.5000
    0.7500    0.4330   -0.5000    1.0000
    0.4330    0.2500    0.8660    0.5000
         0         0         0    1.0000

P =                                       //提取了T中的位移

    1.5000
    1.0000
    0.5000

R =                                       //提取了T中的旋转

    0.5000   -0.8660         0
    0.7500    0.4330   -0.5000
    0.4330    0.2500    0.8660
2.4 SerialLink
  • 关于SerialLink:
    是一个类,用于表示串联手臂型的机器人。具体的函数可以通过在命令行输入doc SerialLink来查找
函数功能
teach示教功能的GUI界面
plot1×n的向量,其中n为每个关节的位置(0表示初始位置);如果是m×n的矩阵则表示动画效果
plot3d三维模型展示
fkine正向运动学
ikine6逆向运动学 —— 6轴机械臂的解析解
ikine逆向运动学 —— 在不考虑关节限制下的求数值解
ikunc逆向运动学 —— 不考虑关节限制下的求逆

例如:

q0 = [pi/2 pi/2 0 0 0];
T = five_dof.fkine(q0);

q1 = Five_dof.ikine(T,'mask',[1 1 1 1 1 0]);
//在不满6DOF下,使用mask掩膜向量,在不太重要的自由度置0
q2 = Five_dof.ikunc(T);
//没有mask的问题

结果:

T = 
         0         1         0         0
        -1         0         0   -0.6449
         0         0         1     1.181
         0         0         0         1
         
q1 =

    1.5708    1.5708   -0.0000    0.0000         0


q2 =

    1.5708    1.5708    0.0000    0.0000   -0.0000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值