An efficient control over human running animation with extension of planar hopper model

10
THE JOURNAL OF VISUALIZATION AND COMPUTER ANIMATION J. Visual. Comput. Animat. 10, 215–224 (1999) vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv An Efficient Control over Human Running Animation with Extension of Planar Hopper Model By Young-Min Kang*, Hwan-Gue Cho and Ee-Taek Lee vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv The most important goal of character animation is to efficiently control the motions of a character. Until now, many techniques have been proposed for human gait animation. Some techniques have been created to control the emotions in gaits such as ‘tired walking’ and ‘brisk walking’ by using parameter interpolation or motion data mapping. Since it is very difficult to automate the control over the emotion of a motion, the emotions of a character model have been generated by creative animators. This paper proposes a human running model based on a one-legged planar hopper with a self-balancing mechanism. The proposed technique exploits genetic programming to optimize movement and can be easily adapted to various character models. We extend the energy minimization technique to generate various motions in accordance with emotional specifications. Copyright 1999 John Wiley & Sons, Ltd. Received July 1999 KEY WORDS: animation; human gait; genetic programming; energy control Introduction The most important goal of character animation is to efficiently control the characters. Many techniques for automatic motion generation have been proposed, but it is very difficult to control the motions of characters with those techniques. On the other hand, techniques which provide powerful control ability, such as the keyframe method, lead the motion creation to inefficient work. For a long time it has been the target of many researchers to find efficient control techniques which control the motions of characters with an automated process. 1 A common approach to character animation is to simulate the dynamics of an articulated figure. 13 This approach can generate plausible animation, since the motion is forced to fit the physical laws. However, dynamic simulation requires heavy computation and it is difficult to represent autonomous behaviours. Another technique, SAN (sensor–actuator network), exploits the neural network model. 4 Although this approach has the advantage that it requires no a priori knowledge of com- plicated motion equations, animators cannot predict the results. One disadvantage of this kind of automation technique is that it suffers from a lack of control over the detailed behaviour of characters. In this work we consider the animation of running humans. Many techniques have been proposed to simulate the motions of the human skeletal structure. 57 The straightforward approach of these techniques uses roto- scopy, which maps real motion data obtained by exper- iments to a skeletal model. This approach is very simple but it requires expensive hardware devices to obtain motion data of a real model. Raibert and Hodgins implemented ‘animation of dynamic legged locomotion’ with numerical integrating equations of motion derived from the physical models. 8 They exploited the hopper model developed in bio- mechanics to implement their running models such as biped and quadruped models. Another approach is to generate new motions with parameter interpolation or extrapolation of the given motion data. 9 For example, given two walking motions, tired walking and brisk walking, this technique can syn- thesize a more tired walking or a more brisk walking by *Correspondence to: Y.-M. Kang, Department of Computer Science, Pusan National University, Pusan 609-735, South Korea. E-mail: ymkang@pearl.cs.pusan.ac.kr Contract/grant sponsor: Electronics and Telecommunications Research Institute (ETRI). vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv CCC 1049–8907/99/040215–10$17.50 Copyright 1999 John Wiley & Sons, Ltd.

Transcript of An efficient control over human running animation with extension of planar hopper model

Page 1: An efficient control over human running animation with extension of planar hopper model

THE JOURNAL OF VISUALIZATION AND COMPUTER ANIMATIONJ. Visual. Comput. Animat. 10, 215–224 (1999)v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

An Efficient Control over HumanRuPla

By Yv v v v v

The mof aanimas ‘tidatamotianimplanagenetcharamoti& So

Receiv

KEY W

Theefficieautomverythoseprovimethlongfind eof ch

Asimulappromotiodynadifficutechn

*CorrePusanymkan

ConInstitu

v v v v v

Copy

nning Animation with Extension ofnar Hopper Model

oung-Min Kang*, Hwan-Gue Cho and Ee-Taek Leev v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

