8
Footstep Navigation for Dynamic Crowds Shawn Singh Mubbasir Kapadia Glenn Reinman Petros Faloutsos University of California, Los Angeles Abstract The majority of steering algorithms output only a force or velocity vector to an animation system, without modeling the constraints and capabilities of human-like movement. This sim- plistic approach lacks control over how a char- acter should navigate. This paper proposes a steering method that uses footsteps to navigate characters in dynamic crowds. Instead of an ori- ented particle with a single collision radius, we model a character’s center of mass and footsteps using a 2D approximation of an inverted spheri- cal pendulum model of bipedal locomotion. We use this model to generate a timed sequence of footsteps that existing animation techniques can follow exactly. Our approach not only con- strains characters to navigate with realistic steps but also enables characters to intelligently con- trol subtle navigation behaviors that are possi- ble with exact footsteps, such as side-stepping. Our approach can navigate crowds of hundreds of individual characters with collision-free, nat- ural steering decisions in real-time. 1 Introduction The majority of previous steering algorithms represent a character as an oriented particle that moves by choosing a force or velocity vector. Often, orientation is heuristically chosen to be the particle’s velocity. This approach has the two key disadvantages: Limited locomotion constraints: Most steer- ing algorithms do not account for constraints of real human movement. Trajectories may have discontinuous velocities, oscillations, awkward orientations, or may try to move a character un- naturally, and these side-effects make it harder to animate the character intelligently. Limited navigation control: It is common to assume that an animation system will know how to interpret a vector-based steering decision. In practice, a vector does not have enough informa- tion to indicate appropriate maneuvers, such as side-stepping versus reorienting the torso, step- ping backwards versus turning around, planting a foot to change momentum quickly, or carefully placing steps in exact locations. We propose to generate sequences of foot- steps as the output of navigation. Since there are already several animation techniques that can animate a character to follow timed footsteps exactly, e.g. [1, 2, 3, 4, 5, 6], the main chal- lenge and focus of our work is how to generate footsteps as the output of navigation. Footsteps are an intuitive abstraction for most locomotion tasks, and they provide precise, unambiguous spatial and timing information to animation. In our system, each step is defined by a 2D parabolic trajectory that approximates the mo- tion of a 3D inverted pendulum. The loca- tion, orientation, and timing of footsteps are de- rived from the these trajectories. We use a best- first search to plan a sequence of space-time parabolic trajectories and the associated foot- steps that avoids time-varying collisions, sat- isfies footstep constraints for natural locomo- tion, and minimizes the effort to reach a lo- cal goal. Characters successfully avoid colli- sions with each other and choose steps that cor- respond to natural and fluid motion, including precise timing. Because the most significant biomechanics constraints are already taken into

Footstep Navigation for Dynamic Crowds - York …pfal/Petros_Faloutsos/Publications...model a character’s center of mass and footsteps using a 2D approximation of an inverted spheri-cal

  • Upload
    phamtu

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Footstep Navigation for Dynamic Crowds - York …pfal/Petros_Faloutsos/Publications...model a character’s center of mass and footsteps using a 2D approximation of an inverted spheri-cal

Footstep Navigation for Dynamic Crowds

Shawn Singh Mubbasir Kapadia Glenn ReinmanPetros Faloutsos

University of California, Los Angeles

Abstract

The majority of steering algorithms outputonly a force or velocity vector to an animationsystem, without modeling the constraints andcapabilities of human-like movement. This sim-plistic approach lacks control over how a char-acter should navigate. This paper proposes asteering method that usesfootsteps to navigatecharacters in dynamic crowds. Instead of an ori-ented particle with a single collision radius, wemodel a character’s center of mass and footstepsusing a 2D approximation of an inverted spheri-cal pendulum model of bipedal locomotion. Weuse this model to generate a timed sequenceof footsteps that existing animation techniquescan follow exactly. Our approach not only con-strains characters to navigate with realistic stepsbut also enables characters to intelligently con-trol subtlenavigation behaviors that are possi-ble with exact footsteps, such as side-stepping.Our approach can navigate crowds of hundredsof individual characters with collision-free, nat-ural steering decisions in real-time.

1 Introduction

