Beruflich Dokumente
Kultur Dokumente
Vorwort
Nachfolgend soll die Koordinatentransformation nach Denavit-Hartenberg-Konvention am Beispiel eines realen Industrieroboters demonstriert werden. In der Krze kann auf die ntigen Grundlagen nicht eingegangen werden. Aus diesem Grund sind Schlsselworte markiert, um einerseits Begriffe einzufhren und andererseits Hinweise fr weiteres Selbststudium zu geben. Literaturempfehlung zum Einstieg: B. Heimann, W. Gerth, K. Popp: Mechatronik. Dritte, neu bearbeitete Auflage. Carl Hanser Verlag, Mnchen, 2007.
KUKA KR 16
Bei dem betrachteten Industrieroboter handelt es sich um einen KUKA KR16 mit einer zulssigen Traglast von 16 kg am Endeffektor. Die technischen Daten sind im Internet verfgbar, in den angebotenen Dokumenten findet sich unter anderem die rechts abgebildete Zeichnung. Ihr knnen die Abmessungen sowie grau eingefrbt der Arbeitsraum des Roboters entnommen werden.
Ebenso sind CAD-Modelle der Roboter verfgbar, 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 fr die nachfolgenden Betrachtungen herangezogene Grundgerst (blau) sowie die Gelenkachsen (rot).
Blatt 1
Orientierung im Mehrkrpersystem
Fr die weiteren Betrachtungen muss klar sein, welcher Krper und welches Gelenk gemeint ist. Die Numerierung der Krper wird an der Basis mit Null begonnen. Der erste bewegliche Krper erhlt die 1, entsprechend wird das diese beiden Krper verbindende Gelenk mit der Nummer 1 versehen. Fr die brigen Krper wird ebenso verfahren. Hilfreich sind hierbei Analogien zur menschlichen Anatomie: Krper-Nr. 0 1 2 3 4 5 6 Trivialname Basis, Sockel, Fu Schulter Oberarm Unterarm Hand Hand Endeffektor
3 2 1 0
Die Numerierung der Gelenke beginnt wie bereits erwhnt bei 1: Verbindung 01 12 23 34 45 56 Gelenk-Nr. 1 2 3 4 5 6
Blatt 3
Aufgabe: Koordinatentransformation
Es sollen die Koordinaten eines Punktes von einem Krperkoordinatensystem in das Basiskoordinatensystem umgeformt werden, um die Position dieses Punktes in seiner Umwelt zu berechnen. Von zentraler Bedeutung ist dieses fr Punkte am Endeffektor, um dessen Position im Raum zu bestimmen. Es ist bei Industrierobotern aber auch mglich, an Ober- oder Unterarm Lasten zu befestigen. Fr die kinematische und kinetische Beschreibung dieser Zusatzlasten mssen unter anderem deren Schwerpunkte vom jeweiligen Krpersystem ins Weltsystem umgeformt werden.
Es ist ersichtlich, dass durch die Parameter und d die Gelenkstellung einbezogen wird. Denn wie bei der Wahl der Koordinatensysteme gezeigt fllt die z-Achse mit der Gelenkachse zusammen. In diesen Parametern tauchen somit die Aktorwinkel (rotatorisches Gelenk) oder Aktorwege (translatorische Gelenk) auf. 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. Der Parameter bercksichtigt dieses, indem dort der Gelenkwinkel eingetragen wird. Zustzlich kann in diesem Fall auch noch ein konstanter Wert /2 abgezogen werden, damit sich fr die weiteren Schritte die x-Achse in der richtigen Lage befindet. Die Parameter a und bercksichtigen die Dimensionen der Krper, im nebenstehenden Falle entspricht a der Lnge des Oberarms. Dipl.-Ing. Frank Abelbeck, Januar 2008 Blatt 4
Die folgenden Seiten zeigen nun Schritt fr Schritt, wie die Denavit-Hartenberg-Parameter von der Basis bis zum Endeffektor bestimmt werden. Das KS0 der Basis kann mangels Vorgngergelenk frei gewhlt werden, in diesem Fall wird es auf den Boden gelegt. Die z-Achse liegt auf der Gelenkachse 1. Die x-Achse wird derart gewhlt, dass sich der bergang auf das nchste System einfach gestaltet. Die Gelenkwinkel seien nachfolgend durch die verallgemeinerten Koordinaten q1 bis q6 gegeben.
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
Blatt 5
Die Richtung der z-Achsen wurde in bereinstimmung mit dem Drehsinn der Aktoren gem technischer Daten gewhlt. Bei sich kreuzenden Achsen (beispielsweise 3 und 4) nimmt die Verschiebung a den Wert Null an. Senkrecht aufeinanderstehenden Achsen kennzeichnen sich dadurch aus, dass der Winkel einen Wert von +/2 oder -/2 einnimmt.
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
Blatt 6
Die kinematische Kette des KUKA KR16 endet in einem sphrischen Handgelenk. Dieses zeichnet sich dadurch aus, dass sich alle Achsen in einem Punkt schneiden. Mathematisch gesehen kann dadurch der Roboter an dieser Stelle in zwei Teilsysteme zerfallen. Dieses erleichtert bei komplexeren Fragestellungen der Robotik die Modellierung und Berechnung. Wie die Basis nimmt der Endeffektor als anderes Ende der Kette eine Sonderstellung ein. Er besitzt kein nachfolgendes Gelenk. Es ist blich, die zAchse aus der Handflche weisen zu lassen und die anderen Achsen so anzuordnen, dass sich die Transformation einfach gestaltet.
5 = q5 d 5 = 0 mm a 5 = 0 mm 5 = 2
6 = q 6 d 6 = 158 mm a 6 = 0 mm 6 =
Blatt 7
In obiger Tabelle sind alle Parameter noch einmal zusammengefasst. Sie bilden die Grundlage, um das Mehrkrpersystem des Industrieroboters mathematisch abzubilden. Dabei reprsentiert ein Satz Parameterwerte den Roboter in einer bestimmten Stellung seiner Gelenke (Konfiguration des Roboters). Durch Variation der verallgemeinerten Koordinaten q1 bis q6 knnen nun die Lage und Ausrichtung aller Roboterkrper in allen Roboterkonfigurationen berechnet werden. Es ist somit mglich, die Position des Endeffektors im Raum in Abhngigkeit von den Aktorstellungen zu berechnen oder die Bahn einer an den Unterarm angebrachten Last zu verfolgen. Diese Berechnung eines Ortsvektors als Funktion der Gelenkwinkel q1 bis q6 nennt man direkte Kinematik oder Vorwrtskinematik. Zu beachten ist, dass bei der Bestimmung der Parameter die abgebildete Roboterkonfiguration zugrunde gelegt wurde. Bei Betrachtung der technischen Daten des Roboters zeigt sich, dass die verwendete Roboterkonfiguration nicht der Nullstellung (Arm horizontal ausgestreckt) entspricht. Im Falle der Nullstellung wrden sich die DenavitHartenberg-Parameter wie folgt ergeben: i 1 2 3 4 5 6 q1 q2 q3 - /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 - /2 0 /2 - /2 /2
Die Denavit-Hartenberg-Notation ist nicht immer eindeutig. Mit beiden Parameterstzen kann der Roboter korrekt beschrieben werden. Allenfalls die Nullstellungen der Achsen 2 und 3 sind verschieden, was bei der Ansteuerung der Aktoren bercksichtigt werden muss. Dipl.-Ing. Frank Abelbeck, Januar 2008 Blatt 8
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, so ergibt sich die Gesamttransformationsmatrix: T i i , d i , a i , i = ROT z i TRANS z d i TRANS z ai ROT z i Sie ist von den vier Denavit-Hartenberg-Parametern abhngig und ndert sich mit diesen, beispielsweise wenn sich ein neues i in Folge einer Gelenkdrehung einstellt. Um zu kennzeichnen, dass der Ortsvektor r vom System i in das System i-1 transformiert werden soll, werden Indizes wie folgt verwendet: r = T ii1 i r
i 1
Die Transformationsmatrizen lassen sich durch Multiplikation aneinanderhngen. Ein Punkt rEE im Endeffektorsystem (6) lsst sich dann wie folgt in das Basissystem (0) umrechnen:
0 EE
= 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 lsst sich die Transformationsrichtung durch Invertieren der Matrix umkehren: T ii1 = T ii1
1
Anwendung: Simulation
Mit Hilfe der aufgestellten Denavit-Hartenberg-Parameter und obiger mathematischer Operationen lassen sich nun verschiedener Krperpunkte in ihrer Darstellung in das Weltkoordinatensystem umwandeln. Neben der Berechnung von Bahnkurven (Trajektorien) kann dieses fr Visualisierung genutzt werden, wie nachfolgende Seite verdeutlichen soll.
Blatt 9
Simulation in MATLAB
MATLAB ist ein mchtiges Werkzeug fr den Ingenieur, um Aufgaben zu modellieren und Probleme zu lsen. Die Arbeit mit Matrizen und Vektoren ist sehr einfach, zustzlich existieren umfangreiche Bibliotheken, um die Ergebnisse schnell und einfach graphisch zu prsentieren. Als Beispiel sind nebenstehend Eingaben und Ausgaben auf der Kommandozeile von MATLAB aufgefhrt; Die Eingabeposition ist mit >> gekennzeichnet. Zunchst erfolgen Wertzuweisungen: ein Skalar alpha und eine Matrix rotmat werden definiert. Die Matrix lsst sich leicht als Rotationsmatrix fr Drehungen um die x-Achse identifizieren. Abschlieend wird die Rotationsmatrix mit dem Spaltenvektor multipliziert und das Ergebnis wird ausgegeben.
>> alpha = pi/2 alpha = 1.5708 >> rotmat = [1, 0, 0, 0;... 0, cos(alpha), -sin(alpha), 0;... 0, sin(alpha), cos(alpha), 0;... 0, 0, 0, 1]; >> rotmat*[0;1;0;1] ans = 0 0.0000 1.0000 1.0000
Auf diese Weise ist es ein leichtes, die gezeigten mathematischen Operationen fr eine Darstellung zu nutzen. Rechts ist ein Bildschirmfoto eines selbstgeschriebenen Programms zu sehen, welches die Knochen des Roboters zeichnet. Dazu werden die Ursprnge (x = 0, y = 0, z = 0) aller Koordinatensysteme ins Basiskoordinatensystem transformiert und dann durch eine Linie miteinander verbunden. Ebenso kann ein Modell des Roboters gezeichnet werden. In jedem Krpersystem werden dazu passende 3D-Objekte (Quader, Zylinder, Kugeln) erstellt und ihre Punkte sodann ins Basissystem berfhrt, in welchem sie dann dargestellt werden knnen. Das linke Bild zeigt das Ergebnis. Durch Variation der Denavit-Hartenberg-Parameter (z.B. ber die gezeigten Schieberegler) und anschlieende Durchfhrung der Matrizenberechnung kann das Modell so jede Konfiguration des Originals einnehmen. Dipl.-Ing. Frank Abelbeck, Januar 2008 Blatt 10