You are on page 1of 10

Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16

Vorwort
Nachfolgend soll die Koordinatentransformation nach Denavit-Hartenberg-Konvention am Beispiel eines realen Industrieroboters demonstriert werden. In der Kürze kann auf die nötigen Grundlagen nicht eingegangen werden. Aus diesem Grund sind Schlüsselworte markiert, um einerseits Begriffe einzuführen und andererseits Hinweise für weiteres Selbststudium zu geben. Literaturempfehlung zum Einstieg: B. Heimann, W. Gerth, K. Popp: Mechatronik. Dritte, neu bearbeitete Auflage. Carl Hanser Verlag, München, 2007.

KUKA KR 16
Bei dem betrachteten Industrieroboter handelt es sich um einen KUKA KR16 mit einer zulässigen Traglast von 16 kg am Endeffektor. Die technischen Daten sind im Internet verfügbar, in den angebotenen Dokumenten findet sich unter anderem die rechts abgebildete Zeichnung. Ihr können die Abmessungen sowie – grau eingefärbt – der Arbeitsraum des Roboters entnommen werden.

Quelle: http://www.kuka.com Deutschland » Produkte » Niedrige Traglast » KR 16

Ebenso sind CAD-Modelle der Roboter verfügbar, aus denen man sich beispielsweise die links dargestellte Skizze erzeugen kann.
Erstellt mit OpenOffice.org, Inkscape, The Gimp und Auto CAD.

Eingezeichnet sind neben den relevanten Abmessungen das für die nachfolgenden Betrachtungen herangezogene Grundgerüst (blau) sowie die Gelenkachsen (rot).

Dipl.-Ing. Frank Abelbeck, Januar 2008

Blatt 1

kinematische Kette. Dafür wird jedem Körper ein eigenes. Orientierung im Mehrkörpersystem Für die weiteren Betrachtungen muss klar sein. Frank Abelbeck. körperfestes Koordinatensystem zugeordnet – jeder Körper stellt somit ein (Teil-)System dar. entsprechend wird das diese beiden Körper verbindende Gelenk mit der Nummer 1 versehen.-Ing. in welchem eine Anzahl von Körpern durch Gelenke verbunden sind. welcher Körper und welches Gelenk gemeint ist. der mit dem Boden verschraubt ist. Fuß Schulter Oberarm Unterarm Hand Hand Endeffektor 5 4 3 2 1 0 Die Numerierung der Gelenke beginnt wie bereits erwähnt bei 1: Verbindung 01 12 23 34 45 56 Gelenk-Nr. Für die übrigen Körper wird ebenso verfahren. Im hier behandelten Beispiel ist dieses der Robotersockel.oder Weltkoordinatensystem definiert und stellt die Referenz in diesem Mehrkörpersystem dar. Bei dem hier betrachteten Industrieroboter sind die Körper hintereinander angeordnet und durch rotatorische Gelenke verbunden.Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16 Ausgangssituation: Der Roboter als Mehrkörpersystem Ein Roboter stellt ein Mehrkörpersystem dar. der im Gesamtsystem als beschleunigungsfrei angesehen werden kann. Dieses ist eine offene. Die Numerierung der Körper wird an der Basis mit Null begonnen. Der erste bewegliche Körper erhält die 1. Hilfreich sind hierbei Analogien zur menschlichen Anatomie: Körper-Nr. Sockel. 0 1 2 3 4 5 6 Trivialname Basis. Das Koordinatensystem dieses ruhenden Körpers wird als Basis. Januar 2008 . 1 2 3 4 5 6 6 Trivialname Hüftgelenk Schultergelenk Ellenbogengelenk Handgelenk Handgelenk Handgelenk Blatt 2 Dipl. Die Bewegung eines jeden Körpers des Roboters kann aus den Gelenkbewegungen und den Abmessungen der einzelnen Körper berechnet werden. Zusätzlich wird ein Körper als Basis ausgewählt.

