La swarm robotics ottimizza il comportamento dei singoli robot autonomi sfruttando algoritmi derivati dall'esperienza della natura. Con molte possibili applicazioni.
Per quale motivo i pesci nuotano in branchi, gli uccelli volano in stormi e le api in sciami? Perché
insieme sono più intelligenti ed efficienti. Questo vale anche per la
robotica degli sciami - sistemi decentralizzati che si organizzano autonomamente e sono costituiti da singoli agenti caratterizzati da una struttura semplice. I componenti di uno sciame interagiscono a livello locale tra di loro e con il loro ambiente. Queste interazioni generano un
comportamento di ricerca adattivo e quindi un’ottimizzazione globale dello sciame.
Questo approccio di
ottimizzazione ispirato alla natura negli ultimi anni ha fatto enormi passi avanti e ha ispirato nuovi sviluppi in numerosi settori. Tuttavia quali meccanismi sono alla base della
swarm robotics, quali caratteristiche contraddistinguono gli algoritmi intelligenti degli sciami e quali modelli e possibilità applicative esistono attualmente?
Alla base di uno sciame intelligente esiste un
algoritmo cooperativo che funge da componente chiave e controlla i modelli di comportamento e le interazioni. Gli sciami di robot si basano sul principio di algoritmi molto disparati, che sono in grado di regolare le funzioni di base come la semplice distribuzione di oggetti o robot in uno spazio o funzioni per la
collaborazione complessa, come la formazione di una catena.
Gli obiettivi di base della robotica degli sciami mirano spesso alla miniaturizzazione dell’hardware o all’efficienza dei costi. Quattro delle caratteristiche principali dell’intelligenza degli sciami sono
la coordinazione, la formazione di gruppi, l’ottimizzazione e la pianificazione dei percorsi. Proprietà tipiche degli algoritmi degli sciami sono:
• Bassa complessità: i singoli robot seguono semplice regole.
• Scalabilità: l’interpretazione del sistema avviene per un numero definito di robot.
• Decentralizzazione: gli swarm robot sono autonomi e non eseguono ordini esterni.
• Interazioni locali: i robot mostrano un comportamento collettivo grazie allo scambio di informazioni locali.
Algoritmi nella swarm robotics
Nel corso degli anni sono stati sviluppati molti diversi algoritmi degli sciami. I modelli utilizzati più di frequente sono l’Artificial Bee Colony (ABC), i Boids (Bird-oid objects) e l’Ant Colony Optimization (ACO).
L’
Artificial Bee Colony (ABC) è stato sviluppato nel 2005. L’algoritmo è ispirato al comportamento delle api da miele mentre cercano le fonti nutritive (nettare) e scambiano informazioni in merito con le altre api dell’alveare. L’algoritmo ABC comprende tre fasi: la Employed Bee Phase, la Onlooker Bee Phase (fase iniziale) e la Scout Phase (fase di ricerca). Ogni lavoratrice (Employed Bee) sceglie una fonte di cibo a lei conosciuta e decide il luogo a lei più vicino. Valuta la quantità di nettare disponibile in tale luogo e fornisce l’informazione alle altre api attraverso una danza nell’alveare.
L’osservatrice (Onlooker Bee) osserva la danza della lavoratrice, in base a questa informazione sceglie una delle fonti di cibo e si reca in tale luogo per prendere visione della quantità di nettare disponibile. Le vecchie fonti di cibo vengono sostituite dalle
nuove fonti di cibo scoperte dalle esploratrici. La fonte di cibo migliore e la posizione collegata vengono pertanto conservate. La posizione di una fonte di cibo costituisce l’“obiettivo”. La quantità di nettare trovato in quest’area corrisponde alla “qualità/quantità”, chiamata anche fitness o “Associated Solution”. Il numero di lavoratrici corrisponde pertanto al numero di “Associated Solution” all’interno dello sciame.
Un esempio chiaro di un algoritmo ABC lo si trova in agricoltura.
La swarm robotic è indicata soprattutto nel settore del Precision Farming, più specificamente in grandi interventi in agricoltura, nei quali vengono utilizzati i droni per scopi topografici e termografici. In agricoltura la termografia offre informazioni importanti sulle condizioni ambientali, che sono difficili da reperire in altri modi. Se un drone viene equipaggiato con una termocamera, è possibile registrare con straordinaria precisione la temperatura del territorio indagato. Diverse temperature sono indicative di diverse caratteristiche dello sviluppo vegetale. L’impiego dei droni nel Precision Farming provoca un’elevata efficienza produttiva e consente l’utilizzo di risorse minime e quindi di risparmi.
L'ispirazione dalla natura
Boids significa
Bird-oid Objects, una simulazione della vita artificiale, sviluppata nel 1986 da Craig W. Reynolds. Si tratta di un algoritmo di ottimizzazione ispirato al comportamento naturale degli uccelli che si muovono in sciame. Boids è un algoritmo semplice con tre regole, che rendono possibili i comportamenti complessi nella robotica degli sciami: coesione, allineamento e separazione.
Coesione: questo comportamento spinge gli agenti a occupare la posizione media (centro di massa) tra gli agenti vicini. In questo modo i boids si spostano sempre all’interno di un determinato ambito.
Allineamento: questo comportamento spinge un determinato agente a dirigere la propria posizione relativamente ad altri agenti all’interno dell’ambiente e ad assumere la stessa direzione dei vicini. Questa formula viene utilizzata per definire la propria velocità in base alla velocità dei vicini nell’ambiente di riferimento.
Separazione: questo comportamento spinge un agente ad allontanarsi dal vicino quando la distanza tra di loro è troppo breve, al fine di evitare la collisione. Questo garantisce inoltre una distanza minima fra tutti gli agenti.
Con queste semplici regole è possibile simulare il comportamento degli swarm. Poiché tuttavia spesso queste non sono sufficienti, questo comportamento dello sciame
può essere integrato con altre regole individuali, al fine di raggiungere un comportamento più complesso o utile. Tutte le possibili forme di comportamento generale possono essere modellate come attrazione e allontanamento di determinate situazioni, per esempio “forte vento”, “limiti di velocità” o “evitamento degli ostacoli”. Se per esempio i tre comportamenti di base vengono integrati dalle regole dell’evitamento degli ostacoli, lo sciame cambia direzione per evitare ostacoli sulla strada verso la meta.
Una delle applicazioni più frequenti di questo tipo di algoritmi sono i
compiti di ricerca: un determinato numero di piccoli droni con funzione di misurazione e autolocalizzazione svolge missioni di ricerca in ambienti rurali, naturali o complessi in cui l’accesso delle persone o di grandi veicoli è possibile solo limitatamente o è pericoloso. Le caratteristiche dell’intelligenza degli sciami vengono utilizzate per
risolvere dei problemi in modo cooperativo e scalabile. Lo svolgimento dello stesso compito da parte di un unico drone richiederebbe più tempo. Inoltre, questo singolo drone dovrebbe essere strutturato in modo più complesso, con la conseguenza che i costi aumenterebbero.
Le colonie di formiche
La
Ant Colony Optimization (ACO) è una tecnica probabilistica sviluppata da Marco Dorigo nel 1992 per risolvere problemi di computer secondo il modello del comportamento di ricerca del cibo delle formiche. Il modello si basa sull’approccio secondo cui
unità autonome con comportamenti semplici e imprevedibili collaborano le une con le altre. L’obiettivo di ogni formica consiste nel trovare la strada ottimale dal nido a una o più fonti di cibo.
Le formiche sciamano arbitrariamente in diverse direzioni e tornano al loro nido non appena hanno trovato una fonte di cibo. Lungo il loro percorso rilasciano dei feromoni sul terreno. Altre formiche seguono la prima formica su percorsi diversi. Questo processo viene ripetuto finché dopo un certo periodo
viene trovato nel percorso più breve una quantità maggiore di feromoni rispetto agli altri. Aumenta così la probabilità che venga percorsa questa strada: alla fine tutte le formiche prendono la strada più breve.
L’algoritmo ACO è utile per
problemi di ottimizzazione complessi, come il Traveling Salesman Problem (TSP) o il Vehicle Routing Problem (VRP). In questo modo è possibile definire la rotta più efficiente fra due punti e località da raggiungere. L’algoritmo ACO è utile soprattutto se il grafo cambia in modo dinamico. Pertanto, questo algoritmo è già stato utilizzato in passato in molti problemi di ottimizzazione combinatori e contribuisce a trovare sempre la soluzione ottimale.
Per l’ottimizzazione della swarm robotics sono importanti il tipo di comunicazione, la complessità dell’algoritmo in funzione del calcolo e quindi l’identificazione dei possibili casi applicativi. Questi tre punti
presentano diverse complessità e pongono gli utilizzatori di fronte a diverse sfide. Le possibilità di applicazione finora menzionate sono meramente esemplificative. La ricerca e gli sviluppi attuali mostrano infatti che in futuro sono possibili molti altri scenari applicativi in settori come traffico - sia su strada sia aereo -, il monitoraggio e controllo di ampi spazi e lo svolgimento di compiti in spazi pericolosi.
Articolo a cura di Christian Koetschan e Pietro Ferrara – Swarm Robotics Practice di Reply