Sie sind auf Seite 1von 15

Ausarbeitung zum Paper "Locomotion Skills for Simulated Quadrupeds" von Stelian Coros et al.

, 2011
Seminar Physikalisch basierte Simulation, 2012 Igor Achieser

Technische Universitt Darmstadt, 2012

Inhaltsverzeichnis
1 Einleitung
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
1

2 Das Modell
2.1 2.2 2.3 2.4 Steuerung . . . . . . . . . . . . . . . Skelett . . . . . . . . . . . . . . . . . Gangartdiagramme (gait graphs) Interne Bewegungssteuerung . . . 2.4.1 Trajektorien . . . . . . . . . 2.4.2 PD-Regler . . . . . . . . . . 2.4.3 Virtuelle Krfte . . . . . . . 2.5 Parameteroptimierung . . . . . . . 2.6 Sprnge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3
3 3 4 4 4 5 5 6 7

3 Ergebnisse
3.1 Einschrnkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9
9

Literaturverzeichnis

11

1 Einleitung
Diese Seminararbeit beschftigt sich mit dem Paper "Locomotion Skills for Simulated Quadrupeds" von Stelian Coros et al. 2011. Darin wird ein Vierbeinermodell fr physikalisch basierte Simulation vorgestellt. Die Figur beherrscht mehrere Gangarten (z.B. Trab oder Galopp) und die Fhigkeiten Springen, Sitzen, Liegen und Aufstehen. Zustzilch hlt der Vierbeiner die Balance auf unebenem Boden und bei moderaten Sten.

1.1 Motivation
Computergenerierte Vierbeiner wie Hunde, Katzen, Pferde etc. treten in Animationslmen und Computerspielen hug auf. Ein Problem dabei ist, dass das sonst gerne verwendete Motion-Capturing sich bei Tieren nur eingeschrnkt einsetzen lsst, weil man ihnen nicht ohne weiteres mitteilen kann, welche Aktion man sehen mchte. Reine Animation hingegen kann unrealistisch wirken, wenn auf die Gesetze der Physik keine Rcksicht genommen wird. Efziente und bequeme physikalisch basierte Syntheseverfahren, wie das vorgestellte, sind deshalb von groem Nutzen.

2 Das Modell
2.1 Steuerung
Es lassen sich die Geschwindigkeit (und damit indirekt die Gangart, die von der Geschwindigkeit abhngt) und die Laufrichtung des simulierten Vierbeiners vorgeben. Auerdem kann man Aktionen wie Springen, Hinsetzen, Hinlegen und Aufstehen auslsen und externe Krfte auf die Figur ausben. Eine weitere Einussmglichkeit ist die Vorgabe des Terrains.

2.2 Skelett
Der Vierbeiner wird abstrakt als eine Wirbelsule, an der zwei Beinpaare, ein Nacken mit Kopf und ein Schwanz befestigt sind, modelliert. Fr 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 Krperteile ist wie folgt: Verbindungenanzahl 4*4 6 4 4 30 Anzahl Freiheitsgrade 7*4 15 12 12 67

4 Beine Wirbelsule Nacken + Kopf Schwanz Gesamt

2.3 Gangartdiagramme (gait graphs)

