Date post: | 18-Dec-2015 |
Category: |
Documents |
Upload: | brent-holland |
View: | 215 times |
Download: | 1 times |
Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh ManochaUniversity of North Carolina at Chapel Hill
Optimal Reciprocal Collision Optimal Reciprocal Collision Avoidance (ORCA)Avoidance (ORCA)
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
http://gamma.cs.unc.edu/CA 3
OverviewOverview
Our Goals Background & Previous Work Algorithm Overview Implementation Details
•Performance Results Conclusions & Future Work
http://gamma.cs.unc.edu/CA
Background & Previous WorkBackground & Previous Work
http://gamma.cs.unc.edu/CA 5
Collision Avoidance Static & Dynamic Obstacles
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
http://gamma.cs.unc.edu/CA 6
Collision Avoidance Responsive Obstacles
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
http://gamma.cs.unc.edu/CA 7
ORCAORCA
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
http://gamma.cs.unc.edu/CA
ORCA Algorithmic DetailsORCA Algorithmic Details
http://gamma.cs.unc.edu/CA 9
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
Problem overviewProblem overview
http://gamma.cs.unc.edu/CA 10
Velocity Space & Forbidden Regions
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
http://gamma.cs.unc.edu/CA 11
Velocity ObstacleVelocity Obstacle
Time horizon τ Relative velocities A–B Relative velocities B–A symmetric in O
http://gamma.cs.unc.edu/CA 12
Permitted VelocitiesPermitted Velocities
If velocity of B is vB
•A should choose velocity outside VOA|B {v
B}.
If velocity of B is in set VB •permitted velocities
PVA|B(VB) for A are outside VOA|B V
B
http://gamma.cs.unc.edu/CA 13
Reciprocally Permitted Velocities
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)
http://gamma.cs.unc.edu/CA 14
ORCAORCA
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
http://gamma.cs.unc.edu/CA 15
OptimalityOptimality
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:
http://gamma.cs.unc.edu/CA 16
Multi-Robot Navigation
Multi-Robot Navigation
Choose a velocity inside ALL pair-wise ORCAs Efficient O(n) implementation w/ Linear
Programming
http://gamma.cs.unc.edu/CA
Performance ResultsPerformance Results
http://gamma.cs.unc.edu/CA 18
Small Scale Simulation (1)
Small Scale Simulation (1)
Two robots are asked to swap positions
Generated Path is:
•Smooth
•Collision free
http://gamma.cs.unc.edu/CA 19
Small Scale Simulation (2)
Small Scale Simulation (2)
5 Robots moving to antipodal points
Smooth, Collision paths result
http://gamma.cs.unc.edu/CA 20
Performance - ScalingPerformance - Scaling
Our performance sales nearly linearly w.r.t.• Number of Cores
• Number of Agents
http://gamma.cs.unc.edu/CA 21
Large Scale SimulationsLarge 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
http://gamma.cs.unc.edu/CA 22
Conclusion & Future Work
Conclusion & Future Work
ORCA:•Efficient, decentralized, guaranteed
collision avoidance3-5µs per robot
•No explicit communication required•Fast running time & smooth, convincing
behavior Future Work
•Incorporating kinematic & dynamic constraints
•Implement in 3D environments
http://gamma.cs.unc.edu/CA 23
AcknowledgmentsAcknowledgments
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)
http://gamma.cs.unc.edu/CA 24
Questions?Questions?
?
http://gamma.cs.unc.edu/CA
Backup SlidesBackup Slides
http://gamma.cs.unc.edu/CA 26
Choosing VoptChoosing 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
http://gamma.cs.unc.edu/CA 27
Densely Packed Conditions
Densely Packed Conditions
If Vopt != 0, solution may not exist•Find the “least bad” velocity•Efficient implementation possible with
3D linear programming
http://gamma.cs.unc.edu/CA 28
Static ObstaclesStatic Obstacles
ORCAs can also be created for obstacles in the environment
ORCA is half-plane tangent to VO τ A|O