Frank Abelbeck. Achse x2 verläuft entlang der gemeinsamen Normalen.-Ing. wobei die Richtung durch den Drehsinn des Gelenks festgelegt wird (Rechtsschraube. Der Übergang von Körper 2 auf Körper 3 erfolgt durch Achse 3. müssen ihnen ihre jeweiligen Koordinatensysteme zugeordnet werden. Die Normale ist rot eingezeichnet. Die Normale ist erneut rot eingezeichnet. Die korrekte Festlegung von Lage und Ausrichtung der einzelnen Koordinatensysteme ist wichtig für die weiteren Schritte. dass sich ein Rechtssystem ergibt (Dreifingerregel). Rechte-Hand-Regel).2: Die x-Achse verläuft entlang der gemeinsamen Normalen der Gelenkachsen. Aus diesem Grund gibt es Regeln.3: Die y-Achse liegt derart. Regel 2: Ausrichtung Regel 2. Als Erinnerung: Die Achse 2 stellt den Übergang von Körper 1 auf Körper 2 dar. Beispiel im Bild rechts: Das KS2 des senkrecht stehenden Oberarms soll festgelegt werden. mit denen die Wahl der Koordinatensysteme erleichtert wird: Regel 1: Lage Der Ursprung des Koordinatensystems des Körpers i (nachfolgend KSi genannt) liegt im Schnittpunkt der Achse des Gelenks i+1 und der gemeinsamen Normalen der Achsen von Gelenk i und i+1. Regel 2. Beispiel im Bild rechts: Das KS2 des senkrecht stehenden Oberarms liegt vom Ursprung her schon fest. Entspreched ergibt sich der Urprung von KS2 wie gezeigt als Schnittpunkt (rot eingekreist) der Normalen und folgenden Achse 3. Die Achse z2 liegt gemäß Regel in der Achse des Gelenks 3.Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16 Wahl der Koordinatensysteme Nachdem nun die Teile des Systems klar bezeichnet sind. Dipl. Regel 2. Januar 2008 Blatt 3 .1: Die z-Achse des KS2 liegt in der Achse des Gelenks 3. Achse y2 vervollständigt das Rechtssystem. sie steht sowohl auf Achse 2 als auch auf Achse 3 senkrecht.

um dessen Position im Raum zu bestimmen. um die Position dieses Punktes in seiner Umwelt zu berechnen. Drehwinkel und Verschiebungswege ergeben die Denavit-Hartenberg-Parameter. Denn wie bei der Wahl der Koordinatensysteme gezeigt fällt die z-Achse mit der Gelenkachse zusammen. Es ist bei Industrierobotern aber auch möglich. verschoben und wieder gedreht. In diesen Parametern tauchen somit die Aktorwinkel (rotatorisches Gelenk) oder Aktorwege (translatorische Gelenk) auf. um Position und Ausrichtung des nachfolgenden Systems zu erreichen. Zusätzlich kann in diesem Fall auch noch ein konstanter Wert /2 abgezogen werden. Von zentraler Bedeutung ist dieses für Punkte am Endeffektor. Vorgehensweise nach Denavit-Hartenberg Entlang der kinematischen Kette wird von einem Koordinatensystem ins nachfolgende umgeformt. Die vier Schritte bei der Denavit-Hartenberg-Transformation Schritt 1 2 3 4 Beschreibung Drehung um z-Achse Verschiebung entlang z-Achse Verschiebung entlang neuer x-Achse Drehung um neue x-Achse Parameter Winkel  Weg d Weg a Winkel  Es ist ersichtlich. Die Parameter a und  berücksichtigen die Dimensionen der Körper. Frank Abelbeck. an Ober. Beispiel im Bild rechts: Bei der Denavit-HartenbergTransformation vom KS1 ins KS2 kann der Aktor von Achse 2 den Oberarm in einem beliebigen Winkel ausrichten. dass durch die Parameter  und d die Gelenkstellung einbezogen wird. damit sich für die weiteren Schritte die x-Achse in der richtigen Lage befindet. im nebenstehenden Falle entspricht a der Länge des Oberarms.oder Unterarm Lasten zu befestigen.Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16 Aufgabe: Koordinatentransformation Es sollen die Koordinaten eines Punktes von einem Körperkoordinatensystem in das Basiskoordinatensystem umgeformt werden. Dipl.-Ing. Für die kinematische und kinetische Beschreibung dieser Zusatzlasten müssen unter anderem deren Schwerpunkte vom jeweiligen Körpersystem ins Weltsystem umgeformt werden. indem dort der Gelenkwinkel eingetragen wird. Hierzu wird vom Basissystem ausgehend jedes Koordinatensystem gedreht. Der Parameter  berücksichtigt dieses. Januar 2008 Blatt 4 .

Das KS0 der Basis kann mangels Vorgängergelenk frei gewählt werden.-Ing.  1 = q1 d 1 = 675 mm a 1 = 260 mm  1 = − 2  2 d 2 = 0 mm a 2 = 680 mm 2 = q2 − 2 = 0 Dipl. dass sich der Übergang auf das nächste System einfach gestaltet. wie die Denavit-Hartenberg-Parameter von der Basis bis zum Endeffektor bestimmt werden. in diesem Fall wird es „auf den Boden“ gelegt.Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16 Die folgenden Seiten zeigen nun Schritt für Schritt. Frank Abelbeck. Die Gelenkwinkel seien nachfolgend durch die verallgemeinerten Koordinaten q1 bis q6 gegeben. Die z-Achse liegt auf der Gelenkachse 1. Januar 2008 Blatt 5 . Die x-Achse wird derart gewählt.

