Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Abschlussvortrag zur Studienarbeit

Ähnliche Präsentationen


Präsentation zum Thema: "Abschlussvortrag zur Studienarbeit"—  Präsentation transkript:

1 Abschlussvortrag zur Studienarbeit
Vergleichende Evaluation zweier Methoden zur Berechnung von Inverser Kinematik Abschlussvortrag zur Studienarbeit Begrüßung

2 Evaluationsergebnisse Zusammenfassung Ausblick
Einleitung Struktur des Vortrags Motivation Algorithmen Evaluationsergebnisse Zusammenfassung Ausblick Struktur des Vortrags: Motivation, dort auf die verwendeten Begriffe eingehen/Übersicht über das Thema Algorithmen, Vorstellung und Erläuterung Ergebnisse der im Rahmen der Studienarbeit durchgeführten Evaluation Zusammenfassung Ausblick (weiterführende Fragenstellungen)

3 dazu notwendig: Raumkoordinaten ↔ Gelenkwinkel
Motivation 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 auf das Bild verweisen/Bild erläutern gegenwärtiger Stand der Entwicklung: ausschließlich Förderbänder und Flurförderfahrzeuge um Gegenstände von A nach B zu bewegen Simulation eines Roboters oder allgemeiner einer „kinematische Kette“ (System aus starren Körpern, durch Gelenke verbunden): erfordert Ansteuerung einer zu wählenden Position im Raum, daher Umwandlung erforderlich „Direkte Kinematik“, einzelne Segmente eines Roboterarms als Vektoren, [Überführung in Weltkoordinaten] „Inverse Kinematik“, mehrere Kombinationen von Winkelstellungen führen zu gleicher Position, min. 2 Änderungen um Position zu halten, [Ellenbogen-Beispiel, 3 Gelenke], [Abbildung (Position->Winkel) ist nichtlinear, da die einzelnen Positionen durch Anwendung der nichtinearen Co/Sinusfunktionen bestimmt sind] etwa geometrische oder analytische Ansätze (starke Einschränkung der Parametern / erfordern genaue Kenntnis der Beschaffenheit)

4 Abwandlung von Cyclic Coordinate Descent (CCD) iterativ
Algorithmen Übersicht Jacobi-Matrizen Abwandlung von Cyclic Coordinate Descent (CCD) iterativ liefern zur Laufzeit Ergebnisse relativ allgemein anwendbar gut vergleichbar beide gewählten Algorithmen iterativ Zwischenergebnisse nicht eingeschränkt in Gelenkanzahl, Rotationsachsen, Anordnung, o.ä. aufgrund der Eigenschaften gut vergleichbar

5 Jacobi-Matrizen Algorithmen Matrix erstellen (3 x Gelenkanzahl)
Spalte i füllen mit Vektor: Pseudoinverse der Matrix bilden Fehlervektor berechnen: Fehlervektor skalieren Pseudoinverse mit Fehlervektor multiplizieren Ergebnis ist Vektor mit Winkeländerungen falls Zielpunkt nicht erreicht wurde, wiederholen Matrix erstellen Kreuzprodukt aus Rotationsachse vi und Vektor vom Rotationspunkt pi zur Endeffektorposition s (Endeffektor erläutern!) Pseudoinverse hat für m x n-Matrizen die Form n x m [kann immer gebildet werden, Berechnung mittels Singulärwertzerlegung] [Alternative: transponierte Matrix -> größere Winkeländerungen] Fehlervektor beschreibt Abweichung des Endeffektors vom anvisierten Zielpunkt für lange Fehlervektoren entstehen große Fehler im Ergebnis, Berechnung liefert nur Näherung möglich, da Pseudoinverse hat die Form Gelenkanzahl x 3 Ergebnis hat die Form Gelenkanzahl x 1, notwendige Winkeländerungen um Zielpunkt (s + escaled) zu erreichen nächste Iteration, Aufwand durch ständige Berechnung der Jacobi-Matrix & Pseudoinverse

6 Cyclic Coordinate Descent (CCD) Iteration:
Algorithmen Cyclic Coordinate Descent (CCD) Iteration: Rotationsebene berechnen dem Ziel nächsten Punkt in der Ebene bestimmen Rotationspunkt in der Ebene bestimmen Vektor vom Rotationspunkt zum Endeffektor berechnen Vektor vom Rotationspunkt zum Ziel in der Ebene berechnen Winkel zwischen den beiden Vektoren bestimmen Segmentgelenk um den berechneten Winkel verändern falls Zielpunkt nicht erreicht wurde, nächstes Gelenk ändern Bewegungsebene in der TCP durch Rotation in pi bewegt wird, Ortsvektor pn & Normale Rotationsachse vi Schnittpunkt Ebene/Gerade mit Richtungsvektor Rotationsachse vi und Ortsvektor t Schnittpunkt Ebene/Gerade mit Richtungsvektor Rotationsachse vi und Ortsvektor pi Vektor vom Rotationspunkt in Ebene (um den Endeffektorposition rotiert) zum TCP Vektor vom Rotationspunkt in Ebene zum Ziel in Ebene (beste erreichbare Position) Winkel stellt notwendige Winkeländerung dar, um Zielpunkt in Ebene mit TCP zu erreichen Segmentgelenk i verändern um TCP in Ebene zum Ziel zu bewegen durch alle Gelenke iterieren falls Ziel nicht erreicht wurde, wiederholen und bei erstem Gelenk erneut beginnen

