Contents — find the section you need

Quando centinaia di droni riorganizzano simultaneamente la propria formazione in uno spettacolo di droni, o quando una flotta di robot in un magazzino si muove senza collisioni, non esiste un singolo "centro di comando" che calcoli ogni movimento in tempo reale. Nella maggior parte dei casi, ogni robot si limita a osservare informazioni limitate sull'ambiente circostante e a seguire semplici regole: da ciò emerge un comportamento ordinato e significativo per l'intero gruppo. Questo articolo analizza il concetto di controllo di sciame (controllo multi-robot) – ovvero la costruzione di un insieme complesso a partire da parti semplici – da tre prospettive: il movimento di gruppo, la formazione del consenso e il controllo della formazione.

Molti robot Kilobot disposti su un pavimentoUno sciame di robot sul campo (Kilobot)

Immagine: Kilobot robot swarm (asuscreative, CC BY-SA 4.0), Wikimedia Commons. Un esempio rappresentativo di ricerca sulla robotica di sciame che si basa esclusivamente su regole locali, non sui droni o sui robot da magazzino discussi nel testo.

0. Cosa tratta questo articolo

  • Quale problema cerca di risolvere il controllo di sciame e perché un singolo robot non è sufficiente
  • La relazione tra le informazioni che ogni robot può effettivamente ottenere (input) e l'output (comando di velocità) che ne deriva
  • La differenza architetturale tra progetti centralizzati e decentralizzati
  • Come funziona il comportamento di uno sciame basato su regole locali, esemplificato dai Boids
  • La matematica della formazione del consenso tramite algoritmi di consenso
  • Le differenze tra tre approcci di controllo della formazione: leader-follower, struttura virtuale e basato sul comportamento
  • Come i vincoli di comunicazione (latenza, dropout, larghezza di banda) influenzano la progettazione del controllo di sciame
  • Quale approccio scegliere per quale applicazione: spettacoli di droni, robot da magazzino, ricerca in caso di disastri e altro ancora

1. In sintesi: cos'è il controllo di sciame

In una frase: il controllo di sciame è un framework di controllo che produce Comportamento collettivo significativo per l'intero gruppo — allineamento, mantenimento della formazione, consenso, divisione del lavoro — a partire dalle informazioni limitate e dalle semplici regole comportamentali possedute da ciascuno dei numerosi robot.

Il punto chiave è che "nessuno detiene necessariamente il progetto per l'intero sistema". Proprio come uno stormo di uccelli non ha un direttore, molti algoritmi di controllo di sciami sono progettati in modo che ogni robot utilizzi solo le informazioni sugli altri robot vicini (i suoi vicini), e anche senza mai conoscere lo stato completo dell'intero gruppo, lo sciame nel suo complesso finisce per muoversi come un'unica unità coerente. Questa idea — "costruire un ordine globale a partire da informazioni locali" — è ciò che distingue fondamentalmente il controllo di sciami dal controllo di singoli robot.

2. Perché è necessario il controllo di sciami?

Se un problema può essere risolto da un singolo robot ad alte prestazioni, il controllo di sciami non è necessario. Il controllo a sciame viene scelto nella pratica in situazioni in cui una singola unità è, in linea di principio o nella pratica, svantaggiata, ad esempio:

  • Copertura spaziale: un singolo robot impiegherebbe troppo tempo per perlustrare un'ampia area colpita da un disastro o un campo da un'estremità all'altra. Suddividere il lavoro tra più robot riduce i tempi di ricerca in proporzione al numero di robot.

  • Ridondanza e tolleranza ai guasti: con una configurazione a unità singola, un guasto interrompe l'intera missione; uno sciame composto da molti robot può continuare la missione con i rimanenti anche se alcuni si guastano.

  • Lavoro simultaneo in più punti: alcune missioni richiedono intrinsecamente di essere in più posti contemporaneamente, come formare figure in uno spettacolo di droni o trasportare simultaneamente merci in diverse aree di un magazzino.

  • Costo per unità: anziché costruire un robot ad alte prestazioni, l'utilizzo di molti robot semplici ed economici può essere vantaggioso in termini di costo totale e flessibilità di impiego.