The majority of previous steering algorithmsrepresent a character as an oriented particle thatmoves by choosing a force or velocity vector.Often, orientation is heuristically chosen to bethe particle’s velocity. This approach has thetwo key disadvantages:

Limited locomotion constraints: Most steer-ing algorithms do not account for constraints ofreal human movement. Trajectories may havediscontinuous velocities, oscillations, awkward

orientations, or may try to move a character un-naturally, and these side-effects make it harderto animate the character intelligently.

Limited navigation control: It is common toassume that an animation system will know howto interpret a vector-based steering decision. Inpractice, a vector does not have enough informa-tion to indicate appropriate maneuvers, such asside-stepping versus reorienting the torso, step-ping backwards versus turning around, plantinga foot to change momentum quickly, or carefullyplacing steps in exact locations.

We propose to generate sequences of foot-steps as the output of navigation. Since there arealready several animation techniques that cananimate a character to follow timed footstepsexactly, e.g. [1, 2, 3, 4, 5, 6], the main chal-lenge and focus of our work is how togeneratefootsteps as the output of navigation. Footstepsare an intuitive abstraction for most locomotiontasks, and they provide precise, unambiguousspatial and timing information to animation.

In our system, each step is defined by a 2Dparabolic trajectory that approximates the mo-tion of a 3D inverted pendulum. The loca-tion, orientation, and timing of footsteps are de-rived from the these trajectories. We use a best-first search to plan a sequence of space-timeparabolic trajectories and the associated foot-steps that avoids time-varying collisions, sat-isfies footstep constraints for natural locomo-tion, and minimizes the effort to reach a lo-cal goal. Characters successfully avoid colli-sions with each other and choose steps that cor-respond to natural and fluid motion, includingprecise timing. Because the most significantbiomechanics constraints are already taken into

Page 2: Footstep Navigation for Dynamic Crowds - York …pfal/Petros_Faloutsos/Publications...model a character’s center of mass and footsteps using a 2D approximation of an inverted spheri-cal

account in our model, integrating our resultswith an existing animation algorithm that fol-lows footsteps is straightforward and results innavigation that is often richer and less awkwardthan vector-based navigation.Contributions. This paper presents a newapproach to steering in dynamic crowds thatuses a simple biomechanically-based footstepmodel combined with space-time planning. Ourwork demonstrates that a steering algorithm canhave better navigation features than a vector in-terface, while still retaining fast performance.These features include: short-term space-timeplanning, dynamic collision bounds, appropriatemovement constraints, and more precise naviga-tion control. Because substantial work alreadyexists to animate characters to follow exact foot-steps including timing information, we focus onthe navigation: how to generate biomechani-cally plausible footsteps for dynamic crowds.

2 Related Work

Two widely accepted strategies are (1) the socialforces model [7], which associates a small forcefield around agents and obstacles, and (2) thesteering behaviors model [8], where forces areprocedurally computed to perform desired func-tions such as seek, flee, pursuit, evasion, andcollision avoidance. Many works are exten-sions or elaborations of these two ideas, e.g.,[9, 10, 11, 12, 13, 14, 15]. A more completesurvey of collision avoidance, navigation, andcrowd simulation work can be found in [16].The common theme in these works is the use offorce or velocity vectors as navigation decisions,which has the limitations described above.

Only a few steering techniques take into ac-count locomotion constraints that an animationsystem will have. Paris and Donikian [17]demonstrate a framework where the animationmodule can potentially tell steering that an ac-tion is not plausible. Musse and Thalmann [18]and Shao and Terzopoulos [19] both addresshigher-level aspects of pedestrians, and theirnavigation modules output a choice from a setof navigation behaviors that correspond directlyto animations the character can produce. VanBasten and Egges [20] discuss problems of in-terfacing navigation with animation, proposing

abstractions that reduce such discrepancies.Another approach to navigation is to plan se-

quences of motion clips,e.g., [21] demonstratedthis is possible in real-time for crowds, by pre-computing a tree of all possible sequences ofmotion clips. However, a large number of mo-tion clips would be needed to emulate the ver-satility of far fewer stepping options. The tech-nique of precomputing a search tree can also beapplied to our footstep planner, but our approachis scalable even without this extension.Footsteps. Several animation techniques, aca-demic and commercial, canfollow a given se-quence of footsteps [1, 2, 3, 4, 5, 6], and more.Animation methods in these works include for-ward and inverse kinematics, physically basedcontrol, and motion capture.

