1 / 28

Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha

Optimal Reciprocal Collision Avoidance (ORCA). Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill. Motivation. Robots are becoming cheaper, more mobile, and better sensing

genna
Download Presentation

Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Optimal Reciprocal Collision Avoidance (ORCA) Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill

  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

  4. 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

  8. ORCA Algorithmic Details

  9. Problem overview • Inputs: • Independent Robots • Current Velocity of all • Own Desired Velocity (Vpref) • Outputs: • New collision-free velocity (Vout) • Description – Each Robot: • Determines permitted (collision free) velocities • Chooses velocity closest to Vpref which is permitted

  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 vB • A should choose velocity outside VOA|B  {vB}. • If velocity of B is in set VB • permitted velocitiesPVA|B(VB) for A are outside VOA|B  VB

  13. Reciprocally Permitted Velocities • Set VA of velocities for A and set VB of velocities for B are reciprocally permitted if • VA PVA|B(VB) and VB PVB|A(VA) • Set VA of velocities for A and set VB of velocities for B are reciprocally maximal if • VA= PVA|B(VB) and VB= PVB|A(VA)

  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

  17. 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-04-1-0088) • DARPA/RDECOM(Contracts N61339-04-C-0043 & WR91CRB-08-C-0137) • Intel • Intel fellowship • Microsoft • National Science Foundation (Award 0636208)

  24. Questions? ?

  25. Backup Slides

  26. Choosing Vopt • Vopt impacts the robot behavior • Vopt = Vpref • Vpref may not be know • No solution guaranteed to exist • Vopt = 0 • Deadlock likely in dense scenarios • Vopt = Vcur • Nice balance • Vcur ~= Vperf in low density • Vcur ~= 0 in high density

  27. Densely Packed Conditions • If Vopt != 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

More Related