Per ottenere concretamente questi vantaggi non basta semplicemente aumentare il numero di robot: sono necessarie leggi di controllo che impediscano le collisioni tra i robot, mantenendo al contempo un comportamento collettivo allineato all'obiettivo. Questo è il ruolo del controllo di sciame.

3. Quali sono gli input?

Le informazioni che ciascun robot può utilizzare per il controllo di sciame possono essere classificate come segue, a seconda della configurazione di comunicazione e rilevamento.

  • Stato del robot: posizione, velocità e orientamento del robot stesso. Solitamente ottenuti tramite GPS, odometria o un metodo di autolocalizzazione come VIO/LIO.

  • Informazioni relative sui robot vicini: posizione e velocità relative dei robot vicini, osservate direttamente con sensori come telecamere, LiDAR o telemetria UWB (ultra-wideband).

  • Messaggi tramite comunicazione: posizione, velocità e intenzione (dove si dirigerà in seguito), informazioni inviate esplicitamente da altri robot tramite un collegamento wireless.

  • (Nei progetti centralizzati) comandi da un nodo centrale: posizioni target o assegnazioni di ruolo distribuite ai singoli robot da un computer centrale (una stazione di terra, ad esempio) che monitora lo stato dell'intero sciame.

Il punto importante è che molti algoritmi pratici di controllo dello sciame non richiedono "lo stato completo dell'intero sciame" come input. Gli algoritmi che operano utilizzando solo informazioni relative provenienti da una manciata di robot vicini rappresentano l'approccio principale, ed è proprio questo che impedisce che la quantità di informazioni che ogni robot deve elaborare esploda con l'aumentare del numero di robot.

4. Cosa stiamo cercando di risolvere? Quali sono gli output?

Ciò che il controllo dello sciame produce in definitiva, per ogni robot, è come dovrebbe muoversi nell'istante successivo (un comando di velocità o una posizione target). Lo "stato desiderabile per l'intero sistema" che questo output mira a realizzare si suddivide nelle seguenti categorie, a seconda dell'obiettivo.

  • Consenso: convergenza di una qualche grandezza di stato (posizione, velocità o una stima) tra tutti i robot verso un singolo valore comune.

  • Formazione: ogni robot mantiene costantemente una specifica relazione posizionale relativa con gli altri (triangolo, linea, cerchio, ecc.).

  • Movimento di gruppo: senza una forma target esplicita, lo sciame si muove come un'unica massa coerente, evitando collisioni e adattando la velocità a quella dei robot vicini.

  • Assegnazione dei compiti: decidere quale tra diversi compiti discreti — ricerca, trasporto — ciascun robot debba svolgere.

Tutti questi processi condividono la struttura secondo cui "l'accumulo degli output locali di ciascun robot soddisfa una proprietà collettiva desiderata per l'intero sistema" — e l'architettura di base della sezione successiva illustra schematicamente questo ciclo di accumulo.

  1. Architettura di base

Il ciclo di elaborazione interno a ciascun robot segue all'incirca le stesse quattro fasi, indipendentemente dall'algoritmo di controllo dello sciame.

Diagram 1 · Use the button to switch views
The swarm-control loop repeated by a single robot A diagram showing the control loop of an individual robot: from sensing/communication, through local rules, to a velocity command, with the environment's response feeding back into sensing again Sensing/communication (relative info on neighbors) Local rules (Boids/consensus, etc.) Velocity command v_i Motion/environment (changes to self and surroundings) Sensing again next cycle (feedback)

Figura 1 — Ogni singolo robot continua a eseguire un ciclo ad alta frequenza: raccoglie informazioni sui vicini, applica regole locali, emette un comando di velocità e invia il movimento risultante al sistema di rilevamento del ciclo successivo.

