Optimal Reciprocal Collision Avoidance (ORCA) is a decentralized, reactive navigation algorithm that enables multiple robots or agents to compute mutually collision-free velocities in real-time. It formulates collision avoidance as a low-dimensional linear programming problem, where each agent selects a new velocity from a 'half-plane' of permissible velocities that guarantees avoidance, assuming other agents follow the same reciprocal protocol. This approach is velocity-obstacle based and provides formal guarantees of collision-free motion for holonomic agents under perfect sensing.
Glossary
Optimal Reciprocal Collision Avoidance (ORCA)

What is Optimal Reciprocal Collision Avoidance (ORCA)?
A decentralized algorithm for real-time, velocity-based collision avoidance in multi-agent systems.
The algorithm's core strength is its computational efficiency and provable safety, making it suitable for dense, dynamic environments like warehouse logistics and drone swarms. By requiring only local velocity information from neighboring agents, ORCA enables scalable coordination without central planning. It is a foundational technique within multi-robot coordination and is often integrated with higher-level planners for Multi-Agent Path Finding (MAPF). Its reciprocal assumption distinguishes it from purely reactive methods like potential fields.
Key Features of the ORCA Algorithm
Optimal Reciprocal Collision Avoidance (ORCA) is defined by its decentralized, velocity-based approach to real-time collision avoidance. Its core features enable provably safe, efficient, and scalable navigation for multi-agent systems.
Velocity Obstacles & Reciprocal Responsibility
The algorithm's foundation is the Velocity Obstacle (VO), a cone-shaped region in velocity space representing all velocities that would cause a collision with another agent within a specified time horizon. ORCA's key innovation is the Optimal Reciprocal Collision Avoidance (ORCA) set, a half-plane of collision-free velocities derived from the VO. It is constructed under the assumption of reciprocal responsibility, meaning each agent selects a new velocity from its ORCA set while assuming the other agent will do the same, ensuring mutual avoidance without explicit communication of intent.
Linear Programming for Optimal Velocity
For each pair of agents, the algorithm generates a linear constraint (the ORCA half-plane). The combined set of constraints from all neighboring agents forms a convex region of permissible velocities. The agent's new velocity is selected by solving a low-dimensional linear program that finds the velocity within this region closest to its preferred velocity (e.g., its goal-directed velocity). This optimization ensures the deviation from the intended path is minimal, making the avoidance maneuver both safe and efficient.
- Objective: Minimize the distance to the preferred velocity.
- Constraints: Defined by the ORCA half-planes from all nearby agents.
Decentralized & Communication-Light
ORCA operates in a fully decentralized manner. Each robot requires only local sensing (e.g., position and velocity of nearby agents) and executes the algorithm independently. It does not require:
- A central coordinator.
- Negotiation or explicit trajectory sharing with other agents.
- Prior agreement on roles (like leader-follower).
This architecture provides inherent scalability, as computational load per agent depends only on its local neighborhood, not the total swarm size. It also enhances robustness to individual agent failures.
Real-Time & Guaranteed Safety
ORCA is a reactive algorithm, computing new velocities every control cycle (often at 10-100 Hz). The linear programming solution is computationally inexpensive, enabling real-time performance on embedded hardware. Crucially, under its assumptions (accurate sensing, holonomic agents, reciprocal cooperation), ORCA provides provable collision avoidance. If all agents adhere to the algorithm, no collisions will occur for the defined time horizon. This deterministic safety guarantee is critical for deployment in safety-sensitive environments like human-robot collaboration or dense autonomous vehicle traffic.
Limitations & Practical Assumptions
ORCA's theoretical guarantees rely on specific assumptions that must be considered in real-world applications:
- Holonomic Dynamics: The base algorithm assumes agents can instantaneously change velocity (holonomic). Extensions (NH-ORCA) handle non-holonomic constraints like differential drive.
- Reciprocal Cooperation: All agents must be running ORCA or a behaviorally equivalent algorithm. It cannot avoid passive obstacles or non-cooperative agents without modification.
- Perfect Sensing: Requires accurate, low-latency knowledge of other agents' positions and velocities. Noise can degrade performance.
- Dense Environments: In extremely crowded scenarios, the convex feasible region can become empty, requiring a fallback strategy.
Extensions & Related Concepts
The core ORCA framework has been extensively extended to address its limitations and apply it to new domains:
- NH-ORCA: For non-holonomic robots (e.g., cars, differential-drive robots).
- 3D ORCA: For aerial vehicles (drones).
- Pedestrian Simulation: The RVO2 Library is a widely used implementation for simulating human crowd movement.
- Integration with Global Planners: ORCA is often used as a local, reactive collision avoidance layer within a hierarchical architecture, where a global planner (like A* or RRT) provides the high-level path and preferred velocity.
It is a foundational technique within the broader field of Multi-Agent Path Finding (MAPF) and Decentralized Control.
ORCA vs. Other Collision Avoidance Methods
A technical comparison of Optimal Reciprocal Collision Avoidance (ORCA) against other foundational approaches for decentralized multi-robot navigation.
| Feature / Metric | Optimal Reciprocal Collision Avoidance (ORCA) | Potential Fields | Velocity Obstacles (VO) | Multi-Agent Path Finding (MAPF) |
|---|---|---|---|---|
Core Principle | Computes mutually collision-free velocities via reciprocal half-planes in velocity space. | Navigation via artificial forces (attractive to goal, repulsive from obstacles). | Defines a cone of collision velocities for each agent; agents select velocities outside all cones. | Centralized or decentralized search for discrete, spatio-temporally conflict-free paths. |
Decentralized / Centralized | Decentralized | Decentralized | Decentralized | Primarily Centralized (optimal variants), some decentralized approximations. |
Optimality Guarantee | Local optimality (selects the closest permissible velocity to a preferred velocity). | No optimality guarantee; prone to local minima. | No optimality guarantee; selects any admissible velocity. | Global optimality for makespan or sum-of-costs (in optimal algorithms like CBS). |
Reciprocity | Explicitly models and enforces reciprocal responsibility. | No inherent reciprocity; agents treat others as moving obstacles. | No inherent reciprocity; non-cooperative agents can cause oscillations. | Reciprocity is enforced via the centralized plan or through reservation protocols. |
Real-Time Reactivity | High (computes new velocity in < 1 ms per agent in typical implementations). | High | High | Low (planning is computationally intensive; not suitable for high-frequency replanning). |
Handles Kinematic Constraints | Yes (via velocity and acceleration constraints in the optimization). | Limited (simple kinematic models can be integrated). | Yes (constraints can be incorporated into the VO definition). | Yes (constraints are embedded in the state-space search). |
Scalability (Agent Count) | Excellent (O(n) per agent with efficient neighbor query). | Good (O(n) per agent). | Good (O(n) per agent). | Poor (combinatorial explosion; typically limited to tens of agents). |
Predictive Horizon | Short-term (one-step velocity selection). | Instantaneous (based on current state). | Short-term (assumes constant velocity). | Long-term (full path to goal). |
Primary Use Case | Dense, dynamic environments with homogeneous agents (e.g., crowd simulation, drone swarms). | Simple environments with sparse obstacles; often used for global path following. | Dynamic environments where agents are treated as independent obstacles. | Structured, known environments where a pre-computed, optimal schedule is required (e.g., warehouse automation). |
Guarantees Collision Avoidance | Yes (under the assumptions of perfect sensing and adherence to the algorithm). | No (susceptible to oscillations and local minima leading to collisions). | Yes (for the constant velocity assumption). | Yes (for the planned paths, if the world model is accurate and agents adhere to the schedule). |
Typical Implementation Complexity | Medium | Low | Medium | High |
Frequently Asked Questions
Essential questions and answers about ORCA, the decentralized algorithm that enables real-time, collision-free navigation for teams of robots.
Optimal Reciprocal Collision Avoidance (ORCA) is a decentralized, velocity-based algorithm that enables multiple robots or agents to navigate without collisions by computing mutually acceptable velocity adjustments in real-time. It formulates collision avoidance as a low-dimensional linear optimization problem. For each pair of agents, ORCA defines a half-plane of permissible velocities (the ORCA set) that guarantees collision-free motion for a specified time horizon, assuming both agents adhere to the solution. Each agent then selects a new velocity from the intersection of its own constraints, typically the one closest to its preferred velocity. This reciprocal assumption—that all agents share the responsibility for avoidance—leads to smooth, oscillation-free motion 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
These concepts define the algorithmic landscape surrounding ORCA, covering complementary planning strategies, coordination architectures, and foundational reactive methods.
Multi-Agent Path Finding (MAPF)
Multi-Agent Path Finding (MAPF) is the centralized, discrete planning problem of computing collision-free paths for multiple agents on a graph, optimizing for metrics like makespan or sum-of-costs. Unlike reactive ORCA, MAPF typically operates in a discrete grid or roadmap and plans full paths before execution.
- Key Difference: MAPF is a planning problem (pre-computed), while ORCA is a reactive algorithm (real-time velocity selection).
- Common Algorithms: Includes Conflict-Based Search (CBS) and A*-based variants.
- Use Case: Ideal for warehouse automation where robots follow predefined lanes and schedules.
Velocity Obstacle (VO)
The Velocity Obstacle (VO) is the foundational geometric construct upon which ORCA is built. It defines the set of all velocities for a robot that would result in a collision with another moving object within a given time horizon.
- Core Concept: For each neighboring robot, a collision cone is computed in velocity space. Choosing a velocity outside all cones guarantees collision avoidance.
- ORCA's Advancement: ORCA improves upon basic VO by computing the optimal reciprocal half-plane, ensuring a mutually collision-free velocity is always available if one exists.
- Basis: Essential for understanding the mathematical principles of decentralized, velocity-based collision avoidance.
Decentralized Control
Decentralized control is a system architecture where each robot makes autonomous decisions based on local sensor data and limited communication, without a central orchestrator. ORCA is a canonical example of a decentralized algorithm for collision avoidance.
- Key Benefits: Scalability, as computation is distributed, and robustness, as there is no single point of failure.
- Contrast with Centralized: Centralized systems (like some MAPF solvers) have global knowledge but face computational bottlenecks and latency issues with large teams.
- Application: Fundamental to swarm robotics, autonomous vehicle fleets, and any large-scale multi-robot system.
Reactive Navigation
Reactive navigation refers to motion strategies where a robot's actions are determined by immediate sensor inputs without maintaining a world model or long-term plan. ORCA is a highly sophisticated form of reactive navigation for dynamic environments.
- Characteristics: Low computational latency, minimal memory requirements, but can lead to local minima (e.g., robots getting stuck).
- Other Methods: Includes Potential Fields and simple Bug Algorithms.
- Hybrid Systems: Often combined with a global planner (e.g., A*) where the global planner provides a guiding path and ORCA handles local dynamic obstacles.
Formation Control
Formation control is the problem of coordinating a team of robots to achieve and maintain a specific geometric shape (e.g., a line, wedge, or circle) while in motion. ORCA can serve as a safety layer within formation control architectures.
- Primary Goal: Maintain relative positions between robots despite external disturbances.
- Approaches: Includes Leader-Follower, Virtual Structure, and Behavior-Based methods.
- Integration with ORCA: A formation controller generates desired velocities to maintain shape, which are then fed into ORCA to ensure they are collision-free with respect to teammates and external obstacles.
Model Predictive Control (MPC)
Model Predictive Control (MPC) is an advanced control technique that repeatedly solves a finite-horizon optimization problem using an internal dynamic model to predict future states. It can be integrated with or serve as an alternative to ORCA for multi-robot coordination.
- Key Feature: Explicitly handles system dynamics and constraints (e.g., acceleration limits).
- Comparison to ORCA: MPC is more computationally intensive but can produce smoother, more optimal trajectories over a horizon. ORCA is lighter and guarantees real-time performance.
- Hybrid Use: MPC can be used for high-level trajectory generation, with ORCA acting as a fast, certifiable safety controller.

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