Ausarbeitung Igor Achieser

15
 Ausarbeitung zum Paper "Locomotion Skills for Simulated Quadrupeds" von Stelian Coros et al., 2011 Seminar Physikalisc h basierte Simulation, 201 2 Igor Achieser

Transcript of Ausarbeitung Igor Achieser

Page 1: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 1/15

 

Ausarbeitung zum Paper"Locomotion Skills for SimulatedQuadrupeds" von Stelian Coros etal., 2011

Seminar

Physikalisch basierte Simulation, 2012

Igor Achieser

Page 2: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 2/15

 

Technische Universität Darmstadt, 2012

Page 3: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 3/15

 

Inhaltsverzeichnis

1 Einleitung 1

1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Das Modell 3

2.1 Steuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Skelett . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.3 Gangartdiagramme (gait graphs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.4 Interne Bewegungssteuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.4.1 Trajektorien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.4.2 PD-Regler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4.3 Virtuelle Kräfte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.5 Parameteroptimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.6 Sprünge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Ergebnisse 9

3.1 Einschränkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Literaturverzeichnis 11

i

Page 4: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 4/15

 

1 Einleitung

Diese Seminararbeit beschäftigt sich mit dem Paper "Locomotion Skills for Simulated Quadrupeds" vonStelian Coros et al. 2011.

Darin wird ein Vierbeinermodell für physikalisch basierte Simulation vorgestellt. Die Figur beherrschtmehrere Gangarten (z.B. Trab oder Galopp) und die Fähigkeiten Springen, Sitzen, Liegen und Aufstehen.Zusätzilch hält der Vierbeiner die Balance auf unebenem Boden und bei moderaten Stößen.

1.1 Motivation

Computergenerierte Vierbeiner wie Hunde, Katzen, Pferde etc. treten in Animationsfilmen und Com-

puterspielen häufig auf. Ein Problem dabei ist, dass das sonst gerne verwendete Motion-Capturing sichbei Tieren nur eingeschränkt einsetzen lässt, weil man ihnen nicht ohne weiteres mitteilen kann, welche Aktion man sehen möchte. Reine Animation hingegen kann unrealistisch wirken, wenn auf die Gesetzeder Physik keine Rücksicht genommen wird. Effiziente und bequeme physikalisch basierte Synthesever-fahren, wie das vorgestellte, sind deshalb von großem Nutzen.

1

Page 5: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 5/15

Page 6: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 6/15

 

2 Das Modell

2.1 Steuerung

Es lassen sich die Geschwindigkeit (und damit indirekt die Gangart, die von der Geschwindigkeitabhängt) und die Laufrichtung des simulierten Vierbeiners vorgeben. Außerdem kann man Aktionen wieSpringen, Hinsetzen, Hinlegen und Aufstehen auslösen und externe Kräfte auf die Figur ausüben. Eine weitere Einflussmöglichkeit ist die Vorgabe des Terrains.

2.2 Skelett

Der Vierbeiner wird abstrakt als eine Wirbelsäule, an der zwei Beinpaare, ein Nacken mit Kopf und einSchwanz befestigt sind, modelliert.

Für die Simulation benutzen die Autoren ein Skelett bestehend aus Drehgelenken und Verbindungen(Knochen).

Abbildung 2.1: Das Skelett

Die Verteilung der Verbindungen und der Freiheitsgrade auf die Körperteile ist wie folgt:

 Verbindungenanzahl Anzahl Freiheitsgrade4 Beine 4 * 4 7 * 4Wirbelsäule 6 15Nacken + Kopf 4 12Schwanz 4 12Gesamt 30 67

3

Page 7: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 7/15

 

2.3 Gangartdiagramme (gait graphs)

Abbildung 2.2: Das Gangartdiagramm für den Passgang

Eine der zentralen Komponenten des Modells sind Gangartdiagramme (gait graphs) für jede Gangart,die die Dauer des Gangartperiode T  und das Timing, wann welches Bein als Schwungbein oder alsStandbein agiert, angeben. Die Diagramme werden aus Videomaterial von Hunden gewonnen.

 Aus dieser Gangartbeschreibung lassen sich die Gangartphase Φ(t) = t mod T 

T ∈ [0,1[ (mit t als Zeit

seit dem Beginn der Simulation) und der Fortschritt der aktuellen Schwung- oder Standphase für jedes

Bein φi(t) =t phase i

(t)

T  sw in gi

(i ∈ {frontLeft, frontRight, rearLeft, rearRight}) (wenn das i-te Bein aktuell in der

Schwungphase ist) bestimmen. T  sw in giist hierbei die Dauer der Schwungphase des i-ten Beins und t phase i

gibt an, wie lange das i-te Bein sich in der aktuellen Phase befindet.

2.4 Interne Bewegungssteuerung

2.4.1 Trajektorien

Die Konfiguration des Körpers hängt im Wesentlichen vonφi (i ∈ {frontLeft, frontRight, rearLeft, rearRight})

und von Φ ab. Es werden deshalb Trajektorien definiert, die φi und Φ auf verschiedene Systemparameterabbilden.

 Von der Gangartphase Φ hängen die Höhe und der Nickwinkel der Schultern und der Hüfte sowie derNickwinkel des Genicks und des Kopfes ab. Der Fortschritt der Schwungphase von schwingendem Beini, φi, bestimmt u.A. die Fußhöhe über dem Boden von diesem Bein.

Die Trajektorien sind stückweise linear, mit 4 - 6 Kontrollpunkten gegeben.Für einige andere Gelenkwinkel liegt keine Trajektorie vor. So werden die Winkel der Gelenke der

Wirbelsäule zwischen dem Schulter- und dem Hüftnickwinkel linear interpoliert. Kniewinkel wiederum werden mit inverser Kinematik aus der Fußposition relativ zum Schulter- bzw. Hüftgelenk bestimmt. Diehorizontale Fußposition eines Schwungbeins i berechnet sich dazu wie folgt:Sei P

(i)

1der Punkt, an dem der Fuß i zuletzt Bodenkontakt hatte (Ende der Standphase), relativ zum

Schulter- bzw. Hüftgelenk. Sei P(i)

2dder Punkt (relativ zum Schulter- bzw. Hüftgelenk), der für das Wie-

deraufsetzen des Fußes (Ende der Schwungphase) gemäß der Sollgeschwindigkeit v d vorgesehen ist.

 P(i)

2= P

(i)

2d+ (v  − v d ) ∗ c(i) ist dann eine Korrektur von P2d

unter Berücksichtigung der Abweichung dertatsächlichen Geschwindigkeit v  von der Sollgeschwindigkeit v d . Die Bodenprojektion der Fußes in der

Schwungphase ist dann P(i)

= P(i)

1 + ( P(i)

2 − P(i)

1 ) ∗ t(i)

 sw (φi ).Die Wahl t(i)

 sw= φi ist naheliegend, jedoch kann man mit t(i)

 sw= φi + ∆i(φi) Feintuning betreiben: mit

∆i > 0 wird das Bein bspw. weiter nach vorne geschleudert.

4 2 Das Modell

Page 8: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 8/15

 

2.4.2 PD-Regler

Bei den oben genannten Gelenkwinkeln handelt es sich um Sollwerte. Damit sie sich einstellen, werdenmittels eines Proportional-Differential-Reglers (PD-Regler) Drehmomente angewandt.

Für ein Gelenk mit aktuellem Winkel θ  und aktueller Winkelgeschwindigkeit θ , erzeugt ein PD-Reglerbei gegebenem Sollwinkel θ d das Drehmoment τ gemäß:

τ = k p(θ d − θ ) + kd θ 

(Vgl. dazu [7]). k p bestimmt hierbei die Steifigkeit und kd die Dämpfung. Beide Parameter sind apriori unbekannt und müssen bestimmt/optimiert werden.

2.4.3 Virtuelle Kräfte

Im Modell wird eine Reihe interner virtueller Kräfte verwendet:

• F (i)

h= k p e + kd e, e = h

(i) L F (Φ) − h(i) (i ∈ {shoulders, hips}, h

(i) L F  und h(i) sind dabei die Soll- bzw. die

tatsächliche Höhe des Schulter- oder Hüftgelenks)Das Ziel der Kraft ist h(i) an h

(i) LF  anzugleichen, sodass sich die gewünschte Schulter- oder Hüfthöhe

einstellt.

• F v 

= kv 

(v d − v ) wirkt darauf hin, dass der Vierbeiner die Sollgeschwindigkeit v d hat.

• F  Di(φi) (i ∈ {frontLeft, frontRight, rearLeft, rearRight}): zeitabhängige virtuelle Kraft, die der Kraft

entspricht, die ein Bein auf den Körper (bzw. in umgekherter Richtung auf den Boden) ausübt.

• F  g kompensiert die Schwerkraft (damit der Körper nicht nach unten beschleunigt)

Bis auf F d wirken die internen virtuellen Kräfte nicht auf ein bestimmtes Bein, sondern auf jeweils auf das vordere oder hintere Beinpaar und werden deshalb von den Standbeinen des jeweiligen Beinpaarszu gleichen Anteilen aufgewendet.

Abbildung 2.3: Interne virtuelle Kräfte: man beachte, wie F v 

und F h, die auf die Hüfte wirken, sich auf

die hinteren 2 Standbeine verteilen

Die Vorwärtsdynamiksimulation arbeitet mit Drehmomenten, daher müssen die Kräfte erst in solche

umgewandelt werden. Die entsprechende Transformation lautet:

τ = J T  F 

2.4 Interne Bewegungssteuerung 5

Page 9: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 9/15

 

Hierbei ist

 J  =

∂ u1

∂ q1. . .

∂ u1

∂ q s...

...∂ ur

∂ q1. . .

∂ ur

∂ q s

 wobei q1, . . . ,q s Winkel der Gelenke, auf die das resultierende Drehmoment wirkt, und u1, . . . ,ur vonden Winkeln abhängige Kontrollvariablen sind. Im einfachsten Fall ist (u1,u2,u3) = ( x , y , z), also der

Ortsvektor des Punktes, auf den die Kraft F wirkt, und F  =

 F  x 

 F  y 

 F  z

der Vektor der Kraftkomponenten

entlang der 3 Koordinatenachsen. Vgl. dazu [4, 6] Aus den so berechneten Drehmomenten zusammen mit den vom PD-Regler ausgegebenen Drehmo-

menten und aus der Modelltoplogie bestimmt die Vorwärtsdynamiksimulation dann die Bewegungen des Vierbeiners.

2.5 Parameteroptimierung

Das Modell für symmetrische Gangarten (bei denen sich je ein linkes und ein rechtes Bein in ähnlicherWeise bewegen. Beispiel: der Trab) besitzt ca. 70 Parameter (darunter sind z.B. die Koeffizienten (gains) von PD-Reglern), die zunächst unbekannt und optimal zu wählen sind. Bei unsymmetrischen Gangarten(z.B. Galopp) sind es sogar doppelt so viele, weil ein Satz von Parametern nicht für zwei Beine verwendet werden kann.

Das Simulationsvideo wird mit Motion-Capture-Material von einem ähnlich großen Hund mit dergleichen Gangart verglichen. Der echte und der simulierte Hund müssen dazu mit Markern an dengleichen Stellen versehen werden. Nun werden die Modellparameter so optimiert, dass die die akku-

mulierten Ortsdifferenzen der korrespondierenden Marker ( f d ), die Differenzen in Geschwindigkeit ( f v )und Bewegungsrichtung ( f r ) der beiden Hunde und die akkumulierte Beschleunigung des Kopfes in derSimulation (Kopfwackeln) ( f h) minimiert werden.

Es wird also ein Parametervektor P gesucht, sodass

 f ob j( P) = wd f d + wv 

f v 

+ wh f h + wr f r , wd = 100, wv 

= 5, wh = 0.5, wr = 5

minimal wird.Die Autoren verwenden dazu folgenden greedy stochastischen Algorithmus zur lokalen Optimierung:

 Pmin ← Vektor mit den kleinstmöglichen Parameterwerten P

ma x 

← Vektor mit den größtmöglichen Parameterwerten R ← Pmax  − Pmin

for i = 0 to n do

∆ P ← auf dem Intervall [-0.1*R, 0.1*R] gleichverteilter ZufallsvektorS ← Vektor mit genauso vielen Komponenten, dessen Einträge mit 20% Wahrscheinlichkeit 1 sind,sonst 0 P = P + S ◦ ∆ P {◦ bezeichne die komponentenweise Multiplikation}if  f ob j ( P) < f ob j ( P) then

 P ← P

end if 

end for

Die Anzahl der erforderlichen Iterationen n liegt bei 1000 - 2000, eine single-threaded Implementierungbenötigt dafür 2 - 10 h.

6 2 Das Modell

Page 10: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 10/15

 

2.6 Sprünge

Die interne Steuerung von Sprüngen besitzt ihre eigenen Parameter, diese sind unter anderem: dieinternen virtuellen Kräfte beim Absprung (die die von echten Vierbeinern ausgeübten Kräfte nachbilden)sowie das Timing ihrer Wikrung, und die Versteifung des Nackens, der Wirbelsäule und der Hinterläufe.

Ein Sprung ist durch ein (h, d, v)-Tupel beschrieben. h steht dabei für die Differenz zwischen dermaximalen und der minimalen Höhe des Körpers über dem Boden während des Sprungs, d - für diedabei zurückgelegte Distanz und v für die Geschwindigkeit beim Absprung.

Es wird eine Wissensbasis bestehend aus (hi, di,v i,Γi , E i)-Tupeln angelegt (Γi ist hierbei der optimaleParametervektor für den durch (hi, di,v i ) beschriebenen Sprung und E i - die über die Sprungdauer ak-kumulierten Drehmomente an sämtlichen Gelenken) und bei einem bevorstehenden Sprung wird darausein Tupel entnommen, dessen h-, d- und v -Wert am ehesten den bevorstehenden Sprug beschreiben unddessen E -Wert noch dazu minimal ist.

Die Wissensbasis wird iterativ-stochastisch angelegt, die Idee ist die gleiche wie bei der Optimierungder Gangartparameter: für ein gegebenes (hi, di ,v i,Γi, E i)-Tupel werden Γi und v i iterativ leicht ver-

ändert, falls sich dadurch ein erfolgreicher Sprung mit günstigerem Kraftbedarf ergibt. Dies wird für verschiedene Tupel mit unterschiedlichen Werten von hi, di ,v i durchgeführt, mit dem Ziel, für nahezu jede mögliche Sprungsituation Steuerungsparameter zu haben, mit denen der Kraftaufwand minimal ist.

2.6 Sprünge 7

Page 11: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 11/15

Page 12: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 12/15

 

3 Ergebnisse

Die Autoren benutzen die Open Dynamics Engine für die Vorwärtssimulation, die aus der Mo-delltoplogie und Drehmomenten Bewegungen berechnet, und erzielen das 3-fache der Real-Time-Geschwindigkeit. Ein Demonstrationsvideo ist unter [8] verfügbar.

3.1 Einschränkungen

Das Modell hat einige Einschränkungen: so besitzt der simulierte Hund bspw. beim Ändern der Laf-richtung nicht die Agilität von echten Hunden. Darüber hinaus decken die Gangarten im Modell klei-nere Geschwindigkeitsspektren ab: ab einer Grenzgeschwindigkeit muss der simulierte Hund schon die

nächstschnellere Gangart benutzen, damit die Bewegung optisch ansprechend aussieht, während derReferenzhund die gleiche Gangart länger beibehalten kann.

 Außerdem wird im Paper auf folgende Vereinfachungen hingewiesen: Selbstkollisionen werden außer Acht gelassen, die Schultern sind lediglich als 2 Drehgelenke modelliert und die Füße sind ungefedert.

9

Page 13: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 13/15

Page 14: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 14/15

 

Literaturverzeichnis

[1] S. Coros, A. Karpathy, B. Jones, L. Reveret, and M. van de Panne. Locomotion skills for simulatedquadrupeds. In ACM SIGGRAPH 2011 papers, SIGGRAPH ’11, pages 59:1–59:12, New York, NY, USA,2011. ACM.

[2] J. K. Hodgins, W. L. Wooten, D. C. Brogan, and J. F. O’Brien. Animating human athletics. In Procee-

dings of the 22nd annual conference on Computer graphics and interactive techniques, SIGGRAPH ’95,pages 71–78, New York, NY, USA, 1995. ACM.

[3] E. Kokkevis, D. Metaxas, and N. I. Badler. Autonomous animation and control of four-legged animals.In In Proc. Graphics Interface, pages 10–17, 1995.

[4] J. Pratt. Virtual model control: An intuitive approach for bipedal locomotion. The International

 Journal of Robotics Research, 20(2):129–143, 2001.

[5] M. H. Raibert and J. K. Hodgins. Animation of dynamic legged locomotion. SIGGRAPH Comput.

Graph., 25:349–358, July 1991.

[6] C. Sunada, D. Argaez, S. Dubowsky, and C. Mavroidis. A coordinated jacobian transpose controlfor mobile multi-limbed robotic systems. Proceedings of the 1994 IEEE International Conference on

 Robotics and Automation, pages 1910–1915, 1994.

[7] M. van de Panne. Parameterized gait synthesis. IEEE Comput. Graph. Appl., 16:40–49, March 1996.

[8] M. van de Panne. Locomotion skills for simulated quadrupeds, 2011.http://www.youtube.com/watch?v=dRthdBr46cs. Letzter Zugriff: 17.01.2012.

11

Page 15: Ausarbeitung Igor Achieser

5/16/2018 Ausarbeitung Igor Achieser - slidepdf.com

http://slidepdf.com/reader/full/ausarbeitung-igor-achieser 15/15