Dinamiche cooperative tra robot… come in natura

Un gruppo di ricercatori all’Università di Harvard, Boston, ha realizzato una ‘colonia’ di oltre mille piccoli robot in grado di interagire e comunicare localmente tra di essi, al fine di svolgere azioni in collaborazione. Questi studi ambiscono a riprodurre le dinamiche cooperative adottate in natura da numerosi gruppi di esseri viventi.

Colonia di kilobot.

Colonia di kilobot.

1024 piccoli robot si muovono uno dietro l’altro, in uno sciame ordinato, e si collocano in posizione per ricostruire precise figure bidimensionali, come una stella o una chiave inglese. Tutto ciò senza l’aiuto dell’uomo, bensì semplicemente interagendo tra essi e seguendo le istruzioni di un programma.

A prima vista la cosa può sembrare facile e, chissà, poco utile. Al contrario, far sì che un gran numero di semplici automi esegua in cooperazione azioni complesse è arduo e richiede un grande sforzo ingegneristico.

Il fine è riprodurre comportamenti collaborativi che si osservano in natura, i quali hanno consentito l’adattamento di varie specie al loro ambiente. Si tratta, evidentemente, di dinamiche collettive vincenti.

Intelligenza collettiva

Gli esempi sono tanti: singoli batteri si riuniscono in gruppi, cellule si auto-organizzano per formare organismi multicellulari, colonie di formiche creano strutture tridimensionali con i propri corpi, e così via. Questo tipo di comportamento viene definito ‘intelligenza collettiva’ o anche ‘distribuita’.

Un gruppo di scienziati dell’Università di Harvard, Boston, si è ispirato proprio alle formiche per realizzare piccoli robot autonomi che ha chiamato ‘kilobot‘.

Ciascuna formica rappresenta un’unita poco sviluppata e dotata di capacità ristrette. Eppure una colonia (anche immensa) riesce a svolgere attività complesse, come muoversi per lunghe distanze in maniera ordinata, procurare cibo per tutte e superare ostacoli costruendo ponti con i propri corpi.

Le formiche sono in grado di costruire strutture tridimensionali usando il proprio corpo. Ad esempio, realizzano ponti per consentire alle compagne di superare ostacoli passando loro sopra; inoltre fabbricano interi nidi (chiamati 'bivacchi'), strutture intricate i cui 'mattoni' da costruzione sono semplicemente i loro corpi.

Le formiche sono in grado di costruire strutture tridimensionali usando il proprio corpo. Ad esempio, realizzano ponti per consentire alle compagne di superare ostacoli passando loro sopra; inoltre fabbricano interi nidi (chiamati ‘bivacchi’), strutture intricate i cui ‘mattoni’ da costruzione sono semplicemente i loro corpi.

Analogamente, i kilobot hanno una struttura molto basilare, sono facilmente ricaricabili e sostituibili. Essi sono però in grado di utilizzare semplici funzioni per svolgere complesse azioni su larga scala.

Singoli robot-formiche…

Un kilobot è un automa cilindrico grande all’incirca quanto una moneta da un euro, si muove su sottili gambe rigide grazie a due motori vibrazionali, comunica con i compagni tramite un trasmettitore-ricevitore di segnali infrarossi ed è dotato di un microcontrollore per eseguire programmi precaricati.

Ogni robot può svolgere solo tre azioni fondamentali:

  • seguire il bordo, ossia un robot può muoversi lungo il contorno di un gruppo di compagni, misurando la propria distanza da quelli più esterni;

  • diramare un segnale di gradiente, cioè un robot sorgente può trasmettere un valore di gradiente che viene comunicato da un individuo all’altro e che aumenta man mano che l’informazione si propaga attraverso la colonia; questo permette al singolo robot di conoscere la propria distanza geodesica dalla sorgente;

  • localizzarsi, vale a dire che un robot può costruire un sistema di coordinate misurando la propria distanza dai compagni ad esso più vicini.

La colonia di robot viene programmata con algoritmi collettivi, i quali si basano su queste tre semplici operazione.

(a) Un kilobot mostrato a lato di una moneta di un penny americano (per dedurne le dimensioni). (b) Ciascun kilobot è dotato di due motori vibrazionali, un trasmettitore-ricevitore infrarosso rivolto verso il basso, un microcontrollore per eseguire programmi. I robot comunicano con i compagni entro una distanza di 10cm inviando un segnale infrarosso che riflette sulla superficie sottostante su cui si muovono. (c) Una colonia di 1024 robot (210, ossia un 'kilo' di robot, in unità di misura informatica informatica). [Immagine: Harvard University]

