Inferensys

Glossary

Velocity Obstacle (VO)

Velocity Obstacle (VO) is a geometric construct used in robotics for local collision avoidance, defining the set of robot velocities that would result in a collision with a moving obstacle within a given time horizon.
Strategy consultant facilitating AI use case discovery workshop, sticky notes on glass wall, casual corporate meeting.
MOTION PLANNING AND TRAJECTORY OPTIMIZATION

What is Velocity Obstacle (VO)?

A geometric method for reactive, collision-free navigation among moving obstacles.

A Velocity Obstacle (VO) is a geometric construct used in local motion planning that defines the set of a robot's possible velocities which would result in a collision with a moving obstacle within a specified time horizon. It transforms the physical problem of avoiding a dynamic object into a velocity space selection problem, where the planner simply chooses any velocity outside the forbidden VO region. This enables reactive, real-time collision avoidance without requiring global path replanning, making it fundamental for multi-agent systems and autonomous navigation in dynamic environments like warehouses or crowded spaces.

The core VO algorithm assumes linear motion at constant velocity for both the robot and obstacles over a short time window (τ). It constructs a collision cone in velocity space, originating from the robot's current position. Any velocity vector whose tip lies inside this cone leads to a future collision. The planner then selects the preferred velocity—often pointing toward a global goal—that is closest to the admissible velocities outside all VO sets. Extensions like Reciprocal Velocity Obstacles (RVO) and Optimal Reciprocal Collision Avoidance (ORCA) model cooperative behavior to prevent oscillatory movements between agents, ensuring smooth and predictable navigation.

GEOMETRIC COLLISION AVOIDANCE

Key Characteristics of Velocity Obstacles

The Velocity Obstacle (VO) is a geometric construct used for local, reactive collision avoidance. It defines the set of robot velocities that would result in a collision with a moving obstacle within a given time horizon.

01

Core Geometric Definition

A Velocity Obstacle (VO) is a cone-shaped region in the robot's velocity space. For a given obstacle, the VO is constructed by translating the Minkowski sum of the robot and obstacle shapes into velocity space, originating from the relative position vector. Any velocity vector whose tip lies inside this cone would cause a collision within a specified time horizon (τ). The apex of the cone is at the robot's current velocity. This transforms the physical collision problem into a simpler geometric test in velocity space.

02

Reactive and Local Nature

VO is fundamentally a local and reactive planner. It does not require a global map or long-term plan, making it highly efficient for dynamic environments.

  • Local Horizon: It only considers collisions within a short look-ahead time (τ), typically 2-10 seconds.
  • Sensor-Based: It operates directly on instantaneous sensor data (e.g., LiDAR, camera detections) of nearby obstacles' positions and velocities.
  • Computational Speed: The velocity selection is often a simple geometric optimization, enabling real-time execution at control loop frequencies (10-100 Hz). This makes it ideal for dynamic obstacle avoidance where paths change rapidly.
03

Velocity Selection & Optimization

The robot's objective is to select a new velocity outside all Velocity Obstacles that is as close as possible to a preferred, goal-directed velocity.

  • Feasible Velocity Space: The set of velocities achievable by the robot given its dynamic constraints (max acceleration, turn rate).
  • Optimization Criterion: The chosen velocity v_new minimizes a cost function, often: ||v_new - v_pref||, where v_pref is the velocity directed toward the global goal.
  • Reciprocity: In multi-agent settings, algorithms like Reciprocal Velocity Obstacles (RVO) adjust the VO formulation so that agents share the responsibility of avoiding each other, preventing oscillatory behavior.
04

Extensions and Variants

The basic VO formulation has been extended to handle more complex scenarios:

  • Reciprocal Velocity Obstacle (RVO): Assumes other agents are also running a similar algorithm, leading to smoother, more predictable maneuvers.
  • Hybrid Reciprocal Velocity Obstacle (HRVO): Combines concepts from VO and RVO to guarantee collision avoidance even with non-cooperative agents.
  • Generalized Velocity Obstacle (GVO): Extends VO to robots with arbitrary non-linear dynamics.
  • Nonlinear Velocity Obstacle (NLVO): Accounts for the curved trajectories that result from applying constant accelerations over the time horizon, rather than assuming constant velocity.
05

Comparison to Other Planners

VO occupies a specific niche in the motion planning hierarchy.

  • *Vs. Global Planners (A, RRT)**: VO is not for finding a full path from start to goal in a complex static map. It is a local collision avoidance module that executes within the corridor provided by a global planner.
  • Vs. Trajectory Optimization (MPC): While Model Predictive Control (MPC) also optimizes over a future horizon, it uses a full dynamic model and is more computationally intensive. VO is a lighter, geometry-first approach.
  • Vs. Dynamic Window Approach (DWA): DWA also searches in velocity space but does so by forward simulation of trajectories. VO uses a direct geometric construction, which can be faster but may make different simplifying assumptions.
