Velocity obstacle

The velocity obstacle VOAB for a robot A, with position xA, induced by another robot B, with position xB and velocity vB.

In robotics and motion planning, a velocity obstacle, commonly abbreviated VO, is the set of all velocities of a robot that will result in a collision with another robot at some moment in time, assuming that the other robot maintains its current velocity.[1] If the robot chooses a velocity inside the velocity obstacle then the two robots will eventually collide, if it chooses a velocity outside the velocity obstacle, such a collision is guaranteed not to occur.[1]

This algorithm for robot collision avoidance has been repeatedly rediscovered and published under different names: in 1989 as a maneuvering-board approach[2], in 1993 it was first introduced as the "velocity obstacle"[3], in 1998 as collision cones[4], and in 2009 as forbidden velocity maps[5]. The same algorithm has been used in maritime port navigation since at least 1903[6].

The velocity obstacle for a robot A induced by a robot B may be formally written as

VO_{A|B} = \{ \mathbf{v}\,|\, \exists t > 0 : (\mathbf{v} - \mathbf{v}_B)t \in D(\mathbf{x}_B - \mathbf{x}_A, r_A + r_B) \}

where A has position \mathbf{x}_A and radius rA, and B has position \mathbf{x}_B, radius rB, and velocity \mathbf{v}_B. The notation D(\mathbf{x}, r) represents a disc with center \mathbf{x} and radius r.

Variations include common velocity obstacles (CVO),[7], finite-time-interval velocity obstacles (FVO),[8] generalized velocity obstacles (GVO),[9] hybrid reciprocal velocity obstacles (HRVO),[10] nonlinear velocity obstacles (NLVO),[11] reciprocal velocity obstacles (RVO),[12] and recursive probabilistic velocity obstacles (PVO).[13]


  1. ^ a b Fiorini, P.; Shiller, Z. (July 1998). "Motion planning in dynamic environments using velocity obstacles". The International Journal of Robotics Research (Thousand Oaks, Calif.: SAGE Publications) 17 (7): 760–772. doi:10.1177/027836499801700706. ISSN 0278-3649. 
  2. ^ Tychonievich, L. P.; Zaret, D.; Mantegna, R.; Evans, R.; Muehle, E.; Martin, S. (1989). "A maneuvering-board approach to path planning with moving obstacles". International Joint conference on Artificial Intelligence (IJCAI). pp. 1017–1021. 
  3. ^ Fiorini, P.; Shiller, Z. (1993). "Motion planning in dynamic environments using the relative velocity paradigm". IEEE Conference on Robotics and Automation. pp. 560–565. 
  4. ^ Chakravarthy, A.; Ghose, D. (September 1998). "Obstacle avoidance in a dynamic environment: A collision cone approach". IEEE Transactions on Systems, Man and Cybernetics—Part A: Systems and Humans 28 (5): 562–574. doi:10.1109/3468.709600. 
  5. ^ Damas, B.; Santos-Victor, J. (2009). "Avoiding moving obstacles: the forbidden velocity map". IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). pp. 4393–4398. 
  6. ^ Miller, F. S.; Everett, A. F. (1903). Instructions for the Use of Martin’s Mooring Board and Battenberg’s Course Indicator. Authority of the Lords of Commissioners of the Admirality. 
  7. ^ Abe, Y.; Yoshiki, M. (November 2001). "Collision avoidance method for multiple autonomous mobile agents by implicit cooperation". IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 01). New York, N.Y.: IEEE.. pp. 1207–1212. doi:10.1109/IROS.2001.977147. 
  8. ^ Guy, S. J.; Chhugani, J.; Kim, C.; Satish, N.; Lin, M.; Manocha, D.; Dubey, P. (August 2009). "ClearPath: Highly parallel collision avoidance for multi-agent simulation". ACM SIGGRAPH/Eurographics Symposium on Computer Animation (SCA 09). New York, N.Y.: ACM.. pp. 177–187. doi:10.1145/1599470.1599494. 
  9. ^ Wilkie, D.; v.d. Berg, J.; Manocha, D. (October 2009). "Generalized velocity obstacles". IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 09). New York, N.Y.: IEEE.. doi:10.1109/IROS.2009.5354175. 
  10. ^ Snape, J.; v.d. Berg, J.; Guy, S. J.; Manocha, D. (October 2009). "Independent navigation of multiple mobile robots with hybrid reciprocal velocity obstacles". IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 09). New York, N.Y.: IEEE. 
  11. ^ Large, F.; Sekhavat, S.; Shiller, Z.; Laugier, C. (December 2002). "Using non-linear velocity obstacles to plan motions in a dynamic environment". IEEE International Conference on Control, Automation, Robotics and Vision (ICARCV 02). New York, N.Y.: IEEE. pp. 734–739. doi:10.1109/ICARCV.2002.1238513. 
  12. ^ v.d. Berg, J.; Lin, M.; Manocha, D. (May 2008). "Reciprocal velocity obstacles for real-time multi-agent navigation". IEEE International Conference on Robotics and Automation (ICRA 08). New York, N.Y.: IEEE. pp. 1928–1935. doi:10.1109/ROBOT.2008.4543489. 
  13. ^ Fulgenzi, C.; Spalanzani, A.; Laugier, C. (April 2007). "Dynamic obstacle avoidance in uncertain environment combining PVOs and occupancy grid". IEEE International Conference on Robotics and Automation (ICRA 07). New York, N.Y.: IEEE. pp. 1610–1616. doi:10.1109/ROBOT.2007.363554.