ost important goal of character animation is to efficiently control the motionscharacter. Until now, many techniques have been proposed for human gaitation. Some techniques have been created to control the emotions in gaits suchred walking’ and ‘brisk walking’ by using parameter interpolation or motionmapping. Since it is very difficult to automate the control over the emotion of aon, the emotions of a character model have been generated by creativeators. This paper proposes a human running model based on a one-leggedr hopper with a self-balancing mechanism. The proposed technique exploitsic programming to optimize movement and can be easily adapted to variouscter models. We extend the energy minimization technique to generate variousons in accordance with emotional specifications. Copyright � 1999 John Wileyns, Ltd.

ed July 1999

ORDS: animation; human gait; genetic programming; energy control

neadplretede

huthstrscimbum

dyeqThmbi

parameter interpolation or extrapolation of the givenmotion data.9 For example, given two walking motions,

spondence to: Y.-M. Kang, Department of Computer Science,National University, Pusan 609-735, South Korea. E-mail:

[email protected]

Introduction

most important goal of character animation is tontly control the characters. Many techniques foratic motion generation have been proposed, but it isdifficult to control the motions of characters withtechniques. On the other hand, techniques which

de powerful control ability, such as the keyframeod, lead the motion creation to inefficient work. For atime it has been the target of many researchers tofficient control techniques which control the motionsaracters with an automated process.1

common approach to character animation is toate the dynamics of an articulated figure.1–3 Thisach can generate plausible animation, since then is forced to fit the physical laws. However,

mic simulation requires heavy computation and it islt to represent autonomous behaviours. Anotherique, SAN (sensor–actuator network), exploits the

tirth

tract/grant sponsor: Electronics and Telecommunications Researchte (ETRI).

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

right � 1999 John Wiley & Sons, Ltd.

ural network model.4 Although this approach has thevantage that it requires no a priori knowledge of com-icated motion equations, animators cannot predict thesults. One disadvantage of this kind of automationchnique is that it suffers from a lack of control over thetailed behaviour of characters.In this work we consider the animation of runningmans. Many techniques have been proposed to simulatee motions of the human skeletal structure.5–7 Theaightforward approach of these techniques uses roto-opy, which maps real motion data obtained by exper-ents to a skeletal model. This approach is very simplet it requires expensive hardware devices to obtainotion data of a real model.Raibert and Hodgins implemented ‘animation ofnamic legged locomotion’ with numerical integratinguations of motion derived from the physical models.8

ey exploited the hopper model developed in bio-echanics to implement their running models such asped and quadruped models.Another approach is to generate new motions with

ed walking and brisk walking, this technique can syn-esize a more tired walking or a more brisk walking by

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

CCC 1049–8907/99/040215–10$17.50

Page 2: An efficient control over human running animation with extension of planar hopper model

extrapothat itdata. Tthe vircartoonmaticanimatadvantadapteimagin

Wheinto acessentiextensgraphi

motion using inverse kinematics.12 However, such

proaracters.

ur1teodneveoparaotec

Fig

Y.-M. KANG ET AL.

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

v v v v v v v

Copyrig

lating the given motion data. One disadvantage iscannot create any motions if there are no motionhus we cannot apply this animation technique totual or imaginary creatures that often appear in-like situations. This paper describes a new auto-

generation method and control of human runningion without any motion data. The most importantage of our control technique is that it can be easilyd to various characters such as animals and evenery characters.n animating characters, balance should be taken

count. The implementation of a balancing motion isal for realistic animation. Balancing has been studiedively in robotics.10,11 In the field of computercs, Boulic and Mas implemented the balancing

ch

O1inmosihpnm

Figure 2. System in

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

ht � 1999 John Wiley & Sons, Ltd. 216

hods require heavy computation.he running model presented in this paper is based onplanar hopper model, and a simple balancing techniquetroduced. The basic idea in our technique is that theion characteristics of a character can be dominated byrgy consumption, which can be a good parameteranimation. In order to find the optimized runningamics, we use the genetic programming approach,re each character model has its own ‘gene’ sequences.

ny works have shown good performance of the geneticgramming approach to the animation of virtual

13–15

metT

theis inmotenefordynwheMaure 1. Character model: (a) front view; (b) side view

System Overview

character model is shown in Figure 1. This model hasjoints with various degrees of freedom. The userrface of our system is shown in Figure 2. For theelling of the running motion, we first developed a