The challenge ofgenerating footsteps has sofar only been explored for single characters instatic environments. Research in robotics [22,23, 24, 25, 26] explores autonomous foot-placement to avoid obstacles while navigatingtowards a goal. Their focus is practical robotcontrol, and so they do not consider issues ofreal human locomotion. Torkos and Van dePanne [1] generate footsteps to randomly wan-der, changing direction if nearby objects are tooclose, used to demonstrate their animation sys-tem. Chung and Hahn [2] input a trajectory,and generate footsteps by aligning eacj step tothe orientation of the trajectory, with smallerfootsteps around curves. Choi et al. [27] useroadmaps to plan sequences of steps, choos-ing from steps that are possible with the givenmotion clips and requiring costly roadmap con-struction and footstep verification. [28] proposea hierarchical planning approach that computesfull-body motion including footsteps for tasks inhighly constrained environments. Recently sev-eral papers have considered footsteps as a wayof guiding controllers for physically-based char-acter animations [3, 29].

3 Footstep Model

The primary data structure in our model is afootstep, which includes: (1) the position, veloc-ity, and timing of the character’s center of masstrajectory, (2) the location and orientation of thefoot, and (3) the cost of taking the step. In this

Page 3: Footstep Navigation for Dynamic Crowds - York …pfal/Petros_Faloutsos/Publications...model a character’s center of mass and footsteps using a 2D approximation of an inverted spheri-cal

(a) (b) (c)

Figure 1:Our footstep model.(a) Depiction of state and action parameters.(b) A sagittal view of the pendulum modelused to estimate energy costs.(c) The collision model uses 5 circles that track the torso and feet over time,allowing tighter configurations than a single coarse radius.

section, we describe these aspects of a footstep,as well as the constraints for choosing footsteps.Center of mass trajectory. The analogy be-tween human locomotion and the inverted pen-dulum is well known [30]; the pendulum pivotrepresents a point on or near a footstep, whilethe pendulum mass represents a character’s cen-ter of mass. We define a 2D analytical approxi-mation to the dynamics of an inverted sphericalpendulum using parabolas. Piecewise paraboliccurves are enough to capture the variety of tra-jectories that a human’s center of mass willhave: varying curvature, speed, and step sizes.Each step is a parabola defined with the follow-ing parameters in local space:

(x(t), y(t), x(t), y(t)) =(

vx0t, αt2, vx0

, 2αt)

,

(1)such that bothvx0

andα are positive.Equation 1 allows us toanalytically evaluate

the position and velocity of a character’s centerof mass at any timet. This makes it practicalto search through many possible trajectories formany characters in real-time.

3.1 Footstep actions

The state of the characters ∈ S is defined asfollows (Figure 1a):

s = {(x, y), (x, y), (fx, fy), fφ, I ∈ {L,R}},

where(x, y) and(x, y) are the position and ve-locity of the center of mass of the character at theend of the step,(fx, fy) andfφ are the locationand orientation of the foot, andI is an indicatorof which foot (left or right) is taking the step.

The state spaceS is the set of valid states thatsatisfy the constraints described below.

A footstep action determines the nextparabolic trajectory, defined asa ∈ A:

a = {φ, vdesired, T},

where φ is the desired orientation of theparabola,vdesired is the desired initial speed ofthe center of mass, andT is the desired timeduration of the step. The action spaceA isthe set of valid footstep actions, where the in-put and output states are both valid. Note thatwhen the character’s previous step is fixed, vary-ing φ directly affects the width of the parabolictrajectory, thus allowing a large variety of stepchoices.

A key aspect of the model is the transitionfunction, s′= createFootstep(s, a). This func-tion receives a desired footstep actiona and astates and returns a new states′ if the actionis valid. It is implemented as follows. First,φ,which indicates the orientation of the parabola,is used to compute a transform from world spaceto local parabola space. Then, the direction ofvelocity (x, y) from the end of the previous stepis transformed into local space, normalized, andre-scaled by the desired speedvdesired. With thislocal desired velocity, there is enough informa-tion to solve forα, and then Equation 1 is usedto compute(x, y) and (x, y) at the end of thenext step. In local space, the foot location isalways located at(fx, fy) = (0,−d), whered

