jur van den berg, stephen j. guy, ming lin, dinesh manocha university of north carolina at chapel...
TRANSCRIPT
![Page 1: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/1.jpg)
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)
![Page 2: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/2.jpg)
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
![Page 3: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/3.jpg)
http://gamma.cs.unc.edu/CA 3
OverviewOverview
Our Goals Background & Previous Work Algorithm Overview Implementation Details
•Performance Results Conclusions & Future Work
![Page 4: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/4.jpg)
http://gamma.cs.unc.edu/CA
Background & Previous WorkBackground & Previous Work
![Page 5: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/5.jpg)
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
![Page 6: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/6.jpg)
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
![Page 7: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/7.jpg)
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
![Page 8: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/8.jpg)
http://gamma.cs.unc.edu/CA
ORCA Algorithmic DetailsORCA Algorithmic Details
![Page 9: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/9.jpg)
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
![Page 10: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/10.jpg)
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
![Page 11: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/11.jpg)
http://gamma.cs.unc.edu/CA 11
Velocity ObstacleVelocity Obstacle
Time horizon τ Relative velocities A–B Relative velocities B–A symmetric in O
![Page 12: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/12.jpg)
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
![Page 13: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/13.jpg)
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)
![Page 14: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/14.jpg)
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
![Page 15: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/15.jpg)
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:
![Page 16: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/16.jpg)
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
![Page 17: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/17.jpg)
http://gamma.cs.unc.edu/CA
Performance ResultsPerformance Results
![Page 18: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/18.jpg)
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
![Page 19: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/19.jpg)
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
![Page 20: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/20.jpg)
http://gamma.cs.unc.edu/CA 20
Performance - ScalingPerformance - Scaling
Our performance sales nearly linearly w.r.t.• Number of Cores
• Number of Agents
![Page 21: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/21.jpg)
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
![Page 22: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/22.jpg)
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
![Page 23: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/23.jpg)
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)
![Page 24: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/24.jpg)
http://gamma.cs.unc.edu/CA 24
Questions?Questions?
?
![Page 25: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/25.jpg)
http://gamma.cs.unc.edu/CA
Backup SlidesBackup Slides
![Page 26: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/26.jpg)
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
![Page 27: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/27.jpg)
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
![Page 28: Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d155503460f949e9dcf/html5/thumbnails/28.jpg)
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