Robot fleet operations Live model

You run the floor of a warehouse where about 24 autonomous mobile robots (AMRs) carry totes from storage aisles to four cobot packing cells. Each order is a 240 m trip — 200 m through robot-only aisles, 40 m through the shared area where people work — and a pick at a cell. The model computes queues, congestion, deadlocks, stopping distances, battery energy and charger power, and the effect of software versions on stops, minute by minute, from published standards and textbook formulas. It is a model of operating principles: it does not run robot software, and the numbers are generic, not those of any product. Educational simulation only — real sites follow their own risk assessment.

What you will learn

Simulator

Time 0 min
Robots in service 24 · Totes packed 360/h · Order lead time 0.0 min · Robots available 100% · Zone A (robots only) 1.5 m/s · Shared area 1.0 m/s (Δ 0.27 m) · Free (local avoidance), Robots stuck in deadlocks 0 · Cobot cells 0%, Person in a cobot cell 0 · Chargers 0/6 (Charger out of service 0), Robots waiting for a charger 0 · Average battery charge 67% · v1 24, v2.0 0, v2.1 0 · Stops per robot-hour, newest build 0.0/h, Stops per robot-hour, rest of fleet 0.0/h⁨24⁩ · ⁨360/h⁩ · ⁨Robots⁩························⁨✓ 1.5 m/s⁩⁨Zone A (robots only)⁩⁨no people⁩⁨⚠ 1.0 m/s⁩ · ⁨Δ 0.27 m⁩⁨Shared area⁩⁨⛔ 0⁩ · ⁨Free (local avoidance)⁩⁨0%⁩ · ⁨Cobot cells⁩⚙⚙⚙⚙⁨⚡ 0/6⁩ · ⁨⌛ 0⁩ · ⁨Chargers⁩······⁨Software: v1 · v2.0 · v2.1⁩⁨v1 24⁩ · ⁨v2.0 0⁩ · ⁨v2.1 0⁩⁨0.0/h newest⁩ · ⁨0.0/h rest⁩
  • Driving with a task
  • At a cobot cell
  • Waiting for a cell
  • Idle
  • Charging
  • Waiting for a charger
  • Updating software
  • Stopped (link or localisation)
  • Stuck in a deadlock
  • Run flat, towed
  • Zone without people
  • People in the zone, speed within the field
  • Too fast for the field where people are
  • Person in a cobot cell
  • Charger out of service

Controls

Spare robots wake up from the depot; parked robots draw no power. Every robot in service costs a robot-hour per hour.

Zone A is closed to people, so robots may drive fast. If people enter it, the speed must fit the personnel-detection field again.

People always work here. The stopping distance at this speed must fit inside the 1.3 m personnel-detection field.

Free: robots only avoid each other locally — fast, but two or more can block each other for good. Zone reservation: a robot enters an intersection only once the zones ahead of it are reserved for it — no deadlocks, a short wait at each crossing.

Frees every deadlocked robot now. Costs 2 operator-minutes per robot freed; it does not stop new deadlocks forming.

A robot finishing a task with this much charge or less joins the charger queue. Lower uses more of the battery, but a robot that waits too long can run flat.

Chargers deliver full power up to about 70 %; above that the current tapers. Stopping lower frees the charger sooner.

Robots with no task go to any free charger instead of waiting idle, and leave for work again as soon as orders wait and they have 20 % above the send-to-charge level.

Tool speed while nobody is inside the cell. A tote of 10 items takes 25 s at 1 m/s.

Power and force limiting: a hand caught against a tote must not feel more than 140 N (the quasi-static limit, used conservatively), which allows at most 0.67 m/s here.

Moving the slider rolls the newest published build out to that share of the fleet (the first robots in order); the rest run v1. A build published later is installed only when you move the slider again. Each robot that changes version is out of service for 4 minutes.

Indicators