06

Practical Applications & Limitations

Applications:

  • Warehouse AMRs: For avoiding other robots and human workers in dynamic aisles.
  • Drone Swarms: Enabling dense, decentralized flight without collisions.
  • Service Robots: Navigating crowded, human-populated environments like hospitals or hotels.

Key Limitations:

  • Oscillations: In dense, symmetric scenarios, agents can get stuck in back-and-forth motions.
  • Local Minima: The robot can become trapped (e.g., in a concave obstacle or dense crowd) with no local velocity leading toward the goal.
  • Assumption of Constant Velocity: The basic VO assumes obstacles move at constant velocity over τ, which can fail for highly agile or accelerating objects.
  • Responsibility: In human-robot interaction, purely reactive VO can lead to robot behavior perceived as aggressive or unpredictable.
MOTION PLANNING AND TRAJECTORY OPTIMIZATION

How the Velocity Obstacle Method Works

The Velocity Obstacle (VO) is a geometric, velocity-space method for local, reactive collision avoidance in dynamic environments.

The Velocity Obstacle (VO) is a geometric construct used in local motion planning to define the set of all robot velocities that would cause a collision with a moving obstacle within a specified time horizon. It is computed by translating the obstacle's shape into the robot's velocity space, creating a cone-shaped forbidden region. The planner then selects a new velocity from outside this cone, ensuring the robot remains on a collision-free trajectory while respecting its dynamic constraints.

This method is inherently reactive and computationally efficient, making it suitable for real-time navigation among multiple moving agents. Extensions like the Reciprocal Velocity Obstacle (RVO) and Optimal Reciprocal Collision Avoidance (ORCA) model mutual cooperation between agents to prevent oscillatory behavior. VO operates within a local planner framework, often paired with a global path planner to ensure progress toward a long-term goal while handling immediate dynamic threats.

METHOD COMPARISON

Velocity Obstacle vs. Other Collision Avoidance Methods

A technical comparison of Velocity Obstacle (VO) against other common local motion planning and reactive collision avoidance approaches, highlighting key algorithmic differences and operational trade-offs.

Feature / MetricVelocity Obstacle (VO)Dynamic Window Approach (DWA)Potential FieldsModel Predictive Control (MPC)

Core Principle

Geometric velocity-space intersection

Search over reachable velocities in a dynamic window

Artificial attractive/repulsive force gradients

Finite-horizon optimal control problem solved online

Primary Use Case

Local avoidance of moving obstacles

Reactive navigation for differential-drive robots

Simple goal attraction and obstacle repulsion

Precise trajectory tracking with constraints

Handles Moving Obstacles

Considers Robot Dynamics

Computational Complexity

O(n) for n obstacles

O(k) for k sampled velocities

O(m) for m obstacles

O(high) - NLP/QP solver per timestep

Planning Horizon

Fixed time window (τ)

Short dynamic window (~1 sec)

Instantaneous

Configurable prediction horizon (N steps)

Optimality Guarantee

None (feasibility only)

Local optimum within window

None (local minima common)

Local optimum for defined cost over horizon

Formal Safety Guarantees

Yes (for deterministic linear motion)

No

No

Yes (when combined with CBFs)

Real-Time Performance

< 10 ms

< 5 ms

< 1 ms

10-100 ms

Ease of Tuning

Medium (τ, safety margin)

High (window parameters, weights)

High (scaling gains)

Low (cost function, constraints, horizon)

Common Implementation

ORCA (Optimal Reciprocal Collision Avoidance)

ROS navigation stack

Educational robotics, simple planners

Autonomous vehicles, robotic manipulators

MOTION PLANNING AND TRAJECTORY OPTIMIZATION

Applications and Use Cases

The Velocity Obstacle (VO) method is a cornerstone for reactive, real-time collision avoidance in dynamic environments. Its geometric formulation enables robots to make safe, immediate decisions without requiring a full global plan.

01

Dynamic Collision Avoidance for Mobile Robots

The primary application of Velocity Obstacle is enabling mobile robots and autonomous vehicles to navigate safely among moving obstacles. The algorithm continuously calculates the VO cone for each nearby dynamic object. By selecting a velocity outside all VO cones, the robot guarantees collision-free motion for a defined time horizon (τ). This is critical for:

  • Warehouse logistics: AMRs (Autonomous Mobile Robots) avoiding each other and human workers.
  • Service robots: Navigating crowded public spaces like airports or hospitals.
  • Last-mile delivery vehicles: Reacting to pedestrians and cyclists in urban environments. Its reactive nature makes it robust to unpredictable motion, a key advantage over purely predictive planners.
