欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

运行效果:
Matlab机器人工具箱(2):修修改改终于可以运行的代码们

利用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])

效果图:
Matlab机器人工具箱(2):修修改改终于可以运行的代码们

相关标签: 机器人学