Sie sind auf Seite 1von 10

Erstellt mit OpenOffice.org, Inkscape, The Gimp und Auto CAD.

Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16
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.

– der Arbeitsraum des Roboters entnommen werden. Quelle: http://www.kuka.com Deutschland » Produkte »
– der Arbeitsraum des Roboters entnommen werden. Quelle: http://www.kuka.com Deutschland » Produkte »

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.

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
Dipl.-Ing. Frank Abelbeck, Januar 2008
Blatt 1
Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16
Koordinatentransformation nach Denavit-Hartenberg
am Beispiel eines KUKA KR16

Ausgangssituation: Der Roboter als Mehrkörpersystem

Ein Roboter stellt ein Mehrkörpersystem dar, in welchem eine Anzahl von Körpern durch Gelenke verbunden sind. Bei dem hier betrachteten Industrieroboter sind die Körper hintereinander angeordnet und durch rotatorische Gelenke verbunden. Dieses ist eine offene, kinematische Kette.

Die Bewegung eines jeden Körpers des Roboters kann aus den Gelenkbewegungen und den Abmessungen der einzelnen Körper berechnet werden. Dafür wird jedem Körper ein eigenes, körperfestes Koordinatensystem zugeordnet – jeder Körper stellt somit ein (Teil-)System dar.

Zusätzlich wird ein Körper als Basis ausgewählt, der im Gesamtsystem als beschleunigungsfrei angesehen werden kann. Im hier behandelten Beispiel ist dieses der Robotersockel, der mit dem Boden verschraubt ist. Das Koordinatensystem dieses ruhenden Körpers wird als Basis- oder Weltkoordinatensystem definiert und stellt die Referenz in diesem Mehrkörpersystem dar.

Orientierung im Mehrkörpersystem

Für die weiteren Betrachtungen muss klar sein, welcher Körper und welches Gelenk gemeint ist. Die Numerierung der Körper wird an der Basis mit Null begonnen. Der erste bewegliche Körper erhält die 1, entsprechend wird das diese beiden Körper verbindende Gelenk mit der Nummer 1 versehen. Für die übrigen Körper wird ebenso verfahren. Hilfreich sind hierbei Analogien zur menschlichen Anatomie:

Körper-Nr. Trivialname 0 Basis, Sockel, Fuß 1 Schulter 5 4 2 Oberarm 3 3 Unterarm
Körper-Nr.
Trivialname
0
Basis, Sockel, Fuß
1
Schulter
5
4
2
Oberarm
3
3
Unterarm
2
4
Hand
1
5
Hand
6
Endeffektor
0
6
Verbindung
Gelenk-Nr.
Trivialname
0  1
1 Hüftgelenk
1  2
2 Schultergelenk
2  3
3 Ellenbogengelenk
3  4
4 Handgelenk
4  5
5 Handgelenk
5  6
6 Handgelenk

Die Numerierung der Gelenke beginnt wie bereits erwähnt bei 1:

Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16
Koordinatentransformation nach Denavit-Hartenberg
am Beispiel eines KUKA KR16

Wahl der Koordinatensysteme

Nachdem nun die Teile des Systems klar bezeichnet sind, müssen ihnen ihre jeweiligen Koordinatensysteme zugeordnet werden. Die korrekte Festlegung von Lage und Ausrichtung der einzelnen Koordinatensysteme ist wichtig für die weiteren Schritte. Aus diesem Grund gibt es Regeln, mit denen die Wahl der Koordinatensysteme erleichtert wird:

Regel 1: Lage

Der Ursprung des Koordinatensystems des Körpers i (nachfolgend KS i genannt) liegt im Schnittpunkt der Achse des Gelenks i+1 und der gemeinsamen Normalen der Achsen von Gelenk i und i+1.

gemeinsamen Normalen der Achsen von Gelenk i und i +1 . Beispiel im Bild rechts: Das

Beispiel im Bild rechts: Das KS 2 des senkrecht stehenden Oberarms soll festgelegt werden. Die Normale ist rot eingezeichnet, sie steht sowohl auf Achse 2 als auch auf Achse 3 senkrecht.

Als Erinnerung: Die Achse 2 stellt den Übergang von Körper 1 auf Körper 2 dar. Der Übergang von Körper 2 auf Körper 3 erfolgt durch Achse 3.

Entspreched ergibt sich der Urprung von KS 2 wie gezeigt als Schnittpunkt (rot eingekreist) der Normalen und folgenden Achse 3.

Regel 2: Ausrichtung

