1 / 49

Precomputed Search Trees: Planning for Interactive Goal-Driven Animation

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.

jun
Download Presentation

Precomputed Search Trees: Planning for Interactive Goal-Driven Animation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Precomputed Search Trees: Planning for Interactive Goal-Driven Animation Manfred Lau and James Kuffner Carnegie Mellon University

  2. Motion Planning approach Inputs Output

  3. Behavior Planner Lau and Kuffner. “Behavior Planning for Character Animation.” SCA 05

  4. 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

  5. Main contribution Precomputed Search Tree

  6. Traditional Planning ~50,000 μs for 1 s of motion

  7. Precomputed Search Trees ~250 μs for 1 s of motion

  8. Overview Environment FSM

  9. Overview Precompute Environment 1) Search Tree FSM

  10. Overview Precompute Environment 2) Gridmaps FSM

  11. Overview Precompute Runtime Environment 1) Search Tree FSM 2) Gridmaps

  12. Overview Precompute Runtime Environment 1) Search Tree 1) Map Obstacles FSM 2) Gridmaps

  13. Overview Precompute Runtime Environment 1) Search Tree 1) Map Obstacles FSM 2) Path Finding 2) Gridmaps

  14. Overview – Distant Goal Coarse-Level Planner

  15. Overview – Distant Goal Coarse-Level Planner Repeatedly select sub-goal and run each sub-case

  16. 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

  17. 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

  18. Related Work Motion Vector Fields / Steering Approaches Brogan and Hodgins 97Menache 99Reynolds 99Mizuguchi et al. 01Treuille et al. 06 Treuille et al. 06

  19. 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

  20. Environment Representation Special regionsfor crawl/jump Obstacle Growth in Robot Path PlanningUdupa 77Lozano-Pérez and Wesley 83

  21. Behavior Finite-State Machine

  22. Precompute 1) Search Tree 2 levels, 3 behavior states

  23. Precompute 1) Search Tree

  24. Precompute 1) Search Treerepresents all states reachable from current state 5 levels, 7 behavior states

  25. Precompute 1) Search Tree – Pruned to ~10 MB exhaustive pruned

  26. Precompute 2) Environment Gridmapused to identify the tree nodes that are blocked by obstacles

  27. Precompute 2) Goal Gridmapused to efficiently extract all paths that reach goal from start state

  28. Runtime 1) Map obstacles to Environment Gridmap

  29. Runtime 1) Map obstacles to Environment Gridmap

  30. Runtime 2) Path Finding – reverse path lookup (vs. forward search)

  31. 3 2 1 obstacle root Runtime 2) Path Finding – take shortest path that reaches goal

  32. Runtime 2) Path Finding – take shortest path that reaches goal

  33. Runtime 2) Path Finding – take shortest path that reaches goal

  34. 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

  35. Planning to distant goals Only up to specific level

  36. Intermediate goal points Apply precomputed tree repeatedly

  37. Intermediate goal points Apply precomputed tree repeatedly

  38. Intermediate goal points Apply precomputed tree repeatedly

  39. Distant goal example Run coarse bitmap planner first

  40. Distant goal example Find sub-goal Run sub-case

  41. Distant goal example Find sub-goal Run sub-case

  42. Distant goal example Final solution

  43. Distant goal example Final solution

  44. 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

  45. Tradeoff: Motion Quality vs. Memory exhaustive tree

  46. 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

  47. 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

  48. Summary Precomputed Search Tree Advantages of our approach: • large number of characters • global planning • re-plan continuously in real-time • complex environment • complex motions

  49. 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.

More Related