is describes the distance between a character’sfoot and center at rest. Finally, all state informa-tion is transformed back into world space, whichserves as the input to create the next footstep.

Page 4: Footstep Navigation for Dynamic Crowds - York …pfal/Petros_Faloutsos/Publications...model a character’s center of mass and footsteps using a 2D approximation of an inverted spheri-cal

Figure 2:An interval of valid foot orientations (the blueand green feet) is maintained for each step,constrained by the previous step (red foot) andthe chosen trajectory (red line).

3.2 Locomotion constraints

Biomechanical properties. Several proper-ties of human locomotion are automatically en-forced by the definition of our model. The piece-wise parabola will be G-1 continuous, and thecenter of mass will remain between the two feetby enforcing the local-space parabola remainspositive. Our footstep model offers a numberof intuitive parameters with meaningful defaultsand well-defined physical meaning. These pa-rameters include the height of the character’scenter of mass, the min, max, and preferred steptiming and stride length, the preferred and maxvelocities of the character’s walk, the interval ofvalid foot orientations, et al. If these constraintsare violated, the footstep is considered invalid.A user can modify these parameters to createnew locomotion styles. For example, restrictingthe valid range of step timing and output veloc-ity for one foot results in asymmetric limping,like an injured character.

Footstep orientation. Intuitively, it may seemthat footstep orientations must be an additionalcontrol parameter when creating a footstep.However, the choice of footstep orientation hasno direct effect on the dynamics of the cen-ter of mass trajectory; the foot orientation onlyconstrains the options for current trajectory andfuture footsteps. This is a key aspect to ourmodel’s efficiency – instead of increasing the di-mensionality of our search space to include footorientation, we use orientation to constrain thesearch space of a lower dimensional system.

To implement this constraint, we compute aninterval [fφinner, fφouter] of valid foot orientations.This interval is constrained by the same intervalfrom the previous step, and further constrainedby the parabola orientationφ used to create the

next footstep (Figure 2):

[fφnext inner, fφnext outer] = [fφprev outer, fφprev inner+π

2]∩[φ, atan2(y, x)].

If this intersection becomes an empty set, thatimplies that no foot orientation can satisfy thestep constraints, so the step is invalid. Note theordering of bounds in these intervals; the nextfoot’s outer bound is constrained by the previ-ous foot’s inner bound. In words, the interval[φ, atan2(y, x)] describes two constraints: (1)the character would not choose a foot orienta-tion that puts his center of mass on the outerside of the foot, (2) a human would rarely orientthe next step more outwards than the direction ofmomentum; violating this constraint would putthe character’s center of mass on the wrong sideof the foot. The exact orientation is chosen as afast postprocess, described below.Space-time collision model. For any givenfootstep, our model computes thetime-varyingcollision bounds of the character at any exacttime. To determine if a footstep causes a col-lision, we iterate over several time-steps withinthe footstep and query the collision bounds ofnearby characters for that time. The collisionbounds are five circles, depicted in Figure 1c.Each circle associated with a foot exists whilethe foot is planted on the ground. The three cir-cles associated with the torso are placed on thecenter of mass, which moves along the parabolaover several time-steps. If any of these circlescollide with an obstacle or another character’scircles, the footstep is considered invalid.

3.3 Cost function

We define the cost of a given step as the en-ergy spent to execute the footstep action. Wemodel three forms of energy expenditure for astep: (1)∆E1, a fixed rate of energy the charac-ter spends per unit time, (2)∆E2, the work spentdue to ground reaction forces to achieve the de-sired speed, and (3)∆E3, the work spent dueto ground reaction forces accelerating the centerof mass along the trajectory. The total cost of afootstep action transitioning a character fromsto s′ is given by:

c(s, s′) = ∆E1 + ∆E2 + ∆E3. (2)

Fixed energy rate.The user defines a fixed rateof energy spent per second, denoted asR. For

Page 5: Footstep Navigation for Dynamic Crowds - York …pfal/Petros_Faloutsos/Publications...model a character’s center of mass and footsteps using a 2D approximation of an inverted spheri-cal

