Precomputed Search Trees: Planning for Interactive Goal-Driven Animation Manfred Lau and James...

Post on 19-Dec-2015

220 views 3 download

Tags:

Transcript of Precomputed Search Trees: Planning for Interactive Goal-Driven Animation Manfred Lau and James...

Precomputed Search Trees: Planning for Interactive Goal-Driven

Animation

Manfred Lau and James KuffnerCarnegie 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

FSM

Environment

Overview

Precompute

FSM

Environment

1) Search Tree

Overview

FSM

Environment

Precompute

2) Gridmaps

Overview

FSM

EnvironmentPrecompute

1) Search Tree

2) Gridmaps

Runtime

Overview

FSM

EnvironmentPrecompute

1) Search Tree

2) Gridmaps

Runtime

1) Map Obstacles

Overview

FSM

EnvironmentPrecompute

1) Search Tree

2) Gridmaps

Runtime

1) Map Obstacles

2) Path Finding

Overview – Distant Goal

Coarse-Level Planner

Overview – Distant Goal

Coarse-Level Planner Repeatedly select sub-goaland run each sub-case

Related Work

Motion PlanningKuffner 98Shiller et al. 01Bayazit et al. 02Choi et al. 03Pettre et al. 03Sung et al. 05

Koga et al. 94Kalisiak and van de Panne 01Yamane et al. 04

Choi et al. 03GlobalNavigation

Manipulation andwhole-body motions

Related Work

PrecomputationLee and Lee 04Reitsma and Pollard 04

Re-playing original motion capture dataArikan 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 ApproachesBrogan 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

Obstacle Growth in Robot Path PlanningUdupa 77Lozano-Pérez and Wesley 83

Special regionsfor crawl/jump

Behavior Finite-State Machine

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)

Runtime2) Path Finding – take shortest path that reaches goal

21

3

root

obstacle

Runtime2) Path Finding – take shortest path that reaches goal

Runtime2) Path Finding – take shortest path that reaches goal

Motion Generation / Blending

Sequence of behaviors converted to actual motion

Blending at frames near transition pointsLinearly interpolate root positionsSmooth-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,445Avg pathcost 361 357

Avg time of synthesized 13,123,333 12,700,000motion (μs)

Real-time speedup 4,191 times 23 times

Effect of using less memory for Precomputed Tree

80

85

90

95

100

105

110

115

120

1 10 100 1000

Memory for Precomputed Tree (MB)

Pat

h C

ost

(N

orm

aliz

ed t

o 1

00)

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

Advantages of our approach: large number of characters global planning re-plan continuously in real-

time complex environment complex motions

Precomputed Search Tree

Summary

Advantages of our approach: large number of characters global planning re-plan continuously in real-

time complex environment complex motions

Precomputed Search Tree

Thank you! Questions.