sabato 9 maggio 2015

Robot che si auto-organizzano

 

clip_image002Tutto e’ iniziato nel 2011 quando i ricercatori in robotica dell'Universita’ di Harvard costruirono per la prima volta i loro 25 robot. Nel 2013 erano diventati 100 e oggi 1000. I ricercatori Michael Rubenstein, Alejandro Cornejo, e il professore Radhika Nagpal  del gruppo Self-Organizing Systems Research descrivono i loro 1000 robot, chiamati swarm robot in quanto imitano uno sciame di insetti, in un articolo apparso sulla rivista Science alcuni mesi fa. In effetti, si tratta di 1024 robot che nell’ambito dei computer e’ l’equivalente del chilo. Per questo motivo questi robot vengono chiamati anche kilobot.

Ogni kilobot e’ un piccolo dispositivo, dal costo irrisorio ($14), che puo’ muoversi grazie a delle gambe vibranti e comunicare con altri robot grazie a dei trasmettitori/ricevitori agli infrarossi.

clip_image004

Lo sciame ha un numero sufficiente di piccoli robot da ridurre l’importanza del singolo. Se qualcuno dei robot si rovina o si rompe non e’ un problema visto l’elevato numero dello sciame. Prevale il comportamento collettivo su quello del singolo. Con cosi tanti robot qualsiasi operazione e' complicata. Un esempio e’ il loro caricamento. Mettere ognuno dei 1024 robot sul loro rispettivo caricabatteria non e’ cosa da poco. Per questo motivo i ricercatori hanno pensato di usare due placche metalliche con i robot inseriti tra loro che si caricano grazie ad una corrente fatta passare attraverso le placche. Allo stesso modo e’ possibile programmare i robot investendoli con dei raggi infrarossi.

Dati i presupposti di elevato numero di robot e infrastruttura di supporto/gestione, è possibile realizzare uno sciame ispirandosi a quanto accade in natura con gli sciami d'insetti, con gli stormi di uccelli o con i banchi di pesci. In tutti questi sistemi biologici ci sono una serie di regole molto semplici che permettono allo sciame/stormo/banco di organizzarsi e controllarsi pur non avendo un capo, un direttore di orchestra. In un banco di pesci, ad esempio, ci sono una serie di regole sul posizionamento reciproco tra i singoli componenti del banco.

Uno dei modelli piu’ utilizzati e’ il cosiddetto modello delle 3 zone che formalizza tramite 3 semplici regole il comportamento del singolo animale all’interno del gruppo.

· Repulsione: quando e’ troppo vicino agli altri individui, l’insetto tende a spostarsi da quest’area.

· Allineamento: gli individui cercano di identificare la possibile direzione del gruppo e si allineano ad essa

· Attrazione: quando gli individui sono troppo distanti dal gruppo, tendono a riavvicinarsi.

Per rendere piu’ realistico il modello delle 3 zone si inserisce un cono di visione che determina un’area attiva di interazione. L’idea e’ di inserire nel modello l’area di percezione del singolo insetto. Per gli uccelli per esempio quest'area e’ legata principalmente alla vista, mentre per i pesci entra in gioco anche la linea laterale.

Per i Kilobot è stato ideato un algoritmo basato su un insieme di funzionalità anch'esse molto semplici, con l'obiettivo di consentire allo sciame di dare forma a sagome arbitrarie:

· un robot puo’ muoversi lungo la periferia di un gruppo di robot misurando la distanza dai robot sulla frontiera del gruppo

· un robot sorgente puo’ generare un messaggio che crea un gradiente nel propagarsi lungo lo sciame

· i robot possono formare un sistema di coordinate locali usando la comunicazione e la distanza dai primi vicini

I robot comunicano tra loro facendo rimbalzare i raggi infrarossi sulla loro superficie. Possono calcolare la distanza da altri robot semplicemente misurando come cambia la brillantezza degli infrarossi: piu’ varia l’intensita’ della luce e piu’ il robot che ha rimandato indietro il raggio e’ lontano. Non possono pero’ individuare la direzione della luce. La localizzazione quindi dipende da un gruppo iniziale di robot usati come semi per stabilire l’origine del sistema di coordinate rispetto al quale individuare la posizione degli altri robot (vedi schizzo sottostante).

clip_image006

Parte superiore dell’immagine: algoritmo utilizzato per i kilobot. Parte inferiore: viene decisa la forma da riprodurre e trasmessa ai robot. Questi utilizzando l’algoritmo a 3 regole spiegato nel testo formano un po’ alla volta la forma richiesta.

 

Una volta che i robot determinano la propria posizione, la procedura per creare una forma arbitraria e’ relativamente semplice : i robot cominciano a muoversi lungo il perimetro dello sciame fino a quando non rilevano di essere entrati nell’area dove la forma verra’ creata. Ogni robot continua a muoversi lungo il perimetro dei robot che sono gia’ all’interno della forma fino a che arriva in prossimita’ dei confini della sagoma o fino a quando non sono a contatto con altri robot gia’ posizionati. In questo modo seguendo 3 semplici regole viene realizzata la forma voluta.

Una collettività di oltre 1000 robot può essere effettivamente considerata uno sciame poiché l'importanza di un singolo robot è in pratica nulla, ed e’ proprio questa una delle principali caratteristiche di uno sciame: il singolo robot può funzionale male o danneggiarsi, ma all'interno dello sciame ve ne sono così tanti che in ultima analisi è il comportamento collettivo a prevalere su quello del singolo.

clip_image008

Data un'immagine bidimensionale i kilobot seguono delle semplici regole per formare la forma voluta. L’effetto e’ simile a quello di uno stormo di uccelli che piroiettano nel cielo. Ad un certo punto non vediamo piu’ il singolo uccello ma vediamo lo stormo come un tutt’uno.

 

Quale sara’ il prossimo passo?

In natura gruppi di migliaia, milioni, miliardi d’individui possono auto-assemblarsi in una grande varieta’ di forme grazie alla semplice interazione locale. Questo motiva nuovi esperimenti con avanzati algoritmi collettivi capaci di rilevare i robot malfunzionanti e recuperare eventuali danneggiamenti esterni, come anche progettare nuovi robot piu’ stabili e fisicamente attaccabili gli uni agli altri per auto-assemblarsi.

 

Video 1: Introduzione ai kilobit

http://youtu.be/ISMwLCFwgK4

Video due: L'uso di un piccolo numero di kilobot

http://youtu.be/Lx8rvBB_A7I

Per approfondire:

ftp://ftp.deas.harvard.edu/techreports/tr-06-11.pdf

Nessun commento:

Posta un commento

http://www.wikio.it