Document

Werbung
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(k˜h)
- ‘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 mD˜x – 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
Herunterladen