-legged planar hopper, which has been studied exten-ly in robotics;16 we then extended this one-leggedper to a two-legged planar hopper by adding moremeters. The realistic human running motion requiresonly realistic movements of legs but also a balancinghanism to support the upper body.

terface

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 215–224 (1999)

Page 3: An efficient control over human running animation with extension of planar hopper model

Tomode‘genetechnnatursystethe cmodeandcharamotiocontrcharathe pconsuselectthemor muwithamouconsu

Let uas a bone-l

splantioFO

a sdegrpeThaltStanding phase of one-legged hopper. Figure 5shows the four key elements that affect the trajectory ofthe hip during the standing phase (gravity g, horizontalvelocity x~, spring constant � and angle � between the legand the y axis). We assumed that the horizontal velocity x~is constant in running and that the vertical velocity y~ isdetermined by g and the spring force of the leg. Leth denote the time interval between two consecutive

HUMAN GAIT ANIMATION

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

v v v v v

Copy

provide conceptual control over the characterl, we regard a set of characteristic parameters as a

sequence’ and apply the genetic programmingique, which finds the optimal gene to animate aal-looking running motion. To generate motion, them creates a population of character models and forcesharacters to compete with each other. Each characterl has its own gene (parameters for a running model)runs forward according to its gene. After eachcter finishes its motion, the system evaluates then of each character. Since the basic idea of our

ol technique is that we can control the motions ofcters with energy consumption, the system evaluateserformance of each character based on its energymption. According to the evaluation, the systems the characters which have good genes and makesevolve by applying crossover between good genestation. Figure 3 shows the flow of motion generationconceptual parameters, speed and briskness (i.e. thent of energy that a user requires the character tome).

animation frames. The hip location (xt, yt) at time t isdescribed as

Running Model

Figure 3. System flow

where � is the angle between the leg and the y axis at

One-legged Hopper

s consider the one-legged hopper shown in Figure 4asic model for human running. The initial state of the

egged hopper is shown in Figure 4. This hopper is tim

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

right � 1999 John Wiley & Sons, Ltd. 217

sumed to move in the positive direction of the x axis.e length of the leg can vary in running, so the leg actse a spring if its length is shorter than the initial length.IP denotes the hip location of this hopper and FOOTnotes the foot location. The positions of the hip andot are described as (x, y) and ( fx, fy) respectively. Therameters determining the motion of the hopper includering constant (�), mass of hopper (m), length of leg (l),ding angle (�0) and horizontal velocity (x~). The loca-ns of the hip and foot at the initial state (HIP0 andOT0) are given as

HIP0= (� lsin �0, lcos �0)FOOT0= (0, 0) (1)

This running model consists of two alternating phases:tanding phase and a jumping phase. The standing phasenotes the time period when the foot is placed on theound ( fy=0) and the jumping phase denotes the timeriod when the foot is lifted above the ground ( fy>0).e running of the one-legged hopper can be described byernately repeating these two phases.

asThlikHdefopa

Figure 4. Initial state of one-legged hopper

t

e t. Although we assumed the horizontal velocity as a

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 215–224 (1999)

Page 4: An efficient control over human running animation with extension of planar hopper model

constadirectio

Thelengthlongerjumpinfor theincludejumpinof theThe neJumpjumpin

wherejumpinhip loct denothe jum

Theinitialheightphase.standinof jumsatisfiecalcula

heD

caetwteneum

F

gu

Y.-M. KANG ET AL.

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

v v v v v v v

Copyrig

nt, acceleration or deceleration in the horizontaln can be considered for more realistic motion.hopper should be in the standing phase if the legd is shorter than the initial leg length l. If d becomesthan l, the running phase is switched to the

g phase and the system calculates the key variablescreation of a jumping motion. These variablesT, which is the time to be taken during the

g phase. During the jumping phase the movementhip of the hopper is determined only by gravity.xt subsection will explain how to calculate T.

w

lobafoh

igure 5. Key elements determining standing phase

Fi

he

orO

tainghagnehe

he

ing phase of one-legged hopper. During theg phase the location of the hip can be calculated as