Questo ciclo, eseguito simultaneamente da molti robot, è ciò che permette allo sciame nel suo complesso di mostrare un comportamento ordinato, anche se nessun singolo robot conosce mai l'intero progetto. La decisione progettuale su "chi detiene le informazioni sull'insieme" dà origine alla differenza architetturale che verrà discussa in seguito.

Diagram 2 · Use the button to switch views
The difference between centralized and decentralized architectures A diagram showing that a centralized architecture is a star structure where a central control node sends commands to every robot, while a decentralized architecture is a mesh structure where robots exchange information as peers Centralized Central control R1 R2 R3 R4 Decentralized R1 R2 R3 R4

Figura 2 — Un'architettura centralizzata è una struttura a stella in cui un nodo centrale conosce lo stato di ogni robot e invia i comandi.

Un'architettura decentralizzata è una struttura a maglia in cui i robot scambiano informazioni solo con i loro vicini, in modo che un guasto del nodo centrale non arresti l'intero sistema.

6. Algoritmi rappresentativi

Boids - Creazione del movimento di gruppo a partire da regole locali

Boids è un modello proposto da Craig W. Reynolds nel suo articolo del 1987 "Flocks, Herds, and Schools: A Distributed Behavioral Model", per riprodurre il movimento di gruppo di uccelli e pesci nella computer grafica. Ogni individuo (boid) osserva solo i suoi vicini e si muove in una direzione ottenuta ponderando e sommando tre semplici regole.

  • Separazione: allontanarsi dai vicini troppo vicini
  • Allineamento: allineare la propria velocità alla direzione media dei vicini
  • Coesione: muoversi verso la posizione media dei vicini
\mathbf{v}_i^{\text{new}} = w_{\text{sep}}\, \mathbf{v}_{\text{sep}} + w_{\text{align}}\, \mathbf{v}_{\text{align}} + w_{\text{coh}}\, \mathbf{v}_{\text{coh}}

In ognuna di queste regole, ogni individuo conosce solo la posizione e la velocità relative di alcuni vicini: nessuno tiene traccia esplicitamente della forma o del centro dell'intero stormo. Eppure, dalla sovrapposizione di sole tre regole, emerge un movimento di stormo naturale: il gruppo evita le collisioni muovendosi insieme come un'unica massa. Questo fenomeno – "complessi schemi globali che emergono dalla sovrapposizione di semplici regole locali" – è l'idea fondamentale che permea l'intero campo del controllo degli sciami.

Campi di potenziale: generare movimento tramite attrazione e repulsione

Il metodo del campo di potenziale artificiale di Oussama Khatib, proposto nel suo articolo del 1986 "Real-Time Obstacle Avoidance for Manipulators and Mobile Robots", fu originariamente ideato per l'evitamento degli ostacoli da parte di un singolo robot, ma combinando un potenziale attrattivo verso l'obiettivo con un potenziale repulsivo proveniente dai robot vicini, si applica naturalmente anche al controllo di sciami.

U(\mathbf{p}_i) = U_{\text{att}}(\mathbf{p}_i) + \sum_{j \in \mathcal{N}_i} U_{\text{rep}}(\mathbf{p}_i, \mathbf{p}_j), \qquad \mathbf{v}_i = -\nabla U(\mathbf{p}_i)

Semplicemente muovendosi nella direzione che segue il gradiente del potenziale attrattivo U_{\text{att}}, che diminuisce avvicinandosi all'obiettivo, e del potenziale repulsivo U_{\text{rep}}, che aumenta bruscamente avvicinandosi troppo a un vicino, si ottiene un movimento che si dirige verso l'obiettivo evitando collisioni con gli altri robot. La regola di separazione di Boids si basa, in sostanza, sulla stessa idea del potenziale repulsivo.

Il modello di Vicsek e gli algoritmi di consenso: la matematica della formazione del consenso

