Matlab机器人仿真(五):利用DH法建立六轴机器人(复现,整合,记录)

DH法包括两种:一种为标准DH法,另一种为改进型DH法,如图所示(图片转载来自https://blog.csdn.net/qq_26565435/article/details/91460988):
图片来自:https://blog.csdn.net/qq_26565435/article/details/91460988
在这里插入图片描述

在这里插入图片描述

例子:建立一个常见的简单3轴机器人:

在这里插入图片描述
在建立一个常见的六轴机器人:

在这里插入图片描述
例子如图所示:
case1:
在这里插入图片描述
case 2:
在这里插入图片描述
case 3:
在这里插入图片描述

在matlab中建立机械臂模型
MATLAB代码:

%%利用标准D-H法建立多轴机器人
clear;
clc;
L1 = Link('d', 5, 'a', 5, 'alpha', -pi/2,'offset',0);    %Link 类函数;offset建立初始的偏转角
L2 = Link('d', 0, 'a', 20, 'alpha', 0,  'offset',0);
L3 = Link('d', 0, 'a', 5, 'alpha', -pi/2,'offset',0);
L4 = Link('d', 20, 'a', 0, 'alpha', pi/2,'offset',0);
L5 = Link('d', 0, 'a', 0, 'alpha', -pi/2,'offset',0);
L6 = Link('d', 10, 'a', 0, 'alpha', 0,   'offset',0);

L1.qlim = [-pi/2,pi];%利用qlim设置每个关节的旋转角度范围
robot=SerialLink([L1,L2,L3,L4,L5,L6],'name','S725');   %SerialLink 类函数

%% 普通机器人的示教展示

robot.display();%展示出机器人的信息
teach(robot);%调出示教滑块

得出如下:
在这里插入图片描述
matlab机械臂中常用函数的应用:
代码里含详细解释:

%%利用标准D-H法建立多轴机器人
clear;
clc;
L1 = Link('d', 5, 'a', 5, 'alpha', -pi/2,'offset',0);    %Link 类函数;offset建立初始的偏转角
L2 = Link('d', 0, 'a', 20, 'alpha', 0,  'offset',0);
L3 = Link('d', 0, 'a', 5, 'alpha', -pi/2,'offset',0);
L4 = Link('d', 20, 'a', 0, 'alpha', pi/2,'offset',0);
L5 = Link('d', 0, 'a', 0, 'alpha', -pi/2,'offset',0);
L6 = Link('d', 10, 'a', 0, 'alpha', 0,   'offset',0);

L1.qlim = [-pi/2,pi];%利用qlim设置每个关节的旋转角度范围
robot=SerialLink([L1,L2,L3,L4,L5,L6],'name','S725');   %SerialLink 类函数

%% 普通机器人的示教展示

robot.display();%展示出机器人的信息
teach(robot);%调出示教滑块
 
%% 展示当六个关节角为000000时对应的姿态

% theta=[0 0 0 0 0 0];
% robot.plot(theta);   
% p_1=robot.fkine(theta);

%% 机器人的正解函数

% theta1=[pi/4,-pi/3,pi/6,pi/4,-pi/3,pi/6];
% robot.plot(theta1);
% p0=robot.fkine(theta);
% p1=robot.fkine(theta1);

%% 机器人的逆解

Pos_x=30;Pos_y=0;Pos_z=-25;
 p = [1 0 0 Pos_x;
      0 1 0 Pos_y;
      0 0 1 Pos_z;
      0 0 0 1];%已知空间中的位姿q
mask = [1 1 1 0 0 0];
q=ikine(robot,p,'mask',mask);   %ikine逆解函数,根据末端位姿p,求解出关节角q
robot.plot(q);%输出机器人模型,后面的三个角为输出时的theta姿态
disp(q);
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值