Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)
2 Motivation Robots are becoming cheaper, more mobile, and better sensing Several mobile robots sharing space is becoming increasingly practical Our Goal: Allow robots to share physical space Encourage smooth, goal directed navigation Guaranteed collision avoidance
3 Overview Our Goals Background & Previous Work Algorithm Overview Implementation Details Performance Results Conclusions & Future Work
Background & Previous Work
5 Collision Avoidance Static & Dynamic Obstacles Collision Avoidance is a well studied problem Velocity Obstacles [Fiorini & Shillier, 98] Inevitable Collision States [Fraichard & Asama, 98] Dynamic Window [Fox, Burgard, & Thrun, 97] Focused on one robot avoiding static and moving obstacles Inappropriate for “responsive” obstacles
6 Collision Avoidance Responsive Obstacles Reciprocal Velocity Obstacles(RVO) [Berg et al, ‘08] Extends Velocity Obstacle concept Oscillation free, guaranteed avoidance (2 agents) Limitations Guarantees limited to 2 agents
7 ORCA A new algorithm for collision avoidance A linear programming based formulation Extends Velocity Obstacle concepts Velocity Based Provides sufficient conditions for avoiding collisions Decisions are made independently, w/o communication Guaranteed avoidance
ORCA Algorithmic Details
9 Inputs: Independent Robots Current Velocity of all Own Desired Velocity ( V pref ) Outputs: New collision-free velocity ( V out ) Description – Each Robot: Determines permitted (collision free) velocities Chooses velocity closest to V pref which is permitted Problem overview
10 Velocity Space & Forbidden Regions Forbidden Regions Potentially colliding velocities An “obstacle” in velocity space VO: Velocity Obstacle [Fiorini & Shiller 98] Assumes other agent is unresponsive Appropriate for static & unresponsive obstacles RVO: Reciprocal VO [van den Berg et al., 08] Assumes other agent is mutually cooperating
11 Velocity Obstacle Time horizon τ Relative velocities A–B Relative velocities B–A symmetric in O
12 Permitted Velocities If velocity of B is v B A should choose velocity outside VO A|B {v B }. If velocity of B is in set V B permitted velocities PV A|B (V B ) for A are outside VO A|B V B
13 Reciprocally Permitted Velocities Set V A of velocities for A and set V B of velocities for B are reciprocally permitted if V A PV A|B (V B ) and V B PV B|A (V A ) Set V A of velocities for A and set V B of velocities for B are reciprocally maximal if V A PV A|B (V B ) and V B PV B|A (V A )
14 ORCA u – Vector which escapes VO τ A|B Each robot is responsible for ½u ORCA τ A|B The set of velocities allowed to A Sufficient condition for collision avoidance if B chooses from ORCA τ A|B
15 Optimality Infinitely many half plane pairs reciprocally permitted ORCA chooses plans to: Maximize velocities “near” current velocities Fairly distribute permitted velocities between A and B For any radius r:
16 Multi-Robot Navigation Choose a velocity inside ALL pair-wise ORCAs Efficient O(n) implementation w/ Linear Programming
Performance Results
18 Small Scale Simulation (1) Two robots are asked to swap positions Generated Path is: Smooth Collision free
19 Small Scale Simulation (2) 5 Robots moving to antipodal points Smooth, Collision paths result
20 Performance - Scaling Our performance sales nearly linearly w.r.t. Number of Cores Number of Agents
21 Large Scale Simulations 1,000 Virtual robots move across a circle Collision Avoidance is a major component of Crowd Sims. ORCA can be applied to virtual agents to produce believable motion
22 Conclusion & Future Work ORCA: Efficient, decentralized, guaranteed collision avoidance 3-5µs per robot No explicit communication required Fast running time & smooth, convincing behavior Future Work Incorporating kinematic & dynamic constraints Implement in 3D environments
23 Acknowledgments Funding & Support ARO (Contract W911NF ) DARPA/RDECOM (Contracts N C-0043 & WR91CRB- 08-C-0137) Intel Intel fellowship Microsoft National Science Foundation (Award )
24 Questions? ?
Backup Slides
26 Choosing V opt V opt impacts the robot behavior V opt = V pref Vpref may not be know No solution guaranteed to exist V opt = 0 Deadlock likely in dense scenarios V opt = V cur Nice balance V cur ~= V perf in low density V cur ~= 0 in high density
27 Densely Packed Conditions If V opt != 0, solution may not exist Find the “least bad” velocity Efficient implementation possible with 3D linear programming
28 Static Obstacles ORCAs can also be created for obstacles in the environment ORCA is half-plane tangent to VO τ A|O