Matlab机器人工具箱安装与使用
一、安装
1、首先应安装好matlab,然后去Peter官网下载Robotics Toolbox,官方下载网址为:
https://petercorke.com/resources/downloads/
2、下载10.3.1版本
3、下载好之后放到自己知道的路径中,这里推荐放到matlab的tools文件夹中,方便集成。具体的地址如下图所示。
4、添加路径
5、运行rvctools文件夹下边的startup_rvc.m。运行完之后会显示:
6、测试是否安装成功:在命令行输入rtbdemo会显示出如下的界面:
二、简单使用
给出一个建立机器人的demo:
%采用机器人工具箱进行正逆运动学验证
a=[0,-0.3,-0.3,0,0,0];%DH参数
d=[0.05,0,0,0.06,0.05,0.04];
alp=[pi/2,0,0,pi/2,-pi/2,0];
%机器人工具箱模型,每一个L建立一个连杆,输入DH参数即可,offset是连杆的初始偏移量,此处为0
L(1) = Link('d', d(1), 'a', a(1), 'alpha', alp(1));
L(2) = Link('d', d(2), 'a', a(2), 'alpha', alp(2), 'offset', 0 );
L(3) = Link('d', d(3), 'a', a(3), 'alpha', alp(3), 'offset', 0 );
L(4) = Link('d', d(4), 'a', a(4), 'alpha', alp(4), 'offset',0);
L(5) = Link('d', d(5), 'a', a(5), 'alpha', alp(5));
L(6) = Link('d', d(6), 'a', a(6), 'alpha', alp(6));
bot = SerialLink(L,'name','rbt');%将六个连杆组合起来
figure(1)
bot.display();%显示机器人模型
view(3)
bot.teach;
运行该段代码会显示出如下机器人模型:
上述代码中a,d,alp分别是机器人的标准DH参数,若需要使用MDH参数进行建模则需要在Link类中注明‘MDH’。
Link类用来创建机器人的关节和连杆,常用的属性有:
% theta kinematic: joint angle
% d kinematic: link offset
% a kinematic: link length
% alpha kinematic: link twist
% jointtype kinematic: 'R' if revolute, 'P' if prismatic
% mdh kinematic: 0 if standard D&H, else 1
% offset kinematic: joint variable offset
% qlim kinematic: joint variable limits [min max]
%-
% m dynamic: link mass
% r dynamic: link COG wrt link coordinate frame 3x1
% I dynamic: link inertia matrix, symmetric 3x3, about link COG.
% B dynamic: link viscous friction (motor referred)
% Tc dynamic: link Coulomb friction
%-
% G actuator: gear ratio
% Jm actuator: motor inertia (motor referred)
分为两部分:运动学属性和动力学属性。jointtype定义关节属性旋转还是平移,mdh参数用来选择标准DH参数还是改进DH参数,offser用来定义初始关节偏移量,qlim用来定义关节极限。m为连杆的质量,r为连杆质心,I为连杆的基于质心的惯性张量要区别于一阶惯性矩,因为惯性张量为对称阵,定义错了会报错。
接下来验证正运动学:
q=[1,-1,1,-1,1,1];%给定初始角度
T_rbt = bot.fkine(q);%采用机器人工具箱函数求正运动学
定义了机器人类为bot,所以计算正运动学时需要bot.fkine。
逆运动学:
q_rbt = bot.ikine(T_rbt,'q0',q)%采用RTB的逆运动学计算上边得到的齐次矩阵对应的关节角度,给定初始值可以更快的收敛到给定的角度
机器人工具箱的逆运动学为数值解,通过雅可比迭代来求解,所以只能给出一个解。给定初始值可以使解快速的收敛到给定解的附近。用自己编写的逆运动学来验证:
q_ikine = invkinematics(T_fkine)%编写的逆运动学,可以给出八组解,对比上边计算出的解其中有一个和上边的解相同;
q_rbt =
1 -1 1 -1 1 1
q_ikine =
1.0000 -1.0000 1.0000 -1.0000 1.0000 1.0000
1.0000 0.0000 -1.0000 0.0000 1.0000 1.0000
1.0000 -0.5997 0.5026 2.2387 -1.0000 4.1416
1.0000 -0.0971 -0.5026 2.7413 -1.0000 4.1416
-1.9047 -3.0774 0.5581 0.2718 2.0026 -2.3608
-1.9047 -2.5193 -0.5581 0.8299 2.0026 -2.3608
-1.9047 -3.1204 0.9663 3.0482 -2.0026 0.7808
-1.9047 -2.1542 -0.9663 4.0145 -2.0026 0.7808
可以看出解析解可以给出八组解其中一组是和数值解对应的。
以上便是安装和使用的简单教程,如有错误还请指正。