Totes packed
360/h
normal
Order lead time
0.0min
normal
Robots available
100%
normal
Stopping margin where people are
0.27m
normal
Orders waiting0
Cobot speed margin (power and force limit)0.17 m/s
Average battery charge67 %
Lowest battery charge42 %
Robots waiting for a charger0
Robots charging0
Robots run flat (towed)0
Robots stuck in deadlocks0
Deadlocks formed0
Navigation stops (link or localisation)0
Stops per robot-hour, newest build0.0 /h
Stops per robot-hour, rest of fleet0.0 /h
Fleet on the newest build0 %
Fleet on v2.00 %
Robots updating0
Zone A speed setting1.5 m/s
Operator time spent on robots0 min
Robot-hours used0 h
Robots in service24
Robots driving0
Actual speed in zone A1.50 m/s
Wait per intersection crossing0.0 s
Fleet power draw0.00 kW
Charger power delivered0.00 kW
Cobot cells busy0 %

Trend

Totes packed: — /h6000

Crisis scenarios

Level 1 · Half the chargers fail before the order peak

Morning shift, 24 robots in service, about 3.7 orders a minute. The fleet starts the shift on average 60 % charged after a busy night. At minute 15 an electrical fault takes four of the six chargers out for the rest of the shift. At minute 90 the order peak begins (+25 % for two hours). Keep orders flowing, enter the peak with the fleet charged, do not let a robot run flat, and stay within the shift’s robot budget.

  • Average lead time during and after the peak ≤ 3.5 min
  • Fleet at least 49 % charged on average when the peak begins
  • No robot runs flat
  • At most 97 robot-hours for the shift
  • Stopping distance always inside the field where people are
  • Cobot never faster than the power and force limit with a person inside

Level 2 · An aisle closes, robots gridlock, and a crew walks into zone A

About 4.2 orders a minute, 24 robots, traffic control set to free driving. At minute 10 one aisle is closed for re-racking: fewer intersections, more head-on meetings and no detours. At minute 60 a maintenance crew enters the robot-only zone A for 40 minutes. Keep orders moving with little operator time, keep every stopping distance inside the safety field where people are, and run zone A at full speed again once it is clear.

  • Average lead time ≤ 6 min
  • Zone A back at ≥ 1.4 m/s on average once the crew has left
  • At most 1 deadlock forms
  • At most 20 operator-minutes on robots
  • Stopping distance always inside the field where people are
  • Cobot never faster than the power and force limit with a person inside

Level 3 · Canary rollout of new navigation software

The aisles were re-racked last night and robots on the current software (v1) lose their position there more often; each loss needs an operator. Release v2.0 fixes that and is already running on 10 % of the fleet as a canary. Give the canary enough time to judge it, compare it with the rest of the fleet, decide whether to expand or roll back, and get the fleet onto a good build — in stages, without taking too many robots out at once.

  • Canary kept running for the first 12 minutes (≥ 5 % of the fleet on v2.0)
  • Off the faulty v2.0 from minute 30 to 49 (≤ 1 % of the fleet on it on average)
  • Hotfix on at most 20 % of the fleet in its first 10 minutes
  • Hotfix rolled out promptly: on average ≥ 55 % of the fleet on it after it is published
  • At least 90 % of the fleet on the newest build at the end
  • At least 60 % of the robots available at all times
  • Stopping distance always inside the field where people are
  • Cobot never faster than the power and force limit with a person inside

Basis — the model behind the numbers

Every relation the simulator uses, with its source. Constants marked as assumptions are illustrative calibrations.