each step, this energy rate is multiplied by thetime duration of the stepT to compute the cost:

∆E1 = R · T. (3)

This cost is proportional to the the amount oftime it takes to reach the goal, and thus mini-mizing this cost corresponds to the character try-ing to minimize the time it spends walking tohis goal. We found that good values forR areroughly proportional to the character’s mass.Ground reaction forces.As a character pushesagainst the ground, the ground exerts equal andopposite forces on the character. We model threeaspects of ground reaction forces that are ex-erted on the character’s center of mass, fromthe study of biomechanics. The geometry andnotation of the cost model is shown in Fig-ure 1b. First, at the beginning of a new step(heel-strike), some of the character’s momentumdissipates into the ground. We estimate this asan instantaneous loss of momentum along thependulum shaft, reducing the character’s speedfrom v0 to v0 cos(2θ). In order to resume a de-sired speed, the character actively exerts addi-tional work on his center of mass, computed as:

∆E2 =m

2

∣(vdesired)2 − (v0 cos(2θ))2

∣ . (4)

This cost measures the effort required to choosea certain speed. At every step, some energy isdissipated into the ground, and if a characterwants to maintain a certain speed, it must ac-tively add the same amount of energy back intothe system. On the other hand, not all energydissipates from the system after a step, so if thecharacter wants to come to an immediate stop,the character also requires work to remove en-ergy from the system. Minimizing this cost cor-responds to finding footsteps that require less ef-fort, and thus tend to look more natural. Fur-thermore, when walking with excessively largesteps,cos(2θ) becomes smaller, implying thatmore energy is lost per step.

It should be noted that there is much morecomplexity to real bipedal locomotion than thiscost model. For example, the appropriate bend-ing of knees and ankles and the elasticity of hu-man joints can significantly reduce the energylost per step, reducing the required work for areal human. While the model is not an accurate

measurement of energy spent, it is sufficient forcomparing the effort of different steps.

∆E2 captures only the cost of changing acharacter’s momentum at the beginning of eachstep. The character’s momentum may alsochange during the trajectory. For relativelystraight trajectories, this change in momentumis mostly due to the passive inverted pendulumdynamics that requires no active work. How-ever, for trajectories of high curvature, a charac-ter spends additional energy to change his mo-mentum. We model this cost as the work re-quired to change momentum (denoted as P) overthe length of the step, weighted by constantw:

∆E3 = w ·dPdt

· length= w ·mα · length, (5)

Note thatα is the same coefficient in Equation 1,the acceleration of the trajectory.α increases ifthe curvature of the parabola is larger, and alsoif the speed of the character along the trajectoryis larger. Minimizing this cost corresponds topreferring straight steps when possible, and pre-ferring to go slower (and consequently, takingsmaller steps) when changing the direction ofmomentum significantly. The weightw can beadjusted to change whether it costs more energyto walk around an obstacle or to stop and waitfor the obstacle to pass. We found good valuesof w to be between0.2 and0.5, meaning thattwenty to fifty percent of the curvature is due tothe character’s active effort, and the rest due tothe passive inverted pendulum dynamics.

4 Generating Sequences of Steps

Discretizing action space. The choicesfor a character’s next step are generated bydiscretizing the action spaceA describedabove, in all three dimensions and using thecreateFootstep(s, a) function to compute thenew state and cost of each action. We havefound thatvdesiredandT can be discretized ex-tremely coarsely, as long as there are at least afew different speeds and timings. Further op-timizations are made by observing that speedvdesired and step timingT have a slight in-verse correlation, and so not all combinations ofvdesiredandT need to be generated. Most of thecomplexity of the action space lies in the choices

Page 6: Footstep Navigation for Dynamic Crowds - York …pfal/Petros_Faloutsos/Publications...model a character’s center of mass and footsteps using a 2D approximation of an inverted spheri-cal

