{"id":30815364,"url":"https://github.com/snape/rvo2","last_synced_at":"2025-09-06T08:12:43.521Z","repository":{"id":9136686,"uuid":"10926872","full_name":"snape/RVO2","owner":"snape","description":"Optimal Reciprocal Collision Avoidance (C++)","archived":false,"fork":false,"pushed_at":"2025-06-07T17:54:45.000Z","size":291,"stargazers_count":868,"open_issues_count":1,"forks_count":263,"subscribers_count":44,"default_branch":"main","last_synced_at":"2025-09-05T05:18:16.407Z","etag":null,"topics":["collision-avoidance","cpp","motion-planning","robotics","velocity-obstacles","virtual-agents"],"latest_commit_sha":null,"homepage":"https://gamma.cs.unc.edu/RVO2/","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snape.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":".zenodo.json"}},"created_at":"2013-06-25T03:11:32.000Z","updated_at":"2025-09-03T10:22:33.000Z","dependencies_parsed_at":"2023-01-11T20:15:26.213Z","dependency_job_id":"72371175-194f-49c4-ab51-8dc432cfdc6b","html_url":"https://github.com/snape/RVO2","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/snape/RVO2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snape%2FRVO2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snape%2FRVO2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snape%2FRVO2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snape%2FRVO2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snape","download_url":"https://codeload.github.com/snape/RVO2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snape%2FRVO2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273833316,"owners_count":25176280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collision-avoidance","cpp","motion-planning","robotics","velocity-obstacles","virtual-agents"],"created_at":"2025-09-06T08:12:42.292Z","updated_at":"2025-09-06T08:12:43.511Z","avatar_url":"https://github.com/snape.png","language":"C++","readme":"\u003c!--\nREADME.md\nRVO2 Library\n\nSPDX-FileCopyrightText: 2008 University of North Carolina at Chapel Hill\nSPDX-License-Identifier: CC-BY-SA-4.0\n\nCreative Commons Attribution-ShareAlike 4.0 International Public License\n\nYou are free to:\n\n* Share -- copy and redistribute the material in any medium or format\n\n* ShareAlike -- If you remix, transform, or build upon the material, you must\n  distribute your contributions under the same license as the original\n\n* Adapt -- remix, transform, and build upon the material for any purpose, even\n  commercially.\n\nThe licensor cannot revoke these freedoms as long as you follow the license\nterms.\n\nUnder the following terms:\n\n* Attribution -- You must give appropriate credit, provide a link to the\n  license, and indicate if changes were made. You may do so in any reasonable\n  manner, but not in any way that suggests the licensor endorses you or your\n  use.\n\n* No additional restrictions -- You may not apply legal terms or technological\n  measures that legally restrict others from doing anything the license\n  permits.\n\nNotices:\n\n* You do not have to comply with the license for elements of the material in\n  the public domain or where your use is permitted by an applicable exception\n  or limitation.\n\n* No warranties are given. The license may not give you all of the permissions\n  necessary for your intended use. For example, other rights such as publicity,\n  privacy, or moral rights may limit how you use the material.\n\nPlease send all bug reports to \u003cgeom@cs.unc.edu\u003e.\n\nThe authors may be contacted via:\n\nJur van den Berg, Stephen J. Guy, Jamie Snape, Ming C. Lin, Dinesh Manocha\nDept. of Computer Science\n201 S. Columbia St.\nFrederick P. Brooks, Jr. Computer Science Bldg.\nChapel Hill, N.C. 27599-3175\nUnited States of America\n\n\u003chttps://gamma.cs.unc.edu/RVO2/\u003e\n--\u003e\n\nOptimal Reciprocal Collision Avoidance\n======================================\n\n\u003chttps://gamma.cs.unc.edu/RVO2/\u003e\n\n[![DOI](https://zenodo.org/badge/10926872.svg)](https://zenodo.org/badge/latestdoi/10926872)\n\nWe present a formal approach to reciprocal collision avoidance, where multiple\nindependent mobile robots or agents need to avoid collisions with each other\nwithout communication among agents while moving in a common workspace. Our\nformulation, optimal reciprocal collision avoidance (ORCA), provides sufficient\nconditions for collision-free motion by letting each agent take half of the\nresponsibility of avoiding pairwise collisions. Selecting the optimal action for\neach agent is reduced to solving a low-dimensional linear program, and we prove\nthat the resulting motions are smooth. We test our optimal reciprocal collision\navoidance approach on several dense and complex simulation scenarios workspaces\ninvolving thousands of agents, and compute collision-free actions for all of\nthem in only a few milliseconds.\n\nRVO2 Library is an open-source C++98 implementation of our algorithm in two\ndimensions. It has a simple API for third-party applications. The user specifies\nstatic obstacles, agents, and the preferred velocities of the agents. The\nsimulation is performed step-by-step via a simple call to the library. The\nsimulation is fully accessible and manipulable during runtime. The library\nexploits multiple processors if they are available using OpenMP for efficient\nparallelization of the simulation.\n\n![Build Status](https://github.com/snape/RVO2/workflows/ci/badge.svg?branch=main)\n\n\u003c!-- REUSE-IgnoreStart --\u003e\nSPDX-FileCopyrightText: 2008 University of North Carolina at Chapel Hill  \nSPDX-License-Identifier: Apache-2.0\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\u0026nbsp;\u0026nbsp;\u003chttps://www.apache.org/licenses/LICENSE-2.0\u003e\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\nPlease send all bug reports to [geom@cs.unc.edu](mailto:geom@cs.unc.edu).\n\nThe authors may be contacted via:\n\nJur van den Berg, Stephen J. Guy, Jamie Snape, Ming C. Lin, Dinesh Manocha  \nDept. of Computer Science  \n201 S. Columbia St.  \nFrederick P. Brooks, Jr. Computer Science Bldg.  \nChapel Hill, N.C. 27599-3175  \nUnited States of America\n\u003c!-- REUSE-IgnoreEnd --\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnape%2Frvo2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnape%2Frvo2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnape%2Frvo2/lists"}