Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel...
-
Upload
brent-holland -
Category
Documents
-
view
217 -
download
1
Transcript of Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel...
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