for the parabola orientation,φ. The choices forφ are defined relative to the orientation of thevelocity vector(x, y) from the end of the previ-ous footstep, and the discretization ofφ rangesfrom almost straight to almost U-turns. We notethat the first choice that real humans would con-sider when navigating is to step directly towardsthe local goal. To address this, we create a spe-cial option forφ that would orient the characterdirectly towards its goal. With this specializedgoal-dependent option, we found it was possi-ble to give fewer fixed options forφ, focusingon larger turns. Without this option, even with alarge variety of choices forφ, the character ap-pears to steer towards an offset of the actual goaland then takes an unnatural corrective step.Short-horizon best-first search.We use a best-first search planner for a sequence of footstepsthat minimizes energy cost. The implementa-tion of our planner is the same as an A⋆ search,except for thehorizon, described below.

The cost of taking a step is computed usingEquations 2-5. The heuristic function used bythe best-first search,h(s), estimates the energycost from the current state to a local goal:

h(s) = cexpected × n, (6)

wherecexpected is the energy spent in taking onenormal footstep action based on the character’suser-defined parameters, andn is the number ofsteps it would take to travel directly to the goal.

The horizon of our planner is the maximumnumber of nodes to be expanded for a singlesearch. In most cases, a path is found beforethis threshold. We limit the horizon so that diffi-cult or unsolvable situations will not cause a sig-nificant delay. If the planner searches too manynodes without reaching the goal, we instead con-struct a path to a node from the closed list thathad the best heuristic value (the same closedlist used in A⋆). Intuitively, this means that ifno path is found to the goal within the searchhorizon, the planner returns a path to the reach-able state that had the most promise of reachingthe goal. The short-horizon approach guaran-tees that we will have at least some path for thecharacter to use, even in difficult or unsolvableplanning problems. In worst case, if no goodsolution is found, the path will simply be a se-quence of “stop” actions. For example, this can

occur when a character is stuck dense environ-ment. Eventually when the density clears, thecharacter will continue.Local goals and collision avoidance.To nav-igate through large environments, we first plana path using A⋆ (a traditional spatial path, notfootsteps). Whenever a character needs to planmore footsteps, a local footstep goal is cho-sen, placed approximately 10 meters ahead onthe spatial path. This 10-meter requirement isnot strict; we experimented with other methodsof choosing a local footstep goal, and they allworked decently well. Characters that are visi-ble to each other can read each other’s plans inorder to predict their dynamic collision boundsat any given time. Visibility is determined by(1) having line-of-sight between the two char-acters, and (2) being within the character’s vi-sual field, modeled as a hemisphere centeredaround the character’s forward-facing direction.This knowledge is analogous to the unspokencommunication that occurs between real humanpedestrians that makes human steering very ro-bust. When a character re-plans, it does nottry to avoid characters that it does not see, andtherefore other characters, who are still execut-ing old plans, may collide. The number of colli-sions can be drastically reduced by re-planningn steps in advance, before the previous planis fully completed. This way there is alwaysa “buffer” of 2 or 3 steps that are guaranteedto be correct when a character predicts how tosteer around another character. While deadlocksand collisions are still possible with this scheme,collisions are very rare, and we have not yet en-countered a deadlock in our experiments.Choosing exact footstep orientation. As de-scribed above, the planner maintains an inter-val of valid foot orientations for every step, con-strained by the previous step’s interval, as wellas the trajectory of the current step. Once a se-quence of footsteps has been planned, it is pos-sible to choose exact footstep orientations. Weconstrain the interval of valid orientations oncemore using thenext step’s trajectory, now thatthis information is available. This computationrelies on the same interval arithmetic describedin Section 3. It is easy to see by contradictionthat this process will not cause an invalid inter-val of orientations: if the interval becomes in-valid during this postprocess, that would imply

Page 7: Footstep Navigation for Dynamic Crowds - York …pfal/Petros_Faloutsos/Publications...model a character’s center of mass and footsteps using a 2D approximation of an inverted spheri-cal

that no orientation of the current step could haveproduced a valid interval of the next step – but ifthis is true, that option would have already beenpruned during planning and would not be en-countered here. The exact orientation can be anyvalue within this final interval; we found a goodheuristic is to orient the foot as closely as pos-sible to the orientation of the step’s trajectory,with a special case for large turns.

5 Results

For most results, characters are modeled with acenter of mass 1 meter above the ground, with astep length between 0.1 meters and 1.0 meters,step timing between 0.2 seconds and 0.8 sec-onds, and torso width of 60 cm.

