标准DH与改进DH的讨论The discussion of sDH and mDH

本文深入探讨了机器人学中DH参数的两种表示方法——标准DH和改进DH,详细解析了它们在坐标系设置、参数定义及坐标变换上的差异,并通过实例展示了如何应用这两种方法为机器人手臂建立坐标系。

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

浅尝辄止是乐趣,也导向惶恐

前言

这个学期开了“机器人学”的课程,学到了机器人手臂位置的表示,老师主要教的mDH,后来略微提到了sDH,在提到标准的DH表示后有不理解,于是自己钻研了一会,在在这里写下来,以防止以后自己再有不解,再者也是分享给诸位。
读本文的前提:掌握了基本的坐标变换,至少知道mDH或者sDH中一种

重要理解

1.一个连杆对应一个坐标系,坐标系代表了连杆的特征。
2.连杆与连杆之间的位置关系对应就是坐标与坐标的位置关系。
3.一个连杆的坐标系可以固连在连杆的任何位置,坐标系的轴方向也可以是任意,mDH与sDH只是规定了坐标系固连的位置与坐标系轴的朝向的一种建模方法。
4.DH表描述的是杆之间的关系

描述

在这里插入图片描述
1.改进DH:连杆的坐标系放置在连杆的近端(即上一个关节i的位置),Z轴方向上一个i关节轴向平行(朝向可自拟定),X轴朝向上一个关节i轴向与下一个j关节j轴向的叉乘方向(即两关节的公垂线(公法线)方向)。
DH参数(αi−1,ai−1,θi,di)(αi-1,ai-1,θi,di)αi1ai1θidi
角度确定
αi−1:以Xi−1方向看,Zi−1和Zi之间的夹角αi-1:以Xi-1方向看,Zi-1和Zi之间的夹角αi1Xi1Zi1Zi
ai−1:沿着Xi−1方向,Zi−1和Zi之间的距离ai-1:沿着Xi-1方向,Zi-1和Zi之间的距离ai1沿Xi1Zi1Zi
θi:以Zi方向看,Xi−1和Xi之间的夹角θi:以Zi方向看,Xi-1和Xi之间的夹角θiZiXi1Xi
di:沿着Zi方向,Xi−1和Xi之间的距离di:沿着Zi方向,Xi-1和Xi之间的距离di沿ZiXi1Xi
由于我们得到参数是先相对于Xi−1Xi-1Xi1方向 后相对于 ZiZiZi方向 得到的四个参数(αi−1,ai−1,θi,di)(αi-1,ai-1,θi,di)αi1ai1θidi,所以在转换矩阵中执行的顺序也是(αi−1,ai−1,θi,di)(αi-1,ai-1,θi,di)αi1ai1θidi,这里我们可以发现θi,diθi,diθidi都是以ZiZiZi变换的,所以在变换前后ZiZiZi的方向不变,所以在转换矩阵中θi,diθi,diθidi的位置可以互换,同理αi−1,ai−1αi-1,ai-1αi1ai1
在这里插入图片描述
2.标准DH:连杆的坐标系放置在连杆的远端(即下一个关节j的位置),Z轴方向下一个j关节轴向平行(朝向可自拟定),X轴朝向下一个关节i轴向与上一个关节j轴向的叉乘方向(即两关节的公垂线(公法线)方向)。
DH参数(θi,di,αi,ai)(θi,di,αi,ai)θidiαiai
角度确定
θi:以Zi−1方向看,Xi−1和Xi之间的夹角θi:以Zi-1方向看,Xi-1和Xi之间的夹角θiZi1Xi1Xi
di:沿着Zi−1方向,Xi−1和Xi之间的距离di:沿着Zi-1方向,Xi-1和Xi之间的距离di沿Zi1Xi1Xi
αi:以Xi方向看,Zi−1和Zi之间的夹角αi:以Xi方向看,Zi-1和Zi之间的夹角αiXiZi1Zi
ai:沿着Xi方向,Zi−1和Zi之间的距离ai:沿着Xi方向,Zi-1和Zi之间的距离ai沿XiZi1Zi
由于我们得到参数是先相对于 Zi−1Zi-1Zi1方向 后相对于 XiXiXi方向 得到的四个参数(θi,di,αi,ai)(θi,di,αi,ai)θidiαiai,所以在转换矩阵中执行的顺序也是(θi,di,αi,ai)(θi,di,αi,ai)θidiαiai,这里我们可以发现
θi,diθi,diθidi都是以Zi−1Zi-1Zi1变换的,所以在变换前后Zi−1Zi-1Zi1的方向不变,所以在转换矩阵中θi,di的位置可以互换,同理αi,aiθi,di的位置可以互换,同理αi,aiθidiαiai