Little’s law: every order not yet packed — waiting or already on a robot — divided by the rate at which totes are actually packed gives the lead time.
lead time W = L / X, L = orders waiting + orders on a robot, X = totes packed per minute (smoothed, τ = 10 min)[5]
Speed falls as more robots share the aisles (Greenshields’ linear speed–density relation).
v_eff = v · max(0.1, 1 − n_moving / N_jam), N_jam = 120 robots (80 with an aisle closed)[7][9]Illustrative values, not those of a real site or product. Real sites set fields, speeds and limits from their own risk assessment and the manufacturer’s data.
Without reservation, two robots can each wait for the space the other holds — a circular wait. Encounters grow with the square of the robots driving.
free traffic: P(new deadlock in a minute) = 1 − e^(−κ·n_moving²/n_I), κ = 0.00001 (× 300 with an aisle closed, n_I = 6 → 4); a robot behind joins with p = 0.5 (≤ 8); the fleet manager re-plans with p = 0.2/min (0.03/min with no detour)[8][10]Illustrative values, not those of a real site or product. Real sites set fields, speeds and limits from their own risk assessment and the manufacturer’s data.
Zone reservation: a robot enters only when the zones ahead of it are reserved for it (all at once, in a fixed order), which removes the circular wait; each intersection then behaves like a single-server queue with a fixed crossing time.
zone reservation: a robot enters only when the zones ahead are granted to it → no circular wait; each crossing W = ρτ / (2(1 − ρ)), ρ = λ_I·τ, τ = 2 s, 6 crossings per task[8][6][9]Illustrative values, not those of a real site or product. Real sites set fields, speeds and limits from their own risk assessment and the manufacturer’s data.
Where people can be, the stopping distance — reaction travel plus braking — must fit inside the personnel-detection field.
d_stop = v·t_r + v²/(2a) + C ≤ F (t_r = 0.3 s, a = 0.8 m/s², C = 0.1 m, F = 1.3 m ⇒ v ≤ 1.17 m/s where people can be)[1][2]Illustrative values, not those of a real site or product. Real sites set fields, speeds and limits from their own risk assessment and the manufacturer’s data.
Power and force limiting: the highest speed at which a contact with a hand stays under the permitted force, from the reduced mass of hand and robot and the hand’s stiffness. The quasi-static limit is used even for brief contact, which is conservative.
v ≤ F / √(μ·k), μ = (1/m_H + 1/m_R)⁻¹, m_R = M/2 + m_L; hand: F = 140 N (quasi-static limit, used conservatively), k = 75 N/mm, m_H = 0.6 kg; M = 24 kg, m_L = 3 kg ⇒ v ≤ 0.67 m/s[3][4]Illustrative values, not those of a real site or product. Real sites set fields, speeds and limits from their own risk assessment and the manufacturer’s data.
A tote of items takes grip time plus two reaches per item; with a person inside, the cobot runs at the collaborative speed. Robots are served in the order they reach the cells, second by second within each minute.
tote time = 10 items × (1.5 s + 2 × 0.5 m / v_cobot); v_cobot = collaborative speed while a person is in the cell; 4 cells, served in order of arrival within the minute[3]Illustrative values, not those of a real site or product. Real sites set fields, speeds and limits from their own risk assessment and the manufacturer’s data.
Driving power: a fixed electronics load, rolling resistance, and the braking energy lost at every stop-and-go.
P = 60 W + C_rr·m·g·v/η + 0.03/m · v · ½mv²·(1 − r)/η (C_rr = 0.012, m = 500 kg, η = 0.75, r = 0.5)[12]Illustrative values, not those of a real site or product. Real sites set fields, speeds and limits from their own risk assessment and the manufacturer’s data.
Chargers give full power up to about 70 % charge, then the current tapers (constant current, then constant voltage).
P_charge = 0.8 kW up to 70 % SoC, then × (1 − 0.9·(SoC − 70)/30); battery 0.8 kWh; stranded at 1 %[11][10]Illustrative values, not those of a real site or product. Real sites set fields, speeds and limits from their own risk assessment and the manufacturer’s data.
A robot stops when the link to the fleet manager is silent longer than its watchdog; a shorter watchdog catches far more short Wi-Fi gaps.
P(link silent > W in a robot-minute) = 0.224·e^(−W/0.1 s); watchdog W: v1 0.5 s, v2.0 0.15 s, v2.1 0.5 s; stop 2 min[13]Illustrative values, not those of a real site or product. Real sites set fields, speeds and limits from their own risk assessment and the manufacturer’s data.
Canary comparison: stops per robot-hour of the robots on the newest build against the rest of the fleet.
stops per robot-hour, canary vs control: 60·stops / robots (smoothed τ = 10 min); update or rollback = 4 min out of service[13]
Other constants of this model
task 200 m in zone A + 40 m in the shared area · 6 intersections · 4 cobot cells, a person inside 25 % of minutes · 6 chargers · shift-start charge stratified over mean ± 27.5 % · v1 mislocalises 0.6 % per driving minute in re-racked aisles (others 0.04 %), 6-min stop + 3 operator-min · clearing a deadlock 2 operator-min per robot · tow 15 operator-minIllustrative values, not those of a real site or product. Real sites set fields, speeds and limits from their own risk assessment and the manufacturer’s data.