Regel 2.1: Die z-Achse des KS 2 liegt in der Achse des Gelenks 3. Regel 2.2: Die x-Achse verläuft entlang der gemeinsamen Normalen der Gelenkachsen. Regel 2.3: Die y-Achse liegt derart, dass sich ein Rechtssystem ergibt (Dreifingerregel).

dass sich ein Rechtssystem ergibt ( Dreifingerregel ). Beispiel im Bild rechts: Das KS 2 des

Beispiel im Bild rechts: Das KS 2 des senkrecht stehenden Oberarms liegt vom Ursprung her schon fest. Die Normale ist erneut rot eingezeichnet.

Die Achse z 2 liegt gemäß Regel in der Achse des Gelenks 3, wobei die Richtung durch den Drehsinn des Gelenks festgelegt wird (Rechtsschraube, Rechte-Hand-Regel).

Achse x 2 verläuft entlang der gemeinsamen Normalen. Achse y 2 vervollständigt das Rechtssystem.

Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16
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, um die Position dieses Punktes in seiner Umwelt zu berechnen. Von zentraler Bedeutung ist dieses für Punkte am Endeffektor, um dessen Position im Raum zu bestimmen.

Es ist bei Industrierobotern aber auch möglich, an Ober- oder Unterarm Lasten zu befestigen. Für die kinematische und kinetische Beschreibung dieser Zusatzlasten müssen unter anderem deren Schwerpunkte vom jeweiligen Körpersystem ins Weltsystem umgeformt werden.

Vorgehensweise nach Denavit-Hartenberg

Entlang der kinematischen Kette wird von einem Koordinatensystem ins nachfolgende umgeformt. Hierzu wird vom Basissystem ausgehend jedes Koordinatensystem gedreht, verschoben und wieder gedreht, um Position und Ausrichtung des nachfolgenden Systems zu erreichen. Drehwinkel und Verschiebungswege ergeben die Denavit-Hartenberg-Parameter.

Die vier Schritte bei der Denavit-Hartenberg-Transformation

Schritt Beschreibung Parameter 1 Drehung um z-Achse Winkel  2 Verschiebung entlang z-Achse Weg d
Schritt
Beschreibung
Parameter
1
Drehung um z-Achse
Winkel 
2
Verschiebung entlang z-Achse
Weg d
3
Verschiebung entlang neuer x-Achse
Weg a
4
Drehung um neue x-Achse
Winkel 

Es ist ersichtlich, dass durch die Parameter und d die Gelenkstellung einbezogen wird. Denn wie bei der Wahl der Koordinatensysteme gezeigt fällt die z-Achse mit der Gelenkachse zusammen. In diesen Parametern tauchen somit die Aktorwinkel (rotatorisches Gelenk) oder Aktorwege (translatorische Gelenk) auf.

Gelenk) oder Aktorwege (translatorische Gelenk) auf. Beispiel im Bild rechts: Bei der Denavit-Hartenberg-

Beispiel im Bild rechts: Bei der Denavit-Hartenberg- Transformation vom KS 1 ins KS 2 kann der Aktor von Achse 2 den Oberarm in einem beliebigen Winkel ausrichten. Der Parameter berücksichtigt dieses, indem dort der Gelenkwinkel eingetragen wird.

Zusätzlich kann in diesem Fall auch noch ein konstanter Wert /2 abgezogen werden, damit sich für die weiteren Schritte die x-Achse in der richtigen Lage befindet.

Die Parameter a und berücksichtigen die Dimensionen der Körper, im nebenstehenden Falle entspricht a der Länge des Oberarms.

Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16
Koordinatentransformation nach Denavit-Hartenberg
am Beispiel eines KUKA KR16
nach Denavit-Hartenberg am Beispiel eines KUKA KR16  1 = q 1 d 1 = 675

1 =

q 1

d

1 = 675

mm

a

1 = 260

mm

= q 1 d 1 = 675 mm a 1 = 260 mm  1 =

1 = −

2

Die folgenden Seiten zeigen nun Schritt für Schritt, wie die Denavit-Hartenberg-Parameter von der Basis bis zum Endeffektor bestimmt werden.

Das KS 0 der Basis kann mangels Vorgängergelenk frei gewählt werden, in diesem Fall wird es „auf den Boden“ gelegt. Die z-Achse liegt auf der Gelenkachse 1. Die x-Achse wird derart gewählt, dass sich der Übergang auf das nächste System einfach gestaltet.

