Skip to content

RVO2 Library

  • Software
  • Navigation and mapping
  • Library

A C++ library implementing optimal reciprocal collision avoidance in two dimensions, so that many independent agents can move without colliding while sharing a workspace.

Source on GitHub: github.com/snape/RVO2 (opens in a new tab). Facts read at commit 75822bb (opens in a new tab).

Licenses

Code
Apache-2.0 (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (Apache-2.0) at commit 75822bb (opens in a new tab), on 22 Oct 2026.

Commercial use
Yes

What it does

  • Implements the ORCA algorithm, letting each agent take half the responsibility for avoiding pairwise collisions without communication.
  • Reduces each agent's action choice to a low-dimensional linear program, with smooth resulting motions.
  • Offers a simple API where static obstacles, agents and preferred velocities are specified and the simulation advances step by step.
  • The simulation can be accessed and changed while it runs.
  • Uses OpenMP to run on multiple processors when they are available.
  • Reports collision-free actions for thousands of agents in only a few milliseconds in dense, complex scenarios.

Written by Robotheca from the project's README (opens in a new tab) at commit 75822bb.

Getting started

Difficulty
Intermediate

Maintenance

Status
Active: a commit in the last 90 days
Newest commit
26 Sept 2026 on main
Latest release
v2.0.2 (11 May 2016)

Checked on GitHub on 22 Oct 2026.

Robots that can run it

No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.