RECIPROCAL AL C COLLISION AVOIDAN ANCE AN AND N NAVIGATION F - - PowerPoint PPT Presentation

reciprocal al c collision avoidan ance an and n
SMART_READER_LITE
LIVE PREVIEW

RECIPROCAL AL C COLLISION AVOIDAN ANCE AN AND N NAVIGATION F - - PowerPoint PPT Presentation

RECIPROCAL AL C COLLISION AVOIDAN ANCE AN AND N NAVIGATION F FOR VIDEO G GAM AMES Jamie Snape 1 Stephen J. Guy 1 Jur van den Berg 2 Ming C. Lin Di Dine nesh M h Mano nocha ha 1 1 University of North Carolina at Chapel Hill 2


slide-1
SLIDE 1

RECIPROCAL AL C COLLISION AVOIDAN ANCE AN AND N NAVIGATION F FOR VIDEO G GAM AMES

Jamie Snape 1 Stephen J. Guy 1 Jur van den Berg 2 Ming C. Lin

Di Dine nesh M h Mano nocha ha 1

1 University of North Carolina at Chapel Hill 2 University of Utah

slide-2
SLIDE 2

Out Outline line

  • Introduction
  • Hybrid Reciprocal Velocity Obstacles (HRVO)
  • Goal Velocity Obstacles (GVO)
  • Optimal Reciprocal Collision Avoidance (ORCA)
  • Comparison
  • Conclusion

2 Reciprocal Collision Avoidance and Navigation for Video Games

slide-3
SLIDE 3

INT INTRODUC ODUCTION ION

3 Reciprocal Collision Avoidance and Navigation for Video Games

slide-4
SLIDE 4

Int Introduct

  • duction

ion

  • Techniques for multi-agent navigation from

robotics and cybernetics are increasingly applicable to AI in video games

  • Multicore architectures in current-generation

computers and consoles allow increasing numbers of characters to be simulated

4 Introduction

slide-5
SLIDE 5