02

Multi-Agent Navigation and Swarm Robotics

VO scales naturally to multi-robot systems where each agent is both an obstacle and a planner. In Reciprocal Velocity Obstacle (RVO) and its optimal variant ORCA, agents share the responsibility of collision avoidance. Each robot assumes others will also select collision-avoiding velocities, leading to smoother, more efficient group motion. This is foundational for:

  • Drone swarms: Coordinated flight patterns and formations.
  • Fleet coordination: Warehouses with dozens of interacting AMRs.
  • Robotic search and rescue: Multiple agents exploring an area without centralized control. The method's decentralized nature avoids a single point of failure and scales computationally with the number of nearby agents.
03

Integration with Global Planners (Hybrid Architectures)

VO is typically a local planner or collision checker within a larger hierarchical architecture. A global planner (e.g., A*, RRT) computes a long-term, coarse path. VO then executes this plan while handling local, unmodeled dynamic obstacles. This hybrid approach combines the optimality of global planning with the reactivity of VO. Common integration patterns include:

  • Using the global plan's direction to bias velocity selection within the admissible velocity space.
  • Treating VO as the low-level controller in a Model Predictive Control (MPC) framework, where the optimization cost function penalizes velocities inside VO cones.
  • Employing VO for real-time safety in legged robot locomotion, where the global planner handles footstep placement.
04

Maritime and Aerial Vehicle Collision Prevention

VO is extensively applied in domains governed by COLREGs (International Regulations for Preventing Collisions at Sea) and aviation standards. For autonomous surface vessels and unmanned aerial vehicles (UAVs), the VO formulation is extended to account for complex kinematic constraints (e.g., minimum turning radius) and right-of-way rules. The admissible velocity space is filtered not just for collision, but also for regulatory compliance. This is vital for:

  • Autonomous shipping: Large vessels avoiding each other in congested waterways.
  • Drone delivery in controlled airspace: Adhering to strict separation standards.
  • Search and rescue UAVs: Operating safely near other aircraft in dynamic missions.
05

Human-Robot Collaboration and Shared Workspaces

In collaborative robotics (cobots), VO ensures safe physical interaction by modeling the human operator as a dynamic obstacle with predictable intent. Advanced implementations use sensor fusion (e.g., depth cameras, LiDAR) to estimate human velocity and generate a protective VO. The robot's speed and trajectory are modulated in real-time, allowing for:

  • Close-proximity assembly: A robot arm handing tools to a worker while avoiding accidental contact.
  • Mobile manipulators in factories: Navigating aisles where humans are present.
  • Rehabilitation robotics: Assisting a patient's movement while maintaining a safe boundary. This application emphasizes the need for accurate velocity estimation and a carefully chosen time-to-collision (τ) parameter.
06

Real-Time Strategy Games and Simulation

Beyond physical robotics, VO principles are used in computer graphics and real-time strategy (RTS) games for simulating believable crowd and unit movement. The algorithm allows hundreds of agents to navigate towards individual goals while avoiding collisions, creating emergent, fluid group behaviors. Game engines implement optimized 2D versions of RVO2 for pathfinding. Key benefits include:

  • Computational efficiency: Handles dense crowds with O(n) complexity relative to nearby agents.
  • Natural-looking motion: Avoids the "robotic" grid-locked movement of simpler rule-based systems.
  • Dynamic replanning: Agents instantly react to new obstacles or changing goals. This demonstrates VO's utility as a general algorithm for multi-agent navigation in virtual spaces.
VELOCITY OBSTACLE

Frequently Asked Questions

A core algorithm for reactive collision avoidance in dynamic environments, the Velocity Obstacle (VO) method enables robots and autonomous vehicles to navigate safely around moving obstacles in real time.

A Velocity Obstacle (VO) is a geometric construct in velocity space that defines the set of all robot velocities which would result in a collision with a moving obstacle within a specified future time horizon (τ).

Formally, for a robot at position p_r and an obstacle at position p_o moving with velocity v_o, the VO is the set of robot velocities v_r such that the relative velocity vector (v_r - v_o) points from p_r into a collision cone. This cone is defined by the positions and the combined radii of the robot and the obstacle. If the robot selects a velocity outside this VO set, it is guaranteed to be collision-free for at least the next τ seconds, assuming linear motion.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.