标准DH建模与改进DH建模(一)——标准DH建模方法整理与总结

仅供个人学习记录

前言

DH法一般用一次就丢,然后后面再需要用的时候就会忘,所以本文整理了DH建模法,方便需要使用的时候进行参考。这里不讲原理,只讲结论和方法

1. 建模方法(简述)

DH法可分成以下几步:

  1. 辨认出关节和连杆(关节序号从1到n,连杆序号从0到n)
  2. 确定Z轴(n号关节上的坐标系序号为n-1)
  3. 确定每个坐标系的原点
  4. 确定XY轴
  5. 确定Tool frame(根据Tool fram是否满足DH潜在条件而决定是否要特殊处理)
  6. 写出DH参数表
  7. 写出转换方程

其中对于第二步情况也要分为两种

  1. 旋转关节
  2. 平动关节

其中对于第四步情况分为三种:

  1. Zi与Zi-1不共面
  2. Zi与Zi-1平行
  3. Zi与Zi-1相交

关于第5点的补充:
DH方法默认的两个条件是:
在这里插入图片描述
除了Tool frame以外的frame 是按照规则建系的,因此只有Tool frame的x轴需要注意这两个条件。如果建完Tool frame发现不满足上述条件,应该采取以下三种解决方法的其中一种:

  1. 抛弃DH法直接用坐标转换来完成最后那个转换矩阵
  2. 调整Tool frame使其能够使用DH法
  3. 在tool frame前面再额外增加一个frame,相应的DH表也要多一行

一些有用的结论:

  1. 坐标系是附着在前一个连杆上的,关节运动的时候,该关节上的坐标系不会跟着后面的连杆运动
  2. 坐标系的建立方法并不唯一

2. 建模方法(详细)

需要建模的话,按照如下步骤一步步建模即可。注意tool frame那边建完了需要检查
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

### 六轴机器人DH参数建模方法及示例 #### 定义DH参数 对于六轴机器人而言,Denavit-Hartenberg (DH) 参数是种广泛应用的方法来描述相邻连杆之间的相对位姿。DH参数由四个基本量组成:θ(关节角度)、d(沿Z轴的距离)、a(沿X轴的距离)以及α(绕X轴的角度)。这些参数能够简洁地定义两坐标系间的转换关系[^2]。 #### 连杆坐标系的建立 按照标准DH约定,在构建六轴机器人的各连杆坐标系时需遵循特定规则: - Z轴方向应沿着当前关节的旋转或移动方向; - X轴位于前连杆本连杆相交处,并垂直于这两个连杆所在的平面; - Y轴则依据右手定则确定其指向; 值得注意的是,尽管存在定的约束条件,但在实际应用中不同研究者可能会采用略有差异的方式设定初始坐标系的位置和朝向,因此所得到的具体数值可能有所不同。 #### 创建DH参数表 基于上述原则,针对具体型号的六轴工业机器人可逐步推导出完整的DH参数列表。此过程涉及对每对相连环节间几何特性的精确测量分析,最终形成如下表格所示的数据结构: | 关节编号 | θ(i) | d(i) | a(i−1) | α(i−1) | |--|----------| | 1 | θ₁ | d₁ | 0 | π/2 | | 2 | −π/2 + θ₂| 0 | a₁ | 0 | | ... | ... | ... | ... | ... | #### MATLAB实现案例 为了便于理解和操作,下面给出段简单的MATLAB代码片段作为示范,该程序实现了基于给定DH参数计算正向运动学的功能: ```matlab function T = forward_kinematics_DH(theta, d, a, alpha) % 输入变量theta,d,a,alpha分别为六个关节对应的DH参数数组 T = eye(4); % 初始化变换矩阵为单位阵 for i=1:length(theta), Ti = [ cos(theta(i)) -sin(theta(i))*cos(alpha(i)) sin(theta(i))*sin(alpha(i)) a(i)*cos(theta(i)); sin(theta(i)) cos(theta(i))*cos(alpha(i)) -cos(theta(i))*sin(alpha(i)) a(i)*sin(theta(i)); 0 sin(alpha(i)) cos(alpha(i)) d(i); 0 0 0 1]; T = T * Ti; end disp(T); ``` 这段脚本接受组代表各个自由度状态的输入值并返回整个机械臂末端执行器相对于基座的姿态信息——即齐次变换矩阵`T`。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值