Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Proseminar: How to make a PIXAR movie?

Ähnliche Präsentationen


Präsentation zum Thema: "Proseminar: How to make a PIXAR movie?"—  Präsentation transkript:

1 Proseminar: How to make a PIXAR movie?
Inverse Kinematik Proseminar: How to make a PIXAR movie?

2 Inhalt Überblick & Motivation Grundbegriffe Inverse Kinematik
Kinematik, DOF, Hierarchisches Modell, Vorwärtskinematik Inverse Kinematik Einführung Anwendungen Pro/Contra Linearer Lösungsansatz Numerischer Lösungsansatz Weitere Methoden Demo

3 Inhalt Überblick & Motivation Grundbegriffe Inverse Kinematik
Kinematik, DOF, Hierarchisches Modell, Vorwärtskinematik Inverse Kinematik Einführung Anwendungen Pro/Contra Linearer Lösungsansatz Numerischer Lösungsansatz Weitere Methoden Demo

4 Ü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

5 Inhalt Überblick & Motivation Grundbegriffe Inverse Kinematik
Kinematik, DOF, Hierarchisches Modell, Vorwärtskinematik Inverse Kinematik Einführung Anwendungen Pro/Contra Linearer Lösungsansatz Numerischer Lösungsansatz Weitere Methoden Demo

6 Kinematik Teilgebiet der Mechanik
Geometrische Beschreibung von Bewegungen

7 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

8 DOF (Degrees of Freedom)
1 DOF: Ellbogen 3DOF: Schulter Drehgelenk // Kugelgelenkk

9 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 Root: Becken Basisknoten: Schulter, Ellbogen, Knie, etc. Endeffektor: Finger, Zehen, Genick Beispiel: Hueftknochen hat 3 DOFs, Knee, wie Ellbogen, 1 DOF

10 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

11 FK - Beispielvideo Am Ende sagen: fuer komplexe Bewegungsablaeufte wurde IK entwickelt und folgt dem folgenden Satz: „Given the position of the hand, what are the anges of the robots joints?“

12 Inhalt Überblick & Motivation Grundbegriffe Inverse Kinematik
Kinematik, DOF, Hierarchisches Modell, Vorwärtskinematik Inverse Kinematik Einführung Anwendungen Pro/Contra Linearer Lösungsansatz Numerischer Lösungsansatz Weitere Methoden Demo

13 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 Zur Erinnerung: Phi ist unser Vektor zur Beschreibung der DOFs, e ist die Position des Endeffektors Problem fuer den CA: er wird eingeschraenkt wie er die Bewegung machen will. Deswegen wurde z.b. bei toy story auf ik verzichtet und manche CA verwenden prinzipiell kein CA. Bei dem Pixar-Kurzfilm Luxo Jr., der von der Pixar-Lampe handelt, wurde nicht nur auf IK verzichtet sondern der komplette Film wurde mit FK animiert

14 IK - Beispielvideo

15 IK – Anwendungen Robotik Computeranimation
Industrieroboter „Roboterspiele“ Computeranimation Animationsfilme Videospiele Medizin (Computer Assisted Surgery) Medizin: kompliziertes Problem, da kiefer auch nach vorne bewegbar

16 IK – Pro/Contra Pro IK Contra IK Schnell und intuitiv bedienbar
Oft keine bis mehrere Lösungen Immense Reduzierung des Arbeitsaufwands Manchmal wird nicht die natürliche Haltung des menschl. Körpers erreicht CA muss sich keine Gedanken über die Winkelstelllungen der Gelenke machen um das Objekt an das gewünschte Ziel zu führen Berechnungen teilweise sehr rechenlastig Geringer Einfluss des CA auf den Bewegungsablauf Um die negativen Aspekte zu beseitigen werden neue Algorithmen entwickelt. Einige neue Alg erwaehne ich spaeter

17 IK – Analytischer Lösungsansatz
Nur in einfachen Fällen möglich Ergebnis kann wiederverwendet werden, jedoch fast ausschließlich in Robotik verwendet Schnell Liefert exaktes Ergebnis Beispiel: 2 Freiheitsgrade Vorgabe der Endposition Nur in einfachen faellen moeglich, da es mit steigender anzahl an dofs komplizierter wird

18 IK – Analytischer Lösungsansatz
Es existieren 2 Lösungen 2 Lösungen einzeichnen. Loesungsweg geometrisch erklaeren anhand grafik Loesung mittels Kosinussatz Mittels der Umkehrfunktion des cos(theta1-theta) + theta bzw. In fall 2 pi – umkehrfkt cos(pi – theta2)

19 IK – numerischer Lösungsansatz
Ausgangslage: Linearisierung des Problems: Korrekt bei kleinen Änderungen von Idealfall: J nicht-singulär  Ausgangslage: Formel, wobei wobei e die Position des Endeffektors und Phi der Vektor zur Beschreibung der Freiheitsgrade ist Lineraisierung durch taylor-entwicklung