Die Gelenkwinkel seien nachfolgend durch die verallgemeinerten Koordinaten q 1 bis q 6 gegeben.

verallgemeinerten Koordinaten q 1 bis q 6 gegeben.  2 = q 2 −  2
verallgemeinerten Koordinaten q 1 bis q 6 gegeben.  2 = q 2 −  2

2 = q 2

2

d 2 = 0

a 2 = 680

2 = 0

mm

mm

= q 2 −  2 d 2 = 0 a 2 = 680  2
Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16
Koordinatentransformation nach Denavit-Hartenberg
am Beispiel eines KUKA KR16
nach Denavit-Hartenberg am Beispiel eines KUKA KR16  3 = q 3 d 3 = 0

3 = q 3

d

3 = 0

mm

a

3 = 0

mm

3 = q 3 d 3 = 0 mm a 3 = 0 mm  3

3 =

2

Die Richtung der z-Achsen wurde in Übereinstimmung mit dem Drehsinn der Aktoren gemäß technischer Daten gewählt.

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.

 einen Wert von +  /2 oder -  /2 einnimmt.  4 = q
 einen Wert von +  /2 oder -  /2 einnimmt.  4 = q

4 = q 4

d 4 = − 670

a 4 = 0

4 = −

mm

mm

2

4 = q 4 d 4 = − 670 a 4 = 0  4 =
Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16
Koordinatentransformation nach Denavit-Hartenberg
am Beispiel eines KUKA KR16
nach Denavit-Hartenberg am Beispiel eines KUKA KR16  5 = q 5 d 5 = 0

5 = q 5

d

5 = 0

mm

a

5 = 0

mm

5 = q 5 d 5 = 0 mm a 5 = 0 mm  5

5 =

2

Die kinematische Kette des KUKA KR16 endet in einem sphärischen 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 z- Achse aus der „Handfläche“ weisen zu lassen und die anderen Achsen so anzuordnen, dass sich die Transformation einfach gestaltet.

anzuordnen, dass sich die Transformation einfach gestaltet.  6 = q 6 d 6 = −
anzuordnen, dass sich die Transformation einfach gestaltet.  6 = q 6 d 6 = −

6 = q 6

d 6 = − 158

a 6 = 0

6 = 

mm

mm

 6 = q 6 d 6 = − 158 a 6 = 0  6
Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16
Koordinatentransformation nach Denavit-Hartenberg
am Beispiel eines KUKA KR16

Diskussion der Ergebnisse

i  d a  1 q 675 mm 260 mm -  /2 1
i
d
a
1
q
675
mm
260
mm
-
 /2
1
2
q
2 -  /2
0
mm
680
mm
0
3
q
0
mm
0
mm
/2
3
4
q
-670 mm
0
mm
-
 /2
4
5
q
0
mm
0
mm
/2
5
6
q
-158 mm
0
mm
6

In obiger Tabelle sind alle Parameter noch einmal zusammengefasst. Sie bilden die Grundlage, um das Mehrkörpersystem des Industrieroboters mathematisch abzubilden. Dabei repräsentiert ein Satz Parameterwerte den Roboter in einer bestimmten Stellung seiner Gelenke (Konfiguration des Roboters).

Durch Variation der verallgemeinerten Koordinaten q 1 bis q 6 können nun die Lage und Ausrichtung aller Roboterkörper in allen Roboterkonfigurationen berechnet werden. Es ist somit möglich, 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. Diese Berechnung eines Ortsvektors als Funktion der Gelenkwinkel q 1 bis q 6 nennt man direkte Kinematik oder Vorwärtskinematik.

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 würden sich die Denavit- Hartenberg-Parameter wie folgt ergeben:

i  d a  1 q 675 mm 260 mm -  /2 1
i
d
a
1
q
675
mm
260
mm
-
 /2
1
2
q
0
mm
680
mm
0
2
3
q
3 -  /2
0
mm
0
mm
/2
4
q
-670 mm
0
mm
-
 /2
4
5
q
0
mm
0
mm
/2
5
6
q
-158 mm
0
mm
6

Die Denavit-Hartenberg-Notation ist nicht immer eindeutig. Mit beiden Parametersätzen kann der Roboter korrekt beschrieben werden. Allenfalls die Nullstellungen der Achsen 2 und 3 sind verschieden, was bei der Ansteuerung der Aktoren berücksichtigt werden muss.

Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16
Koordinatentransformation nach Denavit-Hartenberg
am Beispiel eines KUKA KR16

