Insegnare a un robot a muoversi non è un compito facile e più il robot è complesso, più l’impresa è ardua. Ancora una volta gli ingegneri hanno chiesto aiuto alla biologia
Nei film è facile: che siano cyborg o sembrino degli artropodi, i robot si muovono come le creature da cui sono state ispirate, ma nella realtà disegnare un software che includa concetti come “gravità” e “equilibrio” è complicato abbastanza da spingere un po’ più avanti nel futuro le profezie della fantascienza.
Da tempo in questo campo l’approccio “dall’alto” alla programmazione è stato invertito: molto meglio che il software che sarà la mente del robot impari da solo. Il principio è questo: in un ambiente virtuale si simulano delle macchine che pian piano devono imparare a muoversi. Questo è possibile grazie agli algoritmi genetici: più che “imparare” in realtà il programma si auto definisce dalla ripetuta selezione delle varietà più promettenti che si presentano casualmente nella popolazione simulata, in totale analogia con l’evoluzione darwiniana. Successivamente, il programma può essere utilizzato per far muovere un robot nella realtà. Così nascono, ad esempio, i software (o vogliamo chiamarli cervelli?) in grado di comandare Starfish, il robot ritratto nell’immagine di apertura riflesso nella sua controparte virtuale, ideato al Cornell Computational Synthesis Laboratory.
Nel team degli sviluppatori di Starfish, Josh Bongard (Morphology, Evolution & Cognition Laboratory, University of Vermont) ha però trovato un modo per migliorare ulteriormente il meccanismo.
Come descritto nel paper pubblicato a gennaio su PNAS, invece di “affaticare” i software costringendoli (per esempio) a imparare da zero il controllo di una forma quadrupede, questi sono invece stati dotati, in principio, di forme apodi o con zampe molto corte, assai più semplici da gestire.
Quando in breve i programmi si erano evoluti abbastanza da padroneggiare i loro corpi striscianti veniva il momento di far loro crescere le gambe: Bongard ha riscontrato che dopo questa “metamorfosi” i robot imparavano più in fretta (e meglio) a destreggiarsi con le nuove appendici di quanto non facessero quelli lasciati a evolvere sempre nello stesso corpo, come se fossero avvantaggiati dagli sviluppi portati a compimento nella fase “larvale”.
Si può dire che dopo che i programmi avevano “gattonato” un po’ se la cavano meglio a imparare a camminare.
Bongard ha raccolto i risultati di 5.000 simulazioni sia su forme quadrupedi che esapodi usando le risorse del Vermont Advanced Computer Center, ma funziona nel mondo reale?
Come nel caso di Starfish, sembra che i software non abbiano particolari problemi ad adattarsi a forme reali. Il ricercatore ha costruito un robot relativamente semplice usando dei kit Lego Mindstorm (!). Il robot è a quattro zampe, simile a quello delle simulazioni, ma un sistema di ingranaggi fa in modo che gradualmente possa passare da una struttura degli arti simile a quella dei rettili a una simile a quella dei mammiferi: se confrontate un cane e una lucertola notate subito che la lucertola ha le zampe inserite lateralmente rispetto al corpo (che rimane sempre rasente al suolo), mentre quelle del cane lo sollevano da terra.
Man mano che il robot si trasformava da rettile a mammifero imparava a camminare: a quel punto gli ingranaggi addizionali potevano essere rimossi permettendo al robot, più leggero, di muoversi più velocemente.
Nelle parole di Bongard:
Stiamo copiando dalla natura, stiamo copiando dall’evoluzione e stiamo copiando dalle neuroscienze quando costruiamo dei cervelli artificiali per questi robot