当要对运动链建模时,特别是要定义连接到每个物体的框架时,通常使用Denavit-Hartenberg参数。

这种表示法的优点是什么?

我可以理解使用标准化表示法的兴趣,但这会影响算法的性能吗?
该算法实现起来并不容易,我们可以从中获得什么收益,而不仅仅是固定参考这样的手动(任意)帧可以通过许多机器人格式完成,例如URDF。

#1 楼

除了获得矩阵乘法的最终结果(确实有很大帮助)外,DH约定的一个关键方面是可以仅针对每个链接用4个变量(即,链接长度,扭曲,偏移量和关节角度),代替规范6(即平移为3,旋转为3)。

总而言之,鉴于在DH中,我们可以方便地分配后续位置参考框架符合指定标准,因此我们可以压缩表示形式:例如对于配备7个自由度的拟人操纵器,我们只需处理7 * 4 = 28个独立变量/参数,而不是7 * 6 = 42。

#2 楼

我相信这是关键因素:


在此约定中,将坐标系附加到两个链接之间的关节上,以便将一个变换与关节[Z]和第二个与链接[X]相关联。沿着由n个链接组成的串行机器人的坐标变换形成了机器人的运动学方程,

[T] = [Z1] [X1] [Z2] [X2] ... [X(n -1)] [Zn]

其中[T]是定位末端链接的转换。


,即从串行获取转换通过附加的链接,您可以乘以转换矩阵,这比使用基本几何体手动计算所有矩阵要容易得多,而且编写起来也更容易。

注意事项

评论


$ \ begingroup $
还有另一种表示形式,称为指数乘积(POE),它也可以执行此操作,但是更加直观。 D-H的问题在于,它严格地(但不总是唯一地)约束每个关节的坐标系,这通常与我们自然选择的坐标不匹配。 POE允许坐标系是任意的,因此工程师可以选择最自然的坐标系。
$ \ endgroup $
–ryan0270
2014年4月10日在12:51

$ \ begingroup $
仍然我是说,例如,在URDF中,您将定义旋转的轴,因此根据您选择的旋转轴,基本上(对于旋转关节)具有三个矩阵。然后,您可以在之前/之后进行静态转换,以便将框架放置在所需的位置...模型中的更多参数(不像它会影响现代计算机)和更大的灵活性,不是吗?我看到的唯一兴趣是运动学校准(然后这里的参数较少很重要)
$ \ endgroup $
–托马斯·穆拉德(Thomas Moulard)
2014年10月10日14:11

$ \ begingroup $
另外,如果将其他人的DH参数交给其他人,则可以保证它们推导出您定义的相同坐标系。
$ \ endgroup $
–安德鲁·卡波迪奇(Andrew Capodieci)
2014年4月10日下午16:43

$ \ begingroup $
这和将其他人交给关节n和关节n-1坐标系之间的转换没什么不同。不必是D-H参数。
$ \ endgroup $
–ryan0270
14年4月10日在18:33