Mathematische Umsetzung, knapp zusammengefasst

Jeder der vier Transformationsschritte kann mathematisch durch Multiplikation der zu transformierenden Koordinaten mit einer Transformationsmatrix ausgedrückt werden. Nachfolgend seien die Transformationsmatrizen der für homogene Koordinaten gegeben:

ROT z   i  =

cos i sin i

0

0

TRANS x a i

=

1

0

0

0

sin i cos i

0

0

0

1

0

0

0

0

1

0

a i

0

0

1

0

0

1

0

0

0

0

1





TRANS z d i

=

ROT x   i  =

1

0

0

0

1 0

0 1

0 0

0 0

0

cos i sin I

0

0

0

1

0

0

0

d I

1

0

sin i cos i

0

0

0

0

1

Fasst man alle Transformationen zusammen, so ergibt sich die Gesamttransformationsmatrix:

T i i 1   i ,d i ,a i , i

=

ROT z   i  ⋅ TRANS z d i  ⋅ TRANS z a i  ⋅ ROT z   i

Sie ist von den vier Denavit-Hartenberg-Parametern abhängig 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:

i 1

r

i 1

= T i

i

r

Die Transformationsmatrizen lassen sich durch Multiplikation aneinanderhängen. Ein Punkt r EE im Endeffektorsystem (6) lässt sich dann wie folgt in das Basissystem (0) umrechnen:

0

0 EE = T 6

r

r

6 EE

mit T 0 = T 0 T 2 T 2 T T 4 T 6

6

1

1

3

3

4

5

5

Ferner lässt sich die Transformationsrichtung durch Invertieren der Matrix umkehren:

Anwendung: Simulation

i

T i 1

= T i

i 1 1

Mit Hilfe der aufgestellten Denavit-Hartenberg-Parameter und obiger mathematischer Operationen lassen sich nun verschiedener Körperpunkte in ihrer Darstellung in das Weltkoordinatensystem umwandeln. Neben der Berechnung von Bahnkurven (Trajektorien) kann dieses für Visualisierung genutzt werden, wie nachfolgende Seite verdeutlichen soll.

Koordinatentransformation nach Denavit-Hartenberg am Beispiel eines KUKA KR16
Koordinatentransformation nach Denavit-Hartenberg
am Beispiel eines KUKA KR16

Simulation in MATLAB

MATLAB ist ein mächtiges Werkzeug für den Ingenieur, um Aufgaben zu modellieren und Probleme zu lösen. Die Arbeit mit Matrizen und Vektoren ist sehr einfach, zusätzlich existieren umfangreiche Bibliotheken, um die Ergebnisse schnell und einfach graphisch zu präsentieren.

Als Beispiel sind nebenstehend Eingaben und Ausgaben auf der Kommandozeile von MATLAB aufgeführt; Die Eingabeposition ist mit >> gekennzeichnet.

Zunächst erfolgen Wertzuweisungen: ein Skalar alpha und eine Matrix rotmat werden definiert. Die Matrix lässt sich leicht als Rotationsmatrix für Drehungen um die x-Achse identifizieren.

Abschließend wird die Rotationsmatrix mit dem Spaltenvektor multipliziert und das Ergebnis wird ausgegeben.

>> alpha = pi/2 alpha = 1.5708 >> rotmat = [1, 0, 0, 0; 0,
>> 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 für eine Darstellung zu nutzen. Rechts ist ein Bildschirmfoto eines selbstgeschriebenen Programms zu sehen, welches die „Knochen“ des Roboters zeichnet.

Dazu werden die Ursprünge (x = 0, y = 0, z = 0) aller Koordinatensysteme ins Basiskoordinatensystem transformiert und dann durch eine Linie miteinander verbunden.

und dann durch eine Linie miteinander verbunden. Ebenso kann ein Modell des Roboters gezeichnet werden. In
und dann durch eine Linie miteinander verbunden. Ebenso kann ein Modell des Roboters gezeichnet werden. In

Ebenso kann ein Modell des Roboters gezeichnet werden. In jedem Körpersystem werden dazu passende 3D-Objekte (Quader, Zylinder, Kugeln) erstellt und ihre Punkte sodann ins Basissystem überführt, in welchem sie dann dargestellt werden können. Das linke Bild zeigt das Ergebnis.

Durch Variation der Denavit-Hartenberg-Parameter (z.B. über die gezeigten Schieberegler) und anschließende Durchführung der Matrizenberechnung kann das Modell so jede Konfiguration des Originals einnehmen.