(a) Un kilobot mostrato a lato di una moneta di un penny americano (per dedurne le dimensioni). (b) Ciascun kilobot è dotato di due motori vibrazionali, un trasmettitore-ricevitore infrarosso rivolto verso il basso, un microcontrollore per eseguire programmi. I robot comunicano con i compagni entro una distanza di 10cm inviando un segnale infrarosso che riflette sulla superficie sottostante su cui si muovono. (c) Una colonia di 1024 robot (210, ossia un ‘kilo’ di robot, in unità di misura informatica informatica). [Immagine: Harvard University]

…e colonie cooperative

I ricercatori di Harvard hanno sperimentato la capacità dei kilobot di ritracciare forme bidimensionali nello spazio. A ciascun elemento vengono fornite le informazioni relative alla forma e alla dimensione della struttura da realizzare. Essi la costruiranno impiegando le tre semplici azioni di cui tutti sono capaci, a partire da una configurazione caotica (in cui però i robot sono vicini l’uno all’altro).

Per iniziare il procedimento, un utente umano deve collocare 4 robot, programmati in maniera speciale, i quali comporranno il nucleo iniziale. Essi diventano il riferimento per gli altri, marcando la posizione e l’orientazione della forma bidimensionale da costruire. I robot del nucleo diramano un segnale di gradiente, che si propaga attraverso la colonia iniziale. Di conseguenza, i robot che rilevano di essere all’esterno del gruppo, in posizione più lontana dalla sorgente del segnale, iniziano a muoversi lungo il bordo fino a raggiungere il nucleo.

Man mano che i robot si spostano in sequenza, si collocano uno accanto all’altro ricostruendo la forma richiesta. Per farlo, essi confrontano la propria posizione con la sagoma della struttura da costruire e, quando si accorgono di starvi all’interno, si muovono fino a posizionarsi al fianco dell’ultimo robot fermatosi, oppure all’ultimo posto libero sul bordo, un passo prima di uscire dalla sagoma.

Orientarsi nello spazio

Il singolo robot-formica non possiede alcuna informazione riguardo alla sua posizione assoluta nello spazio, conosce solo la propria distanza dai compagni prossimi vicini. Tale distanza è calcolata scambiando segnali infrarossi con gli altri robot e misurando l’intensità della luce ricevuta: ovviamente a minor intensità corrisponde maggiore distanza.

I kilobot però possono ricostruire un sistema di coordinate locali usando come riferimento i membri del nucleo. Questo consente loro di costruire la forma richiesta in maniera abbastanza precisa.

Forme da ricostruire, fornite ai robot come parte del loro programma. (B, D) Auto-organizzazione dei robot a partire da una posizione iniziale con 4 robot posti come nucleo (sinistra) fino a quella finale (destra). [Immagine: Harvard University]

Forme da ricostruire, fornite ai robot come parte del loro programma. (B, D) Auto-organizzazione dei robot a partire da una posizione iniziale con 4 robot posti come nucleo (sinistra) fino a quella finale (destra). [Immagine: Harvard University]

Questione di ordini di grandezza

Esperimenti di assemblaggio e cooperazione in gruppi di robot erano stati già fatti in precedenza, si trattava però di colonie molto ristrette, di non più di 10-50 elementi. Solo qualche limitato tentativo era stato fatto con un centinaio di robot. Passare all’ordine di grandezza del migliaio presenta molte difficoltà, tanto dal punto di vista meccanico quanto da quello informatico.

Quando si ha a che fare con molti elementi, operazioni come ricaricare le batterie e programmare gli individui diventano problematiche. I ricercatori di Harvard hanno pertanto dotato i kilobot di gambe e un’antennina di metallo che costituiscono due elettrodi: ponendo i robot (in gruppo) tra due fogli di metallo li si può ricaricare tutti in contemporanea. Inoltre il sistema di comunicazione a raggi infrarossi consente di programmare tutta la colonia a un tempo, senza uso di dispositivi dotati di cavo.

Dal punto di vista informatico, invece, le problematiche sono legate alla robustezza dell’algoritmo di fronte a possibili imprevisti, vale a dire malfunzionamenti di qualcuno dei robot. Per ovviare ai casi più probabili sono state previste procedure di correzione. Così, per esempio, un robot che si fermi per rottura del motore può inviare agli altri il segnale di proseguire il cammino superandolo; oppure se due robot si urtano e perdono cognizione della propria locazione spaziale, possono ricalcolarla in riferimento ai robot più vicini (a patto che essi siano almeno tre e non allineati).

L’esperimento è stato ripetuto numerose volte e i kilobot hanno mostrato un comportamento collettivo efficiente e grande robustezza del processo. Così i ricercatori di Harvard hanno potuto vedere i loro 1024 piccoli robot sfilare in fila indiana e collocarsi in varie forme, come un esercito di diligenti formiche. Tutto ciò, senza intervenire in alcun momento, a parte quello iniziale.

L’obiettivo futuro è far sì che i piccoli automi compiano azioni cooperative sempre più complesse e … in colonie sempre più estese.

Qui di seguito il video: guardare per credere.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s