Gestione di flotte di robot Modello live

Gestisci il piano di un magazzino dove circa 24 robot mobili autonomi (AMR) portano contenitori dalle corsie di stoccaggio a quattro celle di imballaggio con cobot. Ogni ordine è un tragitto di 240 m — 200 m in corsie riservate ai robot, 40 m nell’area condivisa dove lavorano persone — più un prelievo in una cella. Il modello calcola minuto per minuto code, congestione, deadlock, distanze di arresto, energia delle batterie e potenza dei caricatori, e l’effetto delle versioni software sulle fermate, a partire da norme pubblicate e formule da manuale. È un modello dei principi operativi: non esegue software per robot e i numeri sono generici, non quelli di un prodotto. Solo simulazione didattica — i siti reali seguono la propria valutazione dei rischi.

Cosa imparerai

Simulatore

Tempo 0 min
Robot in servizio 24 · Contenitori imballati 360/h · Lead time degli ordini 0,0 min · Robot disponibili 100% · Zona A (solo robot) 1,5 m/s · Area condivisa 1,0 m/s (Δ 0,27 m) · Libero (evitamento locale), Robot bloccati in deadlock 0 · Celle cobot 0%, Persona in una cella cobot 0 · Caricatori 0/6 (Caricatore fuori servizio 0), Robot in attesa di un caricatore 0 · Carica media delle batterie 67% · v1 24, v2.0 0, v2.1 0 · Fermate per ora-robot, build più recente 0,0/h, Fermate per ora-robot, resto della flotta 0,0/h⁨24⁩ · ⁨360/h⁩ · ⁨Robot⁩························⁨✓ 1,5 m/s⁩⁨Zona A (solo robot)⁩⁨nessuna persona⁩⁨⚠ 1,0 m/s⁩ · ⁨Δ 0,27 m⁩⁨Area condivisa⁩⁨⛔ 0⁩⁨Libero (evitamento locale)⁩⁨0%⁩ · ⁨Celle cobot⁩⚙⚙⚙⚙⁨⚡ 0/6⁩ · ⁨⌛ 0⁩ · ⁨Caricatori⁩······⁨Software: v1 · v2.0 · v2.1⁩⁨v1 24⁩ · ⁨v2.0 0⁩ · ⁨v2.1 0⁩⁨0,0/h recente⁩ · ⁨0,0/h resto⁩
  • In marcia con un compito
  • A una cella cobot
  • In attesa di una cella
  • Inattivo
  • In carica
  • In attesa di un caricatore
  • Aggiornamento software
  • Fermo (collegamento o localizzazione)
  • Bloccato in un deadlock
  • Scarico, trainato
  • Zona senza persone
  • Persone nella zona, velocità entro il campo
  • Troppo veloce per il campo dove ci sono persone
  • Persona in una cella cobot
  • Caricatore fuori servizio

Comandi

I robot di riserva si attivano dal deposito; i robot parcheggiati non consumano energia. Ogni robot in servizio costa un’ora-robot all’ora.

La zona A è chiusa alle persone, quindi i robot possono andare veloci. Se vi entrano persone, la velocità deve di nuovo rientrare nel campo di rilevamento persone.

Qui lavorano sempre delle persone. La distanza di arresto a questa velocità deve rientrare nel campo di rilevamento persone di 1,3 m.

Libero: i robot si evitano solo localmente — veloce, ma due o più possono bloccarsi a vicenda definitivamente. Prenotazione delle zone: un robot entra in un incrocio solo dopo che le zone davanti a lui sono state prenotate per lui — nessun deadlock, una breve attesa a ogni attraversamento.

Libera subito tutti i robot in deadlock. Costa 2 minuti-operatore per ogni robot liberato; non impedisce che si formino nuovi deadlock.

Un robot che termina un compito con questa carica o meno si mette in coda al caricatore. Una soglia più bassa sfrutta di più la batteria, ma un robot che aspetta troppo può scaricarsi del tutto.

I caricatori erogano piena potenza fino a circa il 70 %; oltre, la corrente cala progressivamente. Fermarsi prima libera il caricatore più presto.

I robot senza compito vanno a un qualsiasi caricatore libero invece di restare fermi, e ripartono appena ci sono ordini in attesa e hanno il 20 % in più della soglia di invio in carica.

Velocità dell’utensile quando nessuno è nella cella. Un contenitore di 10 articoli richiede 25 s a 1 m/s.

Limitazione di potenza e forza: una mano schiacciata contro un contenitore non deve subire più di 140 N (il limite quasi-statico, applicato in modo conservativo), il che qui consente al massimo 0,67 m/s.