20 IK – numerischer Lösungsansatz

21 IK – numerischer Lösungsansatz
Erste Zeile ist noch leicht verständlich: g ist unser ziel; e ist position vom endeffektor; Solange der berechnete Abstand e zur gewünschten Position g zu groß ist machen wir unsere Berechnung weiter Spaeter noch mehrere Abbruchkriterien Dann berechnen wird die Jacobi-Matrix; Hierzu eine kurze Einführung was diese ist.

22 IK – numerische Lsg: Jacobi-Matrix
Darstellung der Abhängigkeit von mit  Wie ändert sich die Position von , wenn verändert wird ist die Endposition im Raum (3D-Vektor) J ist eine 3xN-Matrix Jacobi im Endeffekt die Ableitung von e nach Phi N ist die Anzahl der Freiheitsgrade Bsp fuer Jacobi-Mtrx: Eintrag Zeile 1, Spalte 2 beschreibt Aenderung der x-Coord. d. Endeffektors wenn sich der Winkel Phi2 minimal aendert Achtung: Jacobi matrix nur bei veraenderungen verwendbar Doch wie bestimmt man die einzelnen Spalten?  Das werden wir uns jetzt genauer anschauen

23 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

24 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

25 IK – numerischer Lösungsansatz
J Invertieren

26 IK – numerische Lsg: J invertieren
Problem: J selten invertierbar Lösung: Pseudoinverse oder Transponierte Pseudoinverse Transponierte: Funktioniert erstaunlicherweise sehr gut Ist viel schneller als J invertieren oder Pseudoinverse bilden J invertierbar nur, wenn Matrix quadratisch ist (gleiche Anzahl an DOFs im Gelenk wie im Endeffektor) J nicht invertierbar bei Singularitäten  Verlust der lin. Unabhaengigkeit wenn sich 2 Gelenke hintereinandern anordnen Pseudoinverse fur alle Matrizen mit Eintraegen aus reellen und komplexen Zahlen definiert

27 IK – numerischer Lösungsansatz
-Nun delta e berechnen: ziel vom akt. Endefftor abziehen und mit geeignetem beta mult. beta: sollte genuegend klein sein  klein genug damit stabil, aber je kleiner desto oefters, evtl praxis wert fuer beta -Die Abänderung der Freiheitsgrade wird berechnet durch mult J^-1 mit delta e -Der neue Wert wird angewandt -Die neue Endefftorposition wird mit FK berechnet

28 IK – numerische Lsg: Terminierung
3 Kriterien für die Terminierung Es wurde eine Lösung gefunden Feststecken  Lokales Minimum Lösungen: Akzeptieren Anderer Algorithmus Zufällige Position für den e-Vektor Fehlermeldung Zeit Feststecken: der Algorithmus findet keine bessere Loesung: lokale Minima Zeit: wichtig fuer interaktive Systeme, zB in der Medizin Zufaellige Position fuer Endeffetor: entweder leicht oder stark verschieben und ncohmals probieren: siehe Demo Was wird in der Praxis verwendet? – Konnte nichts dazu finden, aber Annahme: in der Praxis funktioniert IK sehr gut aufgrund der neueren Algorithmen, die verwendet werden. Falls es bei diesem doch mal zu einem „Feststecken“ kommt finde ich die Loesung der zufaelligen Position fuer den e-Vektor als geeignete Loesung. Zumindest in geeignetem Zeitrahmen

29 IK – Weitere Methoden CCD (Cyclic Coordinate Descent)
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 Ausschließlich numerische lsg CCD eignet sich nur fuer Ketten ohne verzweigungen, ist aber schnell, einfach und robust. CCD wird mittels iterativeb, rekursiven Algorithmus realisiert Idee hinter CCD: einfach 1 Freiheitsgrad-IK-Probleme loesen und die Kette „hochwandern“ Vorteil: 1DOF Probleme sind simpel und analyt loesbar; Nachteil: schnell, aber in der praxis rucklige animation Lagrange: 2005 als bester IK solver gehandelt. Niedrige Kosten von O(n+m^3) Idee: Funktionsoptimiuerung duch: Finde den Extremwert einer Funktion h(x1... xn) unter der Nebenbedingung g(x1...xn)=c - was ist die fkt? LPIK: 2005 vorgestellt. Laut Aussage der Entwickler besser als Lagrange;Minimierung der Summe der absoluten Werte anstatt Suche der kleinsten Quadrate (bei Pseudo-Inverse-Methode)

30 IK Demo

31 Vielen Dank für Ihre Aufmerksamkeit
Fragen? Vielen Dank für Ihre Aufmerksamkeit

32 IK - Demo Auf die Geschwindigkeitsunterschiede achten


Herunterladen ppt "Proseminar: How to make a PIXAR movie?"

Ähnliche Präsentationen


Google-Anzeigen