Robotics

Velocity obstacle

Definition

A velocity obstacle is the set of robot velocities that would lead to a future collision with a moving obstacle under an assumed motion model. A local planner can avoid predicted collisions by selecting an admissible velocity outside that set.

Also known as: VO, Velocity-obstacle method

Updated

Predict collision in velocity space

For a given obstacle, the velocity obstacle contains relative velocities that make the robot's future path intersect the obstacle. Obstacle velocity shifts this collision set into the robot's velocity space. Geometry can also expand the obstacle by the robot's shape, much like a configuration-space construction.

Wilkie, van den Berg, and Manocha describe the original method as using linear velocity over a time interval, then generalize it to nonlinear trajectories. A planner selects a velocity outside the unsafe set and within the robot's admissible velocity limits.

This representation is useful for mobile robots moving among people or other robots because it accounts for obstacle motion, not just occupied positions. It can be recomputed as new observations arrive.

A local avoidance representation

A velocity obstacle is not a complete motion planner. It identifies collision-producing velocities under its prediction assumptions. The surrounding algorithm still needs to choose among safe candidates, make progress toward a goal, and handle static geometry and kinematic constraints.

Reciprocal and hybrid reciprocal velocity-obstacle methods extend the idea to multiple agents by assigning avoidance responsibility. Those variants make additional assumptions about how other agents respond and should not be treated as identical to the basic set.

Prediction errors and dynamics limit safety

The result depends on the estimated position, shape, and future motion of each obstacle. A person who accelerates or turns unexpectedly can invalidate a constant-velocity prediction. Sensor latency and tracking error further shrink the useful reaction time.

A selected velocity may also be unreachable because of acceleration, balance, or contact limits. For a humanoid, the base velocity cannot change independently of foot placement and dynamic stability. Implementations therefore combine velocity-space avoidance with conservative margins, reachable controls, repeated replanning, and a separate safety mechanism rather than treating the geometric set as a guarantee.

Sources