Vorwort
Nachfolgend soll die Koordinatentransformation
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. Literaturempfehlun
L iteraturempfehlungg zum Einstieg:
KUKA KR 16
Bei dem betrachteten Industrieroboter handelt es sich
um einen KUKA KR16 mit einer zulässigen Traglast
von 16 kg am Endeffektor.
Quelle: http://www.kuka.com
Deutschland » Produkte » Niedrige
Traglast » KR 16
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
2
4 Hand
5 Hand 1
6 Endeffektor 0
6
Die Numerierung der Gelenke beginnt wie
bereits erwähnt bei 1:
Verbindung Gelenk-Nr. Trivialname
01 1 Hüftgelenk
12 2 Schultergelenk
23 3 Ellenbogengelenk
34 4 Handgelenk
45 5 Handgelenk
56 6 Handgelenk
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 ).
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.
gegeben.
1 = q1
d 1 = 675 mm
a1 = 260 mm
1 = −
2
2 = q2 −
2
d 2 = 0 mm
a2 = 680 mm
2 = 0
3 = q 3
d 3 = 0 mm
a3 = 0 mm
3 =
2
4 = q4
d 4 = −670 mm
a4 = 0 mm
4 = −
2
5 = q5
d 5 = 0 mm
a5 = 0 mm
5 =
2
6 = q6
d 6 = −158 mm
a6 = 0 mm
6 =
i d a
1 q1 675 mm 260 mm - /2
2 q2 - /2 0 mm 680 mm 0
3 q3 0 mm 0 mm /2
4 q4 -670 mm 0 mm - /2
5 q5 0 mm 0 mm /2
6 q6 -158 mm 0 mm
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 bis q können nun die Lage und
1 6
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 q1 675 mm 260 mm - /2
2 q2 0 mm 680 mm 0
3 q3 - /2 0 mm 0 mm /2
4 q4 -670 mm 0 mm - /2
5 q5 0 mm 0 mm /2
6 q6 -158 mm 0 mm
cos i −sin i 0 0 1 0 0 0
sin i cos i 0 0 0 1 0 0
ROT z i = TRANS z d i =
0 0 1 0 0 0 1 d I
0 0 0 1 0 0 0 1
1 0 0 ai 1 0 0 0
0 1 0 0 0 cos i −sin i 0
TRANS x ai = ROT x i =
0 0 1 0 0 sin I cos i 0
0 0 0 1 0 0 0 1
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
i − 1 r = T i ⋅ i r
0 0 0 1 2 3 4 5
0 r EE = T 6 ⋅ 6 r EE mit T 6 = T 1 ⋅ T 2 ⋅ T 3 ⋅ T 4 ⋅ T 5 ⋅ T 6
Ferner lässt sich die Transformationsrichtung durch Invertieren der Matrix umkehren:
i− 1 −1
i
T i −1 = T i
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. Neben der Berechnung von Bahnkurven ( Trajektorien )
kann dieses für Visualisierung genutzt werden, wie nachfolgende Seite verdeutlichen soll.
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.
>> alpha = pi/2
Als Beispiel sind nebenstehend Eingaben
alpha =
und Ausgaben auf der Kommandozeile von
MATLAB aufgeführt; Die Eingabeposition ist 1.5708
mit >> gekennzeichnet.
>> rotmat = [1, 0, 0, 0;...
0, cos(alpha), -sin(alpha), 0;...
Zunächst erfolgen Wertzuweisungen: ein 0, sin(alpha), cos(alpha), 0;...
Skalar alpha und eine Matrix rotmat 0, 0, 0, 1];
>> rotmat*[0;1;0;1]
werden definiert. Die Matrix lässt sich
leicht als Rotationsmatrix für Drehungen ans =
um die x-Achse identifizieren.
0
0.0000
Abschließend wird die Rotationsmatrix mit 1.0000
dem Spaltenvektor multipliziert und das 1.0000
Ergebnis wird ausgegeben.