Behavior Planning for Character Animation Manfred Lau and James Kuffner Carnegie Mellon University
Problem
Key ideas Motions abstracted as high- level behaviors and organized into a finite state machine (FSM). (in contrast to connections of individual poses) Build search tree of behavior states and perform global planning in both space and time. (in contrast to local policies)
Overview FSM Environment
Overview Behavior Planner FSM Environment
Overview Behavior Planner Solution Path (Sequence of Behaviors) Animation FSM Environment
Overview Dynamic Environments Terrain with small slopes
Overview Different behavior preferences Variety of characters
Related Work Motion Planning Kuffner 98 Shiller et al. 01 Bayazit et al. 02 Choi et al. 03 Pettre et al. 03 Koga et al. 94 Kalisiak and van de Panne 01 Yamane et al. 04 Choi et al. 03 Global Navigation Manipulation and whole-body motions
Related Work Re-playing original motion capture data Arikan and Forsyth 02 Kovar et al. 02 Lee et al. 02 Pullen and Bregler 02 Gleicher et al. 03 Move Trees / Steering Approaches Brogan and Hodgins 97 Menache 99 Reynolds 99 Mizuguchi et al. 01 Reynolds 99 Kovar et al. 02
Our Approach Manually-Constructed Behavior FSM + Scalability + Search Efficiency + Memory Usage + Intuitive Structure – Requires segmented motion data – Requires FSM with appropriate transitions
Behavior Finite-State Machine
Environment Representation Obstacle Growth in Robot Path Planning Udupa 77 Lozano-Pérez and Wesley 83 2D Heightfield
Behavior Planner – A* search initialize Tree and Queue while Queue is not empty remove s best if Goal reached return s best if appropriate expand s best end return no possible solution position orientation time cost
State-dependent Transitions if appropriate expand s best Retrieve (from FSM) the states that s best can transition to Updates position, orientation, cost, time Collision checking
Visualization of search tree
Motion Generation / Blending Sequence of behaviors converted to actual motion Blending at frames near transition points Linearly interpolate root positions Smooth-in, smooth-out slerp interpolation for joint rotations
Generated Animation from Computed Behavior Sequence
Environment-dependent Transitions Transition regions near obstacles (computed automatically from environment geometry) Action must completely traverse corresponding obstacle (pass underneath, cross over, etc.)
Generated Animation from Computed Behavior Sequence
Dynamic Obstacles State and Time-dependent Transitions Movement of dynamic obstacles needs to be predictable env t E(time)
Time-dependent obstacle
Planning for Multiple Characters Centralized Planning Plan jointly for all characters using all possible combinations of behaviors + returns globally optimal solutions – search time exponential in # of characters and behaviors Prioritized Planning Plan for each character in turn according to priority – not as general – returns globally non- optimal solutions + linear time in the # of characters
Multiple Characters – Prioritized Planning
Multiple Characters – Dynamic Obstacles
Optimality / Speed Tradeoff A* search truncated A* inflated A* 2241 nodes 1977 nodes 1421 nodes faster than A* search by 6% 16%
“Anytime” Version of Algorithm initialize Tree and Queue while (!Q.empty() and t < T max ) remove s best if Goal reached return s best if appropriate expand s best end return no possible solution returns best “partial path” found so far
Navigating in uneven terrain Adjust relative costs of behaviors Add non-uniform terrain costs
Tuning Behavior Preferences
Re-use FSM for different characters
Skateboarder
Horses
100 characters
Conclusion Behavior planning approach Organize the motion data into a data structure of high-level behaviors Planner performs global search of behaviors to synthesize motions