Swarm robotics, nota anche come “robotica collettiva” o robotica degli sciami: è una disciplina della robotica, legata all’intelligenza artificiale, che studia i comportamenti e le attitudini degli insetti sociali allo scopo di riprodurre tali caratteristiche in un sistema di robot semplici. Tali robot devono essere programmati in modo da manifestare gli stessi atteggiamenti degli insetti sociali, sia come individuo che come collettivo, risolvendo quindi compiti complessi che un singolo individuo non riuscirebbe a realizzare.
L’intelligenza manifestata dal collettivo è superiore a quella esibita dall’individuo, al punto che si parla di “swarm intelligence” (o intelligenza collettiva).
Swarm intelligence, cos’è, come nasce
Il concetto di swarm intelligence nasce nel 1989. I suoi creatori, Beni e Wang, lo hanno definito come la proprietà di un sistema in cui il comportamento collettivo di agenti semplici produce l’emergere di comportamenti più complessi a livello di sistema. Lo sviluppo di sistemi robotici più o meno complessi richiede dunque conoscenze interdisciplinari che coinvolgono non solo l’informatica, ma anche la biologia, la zoologia e le scienze sociali.
Per quanto concerne l’ambito tecnologico, con swarm intelligence si intende il comportamento collettivo di sistemi (naturali o artificiali) di controllo.
Video: Cos’è la swarm intelligence
Swarm robotics, cos’è
La swarm robotics è un approccio innovativo alla robotica che si ispira al comportamento collettivo tipico degli animali sociali. Attraverso regole molto semplici e interazioni a breve raggio, la robotica collettiva tende a progettare e a realizzare sistemi composti da un grande numero di robot coordinati tra loro, assumendo lo stesso comportamento degli animali sociali.
La swarm robotics è un campo ancora in fase di sviluppo, che si prefigge lo scopo di realizzare sistemi robusti, scalabili e flessibili, i cui campi di applicazione possono essere i più vari. Allo stato attuale, però, i sistemi collettivi sono stati sviluppati solo in ambito accademico, non avendo ancora affrontato un singolo problema reale. Infatti, gli unici banchi di prova finora utilizzati allo scopo di verificare l’effettiva collaborazione tra robot sono stati il foraggiamento e il movimento collettivo, tuttavia l’ambizione è quella di poter utilizzare i sistemi di collaborazione tipici degli animali come astrazioni per risolvere problemi reali.
Esempi dal mondo animale
Le formiche
Ricollegandosi agli esempi di swarm intelligence, gli studi di Goss e Deneubourg hanno portato a spiegare come sia possibile per le formiche scegliere con certezza il percorso più breve, definendo tale metodo come Ant Foraging System (sistema di foraggiamento delle formiche). Ecco come funziona: ogni formica, di fronte al bivio sceglie in maniera totalmente casuale una delle due strade e nel percorrerla rilascia una minuscola quantità di sostanza, il feromone, che indurrà le altre formiche a seguirne le tracce. Tuttavia, le prime formiche percepiranno poco feromone, allora esse decideranno ancora casualmente la loro strada; le formiche del gruppo si divideranno equamente lungo i due percorsi, ma col passare del tempo, le prime a tornare saranno logicamente quelle che hanno scelto il percorso più breve, depositando lungo la strada del nuovo feromone (che nel percorso più lungo si sarà intanto diradato). Questo nuovo deposito induce le formiche in procinto di partire a scegliere sempre il percorso con più feromone, vale a dire quello più breve. Persino le formiche che hanno intrapreso il percorso più lungo, una volta tornate, percorreranno il percorso breve poiché attirate dalla maggior quantità di feromone.
Gli uccelli
Per quanto concerne invece lo studio degli uccelli in stormo, il primo a studiarne le dinamiche e a trasporle in ottica robotica è stato Reynolds, nel 1987, creando i boids, uccelli digitali che imitavano il comportamento di quelli reali con estrema precisione. È stato questo, quindi, il primo collegamento in assoluto tra swarm intelligence e robotica, seppur non ai livelli di complessità odierni.
Nel tentativo di racchiudere in un’unica definizione il fenomeno, nel 2005 Sahin afferma che la robotica collettiva è lo studio di come una grande quantità di agenti relativamente semplici possano essere modellati in modo da far emergere il comportamento collettivo desiderato dalle interazioni a breve raggio tra gli agenti e/o tra gli agenti e il sistema.
Le caratteristiche di un sistema di robotica collettiva
Un sistema di robotica collettiva deve avere queste caratteristiche riguardo ai robot che:
• devono essere autonomi;
• sono situati nell’ambiente e in esso agiscono;
• possono solo agire localmente, e non ad ampio raggio;
• non hanno accesso al sistema di controllo centralizzato;
• devono collaborare verso un unico scopo.
Tutte queste caratteristiche si adattano agli individui, siano essi animali o robotici, e la loro organizzazione deve essere adeguata, in modo che il sistema presenti le seguenti proprietà:
• robustezza: l’abilità del sistema di reagire e non sfaldarsi in caso di perdita di un individuo;
• scalabilità: la capacità di realizzare i propri compiti adattandosi al numero di individui presenti senza modificare sensibilmente le proprie prestazioni;
• flessibilità: l’abilità di adeguarsi a un’ampia gamma di ambienti e di compiti.
Dunque, prendendo ispirazione dagli animali sociali, la robotica collettiva cerca di realizzare sistemi affidabili che esibiscano le medesime caratteristiche di questi collettivi di animali, catturandone anche la robustezza, la scalabilità e la flessibilità. Si può dunque parlare di una ingegnerizzazione del comportamento animale, prevedendo metodi o strumenti per applicare sistematicamente le conoscenze tecniche e scientifiche in modo da progettare, realizzare e sviluppare sistemi robotici collettivi.
Cosa possono fare gli swarm robot
Gli swarm robot possono essere istruiti dagli sviluppatori per far sì che si dispongano in strutture prestabilite (aggregati, incolonnati, o addirittura secondo dei pattern dinamici), oppure spostino oggetti allo scopo di radunarli in un’area predefinita. Come tutti i comportamenti, anche l’organizzazione spaziale si ispira alla natura e a quei gruppi di animali che tendono a disporsi secondo canoni standard: l’aggregazione è tipica di molte specie animali (api, scarafaggi, pinguini); la disposizione a catena è stata rilevata nelle formiche durante la ricerca del cibo, così come l’interconnessione fisica tra individui allo scopo di creare strutture complesse (ponti, muri, ecc.).
Infine, un ultimo aspetto concerne il clustering, ossia la raccolta e l’assemblaggio di oggetti, ispirato dall’abilità delle termiti di raccogliere sabbia e trucioli per creare rifugi alti fino a un metro. Per realizzare artificialmente queste disposizioni, i robot vengono implementati e costruiti come PFSM (Probabilistic Finite State Machine), cioè come macchine a stati finiti probabilistiche, per cui decidono in maniera probabilistica e secondo una soglia se aggregarsi o meno a un certo gruppo, cercando di includere nei robot anche la possibilità per cui un individuo decida di non far parte di un collettivo.
Si pensa di poter realizzare, un giorno, sistemi robotici collettivi in grado di compiere lavori di difficile attuazione per l’essere umano, come ad esempio la ricerca di dispersi in condizioni climatiche avverse, lo sminamento di vasti territori, la costruzione di strutture in luoghi impervi, il trasporto collettivo di oggetti, la sorveglianza decentralizzata, le bonificazioni. Tutti questi interessanti scenari sono particolarmente difficili o rischiosi per l’essere umano, per tale motivo si cerca il modo di istruire i robot affinché possano realizzare difficili missioni al posto dell’uomo.
Swarm robotics e task allocation
La task allocation (o suddivisione del lavoro) è un comportamento collettivo esibito da un gruppo di robot che si ripartiscono autonomamente i diversi lavori disponibili. L’obiettivo di tale comportamento è la massimizzazione della performance del sistema, permettendo agli individui stessi di scegliere quale compito eseguire in maniera dinamica, secondo un modello di ispirazione naturale. Gerkey e Mataric hanno provato a dare delle definizioni più formali sulla task allocation: un lavoro è paragonabile a una attività necessaria alla realizzazione dell’obiettivo globale del sistema. Un lavoro può ovviamente essere continuo nel tempo o discreto, cioè compiuto in diversi momenti, e può variare in lunghezza temporale, complessità e specificità. Tutti i lavori devono essere indipendenti tra di loro, l’esecuzione di un lavoro non può dipendere da un altro. Questa assunzione è stata totalmente ribaltata negli studi più recenti.
Gerkey e Mataric hanno inoltre distinto lungo tre assi ideali le diverse caratteristiche dei problemi di task allocation:
• a livello di individualità: robot single-task contro robot multi-task;
• a livello di problema: single-robot task contro multi-robot task;
• a livello di estensione temporale e di richiesta di risorse: problemi ad assegnamento istantaneo o problemi ad assegnazione estesa nel tempo.
Su tali assi è possibile realizzare, al netto della tecnologia futura, una attribuzione della difficoltà di un problema, dato un certo sistema.
Robotica collettiva, scopo finale
Lo scopo finale della smart robotics è quella di realizzare sistemi composti da collettivi di robot che, alla moda degli insetti sociali, manifestino comportamenti di gruppo complessi, al punto da poter sostituire l’essere umano nella realizzazione di compiti più o meno diversi. Se da un lato le ricerche accademiche considerano gli insetti sociali come fonte di ispirazione per il comportamento del sistema, in realtà dall’altro si punta a realizzare, col passare degli anni, sistemi con comportamenti sempre più progrediti e avanzati, fino a raggiungere un grado di complessità quanto meno paragonabile a quello umano. Da queste considerazioni deriva l’inserimento della robotica collettiva nel macro-argomento dell’intelligenza artificiale, poiché in futuro sarà questa disciplina a realizzare i modelli di interazione collettiva in uno sciame di robot intelligenti.
Gli obiettivi posti richiedono dunque un certo avanzamento tecnologico, poiché tutte le attività suggerite sono particolarmente complesse; ma alla realizzazione di software complessi deve corrispondere un hardware altrettanto potente. La diffusione della robotica collettiva allo stato attuale è limitata prima di tutto da piattaforme hardware non sufficientemente avanzate.
Se si riuscirà ad andare oltre questi limiti, in futuro potremo davvero assistere a una reale collaborazione tra robot ed esseri umani, per realizzare tutti quei lavori di difficile attuazione per gli umani. I progressi nella robotica collettiva comporterebbero notevoli progressi non solo tecnologici, ma anche nello stile di vita dell’essere umano, in quanto otterremmo gruppi di robot addestrati a compiti particolarmente insidiosi per l’uomo, o in grado di soccorrerlo con strumenti più efficaci di quelli odierni.