Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)"— Presentation transcript:

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

2 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 3 Overview  Our Goals  Background & Previous Work  Algorithm Overview  Implementation Details Performance Results  Conclusions & Future Work

4 http://gamma.cs.unc.edu/CA Background & Previous Work

5 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA ORCA Algorithmic Details

9 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 11 Velocity Obstacle  Time horizon τ  Relative velocities A–B  Relative velocities B–A symmetric in O

12 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 16 Multi-Robot Navigation  Choose a velocity inside ALL pair-wise ORCAs  Efficient O(n) implementation w/ Linear Programming

17 http://gamma.cs.unc.edu/CA Performance Results

18 http://gamma.cs.unc.edu/CA 18 Small Scale Simulation (1)  Two robots are asked to swap positions  Generated Path is: Smooth Collision free

19 http://gamma.cs.unc.edu/CA 19 Small Scale Simulation (2)  5 Robots moving to antipodal points  Smooth, Collision paths result

20 http://gamma.cs.unc.edu/CA 20 Performance - Scaling  Our performance sales nearly linearly w.r.t. Number of Cores Number of Agents

21 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 24 Questions? ?

25 http://gamma.cs.unc.edu/CA Backup Slides

26 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 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 http://gamma.cs.unc.edu/CA 28 Static Obstacles  ORCAs can also be created for obstacles in the environment  ORCA is half-plane tangent to VO τ A|O


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

Similar presentations


Ads by Google