490 likes | 595 Views
Precomputed Search Trees: Planning for Interactive Goal-Driven Animation. Manfred Lau and James Kuffner Carnegie Mellon University. Motion Planning approach. Inputs. Output. Behavior Planner. Lau and Kuffner. “Behavior Planning for Character Animation.” SCA 05. Motivation.
E N D
Precomputed Search Trees: Planning for Interactive Goal-Driven Animation Manfred Lau and James Kuffner Carnegie Mellon University
Motion Planning approach Inputs Output
Behavior Planner Lau and Kuffner. “Behavior Planning for Character Animation.” SCA 05
Motivation Efficient algorithm for: • large number of characters • global planning • re-plan continuously in real-time • dynamic environment • complex motions including jump, crawl, duck, stop-and-wait
Main contribution Precomputed Search Tree
Traditional Planning ~50,000 μs for 1 s of motion
Precomputed Search Trees ~250 μs for 1 s of motion
Overview Environment FSM
Overview Precompute Environment 1) Search Tree FSM
Overview Precompute Environment 2) Gridmaps FSM
Overview Precompute Runtime Environment 1) Search Tree FSM 2) Gridmaps
Overview Precompute Runtime Environment 1) Search Tree 1) Map Obstacles FSM 2) Gridmaps
Overview Precompute Runtime Environment 1) Search Tree 1) Map Obstacles FSM 2) Path Finding 2) Gridmaps
Overview – Distant Goal Coarse-Level Planner
Overview – Distant Goal Coarse-Level Planner Repeatedly select sub-goal and run each sub-case
Related Work Motion Planning Kuffner 98Shiller et al. 01Bayazit et al. 02Choi et al. 03Pettre et al. 03Sung et al. 05Koga et al. 94Kalisiak and van de Panne 01Yamane et al. 04 GlobalNavigation Choi et al. 03 Manipulation andwhole-body motions
Related Work PrecomputationLee and Lee 04Reitsma and Pollard 04 Re-playing original motion capture data Arikan and Forsyth 02Kovar et al. 02Lee et al. 02Pullen and Bregler 02Gleicher et al. 03Lee et al. 06 Lee and Lee 04 Kovar et al. 02
Related Work Motion Vector Fields / Steering Approaches Brogan and Hodgins 97Menache 99Reynolds 99Mizuguchi et al. 01Treuille et al. 06 Treuille et al. 06
Advantages of our approach Precomputed Search Trees: • many characters re-plan continuously in real-time • global planning – as opposed to local policy methods • complex motions – jump, crawl, duck, stop-and-wait • one tree – can be used for all characters, and different environments
Environment Representation Special regionsfor crawl/jump Obstacle Growth in Robot Path PlanningUdupa 77Lozano-Pérez and Wesley 83
Precompute 1) Search Tree 2 levels, 3 behavior states
Precompute 1) Search Tree
Precompute 1) Search Treerepresents all states reachable from current state 5 levels, 7 behavior states
Precompute 1) Search Tree – Pruned to ~10 MB exhaustive pruned
Precompute 2) Environment Gridmapused to identify the tree nodes that are blocked by obstacles
Precompute 2) Goal Gridmapused to efficiently extract all paths that reach goal from start state
Runtime 1) Map obstacles to Environment Gridmap
Runtime 1) Map obstacles to Environment Gridmap
Runtime 2) Path Finding – reverse path lookup (vs. forward search)
3 2 1 obstacle root Runtime 2) Path Finding – take shortest path that reaches goal
Runtime 2) Path Finding – take shortest path that reaches goal
Runtime 2) Path Finding – take shortest path that reaches goal
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
Planning to distant goals Only up to specific level
Intermediate goal points Apply precomputed tree repeatedly
Intermediate goal points Apply precomputed tree repeatedly
Intermediate goal points Apply precomputed tree repeatedly
Distant goal example Run coarse bitmap planner first
Distant goal example Find sub-goal Run sub-case
Distant goal example Find sub-goal Run sub-case
Distant goal example Final solution
Distant goal example Final solution
Result – speedup Precomputed Trees A*-search Avg. runtime or 3,131 550,591search time (μs) 176 times faster Avg μs per frame 7.95 1,445 Avg pathcost 361 357 Avg time of synthesized 13,123,333 12,700,000motion (μs) Real-time speedup 4,191 times 23 times
Tradeoff: Motion Quality vs. Memory exhaustive tree
Single Character Mode • complete solution path for one character continuously re-generated, as the user changes environment • large environment (70 by 70 meters), takes 6 ms to generate full path
Multiple Character Mode • execute “runtime path finding” phase only after we start rendering the first frame from the previous partial path • precompute blend frames (~20 motion clips), precompute all pairs • separate gridmaps for collision avoidance between characters • same precomputed tree for all characters
Summary Precomputed Search Tree Advantages of our approach: • large number of characters • global planning • re-plan continuously in real-time • complex environment • complex motions
Summary Precomputed Search Tree Advantages of our approach: • large number of characters • global planning • re-plan continuously in real-time • complex environment • complex motions Thank you! Questions.