inverse kinematik

32
computer graphics & visualization Inverse Kinematik Proseminar: How to make a PIXAR movie?

Upload: julio

Post on 24-Feb-2016

158 views

Category:

Documents


7 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Inverse Kinematik

Inverse KinematikProseminar: How to make a PIXAR movie?computer graphics & visualizationcomputer graphics & visualizationInverse KinematikBenedikt HirmerInhaltberblick & MotivationGrundbegriffeKinematik, DOF, Hierarchisches Modell, VorwrtskinematikInverse KinematikEinfhrungAnwendungenPro/ContraLinearer LsungsansatzNumerischer LsungsansatzWeitere MethodenDemo

computer graphics & visualizationInverse KinematikBenedikt Hirmer2Inhaltberblick & MotivationGrundbegriffeKinematik, DOF, Hierarchisches Modell, VorwrtskinematikInverse KinematikEinfhrungAnwendungenPro/ContraLinearer LsungsansatzNumerischer LsungsansatzWeitere MethodenDemo

computer graphics & visualizationInverse KinematikBenedikt Hirmer3berblick & MotivationInverse Kinematik (IK) ist eine Animationstechnik im AnimationsprozessIK dient der Animation von BewegungsablufenIK vereinfacht die Erstellung von Animationen fr den Character Animator (CA)Ziel: der CA bringt nur das Schlussglied an die gewnschte Position; die restlichen Glieder werden automatisch mitgefhrtcomputer graphics & visualizationInverse KinematikBenedikt HirmerInhaltberblick & MotivationGrundbegriffeKinematik, DOF, Hierarchisches Modell, VorwrtskinematikInverse KinematikEinfhrungAnwendungenPro/ContraLinearer LsungsansatzNumerischer LsungsansatzWeitere MethodenDemo

computer graphics & visualizationInverse KinematikBenedikt Hirmer5KinematikTeilgebiet der MechanikGeometrische Beschreibung von Bewegungencomputer graphics & visualizationInverse KinematikBenedikt HirmerDOF (Degrees of Freedom)Zu deutsch: FreiheitsgradCharakterisierung der GelenkeMaximum: 6 DOFs1: links/rechts2: vorne/hinten3: oben/unten4: link/rechts drehen5: seitlich kippen6: vorne/hinten kippen

computer graphics & visualizationInverse KinematikBenedikt Hirmer7DOF (Degrees of Freedom)1 DOF: Ellbogen3DOF: Schulter

computer graphics & visualizationInverse KinematikBenedikt HirmerDrehgelenk // Kugelgelenkk8

Hierarchisches ModellOftmals auch kinematische Kette genanntHerstellung einer Baumhierarchie fr die einzelnen Glieder des ObjektsSystem aus starren Krpern, die durch Gelenke verbunden sindMind. 3 GliederJedes Gelenk kann andere DOFs besitzen

computer graphics & visualizationInverse KinematikBenedikt HirmerRoot: BeckenBasisknoten: Schulter, Ellbogen, Knie, etc.Endeffektor: Finger, Zehen, Genick

Beispiel: Hueftknochen hat 3 DOFs, Knee, wie Ellbogen, 1 DOF9Given 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 gewnschte Position Probleme: aufwendig fr der CAsehr schwierig umsetzbar bei komplexen Bewegungen, z.B. GehenVorwrtskinematik (FK)

computer graphics & visualizationInverse KinematikBenedikt Hirmer10FK - Beispielvideo

computer graphics & visualizationInverse KinematikBenedikt HirmerAm 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?

11Inhaltberblick & MotivationGrundbegriffeKinematik, DOF, Hierarchisches Modell, VorwrtskinematikInverse KinematikEinfhrungAnwendungenPro/ContraLinearer LsungsansatzNumerischer LsungsansatzWeitere MethodenDemo

computer graphics & visualizationInverse KinematikBenedikt Hirmer12Herkunft aus der Robotik: Wie bringt man den Greifarm an die gewnschte Zielposition?Umkehrfunktion der FK:Erleichtert die Arbeit fr den CA:mchte oftmals nur den Endpunkt an einer bestimmten Position habendie anderen Glieder sollen sich realistisch anordnenIK wird auch fr die Erzeugung von Keyframes verwendetIK Einfhrung

computer graphics & visualizationInverse KinematikBenedikt HirmerZur 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 animiert13IK - Beispielvideo

computer graphics & visualizationInverse KinematikBenedikt Hirmer14IK AnwendungenRobotikIndustrieroboterRoboterspieleComputeranimationAnimationsfilmeVideospieleMedizin (Computer Assisted Surgery)

computer graphics & visualizationInverse KinematikBenedikt HirmerMedizin: kompliziertes Problem, da kiefer auch nach vorne bewegbar15IK Pro/ContraPro IKContra IKSchnell und intuitiv bedienbarOft keine bis mehrere LsungenImmense Reduzierung des Arbeitsaufwands

Manchmal wird nicht die natrliche Haltung des menschl. Krpers erreichtCA muss sich keine Gedanken ber die Winkelstelllungen der Gelenke machen um das Objekt an das gewnschte Ziel zu fhrenBerechnungen teilweise sehr rechenlastigGeringer Einfluss des CA auf den Bewegungsablaufcomputer graphics & visualizationInverse KinematikBenedikt HirmerUm die negativen Aspekte zu beseitigen werden neue Algorithmen entwickelt.Einige neue Alg erwaehne ich spaeter

16IK Analytischer LsungsansatzNur in einfachen Fllen mglichErgebnis kann wiederverwendet werden, jedoch fast ausschlielich in Robotik verwendetSchnellLiefert exaktes Ergebnis