Our short-horizon planner can solve challeng-ing situations such as potential deadlocks in nar-row spaces. Figure 3 depicts a challenging door-way situation. In many previous algorithms,characters would “fight” at the doorway andmay reach deadlock. In our method, the char-acters exhibit predictive cooperation, where onecharacter steps aside. The doorway, 70 cm wide,is barely wide enough to fit a single pedestrian.In this tight situation, vector-based techniqueswould rely on collision prevention at the wallsuntil the character eventually finds the door.

Our collision model allows tighter spacing incrowded conditions. An example is shown inFigure 3, where a group of characters squeezethrough a glass door. With a single coarse colli-sion radius, there would be many false-positivecollisions. Instead, like real humans, these char-acters are comfortable placing their feet andshoulders close to others in the dense crowd.

Our planner works online, in real-time. Per-formance is shown in Table 1, measured on aCore 2 processor, using a single thread. Plan-ning is fast is because of the scope of footsteps:a short horizon plan of 5-10 footsteps takes sec-onds to execute but only a few milliseconds tocompute. The amortized cost of updating a char-acter at 20 Hz is also shown in Table 1.

6 Discussion and Future Work

Footsteps are an appropriate form of controlsince they are the major contact point between

Egress 2-way hall 700 boxes50 agents 200 agents 500 agents

Avg. # nodes 137 234 261generated

Avg. # nodes 82 190 192expandedPlanner 1.6 ms 4.4 ms 3 ms

performanceAmortized 0.037 ms 0.1 ms 0.11 mscost 20Hz

Table 1:Performance of our footstep planner for a char-acter. The typical worst case plan generated upto 5000 nodes and expanded about 3000 nodes.

a bipedal system and the external environment.By generating space-time sequences of foot-steps, and by considering tighter dynamic col-lision bounds, our approach is able to controlcharacters more precisely than existing crowdnavigation techniques.

A “stop” step is a specialized action in ourplanner. Being based on general planning, ourtechnique can extend to use other specializedactions, such as running, jumping, even motioncapture clips, as long as the action has well de-fined transitions, costs, and constraints. Existingsteering techniques can also be emulated, for ex-ample, social forces models can be mapped tocost functions used by our planner.

There are some prominent aspects of bipedallocomotion which should be addressed in futurework. Knee joints, ankle joints, muscles, angu-lar momentum, and the center of pressure (pen-dulum pivot) shifting from heel-to-toe during astep – all of these affect the energy cost of realfootsteps. We would also like to explore socialand cognitive costs, where a character’s objec-tive may not necessarily be to minimize effort.

Acknowledgements

We would like to thank Intel Corp. for their gen-erous support through equipment and grants.

References

[1] Michiel Van de Panne. From footprints to animation.Computer Graphics Forum, 16(4):211–223, 1997.

[2] Shih-Kai Chung and J.K. Hahn. Animation of hu-man walking in virtual environments. InComputerAnimation, pages 4–15, 1999.

Page 8: Footstep Navigation for Dynamic Crowds - York …pfal/Petros_Faloutsos/Publications...model a character’s center of mass and footsteps using a 2D approximation of an inverted spheri-cal

Figure 3:(Left) A character side-steps and yields to the other pedestrian, then precisely navigates through the narrowdoorway. (Right) An egress simulation. Characters do not get stuck around the corners of the glass door.

[3] Stelian Coros, Philippe Beaudoin, Kang Kang Yin,and Michiel van de Panne. Synthesis of constrainedwalking skills.ACM Trans. Graph., 27(5):1–9, 2008.

[4] Chun-Chih Wu, Jose Medina, and Victor B. Zordan.Simple steps for simply stepping. InISVC (1), pages97–106, 2008.

[5] Ben van Basten and Arjan Egges. The stepspace:Example-based footprint-driven motion synthesis.Wiley, 2010.

[6] Autodesk. 3ds max, 2010.

[7] Dirk Helbing and Peter Molnar. Social force modelfor pedestrian dynamics.Phys. Rev. E, 51(5):4282–4286, May 1995.

[8] Craig Reynolds. Steering behaviors for autonomouscharacters, 1999.

[9] N. Pelechano, J. M. Allbeck, and N. I. Badler. Con-trolling individual agents in high-density crowd sim-ulation. InSCA, pages 99–108. Eurographics Asso-ciation, 2007.