y~0 denotes the initial velocity of the hip in theg phase, y0 denotes the y co-ordinate value of theation at the starting time of the jumping phase andtes the current time variable after the initial time ofping phase.jumping time T is the time interval between the

jumping time and the time when y becomes theat which the hopper can switch to the standingThe height is the same as the initial height of theg phase. Thus yf, the height at the completion timeping, is lcos �0 and the jumping time T is t thats the equation y +y t+gt2/2=y . Thus T can be

TtotwfoFOSnpleoT

w

0 0 f

ted as the

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

ht � 1999 John Wiley & Sons, Ltd. 218

re c=yf–y0.uring the time interval T the hopper jumps and thetion of the hip is affected by gravity. The angleeen the leg and the y axis (�) is interpolated to be �0

r T. Figure 6 shows the running animation of the-legged hopper model which has a joint to represent aan leg.

re 6. Motion of one-legged hopper (h=0·005 s, l=2 m,x· =10 m s�1, �=3000, �0=�/4, m=50 kg)

Figure 7. Initial state of two-legged hopper

Two-legged Hopper

technique for the one-legged hopper can be extendedfit a two-legged hopper. As shown in Figure 7, a-legged hopper requires the additional parameter L

specifying an initial state. Note that L�

is defined asT�HIP.

nding phase of two-legged hopper. The run-of a two-legged hopper also consists of a standing

se and a jumping phase. During the standing phase theon the ground moves exactly the same as in the

-legged hopper. Let FOOTa denote the lifted foot.location ( fxa

, fya) of FOOTa is calculated as

f~xa=x~Sx

f~ya=y~Sy (5)

re x~ and y~ are the horizontal and vertical velocities of

hip respectively. Sx and Sy are the scale parameters for

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 215–224 (1999)

Page 5: An efficient control over human running animation with extension of planar hopper model

x~ andgenelaterJuming ptimestandthe nleg innextthe in

wherJOINbetwdenoand �of jum

Bl(tionwhenBl(t)=Bc(t)

wher�>0·�=0·mumonicawholthe mwholby coandtwo-l

Balancing the Upper Body

Figurx· =5

HUMAN GAIT ANIMATION

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

v v v v v

Copy

y~ and are calculated automatically during the motionration process. To compute suitable Sx and Sy, we willdefine the connectivity �.

ping phase of two-legged hopper. In the jump-hase the angles of the joints are interpolated duringinterval T. The angles of the lifted leg in the previousing phase must be changed to support the body inext standing phase, and the angles of the supporting

the previous standing phase must be lifted in thestanding phase. The following equations are used forterpolation of the angles:

�lt=�l0

+ (�lT��l0

)Bl(t)�ct

=�c0+ (�cT

��c0)Bc(t) (6)

e �ltdenotes the angle between the vectors

T�HIP and FOOT�HIP, and �ctis the angle

een HIP�FOOT and the y axis at time t. �l0and �c0

te the angles at time 0, the beginning of jumping. �lT

cTdenotes the angles at time T, the completion time

ping.t) and Bc(t) which were used in the above interpola-equation are functions of t, and both are set to zero

t=0 and to one when t=T. Bl(t) is defined ast/T to linearly interpolate �l0

and �lTduring time T.

is defined as

e � is a parameter that controls the maximum (if5) or minimum (if �<0·5) value of Bc(t) to be �T. If9, the difference between �ct

and �c0becomes maxi-

when t=0·9T. If we set �=1, Bc(t) increases monot-lly and keeps ��ct

��c0� greater than ��cf

��c0� in the

e jumping phase. Therefore this parameter determinesovements of the legs in the jumping phase. The

e motion of the two-legged hopper is determinedntrol parameters which include l, x~, �, �0, m, �, Sx, Sy

L�

. Figure 8 shows the running animation of the

ground in the standing phase. For physically correctmotion we should consider the zero-moment point (ZMP)rather than the centre of mass. However, we just consid-ered the centre of mass for simplicity, because the goal ofour work is not to simulate the physically correct motionof humans or animals but simply to generate plausibleanimation.

In the jumping phase the target centre of mass iscalculated by interpolating the two feet in accordance withtime t. The target centre of mass can be calculated as