Hitman: Ab Absolution ( (1,200 A Agents)

5

Reyno ynold ld’s ’s S Steering ng M Metho hod [ [1999] a and nd 3 3 mo mont nths hs o

  • f ma

manu nual t l tweaki king ng

Square Enix / IO Interactive / UBM TechWeb, 2012

slide-6
SLIDE 6

Global P Path P h Planners

CENTRAL ALIZED

  • Treat system of multiple

agents as a single combined agent and use single-agent planner

  • e.g. Brooks & Lozano-

Perez, 1983 (cell decompositions), Khatib, 1986 (potential fields), Canny, 1988 (roadmaps) DECOUPLED DECOUPLED

  • Compute paths for each

agent separately and then adjust speed along path to avoid collisions

  • e.g. Kant & Zucker, 1986

(decoupled)

6 Introduction

slide-7
SLIDE 7

Local C Collision A Avoidance

FORCE / P / POTENTIAL AL F FIELD

  • Model agents as particle

systems, each particle applies a force on nearby particles to maintain separation

  • e.g. Reynolds, 1987

(steering behaviors)

  • Social Forces (Helbing et

al.) VELOCITY S SPACE

  • Use current velocity of

each agent to extrapolate its position for some short time interval

  • e.g. Fiorini & Shiller, 1998

(velocity obstacles)

Introduction 7

slide-8
SLIDE 8

Multi-Agent N Navigation: G Global + + L Local

8 Hybrid Reciprocal Velocity Obstacles (HRVO) Snape, 2012

slide-9
SLIDE 9

Collisions a and O Oscillations

CO COLLISI SIONS NS

  • Pairs of agents touch or

intersect

  • Implausible for video game

characters OS OSCILLA ILLATIONS IONS

  • Direction of successive

velocities alternates between left and right of agent

  • Causes noticeable artifacts

in video games

9 Introduction

slide-10
SLIDE 10

HYBRID R RECIPROCAL AL V VELOCITY OBSTACLES ( (HRVO)

10 Reciprocal Collision Avoidance and Navigation for Video Games

slide-11
SLIDE 11

Int Introduct

  • duction

ion

  • Can we navigate multiple agents to goal

points in 2D with no oscillations?

11 Hybrid Reciprocal Velocity Obstacles (HRVO)

slide-12
SLIDE 12

Forbidden R Regions f for C Collision A Avoidance

Velocity-based R Reasoning

  • Maritime navigation: “course indicator” (Battenberg, 1902)
  • Missile guidance (Guelman, 1976)
  • Artificial intelligence: “maneuvering board” (Tychonievich et

al., 1989)

  • Robotics: “velocity obstacle” (Fiorini & Shiller, 1993, 1998)
  • Cybernetics: “collision cone” (Chakravarthy & Ghose, 1998)

12 Hybrid Reciprocal Velocity Obstacles (HRVO)

slide-13
SLIDE 13

Velocity O Obstacles ( (VO)

– – Fiorini Fiorini & & Shi hiller, 1 1998 WO WORKSPACE VELOCITY S SPACE

Hybrid Reciprocal Velocity Obstacles (HRVO) 13

slide-14
SLIDE 14

Truncated ( (Reciprocal) V Velocity Obs Obstacle acles

– G Guy e et a al., 2 2009 WO WORKSPACE VELOCITY S SPACE

Hybrid Reciprocal Velocity Obstacles (HRVO) 14

slide-15
SLIDE 15

Os Oscillat cillations ions

  • Oscillations may occur

since agents are decision-making entities

  • Each selects a velocity
  • utside the VO of the
  • ther, but then old

velocities are valid with respect to new VO

  • Agents will oscillate

between these velocities

Hybrid Reciprocal Velocity Obstacles (HRVO) 15

slide-16
SLIDE 16

Reciprocal V Velocity O Obstacles ( (RVO)

  • V

Van d den B Berg e et a al., 2 2008

  • Set of all velocities in VO

averaged with current velocity of agent

  • One agent takes half

responsibility for avoiding collision and other agent takes other half

  • Collision-free if each agent

selects velocity outside RVO of other

Hybrid Reciprocal Velocity Obstacles (HRVO) 16

slide-17
SLIDE 17

Reciprocal D Dances

  • Reciprocal dance
  • scillations may occur

when agents do not select free velocity closest to current velocity

  • May be due to desire to

choose velocity towards its goal point or due to the presence of a third agent

Hybrid Reciprocal Velocity Obstacles (HRVO) 17

slide-18
SLIDE 18

Hybrid R Reciprocal V Velocity O Obstacles (HR (HRVO) ) – S

Snape e et a al., 2 2009, 2 2011

  • Enlarge RVO on the

side we do not wish the agent to pass

  • Replace RVO edge on

that side with VO edge

Hybrid Reciprocal Velocity Obstacles (HRVO) 18

slide-19
SLIDE 19

No O Oscillations o

  • r R

Reciprocal D Dances

  • If A attempts pass on

wrong side of B, must give full priority to B, as with VO

  • If A chooses correct side,

may assume cooperation

  • f B and retain equal

priority, as with RVO

  • Reduces reciprocal dance
  • scillations without over-

constraining motion

Hybrid Reciprocal Velocity Obstacles (HRVO) 19

slide-20
SLIDE 20

Circle S Scenario ( (75 A Agents)

20 Hybrid Reciprocal Velocity Obstacles (HRVO) Snape, 2012

slide-21
SLIDE 21

Multi-Agent N Navigation

21 Hybrid Reciprocal Velocity Obstacles (HRVO)

slide-22
SLIDE 22

Game L Loop

22 Hybrid Reciprocal Velocity Obstacles (HRVO)

slide-23
SLIDE 23

Game L Loop

23 Hybrid Reciprocal Velocity Obstacles (HRVO)

slide-24
SLIDE 24

Game L Loop

24 Hybrid Reciprocal Velocity Obstacles (HRVO)

slide-25
SLIDE 25

Union o

  • f H

Hybrid R Reciprocal V Velocity Obs Obstacle acles

25 Hybrid Reciprocal Velocity Obstacles (HRVO)

slide-26
SLIDE 26

New V Velocity O Optimization

– G Guy e et a al., 2 2009

26 Hybrid Reciprocal Velocity Obstacles (HRVO)

slide-27
SLIDE 27

Experimental R Results

27 Hybrid Reciprocal Velocity Obstacles (HRVO)

slide-28
SLIDE 28

Im Imple plement ntat ation ion

  • HRVO Library (C++)
  • http://gamma.cs.unc.edu/HRVO/
  • 1,500 downloads since October 2009

28 Hybrid Reciprocal Velocity Obstacles (HRVO)

slide-29
SLIDE 29

Rectangle S Scenario ( (4 A Agents)

29 Hybrid Reciprocal Velocity Obstacles (HRVO)

slide-30
SLIDE 30

Circle S Scenario ( (75 A Agents)

30 Hybrid Reciprocal Velocity Obstacles (HRVO) Snape, 2012

slide-31
SLIDE 31

Su Summa mmary y

  • HRVO for agents in 2D
  • Motion of agents is free of oscillations and

reciprocal dances in practice

  • Each agent acts independently and does not

explicitly communicate with other agents

31 Hybrid Reciprocal Velocity Obstacles (HRVO)

slide-32
SLIDE 32

GOAL AL V VELOCITY O OBSTACLES ( (GVO)

32 Reciprocal Collision Avoidance and Navigation for Video Games

slide-33
SLIDE 33

Int Introduct

  • duction

ion

  • HRVO or RVO navigates multiple agents to

static goal points with no oscillations in practice

  • Can we accommodate goal regions, e.g. line

segment or area goals, and moving goals?

33 Goal Velocity Obstacles (GVO)

slide-34
SLIDE 34

Wa Wayportals: L Line G Goals O Optimization

University of North Carolina at Chapel Hill 34

[Curtis et al. 2012]

slide-35
SLIDE 35

Wa Wayportals: L Line G Goals O Optimization

University of North Carolina at Chapel Hill 35

[Curtis et al. 2012] Dungeon – 97 agents [Mononen 2009]

slide-36
SLIDE 36

Preferred V Velocity

POINT G GOAL AL MOVING G GOAL AL

Goal Velocity Obstacles (GVO) 36

slide-37
SLIDE 37

Goal V Velocity O Obstacles ( (GVO)

– [ [Sn Snape e et a al., 2 2012]

  • Use VO not only to avoid

collisions, but also to direct agent to a goal region

  • Choose velocities inside

GVO to cause a “collision” with the goal region

  • Optimize on closest

velocity to current velocity inside GVO rather than preferred velocity

Goal Velocity Obstacles (GVO) 37

slide-38
SLIDE 38

Line G Goal

WO WORKSPACE VELOCITY S SPACE

Goal Velocity Obstacles (GVO) 38

slide-39
SLIDE 39

Moving G Goal

WO WORKSPACE VELOCITY S SPACE

Goal Velocity Obstacles (GVO) 39

slide-40
SLIDE 40

Experimental R Results

40 Goal Velocity Obstacles (GVO)

slide-41
SLIDE 41

Line G Goal S Scenario ( (25 A Agents)

41 Goal Velocity Obstacles (GVO) Snape, 2012

slide-42
SLIDE 42

Moving G Goal S Scenario ( (25 A Agents)

42 Goal Velocity Obstacles (GVO) Snape, 2012

slide-43
SLIDE 43

Su Summa mmary y

  • GVO for specifying goal regions using VO
  • Choose velocities inside GVO to eventually

“collide” with the goal

  • Goals may be regions with nonzero area and

may be moving

43 Goal Velocity Obstacles (GVO)

slide-44
SLIDE 44

OPTIMAL AL R RECIPROCAL AL C COLLISION AVOIDAN ANCE

44 Reciprocal Collision Avoidance and Navigation for Video Games

slide-45
SLIDE 45

Int Introduct

  • duction

ion

  • HRVO eliminates almost all oscillations in

practice, but makes no theoretical guarantees of smoothness

  • Can we guarantee trajectories in velocity

space are continuous, so that trajectories of agents in workspace are continuously differentiable, i.e. smooth?

45 Optimal Reciprocal Collision Avoidance (ORCA)

slide-46
SLIDE 46

Optimal R Reciprocal C Collision Avoidance ( (ORCA) A) – V

Van d den B Berg e et a al., 2 2011

  • Augment VO with an

additional linear ORCA constraint

  • Provides a half-plane of

velocities that are locally free of collisions,

  • scillations, and reciprocal

dances

  • Choose a velocity from the

intersection of all ORCA constraints of other agents

Optimal Reciprocal Collision Avoidance (ORCA) 46

slide-47
SLIDE 47

Circle S Scenario ( (75 A Agents)

47 Optimal Reciprocal Collision Avoidance (ORCA) Snape, 2012

slide-48
SLIDE 48

The heoretical G Guarantees

48 Optimal Reciprocal Collision Avoidance (ORCA)

slide-49
SLIDE 49

Guaranteed S Smooth T h Trajectories (The heorem) – S

Snape e et a al., 2 2010

  • Given a small time step, the trajectory

generated by the sequence of velocities of the center of the agent is continuous in velocity space

49 Optimal Reciprocal Collision Avoidance (ORCA)

slide-50
SLIDE 50

Guaranteed C Collision-Free P Paths hs (The heorem)

  • Given a small time step, the path generated

by the sequence of positions of the center of the agent is collision free with all other paths with respect to the radius

50 Optimal Reciprocal Collision Avoidance (ORCA)

slide-51
SLIDE 51

Experimental R Results ( (2D)

51 Optimal Reciprocal Collision Avoidance (ORCA)

slide-52
SLIDE 52

Im Imple plement ntat ation ion

  • RVO2 Library (C++ / C#)
  • http://gamma.cs.unc.edu/RVO2/
  • 4,500 downloads since August 2010
  • Licensed for multiple AAA games
  • Variants implemented in other game engines

52 Optimal Reciprocal Collision Avoidance (ORCA)

slide-53
SLIDE 53

Circle S Scenario ( (5 A Agents)

53 Optimal Reciprocal Collision Avoidance (ORCA)

slide-54
SLIDE 54

Circle S Scenario ( (75 A Agents)

54 Optimal Reciprocal Collision Avoidance (ORCA) Snape, 2012

slide-55
SLIDE 55

Warha hammer 4 40,000: S Space M Marine

55 Optimal Reciprocal Collision Avoidance (ORCA) THQ / Relic Entertainment / Games Workshop, 2011

slide-56
SLIDE 56

Experimental R Results ( (3D)

56 Optimal Reciprocal Collision Avoidance (ORCA)

slide-57
SLIDE 57

Im Imple plement ntat ation ion

  • RVO2-3D Library (C++)
  • http://gamma.cs.unc.edu/RVO2-3D/
  • Released May 2011

57 Optimal Reciprocal Collision Avoidance (ORCA)

slide-58
SLIDE 58

Sphe here S Scenario ( (4 A Agents)

Optimal Reciprocal Collision Avoidance (ORCA) 58

TO TOP SI SIDE

slide-59
SLIDE 59

Sphe here S Scenario ( (16 A Agents)

59 Optimal Reciprocal Collision Avoidance (ORCA) Snape & Manocha, 2010

slide-60
SLIDE 60

COMPAR ARISON

60 Reciprocal Collision Avoidance and Navigation for Video Games

slide-61
SLIDE 61

UDK S Scenario ( (Max 2 200 A Agents)

ORCA A UDK M MAR ARCH 2 2011

61 Comparison Snape et al., 2011

slide-62
SLIDE 62

Circle S Scenario ( (75 A Agents)

HR HRVO ORCA A

62 Comparison Snape, 2012

slide-63
SLIDE 63

Computation T Time

# A Agents HR HRVO ORCA A UDK M March 2 h 2011 100 88 32

  • 200

146 51 58 300 196 78

  • 400

240 97

  • 500

305 119

  • 1000

559 241

  • 63

Comparison

AVERAGE C COMPUTATION T TIME P PER T TIME S STEP ( (MICROSECONDS) CIRCLE S SCENAR ARIO INTEL C CORE I I7-2600 ( (SAN ANDY B BRIDGE) 3 3.4 GH GHZ

slide-64
SLIDE 64

Number o

  • f C

Collisions

# A Agents HR HRVO ORCA A UDK M March 2 h 2011 100 0.2 0.3

  • 200

0.9 1.4 51.4 300 1.9 3.3

  • 400

3.1 5.6

  • 500

4.4 9.4

  • 1000

15.1 28.4

  • 64

Comparison

AVERAGE N NUMBER O OF C COLLISIONS P PER T TIME S STEP CIRCLE S SCENAR ARIO

slide-65
SLIDE 65

Su Summa mmary y

  • ORCA for agents in 2D and 3D
  • Theoretical guarantees of smooth

trajectories and collision-free paths for small time steps

65 Comparison

slide-66
SLIDE 66

CO CONCL NCLUSI USION N

66 Reciprocal Collision Avoidance and Navigation for Video Games

slide-67
SLIDE 67

Con Concl clusi sion

  • n

HYBRID R RECIPROCAL AL V VELOCITY O OBSTACLES

  • HRVO for agents in 2D
  • Free of oscillations in practice
  • Least number of collisions

GOAL AL V VELOCITY O OBSTACLES

  • GVO for specifying goal regions using VO
  • Choose velocities inside GVO to eventually “collide” with the goal

OPTIMAL AL R RECIPROCAL AL C COLLISION A AVOIDAN ANCE

  • ORCA for agents in 2D and 3D
  • Theoretical guarantees of smooth trajectories and collision-free paths for small

time

  • Fastest computation time

67 Conclusion

slide-68
SLIDE 68

Con Concl clusi sion

  • n

HYBRID R RECIPROCAL AL V VELOCITY O OBSTACLES

  • HRVO for agents in 2D
  • Free of oscillations in practice
  • Least number of collisions

GOAL AL V VELOCITY O OBSTACLES

  • GVO for specifying goal regions using VO
  • Choose velocities inside GVO to eventually “collide” with the goal

OPTIMAL AL R RECIPROCAL AL C COLLISION A AVOIDAN ANCE

  • ORCA for agents in 2D and 3D
  • Theoretical guarantees of smooth trajectories and collision-free paths for small

time

  • Fastest computation time

Increasingly used in Video Games!

68 Conclusion

slide-69
SLIDE 69

Ac Acknowledgments

  • Army Research Office
  • National Science Foundation
  • Intel Corporation
  • Willow Garage

69 Conclusion

slide-70
SLIDE 70

Selected P Publications

  • Van den Berg, Lin & Manocha, “Reciprocal velocity obstacles for

real-time multi-agent navigation,” Proc. ICRA, 2008

  • Guy, Chhugani, Kim et al., “ClearPath: highly parallel collision

avoidance for multi-agent simulation,” Proc. SCA, 2009

  • Snape & Manocha, “Navigating multiple simple-airplanes in 3D

workspace,” Proc. ICRA, 2010

  • Snape, Van den Berg, Guy & Manocha, “Smooth and collision-

free navigation for multiple robots under differential-drive constraints,” Proc. IROS, 2010

  • Van den Berg, Guy, Lin & Manocha, “Reciprocal n-body collision

avoidance,” Experimental Robotics 14, STAR, vol. 70, 2011

  • Snape, Van den Berg, Guy & Manocha, “The hybrid reciprocal

velocity obstacle,” IEEE Trans. Robot., vol. 27, no. 4, 2011

  • Curtis, Snape & Manocha, “Way portals: efficient multi-agent

navigation with line-segment goals,” Proc. I3D, 2012

70 Conclusion