Mentre i Boids sono nati da una motivazione ingegneristica e visiva — "riprodurre il movimento degli animali" — la fisica ha intrapreso una strada diversa, studiando il movimento di gruppo attraverso un modello matematico più semplificato. Il modello di Vicsek, pubblicato da Tamás Vicsek e colleghi su Physical Review Letters nel 1995, è un modello semplice — quasi come estrarre solo la regola di allineamento dei Boids — in cui ogni particella si muove a velocità costante seguendo la direzione media delle particelle vicine, più del rumore. Ha dimostrato che, a seconda dell'intensità di tale rumore, lo sciame subisce una transizione di fase tra una fase ordinata, in cui l'intero gruppo si muove in modo coerente, e una fase disordinata, in cui il movimento è disperso.

Il framework che formalizza rigorosamente questa idea del modello di Vicsek in termini di teoria del controllo è l'algoritmo di consenso. Nel quadro teorico elaborato da Reza Olfati-Saber e Richard M. Murray nel loro articolo del 2004 pubblicato su IEEE Transactions on Automatic Control, tra gli altri, lo stato di ciascun robot x_i (che può essere qualsiasi cosa: posizione, orientamento, una stima) viene continuamente aggiornato nella direzione che riduce al minimo la differenza con i robot vicini.

\dot{x}_i = -\sum_{j \in \mathcal{N}_i} \left(x_i - x_j\right) = -\sum_{j \in \mathcal{N}_i} a_{ij}\left(x_i - x_j\right)

Raccogliendo questo valore per tutti i robot si ottiene la matrice \dot{\mathbf{x}} = -L\mathbf{x}. L è una matrice chiamata Laplaciano del grafo e rappresenta la struttura stessa della rete di comunicazione: chi può comunicare con chi. Finché il grafo di comunicazione è connesso (esiste un percorso, diretto o indiretto, tra ogni coppia di robot), è dimostrato che questa semplice regola di aggiornamento è sufficiente a far convergere lo stato di ogni robot verso un singolo valore comune. Questo è il nucleo matematico degli algoritmi di consenso, applicabile a una vasta gamma di problemi oltre all'allineamento di sciami: sincronizzazione temporale, media distribuita delle stime e altro ancora.

Controllo della formazione: leader-follower, struttura virtuale e basato sul comportamento

Quando si desidera mantenere una formazione geometrica esplicita (triangolo, fila indiana, ecc.), si utilizza il controllo della formazione, un framework più mirato a obiettivi concreti. Esistono tre approcci di progettazione rappresentativi.

  • Leader-follower: un robot (o un sottoinsieme) funge da leader e gli altri lo seguono, mantenendo una posizione relativa rispetto ad esso. Il framework presentato da Jaydev P. Desai, James P. Ostrowski e Vijay Kumar all'ICRA 1998, e successivamente pubblicato su IEEE Transactions on Robotics and Automation nel 2001, è un esempio rappresentativo, che utilizza la teoria dei grafi per progettare esplicitamente quale robot segue quale. È intuitivo e facile da implementare, ma presenta il punto debole che l'intera formazione tende a collassare se il leader fallisce.

  • Struttura virtuale: un approccio proposto da M. Anthony Lewis e Kar-Han Tan nel loro articolo del 1997 "High Precision Formation Control of Mobile Robots Using Virtual Structures", che tratta l'intera formazione come un'unica struttura rigida virtuale e fa sì che ogni robot segua una posizione fissa su tale struttura. Mantiene un'elevata precisione per la formazione nel suo complesso, ma qualcuno deve calcolare la traiettoria target per l'intera struttura, il che rende difficile ottenere un design completamente decentralizzato.

  • Basato sul comportamento: un approccio presentato da Tucker Balch e Ronald C. Arkin in IEEE Transactions on Robotics and Automation nel 1998, in cui diversi comportamenti reattivi — "mantenere la formazione", "dirigersi verso l'obiettivo", "evitare gli ostacoli" — vengono calcolati in parallelo e combinati con dei pesi per produrre il movimento effettivo. Simile nello spirito a Boids, conferisce a ciascun robot elevata autonomia e robustezza, ma la precisione geometrica della formazione tende ad essere inferiore rispetto agli altri due approcci.

7. Differenze tra gli algoritmi