CMtar=FOOTi (8)

if mode is STANDING

CMtar=FOOTi+ (FOOTa�FOOTi)t/T

if mode is JUMPING

Note that t is the time variable and T is the total timeneeded for the jumping phase. The current centre of masscan be calculated as

where Mi denotes the mass of each point, Li denotes thelocation of each point and n denotes the number of points.We define the error between the current centre of massand the target centre of mass as

��

=CMtar�CMcur (10)

where �x and �z denote the x axis and z axis componentsof �

�respectively. When �x is positive, i.e. the target

centre of mass is in front of the current centre of mass inthe x axis direction, the body must bend forward to make

In order to animate natural human running, it is importantto make a balanced posture according to the movementsof the arms, shoulders and legs. The movement of theupper body is decomposed into gravitational movement(passive) and human muscular movement (active).

e 8. Movement of two-legged hopper (h=0·01 s, l=1·5 m,m s�1, �=9000, �0=�/6, m=50 kg, �=0·9, Sx=1·5,

Sy=1·0)

To balance the upper body, we defined the target centre

of mass and the current centre of mass. The target centreof mass is the location where the centre of mass of thecharacter should be located, and the current centre of massis the actual centre of mass of the character. The targetcentre of mass is assumed to be the foot placed on the

egged hopper. a stable posture. In other words, the body needs more

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

right � 1999 John Wiley & Sons, Ltd. J. Visual. Comput. Animat. 10: 215–224 (1999)219

Page 6: An efficient control over human running animation with extension of planar hopper model

rotation about the z axis. Let zdb denote the rotation aboutthe z axis to compensate the error; then the degree ofrotation of the body about the z axis, Zb should be

where Z~btand Z}bt

are the angular velocity and angularacceleration of Zb at time t respectively. zdbt

was used tomove the current centre of mass to the position of thetarget centre. This zdbt

enables the character to take arealistic balancing motion. In this paper we simply definedzdb as

where h is the time interval between two consecutiveframes, x~ is the horizontal velocity and the parameter �controls the sensitivity to the error. If � increases, thecharacter becomes more sensitive to the error and thebalancing effect works rapidly. To simulate the balancingmotion, other joints also respond to the error. Forexample, the body also responds to �z, and the responsecan be expressed as xdbt

=�(���)h/x~ to make the bodyrotate about the x axis. Figures 9 and 10 show the resultsof our balancing technique with �=5 and different vel-ocities from time ts to te, where the body and arms areforced to balance the motion.

We tested this balancing technique with a staggeringwalk. In the staggering motion a character spends ashorter time when the staggering leg is supporting thewhole body compared with when the other leg is support-ing it. The result is shown in Figure 11. We can see thatthe centre of mass is biased to the leg that is not

stagtargbrokmas

Ourmingspecexprvariom, �

In(x~) ofixedparapredrandtheanimatesgenerunnevolrepeprocanim

Figure 9. Balancing motion (�=5, x~=1)

Figure 10. Balancing motion (�=5, x~=5)

Figure 11. Balancing with a staggering leg

Figure 12. Trajectory path of centre of mass (�=5, x~=2)

Y.-M. KANG ET AL.

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright � 1999 John Wiley & Sons, Ltd. 220

gering. Figure 12 shows the trajectory path along theet centre of mass and the current centre of mass. Theen line shows the trajectory of the target centre of

s and the full line is the path of the actual centre.

Motion Optimization

control strategy is to exploit the genetic program-technique to find the optimized motion for a given

ification of an animator. The motion of a character isessed as a ‘gene sequence’. Each gene consists ofus parameters for a running model, such as l, x~, �, �0,, Sx, Sy, L

�and �.

the case where a user defines the horizontal velocityf a character, the genes expressing the velocity are

in accordance with the specified velocity. Othermeters such as length of the legs and mass are set asefined values. The other variable parameters are setomly. As the genetic programming process evolves,parameters are optimized to fit the motion that theator wants. After the input phase the system gener-a population of character models with various initialsequences for evolution. Each character executes a

