360 likes | 611 Views
Inverse Kinematik. Proseminar: How to make a PIXAR movie?. Inhalt. Überblick & Motivation Grundbegriffe Kinematik, DOF, Hierarchisches Modell, Vorwärtskinematik Inverse Kinematik Einführung Anwendungen Pro/Contra Linearer Lösungsansatz Numerischer Lösungsansatz Weitere Methoden
E N D
Inverse Kinematik Proseminar: How to make a PIXAR movie?
Inhalt • Überblick & Motivation • Grundbegriffe • Kinematik, DOF, Hierarchisches Modell, Vorwärtskinematik • Inverse Kinematik • Einführung • Anwendungen • Pro/Contra • Linearer Lösungsansatz • Numerischer Lösungsansatz • Weitere Methoden • Demo
Inhalt • Überblick & Motivation • Grundbegriffe • Kinematik, DOF, Hierarchisches Modell, Vorwärtskinematik • Inverse Kinematik • Einführung • Anwendungen • Pro/Contra • Linearer Lösungsansatz • Numerischer Lösungsansatz • Weitere Methoden • Demo
Überblick & Motivation • Inverse Kinematik (IK) ist eine Animationstechnik im Animationsprozess • IK dient der Animation von Bewegungsabläufen • IK vereinfacht die Erstellung von Animationen für den Character Animator (CA) • Ziel: der CA bringt nur das Schlussglied an die gewünschte Position; die restlichen Glieder werden automatisch mitgeführt
Inhalt • Überblick & Motivation • Grundbegriffe • Kinematik, DOF, Hierarchisches Modell, Vorwärtskinematik • Inverse Kinematik • Einführung • Anwendungen • Pro/Contra • Linearer Lösungsansatz • Numerischer Lösungsansatz • Weitere Methoden • Demo
Kinematik • Teilgebiet der Mechanik • Geometrische Beschreibung von Bewegungen
DOF (Degrees of Freedom) • Zu deutsch: Freiheitsgrad • Charakterisierung der Gelenke • Maximum: 6 DOFs • 1: links/rechts • 2: vorne/hinten • 3: oben/unten • 4: link/rechts drehen • 5: seitlich kippen • 6: vorne/hinten kippen
DOF (Degrees of Freedom) 1 DOF: Ellbogen 3DOF: Schulter
Hierarchisches Modell • Oftmals auch kinematische Kette genannt • Herstellung einer Baumhierarchie für die einzelnen Glieder des Objekts • System aus starren Körpern, die durch Gelenke verbunden sind • Mind. 3 Glieder • Jedes Gelenk kann andere DOFs besitzen
Vorwärtskinematik (FK) • Given the angles at all of the robot's joints, what is the position of the hand? • Man bewegt die einzelnen Glieder, angefangen beim obersten Glied in der Hierarchie, in die gewünschte Position • Probleme: • aufwendig für der CA • sehr schwierig umsetzbar bei komplexen Bewegungen, z.B. Gehen
Inhalt • Überblick & Motivation • Grundbegriffe • Kinematik, DOF, Hierarchisches Modell, Vorwärtskinematik • Inverse Kinematik • Einführung • Anwendungen • Pro/Contra • Linearer Lösungsansatz • Numerischer Lösungsansatz • Weitere Methoden • Demo
IK – Einführung • Herkunft aus der Robotik: Wie bringt man den Greifarm an die gewünschte Zielposition? • Umkehrfunktion der FK: • Erleichtert die Arbeit für den CA: • möchte oftmals nur den Endpunkt an einer bestimmten Position haben • die anderen Glieder sollen sich realistisch anordnen • IK wird auch für die Erzeugung von Keyframes verwendet
IK – Anwendungen • Robotik • Industrieroboter • „Roboterspiele“ • Computeranimation • Animationsfilme • Videospiele • Medizin (Computer Assisted Surgery)
IK – AnalytischerLösungsansatz • Nur in einfachenFällenmöglich • Ergebniskannwiederverwendetwerden, jedoch fast ausschließlich in Robotikverwendet • Schnell • LiefertexaktesErgebnis Beispiel: • 2 Freiheitsgrade • Vorgabe der Endposition
IK – AnalytischerLösungsansatz • Es existieren 2 Lösungen
IK – numerischerLösungsansatz • Ausgangslage: • Linearisierung des Problems: • KorrektbeikleinenÄnderungen von • Idealfall: J nicht-singulär
IK – numerische Lsg: Jacobi-Matrix • Darstellung der Abhängigkeit von mit Wieändertsich die Position von , wennverändertwird • ist die EndpositionimRaum (3D-Vektor) • J ist eine 3xN-Matrix
IK – numerische Lsg: Jacobi-Matrix • Für jeden DOF berechnen, wie sich e in Abhängigkeit zum DOF verändern würde, wenn dieser verändert wird • absolute Achse und Drehpunkt finden: • r transformiert als Positions- und a transformiert als Richtungsvektor
IK – numerische Lsg: Jacobi-Matrix • Anhand dieser Werte lässt sich berechnen, wie sich verändern würde, wenn wir um diese Achse rotieren • Mit dieser Formel erhalten wir eine Spalte der Jacobi-Matrix • Weitere Spalten: über jeden DOF iterieren und entsprechende Spalte in der Matrix berechnen
IK – numerische Lsg: J invertieren • Problem: J selten invertierbar • Lösung: Pseudoinverse oder Transponierte • Pseudoinverse • Transponierte: • Funktioniert erstaunlicherweise sehr gut • Istvielschnellerals J invertierenoderPseudoinversebilden
IK – numerische Lsg: Terminierung • 3 Kriterien für die Terminierung • Es wurde eine Lösung gefunden • Feststecken Lokales Minimum Lösungen: • Akzeptieren • AndererAlgorithmus • Zufällige Position für den e-Vektor • Fehlermeldung • Zeit
IK – Weitere Methoden • CCD (CyclicCoordinateDescent) • Aufteilung in 1 Freiheitsgrad-IK-Probleme und diese analytisch lösen • Lagrange Multiplikatoren • Funktionsoptimierung durch Herausfinden des Extremwerts einer Funktion h unter Nebenbedingung g • LPIK (Linear Programming IK-Solver) • Minimierung der Summe der absoluten Werte
IK Demo
Fragen? Vielen Dank für Ihre Aufmerksamkeit