Metodo Principio Precisione (Precisione di formazione) Costo di comunicazione/calcolo Robustezza (a guasti parziali/perdita di comunicazione) Difficoltà di implementazione
Boids Sovrapposizione delle tre regole: separazione, allineamento, coesione Nessuna formazione esplicita (solo coesione di gruppo) Bassa (solo pochi vicini) Alta (nessun elemento centrale) Bassa
Campo di potenziale Discesa del gradiente sui potenziali attrattivi/repulsivi Moderata (dipende dall'equilibrio locale) Bassa Alta Bassa
Consenso (famiglia Vicsek/Olfati-Saber) Regola di aggiornamento che riduce la differenza con i vicini; Convergenza garantita tramite il laplaciano del grafo Converge esattamente, a seconda della quantità concordata Bassa (solo comunicazione tra vicini) Alta se il grafo di comunicazione è connesso Moderata (richiede una comprensione matematica della convergenza)

Leader-Follower | Mantiene la posizione relativa rispetto al leader | Alta (precisa rispetto al leader) | Moderata (le informazioni del leader devono essere propagate) | Bassa (vulnerabile alla perdita del leader) | Bassa |

Struttura virtuale | Tratta l'intera formazione come un corpo rigido | Molto alta | Alta (richiede il calcolo della traiettoria per l'intera struttura) | Moderata (il ricalcolo della struttura è costoso) | Alta |

Basato sul comportamento | Composizione ponderata di diversi comportamenti reattivi | Moderata (dipende dal compromesso tra i comportamenti) | Bassa | Alta | Moderata (richiede la progettazione e la messa a punto del comportamento) |

In generale, maggiore è la priorità data all'accuratezza geometrica della formazione (struttura virtuale), maggiore sarà la condivisione di informazioni e il costo computazionale richiesto; Più si dà priorità alla decentralizzazione e alla robustezza (Boids, basati sul comportamento), più si sacrifica l'accuratezza della formazione stessa. Gli algoritmi di consenso si collocano in una posizione intermedia teoricamente gestibile tra questi due estremi, garantendo sia "una rigorosa convergenza matematica" sia "la decentralizzazione che richiede solo la comunicazione tra i robot vicini".

8. Punti deboli / Ambienti difficili

Molte delle difficoltà che il controllo di sciami incontra nell'implementazione e nel funzionamento sono problemi specifici del controllo collettivo che non si presentano nel controllo di singoli robot.

  • Latenza e disconnessione della comunicazione: la maggior parte delle garanzie di convergenza per gli algoritmi di consenso presuppone che il grafo di comunicazione sia connesso. Negli ambienti reali, la comunicazione può essere interrotta o ritardata dalla portata radio o da ostacoli e, una volta che questa ipotesi non è più valida, sorgono problemi: il consenso non converge o converge a un valore errato.

    • Scalabilità: in un'architettura centralizzata, il carico computazionale e la larghezza di banda di comunicazione richiesti dal nodo centrale aumentano vertiginosamente con l'aumentare del numero di robot e, oltre una certa soglia, le prestazioni in tempo reale non possono più essere mantenute. Anche nelle architetture decentralizzate, il carico di rilevamento e comunicazione aumenta in ambienti densi con molti nodi vicini.
  • Minimi locali e deadlock: i metodi basati sul campo potenziale possono lasciare un robot bloccato in un "minimo locale" dove molteplici forze repulsive e attrattive si bilanciano, impedendogli di raggiungere l'obiettivo (un esempio tipico è una situazione di ingorgo in cui diversi robot tentano di entrare contemporaneamente in uno stretto passaggio).

  • Progettazione con tolleranza ai guasti insufficiente: in teoria, si ritiene che le architetture decentralizzate siano robuste ai guasti parziali, ma in pratica, le architetture con una certa asimmetria intrinseca, come quelle leader-follower, possono presentare modalità di guasto più fragili del previsto.

  • Robot e sensori eterogenei misti: nelle implementazioni reali, dove i modelli dei robot e i sensori di bordo non sono uniformi, la precisione e la frequenza delle informazioni acquisite da ciascun robot variano, e gli algoritmi basati su un singolo modello idealizzato tendono a non funzionare correttamente così come sono.

