Abschlussvortrag zur Studienarbeit

Slides:



Advertisements
Ähnliche Präsentationen
Matrixmultiplikation
Advertisements

Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Integrations- und Funktionstests im Rahmen des V-Modelles
Simulation komplexer technischer Anlagen
Schnelle Matrizenoperationen von Christian Büttner
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Kontextfreie Grammatiken
Strukturlösung mit Hilfe der Patterson-Funktion
Genetische Algorithmen für die Variogrammanpassung
A Model of Saliency-Based Visual Attention for Rapid Scene Analysis
Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
Grundlagen der Geometrie
Einführung in Berechenbarkeit und Formale Sprachen
Untersuchung und szenariobasierte Entwicklung von Websites zur Orientierung in Universitätsstudiengängen unter Berücksichtigung von Prinzipien des Web.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Universelle Turingmaschinen Eine universelle Turingmaschine.
Programmiertechniken: Zustand fungiert als „endlicher Speicher“
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Algorithmen und Komplexität
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 1 Algorithm. Grundlagen des Internets 24. Juni 2002 Christian Schindelhauer.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Approximationsalgorithmen …liefern in polynomieller.
Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.
Genetische Algorithmen
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Der Rational Unified Process - Einführung Inhalt Prozessmodelle Der Rational Unified.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Lösung linearer Gleichungssysteme
Beispiele für Gleichungssysteme
Proseminar "Algorithmen der Verkehrssimulation"
Software-Engineering
Parallele Gleichungslöser für die linearen TRACE-Module
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Algorithmen und Komplexität
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Klausuraufgaben.
Modellierung von Baumstrukturen mit einem einzigen Polygonnetz
§9 Der affine Raum – Teil 2: Geraden
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
Best Fit Matching von Punktewolken
Effiziente Algorithmen
Ausgleichung ohne Linearisierung
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Proseminar: How to make a PIXAR movie?
Polynome und schnelle Fourier-Transformation
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
… oder wie finde ich den Weg
ProSeminar WS 2007/08 Leo Hackstein
Multivariate Statistische Verfahren
Routing Instabilitäten
Using latent semantic analysis to find different names for the same entity in free text Präsentation und Diskussion des Papers Im Rahmen des PS Web-Information.
Integration oberflächenbestimmender Objekte ins DGM Seminar GIS IV SS
Klassifikation und Regression mittels neuronaler Netze
Motivierende Gesprächsführung
Meta-Modell für Story-Diagramme und Expressions
Direkte Darstellung von Faserinformation durch Kohärenzmaße
Routenplanung querfeldein - Geometric Route Planning
Vortrag Relative Orientierung
Evolutionärer Entwurf neuronaler Netze
Magnus Brockschmidt Vortrag über Animationen zum Seminar Computergrafik WS 02/03 Animiation: Bewegung von Objekten zeit- oder ereignisgesteuert.
Programmierung von CNC-Messgeräten mit genetischen Algorithmen Simeon Perlov.
EIN NEUES ENSEMBLE- KLASSIFIKATIONSVERFAHREN Tim Schneider Rotation Forest.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
Sichtbar – Mit den Augen wahrnehmbar.
 Präsentation transkript:

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

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)

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)

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

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

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

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

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

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]

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

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

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

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)

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]

Ich danke für Ihre Aufmerksamkeit! E-Mail: tkoch@uni-paderborn.de Januar 2007