Upload
willerich-lederer
View
111
Download
0
Embed Size (px)
Citation preview
Tobias Koch 1
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Vergleichende Evaluation zweier Methoden zur Berechnung von Inverser Kinematik
Abschlussvortrag zur Studienarbeit
Tobias Koch 2
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätEinleitung
Struktur des Vortrags
• Motivation• Algorithmen• Evaluationsergebnisse• Zusammenfassung• Ausblick
Tobias Koch 3
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätMotivation
• Projektgruppe SoSe 2004 / WiSe 2004/05„Wege und Bewegung in virtuellen Produktionsumgebungen“
• derzeit keine Roboter• dazu notwendig:
Raumkoordinaten ↔ Gelenkwinkel• Gelenkwinkel → Raumkoordinaten
(„Direkte Kinematik“)– einfach: Vektoraddition
• Raumkoordinaten → Gelenkwinkel(„Inverse Kinematik“)– komplex: nicht eindeutig, Abhängigkeiten der Gelenke
• verschiedene Ansätze zur Lösung
Tobias Koch 4
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätAlgorithmen
Übersicht
• Jacobi-Matrizen• Abwandlung von Cyclic Coordinate Descent (CCD)
• iterativ• liefern zur Laufzeit Ergebnisse• relativ allgemein anwendbar• gut vergleichbar
Tobias Koch 5
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätAlgorithmen
Jacobi-Matrizen1. Matrix erstellen (3 x Gelenkanzahl)
2. Spalte i füllen mit Vektor:
3. Pseudoinverse der Matrix bilden
4. Fehlervektor berechnen:
5. Fehlervektor skalieren
6. Pseudoinverse mit Fehlervektor multiplizieren
7. Ergebnis ist Vektor mit Winkeländerungen
8. falls Zielpunkt nicht erreicht wurde, wiederholen
ip
t
e
s
)( ii psv
ste
Tobias Koch 6
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätAlgorithmen
Cyclic Coordinate Descent (CCD)
Iteration:1. Rotationsebene berechnen
2. dem Ziel nächsten Punktin der Ebene bestimmen
3. Rotationspunkt in derEbene bestimmen
4. Vektor vom Rotationspunkt zum Endeffektor berechnen
5. Vektor vom Rotationspunkt zum Ziel in der Ebene berechnen
6. Winkel zwischen den beiden Vektoren bestimmen
7. Segmentgelenk um den berechneten Winkel verändern
8. falls Zielpunkt nicht erreicht wurde, nächstes Gelenk ändern
t
s
r
ip
t
e
s
Tobias Koch 7
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätEvaluation
Algorithmen-Parameter
• beide Algorithmen haben Parameter, die das Ergebnis beeinflussen können
• Untersuchung dieser Parameter hinsichtlich Geschwindigkeit und Berechnungserfolg
• alle Untersuchungen wurden auf mehreren simulierten Robotern durchgeführt
Tobias Koch 8
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätEvaluation
Länge des Fehlervektors
• Jacobi-Matrix liefert nur für infinitesimal kleine Fehlervektoren exakte Ergebnisse
• Abschätzung zwischen Aufwand und Fehler
• beste Trefferquote zwischen 0,7 und 0,9• Aufwand in diesem Bereich am geringsten• je komplexer die kinematische Kette, desto weniger
drastisch verändern sich die Ergebnisse
Tobias Koch 9
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätEvaluation
Iterationsrichtung bei CCD
• CCD kann Iteration bei beliebigem Gelenk beginnen• frühe Gelenke bewirken starke Positionsänderungen
• keine allgemeingültige Aussage möglich• Unterschiede im Aufwand relativ gering• deutliche Unterschiede bei Trefferquote
Tobias Koch 10
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätEvaluation
Erfolgsquote
• Jacobi-Matrizen:– allgemein recht schnell– nach einigen Iterationen nur noch geringe Verbesserung– abnehmende Erfolgsquote bei komplexeren Ketten
• CCD:– langsamer, aber bessere Erfolgsquote– allmählicher Anstieg der Quote– herausragende Ergebnisse beim PUMA 560
Tobias Koch 11
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätEvaluation
Veränderung der Distanz
• Jacobi-Matrizen:– anfangs deutliche Verringerung des Abstandes– vorläufiges Minimum innerhalb von 10 Iterationen– später leichter Anstieg
• CCD:– Verringerung der Distanz unter 20% nach 2 Iterationen– logarithmischer Verlauf
Tobias Koch 12
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätEvaluation
Berechnete Gelenkwinkel• Jacobi-Matrizen:
– errechnet geringere Winkelunterschiede– resultiert in natürlicheren Winkelstellungen– neigt bei langen Ketten zur Änderung früher und später
Gelenke
• CCD:– größerer Aufwand– extremere Winkelstellungen– neigt bei langen Ketten zur Änderung früher Gelenke
Tobias Koch 13
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätZusammenfassung
• basierend auf der Arbeit der PG WuBiviPu• Vorstellung zweier iterativer Algorithmen
– Jacobi-Matrix-Algorithmus– Cyclic Coordinate Descent
• Evaluation der Parameter• Vergleichende Evaluation der Algorithmen
– Geschwindigkeit– Erfolgsquote– Distanzveränderungen– berechnete Winkeländerungen
Tobias Koch 14
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätAusblick
• Verbesserung der Abbruchbedingungen(insbesondere bei CCD)
• Gelenkgewichtung kann durch künstliche Gewichtung vermieden werden
• Verschlechterung der Ergebnisse beobachten
• Verwendung in PG-Software(derzeit u.a. keine XML-Schnittstelle, Modelle, etc.)
Tobias Koch 15
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
E-Mail: [email protected]
Januar 2007
Ich danke für Ihre Aufmerksamkeit!Ich danke für Ihre Aufmerksamkeit!