建立六轴机器人D-H表,小白向

简介

最近刚刚接触机械臂运动控制,并尝试建立机械臂D-H表。但是网上的资料都大同小异,描述都过于官方,让刚刚接触机械臂的我头疼不已。所以在硬啃下这一块的内容后才发现有更好更通俗的描述方法和D-H表建立过程。所以在这些进行一个小结。

准备工作

准备的东西有:

  1. 机械臂模型(可以转换为STL文件);
  2. Matlab机器人工具箱(Robotics Toolbox);
  3. 了解一行Matlab代码
L(1)=Link('revolute','d',0.488,'a',0.170,'alpha',-(pi/2),'offset',0,'qlim',[-165,165]/180*pi);
%从左往右,参数的含义分别是
%D-H表中的d、a、α(alpha)以及θ(offset)
%qlim为关节转动的角度限制
  1. 几行Matlab代码,建立.m文件。(可以直接粘贴)
%在一些需要了解和后续修改的地方进行注释
%% plot
clear;
clc;

Five_dof=SerialLink(L,'name','5-dof');
Five_dof.base=transl(0,0,0);%设定机器人基座
subplot(1,2,1)
plot(Five_dof,[0],'tilesize',0.1,'workspace',[-1 1 -1 1 0 2])%设定工作区域(workspace)
Five_dof.teach

%% 三维模型
clear;
clc;

Five_dof.base=transl(0,0,0);
Five_dof=SerialLink(L,'name','5-dof');
Five_dof.base=transl(0,0,0);

q0=[0];
v=[35,20];
w=[-1 2 -1 2 0 2];

% subplot(1,2,2)
set(gcf,'position',[500,150,800,500])

Five_dof.plot3d(q0,'tilesize',0.1,'workspace',w,'path','E:\Nanchang uni\150A_STL','nowrist','view',v)%设定STL模型所在的绝对路径(path)

好了,接下来开始将三维模型逐步导入到matlab中;

关于 D-H表

在这里以节卡JAKA-ZU-7的标准型D-H表为例子。在建立D-H表时,需要同时结合matlab进行,已验证D-H表建立的正确性。(文末有伯朗特机器人150A作为练习)

几个需要注意的点:

  1. 基座为连杆0;
  2. 先找每个关节的Z轴且方向为关节旋转轴的方向;
  3. 坐标系原点的位置可以沿Z轴方向移动;
  4. X轴方向的选取要灵活,尽量指向下一坐标系原点;
  5. 对于坐标系所在平面的选择,应根据第2点尽量将坐标系在放一个平面(如机械臂中轴面);
  6. X轴方向的选取和坐标系原点可以结合matlab进行;
  7. 在标准D-H表中,四个参数的顺序是θ,d,a,以及α。

θ:坐标系绕Z轴旋转
d:坐标系沿Z轴位移
a:坐标系沿X轴位移
α:坐标系绕X轴旋转

建立D-H表并导入Matlab

机械臂(JAKA)尺寸图如下:
在这里插入图片描述

1、Z轴:

在这里插入图片描述

2、建立相邻连杆的坐标轴,并建立D-H表

在这里插入图片描述

θdaα
pi/2120.150pi/2

3、验证D-H表以及坐标系建立是否正确:

L(1)=Link('revolute','d'120.15,'a',0,'alpha',pi/2,'offset',pi/2);

将这行代码的参数修改后加入之前建好的.m文件中
在这里插入图片描述

  1. 两个位置如红线所示;
  2. 注意修改STL文件位置。

4、运行计算后,通过matlab检验模型相对位置和运动是否满足自己需求;(为方便观察,已经将三维模型的显示划分为一个小节,节运行即可。)

5、重复上述步骤

小结

相对于一次就建立好D-H表再导入matlab,这样的方式建立难度会降低,更好解决matlab中出现的问题;对于刚刚入坑机械臂控制的同学很友好。
后续还会更新一些机械臂末端画圆等matlab代码,关于机械臂控制常见问题欢迎讨论;
此外:
1、需要掌握D-H表参数意义,描述当前连杆特性及与下一连杆的联系;
2、注意模型转换过程中的单位选取;关于模型建立,可以看哔哩哔哩up住讲解;

https://www.bilibili.com/video/BV1q44y1x7WC/?spm_id_from=333.337.search-card.all.click

勃朗特机器人尺寸链接:

https://www.borunte.com/productRobotDetail?id=11289b6dfc9f44c6b785f60a5e9e4021&type=1

在这里插入图片描述

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值