Matlab机器人工具箱(2):修修改改终于可以运行的代码们
程序员文章站
2022-05-21 09:38:47
...
利用teach函数实现示教功能(工具箱 v9.1)
需要注意的是
- 9.1版本的机器人工具箱,其长度是以m为单位的,需要换算成mm,否则会报错内存不足
- 使用qlim函数对角度范围进行限制,这里的角度都是以rad的为单位的,所以30°要写为30*pi/180
%teach 函数使用
%robot toolbox V9.1
%matlab r2016a
%
clc;
clear;
% theta d a alpha
L(1) = Link([pi/2 0 0 0 0]);
L(2) = Link([0 0.15 0 -pi/2 0]);
L(3) = Link([-pi/2 0 0.431 0 0]);
L(4) = Link([0 0.433 0.020 -pi/2 0]);
L(5) = Link([0 0 0 pi/2 0]);
L(6) = Link([0 0 0 -pi/2 0]);
%定义关节范围
L(1).qlim =[-160*pi/180, 160*pi/180];
L(2).qlim =[-225*pi/180, 45*pi/180];
L(3).qlim =[-45*pi/180, 225*pi/180];
L(4).qlim =[-110*pi/180,170*pi/180];
L(5).qlim =[-100*pi/180,100*pi/180];
L(6).qlim =[-222*pi/180,222*pi/180];
p560=SerialLink(L,'name','puma560');
%初始关节角度
theta = [pi/2 0 -pi/2 0 0 0];
p560.plot(theta);
p560.teach
运行效果:
利用subplot函数在一张图中同时展现机械臂多个姿态
L(1)=Link([0,0,1,0]);
L(2)=Link([0,0,.8,0]);
L(3)=Link([0,0,.6,0]);
tree_link=SerialLink(L,'name','tree_link');
T = tree_link.fkine([0 0 0]);
subplot(2,2,1)
title('T')
tree_link.plot([0 0 0])
subplot(2,2,2)
title('T1')
tree_link.plot([pi/2 0 0])
subplot(2,2,3)
title('T2')
tree_link.plot([pi/2 pi/2 0])
subplot(2,2,4)
title('T3')
tree_link.plot([pi/2 pi/2 pi/2])
效果图: