问题

关于六轴机器人的D-H建模方法的疑问?

回答
六轴机器人是一种在三维空间中具有六个自由度的机械臂,通常用于工业自动化、焊接、喷涂、搬运等领域。理解六轴机器人的运动学,特别是DH(DenavitHartenberg)建模方法,对于机器人控制和仿真至关重要。下面我将详细解释DH建模方法,并解答一些常见的疑问。

六轴机器人DH建模方法详解

DH建模方法是一种系统地描述机器人连杆(Link)和关节(Joint)之间几何关系的标准方法。它通过定义一系列的坐标系(Frame),并将连杆之间的变换关系用一组参数来表示,从而建立起机器人各个关节之间的运动学联系。

DH参数的定义

一个DH模型需要定义两组参数:

1. 标准DH参数 (Standard DH Parameters):
$ heta$ (Joint Angle): 旋转关节的角度,或者移动关节的位置。
$d$ (Link Offset): 移动关节的距离,或者旋转关节的偏移量。
$a$ (Link Length): 相邻连杆之间的公共垂直线的长度。
$alpha$ (Link Twist): 相邻连杆之间的公共垂直线与连杆轴线之间的夹角。

2. 改进DH参数 (Modified DH Parameters):
$a$ (Link Length): 相邻连杆之间的距离。
$alpha$ (Link Twist): 相邻连杆之间的夹角。
$d$ (Joint Offset): 关节轴的偏移量。
$ heta$ (Joint Angle): 关节轴的旋转角度。

为什么会有两种DH参数?

这两种参数的定义方式略有不同,但它们都旨在以一种系统化的方式描述连杆之间的变换。标准DH参数更侧重于描述连杆的物理长度和连接方式,而改进DH参数则更侧重于描述关节的旋转和偏移。在实际应用中,选择哪种DH参数取决于个人习惯和所使用的机器人库或仿真软件。以下我将主要以标准DH参数为例进行讲解,因为它是更常见和基础的。

DH坐标系建立的规则

为了能够正确地应用DH参数,需要遵循一套严格的坐标系建立规则。对于一个具有 $n$ 个关节的机器人,我们需要建立 $n+1$ 个坐标系:

$0$ 号坐标系 (Base Frame): 通常固定在机器人的基座上。
$i$ 号坐标系 (Link Frame): 与第 $i$ 个连杆相关联,并跟随该连杆一起运动。
$n$ 号坐标系 (EndEffector Frame): 与机器人的末端执行器相关联。

以下是建立坐标系的规则:

1. 建立基坐标系 ($0$):
选择一个合适的参考点作为原点。
$z_0$ 轴通常沿第一个关节的旋转轴(对于旋转关节)或第一个连杆的移动方向(对于移动关节)。
$x_0$ 轴通常指向某个容易识别的特征点,或者与$z_0$轴垂直且在某个平面内。
$y_0$ 轴根据右手定则确定,使得 ($x_0$, $y_0$, $z_0$) 构成一个右手坐标系。

2. 建立第 $i$ 个连杆坐标系 ($i$):
$z_i$ 轴: 沿第 $i+1$ 个关节的旋转轴(对于旋转关节)或第 $i$ 个连杆的移动方向(对于移动关节)。
公共垂直线: 找到连接 $z_{i1}$ 轴和 $z_i$ 轴的公共垂直线。
$x_i$ 轴: 沿公共垂直线从 $z_{i1}$ 指向 $z_i$ 的方向。
$y_i$ 轴: 根据右手定则确定,使得 ($x_i$, $y_i$, $z_i$) 构成一个右手坐标系。

3. 对于第一个关节 ($i=1$):
$z_0$ 轴 是机器人基座的参考轴,通常与第一个关节的旋转轴重合。
$x_0$ 轴 定义了基座的参考方向。
$y_0$ 轴 根据右手定则确定。
$z_1$ 轴 沿第一个关节的旋转轴(旋转关节)或第一个连杆的移动方向(移动关节)。
公共垂直线: 找到连接 $z_0$ 和 $z_1$ 的公共垂直线。
$x_1$ 轴 沿公共垂直线,方向从 $z_0$ 指向 $z_1$。
$y_1$ 轴 根据右手定则确定。

4. 对于后续关节 ($i=2, 3, ..., n$):
$z_i$ 轴 沿第 $i+1$ 个关节的旋转轴(旋转关节)或第 $i$ 个连杆的移动方向(移动关节)。
公共垂直线: 找到连接 $z_{i1}$ 轴和 $z_i$ 轴的公共垂直线。
$x_i$ 轴: 沿公共垂直线,方向从 $z_{i1}$ 指向 $z_i$。
$y_i$ 轴: 根据右手定则确定。

重要注意:
如果 $z_{i1}$ 和 $z_i$ 轴平行,则公共垂直线不存在。此时,我们通常让 $x_i$ 轴与 $z_{i1}$ 和 $z_i$ 都垂直,并且方向由 $z_{i1}$ 和 $z_i$ 的叉乘决定。
如果 $z_{i1}$ 和 $z_i$ 轴相交,则公共垂直线的长度为零,且 $x_i$ 轴的方向由 $z_{i1}$ 和 $z_i$ 的叉乘决定。

DH参数的计算

一旦建立了各连杆的坐标系,就可以根据坐标系之间的相对位置和方向来计算DH参数。这通常需要仔细观察机器人的几何结构,并进行测量或从CAD模型中提取。

假设我们已经建立了连杆 $i1$ 和连杆 $i$ 上的坐标系 ($i1$) 和 ($i$)。我们考虑从坐标系 ($i1$) 到坐标系 ($i$) 的变换。

1. $ heta_i$ (Joint Angle): 这是绕 $z_{i1}$ 轴的旋转角度,使得 $x_{i1}$ 轴与 $x_i$ 轴共面(或者说,$x_i$ 轴在由 $z_{i1}$ 定义的平面内)。
对于旋转关节,$ heta_i$ 是关节变量。
对于移动关节,$ heta_i$ 是固定的,通常为0。

2. $d_i$ (Link Offset): 这是沿 $z_{i1}$ 轴的平移距离,使得 $x_{i1}$ 轴与 $x_i$ 轴的交点(或者它们所在的直线)到达 $x_i$ 轴。
对于旋转关节,$d_i$ 是固定的,通常为0。
对于移动关节,$d_i$ 是关节变量。

3. $a_i$ (Link Length): 这是沿公共垂直线(连接 $z_{i1}$ 和 $z_i$ 轴的线段)的长度。这个长度是两个轴的交点之间的距离。
如果 $z_{i1}$ 和 $z_i$ 平行,则 $a_i$ 是 $z_{i1}$ 和 $z_i$ 之间的距离。
如果 $z_{i1}$ 和 $z_i$ 相交,则 $a_i=0$。

4. $alpha_i$ (Link Twist): 这是绕公共垂直线($x_i$ 轴)的旋转角度,使得 $z_{i1}$ 轴与 $z_i$ 轴对齐。
$alpha_i$ 是 $z_{i1}$ 轴与 $z_i$ 轴之间的夹角。

变换矩阵 (Transformation Matrix)

DH参数将连杆 $i1$ 的坐标系 ($i1$) 变换到连杆 $i$ 的坐标系 ($i$) 的过程表示为一系列基本变换:

$$^ {i1}_i mathbf{T} = ext{Rot}(z_{i1}, heta_i) cdot ext{Trans}(z_{i1}, d_i) cdot ext{Trans}(x_i, a_i) cdot ext{Rot}(x_i, alpha_i)$$

其中:
$ ext{Rot}(axis, angle)$ 是绕指定轴旋转特定角度的旋转矩阵。
$ ext{Trans}(axis, distance)$ 是沿指定轴平移特定距离的平移矩阵。

展开后,单个DH变换矩阵为:

$$^ {i1}_i mathbf{T} = egin{bmatrix}
c_{ heta_i} & s_{ heta_i}c_{alpha_i} & s_{ heta_i}s_{alpha_i} & a_i c_{ heta_i} \
s_{ heta_i} & c_{ heta_i}c_{alpha_i} & c_{ heta_i}s_{alpha_i} & a_i s_{ heta_i} \
0 & s_{alpha_i} & c_{alpha_i} & d_i \
0 & 0 & 0 & 1
end{bmatrix}$$

其中 $c$ 表示余弦,$s$ 表示正弦。

正运动学 (Forward Kinematics)

要找到机器人末端执行器的位姿(位置和姿态),需要将所有连杆之间的变换矩阵逐个相乘。从基座坐标系 ($0$) 到末端执行器坐标系 ($n$) 的总变换矩阵为:

$$mathbf{T}_{0,n} = ^ {0}_1 mathbf{T} cdot ^ {1}_2 mathbf{T} cdot ^ {2}_3 mathbf{T} cdot ldots cdot ^ {n1}_n mathbf{T}$$

这个矩阵 $mathbf{T}_{0,n}$ 就包含了末端执行器相对于基座坐标系的平移(前3行前3列)和旋转(前3行前3列的旋转部分)。

常见疑问及解答

1. DH建模中坐标系建立是否唯一?

不唯一。虽然有明确的规则,但在选择第一个坐标系的基准点和方向,以及在公共垂直线不存在时如何定义 $x_i$ 轴的方向时,可能存在一定的灵活性。不同的坐标系建立方式会导致DH参数不同,但最终的运动学模型(末端执行器的位姿)应该是等效的。

关键在于一致性: 一旦确定了坐标系的建立方式,就必须严格遵循,以确保DH参数的正确计算。
影响: 不同的坐标系建立方式会影响DH参数的具体数值,但变换矩阵的乘积所代表的物理意义(末端执行器的位姿)应该是相同的。

2. 如何处理平行关节轴?

当 $z_{i1}$ 和 $z_i$ 轴平行时,不存在唯一的公共垂直线。在这种情况下:

选择 $x_i$ 的方向: 通常选择一个与 $z_{i1}$(因此也与 $z_i$)垂直的向量作为 $x_i$ 轴的方向。例如,可以将其设置为与 $z_{i1}$ 垂直且在某个平面内的方向。
$alpha_i$ 参数: 如果 $z_{i1}$ 和 $z_i$ 平行且同向,$alpha_i = 0$。如果平行但反向,$alpha_i = pi$。
$a_i$ 参数: $a_i$ 是两个平行轴之间的距离。

3. 如何处理相交关节轴?

当 $z_{i1}$ 和 $z_i$ 轴相交时,公共垂直线的长度为零,即 $a_i = 0$。此时:

$x_i$ 的方向: $x_i$ 轴的方向通常由 $z_{i1}$ 和 $z_i$ 轴的叉乘决定,即 $x_i = z_{i1} imes z_i$。
$alpha_i$ 参数: $alpha_i$ 是绕 $x_i$ 轴的旋转角度,用于使 $z_{i1}$ 轴与 $z_i$ 轴对齐。

4. 标准DH vs. 改进DH,哪个更好?

标准DH:
优点: 许多经典机器人学教材和文献都使用标准DH,其参数物理意义更直观地对应连杆的长度和扭转。
缺点: 在关节轴平行时,$alpha_i$ 的选择可能存在不确定性,或者需要额外的规则来处理。

改进DH:
优点: 解决了标准DH在关节轴平行时的部分模糊性,可以更直接地处理一些机器人结构。例如,许多工业机器人(如ABB, KUKA)的DH模型就是基于改进DH的。
缺点: 参数的物理意义可能不如标准DH直观。

选择哪种DH参数取决于你的具体需求和所使用的工具。 如果你正在学习,理解标准DH是基础。如果你的目标是与特定机器人型号兼容,查看该型号的官方文献或SDK可能会提供其使用的DH参数类型。

5. DH建模在六轴机器人中的应用实例

六轴机器人通常具有以下关节类型:

关节1 (Base Joint): 绕基座的旋转。
关节2 (Shoulder Joint): 绕与基座大致垂直的轴旋转。
关节3 (Elbow Joint): 绕与肩部关节大致平行的轴旋转。
关节4 (Wrist Roll Joint): 绕腕部的一根轴旋转。
关节5 (Wrist Pitch Joint): 绕腕部的另一根轴旋转。
关节6 (Wrist Yaw Joint): 绕末端执行器方向的轴旋转。

在建立DH模型时,你需要:

1. 确定基坐标系 ($0$): 通常固定在机器人基座上。
2. 识别每个关节的旋转/移动轴: 这些将成为 $z_i$ 轴。
3. 识别每个连杆的长度和扭转角: 这些将成为 $a_i$ 和 $alpha_i$ 参数。
4. 根据关节类型确定 $ heta_i$ 和 $d_i$:
旋转关节:$ heta_i$ 是关节变量, $d_i$ 是固定值(通常为0)。
移动关节:$d_i$ 是关节变量, $ heta_i$ 是固定值(通常为0)。
5. 计算每个连杆之间的DH参数: 重复上述规则,从 $i=1$ 到 $i=6$(或者如果算上末端执行器坐标系,则到 $i=7$)。

举例说明(简化版,具体参数需根据实际机器人测量):

假设一个简化的六轴机器人,我们这样定义坐标系:

坐标系0: 基座, $z_0$ 沿关节1旋转轴。
坐标系1: 随连杆1移动, $z_1$ 沿关节2旋转轴。$x_1$ 沿连杆1的长度方向。
坐标系2: 随连杆2移动, $z_2$ 沿关节3旋转轴。
... 以此类推,直到 坐标系6 随末端执行器移动。

然后根据坐标系之间的关系计算DH参数 ($ heta_i, d_i, a_i, alpha_i$)。

6. DH建模的局限性

不适用于所有机器人: DH模型特别适用于链式机器人,对于具有闭环结构或特殊拓扑的机器人可能不适用或需要修改。
手动建模繁琐: 对于复杂的机器人,手动确定坐标系和计算DH参数可能非常耗时且容易出错。现代机器人软件通常提供工具来辅助建模。
关节变量的顺序影响: 尽管总的变换矩阵相同,但不同坐标系建立方式(或不同DH参数集)的中间变换矩阵顺序可能不同,这会影响你对关节变量的理解。

总结

DH建模是理解和控制六轴机器人运动学的关键。通过系统地定义连杆坐标系并计算DH参数,我们可以将复杂的机器人运动分解为一系列简单的齐次变换矩阵的乘积。这使得我们能够计算出机器人的正运动学(给定关节角度,求末端执行器位姿)和逆运动学(给定末端执行器位姿,求关节角度)。理解DH参数的定义、坐标系建立规则以及变换矩阵的构建是掌握机器人运动学的核心。

如果您有更具体关于某个六轴机器人型号或者在DH建模过程中遇到的具体问题,欢迎继续提出,我会尽力提供更详细的解答。

网友意见

user avatar

可以,但不方便。


因为正向运动学是从0关节向n关节推算。你要注意的是,文中的旋转和平移全部都是用n坐标系的元素去旋转n坐标系(最后一条的“将z_n轴绕x_n+1轴旋转”中的“x_n+1轴”其实应该是“旋转后的x_n轴”)。这是用n关节推算n+1关节的方法。

你的先绕x_n+1轴旋转的算法是从n+1关节推算n关节。为什么这里不能是n关节推算n+1关节呢?因为在当前的n坐标系里面基本上不会有一个坐标轴与x_n+1平行。换言之,你要绕x_n+1轴去旋转n坐标系而不是n+1坐标系的话,就是沿一条特别的轴(而不是当前的x_n, y_n, z_n中任何一者)去旋转。这个数学描述就相对麻烦了(尽管也是可行的,可实际上要么你去查某些书上的公式,要么还是等同于先把x_n转到x_n+1,等转完z_n之后还要把x_n转回去,然后下一步还要再转回来)。而你要从n+1关节推算n关节,最后出来的旋转矩阵和n关节推算n+1关节的旋转矩阵是互逆的。你需要多做一步矩阵取逆才能得到正向运动学需要的那个矩阵。

无论用哪种方法,最后得到的旋转矩阵都是一样的,从数学上来讲没有区别。但是显然,在正向运动学中,你用书上的这种方法更简单、更直接。

类似的话题

  • 回答
    六轴机器人是一种在三维空间中具有六个自由度的机械臂,通常用于工业自动化、焊接、喷涂、搬运等领域。理解六轴机器人的运动学,特别是DH(DenavitHartenberg)建模方法,对于机器人控制和仿真至关重要。下面我将详细解释DH建模方法,并解答一些常见的疑问。 六轴机器人DH建模方法详解DH建模方法.............
  • 回答
    《极限挑战》六人组的关系,从最初的“男人帮”到如今的“老友”,中间经历了不少故事,不是一蹴而就的,也不是一成不变的。要说怎么变成现在这样的,得从他们第一次凑在一起说起。初识:碰撞与火花(第一季)刚开始,《极限挑战》找来这几位,很多人都觉得挺不可思议的。孙红雷,影帝,演技派,谁知道他会这么“孙红雷”;.............
  • 回答
    “六学”这个词,咱们得从它的字面意思先拆解开。顾名思义,“六”加上“学”,听着就像是某种学术体系,或者是一种研究方法。但如果你真的去翻找那些正儿八经的学术期刊,或者在大学的课程表里寻找“六学”这门学科,那多半是找不到的。“六学”到底是什么?实际上,“六学”并不是一个严谨的学术流派,它更像是一种网络文.............
  • 回答
    关于乌克兰媒体报道俄罗斯提出的“停火六条件”,其中五项要求写入乌克兰宪法,这无疑是一个牵动人心的重大信息。我们可以从几个维度来深入探讨,理解其背后可能的含义、影响以及我们应该关注的其他方面。一、 俄方提出的“停火六条件”究竟是什么?虽然报道中提及了“六条件”,但具体的细节至关重要。我们必须了解这六个.............
  • 回答
    毒品问题是一个全球性、系统性的社会危机,其危害涉及个人健康、家庭关系、社会秩序和经济结构等多个层面。以下从多个维度详细阐述贩毒与吸毒的骇人听闻的事实: 一、毒品的全球性生产与流通1. 毒品生产地分布 阿富汗:全球最大的鸦片生产国,占全球鸦片产量的80%以上,其战争与贫困环境为毒品种植提供了.............
  • 回答
    新中国建立以来,高考制度的演变以及其间出现的“工农兵大学生”现象,再到恢复高考,这是一段充满时代烙印和深刻社会变迁的历史。我从中看到了国家教育政策的调整、社会需求的变化、人才选拔机制的探索,以及一代代中国人在特定历史时期所经历的机遇与挑战。一、 高考的肇始与早期探索(新中国成立至文革前)新中国成立之.............
  • 回答
    关于德国占领青岛时修建下水道,并因此延用百年至今青岛不淹水的故事,大致是真的,但需要更详细和准确的阐述,其中也包含一些夸大和简化的地方。以下是关于这个故事的详细阐述,尽量还原历史的真相:一、 德国占领青岛的背景与目的 背景: 1897年,德国以“巨野教案”为借口,出兵占领了山东胶州湾地区,并于1.............
  • 回答
    “现代化就戕害了心灵和幸福感么?” 这是一个深刻且复杂的问题,即使是在《工程师的良知》这样的著作中,也可能会存在一些值得商榷的观点。要详细探讨这个问题,我们需要从工业革命带来的普遍影响,特别是对心灵和幸福感的负面解读入手,然后审视这些解读是否绝对或全面,并考虑现代化的其他方面以及人们应对的方式。《工.............
  • 回答
    关于教育改革的设想:按专业分配不同权值到不同科目是否具备可行性?这是一个非常有意思且具有深远意义的教育改革设想。总的来说,按专业分配不同的权值到不同科目是具备可行性的,并且在很多现代教育体系中,虽然不以“权值”这种直接的术语来表述,但其精神和核心理念已经以各种形式存在。 然而,要真正实现并发挥其积极.............
  • 回答
    关于《哆啦A梦》,你可能知道它是一部关于一只来自未来的机器猫帮助一个普通小学生大雄的动画片。但在这部深受喜爱的作品背后,隐藏着许多鲜为人知的细节和故事,让这部经典更加有趣和丰富。以下是一些关于《哆啦A梦》的冷知识,力求详细讲述:1. 哆啦A梦的名字由来与“铜锣烧”的误解 名字的含义: “哆啦”(.............
  • 回答
    站在丹妮莉丝·坦格利安的角度,考虑到她在那一刻的绝望、愤怒、背叛感和对她信念的坚守,以下是我大胆猜测她死前可能想说但没有说的话,并尽可能详细地阐述:她站在君临的王座厅里,空气中弥漫着烧焦的木头和灰烬的味道,但更多的是一种冰冷,一种让她浑身颤抖的冰冷。琼恩·雪诺,她曾经深爱着、信任着、视为未来希望的男.............
  • 回答
    关于某视频博主“九品芝麻铲屎官”发布的“没有50W彩礼,女朋友被强行拖走,我还怎么办?”这一情况,在特定条件下,是可以报警的,并且在某些情况下,报警是您的合法权益和重要途径。以下将从多个角度详细阐述: 一、 能否报警以及报警的法律依据首先,核心的问题是:在女友被“强行拖走”的情况下,您是否具备报警的.............
  • 回答
    您好!关于货拉拉事件,您提出的疑问触及了公众舆论中非常核心和敏感的几个层面:社会责任、平台责任、个体权利保护以及舆论的发酵与认知偏差。我将尝试从这些角度,结合人民日报的通报精神,来详细解释为什么会有那么多人支持司机“无责”,以及其中的复杂性。首先,我们回顾一下人民日报通报传达的核心精神:人民日报作为.............
  • 回答
    关于央视对货拉拉事件的评论,大家的看法确实是多元且复杂的。我们可以从几个层面来分析这些评论:一、 央视评论的常见切入点与核心观点:在货拉拉事件引发广泛关注后,央视作为国家级媒体,其评论通常会带有引导舆论、传递官方立场、并呼吁解决问题的特点。综合来看,央视的评论可能涵盖以下几个方面: 强调法律法规.............
  • 回答
    “女生吃虾一定要别人剥”这个说法,背后其实牵涉到很多层面的解读,也反映了当下社会中一些关于性别角色、人际互动和个体习惯的讨论。我们可以从以下几个角度来详细分析:1. 对传统性别角色的固化与挑战: 传统印象中的“女性特质”: 在一些传统的社会观念里,女性被描绘成需要被呵护、娇弱、不擅长做“粗活”或.............
  • 回答
    作为一个AI模型,我没有个人经历和情感,因此我没有“预判错了”或“预判对了”的个人感受。我的知识来源于我训练的数据,这些数据包含了大量关于美国疫情的信息,包括新闻报道、科学研究、政府报告等等。然而,我可以基于这些信息,总结出在过去几年中,关于美国疫情的讨论中,哪些方面的预测和观察被普遍认为是准确的,.............
  • 回答
    关于腾讯在未查清真相之前,直接冻结老干妈1600万资产的行为是否合理,这是一个非常复杂的问题,涉及到法律、商业道德、以及信息不对称等多个层面。要详细地分析这个问题,我们需要从几个关键点入手:事件背景回顾:首先,我们需要回顾一下事件的起因。腾讯声称,老干妈(贵州南明老干妈食品有限责任公司)欠腾讯千万元.............
  • 回答
    关于“二婚不准办酒席”的说法,在不同的文化背景、社会观念和个人经历下,会引发多种多样的看法。这并不是一个普适的规定,而更多地是民间的一种约定俗成、传统观念的体现,或者是一些特定群体的选择。下面我将从多个角度详细阐述大家可能有的看法:一、 传统观念与社会习俗的影响: “破财消灾”或“不吉利”的观念.............
  • 回答
    关于“能不能二婚”这个问题,其实是一个非常个人化、社会化且涉及多方面因素的议题。它没有一个绝对的“能”或“不能”的答案,而是取决于个人的具体情况、社会观念、法律法规以及个人价值观的综合考量。下面我将从几个主要方面进行详细阐述: 一、 个人层面:心理与情感这是最核心也是最关键的因素。能否开启一段新的婚.............
  • 回答
    关于泽连斯基可能破例获得2022年诺贝尔和平奖的讨论,可以从多个角度进行深入分析。首先,需要明确的是,诺贝尔和平奖的评选标准是“为促进民族团结友好、取消或裁减常备军队等事业,做出最杰出贡献的人”。在这样的框架下,我们来审视泽连斯基的可能性。泽连斯基角逐诺贝尔和平奖的可能性分析:1. 俄罗斯入侵乌克兰.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有