Spostando il cursore, la build pubblicata più recente viene distribuita a quella quota della flotta (i primi robot in ordine); gli altri usano la v1. Una build pubblicata in seguito viene installata solo quando sposti di nuovo il cursore. Ogni robot che cambia versione resta fuori servizio per 4 minuti.

Indicatori

Contenitori imballati
360/h
normale
Lead time degli ordini
0,0min
normale
Robot disponibili
100%
normale
Margine di arresto dove ci sono persone
0,27m
normale
Ordini in attesa0
Margine di velocità del cobot (limite di potenza e forza)0,17 m/s
Carica media delle batterie67 %
Carica minima delle batterie42 %
Robot in attesa di un caricatore0
Robot in carica0
Robot scarichi (trainati)0
Robot bloccati in deadlock0
Deadlock formati0
Fermate di navigazione (collegamento o localizzazione)0
Fermate per ora-robot, build più recente0,0 /h
Fermate per ora-robot, resto della flotta0,0 /h
Flotta sulla build più recente0 %
Flotta sulla v2.00 %
Robot in aggiornamento0
Velocità impostata nella zona A1,5 m/s
Tempo operatore speso sui robot0 min
Ore-robot usate0 h
Robot in servizio24
Robot in movimento0
Velocità effettiva nella zona A1,50 m/s
Attesa per attraversamento0,0 s
Assorbimento della flotta0,00 kW
Potenza erogata dai caricatori0,00 kW
Celle cobot occupate0 %

Andamento

Contenitori imballati: — /h6000

Scenari di crisi

Livello 1 · Metà dei caricatori si guasta prima del picco degli ordini

Turno del mattino, 24 robot in servizio, circa 3,7 ordini al minuto. Dopo una notte intensa la flotta inizia il turno con una carica media del 60 %. Al minuto 15 un guasto elettrico mette fuori uso quattro dei sei caricatori per il resto del turno. Al minuto 90 inizia il picco degli ordini (+25 % per due ore). Mantieni il flusso degli ordini, entra nel picco con la flotta carica, non lasciare che un robot si scarichi del tutto e resta nel budget di ore-robot del turno.

  • Lead time medio durante e dopo il picco ≤ 3,5 min
  • Flotta carica in media almeno al 49 % all’inizio del picco
  • Nessun robot si scarica del tutto
  • Al massimo 97 ore-robot nel turno
  • Distanza di arresto sempre dentro il campo dove ci sono persone
  • Cobot mai più veloce del limite di potenza e forza con una persona all’interno

Livello 2 · Una corsia chiude, i robot si bloccano e una squadra entra nella zona A

Circa 4,2 ordini al minuto, 24 robot, gestione del traffico in modalità libera. Al minuto 10 una corsia viene chiusa per il riallestimento delle scaffalature: meno incroci, più incontri frontali e nessuna deviazione. Al minuto 60 una squadra di manutenzione entra nella zona A riservata ai robot per 40 minuti. Mantieni gli ordini in movimento con poco tempo operatore, tieni ogni distanza di arresto dentro il campo di sicurezza dove ci sono persone e riporta la zona A alla piena velocità appena è libera.

  • Lead time medio ≤ 6 min
  • Zona A di nuovo a ≥ 1,4 m/s in media dopo l’uscita della squadra
  • Al massimo 1 deadlock
  • Al massimo 20 minuti-operatore sui robot
  • Distanza di arresto sempre dentro il campo dove ci sono persone
  • Cobot mai più veloce del limite di potenza e forza con una persona all’interno

Livello 3 · Rilascio canary di un nuovo software di navigazione

Stanotte le corsie sono state riallestite e i robot con il software attuale (v1) vi perdono più spesso la propria posizione; ogni perdita richiede un operatore. La release v2.0 risolve il problema ed è già in esecuzione sul 10 % della flotta come canary. Lascia al canary il tempo necessario per valutarlo, confrontalo con il resto della flotta, decidi se estenderlo o fare rollback, e porta la flotta su una build valida — per gradi, senza togliere troppi robot dal servizio contemporaneamente.

  • Canary mantenuto attivo nei primi 12 minuti (≥ 5 % della flotta sulla v2.0)
  • Fuori dalla v2.0 difettosa dal minuto 30 al 49 (≤ 1 % della flotta su di essa in media)
  • Hotfix su non più del 20 % della flotta nei suoi primi 10 minuti
  • Hotfix distribuito rapidamente: in media ≥ 55 % della flotta su di esso dopo la pubblicazione
  • Almeno il 90 % della flotta sulla build più recente alla fine
  • Almeno il 60 % dei robot disponibile in ogni momento
  • Distanza di arresto sempre dentro il campo dove ci sono persone
  • Cobot mai più veloce del limite di potenza e forza con una persona all’interno

Base: il modello dietro i numeri

