precomputed search trees: planning for interactive goal-driven animation manfred lau and james...

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

Post on 19-Dec-2015

220 views

Category:

Documents


3 download

TRANSCRIPT

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

Precomputed Search Trees: Planning for Interactive Goal-Driven

Animation

Manfred Lau and James KuffnerCarnegie Mellon University

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

Motion Planning approach

Inputs Output

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

Behavior Planner

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

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

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

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

Main contribution

Precomputed Search Tree

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

Traditional Planning

~50,000 μs for 1 s of motion

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

Precomputed Search Trees

~250 μs for 1 s of motion

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

Overview

FSM

Environment

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

Overview

Precompute

FSM

Environment

1) Search Tree

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

Overview

FSM

Environment

Precompute

2) Gridmaps

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

Overview

FSM

EnvironmentPrecompute

1) Search Tree

2) Gridmaps

Runtime

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

Overview

FSM

EnvironmentPrecompute

1) Search Tree

2) Gridmaps

Runtime

1) Map Obstacles

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

Overview

FSM

EnvironmentPrecompute

1) Search Tree

2) Gridmaps

Runtime

1) Map Obstacles

2) Path Finding

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

Overview – Distant Goal

Coarse-Level Planner

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

Overview – Distant Goal

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

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

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

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

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

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

Related Work

Motion Vector Fields / Steering ApproachesBrogan and Hodgins 97Menache 99Reynolds 99Mizuguchi et al. 01Treuille et al. 06

Treuille et al. 06

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

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

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

Environment Representation

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

Special regionsfor crawl/jump

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

Behavior Finite-State Machine

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

Precompute

1) Search Tree

2 levels, 3 behavior states

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

Precompute

1) Search Tree

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

Precompute

1) Search Treerepresents all states reachable from current state

5 levels, 7 behavior states

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

Precompute

1) Search Tree – Pruned to ~10 MB

exhaustive pruned

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

Precompute

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

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

Precompute

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

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

Runtime

1) Map obstacles to Environment Gridmap

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

Runtime

1) Map obstacles to Environment Gridmap

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

Runtime

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

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

Runtime2) Path Finding – take shortest path that reaches goal

21

3

root

obstacle

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

Runtime2) Path Finding – take shortest path that reaches goal

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

Runtime2) Path Finding – take shortest path that reaches goal

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

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

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

Planning to distant goals

Only up to specific level

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

Intermediate goal points

Apply precomputed tree repeatedly

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

Intermediate goal points

Apply precomputed tree repeatedly

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

Intermediate goal points

Apply precomputed tree repeatedly

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

Distant goal example

Run coarse bitmap planner first

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

Distant goal example

Find sub-goal Run sub-case

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

Distant goal example

Find sub-goal Run sub-case

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

Distant goal example

Final solution

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

Distant goal example

Final solution

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

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

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

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

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

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

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

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

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

Summary

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

time complex environment complex motions

Precomputed Search Tree

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

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.