Contact: to report bugs or suggest novel functionality, please contact Jur van den Berg or Dinesh Manocha at geom@cs.unc.edu.
Maintained by: Jur van den Berg
Latest Update: 2/09/2009
DOWNLOAD RVO VERSION 1.1
RVO v1.1 (click here to download)
This release contains documentation, the source code for the RVO library, and a simple example program. RVO can be compiled on Windows and
UNIX platforms. Visual Studio .NET 2005 solution files for use on windows platforms are included.
VERSION HISTORY / RELEASE NOTES
2/09/2009. Released RVO v1.1
The new release comes with installation support for UNIX like systems,
including Macintosh (see also the documentation).
The user can specify to automatically connect roadmap vertices for a
specific radius. This means that an edge is only added
between two vertices if it has at least the specified distance from the
obstacles. RVOSimulator::setRoadmapAutomatic now takes a float instead of a
bool. See the documentation for more details.
The input obstacles may freely intersect each other in the new version (this
was not allowed in the previous version).
The previous version of the library would crash if two agents have exactly the
same position. This has been fixed in the new release.
In the new version, agents only progress to a new subgoal when they can
entirely see them. This prevents agents hitting obstacles when moving around a
corner. If an agent loses track of its subgoal, it searches among all roadmap
vertices for a new subgoal (the previous version first attempted the roadmap
neighbors of its previous subgoal, which occasionally lead to some awkward
behavior).
The obstacle Kd-tree has been improved: the obstacles are split in the process to have a more efficient tree. In the previous
version, the entire obstacle would have been stored in both the left and right
subtree. In many cases this does not make a big difference, but worst case
behavior is much better. Note that because of this change, new obstacles may be
created when the input is processed (i.e. when RVOSimulator::initSimulation is
called).
Visibility queries are performed using the obstacle Kd-tree in the new
version. In the old version, this was based on rotational sweeps performed at
roadmap vertices. This was unflexible. The new implementation allows the
interface changes mentioned above.
The agent Kd-tree for neighbor searching has been improved: maximally 10
agents are stored in each leaf, as opposed to 1 in the previous version (the
number 10 is hard coded).
The sampling of candidate velocities for agents has been optimized.
Calls to mathematical functions like sqrt have been replaced by std::sqrt.
This is more efficient on some compilers.
The roadmap class has been removed to make the architecture of the library
"flatter".
Some superfluous (expensive) divisions have been eliminated.
The RVO library is free for non-commercial use only.
Copyright 2008 The University of North Carolina at Chapel Hill.
All Rights Reserved.
Permission to use, copy, modify OR distribute this software and its documentation for educational, research and non-profit purposes, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and the following three paragraphs appear in all copies.
IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
The authors may be contacted via:
US Mail:
Jur van den Berg Dinesh Manocha Department of Computer Science
Sitterson Hall, CB #3175
University of North Carolina
Chapel Hill, NC 27599-3175