Denavit-Hartenberg-Transformation

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Beispiel einer kinematischen Kette anhand eines Roboters; mit Koordinatensystemen und DH-Parametern

Die Denavit-Hartenberg-Transformation (DH-Transformation) aus dem Jahr 1955 ist ein mathematisches Verfahren, das auf der Basis von homogenen Matrizen und der sogenannten Denavit-Hartenberg-Konvention (DH-Konvention) die Überführung von Ortskoordinatensystemen (OKS) innerhalb von kinematischen Ketten beschreibt. Sie erleichtert so vor allem die Berechnung der direkten Kinematik (Vorwärtskinematik) und gilt hierbei mittlerweile als das Standardverfahren, insbesondere im Bereich Robotik.

DH-Konvention[Bearbeiten]

Folgende Voraussetzungen sind notwendig:

  1. die z_{n-1}-Achse liegt entlang der Bewegungsachse des n-ten Gelenks
  2. die x_{n}-Achse ist das Kreuzprodukt von z_{n-1}-Achse und z_{n}-Achse (= z_{n-1} x z_{n}).
  3. das Koordinatensystem wird durch die y_n-Achse so ergänzt, dass es ein rechtshändiges System ergibt.

Für das erste Gelenk wird die x-Achse vom zweiten Gelenk übernommen.

DH-Transformation[Bearbeiten]

Die eigentliche DH-Transformation vom Objektkoordinatensystem (OKS) T_{n - 1} in das OKS T_n besteht in der Hintereinanderausführung folgender Einzeltransformationen:

  • einer Rotation \theta_n (Gelenkwinkel) um die z_{n - 1}-Achse, damit die x_{n - 1}-Achse parallel zu der x_n-Achse liegt
Schritt 1 der Denavit-Hartenberg-Transformation. Koordinatensysteme und der zugehörige Denavit-Hartenberg Parameter
\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}


  • einer Translation d_n (Gelenkabstand) entlang der z_{n - 1}- Achse bis zu dem Punkt, wo sich z_{n - 1} und x_n schneiden
Schritt 2 der Denavit-Hartenberg-Transformation. Koordinatensysteme und der zugehörige Denavit-Hartenberg Parameter
\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}


  • einer Translation a_n (Armelementlänge) entlang der x_n-Achse, um die Ursprünge der Koordinatensysteme in Deckung zu bringen
Schritt 3 der Denavit-Hartenberg-Transformation. Koordinatensysteme und der zugehörige Denavit-Hartenberg Parameter
\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}


  • einer Rotation \alpha_n (Verwindung) um die x_n-Achse, um die z_{n - 1}-Achse in die z_n-Achse zu überführen
Schritt 4 der Denavit-Hartenberg-Transformation. Koordinatensysteme und der zugehörige Denavit-Hartenberg Parameter
\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}

In Matrixschreibweise lautet die Gesamttransformation dann (von links nach rechts zu interpretieren):

Koordinatensysteme und die zugehörigen Denavit-Hartenberg parameter
\begin{align}
    {}^{n - 1}T_n
  =& \operatorname{Rot}(z_{n - 1}, \theta_n) \cdot
     \operatorname{Trans}(z_{n - 1}, d_n) \cdot
     \operatorname{Trans}(x_n, a_n) \cdot
     \operatorname{Rot}(x_n, \alpha_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}\,.\end{align}

Die Inverse dieser Matrix

\begin{align}
    {}^{n - 1}T_{n}^{-1}
  =& \operatorname{Rot}(x_{n}, -\alpha_n) \cdot
     \operatorname{Trans}(x_{n}, -a_n) \cdot
     \operatorname{Trans}(z_{n-1}, -d_n) \cdot
     \operatorname{Rot}(z_{n-1}, -\theta_n)\\
   & \\
  =& \begin{pmatrix}
     \cos-\theta_n & -\sin -\theta_n & 0 & -a_n  \\
     \sin-\theta_n \cos-\alpha_n & \cos-\theta_n \cos-\alpha_n & -\sin-\alpha_n & -\sin(-\alpha_n) (-d_n) \\
     \sin-\alpha_n \sin-\theta_n & \sin-\alpha_n \cos-\theta_n & \cos-\alpha_n & \cos(-\alpha_n)  (-d_n) \\
     0 & 0 & 0 & 1 \\
     \end{pmatrix}\\
   & \\
  =& \begin{pmatrix}
     \cos\theta_n & \sin \theta_n & 0 & -a_n  \\
     -\sin\theta_n \cos\alpha_n & \cos\theta_n \cos\alpha_n & \sin\alpha_n & -d_n \sin\alpha_n \\
     \sin\alpha_n \sin\theta_n & -\cos\theta_n \sin\alpha_n & \cos\alpha_n & -d_n \cos\alpha_n \\
     0 & 0 & 0 & 1 \\
     \end{pmatrix}\end{align}

beschreibt die Transformation eines Punktes vom OKS T_n ins OKS T_{n - 1}. Entsprechend kann die ursprüngliche Matrix {}^{n - 1}T_n auch als Transformation eines Punktes vom OKS T_{n - 1} ins OKS T_n interpretiert werden, wenn der Ortsvektor des Punktes von rechts an die Matrix multipliziert wird.

Die Parameter \theta_n, d_n, a_n und \alpha_n werden dabei auch Denavit-Hartenberg-Parameter genannt.

Bei offenen kinematischen Ketten sind \theta_n und d_n variable Größen während der Bewegung des Roboters, abhängig von dessen spezieller Geometrie und Maßen. Bei einem rotatorischen Gelenk ist \theta_n variant und d_n konstant, bei einem Schubgelenk umgekehrt. \alpha_n und a_n dagegen sind sowohl bei Rotations-, als auch bei Schubgelenken invariante Größen und müssen für die spätere Berechnung der direkten Kinematik nur einmal für jedes einzelne Armelement bestimmt werden.

Weblinks[Bearbeiten]

 Commons: Denavit-Hartenberg-Transformation – Sammlung von Bildern, Videos und Audiodateien

Literatur[Bearbeiten]

  • Hans-Jürgen Siegert, Siegfried Bocionek: Robotik, Programmierung intelligenter Roboter. Springer Verlag 1996, ISBN 3-540-60665-3.
  • Wolfgang Weber: Industrieroboter, Methoden der Steuerung und Regelung. Carl Hanser Verlag, München Wien, 2009, ISBN 978-3-446-41031-2.
  • Jorge Angeles: Fundamentals of Robotic Mechanical Systems. Springer Verlag, New York, 1997, ISBN 0-387-94540-7.
  • Friedrich Pfeiffer, Eduard Reithmeier: Roboterdynamik. Teubner Verlag, Stuttgart, 1987, ISBN 3-519-02077-7.
  • Miomir Vukobratvic: Introduction to Robotics. Springer Verlag, Berlin, 1989, ISBN 0-387-17452-4.
  • John J. Craig: Introduction to Robotics, Mechanics and Control. Pearson Prentice Hall, NJ 07458, 2005, ISBN 0-201-54361-3.