ing motion according to its own gene, and the systemves the motions of character to find better motions byated crossover and mutation. This simulated evolutioness generates the optimal motion to match theator’s intention.

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 215–224 (1999)

Page 7: An efficient control over human running animation with extension of planar hopper model

Gene Evaluation

Werelatebeforcharaeachrandosequeseque

Sincomping pAfterevalunaturconnTo mwesmoo

wherjointthe stioncalcuendinthe itith jovelocphaseith joEr isdividnaturminimusingsmallconnenergto mprogr

HUMAN GAIT ANIMATION

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

v v v v v

Copy

consider the case where the user specification isd only to the horizontal velocity. As mentionede, if a user specifies the horizontal velocity of acter, the gene element which defines the velocity ofcharacter is fixed and other parameters are createdmly. A large number of randomly created gene

The function eval(�, Er) is minimized when � and Er areminimal. The value of eval(�, Er) goes to one when thetwo values � and Er become infinite. After evaluation of agene with this function, genetic programming selects thesuperior model, which runs more naturally with lessenergy, to produce the next generation of characters.

nces show physically impossible motion. Such genences are eliminated from the population.ce running motion is cyclic, the motion needed foretition and evaluation is only from the initial stand-hase to the beginning of the next standing phase.each character executes its own motion, the system

ates the motion. For evaluation we consider ‘howally the standing phase and jumping phase areected’ and ‘how much energy has been consumed’.easure the connectivity and the energy consumed,defined the degree of connectivity (motionthness) � and the energy consumption rate Er as

e �~jiand �~si

denote the angular velocities of the ithat the beginning of the jumping phase and the end oftanding phase respectively, �}si

is the angular accelera-at the end of the standing phase, ts, used in thelation of Er, is the starting time of running, tf is theg time of running, �}it

is the angular acceleration ofh joint at time t, and Ii is the moment of inertia of theint. The connectivity � is zero if the expected angularity of the ith joint at the beginning of the jumping(�~si

+�}sih) equals the actual angular velocity of the

int at that moment (�~ji). The energy consumption rate

defined as the integration of energy from time ts to tfed by the translation distance. We assumed that aal motion is generated when these two values areized. Therefore we evaluate a model with � and Er

eval(�, Er). If the value of the function eval(�, Er) is, the standing phase and the jumping phase areected smoothly and the character consumes lessy. We drive the evolution of the character modelinimize the value of eval(�, Er) using geneticamming. Here eval(�, Er) is described as

Mcocoemcom‘tien

crrath

wsuEr

fu=matraus=mm‘titioeff

Wth

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

right � 1999 John Wiley & Sons, Ltd. 221

Emotion Control with an EnergyConstraint

inimizing the energy consumed and the angular velocitynnectivity � produces a natural-looking motion. We canntrol the motions of the character and express theotions of the character by controlling the energy

nsumption rate. This idea is based on the fact that ‘briskotion’ uses more energy than the optimized motion, andred motion’ can be generated by providing the leastergy for movement.Instead of minimizing the energy consumption, we can

eate emotions by controlling the energy consumptionte. To control the energy consumption rate, we modifye evaluation function as

here is a parameter for controlling the energy con-mption rate. Note that 0�<1. E is the replacement forin the previous eval(�, Er) function. Our new evaluation

nction is needed to minimize the values of � and E. If0, E is minimized when Er=0. As increases, Er

inimizing E also increases. Therefore, using this evalu-ion function, we can control the energy consumptionte of the character. If we want to make a character moveing the optimal energy consumption rate, we must set

0. If we want to make a character move briskly, weust increase to make the character move consumingore energy. However, it seems to be hard to generate thered’ motion only by minimizing the energy consump-n. We think that some other physical or physiologicalects should be considered to create a tired motion.

Experimental Results

e implemented this animation system using C+ + and

e Open Inventor library with SGI Indigo2. Figure 13 and

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 215–224 (1999)

Page 8: An efficient control over human running animation with extension of planar hopper model

14 shparameamoun14 illusbeen ga characontro

If thoptimiminimi

btnspIneclaotap=Fp

Figure

Figure

gu

gu

Y.-M. KANG ET AL.

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

v v v v v v v

Copyrig

