Download presentation
Presentation is loading. Please wait.
Published byBrent Holland Modified over 9 years ago
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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.