https://github.com/snape/rvo2-3d
Optimal Reciprocal Collision Avoidance in Three Dimensions (C++)
https://github.com/snape/rvo2-3d
collision-avoidance cpp motion-planning robotics velocity-obstacles virtual-agents
Last synced: 28 days ago
JSON representation
Optimal Reciprocal Collision Avoidance in Three Dimensions (C++)
- Host: GitHub
- URL: https://github.com/snape/rvo2-3d
- Owner: snape
- License: apache-2.0
- Created: 2013-06-26T01:38:14.000Z (over 12 years ago)
- Default Branch: main
- Last Pushed: 2025-09-01T11:49:50.000Z (about 1 month ago)
- Last Synced: 2025-09-01T13:35:42.435Z (about 1 month ago)
- Topics: collision-avoidance, cpp, motion-planning, robotics, velocity-obstacles, virtual-agents
- Language: C++
- Homepage: https://gamma.cs.unc.edu/RVO2/
- Size: 203 KB
- Stars: 280
- Watchers: 11
- Forks: 66
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Citation: CITATION.cff
- Codeowners: .github/CODEOWNERS
- Security: .github/SECURITY.md
- Support: .github/SUPPORT.md
- Zenodo: .zenodo.json
Awesome Lists containing this project
README
Optimal Reciprocal Collision Avoidance in Three Dimensions
==========================================================[](https://zenodo.org/badge/latestdoi/10955299)
We present a formal approach to reciprocal collision avoidance, where multiple
independent mobile robots or agents need to avoid collisions with each other
without communication among agents while moving in a common workspace. Our
formulation, optimal reciprocal collision avoidance (ORCA), provides sufficient
conditions for collision-free motion by letting each agent take half of the
responsibility of avoiding pairwise collisions. Selecting the optimal action for
each agent is reduced to solving a low-dimensional linear program, and we prove
that the resulting motions are smooth. We test our optimal reciprocal collision
avoidance approach on several dense and complex simulation scenarios workspaces
involving thousands of agents, and compute collision-free actions for all of
them in only a few milliseconds.RVO2-3D Library is an open-source C++98 implementation of our algorithm in three
dimensions. It has a simple API for third-party applications. The user specifies
agents and their preferred velocities. The simulation is performed step-by-step
via a simple call to the library. The simulation is fully accessible and
manipulable during runtime. The library exploits multiple processors if they are
available using OpenMP for efficient parallelization of the simulation.
SPDX-FileCopyrightText: 2008 University of North Carolina at Chapel Hill
SPDX-License-Identifier: Apache-2.0Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.Please send all bug reports to [geom@cs.unc.edu](mailto:geom@cs.unc.edu).
The authors may be contacted via:
Jur van den Berg, Stephen J. Guy, Jamie Snape, Ming C. Lin, Dinesh Manocha
Dept. of Computer Science
201 S. Columbia St.
Frederick P. Brooks, Jr. Computer Science Bldg.
Chapel Hill, N.C. 27599-3175
United States of America