Abbildung 2.2: Das Gangartdiagramm fr den Passgang Eine der zentralen Komponenten des Modells sind Gangartdiagramme (gait graphs) fr jede Gangart, die die Dauer des Gangartperiode T und das Timing, wann welches Bein als Schwungbein oder als Standbein agiert, angeben. Die Diagramme werden aus Videomaterial von Hunden gewonnen. Aus dieser Gangartbeschreibung lassen sich die Gangartphase (t) = t mod T [0, 1[ (mit t als Zeit T seit dem Beginn der Simulation) und der Fortschritt der aktuellen Schwung- oder Standphase fr jedes Bein i (t) =
t phase (t)
i

Schwungphase ist) bestimmen. Tswing i ist hierbei die Dauer der Schwungphase des i-ten Beins und t phasei gibt an, wie lange das i-te Bein sich in der aktuellen Phase bendet.

Tswing i

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

2.4 Interne Bewegungssteuerung 2.4.1 Trajektorien


Die Konguration des Krpers hngt im Wesentlichen von i (i {frontLeft, frontRight, rearLeft, rearRight}) und von ab. Es werden deshalb Trajektorien deniert, die i und auf verschiedene Systemparameter abbilden. Von der Gangartphase hngen die Hhe und der Nickwinkel der Schultern und der Hfte sowie der Nickwinkel des Genicks und des Kopfes ab. Der Fortschritt der Schwungphase von schwingendem Bein i, i , bestimmt u.A. die Fuhhe ber dem Boden von diesem Bein. Die Trajektorien sind stckweise linear, mit 4 - 6 Kontrollpunkten gegeben. Fr einige andere Gelenkwinkel liegt keine Trajektorie vor. So werden die Winkel der Gelenke der Wirbelsule zwischen dem Schulter- und dem Hftnickwinkel linear interpoliert. Kniewinkel wiederum werden mit inverser Kinematik aus der Fuposition relativ zum Schulter- bzw. Hftgelenk bestimmt. Die horizontale Fuposition eines Schwungbeins i berechnet sich dazu wie folgt: (i) Sei P1 der Punkt, an dem der Fu i zuletzt Bodenkontakt hatte (Ende der Standphase), relativ zum (i) Schulter- bzw. Hftgelenk. Sei P2d der Punkt (relativ zum Schulter- bzw. Hftgelenk), der fr das Wiederaufsetzen des Fues (Ende der Schwungphase) gem der Sollgeschwindigkeit v d vorgesehen ist. (i) (i) P2 = P2d + (v v d ) c (i) ist dann eine Korrektur von P2d unter Bercksichtigung der Abweichung der tatschlichen Geschwindigkeit v von der Sollgeschwindigkeit v d . Die Bodenprojektion der Fues in der (i) (i) (i) (i) Schwungphase ist dann P (i) = P1 + (P2 P1 ) t sw (i ). (i) (i) Die Wahl t sw = i ist naheliegend, jedoch kann man mit t sw = i + i (i ) Feintuning betreiben: mit i > 0 wird das Bein bspw. weiter nach vorne geschleudert.
4 2 Das Modell

2.4.2 PD-Regler
Bei den oben genannten Gelenkwinkeln handelt es sich um Sollwerte. Damit sie sich einstellen, werden mittels eines Proportional-Differential-Reglers (PD-Regler) Drehmomente angewandt. Fr ein Gelenk mit aktuellem Winkel und aktueller Winkelgeschwindigkeit , erzeugt ein PD-Regler bei gegebenem Sollwinkel d das Drehmoment gem:

= k p (d ) + kd
(Vgl. dazu [7]). k p bestimmt hierbei die Steigkeit und kd die Dmpfung. Beide Parameter sind a priori unbekannt und mssen bestimmt/optimiert werden.

2.4.3 Virtuelle Krfte


Im Modell wird eine Reihe interner virtueller Krfte verwendet: Fh = k p e + kd , e = h L F () h(i) (i {shoulders, hips}, h LF und h(i) sind dabei die Soll- bzw. die e tatschliche Hhe des Schulter- oder Hftgelenks) (i) Das Ziel der Kraft ist h(i) an h L F anzugleichen, sodass sich die gewnschte Schulter- oder Hfthhe einstellt. Fv = kv (v d v ) wirkt darauf hin, dass der Vierbeiner die Sollgeschwindigkeit v d hat. F Di (i ) (i {frontLeft, frontRight, rearLeft, rearRight}): zeitabhngige virtuelle Kraft, die der Kraft entspricht, die ein Bein auf den Krper (bzw. in umgekherter Richtung auf den Boden) ausbt. F g kompensiert die Schwerkraft (damit der Krper nicht nach unten beschleunigt) Bis auf Fd wirken die internen virtuellen Krfte nicht auf ein bestimmtes Bein, sondern auf jeweils auf das vordere oder hintere Beinpaar und werden deshalb von den Standbeinen des jeweiligen Beinpaars zu gleichen Anteilen aufgewendet.
(i) (i) (i)

Abbildung 2.3: Interne virtuelle Krfte: man beachte, wie Fv und Fh, die auf die Hfte wirken, sich auf die hinteren 2 Standbeine verteilen Die Vorwrtsdynamiksimulation arbeitet mit Drehmomenten, daher mssen die Krfte erst in solche umgewandelt werden. Die entsprechende Transformation lautet:

= JT F
2.4 Interne Bewegungssteuerung 5

Hierbei ist

. J = . . u

u1 q1

... ...

u1 qs

. . . u
r

q1

qs

wobei q1 , . . . , qs Winkel der Gelenke, auf die das resultierende Drehmoment wirkt, und u1 , . . . , u r von den Winkeln abhngige Kontrollvariablen sind. Im einfachsten Fall ist (u1 , u2 , u3 ) = (x, y, z), also der F x Ortsvektor des Punktes, auf den die Kraft F wirkt, und F = F y der Vektor der Kraftkomponenten Fz entlang der 3 Koordinatenachsen. Vgl. dazu [4, 6] Aus den so berechneten Drehmomenten zusammen mit den vom PD-Regler ausgegebenen Drehmomenten und aus der Modelltoplogie bestimmt die Vorwrtsdynamiksimulation dann die Bewegungen des Vierbeiners.

2.5 Parameteroptimierung
Das Modell fr symmetrische Gangarten (bei denen sich je ein linkes und ein rechtes Bein in hnlicher Weise bewegen. Beispiel: der Trab) besitzt ca. 70 Parameter (darunter sind z.B. die Koefzienten (gains) von PD-Reglern), die zunchst unbekannt und optimal zu whlen sind. Bei unsymmetrischen Gangarten (z.B. Galopp) sind es sogar doppelt so viele, weil ein Satz von Parametern nicht fr zwei Beine verwendet werden kann. Das Simulationsvideo wird mit Motion-Capture-Material von einem hnlich groen Hund mit der gleichen Gangart verglichen. Der echte und der simulierte Hund mssen dazu mit Markern an den gleichen Stellen versehen werden. Nun werden die Modellparameter so optimiert, dass die die akkumulierten Ortsdifferenzen der korrespondierenden Marker ( f d ), die Differenzen in Geschwindigkeit ( fv ) und Bewegungsrichtung ( f r ) der beiden Hunde und die akkumulierte Beschleunigung des Kopfes in der Simulation (Kopfwackeln) ( fh) minimiert werden. Es wird also ein Parametervektor P gesucht, sodass

f o b j (P) = w d f d + wv fv + wh fh + w r f r , w d = 100, wv = 5, wh = 0.5, w r = 5


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

Pmin Vektor mit den kleinstmglichen Parameterwerten Pma x Vektor mit den grtmglichen Parameterwerten R Pma x Pmin for i = 0 to n do P auf dem Intervall [-0.1*R, 0.1*R] gleichverteilter Zufallsvektor S Vektor mit genauso vielen Komponenten, dessen Eintrge mit 20% Wahrscheinlichkeit 1 sind, sonst 0 P = P + S P { bezeichne die komponentenweise Multiplikation} if f o b j (P ) < f o b j (P) then PP end if end for
Die Anzahl der erforderlichen Iterationen n liegt bei 1000 - 2000, eine single-threaded Implementierung bentigt dafr 2 - 10 h.
6 2 Das Modell

2.6 Sprnge
Die interne Steuerung von Sprngen besitzt ihre eigenen Parameter, diese sind unter anderem: die internen virtuellen Krfte beim Absprung (die die von echten Vierbeinern ausgebten Krfte nachbilden) sowie das Timing ihrer Wikrung, und die Versteifung des Nackens, der Wirbelsule und der Hinterlufe. Ein Sprung ist durch ein (h, d, v)-Tupel beschrieben. h steht dabei fr die Differenz zwischen der maximalen und der minimalen Hhe des Krpers ber dem Boden whrend des Sprungs, d - fr die dabei zurckgelegte Distanz und v fr die Geschwindigkeit beim Absprung. Es wird eine Wissensbasis bestehend aus (hi , di , v i , i , Ei )-Tupeln angelegt (i ist hierbei der optimale Parametervektor fr den durch (hi , di , v i ) beschriebenen Sprung und Ei - die ber die Sprungdauer akkumulierten Drehmomente an smtlichen Gelenken) und bei einem bevorstehenden Sprung wird daraus ein Tupel entnommen, dessen h-, d - und v -Wert am ehesten den bevorstehenden Sprug beschreiben und dessen E -Wert noch dazu minimal ist. Die Wissensbasis wird iterativ-stochastisch angelegt, die Idee ist die gleiche wie bei der Optimierung der Gangartparameter: fr ein gegebenes (hi , di , v i , i , Ei )-Tupel werden i und v i iterativ leicht verndert, falls sich dadurch ein erfolgreicher Sprung mit gnstigerem Kraftbedarf ergibt. Dies wird fr verschiedene Tupel mit unterschiedlichen Werten von hi , di , v i durchgefhrt, mit dem Ziel, fr nahezu jede mgliche Sprungsituation Steuerungsparameter zu haben, mit denen der Kraftaufwand minimal ist.

2.6 Sprnge

3 Ergebnisse
Die Autoren benutzen die Open Dynamics Engine fr die Vorwrtssimulation, die aus der Modelltoplogie und Drehmomenten Bewegungen berechnet, und erzielen das 3-fache der Real-TimeGeschwindigkeit. Ein Demonstrationsvideo ist unter [8] verfgbar.

3.1 Einschrnkungen
Das Modell hat einige Einschrnkungen: so besitzt der simulierte Hund bspw. beim ndern der Lafrichtung nicht die Agilitt von echten Hunden. Darber hinaus decken die Gangarten im Modell kleinere Geschwindigkeitsspektren ab: ab einer Grenzgeschwindigkeit muss der simulierte Hund schon die nchstschnellere Gangart benutzen, damit die Bewegung optisch ansprechend aussieht, whrend der Referenzhund die gleiche Gangart lnger beibehalten kann. Auerdem wird im Paper auf folgende Vereinfachungen hingewiesen: Selbstkollisionen werden auer Acht gelassen, die Schultern sind lediglich als 2 Drehgelenke modelliert und die Fe sind ungefedert.

Literaturverzeichnis
[1] S. Coros, A. Karpathy, B. Jones, L. Reveret, and M. van de Panne. Locomotion skills for simulated quadrupeds. In ACM SIGGRAPH 2011 papers, SIGGRAPH 11, pages 59:159:12, New York, NY, USA, 2011. ACM. [2] J. K. Hodgins, W. L. Wooten, D. C. Brogan, and J. F. OBrien. Animating human athletics. In Proceedings of the 22nd annual conference on Computer graphics and interactive techniques, SIGGRAPH 95, pages 7178, 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 1017, 1995. [4] J. Pratt. Virtual model control: An intuitive approach for bipedal locomotion. The International Journal of Robotics Research, 20(2):129143, 2001. [5] M. H. Raibert and J. K. Hodgins. Animation of dynamic legged locomotion. SIGGRAPH Comput. Graph., 25:349358, July 1991. [6] C. Sunada, D. Argaez, S. Dubowsky, and C. Mavroidis. A coordinated jacobian transpose control for mobile multi-limbed robotic systems. Proceedings of the 1994 IEEE International Conference on Robotics and Automation, pages 19101915, 1994. [7] M. van de Panne. Parameterized gait synthesis. IEEE Comput. Graph. Appl., 16:4049, March 1996. [8] M. van de Panne. Locomotion skills for simulated quadrupeds, http://www.youtube.com/watch?v=dRthdBr46cs. Letzter Zugriff: 17.01.2012. 2011.

11