-Ing. Senkrecht aufeinanderstehenden Achsen kennzeichnen sich dadurch aus. Frank Abelbeck. dass der Winkel  einen Wert von +/2 oder -/2 einnimmt. Bei sich kreuzenden Achsen (beispielsweise 3 und 4) nimmt die Verschiebung a den Wert Null an. Januar 2008 Blatt 6 .Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16 Die Richtung der z-Achsen wurde in Übereinstimmung mit dem Drehsinn der Aktoren gemäß technischer Daten gewählt. 3 = q 3 d 3 = 0 mm a 3 = 0 mm  3 = 2  4 = q4 d 4 = −670 mm a 4 = 0 mm  4 = − 2 Dipl.

Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16 Die kinematische Kette des KUKA KR16 endet in einem sphärischen Handgelenk. die zAchse aus der „Handfläche“ weisen zu lassen und die anderen Achsen so anzuordnen. Es ist üblich. Mathematisch gesehen kann dadurch der Roboter an dieser Stelle in zwei Teilsysteme zerfallen.  5 = q5 d 5 = 0 mm a 5 = 0 mm  5 = 2 6 = q 6 d 6 = −158 mm a 6 = 0 mm 6 =  Dipl. Er besitzt kein nachfolgendes Gelenk. Wie die Basis nimmt der Endeffektor als anderes Ende der Kette eine Sonderstellung ein. Dieses erleichtert bei komplexeren Fragestellungen der Robotik die Modellierung und Berechnung. Frank Abelbeck. Januar 2008 Blatt 7 . Dieses zeichnet sich dadurch aus. dass sich alle Achsen in einem Punkt schneiden.-Ing. dass sich die Transformation einfach gestaltet.

Allenfalls die Nullstellungen der Achsen 2 und 3 sind verschieden./2 /2  In obiger Tabelle sind alle Parameter noch einmal zusammengefasst./2 q3 q4 q5 q6 d 675 mm 0 mm 0 mm -670 mm 0 mm -158 mm a 260 mm 680 mm 0 mm 0 mm 0 mm 0 mm  . Dipl.-Ing. Durch Variation der verallgemeinerten Koordinaten q1 bis q6 können nun die Lage und Ausrichtung aller Roboterkörper in allen Roboterkonfigurationen berechnet werden./2 0 /2 . Frank Abelbeck./2 /2  Die Denavit-Hartenberg-Notation ist nicht immer eindeutig. dass bei der Bestimmung der Parameter die abgebildete Roboterkonfiguration zugrunde gelegt wurde. Im Falle der Nullstellung würden sich die DenavitHartenberg-Parameter wie folgt ergeben: i 1 2 3 4 5 6  q1 q2 q3 .Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16 Diskussion der Ergebnisse i 1 2 3 4 5 6  q1 q2 . Mit beiden Parametersätzen kann der Roboter korrekt beschrieben werden. Zu beachten ist. die Position des Endeffektors im Raum in Abhängigkeit von den Aktorstellungen zu berechnen oder die Bahn einer an den Unterarm angebrachten Last zu verfolgen. Bei Betrachtung der technischen Daten des Roboters zeigt sich. Diese Berechnung eines Ortsvektors als Funktion der Gelenkwinkel q1 bis q6 nennt man direkte Kinematik oder Vorwärtskinematik./2 q4 q5 q6 d 675 mm 0 mm 0 mm -670 mm 0 mm -158 mm a 260 mm 680 mm 0 mm 0 mm 0 mm 0 mm  . dass die verwendete Roboterkonfiguration nicht der Nullstellung (Arm horizontal ausgestreckt) entspricht. Es ist somit möglich. Dabei repräsentiert ein Satz Parameterwerte den Roboter in einer bestimmten Stellung seiner Gelenke (Konfiguration des Roboters). Sie bilden die Grundlage./2 0 /2 . um das Mehrkörpersystem des Industrieroboters mathematisch abzubilden. Januar 2008 Blatt 8 . was bei der Ansteuerung der Aktoren berücksichtigt werden muss.