7 Algorithmen-Parameter
Evaluation 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 wie gezeigt zunächst jeder Algorithmus für sich, optimale Ergebnisse & Vergleichbarkeit der Algorithmen sicherstellen einfach gehaltenes Modell, Unimation PUMA 560 & randomisierter achtgelenkiger Roboterarm

8 Länge des Fehlervektors
Evaluation 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 nur approximierte Ergebnisse kleine Vektoren = großer Aufwand, große Vektoren = deutliche Fehler Länge der Roboterarme zwischen 1,6 und 8,0, kein direkter Zusammenhang zwischen Länge und optimaler Vektorlänge benötigte Zeit und Iterationen ebenfalls gering einfaches Robotermodell hatte bei 0,7 deutliches Optimum

9 Iterationsrichtung bei CCD
Evaluation 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 erstes Gelenk der kinematischen Kette in der Nähe der Basis / letztes Gelenk ist TCP-Gelenk geringe Veränderung des Winkel verursacht durch Länge der Kette deutliche Änderungen Algorithmus liefert für manche Roboterarme absteigend bessere Ergebnisse/für manche aufsteigend keine massiven Abweichungen in der Anzahl der Iterationen 13% bei dreigelenkigem Roboter, Trefferquoten-Unterschiede bei komplexeren Systemen geringer, [4,5% bei achtgelenkigem]

10 CCD: Erfolgsquote Jacobi-Matrizen: allgemein recht schnell
Evaluation 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 Veränderung der Erfolgsquote (Verhältnis) über max. Anzahl der Iterationen (Laufzeitbegrenzung) geringe Anzahl benötigter Iterationen >15 Iterationen kaum noch Steigerung der Erfolgsquote möglich 88% -> 72% -> 65% im Vergleich wesentlich langsamer (Zeit), kontinuierlich gute Erfolgsquoten (~90%) Erfolgsquote steigt beinahe linear mit Abbruchbedingung beim PUMA: schneller als Jacobi, 95% erfolgreiche Berechnungen

11 CCD: Veränderung der Distanz Jacobi-Matrizen:
Evaluation 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 Abstand zwischen Endeffektor und anvisiertem Zielpunkt [erfolgreiche und fehlgeschlagene Berechnungen] während der ersten Iterationen Überwindung eines Großteils der Distanz Distanz erreicht innerhalb der ersten 10 Iterationen Minimum Anstieg, deutet auf geringfügige Verschlechterung der TCP-Position hin, [ließ sich in weitergehenden Untersuchungen bestätigen] innerhalb von 2 Iterationen Großteil der Arbeit getan restliche Distanzverringerung relativ aufwändig

12 CCD: Berechnete Gelenkwinkel Jacobi-Matrizen:
Evaluation 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 Bedeutung: Zeitlicher Aufwand & Energieaufwand beim Bewegen, Realismus in Simulationen Unterschied vor/nach Berechnung Winkelstellungen näher an ursprünglicher Stellung frühe Gelenke = in der Nähe der Basis, späte Gelenke in der Nähe des TCP aufgrund größerer Winkelunterschiede Zeit- und Energieaufwand etwas größer resultierende Konfiguration der Kette wirkt unnatürlicher, da Gelenke näher am Anschlag priorisiert [auch aufgrund der gewählten Iterationsreihenfolge] Gelenke nahe der Basis

13 basierend auf der Arbeit der PG WuBiviPu
Zusammenfassung 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 vorgestellte Studienarbeit basiert auf „Wege und Bewegung in virtuellen Produktionsumgebungen“, [SoSe 2004/WiSe 2004/05] Vorstellung, Abwandlung von CCD und Implementierung der Algorithmen Evaluation der Parameter um optimale Berechnungsergebnisse und Vergleichbarkeit sicherzustellen Vergleich wichtiger Eigenschaften: Geschwindigkeit (Jacobi schneller) Erfolgsrate (CCD erfolgreicher) Distanzänderungen (CCD deutlicher/schnellere Verbesserungen), kann für LoD verwendet werden Winkeländerungen (Jacobi natürlicher/geringerer Aufwand)

14 Verbesserung der Abbruchbedingungen (insbesondere bei CCD)
Ausblick 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.) Abbruchbedingungen: Distanzveränderung verläuft logarithmisch, nicht erfolgreiche Berechnungen laufen zu lange dadurch: bessere Laufzeiten möglich CCD: Vorfaktor bei Anwendung der Winkeländerungen, Jacobi: Matrix mit Gewichtungsfaktoren nach Abbruch beste erzielte Konfiguration verwenden XML für Roboter, Modelle, [Simulator d³fact insight]

15 Ich danke für Ihre Aufmerksamkeit!
Januar 2007


Herunterladen ppt "Abschlussvortrag zur Studienarbeit"

Ähnliche Präsentationen


Google-Anzeigen