9. Scelte pratiche

La scelta di un algoritmo di controllo per sciami di droni dipende in gran parte dal fatto che l'applicazione dia priorità alla "precisione della formazione" o alla "robustezza/decentralizzazione".

  • Spettacoli di droni: traiettorie e formazioni predeterminate devono essere espresse con estrema precisione, e molti sistemi di produzione adottano un design vicino alla struttura centralizzata/virtuale, distribuendo traiettorie precalcolate a ciascun veicolo (precisione e riproducibilità sono prioritarie rispetto al processo decisionale autonomo in volo).

    • Flotte di robot per magazzini/logistica: molti robot di trasporto devono suddividere compiti che cambiano dinamicamente (quale scaffale e quale destinazione), e un design ibrido centralizzato/decentralizzato è comune: un sistema di gestione centrale si occupa dell'assegnazione dei compiti, mentre la generazione del percorso e la prevenzione delle collisioni dei singoli robot vengono elaborate in modo decentralizzato. Per i fondamenti della pianificazione del percorso, consultare la Guida introduttiva alla pianificazione del percorso.
  • Ricerca di aree colpite da disastri, monitoraggio agricolo e altre attività di copertura su vasta scala: poiché la comunicazione tende ad essere instabile in questi ambienti, si preferiscono approcci decentralizzati con scarsa dipendenza da un centro (come il comportamento di gruppo tipico di Boids o la copertura basata sul consenso). Le decisioni comportamentali dei singoli robot sono spesso combinate con un framework di pianificazione del comportamento.

  • Robot di sciame su piccola scala per ricerca e didattica: poiché si tratta di configurazioni sperimentali con pochi robot e comunicazione stabile, si tende ad adottare una struttura virtuale o un modello leader-follower, che puntano alla precisione della formazione.

Qualunque sia l'applicazione, rispondere a tre domande – "quanti robot verranno utilizzati?", "quanto è stabile l'ambiente di comunicazione?" e "qual è il requisito di intolleranza ai guasti, precisione della formazione o robustezza?" – è il punto di partenza per la scelta di un'architettura di controllo di sciame.

10. Riepilogo (Riepilogo in tre righe)

  • Il controllo di sciame è un framework che produce un comportamento ordinato per il gruppo nel suo complesso a partire da regole locali che utilizzano solo le informazioni limitate di ciascun robot sui suoi vicini.

  • I Boid e i metodi del campo potenziale realizzano un movimento di gruppo decentralizzato, mentre gli algoritmi di consenso realizzano la formazione del consenso con una garanzia di convergenza stabilita matematicamente tramite il laplaciano del grafo.

    • Il controllo di formazione leader-follower, a struttura virtuale e basato sul comportamento occupano posizioni diverse nel compromesso tra accuratezza della formazione e robustezza/decentralizzazione, e devono essere scelti in base all'applicazione.
Verifica la tua comprensione
L'evitamento delle collisioni locali garantisce il raggiungimento dell'obiettivo globale dello sciame?

La sicurezza locale e l'arrivo o la copertura globale sono due cose diverse.

Valutare la portata della comunicazione, i blocchi e la frammentazione. ## Riferimenti - [Craig Reynolds, "Boids (Flocks, Herds, and Schools: a Distributed Behavioral Model)"](https://www.red3d.com/cwr/boids/) - [Vicsek et al., "Novel Type of Phase Transition in a System of Self-Driven Particles"](https://arxiv.org/abs/cond-mat/0611743) - [Crazyswarm2 (software di controllo di sciami per più droni Crazyflie)](https://github.com/IMRCLab/crazyswarm2)

What to read next

Review the backgroundGuida introduttiva ad ArduPilot: stima dello stato, controllo e progettazione della missione per un autopilota.Explore another aspect of this fieldPerché ICP fallisce: inizializzazione, valori anomali e geometria simmetricaExplore another aspect of this fieldNav2 ha un percorso ma non si muove: un flusso di lavoro diagnostico