Ogni relazione usata dal simulatore, con la sua fonte. Le costanti indicate come ipotesi sono tarature illustrative.

Legge di Little: tutti gli ordini non ancora imballati — in attesa o già su un robot — divisi per il ritmo a cui i contenitori vengono effettivamente imballati danno il lead time.
lead time W = L / X, L = orders waiting + orders on a robot, X = totes packed per minute (smoothed, τ = 10 min)[5]
La velocità cala quando più robot condividono le corsie (relazione lineare velocità–densità di Greenshields).
v_eff = v · max(0.1, 1 − n_moving / N_jam), N_jam = 120 robots (80 with an aisle closed)[7][9]Valori illustrativi, non quelli di un sito o prodotto reale. I siti reali fissano campi, velocità e limiti in base alla propria valutazione dei rischi e ai dati del costruttore.
Senza prenotazione, due robot possono aspettare ciascuno lo spazio occupato dall’altro — un’attesa circolare. Gli incontri crescono con il quadrato dei robot in movimento.
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]Valori illustrativi, non quelli di un sito o prodotto reale. I siti reali fissano campi, velocità e limiti in base alla propria valutazione dei rischi e ai dati del costruttore.
Prenotazione delle zone: un robot entra solo quando le zone davanti a lui sono prenotate per lui (tutte insieme, in un ordine fisso), il che elimina l’attesa circolare; ogni incrocio si comporta allora come una coda a servente singolo con un tempo di attraversamento fisso.
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]Valori illustrativi, non quelli di un sito o prodotto reale. I siti reali fissano campi, velocità e limiti in base alla propria valutazione dei rischi e ai dati del costruttore.
Dove possono esserci persone, la distanza di arresto — percorso durante il tempo di reazione più frenata — deve rientrare nel campo di rilevamento persone.
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]Valori illustrativi, non quelli di un sito o prodotto reale. I siti reali fissano campi, velocità e limiti in base alla propria valutazione dei rischi e ai dati del costruttore.
Limitazione di potenza e forza: la velocità massima alla quale un contatto con una mano resta sotto la forza ammessa, ricavata dalla massa ridotta di mano e robot e dalla rigidezza della mano. Il limite quasi-statico viene usato anche per i contatti brevi, il che è conservativo.
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]Valori illustrativi, non quelli di un sito o prodotto reale. I siti reali fissano campi, velocità e limiti in base alla propria valutazione dei rischi e ai dati del costruttore.
Un contenitore di articoli richiede il tempo di presa più due movimenti del braccio per articolo; con una persona all’interno, il cobot lavora alla velocità collaborativa. I robot vengono serviti nell’ordine in cui raggiungono le celle, secondo per secondo all’interno di ogni minuto.
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]Valori illustrativi, non quelli di un sito o prodotto reale. I siti reali fissano campi, velocità e limiti in base alla propria valutazione dei rischi e ai dati del costruttore.
Potenza di trazione: un carico fisso dell’elettronica, la resistenza al rotolamento e l’energia di frenata persa a ogni arresto e ripartenza.
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]Valori illustrativi, non quelli di un sito o prodotto reale. I siti reali fissano campi, velocità e limiti in base alla propria valutazione dei rischi e ai dati del costruttore.
I caricatori erogano piena potenza fino a circa il 70 % di carica, poi la corrente cala (prima corrente costante, poi tensione costante).
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]Valori illustrativi, non quelli di un sito o prodotto reale. I siti reali fissano campi, velocità e limiti in base alla propria valutazione dei rischi e ai dati del costruttore.
Un robot si ferma quando il collegamento con il fleet manager tace più a lungo del suo watchdog; un watchdog più corto intercetta molte più brevi interruzioni del Wi-Fi.
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]Valori illustrativi, non quelli di un sito o prodotto reale. I siti reali fissano campi, velocità e limiti in base alla propria valutazione dei rischi e ai dati del costruttore.
Confronto canary: fermate per ora-robot dei robot con la build più recente rispetto al resto della flotta.
stops per robot-hour, canary vs control: 60·stops / robots (smoothed τ = 10 min); update or rollback = 4 min out of service[13]
Altre costanti di questo modello
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-minValori illustrativi, non quelli di un sito o prodotto reale. I siti reali fissano campi, velocità e limiti in base alla propria valutazione dei rischi e ai dati del costruttore.

Casualità: un generatore mulberry32 con seed; distribuzioni usate: uniforme, esponenziale (CDF inversa), normale (Box–Muller), Poisson (Knuth). Il seed è mostrato e condivisibile.

Fonti

  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

Chi lo fa per mestiere

Modello didattico, non per decisioni operative. Gli impianti reali tarano ogni costante sulle proprie apparecchiature e sui propri dati.