350 likes | 532 Views
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)
E N D
Behavior Planning for Character Animation Manfred Lau and James Kuffner Carnegie Mellon University
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 Environment FSM
Overview Behavior Planner Environment FSM
Overview Behavior Planner Solution Path(Sequence of Behaviors) Environment FSM Animation
Overview Dynamic Environments Terrain with small slopes
Overview Different behavior preferences Variety of characters
Related Work Motion Planning Kuffner 98Shiller et al. 01Bayazit et al. 02Choi et al. 03Pettre et al. 03Koga et al. 94Kalisiak and van de Panne 01Yamane et al. 04 GlobalNavigation Choi et al. 03 Manipulation andwhole-body motions
Related Work Re-playing original motion capture data Arikan and Forsyth 02Kovar et al. 02Lee et al. 02Pullen and Bregler 02Gleicher et al. 03 Move Trees / Steering Approaches Brogan and Hodgins 97Menache 99Reynolds 99Mizuguchi et al. 01 Kovar et al. 02 Reynolds 99
Our Approach Manually-Constructed Behavior FSM + Scalability + Search Efficiency + Memory Usage + Intuitive Structure – Requires segmented motion data – Requires FSM with appropriate transitions
Environment Representation 2D Heightfield Obstacle Growth in Robot Path PlanningUdupa 77Lozano-Pérez and Wesley 83
Behavior Planner – A* search initialize Tree and Queue while Queue is not empty remove sbest if Goal reached return sbest if appropriate expand sbest end return no possible solution position orientation time cost
State-dependent Transitions if appropriate expand sbest Retrieve (from FSM) the states that sbest can transition to Updates position, orientation, cost, time Collision checking
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
Environment-dependent Transitions Transition regions near obstacles (computed automatically fromenvironment geometry) Action must completely traverse corresponding obstacle (pass underneath, cross over, etc.)
Dynamic Obstacles State and Time-dependent Transitions Movement of dynamic obstacles needs to be predictable envt E(time)
Planning for Multiple Characters Centralized PlanningPlan jointly for all characters using all possible combinations of behaviors + returns globally optimal solutions – search time exponential in # of characters and behaviors Prioritized PlanningPlan for each character in turn according to priority – not as general – returns globally non-optimal solutions + linear time in the # of characters
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 < Tmax) remove sbest if Goal reached return sbest if appropriate expand sbest 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
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