Kinematik des Puma 200

Ähnliche Dokumente
Koordinaten, Transformationen und Roboter

Kapitel VI. Euklidische Geometrie

C orthogonal und haben die Länge 1). Dann ist die Länge von w = x u + y v gegeben durch w 2 Def. = w,w =

++ + = 0 so erhält man eine quadratische Gleichung mit zwei Variablen dx+ey+f = 0 1.1

Tutorium Mathematik II, M Lösungen

1 Vorlesungen: und Vektor Rechnung: 1.Teil

Symmetrie von Naturgesetzen - Galilei-Transformationen und die Invarianz der Newton schen Gesetze

Kapitel 3. Transformationen

Kapitel 3: Geometrische Transformationen

Analytische Geometrie II

3 Vektoren. 3.1 Kartesische Koordinaten in Ebene und Raum. Höhere Mathematik 60

Lineare Algebra: Theorie und Anwendungen

Grundsätzliches Produkte Anwendungen in der Geometrie. Vektorrechnung. Fakultät Grundlagen. Juli 2015

d 2 b 2 c 2 d 3 b 3 c 3 , D a 1 d 1 c 1 v 3 Definiton (Verbindungsvektor): Zwei Punkte A(a 1 a 2 a 3 ) und B(b 1 b 2 b 3 ) legen den Vektor b 1 a 1

Wiederholungsblatt Elementargeometrie LÖSUNGSSKIZZE

Dynamische Systeme und Zeitreihenanalyse // Komplexe Zahlen 3 p.2/29

ein geeignetes Koordinatensystem zu verwenden.

Analytische Geometrie, Vektorund Matrixrechnung

Geometrische Objekte im 3-dimensionalen affinen Raum oder,... wie nützlich ist ein zugehöriger Vektorraum der Verschiebungen

6 Symmetrische Matrizen und quadratische Formen

Formelsammlung Analytische Geometrie

Kapitel 2: Mathematische Grundlagen

f(x, y) = 0 Anschaulich bedeutet das, dass der im Rechteck I J = {(x, y) x I, y J}

Drehung um einen Punkt um Winkel α.

Kinematik des starren Körpers

Klausurenkurs zum Staatsexamen (WS 2013/14): Lineare Algebra und analytische Geometrie 7

Analytische Geometrie - Schnittwinkel. u 1, u 2 Richtungsvektoren der Geraden

Vektoren. Kapitel Skalare, Vektoren, Tensoren. 3.2 Vektoren

6.3 Hauptachsentransformation

Analytische Geometrie I

Zusammenfassung Mathe III. Themenschwerpunkt 3: Analytische Geometrie / lineare Algebra (ean) 1. Rechenregeln mit Vektoren

Theoretische Physik 1, Mechanik

1 Rechnen mit 2 2 Matrizen

3D-Transformationen. Kapitel Translation Skalierung

Mathematik Analytische Geometrie

entspricht der Länge des Vektorpfeils. Im R 2 : x =

Eine Methode zur Positionsberechnung aus Relativmessungen. Von Eckhardt Schön, Erfurt

Geometrie. Bei der Addition von Vektoren erhält man einen Repräsentanten des Summenvektors +, indem man die Repräsentanten von aneinanderfügt:

Vektoren - Basiswechsel

Analytische Geometrie Seite 1 von 6. Die Addition von Vektoren kann veranschaulicht werden durch das Aneinanderhängen von Pfeilen.

Herzlich willkommen zur Demo der mathepower.de Aufgabensammlung

Outline. 1 Vektoren im Raum. 2 Komponenten und Koordinaten. 3 Skalarprodukt. 4 Vektorprodukt. 5 Analytische Geometrie. 6 Lineare Räume, Gruppentheorie

2.2 Kern und Bild; Basiswechsel

