M. Giese: Computeranimation und Lernmethoden in Computergrafik [email protected] Martin Giese Animation mit Dynamischen Modellen Vorlesung 3 5 Dezember 2005 Kinematische Modellierung Repräsentation kinematischer Modelle Inverse Kinematik Dynamiksimulation einfacher starrer Körper Objekte mit Kontakt und Randbedingungen M. Giese: Computeranimation und Lernmethoden in Computergrafik z z z z z Übersicht 5 Dezember 2005 “Berühmte Stars wieder lebendig machen” (Thalmann, 1987) Probleme: z z Enger Bezug zur Robotik z M. Giese: Computeranimation und Lernmethoden in Computergrafik Hierarchische Struktur z - Stileigenschaften schwierig zu parametrisieren - Kontrolle vieler Freiheitsgrade Simulation von Menschen und Tieren z 5 Dezember 2005 D. Magnat-Thalmann (1987): Rendez-Vouz a Montreal Animation artikulierter Figuren M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 z Endeffektor: Endpunkt der kinematischen Kette, z.B. Hand oder Fuß z Freiheitsgrad (degree of freedom, FG): Zahl der unabhängigen Positionsvariablen, die benötigt werden, um Konfiguration eindeutig zu bestimmen. z Artikulierte Figur: Objekt, das aus einer Kette von starren Stäben besteht, die durch Gelenke verbunden sind (kinematische Kette). z Kinematik: Analyse von Bewegung unabhängig von Kräften (Position, Geschwindigkeit, Beschleunigung, usw.) Definitionen M. Giese: Computeranimation und Lernmethoden in Computergrafik z Dexterous (‘gewandter’) Arbeitsraum: Positionen, die in allen Orientierungen erreichbar sind z Erreichbarer Arbeitsraum: Positionen, die Endeffektor erreichen kann 5 Dezember 2005 z Zustandsvektor: Vektor mit allen Parametern die Positionen und Rotationen des kinematischen Modells bestimmt Ĭ [T1 ,T 2 ,..., T N ] , z.B. Ĭ [ x1 , y1 , x2 , y2 , I1 , I2 ] z Zustandsraum: Raum aller Konfigurationen Definitionen M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 I. Kinematische Modellierung M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 z Inverse Kinematik: Bewegung des Endeffektors vorgegeben; rechnerische Bestimmung der anderen Freiheitsgrade: 4 = f -1 (X) z Vorwärtskinematik: Bewegung aller Gelenke wird explizit durch Animator vorgegeben; Endeffektorbewegung kann berechnet werden: X = f(4) Kinematische Animation l1 cos T1 l2 cos(T1 T 2 ) l1 sin T1 l2 sin(T1 T 2 ) x y l2 (sin T 2 ) x (l1 l2 cos T 2 ) y l2 (sin T 2 ) y (l1 l2 cos T 2 ) x T1 T2 M. Giese: Computeranimation und Lernmethoden in Computergrafik 1 x 2 y 2 l12 l22 cos 2l1l2 z Inverse Kinematik: gegeben: X = (x, y) [ x, y ] X Ĭ [T1 , T 2 ] z Vorwärtskinematik: z Planare Zwei-Stäbe-Struktur; Koordinaten: X = (x, y) Beispiel 5 Dezember 2005 M. Giese: Computeranimation und Lernmethoden in Computergrafik - sehr viele Parameter zu spezifizieren + gut kontrollierbar + einfach Vorwärtskinematik - z.T. schwer zu kontrollieren - Numerisch aufwendig - Nicht eindeutig 5 Dezember 2005 + wenige Parameter zu spezifizieren Inverse Kinematik z Inverse Kinematik erfordert die Lösung einer nichtlinearen Gleichung; oft mehrdeutige Lösungen; erfordert die Definition zusätzlicher Randbedingungen, um Lösung eindeutig zu machen. z Vorwärts und inverse Kinematik werden mit Zahl der Stäbe zunehmend komplex. Kinematische Animation M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 II. Repräsentation kinematischer Modelle M. Giese: Computeranimation und Lernmethoden in Computergrafik ª1 «0 [ x t x , y t y , z t z ,1] [ x, y , z,1] « «0 « ¬t x ty 0 1 0 z Translation mit Vektor [tx, ty, tz]: z Oft W = 1 o [X,Y,Z, 1] 0 0º 0 0» » 1 0» » t z 1¼ M 5 Dezember 2005 (In 3D nicht als Matrixmultiplikation T schreibbar.) z Vorteil: Repräsentation von wichtigen Transformationen durch einfache Matrixmultiplikation «¬ W W W »¼ z Repräsentation von 3D-Koordinaten durch 4-dimensionale Vektoren: [ x, y, z ] ª X , Y , Z º m [ X , Y , Z ,W ] Homogene Koordinaten 0 0 0 0 0 sz 0 sy M. Giese: Computeranimation und Lernmethoden in Computergrafik ª1 «0 [sx, sy , sz,1] m [ x, y , z,1 / s ] [ x, y , z,1] « «0 « ¬0 z Einheitliche Skalierung: ª sx «0 [ sx x, s y y , sz z,1] [ x, y , z,1] « «0 « ¬0 0 0 0 MS º » » » » 0 0 1 / s¼ 0 0 1 0 0 1 0º 0» » 0» » 1¼ z Skalierung der Achsen mit Faktoren [sx, sy, sz]: Homogene Koordinaten 5 Dezember 2005 M. Giese: Computeranimation und Lernmethoden in Computergrafik 0 0 cos T sin T ª cos T « sin T [ x ' , y ' , z ' ,1] [ x, y , z,1] « « 0 « ¬ 0 0º 0» » 0» » 1¼ 0º 0» » 0» » 1¼ 0 0º 0 0» » 1 0» » 0 1¼ 0 sin T 1 0 0 cos T 0 0 0 sin T cos T 0 ªcos T « 0 [ x ' , y ' , z ' ,1] [ x, y , z,1] « « sin T « ¬ 0 0 ª1 «0 cos T [ x ' , y ' , z ' ,1] [ x, y , z,1] « «0 sin T « 0 ¬0 z Rotation um Achsen: Homogene Koordinaten MRz MRy MRx 5 Dezember 2005 M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 [ x ' , y ' , z ' ,1] [ x, y , z,1] M R x M T M R z MS z Beispiel: Drehung um x-Achse, Translation, Rotation um z-Achse und Skalierung: z Verkettung von Transformationen durch Multiplikation der Matrizen. Homogene Koordinaten M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 z Komplexe Gelenke können in mehrere Schaniergelenke zerlegt werden. z Die Transformationen dieser Koordinatensysteme entlang der kinematischen Kette können durch eine Serie von Matrixmultiplikationen dargestellt werden. z Jeder Stab wird mit einem eigenem Koordinatensystem versehen. z Entwickelt in der Mechanik (Denavit & Hartenberg, 1955). z Systematische Methode zur Modellierung kinematischer Ketten (naïve Beschreibung führt zu extrem komplexen Formeln für komplexere Kinematiken). Denavit-Hartenberg(DH)-Notation M. Giese: Computeranimation und Lernmethoden in Computergrafik z Gelenkparameter: di Distanz zwischen Gelenken entlang zi Ti Winkelrotation zwischen Gelenken um zi z Stabparameter: ai Distanz der Gelenke entlang x Di Winkel zwischen den Achsen 5 Dezember 2005 z KS für Stäbe definiert duch Orientierung und Position der Gelenke; z-Richtung parallel zu Gelenkachse; x-Richtung zeigt zum nächsten Gelenk Koordinatensystem (KS) für einen Stab sin Ti cos D i 1 sin Ti sin Di 1 cos Ti cos D i 1 cos Ti sin D i 1 sin D i 1 cos Di 1 d i sin Di 1 d i cos Di 1 M. Giese: Computeranimation und Lernmethoden in Computergrafik M DH ª cos Ti « sin T i « « 0 « ¬ ai 1 z Gesamttransformationsmatrix: 0º 0» » 0» » 1¼ - Rotation um xi-Achse mit Winkel Di-1 - Translation in Richtung xi-Achse um Distanz ai-1 - Translation in Richtung zi-1-Achse um Distanz di z Einzelner Stab in dieser Beschreibung entspricht folgenden Transformationen: - Rotation um z-Achse mit Winkel Ti Beispiel 5 Dezember 2005 Rotationen nur um z-Achse; Di-1 und di =0 Beispiel: Bewegung in Ebene M. Giese: Computeranimation und Lernmethoden in Computergrafik III. Inverse Kinematik 5 Dezember 2005 M. Giese: Computeranimation und Lernmethoden in Computergrafik z In sehr einfachen Fällen kann diese Funktion analytisch berechnet werden. z Inverse Kinematik gegeben durch die nichtlineare Funktion: 4 = f -1(X) Inverse Kinematik 5 Dezember 2005 J (Ĭ) mit J ij wT j M. Giese: Computeranimation und Lernmethoden in Computergrafik z Diese Transformation is lokal linear(isierbar). 5 Dezember 2005 bildet die Jacobi-Matrix die J ( Ĭ)Ĭ z Wegen X Änderungsgeschwindigkeit des Zustandsvektors auf Positions- und Winkelgeschwindigkeiten im kartesischen Raum ab. dĬ z Multidimensionale Ableitung der (nichtlineren) Kinematik X = f(4) nach den Kontrollparametern 4 >TTT1@ dX wf i Jacobi-Matrix dX J ( Ĭ )Ĭ dt X dt J ( Ĭ )Ĭ J (Ĭ)dĬ M. Giese: Computeranimation und Lernmethoden in Computergrafik Ĭt 1 | Ĭt J 1 (Ĭt )( X t 1 X t ) 5 Dezember 2005 dĬ J 1 (Ĭ)dX z Diese Gleichung kann (approximativ) iteriert werden: X z Idee: Invertierung durch lokale Linearisierung: z In der Praxis ist die Funktion f(4) meistens nicht analytisch invertierbar. z Formal ist die inverse Kinematik gegeben durch die hochgradig nichtlineare Funktion: 4 = f -1(X) Inverse Kinematik 2 12 J(4) l1c1 l2c12 º l2 c12 »¼ (T1 T2 ), l1c1T1 l2 c12 (T1 T2 ) ª l1s1 l2 s12 [T1 , T 2 ] « ¬ l2 s12 1 1 1 > l s T l s [ x , y ] M. Giese: Computeranimation und Lernmethoden in Computergrafik X z Jacobi-Matrix: l1 sin T1 l2 sin(T1 T 2 ) y [ x, y ] l1 cos T1 l2 cos(T1 T 2 ) X x z Beispiel: z Änderung von X in Richtung Zielposition (in geg. Schritten) Beispiel @ 5 Dezember 2005 M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 z Möglichkeit: Pseudoinverse verwenden. Lösung mit minimaler Länge des Gelenkwinkelvektors. z Die Matrix J(4) kann singulär werden. Nullraum von Gelenkkonfigurationen, die zur selben Endeffektor position führen. Probleme M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 z Die Matrix (J’J) Matrix ist quadratisch und positiv semidefinit, d.h. immer invertierbar. z Herleitung: J' X J ( Ĭ)Ĭ J ' JĬ X 1 J X Ĭ J ' J J ' X z Liefert eindeutige Lösungen für Gleichungssysteme mit Nullraum (Minimum-Norm Lösung). z Kann auch für nicht-quadratische Matrizen gebildet werden. Pseudoinverse dX J (Ĭ)dĬ M. Giese: Computeranimation und Lernmethoden in Computergrafik z Liefert Lösungen mit kleiner Geschwindigkeit im Zustandsraum. z Erweiterter Fehler (O > 0): 2 2 E ( J ) dX J (Ĭ)dĬ O dĬ z Gleichungsfehler: E ( J ) 2 z Zusätzliche Stabilisierung durch Bestrafen von Zustandsvektoränderungen mit grosser Norm. Regularisierte Kleinste-Quadrate Schätzung (ridge regression) 5 Dezember 2005 M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 IV. Dynamiksimulation einfacher starrer Körper M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 z Es gibt Softwarepakete zur numerischen Lösung sehr komplexer Differentialgleichungen. z Verschieden gute Approximatonen zur numerischen Lösung z Idee: Numerische Simulation dieser Differentialgleichungen, um die Bewegung zu simulieren. (t ) g(Ĭ(t ), t ) z Formal: Ĭ z Die Physik beschreibt die Gesetze der Bewegungen von Objekten duch Differentialgleichungen (DGL). Prinzip der Dynamiksimulation M. Giese: Computeranimation und Lernmethoden in Computergrafik (Fehler der Ordnung 't5) 5 Dezember 2005 von Funktionswerten, um Abbruchfehler hoher Ordnung zu erhalten; k 't k1 't g (Ĭ, t ) k 3 't g ( Ĭ 2 , t ) 4. Ordnung: 2 2 k ' t 1 Vorteil: Große k 2 't g (Ĭ , t ) k 4 't g (Ĭ k 3 , t 't ) 2 2 Schrittweiten k 1 2k 2 2k 3 k 4 Ĭ ( t 't ) O ( 't 5 ) möglich, schnell 6 z Runge-Kutta-Methode: Approximation durch gewichtete Summe Nachteile: Nicht symmetrisch bzgl. Anfang / Ende des Zeitschrittes; ungenau; kann instabil werden z Euler-Methode: z Differentialgleichung: (t ) dĬ g(Ĭ, t ) Ĭ dt 1 (t ) | Ĭ(t 't ) Ĭ(t ) Ĭ 't Ĭ(t 't ) Ĭ(t ) 't g(Ĭ, t ) Numerische Lösung von DGL x(t ) v(t ) 0 x (t ) const. v x (0) vt 0 x (0) ³ v (t ' ) dt ' t M. Giese: Computeranimation und Lernmethoden in Computergrafik x (t ) v (t ) 1 F (t ' ) dt v (0) ³ m0 t F(t) x(t) v x(t) 1 x (0) ³ ³ F (t ' ' ) dt ' ' dt ' v (0)t m00 t t' z Massepunkt mit äusserer Kraft: ma (t ) mx(t ) F (t ) a (t ) v (t ) x (t ) z Massepunkt ohne äussere Kraft: 5 Dezember 2005 v Lineare Bewegungen einfacher starrer Körper Ȧ( t ) u r ( t ) Ȧ(t ) r (t ) sin T e a (t ) M. Giese: Computeranimation und Lernmethoden in Computergrafik r (t ) r(t) T 5 Dezember 2005 Z(t) e a (t ) z Drehung eines Vektors r(t) um Achse durch Anfangspunkt mit Winkelgeschwindigkeitsvektor Z(t) z Winkelgeschwindigkeit: Z(t) (Vektor in Richtung der Rotationsachse, Länge gibt Umdrehungen pro Zeiteinheit an.) z Rotation gegeben durch Rotationsmatrix R(t). z Für Punktmassen (ohne räumliche Ausdehnung) rotatorische Dynamik irrelevant. Rotatorische Bewegungen ausgedehnter Körper R ( t )q x ( t ) R ( t )q q(t ) x (t ) Distanzvektor zum Ursprung M. Giese: Computeranimation und Lernmethoden in Computergrafik d R (t )q Ȧ(t ) u (q(t ) x(t )) dt (t )q v(t ) Ȧ(t ) u [q(t ) x(t )] v(t ) q (t ) R q(t ) z Objektpunkt mit festen objektinternen Koordinaten q: r3(t) r2(t) Z(t) 5 Dezember 2005 Mittelpunktsgeschwindigkeit x(t) r1(t) q(t) Matrix aus Elementen von Z(t) R (t ) [r1 (t ), r2 (t ), r3 (t )] (t ) [Ȧ(t ) u r (t ), Ȧ(t ) u r (t ), Ȧ(t ) u r (t )] ȍ(t )R (t ) R 1 2 3 z Objekt mit Mittelpunktsposition x(t); internes Koordinatensytem gegeben durch Spalten der zugehörigen Rotationsmatrix R(t); Rotation mit Winkelgeschwindigkeitsvektor Z(t) um Koordinatenursprung Rotatorische Bewegung ausgedehnter Körper 1 M n n n ¦m q n ¦m n (t ) n ¦f n (q n (t ) x(t )) u fn (t ) n ¦IJ n (t ) M. Giese: Computeranimation und Lernmethoden in Computergrafik IJ( t ) z Gesamtdrehmoment, das auf Körper wirkt: IJ n (t ) 5 Dezember 2005 Kräfte, die auf Einzelpunkte wirken z Drehmoment das durch Einzelkraft ausgeübt wird: Kraft, die auf Gesamtkörper wirkt: F x (t ) z Schwerpunkt: z M z Gesamtmasse: z In Computeranimation häufig Objekte, die aus endlicher Zahl von Massenpunkten bestehen. Masse und Kräfte n n ¦ m q n (t ) Mv(t ) P (t ) M. Giese: Computeranimation und Lernmethoden in Computergrafik P( t ) z Für zusammengesetzten Körper: Mv (t ) z Linearer Impuls: Masse • Beschleunigung: p(t ) F( t ) 5 Dezember 2005 mv z Im abgeschlossenen System (ohne externe Kräfte) bleiben linearer Impuls und Drehimpuls erhalten. z Zerlegung des Gesamtimpulses in ein linaren Impuls und (objektinternen) Drehimpuls; linearer Impuls wirkt nur auf den Schwerpunkt x(t) Impuls n u(Ȧ(t ) u (q n (t ) x(t )) ( t ) q n u [ Ȧ( t ) u R ( t ) q n ] n M. Giese: Computeranimation und Lernmethoden in Computergrafik IJ(t ) L (t ) z Für Drehmoment und Drehimpuls gilt: n n ¦m R n n ¦ m R ( t )q n 5 Dezember 2005 z Drehimpuls für zusammengesetzten Körper (Rotation um Schwerpunkt): L(t ) ¦ (q n (t ) x(t )) u mn (q n (t ) v(t )) z Masse m mit Abstandsvektor r von Rotationsachse und linearem Impuls p: L = r x p Drehimpuls I object ª I xx « « I xy «¬ I xz ¦ m (q ¦ m (q I yy I zz n n 2 n,x 2 n,x qn2, y ) qn2, z ) qn2, z ) I yz I xz I xy n q n n , y n ,z ¦m q n q n n ,x n ,z ¦m q n q n n,x n, y ¦m q I yy I yz I xy M. Giese: Computeranimation und Lernmethoden in Computergrafik z In externen Koordinaten zeitabhängig: IZ (t ) n n n n 2 n, y ¦ m (q I xx z Mit objektinternen Koordinaten qi gilt: z Die Matrix Iobject ist der sogenannte Trägheitstensor des Objektes: 5 Dezember 2005 R (t )I object R (t )' I xz º » I yz » I zz »¼ z Wie für Impuls und lineare Beschleunigung (P = M v) gilt für die Winkelgeschwindigkeit: L(t ) IZ (t ) Ȧ(t ) Trägheitstensor S( t ) M. Giese: Computeranimation und Lernmethoden in Computergrafik z Differentialgleichung (numerisch gelöst): S (t ) P( t ) / M v(t ) ª v ' (t ) º «ȍ ( t ) R ( t ) » « » « F' ( t ) » « » ' ( t ) IJ ¬ ¼ IZ (t ) 1 L(t ) R (t )I object R (t )' Ȧ( t ) IZ ( t ) ª x ' (t ) º « » d « R (t ) » dt « P' (t ) » « » ' ( t ) L ¬ ¼ z Daraus Berechnung der Grössen: z Zustandsmatrix: « R (t ) » « » « P' ( t ) » « » ¬ L' ( t ) ¼ z Zustand eines Körpers definiert durch Position, Orientierung, linearen Impuls und Drehimpuls. ª x' (t ) º 5 Dezember 2005 Allgemeine Bewegungsgleichungen M. Giese: Computeranimation und Lernmethoden in Computergrafik V. Objekte mit Kontakt und Randbedingungen 5 Dezember 2005 M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 z Verschiedene Arten von Kontakt: Kollision, gegeneinander gleiten, aufeinander ruhen z In der Realität stoßen Objekte zusammen oder berühren sich; in der Computeranimation müssen diese Wechselwirkungen adäquat modelliert werden; andernfalls würden sich Objekte durchdringen. Relevanz von Objektkontakt p in Ebene: H(p) = 0 p oberhalb Ebene: H(p) > 0; p unterhalb Ebene: H(p) < 0 H(p) = 0 M. Giese: Computeranimation und Lernmethoden in Computergrafik z Exaktere Berechnung lineare Interpolation zwischen Abtastzeitpunkten oder Bisektionsmethode. z Berechnung des Kollisionszeitpunktes tc z Raytracing-Methoden zur Bestimmung von Kontaktpunkten bei Objekten mit komplexer Form. 5 Dezember 2005 z Vereinfachung durch Testen von Begrenzungsboxen. z Z.B. über Normalenform der Ebene: H(p) = ax +by +cz +d z Kollisionsdetektion = kinematisches Problem Kollisionsdetektion p ( I (1 k )n n' ) v(tc ) v(tc ) n n' v(tc ) kn n' v(tc ) n kd (tc ) n k ([p 0 p(tc )]' n) M. Giese: Computeranimation und Lernmethoden in Computergrafik Fp (tc ) F(tc ) 5 Dezember 2005 tc z Bestrafungsmethode: Annahme einer Feder mit Gleichgewichtslänge Null, die gedehnt wird, wenn Punkt in Objekt eindringt. Federkonstante Zusatzkraft: n v (tc ) z Einfache kinematische Methode: Nach Kollisionzeitpunkt wird einfach Geschwindigkeitskomponente normal zur Oberfläche invertiert und mit Faktor k (0<kd1) gedämpft. Berechnung der Kollisionsreaktion M. Giese: Computeranimation und Lernmethoden in Computergrafik z Beispiel: 2 Objekte A und B, Kontakt an Fläche mit Normalenvektor n; Schwerpunkte: xA(t), xB(t); Kontaktpunkte: pA(t), pB(t), pA(tc) = pB(tc), 5 Dezember 2005 z Berechnung von Impulskräften: Übertragener Impuls bei Stoß von 2 Objekten: J = ' P Annahme: Relativgeschwindigkeit zwischen den Objekten ändert sich (mit Reduktionsfaktor k): vrel(t+) =- k vrel(t-) Berechnung der Kollisionsreaktion (p A p B )' n v B (tc ) n ( n' J ) / M A v B (tc ) M. Giese: Computeranimation und Lernmethoden in Computergrafik v A (tc ) n ( n' J ) / M A v A (tc ) 5 Dezember 2005 z Geschwindigkeitsäderung normal zur Stoßfläche gegeben duch übertragenen Stoßimpuls: z Objektinterne Koordinaten der Kontaktpunkte: rA p A x A p A x A Ȧ A u rA rB p B x B p B x B Ȧ B u rB vrel z Relativgeschwindikeit normal zur Kontaktfläche: Berechnung der Kollisionsreaktion Ȧ B (tc ) I B1 (tc ) (rB u n (n' J )) Ȧ B (tc ) M. Giese: Computeranimation und Lernmethoden in Computergrafik z Für mehrere Kontaktpunkte wird die Berechnung entsprechend komplizierter. n' J 5 Dezember 2005 (1 k )vrel (tc ) (1 / M A ) (1 / M B ) n' ( I A1 (tc ) (rA u n) u rA I B1 (tc ) (rB u n) u rB ) z Aus der Bedingung vrel(t+) =- k vrel(t-) zusammen mit den vorherigen Gleichungen folgt: Ȧ A (tc ) I A1 (tc ) (rA u n (n' J )) Ȧ A (tc ) z Ganz entsprechend gilt für die Winkelgeschwindigkeiten: Berechnung der Kollisionsreaktion M. Giese: Computeranimation und Lernmethoden in Computergrafik FN 5 Dezember 2005 z Wenn eine Verschiebung auftritt, tritt eine tangentiale kinetische Reibunskraft in Gegenrichtung der Bewegung auf: Fkin Pkin FN FT Fkin z Haftreibung: Verschiebungen entlang der Fläche treten erst auf wenn |FT | > Ps FN (mit Haftreibungskoeffizient Ps) z Zerlegung der Kontaktkraft in Komponenten normal und tangential zur Kontaktfläche FN und FT Kollision mit Reibung p1 n3 n2 c 5 Dezember 2005 A (tc ) p B (tc )) 2n k (tc )' ( p A (tc ) p B (tc )) n k (tc )' ( p n k (tc )' ( p A (tc ) p B (tc )) n k (tc )' ( p A (tc ) p B (tc )) M. Giese: Computeranimation und Lernmethoden in Computergrafik k dk (tc ) d (t ) n4 p3 p4 p2 z Distanz muß immer nicht-negativ sein (dk t 0). d k (tc ) 0 und dk (tc ) 0 , aber dk (tc ) t 0 mit z Distanz zwischen Objekten an Kontaktpunkten: d k (t ) nk (t )' (p A p B ) z Positive Normalkräfte nk an jedem Kontaktpunkt (werden unwirksam, n1 wenn Objekte sich nicht mehr berühren). z Berechnung der Kräfte bei Kontakt in Ruhe; Z.B. Methode von Baraff (1992) Ruhender Kontakt M. Giese: Computeranimation und Lernmethoden in Computergrafik z Man kan zeigen dk (tc ) bk ¦ akl f l l wobei die Konstanten bk und akl aus den bekannten Größen berechnet werden können. 5 Dezember 2005 z Entweder die Objekte sind in Kontakt und die Distanz am Kontakpunkt bleibt konstant, oder die Distanz ist positiv und die Kontaktkraft verschwindet. dk (t ) f k 0 z Valide Kontakräfte müssen Durchdringung vermeiden und können Objekte nur auseinanderdrücken, d.h. fk t 0 Ruhender Kontakt l ! min 0 M. Giese: Computeranimation und Lernmethoden in Computergrafik und ggf. Bx c Minimiere : E(x ) x' Ax b' x unter den Bedingungen : xn t 0, 5 Dezember 2005 z Lösbar mit quadratischer Programmierung: Klasse von Algorithmen für die numerische Lösung von Problemen der Form: unter den Bedingungen : f k , dk (tc ) t 0, dk (tc ) f k k ¦ dk (tc ) bk ¦ akl fl 2 z Lösung eines Minimierungsproblems: Ruhender Kontakt M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 Können of einfach durch zusätzliche Kräfte interiert werden (z.B. mit elastischen Elemnenten). Rechenaufwand nicht massiv erhöht. Auch bei Inkompatibilität existiert (im mathematischen Sinne) eine Lösung. z Weiche Randbedingungen: Einhaltung nur approximativ gefordert, falls möglich. z Harte Randbedingungen: Einhaltung durch Lösung wird notwendig erzwungen. Machen Lösung mathematisch oft wesentlich komplexer. Bei Inkompatibilität existiert keine Lösung! Harte und weiche Randbedingungen M. Giese: Computeranimation und Lernmethoden in Computergrafik F p2 n 5 Dezember 2005 z Problem: Grosse Federkonstruktionen können instabil werden oder schwingen. z Stabilisierung von Objekt formen durch Federn; Annahme von Federn zwischen allen Ecken (Vertices) z Lineare Feder (in Richtung n, Gleichgewichtslänge l): p1 F = -n k (|p2 - p1| - l) Modellierung von Randbedingungen mit elastischen Elementen k s T (t ) T 0 M. Giese: Computeranimation und Lernmethoden in Computergrafik T0: Gleichgewichtswinkel W z Stabilisierung von Winkeln durch Winkelfedern (+ Dämpfer): z Instabilität kann reduziert werden durch Dämpfer: Geschwindigkeitsproportionale Kraft in Gegenrichtung der 1 p 2 n Federkraft: F kd p p1 5 Dezember 2005 F p2 Modellierung von Randbedingungen mit elastischen Elementen n k s (T (t ) Tsoll (t )) kd (T(t ) Tsoll (t )) M. Giese: Computeranimation und Lernmethoden in Computergrafik W 5 Dezember 2005 - Oft modelliert als Proportional-Differential (PD) Regler: - Modellieren externe Randbedingungen, die nicht notwendigerweise physikalisch sind; z.B. gewünschte Positionen, usw. z Virtuelle Federn: Modellierung von Randbedingungen mit elastischen Elementen 0 M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 - Kraft f(t) bestimmt durch Minimieren des ‘Energieverbrauchs’: - Randbedingungen: Anfangspunkt: x(t0) = x0: Endpunkt: x(t1) = x1 - Bewegung aus Integration dieser DGL für gegebenes x(t0) und x(t0) mx f (t ) mg - Position: x(t); äußere Kraft: f(t) ); Masse: m z Einfaches Beispiel: Raumzeit-Partikel mit Gravitation z Harte Randbedingungen: Verbot der gegenseitigen Durchdringung von Objekten, Objektposition und Lage für bestimmte vorgegebene Zeitpunkte. z Bewegung als Lösung eines raumzeitlichen Optimierungsproblems aufgefasst. Raum-Zeit-Randbedingungen (space time constraints) Witkin & Kass (1988) E[ f ] t0 ³ 2 f (t ) dt x (kh ) | x[k ] x[k 1] h x[k ] x( kh ) | M. Giese: Computeranimation und Lernmethoden in Computergrafik k 0 E [ f ] | h ¦ f 2 [k ] N - Diskretisiertes Energieintegral: 5 Dezember 2005 x[k 1] 2 x[k ] x[k 1] h2 - Start- und Endpunkt: x[0] = x0, Endpunkt: x[N] = x1 - N physikalische Randbedingungen: p[k ] mx[k ] f [k ] mg 0 x[k ] - Diskretisierung der Funktionen x(t) und f(t) x[k] = x(kh) - ‘Energieverbrauch’: t1 z Einfaches Beispiel: Raumzeit-Partikel (Forts.) Raum-Zeit-Randbedingungen (space time constraints) a' Qa mit a M. Giese: Computeranimation und Lernmethoden in Computergrafik unter der Nebenbedingung : Ba c minimiere : E (a) ªx º «f » ¬ ¼ B Q ª0 0 º «0 I » ¼ ¬ ª mD I º «d ' 0 » « 1 » «¬ d 2 ' 0 »¼ 5 Dezember 2005 c ªmg1º « x » « 1 » «¬ x2 »¼ - Aus dieser Schreibweise ergibt sich das folgende quadratische Optimierungsproblem: liefert mit 1 = [1,…, 1]’ die minimierte Funktion E(f) = h f’ f mit den Randbedingungen mDx – f – mg1 = 0 und d1’ x = [1,0,…, 0] x = x0 d2’ x = [0,0,…, 0, 1] x = x1. - Kompaktere Schreibweise mit den Vektoren x [ x[0],..., x[ N ]]' x [ x[0],..., x[ N ]]' Dx f [ f [0],..., f [ N ]]' z Einfaches Beispiel: Raumzeit-Partikel (Forts.) Raum-Zeit-Randbedingungen (space time constraints) M. Giese: Computeranimation und Lernmethoden in Computergrafik 5 Dezember 2005 z Im allgemeinen Fall ergeben sich nichtlineare Nebenbedingungen; das Problem muß dann durch geeignete numerische Optimierverfahren gelöst werden, z.B. Sequenzielle Quadratische Programmierung (SQP) - In diesem Falle ist das Problem sogar analytisch lösbar (Lagrange-Methode): L(a) a' Qa Ȝ ' ( Ba c) wL wL 2Qa * B' Ȝ* 0 Ba * c 0 wa wȜ 1 a* Q B' Ȝ * Ȝ* 2( BQ B' ) c a* (Q B' )( BQ B' ) c 2 z Einfaches Beispiel: Raumzeit-Partikel (Forts.) Raum-Zeit-Randbedingungen (space time constraints) M. Giese: Computeranimation und Lernmethoden in Computergrafik Inverse Kinematik DH-Notation Dynamiksimulation (Prinzip) Physikalische Gesetze und Anwedungen in der Animation z Modellierung von Objektkontakt z Harte und weiche Randbedingungen z Raum-Zeit-Randbedingungen z z z z Wichtige Punkte (bitte behalten !) 5 Dezember 2005 M. Giese: Computeranimation und Lernmethoden in Computergrafik Watt, A. & Watt, M. (1992). Advanced Animation and Rendering Techniques. Addison-Wesley, New York. Watt, A. (1999). 3D-Computergrafik. Pearson Studium, München. 5 Dezember 2005 Parent, R. (2002). Computer Animation. Morgan Kaufmann Publishers, New York. Craig, J. (1989). Robotics. Addison-Wesley, New York. Literatur