区别:1.坐标放置系放置的位置不同;2.Z轴方向与X轴方向的定义不同;3.坐标变换的顺序不同。
mDH的优越点:对于闭环的系统,用标准DH会出现坐标重叠产生歧义,而改进sDH由于坐标系在近端则不会出现这种情况。

例子

使用标准DH与改进DH表示法建立如下机械手的坐标系,写出其DH表格。
在这里插入图片描述
分析:这是一个很普通的0-R-R-R的机器人,连杆都在同一平面内。
改进DH
在这里插入图片描述

如图,由于所有连杆在同一坐标系内,所以所有坐标系的的Z轴都垂直于纸面向外,基坐标系{0}与坐标系{1}原点重叠。给出DH表:
在这里插入图片描述
标准DH
在这里插入图片描述
如图,由于所有连杆在同一坐标系内,所以所有坐标系的的Z轴都垂直于纸面向外,坐标系{2}与末端坐标系{3}原点重叠。给出DH表:
在这里插入图片描述

总结

总的来说,DH表是用于确定两个坐标系关系的表达。无论是标准的DH或是优化的DH,
θi,di表示的两个坐标系Xi−1与Xi轴的位置关系(θi表示两X轴的空间夹角,di表示的是两轴的空间距离),同理αi,ai(αi−1,ai−1),至于矩阵乘法的位置关系在于参考轴的选择,数值的不同在于两种DH构建坐标系的位置不同θi,di表示的两个坐标系Xi-1与Xi轴的位置关系(θi表示两X轴的空间夹角,di表示的是两轴的空间距离),同理αi,ai(αi-1,ai-1),至于矩阵乘法的位置关系在于参考轴的选择,数值的不同在于两种DH构建坐标系的位置不同θidiXi1XiθiXdiαiaiαi1ai1DH
不大不小,就是一种建模方法,如果诸位也有更好的方法也未尝不可,最怕陷入僵硬的教条,在别人指定的规则中死磕硬碰,去究所谓的对错。也真是可笑

有误错欢迎批评指正,水平有限

### 标准DH参数改进DH参数的关 在机器人学运动学中,Denavit-Hartenberg(DH)参数用于定义相邻连杆坐标之间的相对位置和方向。两种主要的形式是标准DH参数和改进DH参数。 #### 标准DH参数 标准DH参数遵循特定的约定,在构建连杆坐标时有严格的顺序:先沿前一连杆的z轴平移,再绕该z轴旋转;接着沿当前连杆的x轴移动,最后绕此x轴转动[^1]。然而这种形式存在局限性,比如当描述某些类型的关节活动度时会遇到困难,像引用中的情况提到的传统方法不允许绕Y轴(Ry(q2))这样的操作[^2]。 #### 改进DH参数 为了克服这些限制并简化模型建立过程,引入了改进版的DH参数设置方式。其特点在于允许更灵活地指定各自由度的方向以及起始点的选择,从而使得对于复杂结构机器人的建模变得更加直观简便[^5]。具体来说,改进后的版本放宽了一些关于如何放置坐标的规定,让使用者可以根据实际情况调整最合适的姿态表示法[^4]。 两者之间并非完全对立而是互补关,取决于应用场景和个人偏好选用合适的一种或混合使用二者的优势部分来完成具体的任务需求分析工作。 ```matlab % 定义一个基于标准DH参数的两连杆机械臂 L(1) = Link([0 pi/2 0 d1], 'standard'); % 使用'standard'选项指明采用经典DH定义 L(2) = Link([a2 0 q2 0], 'standard'); % 对于同样的物理装置也可以通过修改参数适应不同的算法框架下求解正逆向解析等问题 ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值