(x 1. Vektoren. g: x = p + r u. p r (u1. x 2. u 2. p 2

Klausur zur Einführung in die Geometrie im SS 2002

Lineare Algebra und Numerische Mathematik für D-BAUG

Vektorgeometrie. 1. Vektoren eingeben, Norm, Skalarprodukt. 2 In einem kartesischen Koordinatensystem sind die Vektoren. , v. und. gegeben.

Wie lautet die Gleichung der Geraden, durch die beiden Punkte A(4/1) und B(-5/8)?


Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok

3.3 Klassifikation quadratischer Formen auf R n

Mathematischer Vorkurs Lösungen zum Übungsblatt 5

u + v = v + u. u + (v + w) = (u + v) + w. 0 V + v = v + 0 V = v v + u = u + v = 0 V. t (u + v) = t u + t v, (t + s) u = t u + s u.

Lehrskript Mathematik Q12 Analytische Geometrie

Serie 10: Inverse Matrix und Determinante

Vektorrechnung Raumgeometrie

Korrelationsmatrix. Statistische Bindungen zwischen den N Zufallsgrößen werden durch die Korrelationsmatrix vollständig beschrieben:

9 Funktionen und ihre Graphen

8. Übungsblatt zur Mathematik I für Maschinenbau

8 Die Riemannsche Zahlenkugel

Matrizen, Determinanten, lineare Gleichungssysteme

2.3.1 Rechtshändiges und linkshändiges Koordinatensystem

Mathematische Probleme, SS 2013 Donnerstag $Id: quadratisch.tex,v /08/12 09:49:46 hk Exp $ c a b = 1 3. tan(2φ) =

Mathematik II Frühlingsemester 2015 Kap. 9: Funktionen von mehreren Variablen 9.1 Einführung

Vektoren, Vektorräume

Lösung Semesterendprüfung (Nachprüfung)

3 Abbildungen von Funktionsgraphen

1 Analytische Geometrie

Die Steigung m ist ein Quotient zweier Differenzen und heißt daher Differenzenquotient.

Technische Universität München Zentrum Mathematik. Übungsblatt 7

Mathematische Erfrischungen III - Vektoren und Matrizen

Vektoren und Matrizen

Übungsaufgaben Vektoren

Proseminar Lineare Algebra II, SS 11. Blatt

1. Kinematik. Untersucht wird die Bewegung eines Punktes P in Bezug auf zwei Bezugssysteme: Bezugssystem Oxyz ist ruhend:

3.6 Einführung in die Vektorrechnung

( ) sind. Für einen einzelnen. ( ) berechnet werden: ( )

Gliederung. Differentielle Bewegungen. Gliederung (cont.)

Repräsentation und Transformation von geometrischen Objekten

Gliederung. Gliederung (cont.) Koordinaten eines Manipulators. Allgemeine Informationen Einführung

Mathematik II Frühlingsemester 2015 Kapitel 8: Lineare Algebra 8.5 Eigenwerte und Eigenvektoren

Einführung in die linearen Funktionen. Autor: Benedikt Menne

Inhaltsverzeichnis INHALTSVERZEICHNIS 1

Das Wort Vektor kommt aus dem lateinischen und heißt so viel wie "Träger" oder "Fahrer".

Mathematische Formeln für das Studium an Fachhochschulen

4 Grundlagen zu SVG-Karten und -Diagrammen...33

Quadratische Matrizen Inverse und Determinante

Skalarprodukt und Orthogonalität

2. Aufgabe Vereinfachen Sie die folgenden Ausdrücke so, dass möglichst wenige Multiplikationen ausgeführt werden müssen!

3. Übungsblatt Aufgaben mit Lösungen

Vektoralgebra Anwendungen der Vektorrechnung VEKTORRECHNUNG. Prof. Dr. Dan Eugen Ulmet. Hochschule Esslingen 1/64

Entwicklung einer allgemeinen dynamischen inversen Kinematik

Skalarprodukte (Teschl/Teschl Kap. 13)

3. Erhaltungsgrößen und die Newton schen Axiome

2. Vorlesung Wintersemester

Vektorgeometrie. Inhaltsverzeichnis. Fragen und Antworten. (bitte nur für den Eigengebrauch verwenden)

Lösungen - Serie 2 zu den Übungsaufgaben zur Vorlesung Algebraische Zahlentheorie

Studiengänge) Beispiele

Grundlagen zu Geraden

Transkript:

Kinematik des Puma 200 1

2 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung 3 2 Denavit-Hartenberg-Konfiguration 5 3 Mehrdeutigkeiten 7 4 Direkte Kinematik 10 5 Inverse Kinematik 13 6 Orientierung des Greifers 16 Literatur 18 Inde9

1 Einführung 3 1 Einführung Der Puma 200 ist ein Roboterarm mit sechs Gelenken, von denen die ersten drei dazu dienen, das Werkzeug (in unserem Falle ein Greifer ) an eine vorgeschriebene Position im Raum zu bewegen, und die letzten drei dazu, die Orientierung des Werkzeugs festzulegen. Die Gelenkachsen bezeichnen wir mit L 1,..., L 6. L 4 L 3 Ellbogen Unterarm L 2 L 1 L 5 L 6 Im Folgenden werden kleine, fette Buchstaben verwendet, um Vektoren und Punkte x Ê 3 zu beschreiben. Mit großen Buchstaben werden Matrizen für affine Transformationen der Form y = Ax + b, A SO 3 (Ê), beschrieben. Beim Rechnen ist es in der Regel günstiger, diese Transformationen in erweiterten Koordinaten darzustellen, die wir durch hohle Buchstaben kennzeichnen. Die Gleichung y = Ax + b schreibt sich so als Ý = Ü mit Ý = [ [ y x, Ü = 1] 1] und = [ ] A b 0. 1

4 1 Einführung Für die Kinematik benötigen wir in jedem Gelenk ein lokales Koordinatensystem der Form KS = (o; x, y, z), wobei o der Ursprung des Koordinatensystems ist und die Vektoren x, y und z die normierten, paarweise orthogonalen Richtungsvektoren entlang der enstprechenden Koordinatenachsen sind. Wir setzen dabei voraus, dass alle vorkommenden Koordinatensysteme rechtshändig sind, d.h. det(x, y, z) > 0. Das Vektorprodukt zweier Vektoren x und y ist durch y 1 x 2 y 3 x 3 y 2 x 2 x 3 := y 2 y 3 x 3 y 1 y 3 y 2 x 2 y 1 definiert. Es gilt stets x y = y x und (x y) span(x, y). Wir werden anstelle der Funktion arctan im Folgenden die Funktion atan 1) verwenden: arctan ( ) y x > 0, y Ê x π arctan ( ) y x < 0, y > 0 atan(y, x) = x arctan ( y x) π x < 0, y 0 sign(y) π x = 0, y 0 2 Die Funktion atan hat gegenüber arctan den Vorteil, dass sie den Wert y in das x Intervall [ π, π) und nicht in ( π, π ) abbildet. So wird jedem Paar (y, x) (0, 0) 2 2 eindeutig ein Winkel zugeordnet. 1) Diese Funktion ist in der Programmiersprache C durch atan2 realisiert.

2 Denavit-Hartenberg-Konfiguration 5 2 Denavit-Hartenberg-Konfiguration Die Denavit-Hartenberg-Konfiguration legt fest, in welcher Weise die lokalen Koordinatensysteme der einzelnen Gelenke eines Roboterarmes ineinander transformiert werden bzw. wie diese Koordinatensysteme zu wählen sind. Es bezeichne L i die Drehachse durch das i-te Gelenk und KS i = (o i ; x i, y i, z i ) das durch die Konfiguration festgelegte Koordinatensystem im i-ten Gelenk. Die Lage von KS 1 kann beliebig gewählt werden, solange z 1 auf der Achse L 1 liegt. Die Konfiguration wird wie folgt bestimmt: 1. Windschiefe Achsen: Bestimme ausgehend von KS i den Lotvektor a i von L i auf L i+1. Der Lotfußpunkt von a i auf L i+1 ist der Ursprung o i+1 des neuen Koordinatensystems KS i+1. Die Richtung a i ist die neue x i+1 -Richtung. z i+1 zeigt entlang der Achse L i+1, wobei das Vorzeichen willkürlich gewählt werden kann. Es wird y i+1 = z i x i festgelegt. Damit kann man KS i mit folgender Bewegung in KS i+1 überführen: Drehung um den Winkel ϑ i um die z i -Achse, so dass x i parallel zu x i+1 liegt. Verschiebung um den Vektor d i entlang der z i -Achse, so dass o i in den Lotfußpunkt des Lotes a i geschoben wird. Verschiebung um a i, um den Koordinatenursprung auf o i+1 zu bewegen. Drehung um α i um die x i+1 -Achse, um die z i -Achse auf die z i+1 Achse zu kippen. 2. Sich schneidende Achsen: Es ist a i = 0, so dass die x i+1 -Richtung nicht wie bei windschiefen Geraden bestimmt werden kann. Die übrigen Größen können genauso wie bei windschiefen Geraden bestimmt werden. Setze x i+1 = z i z i+1 z i z i+1. 3. Parallele Achsen: Die Fußpunkte des Lotes a i sind nicht eindeutig bestimmt, alle anderen Größen lassen sich wie bei windschiefen Geraden bestimmen. Bestimme die Fußpunkte des Lotes so, dass die oben genannte Verschiebung d i entlang der z i -Achse zu 0 wird.

6 2 Denavit-Hartenberg-Konfiguration Dies führt zu folgender erweiterter Bewegungsmatrix von KS i zu KS i+1 : cos(ϑ i ) sin(ϑ i ) cos(α i ) sin(ϑ i ) sin(α i ) a i cos(ϑ i ) i = sin(ϑ i ) cos(ϑ i ) cos(α i ) cos(ϑ i ) sin(α i ) a i sin(ϑ i ) 0 sin(α i ) cos(α i ) d i 0 0 0 1 mit a i = a i und d i = d i. Diese Matrix kann auch als Koordinatentransformation von KS i+1 nach KS i aufgefasst werden. Für den Puma 200 erhalten wir somit folgende Denavit-Hartenberg-Konfiguration: Gelenk a i α i d i 1 0 π/2 0 2 203,3 mm 0 0 3 0 π/2 127 mm 4 0 π/2 203,2 mm 5 0 π/2 0 Dabei wurde KS 1 in den Schnittpunkt der Achsen L 1 und L 2 gelegt, die -Achse zeigt in Richtung des Armes in Ruhestellung. Die Orientierungen der z i -Achsen ergeben sich aus der Zeichnung. Die Winkel ϑ i hängen von der aktuellen Stellung des Armes ab, wobei zu beachten ist, dass ϑ i immer relativ zum Koordinatensystem KS i 1 aufzufassen ist. Die Maße sind der Konstruktionszeichnung des Armes zu entnehmen. L 3 z 1 a 2 x 3 x 4 z 3 o 3 o 4 d 3 L 2 o 1,2 x z 2 2 z 4 d 4 x 6 x 5 z 6 o 5,6 L 6 L 1 L5 z 5 L 4

3 Mehrdeutigkeiten 7 3 Mehrdeutigkeiten Sind die Winkel ϑ 1,..., ϑ 6 gegeben, so ist die Stellung des Roboterarmes, also die Transformationsmatrix = 1 2 3 4 5 6 mit i wie in Abschnitt 2, eindeutig bestimmt. Ist umgekehrt die Matrix gegeben, so gibt es in der Regel mehrere Möglichkeiten für die Winkel ϑ i, die zu dieser Transformation führen. Die folgende Abbildung verdeutlicht dies. KS i Arm hoch KS i 1 KS i+1 KS i Arm tief Diese Mehrdeutigkeiten müssen für die inverse Kinematik (Abschnitt 5) aufgelöst werden, da abhängig von der gewählten Einstellung unterschiedliche Berechnungen durchgeführt werden müssen. Beim Puma 200 treten an drei Stellen Mehrdeutigkeiten auf: 1. Der Arm ist links bzw. rechts, wenn der Greifer links bzw. rechts von der z 2 -Achse liegt. 2) y 1 y 1 p x o 6 ϑ 1 p y q x ϑ 1 q y o 1 p y o 1 q y rechts von z z p x o 6 z 2 q x links von z z z 2 Projektion des Armes auf die y 1 -Ebene 2) Diese Festlegung ist genau entgegengesetzt dazu, den Arm als linken Arm bzw. rechten Arm aufzufassen, wie es etwa bei Paul und Zhang [1] getan wird.

8 3 Mehrdeutigkeiten Bezeichnen wir mit p den Verschiebungsvektor von KS 1 zu KS 6, so erhalten wir p aus der letzten Spalte von = (b ij ): p x b 14 p y = b 24 p z b 34 Um zu entscheiden, ob der Arm links oder rechts von z 2 liegt, betrachten wir die Projektion in die y 1 -Ebene. Wir drehen die Projektion des Armes um den Winkel ϑ 1 um die z 1 -Achse zurück, so dass der zurückgedrehte Vektor z 2 auf der negativen y 1 -Achse liegt: [ ] [ ] [ ] qx cos(ϑ1 ) sin(ϑ := 1 ) px sin(ϑ 1 ) cos(ϑ 1 ) q y Dann kann man die Stellung sofort anhand des Vorzeichens von q x ablesen: sign(q x ) = +1 Arm links, sign(q x ) = 1 Arm rechts. Im Falle q x = 0 wird die Stellung per Definition als links bezeichnet. 2. Der Ellbogen steht hoch bzw. tief, d.h. der Koordinatenursprung o 3 befindet sich oberhalb bzw. unterhalb der Verbindungslinie von o 1 zu o 6. Um dies zu entscheiden, drehen wir den im Schritt zuvor bereits um ϑ 1 zurückgedrehten Arm nun um ϑ 2 um die y 1 -Achse und betrachten die Projektion auf die z 1 -Ebene: [vx ] [ ] [ ] cos(ϑ2 ) sin(ϑ := 2 ) qx sin(ϑ 2 ) cos(ϑ 2 ) v z Wir können dann die Stellung des Ellbogens am Vorzeichen von v z ablesen, müssen dabei jedoch die Fälle Arm links und Arm rechts unterscheiden. (a) Der Arm ist links. p y p z q x p z q x z 1 z 1 p z ϑ 2 v z v x ϑ 2 o 1 Ellbogen tief, Arm links v x Ellbogen hoch, Arm links v z Projektion des Armes auf die z 1 -Ebene

3 Mehrdeutigkeiten 9 In diesem Fall ist sign(v z ) = +1 Ellbogen tief, sign(v z ) = 1 Ellbogen hoch. (b) Der Arm ist rechts. z 1 z 1 p z q x o 1 q x v z ϑ 2 ϑ 2 v x Ellbogen hoch, Arm rechts p z v z Ellbogen tief, Arm rechts Projektion des Armes auf die z 1 -Ebene v x In diesem Fall ist sign(v z ) = +1 Ellbogen hoch, sign(v z ) = 1 Ellbogen tief. In beiden Fällen wird der Ellbogen für v z = 0 per Definition als hoch bezeichnet. 3. Der Unterarm ist verdreht bzw. nicht verdreht, d.h. es gibt zwei Möglichkeiten, abhängig von der Drehung um die Gelenkachse L 4 um den Winkel ϑ 4 eine vorgegebene Orientierung des Greifers, also von KS 6, zu realisieren. z 5 z 5 x 5 x 5 x 5 x 6 x 6 ϑ 5 ϑ 5 x 6 ϑ 4 ϑ 4 π z 5 ϑ 6 ϑ 6 π z5 z 6 z 6 z6 KS 6 y y 5 5 KS 6 z 6 x 6 x 5 ϑ 4,ϑ 5,ϑ 6 gegeben ϑ 4, ϑ 5,ϑ 6 ϑ 4 π, ϑ 5,ϑ 6 ϑ 4 π, ϑ 5,ϑ 6 π verdreht nicht verdreht y 5 y 5 Anfangs- und Endzustand in der Zeichnung realisieren die selbe Orientierung. Das Vorzeichen von sin(ϑ 5 ) legt die Verdrehung fest: sign(sin(ϑ 5 )) = +1 Unterarm nicht verdreht, sign(sin(ϑ 5 )) = 1 Unterarm verdreht.

10 4 Direkte Kinematik 4 Direkte Kinematik Die Aufgabe der direkten Kinematik ist es, aus vorgegebenen Winkeln ϑ 1,..., ϑ 6 die Transformationsmatrix von KS 6 nach KS 1 zu bestimmen. Mit den i aus Abschnitt 2 ist = 1 2 3 4 5 6. Desweiteren kann in der direkten Kinematik auch ermittelt werden, welche Konfiguration der Roboterarm bgzl. der in Abschnitt 3 vorgestellten Mehrdeutigkeiten einnimmt. Um effizient zu berechnen, verwenden wir das Verfahren aus dem Artikel von Paul und Zhang [1], das an den Puma 200 und die Denavit-Hartenberg-Konfiguration aus Abschnitt 2 angepasst wurde. Wir definieren dafür zunächst folgende Matrizen: 23 = 2 3 Å 6 = 6 Å 5 = 5 Å 6 = 5 6 Å 4 = 4 Å 5 = 4 5 6 Å 3 = 3 Å 4 = 3 4 5 6 Å 2 = 23 Å 4 = 23 4 5 6 Å 1 = 1 Å 2 = 1 23 4 5 6 = Die Idee ist nun, angefangen bei Å 6, nacheinander die Matrizen Å k zu bestimmen, indem sie mit den jeweils bekannten rechten Seiten dieser Gleichungen gleichgesetzt werden und damit die einzelnen Einträge der Å k zu bestimmen, ohne jedesmal eine komplette Matrizenmultiplikation durchzuführen. Es bezeichne m (k) ij den Eintrag in der i-ten Zeile und j-ten Spalte der Matrix Å k. Der Lesbarkeit wegen schreiben wir c i = cos(ϑ i ), s i = sin(ϑ i ), c 23 = cos(ϑ 2 + ϑ 3 ), s 23 = sin(ϑ 2 + ϑ 3 ). Wir erhalten sofort c 6 s 6 0 0 c 5 c 6 c 5 s 6 s 5 0 Å 6 = s 6 c 6 0 0 0 0 1 0 und Å 5 = s 5 c 6 s 5 s 6 c 5 0 s 6 c 6 0 0. 0 0 0 1 0 0 0 1 Somit haben wir m (5) 11 := c 5c 6 m (5) 12 := c 5s 6 m (5) 21 := s 5c 6 m (5) 22 := s 5 s 6

