Two AGVs meet head-on in a 2.6-meter aisle. Both stop, each waiting for the other to move, and neither backs up until a technician walks over and drives one of them out manually. Nothing is broken — the navigation stack is fine, the batteries are charged. What is missing is more basic: nobody ever decided who has the right of way. This kind of AGV fleet deadlock is one of the most common failure modes in multi-vehicle operations, and one of the least seriously discussed.

From a research perspective, an AGV deadlock is structurally identical to the classic deadlock studied in computer science. The four Coffman conditions from 1971 — mutual exclusion, hold-and-wait, no preemption, circular wait — map onto a warehouse almost one-to-one: an aisle admits one vehicle at a time (mutual exclusion), each vehicle holds the segment it occupies (hold-and-wait), no outside force can compel a vehicle to move (no preemption), and vehicles at an intersection each wait on the next (circular wait). When all four hold simultaneously, the system freezes. The point matters because it reframes deadlock from bad luck into something predictable, modelable, and preventable.

How an AGV Deadlock Happens: Three Classic Scenarios

The first scenario is a head-on encounter in a narrow aisle. In 2024, at an auto-parts plant in the Yangtze Delta running more than thirty load-carrying AGVs for in-plant delivery, a main aisle connecting two work cells was only 2.8 meters wide with no one-way designation. During shift-change, when delivery tasks clustered, two loaded AGVs met mid-aisle, each triggered obstacle avoidance, each waited for the other. The fleet manager had only a "stop and wait" rule with no further deadlock-resolution strategy, so the pair stood off for nearly four minutes until a shift lead intervened. The plant had six such aisles — a structural hazard, not an isolated incident.

The second scenario is subtler: circular waiting at an intersection. During an e-commerce peak season, four AGVs entered a four-way junction at the same moment, each one's right side blocked by another — A waits for B, B waits for C, C waits for D, D waits for A. Every individual decision was locally reasonable: stop, avoid, wait. Yet at the system level this is a stable frozen state; no vehicle will break it alone. In fleets above twenty vehicles with dense junctions, this shifts from a rare event to a weekly operational occurrence.

The third scenario happens at the charging bay, which I call the "recharge rush." In that same e-commerce warehouse: forty AGVs, eight chargers. During peak, tasks were scheduled so tightly that many vehicles crossed the low-battery threshold at once, and the default dispatch policy sent them all back to charge together. Seven or eight vehicles converged on the charging area entrance and blocked each other — those needing a charge couldn't get in, those finished couldn't get out. The charging capacity itself wasn't the bottleneck; the un-designed right-of-way at the entrance was. The lesson is practical: deadlock analysis cannot stop at the main aisles. Charging zones, buffer areas, and battery-swap stations need right-of-way rules too.

AGV driving through a warehouse aisle

Right-of-Way Rules: Three Ways to Decide Who Goes First

Right-of-way rules are the underlying logic of traffic control — the rulebook every vehicle follows. Three design families dominate the industry, each with its own trade-off.

The first is fixed right-of-way: design main aisles as one-way loops. Every AGV travels clockwise (or counterclockwise); narrow aisles admit only one direction. The great virtue is simplicity bordering on infallibility — with a well-designed map, head-on encounters and circular waits are eliminated structurally. The cost is longer travel: a task that could be 30 meters in a straight line might become 80 meters around the loop. For line-side delivery with fixed routes, the cost is acceptable; for e-commerce warehouses where destinations change constantly, the detour penalty is significant.

The second is priority-based yielding. The rule is simple: loaded vehicles outrank empty ones, high-priority tasks outrank routine ones, and a low-battery vehicle returning to charge outranks everything (because it will stall otherwise). This is flexible and avoids detours, but it moves complexity into "how priorities are defined." Too coarse, and low-priority tasks starve; too fine-grained, and the dispatch system becomes unmaintainable. And priority rules alone cannot eliminate deadlock entirely — two vehicles of equal priority meeting head-on still need a fallback.