ow that the energy can be used as a controlter. Figure 13 illustrates the result when a smallt of energy has been given to the character. Figuretrates the result when a large amount of energy hasiven to the character. We can control the motion ofcter to look tired (Figure 13) or brisk (Figure 14) bylling the energy consumption.e speed parameter is used, we can generate the

zed motion for the specified speed with energy

ocore

caspamsn(x~

ap

Figure 13. Tired walk

Figure 14. Brisk walk

15. Optimized motion for a given speed x~=2 m s�1

(�=5, �=0)

16. Optimized motion for a given speed x~=5 m s�1

(�=5, �=0)

Fi

Fi

zation. Figures 15 and 16 are optimized motions slig

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

ht � 1999 John Wiley & Sons, Ltd. 222

ained by minimizing the connectivity � and the energysumption rate Er with velocities x~=2 and 5 m s�1

ectively.nstead of minimizing the energy consumption rate, wecontrol the energy consumption rate of a character. Byifying a character to run at a certain speed and spendrge amount of energy, we obtain a brisk runningion at the specified speed. Figures 17 and 18 areshots of motions generated with the same velocity10 m s�1) but different values.igures 19 and 20 show the fact that our controlroach can be easily applied to various characters. We

Figure 17. Normal running (�=0·2, x~=10 m s�1)

Figure 18. Brisk running (�=0·7, x~=10 m s�1)

re 19. Normal running of a puppy model (�=0·0, x~=3 m s�1)

re 20. Brisk running of a puppy model (�=0·9, x~=3 m s�1)

htly modified our human running model to implement

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 215–224 (1999)

Page 9: An efficient control over human running animation with extension of planar hopper model

the running model of quadruped animals and applied thesamecharaand F

C

In thcreattionparadhumaprovimotiooughgenegeneto menergcreatcreatactio

Thrunnispeciing a

� Itanmpl

� Nba

� Abecrprw

Ourvarioworkconst

ThisTelec

would like to thank the reviewers for their constructivecomments for the revision process.

HUMAN GAIT ANIMATION

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

v v v v v

Copy

control technique to the energy consumption of acter. Figure 19 shows the normal running of a puppyigure 20 shows the brisk running of a puppy.

onclusion and Future Work

is paper we have presented a new technique foring human running animation with energy consump-rate control by applying a genetic programmingigm. This technique enables animators to controln running motion with high-level commands anddes a plausible balancing technique for realisticn. The motion of a character is determined thor-

ly by its own gene sequence. By searching an optimalfor minimizing the energy consumption rate, we can

rate realistic motion. This technique can be extendedanipulate emotions or motions by parametrizing they consumption rate. Using this technique, we could

e the motions of a character based on emotions, e.g.ing ‘brisk running’ by providing abundant energy forn.is technique enables an animator to efficiently createng motion of human structures without detailedfications for each joint. Our technique has the follow-dvantages.

provides a high-level control over human runningimation. An animator can easily generate runningotion without any particular knowledge of the com-icated dynamics of running.o motion data are needed for generating emotion-sed motion.fter some optimal genes are obtained for interestinghaviour in an off-line simulation, we can animate aeature in real time by making it move with the geneseviously obtained. Also, by combining these genes,e can easily synthesize other motions.

technique does not sufficiently provide users withus methods to edit the motion of characters. Futurewill include an extension that enables users to edit orrain the motion of characters.

ro

v

r

References

