Optimal Reciprocal Collision Avoidance (ORCA) is a decentralized, velocity-based algorithm that enables multiple autonomous agents to independently compute collision-free velocities in real-time. It operates under the principle of reciprocity, where each agent assumes neighboring agents will employ a similar avoidance strategy. The core mechanism involves each agent calculating a Velocity Obstacle (VO)—a cone of relative velocities that would cause a collision within a specified time horizon—and then selecting the optimal velocity from a set of mutually collision-avoiding options.
Glossary
Optimal Reciprocal Collision Avoidance (ORCA)

What is Optimal Reciprocal Collision Avoidance (ORCA)?
A decentralized, reactive navigation algorithm for multi-agent systems.
The algorithm's key innovation is its formulation as a low-dimensional linear program, which allows for extremely fast, real-time computation suitable for dense, dynamic environments. By guaranteeing reciprocal responsibility, ORCA prevents oscillatory behaviors common in simpler reactive methods. It is foundational for heterogeneous fleet orchestration, enabling safe navigation in warehouses and logistics centers without centralized coordination, and is a core component within real-time replanning engines for mobile robots.
Key Features of the ORCA Algorithm
Optimal Reciprocal Collision Avoidance (ORCA) is a decentralized, velocity-based algorithm where agents independently compute safe velocities, assuming reciprocal cooperation from neighbors. Its core features enable scalable, real-time navigation in dense, dynamic environments.
Velocity Obstacle Formulation
ORCA's foundation is the Velocity Obstacle (VO), a geometric construct. For a pair of agents, the VO defines the set of relative velocities that would cause a collision within a specified time horizon (τ). ORCA transforms this forbidden set into a half-plane constraint on each agent's absolute velocity, representing velocities that are guaranteed collision-free if the other agent selects a velocity from a reciprocal set. This geometric translation is computationally efficient, enabling real-time evaluation.
Reciprocal Responsibility
A defining principle of ORCA is that collision avoidance is a shared responsibility. Unlike methods where one agent bears the full avoidance burden, ORCA assumes all agents are running a similar algorithm. For each pairwise constraint, each agent agrees to adjust its velocity by at least half the minimum required change to avoid collision. This reciprocity prevents oscillatory or non-cooperative behavior and leads to smoother, more predictable trajectories for the entire fleet.
Linear Programming for Optimal Velocity
Each agent solves a low-dimensional Linear Program (LP) at every control cycle. The agent's preferred velocity (e.g., toward its goal) is the objective to minimize deviation from. The constraints are the half-planes (ORCA constraints) derived from all nearby agents and static obstacles. The solution is the new velocity that is closest to the preferred velocity while satisfying all safety constraints. This optimization ensures locally optimal decisions that balance progress with safety.
Decentralized & Scalable Operation
ORCA is inherently decentralized. Each agent requires only the current position, velocity, and radius of its neighbors within a local perception range. There is no central coordinator or global plan. This architecture provides key advantages:
- Scalability: Computation is distributed; adding more agents does not cripple a central planner.
- Robustness: The failure of one agent does not collapse the system.
- Responsiveness: Agents react immediately to local changes without waiting for global re-planning.
Guaranteed Collision-Free Navigation
Under ideal conditions (perfect sensing, identical algorithms, holonomic agents), ORCA provides formal guarantees. If the linear program for an agent is feasible, the chosen velocity is provably collision-free for at least the time horizon τ. This guarantee holds for all agents simultaneously due to the reciprocal construction. In practice, with non-holonomic constraints (like differential-drive robots), post-processing is required to follow the ORCA-computed velocity, which may weaken the formal guarantee but maintains high practical safety.
Integration with Global Planners
ORCA is a local, reactive collision avoidance layer. It is typically not used for long-range goal-oriented planning. In a full navigation stack, a global planner (e.g., A*, RRT) generates an initial path. ORCA then acts as the local controller, using the direction toward the next sub-goal on this path as its 'preferred velocity.' This hybrid approach combines the foresight of global planning with the reactivity needed for dynamic, crowded environments.
ORCA vs. Other Collision Avoidance Methods
This table compares the core algorithmic characteristics of Optimal Reciprocal Collision Avoidance (ORCA) against other prominent collision avoidance and motion planning methods used in heterogeneous fleet orchestration.
| Feature / Metric | Optimal Reciprocal Collision Avoidance (ORCA) | Velocity Obstacles (VO) | Dynamic Window Approach (DWA) | Model Predictive Control (MPC) |
|---|---|---|---|---|
Algorithmic Paradigm | Decentralized, reactive velocity selection | Centralized or decentralized geometric projection | Local, reactive velocity search | Centralized, predictive trajectory optimization |
Reciprocity Assumption | N/A (centralized) | |||
Computational Complexity per Agent | O(n) | O(n) | O(k) for sampled velocities | O(1) for centralized solver |
Optimality Guarantee | Local velocity optimality (reciprocal assumption) | None (first feasible solution) | Local optimum within dynamic window | Finite-horizon optimal (subject to model) |
Planning Horizon | Immediate next time step (τ) | Specified time horizon (τ) | Short dynamic window (Δt) | Configurable receding horizon (N steps) |
Handles Kinodynamic Constraints | ||||
Scalability for Large Fleets | High (decentralized, linear per-agent cost) | Medium (pairwise checks, O(n²) worst-case) | High (local only) | Low (centralized optimization complexity) |
Typical Use Case | Dense, homogeneous agent navigation (e.g., warehouse AMRs) | Theoretical framework, often for analysis | Single robot navigation in dynamic environments | Precise trajectory control for vehicles with complex dynamics |
Frequently Asked Questions
Optimal Reciprocal Collision Avoidance (ORCA) is a foundational decentralized algorithm for real-time, multi-agent navigation. These questions address its core mechanics, applications, and how it compares to other collision avoidance systems.
Optimal Reciprocal Collision Avoidance (ORCA) is a decentralized, velocity-based algorithm that enables multiple robots or agents to navigate without collisions by independently selecting velocities from a shared set of mutually safe options. It works by having each agent perform the following steps at every control cycle:
- For every neighboring agent, it calculates a Velocity Obstacle (VO)—the set of its own velocities that would cause a collision with that neighbor within a specified time horizon (τ).
- It then applies the reciprocal assumption: each agent assumes the other will take equal responsibility for avoiding the collision. This transforms the VO into an ORCA half-plane—a set of velocities guaranteed to be collision-free if the other agent selects a velocity from its own corresponding set.
- The agent intersects all ORCA half-planes from all neighbors (and from static obstacles) to form its ORCA feasible velocity set.
- Finally, it selects the new velocity from this set that is closest to its preferred velocity (e.g., its goal-directed velocity).
This process is reactive, requires only local sensing of other agents' positions and velocities, and guarantees collision avoidance for holonomic agents under the reciprocal assumption.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Optimal Reciprocal Collision Avoidance (ORCA) exists within a broader ecosystem of algorithms and frameworks for navigation and coordination. These related concepts provide the foundational theory, alternative approaches, and complementary systems used in real-time replanning.
Velocity Obstacles (VO)
Velocity Obstacles is the foundational geometric framework upon which ORCA is built. It defines the set of all relative velocities for a robot that would result in a collision with another moving object within a specified time horizon. The core concept is to compute a collision cone in velocity space. Any velocity chosen from within this cone leads to a future collision.
- Key Difference from ORCA: VO is a non-reciprocal formulation. It assumes the other agent will not change its velocity, placing the entire burden of avoidance on the planning agent. ORCA extends this by defining a reciprocal set of permissible velocities for both agents, enabling decentralized cooperation.
Dynamic Window Approach (DWA)
The Dynamic Window Approach is a reactive, local obstacle avoidance method for differential-drive robots. Instead of planning in configuration space, it operates directly in the robot's velocity space (v, ω).
- Mechanism: It samples admissible velocities within a dynamic window defined by the robot's acceleration limits and simulates short-term trajectories. It selects the velocity pair that maximizes an objective function balancing progress towards the goal, speed, and clearance from obstacles.
- Contrast with ORCA: DWA is primarily for a single robot avoiding static and dynamic obstacles. ORCA is fundamentally multi-agent and reciprocal, designed for symmetric cooperation among many agents. DWA does not explicitly model the reactive behavior of other agents.
Model Predictive Control (MPC)
Model Predictive Control is an advanced, optimization-based control paradigm used for trajectory following and dynamic obstacle avoidance. At each control step, it solves a finite-horizon optimal control problem using an internal dynamic model of the system to predict future states.
- Relation to ORCA: MPC can incorporate ORCA's velocity constraints directly into its optimization problem. This creates a hybrid approach: MPC handles high-level trajectory optimization and system dynamics, while ORCA constraints ensure collision avoidance with other agents. MPC provides a natural framework for integrating reciprocal avoidance with other objectives like energy efficiency and smoothness.
Multi-Agent Path Finding (MAPF)
Multi-Agent Path Finding is the centralized, planning counterpart to ORCA's decentralized, reactive approach. The goal is to find collision-free paths for all agents from start to goal locations, optimizing a global metric like makespan or sum-of-costs.
- Key Algorithms: Includes Conflict-Based Search (CBS) and A* variants like Space-Time A*.
- Planning vs. Reaction: MAPF is typically computed offline or with significant lookahead. ORCA operates in real-time with minimal computation per agent, reacting to immediate sensor data. They are often used in tandem: a MAPF solver provides a high-level plan, and ORCA handles local deviations and unpredicted dynamics during execution.
Control Barrier Function (CBF)
A Control Barrier Function is a formal mathematical tool from control theory used to guarantee safety (e.g., collision avoidance) for dynamical systems. It defines a safety set (e.g., all states where agents are separated) and synthesizes a controller that ensures the system state never leaves this set.
- Formal Guarantees: CBFs provide provable safety certificates, unlike the heuristic nature of many reactive methods.
- Comparison to ORCA: ORCA can be interpreted as generating a specific, geometric form of barrier constraint. Recent research integrates CBFs with ORCA-like constraints to create controllers that are both safe-by-design and reciprocal, offering stronger theoretical guarantees for multi-agent systems.
Receding Horizon Control
Receding Horizon Control is the implementation strategy used by Model Predictive Control (MPC) and is a core principle for real-time replanning. Only the first control action from the optimized plan is executed. The horizon then "recedes" forward in time, and the optimization is re-solved with new state information.
- Connection to ORCA: ORCA inherently operates on a receding horizon principle. At each time step (typically every 50-100ms), each agent observes the current positions and velocities of neighbors, solves the ORCA linear program to find a new admissible velocity for the next time window, and executes it. This continuous cycle of sensing, computing, and acting defines its reactive nature.

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.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us