Denavit-Hartenberg Parameters

From Wikipedia, the free encyclopedia

A commonly used convention for selecting frames of reference in robotics applications is the Denavit and Hartenberg (D-H) convention which introduced by Jaques Denavit and Richard S. Hartenberg. In this convention, each homogeneous transformation is represented as a product of four basic transformations. The common normal between two lines was the main geometric concept that allowed Denavit and Hartenberg to find a minimal representation. The transformation is described by the following four parameters known as D-H Parameters:[1]

  • a\,: length
  • \alpha\,: twist
  • d\,: offset
  • \theta\,: angle

Since only four parameters are used, the frames that can be represented this way has to satisfy two more constraints

  1. the xn-axis is perpendicular to the zn − 1 axis
  2. the xn-axis intersects zn − 1 axis


Every link/joint pair can be described as a coordinate transformation from the previous coordinate system to the next coordinate system.

{}^{n - 1}T_n
  = \operatorname{Trans}_{z_{n - 1}}(d_n) \cdot
    \operatorname{Rot}_{z_{n - 1}}(\theta_n) \cdot
    \operatorname{Trans}_{x_n}(a_n) \cdot
    \operatorname{Rot}_{x_n}(\alpha_n)

Note that these are 2 screws after oneanother. See Screw (motion).

The matrices mentioned above are as follows:

\operatorname{Trans}_{z_{n - 1}}(d_n)
  = \begin{pmatrix}
    1 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 \\
    0 & 0 & 1 & d_n \\
    0 & 0 & 0 & 1 \\
  \end{pmatrix}
\operatorname{Rot}_{z_{n - 1}}(\theta_n)
  = \begin{pmatrix}
    \cos\theta_n & -\sin\theta_n & 0 & 0 \\
    \sin\theta_n &  \cos\theta_n & 0 & 0 \\
    0 & 0 & 1 & 0 \\
    0 & 0 & 0 & 1 \\
  \end{pmatrix}
\operatorname{Trans}_{x_n}(a_n)
  = \begin{pmatrix}
    1 & 0 & 0 & a_n \\
    0 & 1 & 0 & 0 \\
    0 & 0 & 1 & 0 \\
    0 & 0 & 0 & 1 \\
  \end{pmatrix}
\operatorname{Rot}_{x_n}(\alpha_n)
  = \begin{pmatrix}
    1 & 0 & 0 & 0 \\
    0 & \cos\alpha_n & -\sin\alpha_n & 0 \\
    0 & \sin\alpha_n & \cos\alpha_n & 0 \\
    0 & 0 & 0 & 1 \\
  \end{pmatrix}

This gives:

\operatorname{}^{n - 1}T_n
  = \begin{pmatrix}
    \cos\theta_n & -\sin\theta_n \cos\alpha_n & \sin\theta_n \sin\alpha_n & a_n \cos\theta_n \\
    \sin\theta_n & \cos\theta_n \cos\alpha_n & -\cos\theta_n \sin\alpha_n & a_n \sin\theta_n \\
    0 & \sin\alpha_n & \cos\alpha_n & d_n \\
    0 & 0 & 0 & 1 \\
  \end{pmatrix}

[edit] References

  1. ^ Spong, M., M. Vidyasagar, ”Robot Dynamics and Control”, John Wiley and Sons, 1989
Languages