1. J. K. Hahn, ‘Realistic animation of rigid bodies’, ComputerGraphics (Proceedings of SIGGRAPH, 22, 207–216 (1988).

2. A. Witkin and M. Kass, ‘Spacetime constraints’, ComputerGraphics (Proceedings of SIGGRAPH, 22, 159–168 (1988).

3. J. T. Ngo and J. Marks, ‘Spacetime constraints revisited’,Computer Graphics (Proceedings of SIGGRAPH, 27, 343–350(1993).

4. M. van de Panne and E. Fiume, ‘Sensor–actuator networks’,Computer Graphics (Proceedings of SIGGRAPH, 27, 335–342(1993).

5. A. Brudelin and T. W. Calvert, ‘Goal-directed, dynamicanimation of human walking’, Computer Graphics (Proceedingsof SIGGRAPH, 23, 233–242 (1989).

6. J. K. Hodgins, W. L. Wooten, D. C. Brogan and J. F. O’Brien,‘Animating human athletics’, Computer Graphics (Proceedingsof SIGGRAPH, 29, 8–14 (1995).

7. M. van de Panne, ‘Parameterized gait synthesis’, IEEEComputer Graphics and Applications, 16(2), 40–49 (1996).

8. M. H. Raibert and J. K. Hodgins, ‘Animation of dynamiclegged locomotion’, Computer Graphics (Proceedings ofSIGGRAPH, 25, 349–358 (1991).

9. M. Unuma, K. Anjyo and R. Takeuchi, ‘Fourier principles foremotion-based human figure animation’, Computer Graphics(Proceedings of SIGGRAPH, 29, 91–96 (1995).

10. S. Brown and K. Passino, ‘Intelligent control for an acrobat’,Journal of Intelligent and Robotic Systems, 18, 209–248 (1997).

11. A. D. Kuo, ‘An optimal control model for analyzing humanpostural balance’, IEEE Transactions on Biomedical Engineering,BE-42, 87–101 (1995).

12. R. Boulic and R. Mas, ‘Hierarchical kinematic behaviors forcomplex articulated figures, in M. Thalmann and D.Thalmann (eds), Interactive Computer Animation, Prentice-Hall,Englewood Cliffs, NJ, 1996, pp. 40–70.

13. L. Gritz and J. K. Hahn, ‘Genetic programming for articulatedfigure motion’, The Journal of Visualization and ComputerAnimation, 6, 129–142 (1988).

14. K. Sims, ‘Evolving virtual creatures’, Computer Graphics(Proceedings of SIGGRAPH, 28, 15–22 (1994).

15. J. Ventrella, ‘Disney meets Darwin: the evolution of funnyanimated figures’, Proceedings of Computer Animation ’95,1995, pp. 35–43.

16. C. Francois and C. Samson, ‘Running with constant energy’,in Proceedings of the IEEE International Conference on Roboticsand Automation, Vol. 1, IEEE, New York, 1994, pp. 131–136.

ACKNOWLEDGMENTS

esearch was supported in part by the Electronics andmmunications Research Institute (ETRI). The authors

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

ight � 1999 John Wiley & Sons, Ltd. 223

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 215–224 (1999)

Page 10: An efficient control over human running animation with extension of planar hopper model

Authors’ biographies

YoungCompuand MUniversincludeworking

Hwan-statistic1984. HscienceTechnobeen wUniversInstitutare algorently hespecia

-ToreSc8Rdvcluoc

Y.-M. KANG ET AL.

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

v v v v v v v

Copyrig

-Min Kang is a PhD student in the Department ofter Science at Pusan National University. He received BScSc degrees in computer science from Pusan Nationality in 1996 and 1999 respectively. His research interestscomputer animation and simulation. He is currentlyon simulation and animation of flexible objects.

Gue Cho received a BSc degree in computer science ands from Seoul National University, Seoul, South Korea ine also received MSc and PhD degrees in computer

from KAIST (Korea Advanced Institute of Science andlogy) in 1986 and 1990 respectively. Since 1990 he hasith the Department of Computer Science, Pusan Nationality. In 1994 he was a visiting scholar at the Max Planck

e for Informatics in Saarbrucken. His main research topicsrithm design/analysis and computational geometry. Cur-e works on flexible object animation and bioinformatics,

lly phylogenetics.

Ee(KHM19ETandeinpr

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

ht � 1999 John Wiley & Sons, Ltd. 224

aek Lee received a PhD degree in electronics from KAISTea Advanced Institute of Science and Technology) in 1996.also received a BSc degree in engineering education and an

degree in electronics from Seoul National University in7 and 1980 respectively. Dr Lee has been a staff researcher atI (Electronics and Telecommunications Research Institute)is currently the chief executive of the VR research and

elopment centre at ETRI. His most recent research focusdes virtual reality systems, computer animation, imageessing/compression and biometric authentication.

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 215–224 (1999)