Beispiel:2 Freiheitsgrade Vorgabe der Endposition

computer graphics & visualizationInverse KinematikBenedikt HirmerNur in einfachen faellen moeglich, da es mit steigender anzahl an dofs komplizierter wird17IK Analytischer LsungsansatzEs existieren 2 Lsungen

computer graphics & visualizationInverse KinematikBenedikt Hirmer2 Lsungen einzeichnen. Loesungsweg geometrisch erklaeren anhand grafikLoesung mittels Kosinussatz

Mittels der Umkehrfunktion des cos(theta1-theta) + theta bzw. In fall 2 pi umkehrfkt cos(pi theta2)18IK numerischer LsungsansatzAusgangslage:Linearisierung des Problems:Korrekt bei kleinen nderungen vonIdealfall: J nicht-singulr

computer graphics & visualizationInverse KinematikBenedikt HirmerAusgangslage: Formel, wobei wobei e die Position des Endeffektors und Phi der Vektor zur Beschreibung der Freiheitsgrade istLineraisierung durch taylor-entwicklung19IK numerischer Lsungsansatz

computer graphics & visualizationInverse KinematikBenedikt Hirmer20IK numerischer Lsungsansatz

computer graphics & visualizationInverse KinematikBenedikt HirmerErste Zeile ist noch leicht verstndlich: g ist unser ziel; e ist position vom endeffektor; Solange der berechnete Abstand e zur gewnschten Position g zu gro ist machen wir unsere Berechnung weiterSpaeter noch mehrere AbbruchkriterienDann berechnen wird die Jacobi-Matrix; Hierzu eine kurze Einfhrung was diese ist.21IK numerische Lsg: Jacobi-MatrixDarstellung der Abhngigkeit von mit Wie ndert sich die Position von , wenn verndert wird ist die Endposition im Raum (3D-Vektor)J ist eine 3xN-Matrix

computer graphics & visualizationInverse KinematikBenedikt HirmerJacobi 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 aendertAchtung: Jacobi matrix nur bei veraenderungen verwendbar

Doch wie bestimmt man die einzelnen Spalten? Das werden wir uns jetzt genauer anschauen22IK numerische Lsg: Jacobi-MatrixFr jeden DOF berechnen, wie sich e in Abhngigkeit zum DOF verndern wrde, wenn dieser verndert wird absolute Achse und Drehpunkt finden:

r transformiert als Positions- und a transformiert als Richtungsvektor

computer graphics & visualizationInverse KinematikBenedikt Hirmer23IK numerische Lsg: Jacobi-MatrixAnhand dieser Werte lsst sich berechnen, wie sich verndern wrde, wenn wir um diese Achse rotieren

Mit dieser Formel erhalten wir eine Spalte der Jacobi-MatrixWeitere Spalten: ber jeden DOF iterieren und entsprechende Spalte in der Matrix berechnen

computer graphics & visualizationInverse KinematikBenedikt Hirmer24IK numerischer Lsungsansatz

computer graphics & visualizationInverse KinematikBenedikt HirmerJ Invertieren25IK numerische Lsg: J invertierenProblem: J selten invertierbarLsung: Pseudoinverse oder TransponiertePseudoinverse Transponierte:Funktioniert erstaunlicherweise sehr gutIst viel schneller als J invertieren oder Pseudoinverse bilden

computer graphics & visualizationInverse KinematikBenedikt HirmerJ invertierbar nur, wenn Matrix quadratisch ist (gleiche Anzahl an DOFs im Gelenk wie im Endeffektor)J nicht invertierbar bei Singularitten Verlust der lin. Unabhaengigkeit wenn sich 2 Gelenke hintereinandern anordnen

Pseudoinverse fur alle Matrizen mit Eintraegen aus reellen und komplexen Zahlen definiert26IK numerischer Lsungsansatz

computer graphics & visualizationInverse KinematikBenedikt Hirmer-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 Abnderung der Freiheitsgrade wird berechnet durch mult J^-1 mit delta e-Der neue Wert wird angewandt-Die neue Endefftorposition wird mit FK berechnet 27IK numerische Lsg: Terminierung3 Kriterien fr die TerminierungEs wurde eine Lsung gefundenFeststecken Lokales MinimumLsungen:AkzeptierenAnderer AlgorithmusZufllige Position fr den e-VektorFehlermeldungZeitcomputer graphics & visualizationInverse KinematikBenedikt HirmerFeststecken: der Algorithmus findet keine bessere Loesung: lokale MinimaZeit: 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 Zeitrahmen28IK Weitere MethodenCCD (Cyclic Coordinate Descent)Aufteilung in 1 Freiheitsgrad-IK-Probleme und diese analytisch lsenLagrange MultiplikatorenFunktionsoptimierung durch Herausfinden des Extremwerts einer Funktion h unter Nebenbedingung gLPIK (Linear Programming IK-Solver)Minimierung der Summe der absoluten Wertecomputer graphics & visualizationInverse KinematikBenedikt HirmerAusschlielich numerische lsg

CCD eignet sich nur fuer Ketten ohne verzweigungen, ist aber schnell, einfach und robust. CCD wird mittels iterativeb, rekursiven Algorithmus realisiertIdee hinter CCD: einfach 1 Freiheitsgrad-IK-Probleme loesen und die Kette hochwandernVorteil: 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)29IKDemocomputer graphics & visualizationInverse KinematikBenedikt Hirmer30Fragen?Vielen Dank fr Ihre Aufmerksamkeit

computer graphics & visualizationcomputer graphics & visualizationInverse KinematikBenedikt Hirmer31IK - Demo

computer graphics & visualizationInverse KinematikBenedikt HirmerAuf die Geschwindigkeitsunterschiede achten32