4 Direkte Kinematik 11 und können Å 4 schreiben als Wir setzen nun Damit ist Å 2 = und wir setzen Schließlich ist Å 4 = 11 c 4 + s 4 s 6 c 4 m (5) 12 + s 4 c 6 c 4 s 5 0 11 s 4 c 4 s 6 s 4 m (5) 12 c 4 c 6 s 4 s 5 0 m (5) 21 m (5) 22 c 5 0. 0 0 0 1 m (5) m (5) m (4) 11 := m (5) 11 c 4 + s 4 s 6 m (4) 12 := c 4 m (5) 12 + s 4 c 6 m (4) 13 := c 4 s 5 m (4) 21 := m (5) 11 s 4 c 4 s 6 m (4) 22 := s 4 m (5) 12 c 4 c 6 m (4) 23 := s 4 s 5. c 23 m (4) 11 + s 23 m (5) 21 c 23 m (4) 12 + s 23 m (5) 22 c 23 m (4) 13 c 5 s 23 c 2 a 2 + s 23 d 4 s 23 m (4) 11 c 23 m (5) 21 s 23 m (4) 12 c 23 m (5) 22 s 23 m (4) 13 + c 5 c 23 s 2 a 2 c 23 d 4 m (4) 21 m (4) 22 m (4) 23 0 0 0 0 1 m (2) 11 := c 23m (4) 11 + s 23m (5) 21 m (2) 12 := c 23m (4) 12 + s 23m (5) 22 m (2) 13 := c 23 m (4) 13 c 5 s 23 m (2) 14 := c 2 a 2 + s 23 d 4 m (2) 21 := s 23 m (4) 11 c 23 m (5) 21 m (2) 22 := s 23 m (4) 12 c 23 m (5) 22 m (2) 23 := s 23 m (4) 13 + c 5 c 23 m (2) 24 := s 2 a 2 c 23 d 4. c 1 m (2) 11 + s 1 m (4) 21 c 1 m (2) 12 + s 1 m (4) 22 c 1 m (2) 13 + s 1 m (4) 23 c 1 m (2) 14 + s 1 d 3 s = Å 1 = 1 m (2) 11 c 1 m (4) 21 s 1 m (2) 12 c 1 m (4) 22 s 1 m (2) 13 c 1 m (4) 23 s 1 m (2) 14 c 1 d 3 m (2) 21 m (2) 22 m (2) 23 m (2). 24 0 0 0 1

12 4 Direkte Kinematik Wir erhalten also die Komponenten von = (b ij ) durch b 12 := c 1 m (2) 12 + s 1 m (4) 22 b 13 := c 1 m (2) 13 + s 1m (4) 23 b 14 := c 1 m (2) 14 + s 1d 3 b 22 := s 1 m (2) 12 c 1m (4) 22 b 23 := s 1 m (2) 13 c 1m (4) 23 b 24 := s 1 m (2) 14 c 1d 3 b 32 := m (2) 22 b 33 := m (2) 23 b 34 := m (2) 24 und da die linke obere 3 3-Teilmatrix von orthogonal sein muss, können wir die erste Spalte von auch durch b 11 b 12 b 13 b 21 := b 22 b 23 und b 41 := 0 b 31 b 32 b 33 erhalten. Dies spart die Berechnung der Zwischenvariablen m (2) 11, m (2) 21, m (4) 11, m (4) 21, m (5) 11 und m (5) 21.

