机器人理论(3)DH表达法:解析关节轴之间的关系

本文介绍了机器人学中的DH表达法,用于描述机械臂关节间的坐标关系。通过构建DH表格,可以解决正向运动学问题,理解关节如何通过平移和旋转到达目标位置。文中以PUMA560机械臂为例,阐述了DH表的构建过程和应用,并提及DH表达法的两种版本及其差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导言

我们都知道关节一般会导致(驱动)机械臂产生两种状态:平移或者转动。也知道我们需要借助坐标系来描述物体的姿态和位置信息,那如何为一整个机械臂建立一个完整的坐标系,从而能够求解每个关节通过平移/旋转多少值让机械臂最终拿到我们的目标物品呢?在这里需要借助DH表达法来定义我们的坐标系的作法,并且给出需要求解的数值(平移\large d/旋转\large \Theta)在空间上的表达。

本节是学习正逆向运动学的基础。


D-H表达法(Denavit-Hartenberg)

DH表达法有两个通用版本,一个是标准版(standard),一个是craig版本,在这先使用craig版本作解释。

一般(驱动)关节(joint)分为两种:转轴(R型,revolute)或者 滑动杆 / 平移(P型,prismatic)

目录

如何构建DH表格

相关例题

DH表的作用

相关例子(PUMA560)

扩展(选读)

DH表达法的另一个版本(标准版)

复合型关节如何得到驱动数值

 


 

如何构建DH表格

构建DH表格首先需要画出坐标系,然后根据坐标系的数据做表。

(1)如何确定 z 轴?

首先找到每个关节的转动/平移方向

平移关节 :  沿着平移方向画 z 轴

转轴关节 :垂直转动方向做 z 轴

注:方向不唯一,全凭喜好或条件选择轴向正负

可以看到这个机械臂由转动、平移、转动关节组成,即所谓的RPR类型机械臂。

(2)如何确定 x 轴?

上过高中的一定知道啦,空间中的两条线一定能找到一条线与它们都垂直。

找到一条与关节 \large i、关节 i+1 的 z 轴都垂直并相交的线,这条线就是 x 轴 。

注:方向不唯一,全凭喜好或条件选择轴向正负

需要注意的是( 下面的(5) 解释了 \large a_{i} 是个什么东西 ):

Z_{i}Z_{i+1}不在同一平面上时:\large a_{i} ≠0, x 轴沿着这条线。

Z_{i}Z_{i+1}在同一平面上:\large a_{i} =0

(3)如何确定 y 轴?

已知 x 轴、 z 轴,与它们两两垂直的就是 y 轴。(符合坐标系的右手定则)

### 六机械臂运动学逆解方法解析 对于六机械臂而言,求解其运动学逆解具有重要意义。当机械臂的结构满足特定条件时,能够获得较为简便的解析解。 #### Pieper 准则的应用 若六自由度机械臂的后三交于一点,则该机械臂遵循Pieper准则的第一种情况[^1]。这种情况下,可以通过解析法来获取运动学逆解。具体来说,在此配置下,末端执行器的姿态仅由最后三个关节决定,而位置则取决于前三个关节的角度设置。因此,整个求解过程可分解为两个独立的部分处理: - **姿态计算**:利用末端执行器所需达到的目标方向矩阵,反推出第4至6号关节的具体转角。 - **位置计算**:基于已知的姿态信息以及目标坐标系下的期望位置,进一步推导出第1至3关节所需的转动角度。 这种方法不仅简化了原本复杂的多变量方程组求根问题,还提高了算法效率和准确性。 #### 实际操作中的注意事项 值得注意的是,并不是所有的六机器人均能满足上述提到的理想化假设条件。例如某些型号可能因为实际制造工艺上的限制无法做到完全共点交汇。此时就需要考虑其他替代方案如数值逼近或者优化算法来进行近似求解[^2]。 另外,在编写具体的实现程序时,还需要注意不同软件平台之间的兼容性和稳定性差异。比如MATLAB环境下可能存在版本间的函数调用不一致等问题,需提前做好测试工作以确保代码正常运行[^4]。 ```matlab % 假设已经定义好了DH参数和其他必要输入数据 function theta = inverseKinematics(T_target, DH_params) % T_target为目标变换矩阵; DH_params为Denavit-Hartenberg参数列表 % 计算手腕中心Wc的位置 (此处省略具体公式表达) % 使用几何关系确定theta1~theta3 ... % 利用手腕方位信息得到theta4~theta6 ... end ```
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值