Title: Precomputed Search Trees: Planning for Interactive GoalDriven Animation
1Precomputed Search Trees Planning for
Interactive Goal-Driven Animation
- Manfred Lau and James Kuffner
- Carnegie Mellon University
2Motion Planning approach
Inputs
Output
3Behavior Planner
Lau and Kuffner. Behavior Planning for
Character Animation. SCA 05
4Motivation
- 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
5Main contribution
6Traditional Planning
- 50,000 µs for 1 s of motion
7Precomputed Search Trees
8Overview
Environment
FSM
9Overview
Environment
1) Search Tree
FSM
10Overview
Environment
2) Gridmaps
FSM
11Overview
Precompute
Runtime
Environment
1) Search Tree
FSM
2) Gridmaps
12Overview
Precompute
Runtime
Environment
1) Search Tree
1) Map Obstacles
FSM
2) Gridmaps
13Overview
Precompute
Runtime
Environment
1) Search Tree
1) Map Obstacles
FSM
2) Path Finding
2) Gridmaps
14Overview Distant Goal
Coarse-Level Planner
15Overview Distant Goal
Coarse-Level Planner
Repeatedly select sub-goal and run each sub-case
16Related 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
17Related 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
18Related Work
- Motion Vector Fields / Steering Approaches
- Brogan and Hodgins 97Menache 99Reynolds
99Mizuguchi et al. 01Treuille et al. 06
Treuille et al. 06
19Advantages 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
20Environment Representation
Special regionsfor crawl/jump
Obstacle Growth in Robot Path PlanningUdupa
77Lozano-Pérez and Wesley 83
21Behavior Finite-State Machine
22Precompute
2 levels, 3 behavior states
23Precompute
24Precompute
- 1) Search Treerepresents all states reachable
from current state
5 levels, 7 behavior states
25Precompute
- 1) Search Tree Pruned to 10 MB
exhaustive
pruned
26Precompute
2) Environment Gridmapused to identify the tree
nodes that are blocked by obstacles
27Precompute
2) Goal Gridmapused to efficiently extract all
paths that reach goal from start state
28Runtime
- 1) Map obstacles to Environment Gridmap
29Runtime
- 1) Map obstacles to Environment Gridmap
30Runtime
- 2) Path Finding reverse path lookup (vs.
forward search)
31Runtime
- 2) Path Finding take shortest path that
reaches goal
32Runtime
- 2) Path Finding take shortest path that
reaches goal
33Runtime
- 2) Path Finding take shortest path that
reaches goal
34Motion 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
35Planning to distant goals
- Only up to specific level
36Intermediate goal points
Apply precomputed tree repeatedly
37Intermediate goal points
Apply precomputed tree repeatedly
38Intermediate goal points
Apply precomputed tree repeatedly
39Distant goal example
Run coarse bitmap planner first
40Distant goal example
Find sub-goal
Run sub-case
41Distant goal example
Find sub-goal
Run sub-case
42Distant goal example
Final solution
43Distant goal example
Final solution
44Result 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
45Tradeoff Motion Quality vs. Memory
exhaustive tree
46Single 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
47Multiple 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
48Summary
- Advantages of our approach
- large number of characters
- global planning
- re-plan continuously in real-time
- complex environment
- complex motions
49Summary
- Advantages of our approach
- large number of characters
- global planning
- re-plan continuously in real-time
- complex environment
- complex motions
Thank you! Questions.