The third is the passing-bay design. On unavoidable narrow segments, build widened pockets every so often, wide enough for two vehicles to pass. When two vehicles need to cross, the system directs one to pull into a bay while the other passes — a classic approach from ports and mining autonomy that transfers well to warehouses. The cost is space: each bay consumes one or two pallet positions, which means negotiating floor space with the storage-planning team where every square meter counts.

Three Traffic-Control Strategies, Compared by Cost

Above the right-of-way rules sits the dispatch layer that enforces them dynamically. Three mainstream strategies compare as follows:

Strategy Mechanism Strength Cost and limitation Fits fleets of
Static zoning (zone locks) A shared segment admits only one vehicle at a time Extremely simple to implement; deadlock structurally impossible Low aisle utilization; severe queuing in large fleets Under ~20 vehicles, fixed routes
Reservation-based (slot booking) Vehicles reserve intersection/aisle time slots in advance Fair; no task starvation High communication overhead; rigid paths; hard to insert rush tasks Mid-size fleets, semi-fixed routes
Dynamic priority + re-planning Routes computed in real time; on conflict, the higher-priority vehicle proceeds or the other reroutes Highest system throughput Complex algorithms; demands real compute and debugging capacity Large fleets, frequently changing tasks

The important column in this table is not "which is best" but "where the cost lands." Static zoning taxes aisle utilization; reservations tax system flexibility; dynamic dispatch taxes algorithmic complexity and debuggability. The real selection question is never "which strategy is most advanced" but "which cost can our team afford to pay." I have seen projects adopt dynamic dispatch, fail to debug the conflict scenarios, and retreat to static zoning — if a technology choice exceeds the team's operational capacity, the most advanced strategy is only a paper design.

The Counterintuitive Finding: More Vehicles Do Not Always Mean More Speed

Here is the counterintuitive part: expanding a fleet can eat its own throughput gains through deadlock waiting. Across several project post-mortems I have reviewed, a recurring pattern appears — a fleet grows from 24 to 36 vehicles, a 50% theoretical capacity increase, yet measured system throughput rises less than 20%, while the share of time vehicles spend stalled waiting for right-of-way climbs from about 3% to 11%. A meaningful fraction of the new vehicles' time goes into waiting for someone else to yield.

The attribution is straightforward: the real bottleneck in an AGV fleet is rarely individual vehicle speed; it is right-of-way allocation at conflict segments. Raising one vehicle's speed from 1.2 to 1.5 m/s yields linear gains; halving intersection wait time can yield nonlinear gains, because waiting is contagious — one vehicle blocking a junction stalls the three queued behind it, and the whole lane slows. So before asking "should we add vehicles," ask: what share of fleet time is currently spent waiting for right-of-way? Above 8–10%, new vehicles add little, and traffic-control optimization should come first.

There is also a validation gap. Deadlock emerges fully only at scale under real task mixes, so it surfaces late in commissioning — exactly when budgets are exhausted. Simulation-based validation of the dispatch layer (conflict injection, peak-mix stress tests) is the standard remedy, yet it is the first line item cut when schedules tighten. The cheapest deadlock is the one found in a simulator, not on a live floor.

On the trend side, the industry is moving toward open dispatch. The VDA 5050 interface standard — driven by the German Association of the Automotive Industry since 2019 for communication between master control systems and AGVs from different vendors — means multi-brand fleets, once an exception, are becoming normal. When a fleet is no longer one vendor's closed system, traffic control cannot depend on any single vendor's proprietary dispatcher; it needs a neutral scheduling layer independent of the vehicle bodies.

Which leaves an open question: when three brands of AGVs run in the same warehouse, who gets to write the right-of-way rules — the WMS vendor, the robot vendors, or the warehouse operator? The industry has no standard answer yet. But whoever owns the right-of-way in multi-vendor fleets owns the real system leverage. Vehicle bodies are becoming commodities; scheduling is becoming the new moat.

By Dr. Chen, Supply Chain Researcher