维基百科上DH页的DH Matrix部分提供了详细信息。
基本上,您想使用表中的信息来创建一组齐次转换矩阵。我们这样做是因为可以将齐次变换相乘以找到由一个或多个其他帧分隔的帧之间的关系。例如,表示从帧1到帧0 的转换,而表示从帧2到帧1的转换。通过将它们相乘,我们得到从帧2到帧0的转换,即。0T11T20T2=0T11T2
创建每个变换的一种简单方法是为表中的每一列进行齐次变换或齐次旋转矩阵,并将它们相乘。例如,从1到0的转换(例如)是i−1Ti,i=1
0T1=Trans(d1)∗Rot(θ1)∗Trans(a2)∗Rot(α2)
哪里
Trans(d1)=⎡⎣⎢⎢⎢10000100001000d1=01⎤⎦⎥⎥⎥,
Rot(θ1)=⎡⎣⎢⎢⎢⎢cos(θ1)sin(θ1)00−sin(θ1)cos(θ1)0000100001⎤⎦⎥⎥⎥⎥,
Trans(a2)=⎡⎣⎢⎢⎢100001000010a2=0001⎤⎦⎥⎥⎥,
Rot(α2)=⎡⎣⎢⎢⎢⎢10000cos(α2=0)sin(α2=0)00−sin(α2=0)cos(α2=0)00001⎤⎦⎥⎥⎥⎥。
在这种情况下
0T1=Rot(θ1)。
一旦完成所有转换,就将它们相乘,例如
0TN=0T1∗1T2...N−1TN。
最后,您可以从均匀变换读取位移矢量(即)。同样,您可以从读出旋转矩阵以找到XYZ角。0TNd=[0TN,14,0TN,24,0TN,34]T0TN