Come migliaia di miliardi di singole cellule si possono assemblare per formare un organismo completo; o come mille storni possono formare un grande stormo che attraversa il cielo; così un gran numero di piccoli robot possono spostarsi a comando e aggregarsi nelle più diverse configurazioni. Ne hanno dato prova recentemente gli scienziati del laboratorio della Harvard School of Engineering and Applied Sciences (SEAS), dove Radhika Nagpal, Professore di Computer Science, sta sviluppando col suo gruppo ricerche in quella che ormai viene indicata come “Ingegneria Biologicamente Ispirata”. Tra i loro esperimenti, descritti in un recente articolo sulla rivista Science, ve ne sono alcuni dove si vedono tanti minuscoli dispositivi, raggiunti contemporaneamente da un segnale a infrarossi, andare a radunarsi ordinatamente e distribuirsi per formare una elegante stella a cinque punte; poi, a un successivo comando, spostarsi ancora e riorganizzarsi disponendosi nella forma di una lettera kappa.
La lettera kappa non è scelta a caso e vuole richiamare il nome che ormai da qualche anno i bioingegneri attribuiscono a questi robot: li chiamano kilobot, a indicare il quantitativo di oggetti che in genere formano queste spettacolari auto-aggregazioni; per la precisione, il battaglione di piccoli robot del laboratorio SEAS è composto da 1024 unità; e anche questo numero non è casuale, essendo la decima potenza di 2 che, in numerazione binaria, si scriverebbe 1 con 10 zeri. I singoli componenti del gruppo poi sono apparecchiature molto semplici e a prima vista non hanno nulla delle caratteristiche che possono ricordarci un robot: fanno pensare piuttosto a un insetto meccanico, con un corpo di pochi centimetri, qualche antennina e tre zampe metalliche sottili.
Ma a cosa servono esperimenti del genere? Servono, dicono ad Harvard, a dimostrare come la complessità può derivare da comportamenti molto semplici eseguite in massa. Sono situazioni che in natura si verificano spesso: succede che dei raggruppamenti biologici – semplici cellule o insetti o altri animali – che coinvolgono un numero enorme di soggetti cooperanti, agendo all’unisono riescano a realizzare un compito unitario che implica una scala di grandezza al di là della portata dei singoli individui. Basti pensare al comportamento di una colonia di formiche: operando insieme, possono formare qualcosa di simile a zattere e ponti per poter attraversare terreni difficili. Le amebe fanno qualcosa di simile ad una scala microscopica: quando il cibo scarseggia, si uniscono per creare un corpo in grado di fuggire dall’ambiente ostile. Nelle seppie, cambiamenti di colore a livello delle singole cellule possono aiutare l’intero organismo a confondersi col paesaggio. In una recente intervista lo stesso Nagpal ha citato, simpaticamente, il film Alla ricerca di Nemo dove i piccoli di una scuola di pesci agiscono in modo cooperativo formando la sagoma di una freccia per indirizzare Nemo verso la corrente.
Ancora più risalto mediatico Nagpal l’aveva ottenuto nel febbraio scorso quando aveva mostrato un gruppo di termiti-robot che con semplici forme di coordinamento potevano svolgere complesse attività di costruzione. Tuttavia l’algoritmo che le termiti-robot non ha ancora provato la sua validità su un grande sciame: le limitazioni algoritmiche impediscono di superato i 100 individui; inoltre, quando si passa ai grandi numeri incide anche il costo della fabbricazione dei singoli dispositivi fisici. Ecco quindi che sono arrivati in soccorso i kilobot, con il loro nuovo design.
In particolare i kilobot, una volta ricevuto un primo set di istruzioni, non richiedono alcuna microgestione né successivi interventi. Il loro funzionamento collettivo è facilmente descrivibile. Quattro robot segnano l’origine di un sistema di coordinate e tutti gli altri ricevono un’immagine 2D che dovrebbero imitare: utilizzando comportamenti elementari – seguire il bordo di un gruppo, tracciare una distanza dall’origine, mantenere un senso di posizione relativa – i robot fanno una serie di percorsi curvilinei che li portano verso una posizione accettabile. I kilobot inoltre sanno correggere i propri errori. Se si crea un ingorgo o un robot va fuori rotta – errori che diventano più comune in un gruppo molto grande – i robot vicini percepiscono il problema e si danno da fare per risolverlo.
Per tenere contenuti i costi, ciascun robot si muove utilizzando due motori vibranti che gli permettono di scorrere attraverso una superficie sulle zampe rigide. Un trasmettitore e ricevitore a raggi infrarossi permette a ciascun elemento del gruppo di comunicare con alcuni dei suoi vicini e di misurare la loro vicinanza; i robot restano comunque miopi e non possono essere dotati delle facoltà visive di molti volatili. Sono tutte scelte progettuali che attuano degli utili compromessi, realizzando dispositivi molto più semplici rispetto ai robot convenzionali; di conseguenza le loro capacità sono più variabili e meno affidabili: ad esempio, hanno difficoltà a muoversi in linea retta e la precisione nel rilevamento delle distanze può variare da robot a robot. Eppure, su grande scala l’algoritmo intelligente consente di superare queste limitazioni individuali e di garantire – sia fisicamente che matematicamente – che i robot possano completare un compito assegnato dall’uomo: nei casi citati prima, ad esempio, disporsi secondo una configurazione particolare.
Per ora, i kilobot rappresentano un prezioso banco di prova per gli algoritmi di quella che qualcuno ricomincia a chiamare “Intelligenza Artificiale”, che tante aspettative aveva suscitato sul finire del secolo scorso. Le sperimentazioni come quelle del laboratorio di Harvard sono importanti per la futura robotica distribuita. Sempre più spesso si dovranno gestire collettivi di robot che lavorano insieme: saranno i robot cooperanti per la pulizia dell’ambiente, o quelli in grado di intervenire con rapidità in risposta alle catastrofi, o le migliaia di automobili auto-guidate sulle nostre strade; per progettare in modo ottimale quelle macchine, dicono al SEAS, capire il comportamento di grandi sciami di robot è fondamentale.
Certo, qui parliamo di simulare il comportamento e una simulazione può dare molto ma non più di tanto. Le dinamiche comportamentali nel mondo reale – con la sua variabilità e con la complessità delle interazioni fisiche – fanno la differenza. Ma Nagpal e colleghi ne sono consapevoli.