werden Indizes wie folgt verwendet: r = T ii−1 ⋅ i r i −1 Die Transformationsmatrizen lassen sich durch Multiplikation aneinanderhängen.Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16 Mathematische Umsetzung. Neben der Berechnung von Bahnkurven (Trajektorien) kann dieses für Visualisierung genutzt werden. Dipl. Um zu kennzeichnen. dass der Ortsvektor r vom System i in das System i-1 transformiert werden soll. Nachfolgend seien die Transformationsmatrizen der für homogene Koordinaten gegeben: cos i ROT z  i = sin i 0 0 1 TRANS x  ai  = 0 0 0 0 1 0 0  −sin i cos  i 0 0 0 0 1 0 ai 0 0 1 0 0 1 0 0 0 0 1  1 0 TRANS z  d i = 0 0 1 0 ROT x i = 0 0   0 1 0 0 0 0 1 0 0 0 dI 1 0 cos i sin  I 0 0 −sin i cos i 0 0 0 0 1   i − 1   Fasst man alle Transformationen zusammen.-Ing. d i . so ergibt sich die Gesamttransformationsmatrix: T i i . knapp zusammengefasst Jeder der vier Transformationsschritte kann mathematisch durch Multiplikation der zu transformierenden Koordinaten mit einer Transformationsmatrix ausgedrückt werden. wie nachfolgende Seite verdeutlichen soll. Januar 2008 Blatt 9 . Frank Abelbeck. Ein Punkt rEE im Endeffektorsystem (6) lässt sich dann wie folgt in das Basissystem (0) umrechnen: 0  EE r = T0 6 ⋅  6 r EE 0 1 2 3 4 5 mit T 0 6 = T 1 ⋅T 2 ⋅T 3 ⋅ T 4 ⋅T 5 ⋅T 6 Ferner lässt sich die Transformationsrichtung durch Invertieren der Matrix umkehren: T ii−1 =  T ii−1 −1 Anwendung: Simulation Mit Hilfe der aufgestellten Denavit-Hartenberg-Parameter und obiger mathematischer Operationen lassen sich nun verschiedener Körperpunkte in ihrer Darstellung in das Weltkoordinatensystem umwandeln. beispielsweise wenn sich ein neues i in Folge einer Gelenkdrehung einstellt. a i .  i = ROT z i  ⋅ TRANS z  d i ⋅ TRANS z  ai  ⋅ ROT z i Sie ist von den vier Denavit-Hartenberg-Parametern abhängig und ändert sich mit diesen.

. Dipl. Januar 2008 Blatt 10 . -sin(alpha). Die Eingabeposition ist mit >> gekennzeichnet. 0. cos(alpha).1] ans = 0 0. Als Beispiel sind nebenstehend Eingaben und Ausgaben auf der Kommandozeile von MATLAB aufgeführt.0000 1. >> alpha = pi/2 alpha = 1. 0. Die Matrix lässt sich leicht als Rotationsmatrix für Drehungen um die x-Achse identifizieren. 0.. z = 0) aller Koordinatensysteme ins Basiskoordinatensystem transformiert und dann durch eine Linie miteinander verbunden.Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16 Simulation in MATLAB MATLAB ist ein mächtiges Werkzeug für den Ingenieur.. über die gezeigten Schieberegler) und anschließende Durchführung der Matrizenberechnung kann das Modell so jede Konfiguration des Originals einnehmen. cos(alpha).B. Zylinder.5708 >> rotmat = [1. Das linke Bild zeigt das Ergebnis. 1]. Dazu werden die Ursprünge (x = 0. um Aufgaben zu modellieren und Probleme zu lösen.. >> rotmat*[0. In jedem Körpersystem werden dazu passende 3D-Objekte (Quader. Kugeln) erstellt und ihre Punkte sodann ins Basissystem überführt. zusätzlich existieren umfangreiche Bibliotheken. Zunächst erfolgen Wertzuweisungen: ein Skalar alpha und eine Matrix rotmat werden definiert. Rechts ist ein Bildschirmfoto eines selbstgeschriebenen Programms zu sehen. um die Ergebnisse schnell und einfach graphisch zu präsentieren. Ebenso kann ein Modell des Roboters gezeichnet werden..0000 1. Frank Abelbeck.0. 0.. welches die „Knochen“ des Roboters zeichnet. Durch Variation der Denavit-Hartenberg-Parameter (z.. y = 0. 0. 0. 0. Abschließend wird die Rotationsmatrix mit dem Spaltenvektor multipliziert und das Ergebnis wird ausgegeben. Die Arbeit mit Matrizen und Vektoren ist sehr einfach.1. die gezeigten mathematischen Operationen für eine Darstellung zu nutzen. 0. sin(alpha). 0...0000 Auf diese Weise ist es ein leichtes. in welchem sie dann dargestellt werden können. 0.-Ing.