Beschreibung

Werbung
HSSE – OpenProject
c
HSSE 2005,
Version: 18. September 2006
Thomas Müller-Wipperfürth
Die Wilde 13: Grundlagen der inversen Kinematik
http://www.sandbox.at
Die Wilde 13: Grundlagen der inversen Kinematik
Inhaltsverzeichnis
1 Einleitung
Das vorliegende Dokument beschreibt Grundlagen der inversen Kinematik und deren Anwendung für die Programmierung der Wilden 13. Zur Begriffsbestimmung: Die direkte Kinematik berechnet aus der Geometrie eines Roboters
und den aktuellen Winkeln der ”Gelenke” die Position der ”Hand”. Im Gegensatz dazu versucht die inverse Kinematik aus der Geometrie des Roboters die entsprechenden Winkel der Gelenke zu berechnen, um einen vorgegebenen
Punkt mit der Hand zu erreichen. Die Lösung von Gleichungssystemen und numerische bzw. geometrische Verfahren (z.B. Anwendung des Cosinussatzes) werden zur Lösung dieser Problematik eingesetzt. Als Grundlage zur
Programmierung der Wilden 13 bietet dieses Dokument eine Einführung in das geometrische Verfahren. Grenzfälle
und Einschränkungen werden nicht explizit behandelt. Die mathematische Modellierung ersetzt das experimentelle
Vorgehen, um flüssige Bewegungen der Wilden 13 zu erzielen.
2 Grundlagen
Als Grundlage für den geometrischen Ansatz dienen die Zusammenhänge von Seitenlängen und Winkeln im Dreieck.
Abbildung 1: Seiten und Winkel des Dreiecks
Für die Seiten im rechtwinkeligen Dreieck gilt:
c2
= a2 + b2
Für die Winkel im rechtwinkeligen Dreieck gilt:
sin α
=
cos α
=
tan α
=
a
c
b
c
a
b
Der Cosinussatz beschreibt die Zusammenhänge zwischen den Seitenlängen und einem Winkel in beliebigen Dreiecken:
a2
b2
c2
= b2 + c2 − 2bc cos α
= a2 + c2 − 2ac cos β
= a2 + b2 − 2ab cos γ
3 Die Wilde 13
Der Öffnungswinkel der Servos wird in den weiteren Überlegungen auf 90◦ eingeschränkt. Die Berechnungen
der Winkel des Hüftgelenks, des Oberschenkelgelenks und des Unterschenkelgelenks zum Anfahren des Punktes
P (x, y, z) werden anhand des Beins 5 der Wilden 13 erläutert.
3.1 Hüftgelenk φh
Abbildung ?? zeigt eine Teilaufsicht der Wilden 13. Der Abstand der Achse des Hüftservos vom Koordinatenursprung wird mit xB bezeichnet und beträgt 8 cm für alle Beine der Wilden 13.
Abbildung 2: Teilaufsicht der Wilden 13 zur Berechnung des Winkels φh des Hüftservos.
Für die Koordinaten des Punktes P (x, y, z) gelten für die Berechnung des Hüftwinkels φh die Einschränkungen
x > xB und |y| ≤ (x − xB ). Damit muss der Punkt P innerhalb des Öffnungswinkels des Hüftservos liegen.
In Abbildung ?? ist dieser Öffnungswinkel durch die punktierten Linien dargestellt. Es ist zu beachten, dass diese
Einschränkungen nur für die Berechnung des Hüftwinkels gelten und noch nicht sicherstellen, dass der Punkt P
tatsächlich erreicht werden kann. Im Kapitel ?? werden weitere Einschränkungen definiert, die bei der Berechnung
des Oberschenkelwinkels zu berücksichtigen sind und die Erreichbarkeit des Punktes P sicherstellen. Der Hüftwinkel
φh kann wie folgt bestimmt werden:
2
φh
=
tan φ0h
=
φ0h
=
45 − φ0h
y
x − xB
arctan
y
x − xB
Beispiel: Gesucht ist die Stellung des Hüftgelenks für den Punkt P (168, −47, z). Die z-Koordinate spielt keine Rolle
für die Berechnung des Winkels φh .
φ0h
φ0h
φh
= arctan(−0, 53)
= −28
= 45 − (−28) = 73
Für den Punkt P (168, 47, z) ergibt sich φh = 17◦ .
3.2 Oberschenkelgelenk φo
Zur Berechnung des Oberschenkelwinkels φo wird die vom Ober- und Unterschenkel aufgespannte Ebene um die
zur z-Achse parallele Gerade durch den Beinursprung in die xz-Ebene gedreht. Die z-Koordinate bleibt durch diese
Drehung unverändert; die x-Koordinate des Punktes P (x, y, z) wird zu x0 , wobei gilt (siehe Abbildung ??):
p
y 2 + (x − xB )2
x0 =
Für die Berechnung von φo werden die Werte H, O, U und S benötigt (siehe Abbildung ??). Die Länge der Strecke
S ist gegeben durch:
S2
S
= z 2 + (x0 − H)2
p
=
z 2 + (x0 − H)2
Abbildung 3: Berechnung des Oberschenkelwinkels φo . Die Ebene des Beines wird durch die zur z-Achse parallele Gerade durch
den Beinursprung in die xz-Ebene gedreht.
Die Position des Punktes P 0 (x0 , z) wird im Folgenden eingeschränkt, so dass x0 > H gilt. Soll der Endpunkt des
Beines weiter in Richtung Körpermittelpunkt bewegt werden können, sind weiterreichende Überlegungen anzustellen. Insbesonders für x0 = H ist ein Sonderfall zu berücksichtigen. Die Bedingung z ≥ 0 stellt sicher, dass nur
Punkte unterhalb der Achse des Hüftservos angesteuert werden können. Außerdem darf der Punkt P 0 (x0 , z) nicht
außerhalb des Kreises liegen, dessen Mittelpunkt durch die Achse des Oberschenkelservos definiert ist und dessen
Radius durch die Längen O und U festgelegt ist. Punkte außerhalb können durch die festgelegten Längen des Oberund Unterschenkels nicht erreicht werden. Zusammenfassend werden folgende Einschränkungen für die Berechnung
von φo angenommen:
z = z0
x0
0
2
(x − H) + z 2
≥ 0
> H
≤ (O + U )2
3
Der Winkel φo kann jetzt durch φ00o − φ0o berechnet werden. Wobei für φ00o gilt:
z
tan φ00o =
x0 − H
z
φ00o = arctan 0
x −H
Zur Berechnung des Winkels φ0o kommt der Cosinussatz zur Anwendung:
= S 2 + O2 − 2SO cos φ0o
U 2 − S 2 − O2
cos φ0o =
−2SO
2
S + O2 − U 2
cos φ0o =
2SO
S 2 + O2 − U 2
φ0o = arccos
2SO
Damit ergibt sich für den Oberschenkelwinkel φo :
U2
φo
=
arctan
x0
z
S 2 + O2 − U 2
− arccos
−H
2SO
3.3 Unterschenkelgelenk φu
Abbildung ?? zeigt, dass der Winkel φu des Unterschenkelservos durch 180−φ0u berechnet werden kann. Der Winkel
φ0u ergibt sich aus der Anwendung des Cosinussatzes wie folgt:
S2
cos φ0u
cos φ0u
φ0u
= O2 + U 2 − 2OU cos φ0u
S 2 − O2 − U 2
=
−2OU
2
O + U 2 − S2
=
2OU
O2 + U 2 − S 2
= arccos
2OU
Abbildung 4: Berechnung des Unterschenkelwinkels φu .
Der Winkel φu des Unterschenkelgelenks ist damit beschrieben durch:
φu
4
=
180 − arccos
O2 + U 2 − S 2
2OU
3.4 Transformation kartesischer Koordinaten
Das Koordinatensystem der Wilden 13 wurde so gewählt, dass die x-Achse des Koordinatensystems durch die Achse
des Hüftservos des Beines 5 verläuft. Die Achse des Hüftservos des Beines 2 liegt auf der negativen x-Achse. Die
Berechnung der Servowinkel der Beine 1,3,4, und 6 kann durch die Drehung des kartesischen Koordinatensystems
um den Körperursprung vereinfacht werden. Die Berechnung der Servowinkel erfolgt im gedrehten Koordinatensystem - dies erfordert die Berechnung von P 0 gefolgt von den Berechnungen für φh , φo und φu . Die berechneten
Winkelwerte sind unabhängig von der Drehung des Koordinatensystems.
Abbildung ?? illustriert die Drehung des xy-Koordinatensystems um den Winkel φ gegen den Uhrzeigersinn um den
Ursprung des Koordinatensystems.
Abbildung 5: Drehung eines kartesischen Koordinatensystems.
Durch diese Drehung ergeben sich folgende Zusammenhänge:
x0
y0
= x cos φ + y sin φ
= −x sin φ + y cos φ
x = x0 cos φ − y 0 sin φ
y = x0 sin φ + y 0 cos φ
4 Schlussbemerkung
Dieses Dokument gibt eine Einführung in den geometrischen Ansatz der inversen Kinematik. Anhand der Geometrie
der Wilden 13 werden die Zusammenhänge zwischen einem Punkt P (x, y, z) und Winkeln der Hüft-, Ober- und Unteschenkelservos hergestellt. Dabei werden aus Gründen der Einfachheit Einschränkungen für den Punkt P definiert.
Dieses Dokument stellt also keine vollständige Lösung des Problems der inversen Kinematik für die Wilde 13 bereit,
sondern gibt eine erste Einführung in die Thematik.
5
Herunterladen