Optimal Reciprocal Collision Avoidance (ORCA) is a distributed, velocity-based navigation algorithm where each agent independently selects a new velocity that is guaranteed to be collision-free for a specified time horizon, assuming all other agents follow the same reciprocal protocol. It is a reactive, real-time method that formulates collision avoidance as a low-dimensional linear programming problem, enabling agents to compute safe velocities efficiently without explicit communication of intentions. The algorithm is optimal in the sense that it selects the velocity closest to the agent's preferred velocity from within the set of collision-avoiding velocities.
Glossary
Optimal Reciprocal Collision Avoidance (ORCA)

What is Optimal Reciprocal Collision Avoidance (ORCA)?
A formal definition of the distributed, reactive navigation algorithm for real-time collision avoidance in dynamic multi-agent systems.
ORCA operates by each agent constructing a Velocity Obstacle (VO) for every neighboring agent, representing the set of its own velocities that would cause a future collision. It then computes a reciprocal half-plane constraint (the ORCA set) for each VO. The intersection of these half-planes forms a convex region of permissible, collision-free velocities. This geometric formulation ensures reciprocity, where the responsibility for avoiding a collision is shared equally between agents, leading to smooth and predictable emergent crowd motion. The algorithm is foundational in robotics, autonomous vehicles, and crowd simulation.
Key Features and Properties of ORCA
Optimal Reciprocal Collision Avoidance (ORCA) is a distributed, reactive navigation algorithm where each agent independently selects a velocity that is collision-free assuming other agents follow the same reciprocal protocol. The following cards detail its core algorithmic properties and practical considerations.
Reciprocal Velocity Obstacle (RVO)
The foundational geometric concept behind ORCA is the Reciprocal Velocity Obstacle (RVO). For a pair of agents, the standard Velocity Obstacle (VO) defines the set of velocities that would cause a collision. RVO assumes both agents share the responsibility for avoidance. It splits the collision cone between them, assigning each agent a half-plane of permitted velocities. This reciprocal assumption is what allows for decentralized, non-oscillatory motion without explicit communication of intent.
Linear Programming Formulation
ORCA's core innovation is framing velocity selection as a linear programming (LP) problem. For each agent, the constraints from all neighboring agents (their assigned half-planes from RVO) and the agent's own dynamic limits (maximum speed) form a convex region of admissible velocities. The agent then solves for the velocity within this region that is closest to its preferred velocity (e.g., a vector pointing toward its goal). This LP can be solved efficiently in real-time, even with dozens of neighboring agents.
- Objective Function: Minimize the distance to the preferred velocity.
- Constraints: Convex intersection of multiple half-planes and a circular speed limit.
Decentralized & Communication-Light
ORCA is a fully decentralized algorithm. Each agent requires only the current position, velocity, and radius of its neighbors within a local sensing range. It does not require:
- Knowledge of other agents' goals.
- A central coordinator.
- Explicit negotiation or complex communication protocols.
This makes it highly scalable and robust to single-point failures. The only shared assumption is that all agents run the same reciprocal protocol.
Guarantees & Limitations
ORCA provides strong theoretical guarantees under specific conditions but has key practical limitations.
Guarantees (with perfect sensing/execution):
- Collision-free trajectories for all agents.
- Reciprocal responsibility is symmetric.
- Deadlock-free in many but not all scenarios.
Key Limitations:
- Symmetric Dynamics: Assumes all agents have similar capabilities (speed, agility). Performance degrades with highly heterogeneous fleets (e.g., fast robots mixed with slow manual vehicles).
- Local Minima: Agents can become trapped in reciprocal dances or deadlocks in dense, symmetric configurations (e.g., a narrow corridor).
- No Global Coordination: Purely reactive; cannot plan around long-term congestion.
Integration with Global Planners
In practical systems, ORCA is rarely used in isolation. It functions as the local collision avoidance layer within a hierarchical architecture.
- A global planner (e.g., A* on a static map) computes an initial, obstacle-free path to the goal.
- This path generates the agent's preferred velocity for ORCA.
- ORCA then computes the safe, instantaneous velocity that follows the global intent while avoiding dynamic neighbors.
This combination provides the benefits of long-term goal-directedness with short-term safety and reactivity.
Common Extensions & Variants
The core ORCA algorithm has been extended to address its limitations and adapt to new scenarios:
- ORCA-A: Extends the formulation to account for acceleration constraints, providing smoother, more physically realistic trajectories.
- NH-ORCA (Non-Holonomic ORCA): Adapts the constraints for agents with non-holonomic kinematics (e.g., car-like robots that cannot move sideways).
- Pedestrian Simulation: ORCA is the basis for many crowd simulation models, where humans are modeled as agents following simple reciprocal rules.
- Hybrid Approaches: Combining ORCA with a Conflict-Based Search (CBS) meta-layer to proactively resolve deadlocks that pure ORCA cannot escape.
ORCA vs. Other Collision Avoidance & Path Planning Methods
A technical comparison of Optimal Reciprocal Collision Avoidance (ORCA) against other major classes of algorithms used for multi-agent navigation and path planning.
| Feature / Metric | Optimal Reciprocal Collision Avoidance (ORCA) | Centralized MAPF Algorithms (e.g., CBS, MAA*) | Decoupled / Prioritized Planning |
|---|---|---|---|
Core Paradigm | Distributed, reactive velocity selection | Centralized, optimal joint-state search | Sequential or hierarchical planning |
Scalability with Agent Count | O(n) per agent | Exponential in joint state space | Linear to polynomial |
Optimality Guarantee | Local reciprocal optimality (per timestep) | Global optimality (makespan, SOC) | None (suboptimal) |
Real-Time Reactivity | Yes (< 1 ms per agent) | No (offline pre-computation) | Limited (requires replanning) |
Handles Kinematic Constraints | Yes (velocity/acceleration bounds) | No (typically discrete grid) | Possible with extensions |
Communication Overhead | Low (local sensing or state broadcast) | High (central coordinator required) | Medium (priority order or plan sharing) |
Robustness to Execution Noise | High (continuous re-evaluation) | Low (requires k-robust planning) | Low to Medium |
Typical Use Case | Dense, dynamic crowds (drones, robots) | Structured, known environments (warehouses) | Mixed-initiative systems with human oversight |
Frequently Asked Questions
Optimal Reciprocal Collision Avoidance (ORCA) is a foundational distributed algorithm for reactive, real-time navigation in multi-agent systems. These questions address its core mechanics, applications, and how it compares to other path planning methods.
Optimal Reciprocal Collision Avoidance (ORCA) is a distributed, velocity-based algorithm that enables multiple mobile agents to navigate towards individual goals without colliding, by each independently selecting a new velocity from a geometrically defined 'safe' set at every time step.
It is a reactive (or local) method, meaning agents plan only one step ahead based on the current observed velocities and positions of nearby agents, unlike centralized Multi-Agent Path Finding (MAPF) algorithms that pre-compute full collision-free paths. The 'optimal' in its name refers to the mathematical guarantee that, under the assumption of perfect reciprocity, the selected velocity minimizes the deviation from the agent's preferred velocity (e.g., the velocity that moves it directly toward its goal). Its reciprocal nature is key: each agent assumes the others will follow the same collision-avoidance protocol, allowing for smooth, symmetrical maneuvers without explicit communication of intent.
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 in Multi-Agent Path Planning
Optimal Reciprocal Collision Avoidance (ORCA) exists within a rich ecosystem of algorithms and formalisms for multi-agent navigation. These related concepts define the problem space, alternative solutions, and key performance metrics.
Velocity Obstacle (VO)
The Velocity Obstacle (VO) is the foundational geometric concept upon which ORCA is built. For a given agent, the VO defines the set of all its possible velocities that would result in a collision with another moving object within a specified time horizon (Ï„).
- Geometric Construction: It is a cone-shaped region in the velocity space, originating from the agent's current velocity.
- ORCA's Innovation: While VO defines inadmissible velocities, ORCA inverts this logic. It calculates the set of permissible velocities that guarantee collision avoidance under the assumption of reciprocal responsibility.
- Key Difference: VO is a condition for impending collision. ORCA uses VO to derive a collision-avoiding control law.
Multi-Agent Path Finding (MAPF)
Multi-Agent Path Finding (MAPF) is the centralized, discrete, and optimal planning problem that contrasts with ORCA's decentralized, continuous, and reactive approach.
- Centralized vs. Decentralized: MAPF requires a central solver to compute full paths from start to goal for all agents before execution. ORCA agents decide their next velocity independently in real-time.
- Optimality Guarantees: MAPF algorithms (like CBS, ICTS) provide guarantees on makespan or sum-of-costs. ORCA provides local collision avoidance but no global optimality guarantees.
- Use Case Divergence: MAPF is ideal for known, structured environments (e.g., warehouse grid). ORCA excels in dynamic, unstructured, or densely populated spaces (e.g., crowds, open factory floors).
Conflict-Based Search (CBS)
Conflict-Based Search (CBS) is a leading optimal algorithm for solving the MAPF problem. It represents the centralized planning paradigm that ORCA intentionally avoids for scalability in dynamic settings.
- Two-Level Search: CBS operates on a constraint tree. The high level detects conflicts (e.g., vertex, edge conflicts) and imposes constraints (e.g., "Agent A cannot be at cell (5,5) at time 10"). The low level replans individual paths under these constraints.
- Optimality: CBS is provably optimal for minimizing sum-of-costs or makespan.
- Computational Trade-off: This optimality comes at a cost. CBS planning time grows exponentially with the number of agents, making it unsuitable for the real-time, continuous replanning that ORCA performs every simulation step.
Reciprocity
Reciprocity is the core behavioral assumption that makes ORCA tractable and effective. It is the protocol that each agent will share the responsibility for avoiding collisions.
- Mathematical Foundation: In the ORCA formulation, each agent assumes that every other agent will select a velocity from its own ORCA permissible set. This mutual assumption allows the problem to be decoupled.
- Without Reciprocity: If an agent does not follow the protocol (e.g., an adversarial or oblivious actor), the collision avoidance guarantee for the cooperating agents breaks down. ORCA agents typically have a fallback strategy for such cases.
- Key Insight: Reciprocity transforms an intractable multi-agent optimization into a series of parallel, single-agent convex optimizations.
Kinodynamic Planning
Kinodynamic Planning addresses the problem of finding trajectories that satisfy both collision constraints and the kinematic/dynamic limits of a physical robot. ORCA is a velocity-based method that inherently respects some of these constraints.
- Constraints Addressed: Kinodynamic planning considers limits on velocity, acceleration, turning radius, and non-holonomic constraints (e.g., a car cannot move sideways).
- ORCA's Role: The standard ORCA formulation outputs a feasible velocity for the next time step. Integrating this velocity over time, while respecting acceleration limits, produces a kinodynamically feasible trajectory.
- Advanced Integration: ORCA is often used as the collision avoidance layer within a broader kinodynamic planning stack, where a higher-level planner suggests a preferred velocity, and ORCA finds the closest collision-free alternative.
Makespan & Sum of Costs (SOC)
Makespan and Sum of Costs (SOC) are the two primary global performance metrics for evaluating multi-agent navigation systems. ORCA, as a local method, does not directly optimize for these but is evaluated against them.
- Makespan: The total time from the start of execution until the last agent reaches its goal. Minimizing makespan is about overall system throughput.
- Sum of Costs (SOC): The sum of the individual path costs (typically travel time or distance) for all agents. Minimizing SOC is about total fleet efficiency.
- ORCA's Performance: In dense, dynamic scenarios, ORCA-based systems often achieve good, though not provably optimal, makespan and SOC. Their strength is liveness (guaranteeing progress and collision avoidance) rather than optimality. These metrics are used to benchmark ORCA against optimal MAPF solvers in controlled studies.

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