Randomness: a seeded mulberry32 generator; distributions used — uniform, exponential (inverse CDF), normal (Box–Muller), Poisson (Knuth). The seed is shown and shareable.

Sources

  1. ISO 3691-4:2023 Industrial trucks — Safety requirements and verification — Part 4: Driverless industrial trucks and their systems (personnel detection, zones, speed) — ISO/TC 110/SC 2, 2023
  2. ISO 13855:2024 Safety of machinery — Positioning of safeguards with respect to the approach of the human body (minimum distance S = K·T + C; replaces the 2010 edition) — ISO/TC 199, 2024
  3. ISO/TS 15066:2016 Robots and robotic devices — Collaborative robots (Annex A: body-region limits; transient contact speed v = F/√(μk), μ = (1/m_H + 1/m_R)⁻¹, m_R = M/2 + m_L) — ISO/TC 299, 2016
  4. ISO 10218-2:2025 Robotics — Safety requirements — Part 2: Industrial robot applications and robot cells (collaborative applications; takes over the ISO/TS 15066 body-region data) — ISO/TC 299, 2025
  5. J. D. C. Little — A Proof for the Queuing Formula: L = λW — Operations Research 9(3):383–387, 1961
  6. M. Harchol-Balter — Performance Modeling and Design of Computer Systems (M/G/1 Pollaczek–Khinchine mean wait; M/D/1) — Cambridge University Press, 2013
  7. B. D. Greenshields — A Study of Traffic Capacity (linear speed–density relation) — Highway Research Board Proceedings 14:448–477, 1935
  8. E. G. Coffman, M. Elphick, A. Shoshani — System Deadlocks (the four necessary conditions; prevention by ordered resource allocation) — ACM Computing Surveys 3(2):67–78, 1971
  9. I. F. A. Vis — Survey of research in the design and control of automated guided vehicle systems (fleet sizing, zone control, deadlocks, battery management) — European Journal of Operational Research 170(3):677–709, 2006
  10. M. De Ryck, M. Versteyhe, F. Debrouwere — Automated guided vehicle systems, state-of-the-art control algorithms and techniques (traffic, deadlock avoidance, battery charging strategies) — Journal of Manufacturing Systems 54:152–173, 2020
  11. BU-409: Charging Lithium-ion (constant current to about 70 % state of charge, then constant voltage while the current tapers) — Battery University
  12. T. D. Gillespie — Fundamentals of Vehicle Dynamics (rolling resistance F = C_rr·m·g; kinetic energy lost in braking) — SAE International, 1992
  13. The Site Reliability Workbook — Ch. 16 Canarying Releases (canary vs control, multi-stage rollout, rollback) — Beyer, Murphy, Rensin, Kawahara, Thorne (eds.), O'Reilly, 2018

Who does this for a living

Educational model — not for operational decisions. Real sites calibrate every constant to their own equipment and data.