rvo2-3d
Optimal Reciprocal Collision Avoidance in Three Dimensions (C++)
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.6%) to scientific vocabulary
Keywords
Repository
Optimal Reciprocal Collision Avoidance in Three Dimensions (C++)
Basic Info
- Host: GitHub
- Owner: snape
- License: apache-2.0
- Language: C++
- Default Branch: main
- Homepage: https://gamma.cs.unc.edu/RVO2/
- Size: 203 KB
Statistics
- Stars: 280
- Watchers: 11
- Forks: 66
- Open Issues: 7
- Releases: 2
Topics
Metadata Files
README.md
Optimal Reciprocal Collision Avoidance in Three Dimensions
https://gamma.cs.unc.edu/RVO2/
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.0
Licensed 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
https://www.apache.org/licenses/LICENSE-2.0
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.
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
<!-- REUSE-IgnoreEnd -->
Owner
- Name: Jamie Snape
- Login: snape
- Kind: user
- Location: Cary, North Carolina
- Website: https://www.jamiesnape.io/
- Twitter: jamiesnape
- Repositories: 8
- Profile: https://github.com/snape
This account contains my academic work and personal website. Most current development is under my @jamiesnape account.
Citation (CITATION.cff)
# -*- mode: yaml; -*-
# vi: set ft=yaml:
#
# CITATION.cff
# RVO2-3D Library
#
# SPDX-FileCopyrightText: 2008 University of North Carolina at Chapel Hill
# SPDX-License-Identifier: CC-BY-SA-4.0
#
# Creative Commons Attribution-ShareAlike 4.0 International Public License
#
# You are free to:
#
# * Share -- copy and redistribute the material in any medium or format
#
# * ShareAlike -- If you remix, transform, or build upon the material, you must
# distribute your contributions under the same license as the original
#
# * Adapt -- remix, transform, and build upon the material for any purpose, even
# commercially.
#
# The licensor cannot revoke these freedoms as long as you follow the license
# terms.
#
# Under the following terms:
#
# * Attribution -- You must give appropriate credit, provide a link to the
# license, and indicate if changes were made. You may do so in any reasonable
# manner, but not in any way that suggests the licensor endorses you or your
# use.
#
# * No additional restrictions -- You may not apply legal terms or technological
# measures that legally restrict others from doing anything the license
# permits.
#
# Notices:
#
# * You do not have to comply with the license for elements of the material in
# the public domain or where your use is permitted by an applicable exception
# or limitation.
#
# * No warranties are given. The license may not give you all of the permissions
# necessary for your intended use. For example, other rights such as
# publicity, privacy, or moral rights may limit how you use the material.
#
# Please send all bug reports to <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
#
# <https://gamma.cs.unc.edu/RVO2/>
#
---
cff-version: 1.2.0
abstract: >-
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.
authors:
- address: >-
201 S Columbia St, Frederick P. Brooks, Jr. Computer Science Bldg
affiliation: 'University of North Carolina at Chapel Hill'
city: 'Chapel Hill'
country: US
family-names: Berg
given-names: Jur
name-particle: 'van den'
post-code: 27599
region: NC
- address: >-
201 S Columbia St, Frederick P. Brooks, Jr. Computer Science Bldg
affiliation: 'University of North Carolina at Chapel Hill'
city: 'Chapel Hill'
country: US
family-names: Guy
given-names: 'Stephen J.'
orcid: 'https://orcid.org/0000-0001-8986-5817'
post-code: 27599
region: NC
website: 'https://www-users.cse.umn.edu/~sjguy/'
- address: >-
201 S Columbia St, Frederick P. Brooks, Jr. Computer Science Bldg
affiliation: 'University of North Carolina at Chapel Hill'
city: 'Chapel Hill'
country: US
family-names: Snape
given-names: Jamie
orcid: 'https://orcid.org/0000-0002-3326-9765'
post-code: 27599
region: NC
website: 'https://www.jamiesnape.io/'
- address: >-
201 S Columbia St, Frederick P. Brooks, Jr. Computer Science Bldg
affiliation: 'University of North Carolina at Chapel Hill'
city: 'Chapel Hill'
country: US
family-names: Lin
given-names: 'Ming C.'
orcid: 'https://orcid.org/0000-0003-3736-6949'
post-code: 27599
region: NC
website: 'https://www.cs.umd.edu/people/lin/'
- address: >-
201 S Columbia St, Frederick P. Brooks, Jr. Computer Science Bldg
affiliation: 'University of North Carolina at Chapel Hill'
city: 'Chapel Hill'
country: US
family-names: Manocha
given-names: Dinesh
orcid: 'https://orcid.org/0000-0001-7047-9801'
post-code: 27599
region: NC
website: 'https://www.cs.umd.edu/people/dmanocha/'
identifiers:
- type: doi
value: '10.5281/zenodo.7039619'
keywords:
- 'collision avoidance'
- 'mobile robots'
- 'motion planning'
- 'multi-robot systems'
- navigation
license: 'Apache-2.0'
message: >-
If you use this software, please cite it using the metadata from this file
and the metadata from 'preferred-citation'.
references:
- abstract: >-
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.
authors:
- address: >-
201 S Columbia St, Frederick P. Brooks, Jr. Computer Science Bldg
affiliation: 'University of North Carolina at Chapel Hill'
city: 'Chapel Hill'
country: US
family-names: Berg
given-names: Jur
name-particle: 'van den'
post-code: 27599
region: NC
- address: >-
201 S Columbia St, Frederick P. Brooks, Jr. Computer Science Bldg
affiliation: 'University of North Carolina at Chapel Hill'
city: 'Chapel Hill'
country: US
family-names: Guy
given-names: 'Stephen J.'
orcid: 'https://orcid.org/0000-0001-8986-5817'
post-code: 27599
region: NC
website: 'https://www-users.cse.umn.edu/~sjguy/'
- address: >-
201 S Columbia St, Frederick P. Brooks, Jr. Computer Science Bldg
affiliation: 'University of North Carolina at Chapel Hill'
city: 'Chapel Hill'
country: US
family-names: Lin
given-names: 'Ming C.'
orcid: 'https://orcid.org/0000-0003-3736-6949'
post-code: 27599
region: NC
website: 'https://www.cs.umd.edu/people/lin/'
- address: >-
201 S Columbia St, Frederick P. Brooks, Jr. Computer Science Bldg
affiliation: 'University of North Carolina at Chapel Hill'
city: 'Chapel Hill'
country: US
family-names: Manocha
given-names: Dinesh
orcid: 'https://orcid.org/0000-0001-7047-9801'
post-code: 27599
region: NC
website: 'https://www.cs.umd.edu/people/dmanocha/'
conference:
address: 'Hotel Astoria, Pilatusstrasse 29'
city: Lucerne
country: CH
date-end: '2009-09-03'
date-start: '2009-08-31'
name: '14th International Symposium of Robotics Research (ISRR)'
post-code: 6002
contact:
- address: >-
201 S Columbia St, Frederick P. Brooks, Jr. Computer Science Bldg
affiliation: 'University of North Carolina at Chapel Hill'
city: 'Chapel Hill'
country: US
family-names: Guy
given-names: 'Stephen J.'
orcid: 'https://orcid.org/0000-0001-8986-5817'
post-code: 27599
region: NC
website: 'https://www-users.cse.umn.edu/~sjguy/'
collection-doi: '10.1007/978-3-642-19457-3'
collection-title: >-
Robotics Research: The 14th International Symposium ISRR
collection-type: proceedings
copyright: >-
Copyright © 2011 Springer Verlag
editors:
- address: >-
Institute of Robotics and Intelligent Systems (IRIS), Autonomous
Systems Lab, Leonhardstrasse 21
affiliation: ETH Zürich
city: Zürich
country: CH
family-names: Pradalier
given-names: Cédric
orcid: 'https://orcid.org/0000-0002-1746-2733'
post-code: 8092
- address: >-
Institute of Robotics and Intelligent Systems (IRIS), Autonomous
Systems Lab, Leonhardstrasse 21
affiliation: ETH Zürich
city: Zürich
country: CH
family-names: Siegwart
given-names: Roland
orcid: 'https://orcid.org/0000-0002-2760-7983'
post-code: 8092
- address: >-
Deutsches Zentrum für Luft und Raumfahrt (DLR), Institut für Robotik
und Mechatronik, Münchener Straße 20
affiliation: German Aerospace Center
city: 'Oberpfaffenhofen-Weßling'
country: DE
family-names: Hirzinger
given-names: Gerhard
post-code: 82234
end: 19
identifiers:
- type: doi
value: '10.1007/978-3-642-19457-3_1'
isbn: '978-3-642-19456-6'
keywords:
- 'collision avoidance'
- 'mobile robots'
- 'motion planning'
- 'multi-robot systems'
- navigation
publisher:
address: 'Tiergartenstraße 17'
city: Heidelberg
country: DE
name: 'Springer Verlag'
post-code: 69121
languages:
- en
month: 5
pages: 17
start: 3
title: 'Reciprocal n-body collision avoidance'
type: 'conference-paper'
url: 'https://gamma.cs.unc.edu/ORCA/'
volume: 70
year: 2011
- abstract: >-
We present an algorithm for collision-free navigation of multiple flying
robots in three-dimensional workspace. Our approach extends the model of a
simple car to a simple-airplane, which has constraints on speed and
steering angle and includes a configuration variable for the altitude. We
use a locally optimal reciprocal collision avoidance scheme that computes
the trajectory without any collisions or oscillations for each airplane
independently. In addition, our algorithm explicitly considers the
kinematic and dynamic constraints of a simple-airplane and uses the notion
of variable reciprocity when choosing velocities to ensure that
simple-airplanes that are less constrained take more responsibility for
avoiding collisions. We test our approach in two simulations and compute
collision-free and oscillation-free trajectories that satisfy the kinematic
and dynamic constraints of each simple-airplane.
authors:
- address: >-
201 S Columbia St, Frederick P. Brooks, Jr. Computer Science Bldg
affiliation: 'University of North Carolina at Chapel Hill'
city: 'Chapel Hill'
country: US
family-names: Snape
given-names: Jamie
orcid: 'https://orcid.org/0000-0002-3326-9765'
post-code: 27599
region: NC
website: 'https://www.jamiesnape.io/'
- address: >-
201 S Columbia St, Frederick P. Brooks, Jr. Computer Science Bldg
affiliation: 'University of North Carolina at Chapel Hill'
city: 'Chapel Hill'
country: US
family-names: Manocha
given-names: Dinesh
orcid: 'https://orcid.org/0000-0001-7047-9801'
post-code: 27599
region: NC
website: 'https://www.cs.umd.edu/people/dmanocha/'
conference:
address: '555 W Fifth Ave, William A. Egan Civic and Convention Center'
city: Anchorage
country: CH
date-end: '2010-05-03'
date-start: '2010-05-08'
name: >-
2010 IEEE International Conference on Robotics and Automation (ICRA)
post-code: 99501
region: AK
contact:
- address: >-
201 S Columbia St, Frederick P. Brooks, Jr. Computer Science Bldg
affiliation: 'University of North Carolina at Chapel Hill'
city: 'Chapel Hill'
country: US
family-names: Snape
given-names: Jamie
orcid: 'https://orcid.org/0000-0002-3326-9765'
post-code: 27599
region: NC
website: 'https://www.jamiesnape.io/'
collection-doi: '10.1109/ICRA11042.2010'
collection-title: >-
Proceedings of the 2010 IEEE International Conference on Robotics and
Automation (ICRA)
collection-type: proceedings
copyright: >-
Copyright © 2010 Institute of Electrical and Electronics Engineers
date-published: '2010-07-15'
end: 3980
identifiers:
- type: doi
value: '10.1109/ROBOT.2010.5509580'
isbn: '978-1-4244-5038-1'
issn: '1050-4729'
keywords:
- 'collision avoidance'
- 'mobile robots'
- 'motion planning'
- 'multi-robot systems'
- navigation
publisher:
address: '3 Park Ave 17th Fl'
city: 'New York'
country: US
name: 'Institute of Electrical and Electronics Engineers'
post-code: 10016
region: NY
languages:
- en
month: 5
pages: 6
start: 3974
title: 'Navigating Multiple Simple-Airplanes in 3D Workspace'
type: 'conference-paper'
url: 'https://gamma.cs.unc.edu/S-AIRPLANE/'
year: 2010
repository-code: 'https://github.com/snape/RVO2-3D'
title: 'Optimal Reciprocal Collision Avoidance in Three Dimensions'
type: software
url: 'https://gamma.cs.unc.edu/RVO2/'
GitHub Events
Total
- Watch event: 23
- Delete event: 2
- Push event: 30
- Pull request event: 10
- Fork event: 4
- Create event: 7
Last Year
- Watch event: 23
- Delete event: 2
- Push event: 30
- Pull request event: 10
- Fork event: 4
- Create event: 7
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 23
- Average time to close issues: N/A
- Average time to close pull requests: about 2 months
- Total issue authors: 0
- Total pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.48
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 23
Past Year
- Issues: 0
- Pull requests: 17
- Average time to close issues: N/A
- Average time to close pull requests: 10 minutes
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.06
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 17
Top Authors
Issue Authors
Pull Request Authors
- renovate[bot] (17)
- dependabot[bot] (6)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
- Total downloads: unknown
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 2
proxy.golang.org: github.com/snape/rvo2-3d
- Documentation: https://pkg.go.dev/github.com/snape/rvo2-3d#section-documentation
- License: apache-2.0
-
Latest release: v1.0.1
published almost 10 years ago
Rankings
proxy.golang.org: github.com/snape/RVO2-3D
- Documentation: https://pkg.go.dev/github.com/snape/RVO2-3D#section-documentation
- License: apache-2.0
-
Latest release: v1.0.1
published almost 10 years ago
Rankings
Dependencies
- cmakelang *
- reuse *
- ubuntu 22.04 build