La sección Matriz DH de la página DH en wikipedia tiene los detalles.
Básicamente, desea utilizar la información en su tabla para crear un conjunto de matrices de transformación homogéneas. Lo hacemos porque las transformaciones homogéneas se pueden multiplicar para encontrar la relación entre cuadros separados por uno o más. Por ejemplo, representa la transformación del cuadro 1 al cuadro 0, mientras que representa la transformación del cuadro 2 al cuadro 1. Al multiplicarlos obtenemos la transformación del cuadro 2 al cuadro 0, es decir, .0T11T20T2=0T11T2
Una manera fácil de crear cada una de las transformaciones es realizar una transformación homogénea o una matriz de rotación homogénea para cada columna de la tabla y multiplicarlas. Por ejemplo, la transformación de 1 a 0 (por ejemplo, ) esi−1Ti,i=1
0T1=Trans(d1)∗Rot(θ1)∗Trans(a2)∗Rot(α2)
dónde
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⎤⎦⎥⎥⎥⎥ .
En este caso
0T1=Rot(θ1) .
Una vez que tenga todas sus transformaciones, las multiplicará juntas, p. Ej.
0TN=0T1∗1T2...N−1TN .
Finalmente, puede leer el vector de desplazamiento de la transformación homogénea (es decir, ). Del mismo modo, puede leer la matriz de rotación de para encontrar los ángulos XYZ.0TNd=[0TN,14,0TN,24,0TN,34]T0TN