5 Inverse Kinematik 13 5 Inverse Kinematik Die inverse Kinematik soll aus der gegebenen Transformationsmatrix die Winkel ϑ 1,..., ϑ 6 rekonstruieren. Wegen der in Abschnitt 3 dargelegten Mehrdeutigkeiten können mehrere Lösungen für die Winkel ϑ i existieren. Daher muss vorgegeben werden, ob der Arm links oder rechts stehen soll, der Ellbogen hoch oder tief und ob der Unterarm verdreht sein soll oder nicht. Unser Vorgehen für die inverse Kinematik ist im Prinzip eine Umkehrung des Vorgehens bei der direkten Kinematik. Wir definieren die Matrizen Ì 0 = Å 1 = Ì 1 = Å 2 = 1 1 Ì 0 Ì 2 = Å 3 = 1 2 Ì 1 Ì 3 = Å 4 = 1 23 Ì 1 Ì 4 = Å 5 = 1 4 Ì 3 Ì 5 = Å 6 = 1 5 Ì 4 = 6 Es werden wieder nacheinander die von den ϑ i abhängigen linken Seiten aus den jeweils bekannten rechten Seiten ermittelt. Es bezeichne t (k) ij den Eintrag in der i-ten Zeile und j-ten Spalte der Matrix Ì k. Die Rechnungen unterscheiden sich nur in Details von den bei Paul und Zhang [1] erläuterten, so dass wir sie nicht ausführen. Die letzte Spalte von Ì 0 enthält die Verschiebung p von KS 1 nach KS 6. Durch Gleichsetzen mit Å 1 und Umformen erhalten wir { ( arcsin d3 ) ϑ 1 = atan(p y, p x ) + r falls Arm links π arcsin ( ) d 3 r falls Arm rechts mit r = p 2 x + p 2 y. Die Zeichnung erklärt die Fallunterscheidung, vgl. auch die erste Mehrdeutigkeit in Abschnitt 3. y 1 Arm rechts y 1 β 2 d 3 r o 1 ϑ 1 β2 β 1 d 3 r x1 o 1 ϑ1 β 1 Arm links Hier ist β 1 = atan(p y, p x ) und β 2 = arcsin( d 3 r ). Steht der Arm rechts, so ist ϑ 1 = π β 2 +β 1. Steht der Arm links, so ist ϑ 1 = β 1 +β 2. Beachte, dass stets β 2 0 gilt.

14 5 Inverse Kinematik Ist d 3 > r, so ist die vorgegebene Position p durch den Roboterarm nicht erreichbar, da sie näher an o 1 liegt, als der Greifer positioniert werden kann. Vergleichen wir nun Ì 1 mit 1 1 Å 1, so stellen wir fest, dass t (1) 14 = c 1 p x + s 1 p y gerade dem Wert q x aus Abschnitt 3 entspricht. Zusammen mit dem Wert p z = b 34 = t (0) 34 und dem Vorzeichen { +1 Arm links σ = 1 Arm rechts können wir nach ϑ 2 = atan(p z, t (1) 14 ) + σ ) r arccos( 2 +a 2 2 d2 4 2 ra 2 arccos( r 2 +a 2 2 d2 4 2 ra 2 ) Ellbogen hoch Ellbogen tief aufösen, wobei r = q 2 x + p 2 z ist. Die Zeichnung verdeutlicht dies für den Fall, dass der Arm links steht, vgl. die zweite Mehrdeutigkeit in Abschnitt 3. q x p z hoch z 1 r z 1 q x β 1 tief β 1 r p z β 2 ϑ 2 ϑ 2 β 2 o 1 o 1 Hier ist (nach dem Cosinussatz) β 1 = arccos( r2 +a 2 2 d2 4 2 ra 2 ) und β 2 = atan(p z, q x ). Steht der Arm hoch, so ist ϑ 2 = β 2 +β 1 und steht der Arm tief, so ist ϑ 2 = β 2 β 1. Beachte, dass stets β 1 0 gilt. Entsprechende Überlegungen führen auf die Formel für den Fall, dass der Arm rechts steht, und rechtfertigen auch die Wahl des Vorzeichens σ. In der letzte Spalte von Ì 2 = Å 3 = 1 2 Ì 1 stehen die Einträge t (2) 14 = s 3d 4 = c 2 t (1) 14 + s 2p z a 2, t (2) 24 = c 3 d 4 = s 2 t (1) 14 + c 2 p z, was wir nach ϑ 3 = atan ( ) c 2 t (1) 14 + s 2 p z a 2 s 2 t (1) 14 c 2 p z

5 Inverse Kinematik 15 auflösen. Mit ϑ 2 und ϑ 3 sind nun auch s 23 und c 23 bekannt, und mit t (1) 13 = c 1 b 13 + s 1 b 23 bestimmen wir die Einträge t (3) 13 Es ist nun tan(ϑ 5 ) = s 1 5 t(3) 23 s 1 5 t(3) 13 von s 5 verlorenginge, setzen wir { ϑ 4 = und t(3) 23 aus Ì 3 = Å 4 = 1 23 Ì 1 zu t (3) 23 = c 4 s 5 = s 23 b 33 + c 23 t (1) 13, t (3) 13 = s 4 s 5 = s 1 b 13 c 1 b 23.. Da beim Kürzen von s 5 Information über das Vorzeichen atan(t (3) 23, t (3) atan( t (3) 23, t (3) 13 ) falls Unterarm nicht verdreht 13 ) falls Unterarm verdreht und lösen somit die dritte Mehrdeutigkeit aus Abschnitt 3 auf. Diese Gleichung ist singulär für s 5 = 0. Dies ist jedoch genau dann der Fall, wenn die Drehachsen L 4 und L 6 zusammenfallen, so dass wir dann ohne weiteres ϑ 4 = 0 annehmen können, da jede Drehung um L 4 ebensogut durch eine zusätzliche Drehung um L 6 realisiert werden kann. Aus dem Vergleich Ì 4 = 1 4 Ì 3 erhalten wir s 5 = c 4 t (3) 13 + s 4 t (3) 23 c 5 = c 23 b 33 s 23 t (1) 13 und somit ϑ 5 = atan(c 4 t (3) 13 + s 4t (3) 23, c 23b 33 s 23 t (1) 13 ). Schließlich ist Ì 5 = 1 5 Ì 4 und wir erhalten mit und t (4) 12 = c 4(s 23 b 32 + c 23 (c 1 b 12 + s 1 b 22 )) s 4 (c 1 b 22 s 1 b 12 ) t (4) 22 = s 23(c 1 b 12 + s 1 b 22 ) c 23 b 32 t (4) 32 = c 4(c 1 b 22 s 1 b 12 ) + s 4 (s 23 b 32 + c 23 (c 1 b 12 + s 1 b 22 )) s 6 = c 5 t (4) 12 s 5t (4) 22 c 6 = t (4) 32 den Winkel ϑ 6 = atan( c 5 t (4) 12 s 5 t (4) 22, t (4) 32 ).

16 6 Orientierung des Greifers 6 Orientierung des Greifers Will man die Lage des Greifers im Raum angeben, so mag es recht umständlich scheinen, dies durch explizite Angabe der Matrix zu tun. Es ist sicherlich einfacher, stattdessen den Verschiebungsvektor p von o 1 nach o 6 und die Orientierung des Greifers durch seine drei Winkel gegenüber der z 1 -, y 1 - und -Achse (in dieser Reihenfolge) anzugeben. hat die Form = [ ] B p 0, 1 wobei die Drehmatrix B SO 3 (Ê) die Orientierung des Greifers beschreibt und p die Verschiebung ist. B lässt sich als Produkt B = R z (ζ)r y (η)r x (ξ) von drei Rotationen schreiben. Diese Darstellung entspricht ausgehend von KS 1 einer Rotation um die z 1 -Achse um den Winkel ζ gefolgt von einer Rotation um die y 1 -Achse um den Winkel η und schließlich einer Rotation um die -Achse um den Winkel ξ. Die Matrizen müssen in dieser Reihenfolge stehen, denn die Drehung durch R y (η) im bereits durch R z (ζ) gedrehten Koordinatensystem schreibt sich im ursprünglichen KS 1 als R z (ζ)r y (η)r z (ζ) 1. Die Verknüpfung der beiden Drehungen ergibt also in der Darstellung bzgl. des ursprünglichen KS 1 (R z (ζ)r y (η)r z (ζ) 1 )R z (ζ) = R z (ζ)r y (η). Entsprechendes kann man sich für die Darstellung der Drehung R x (ξ) nach vorangegangenen Drehungen um ζ und ξ überlegen. Die Matrizen haben die Gestalt cos(ζ) sin(ζ) 0 cos(η) 0 sin(η) R z (ζ) = sin(ζ) cos(ζ) 0,R y (η) = 0 1 0, 0 0 1 sin(η) 0 cos(η) 1 0 0 R x (ξ) = 0 cos(ξ) sin(ξ) 0 sin(ξ) cos(ξ) und somit ist B = cos(η) cos(ζ) cos(ξ) sin(ζ) cos(ζ) sin(ξ) sin(η) sin(ξ) sin(ζ) cos(ξ) cos(ζ) sin(η) cos(η) sin(ζ) cos(ξ) cos(ζ) sin(ξ) sin(η) sin(ζ) cos(ζ) sin(ξ) cos(ξ) sin(η) sin(ζ). sin(η) cos(η) cos(ξ) cos(η) sin(ξ)

6 Orientierung des Greifers 17 Sind für die inverse Kinematik anstelle der Matrix der Vektor p und die Winkel ζ, η und ξ gegeben, so lässt sich B (und damit auch ) durch diese Darstellung bestimmen. Soll die direkte Kinematik nicht die Matrix, sondern den Vektor p und die Winkel ζ, η und ξ ausgeben, so kann man zuerst die Matrix (und somit auch B) bestimmen, und dann folgende Gleichungen nutzen: b 14 p = b 24, b 34 ζ = atan(sin(ζ), cos(ζ)) = atan(cos(η) sin(ζ), cos(η) cos(ζ)) = atan(b 12, b 11 ), ξ = atan(sin(ξ), cos(ξ)) = atan(cos(η) sin(ξ), cos(η) cos(ξ)) = atan(b 32, b 32 ), und mit b 11 cos(ζ) + b 21 sin(ζ) = cos(η) cos(ζ) 2 + cos(η) sin(ζ) 2 = cos(η) η = atan(sin(η), cos(η)) = atan(b 13, b 11 cos(ζ) + b 21 sin(ζ)).

18 Literatur Literatur [1] Paul, Zhang: Computationally Efficient Kinematics for Manipulators with Spherical Wrists Based on the Homogeneous Transformation Representation, The International Journal of Robotics Research Vol. 5 No. 2, 1986.

Index Armstellung hoch, 8 links, 7 rechts, 7 tief, 8 verdreht, 9 atan, 4 Denavit-Hartenberg-Konfiguration, 5 direkte Kinematik, 10, 17 Ellbogen, 8 erweiterte Koordinaten, 3 Greifer, 3, 16 hoch, 8, 14 inverse Kinematik, 13, 17 Kinematik direkte, 10, 17 inverse, 13, 17 Koordinatensystem, 4 links, 7, 13 lokales Koordinatensystem, 4 Mehrdeutigkeiten, 7, 13 15 rechts, 7, 13 tief, 8, 14 Vektorprodukt, 4 verdreht, 9, 15 19