The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time...

43
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha

Transcript of The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time...

Page 1: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation

Jur van den BergMing Lin

Dinesh Manocha

Page 2: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Multi-Agent Navigation

• N agents share an environment

• Move from start to goal without mutual collisions (and collisions with obstacles)

• Decoupled♦ Simultaneous

independent navigation for each agent

♦ Global path planning and local collision avoidance decoupled

♦ Real-time

Page 3: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Problem Description

• Independent Navigation• Continuous cycle of sensing and acting• Global path planning vs. local navigation• Each cycle: each agent observes other

agents (position, velocity)• But does not know what they are going

to do• How to act?

Page 4: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Previous Approaches

• Potential Field (particle model)• Assume other agents are static

obstacles• Assume other agents are moving

obstacles (that maintain their current velocity for a while)♦ Velocity Obstacles [Fiorini, Shiller, 98]

Page 5: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Velocity Obstacle

(p, v) = {p + tv | t > 0}

• VOAB(vB) = {vA | (pA, vA – vB) B –A }

Page 6: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Using Velocity Obstacles

• In each cycle, select velocity outside velocity obstacle of any moving obstacle

• For multi-agent navigation? • Agents are not passively moving, but

react on each other• Result: oscillations

Page 7: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations

• Example: two agents with opposite directions

Page 8: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations

• Example: two agents with opposite directions

Page 9: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations

• Example: two agents with opposite directions

Page 10: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations

• Example: two agents with opposite directions

Page 11: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations

• Example: two agents with opposite directions

Page 12: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations

• Example: two agents with opposite directions

Page 13: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations

• Example: two agents with opposite directions

Page 14: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations

• Example: two agents with opposite directions

Page 15: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

New Approach

• Prevent oscillations• No communication among agents or

global coordination• Simple idea: instead of choosing a new

velocity outside the velocity obstacle, take the average of a velocity outside the velocity obstacle and the current velocity

• Formalized into Reciprocal Velocity Obstacle

Page 16: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Reciprocal Velocity Obstacle

• RVOAB(vB, vA) = {v’A | 2v’A – vA VOA

B(vB)}

Page 17: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations?

• Example: two agents with opposite directions

Page 18: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations?

• Example: two agents with opposite directions

Page 19: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations?

• Example: two agents with opposite directions

Page 20: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations?

• Example: two agents with opposite directions

Page 21: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations?

• Example: two agents with opposite directions

Page 22: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Oscillations?

• Example: two agents with opposite directions

Page 23: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

No Oscillations

• Example: two agents with opposite directions

Page 24: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

No Oscillations and Safe

• Example: two agents with opposite directions

Page 25: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Generalized RVOs

• Different distribution of effort in avoiding each other than 50%-50%

• Parameter ; 0: no effort; 1: all effort• RVOA

B(vB, vA, ) = {v’A | (1/)v’A + (1 – 1/)vA VOAB(vB)}

Page 26: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Generalized RVOs

• 0% - 100%

Page 27: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Generalized RVOs

• 25% - 75%

Page 28: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Generalized RVOs

• 75% - 25%

Page 29: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Generalized RVOs

• 100% - 0%

Page 30: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Multi-Agent Navigation

• N agents A1, …, AN with positions p1, …, pN, velocities v1, …, vN, preferred speeds vpref

1, …, vprefN and goals g1, …, gN

• Time stept• Each time step: for each agent:

♦ Compute preferred velocity (global path planning)♦ Select new velocity♦ Update position of agent according to new velocity

Page 31: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Select New Velocity

• Outside the union of the reciprocal velocity obstacles, closest to preferred velocity

Page 32: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Select New Velocity

• Environment may become crowded: no valid velocity

• Solution: select velocity inside RVO but penalize♦ Expected time to collision♦ Distance to preferred velocity

• Select velocity with minimal penalty

Page 33: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Kinodynamic Constraints

• Maximum velocity

• Maximum acceleration

• More complicated…

Page 34: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Neighbor Region

• More efficient• Circular

neighbor region

• Visibility neighbor region…

Page 35: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Experiments

• Circle: move to antipodal position on circle

12 agents

Page 36: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Experiments

• Circle: move to antipodal position on circle

250 agents

Page 37: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Results

• Office experiment

Performance (16 cores, Sitterson scene)

0

0.1

0.2

0.3

0.4

0.5

0.6

0 2500 5000 7500 10000 12500 15000 17500 20000

Number of Agents

Run

ning

tim

e (s

ec/f

ram

e)

Performance (5000 agents, Sitterson scene)

0

2

4

6

8

10

12

14

0 2 4 6 8 10 12 14 16

Number of Cores

Fra

me

rate

(fra

me/

sec)

|

Page 38: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

More Demos

• Office evacuation (Jason Sewall)• Crosswalk (Sachin Patil)• Subway station (Sean Curtis)• Stadium evacuation (Sachin

Patil)

Page 39: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Public Library

• http://gamma.cs.unc.edu/RVO/Library

• Easy to use

Page 40: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Extension to 3D

500 agents on a sphere moving to the other side

Page 41: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Conclusion and Future Work• Conclusion♦ Powerful and simple (easy to implement)

local collision avoidance technique for multi-agent navigation

♦ Scalable with number of agents and number of processors used

• Future work♦ Model human behavior - Human dynamics♦ Implementation on mobile robots (sensing

etc.)♦ Application to flocks and schools (3D)

Page 42: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Further Reading

• Van den Berg et al. n-body Reciprocal Collision Avoidance (ISRR 2009)

• Pettre et al.Experiment-based Modeling, Simulation and Validation of Interactions between Virtual Walkers(SCA 2009)

Page 43: The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Experiments

• (High-speed) moving obstacle: car