Sie sind auf Seite 1von 10

Koordinatentransformation

Koordinatentransformation nach Denavit-Hartenberg


am Beispiel eines KUKA KR16

 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:

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.
 .
   D
   A
   C
Eingezeichnet sind neben den
  o
   t
  u
   A
relevanten Abmessungen das
   d
  n
  u
  p
für die nachfolgenden
  m
   i
   G
  e
Betrachtungen herangezogene
   h
   T
 ,
  e
  p
Grundgerüst (blau) sowie die
  a
  c
  s
   k
  n
   I
Gelenkachsen (rot).
 ,
  g
  r
  o
 .
  e
  c
   i
   f
   f
   O
  n
  e
  p
   O
   t
   i
  m
   t
   l
   l
  e
   t
  s
Dipl.-Ing. Frank Abelbeck, Januar 2008 Blatt 1
  r
   E
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
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
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

Dipl.-Ing. Frank Abelbeck, Januar 2008 Blatt 2


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.
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 ).

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 x2 verläuft entlang der gemeinsamen Normalen.


Achse y2 vervollständigt das Rechtssystem.

Dipl.-Ing. Frank Abelbeck, Januar 2008 Blatt 3


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 
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.
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.

Dipl.-Ing. Frank Abelbeck, Januar 2008 Blatt 4


Koordinatentransformation nach Denavit-Hartenberg
am Beispiel eines KUKA KR16

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 bis q
1 6

gegeben.

 1 = q1
d 1 = 675 mm
a1 = 260 mm

1 = −
2


2 = q2 −
2
d 2 = 0 mm
a2 = 680 mm
2 = 0

Dipl.-Ing. Frank Abelbeck, Januar 2008 Blatt 5


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.

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
a3 = 0 mm

3 =
2

4 = q4
d 4 = −670 mm
a4 = 0 mm

4 = −
2

Dipl.-Ing. Frank Abelbeck, Januar 2008 Blatt 6


Koordinatentransformation nach Denavit-Hartenberg
am Beispiel eines KUKA KR16

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.

 5 = q5
d 5 = 0 mm
a5 = 0 mm

5 =
2

6 = q6
d 6 = −158 mm
a6 = 0 mm
6 = 

Dipl.-Ing. Frank Abelbeck, Januar 2008 Blatt 7


Koordinatentransformation nach Denavit-Hartenberg
am Beispiel eines KUKA KR16

Diskussion der Ergebnisse

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

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 bis q nennt
1 6

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 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 

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.

Dipl.-Ing. Frank Abelbeck, Januar 2008 Blatt 8


Koordinatentransformation nach Denavit-Hartenberg
am Beispiel eines KUKA KR16

Mathematische Umsetzung, knapp zusammengefasst


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

   
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

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


i −1
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 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 

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 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.

Dipl.-Ing. Frank Abelbeck, Januar 2008 Blatt 9


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.
>> 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.

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.

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.

Dipl.-Ing. Frank Abelbeck, Januar 2008 Blatt 10