[10] Russell Gayle, Avneesh Sud, Erik Andersen,Stephen J. Guy, Ming C. Lin, and Dinesh Manocha.Interactive navigation of heterogeneous agents us-ing adaptive roadmaps.IEEE Trans. Vis. Comput.Graph., 15(1):34–48, 2009.

[11] Ronan Boulic. Relaxed steering towards oriented re-gion goals. InMIG’08, pages 176–187, 2008.

[12] Jur P. van den Berg, Ming C. Lin, and DineshManocha. Reciprocal velocity obstacles for real-timemulti-agent navigation. InICRA, pages 1928–1935,2008.

[13] Fabrice Lamarche and Stephane Donikian. Crowd ofvirtual humans: a new approach for real time naviga-tion in complex and structured environments.Com-put. Graph. Forum, 23(3):509–518, 2004.

[14] Sebastien Paris, Julien Pettre, and StephaneDonikian. Pedestrian reactive navigation for crowdsimulation: a predictive approach. InEURO-GRAPHICS 2007, volume 26, pages 665–674,2007.

[15] F. Feurtey. Simulating the collision avoidance behav-ior of pedestrians. Master’s thesis, The University ofTokyo, School of Engineering, 2000.

[16] Norman Badler.Virtual Crowds: Methods, Simula-tion, and Control. Morgan and Claypool Publishers,2008.

[17] Sebastien Paris and Stephane Donikian. Activity-driven populace: A cognitive approach to crowd sim-ulation. IEEE Computer Graphics and Applications,29(4):34–43, 2009.

[18] S.R. Musse and D Thalmann. A Model of HumanCrowd Behavior. InProc. CAS’97, Springer Verlag,Wien, pages 39–51, 1997.

[19] Wei Shao and Demetri Terzopoulos. Autonomouspedestrians. InSCA, pages 19–28, 2005.

[20] Ben J. H. van Basten and Arjan Egges. Path ab-straction for combined navigation and animation.MIG’09, 5884/2009:182–193, 2009.

[21] Manfred Lau and James J. Kuffner. Precomputedsearch trees: Planning for interactive goal-driven an-imation. InSCA, pages 299–308, September 2006.

[22] Jr. Kuffner, J.J., K. Nishiwaki, S. Kagami, M. Inaba,and H. Inoue. Footstep planning among obstacles forbiped robots. InIEEE Intelligent Robots and Systems(IEEE/RSJ), volume 1, pages 500–505, 2001.

[23] K.h. Nishiwaki, T. Sugihara, S. Kagami, M.y. Inaba,and H. Inoue. Online mixture and connection of ba-sic motions for humanoid walking control by foot-print specification. InICRA, volume 4, pages 4110–4115, 2001.

[24] James Kuffner, K. Nishiwaki, Satoshi Kagami,Y. Kuniyoshi, M. Inaba, and H. Inoue. Online foot-step planning for humanoid robots. InICRA. IEEE,September 2003.

[25] Tsai-Yen Li, Pei-Feng Chen, and Pei-Zhi Huang.Motion planning for humanoid walking in a layeredenvironment. InICRA, volume 3, pages 3421–3427,2003.

[26] Joel Chestnutt, Manfred Lau, Kong Man Che-ung, James Kuffner, Jessica K Hodgins, and TakeoKanade. Footstep planning for the honda asimo hu-manoid. InICRA, April 2005.

[27] Min Gyu Choi, Jehee Lee, and Sung Yong Shin.Planning biped locomotion using motion capturedata and probabilistic roadmaps. ACM Trans.Graph., 22(2):182–203, 2003.

[28] Liangjun Zhang, Jia Pan, and Dinesh Manocha.Motion planning and synthesis of human-like char-acters in constrained environments. MIG’09,5884/2009:138–145, 2009.

[29] Jia-chi Wu and Zoran Popovic. Terrain-adaptivebipedal locomotion control.ACM Transactions onGraphics, 29(4):72:1–72:10, Jul. 2010.

[30] Arthur D. Kuo. The six determinants of gait andthe inverted pendulum analogy: A dynamic walkingperspective.Human Movement Science, 26(4):617 –656, 2007.