El algoritmo utiliza la evolución para diseñar robots

El algoritmo utiliza la evolución para diseñar robots

Imagina que estás corriendo una carrera. Para completarlo, su cuerpo debe estar fuerte y su cerebro debe realizar un seguimiento de la ruta, controlar su ritmo y evitar que tropiece.

Lo mismo ocurre con los robots. Para realizar las tareas, necesitan tanto un cuerpo bien diseñado como un «cerebro» o controlador. Los ingenieros pueden utilizar varias simulaciones para mejorar el control de un robot y hacerlo más inteligente. Pero hay pocas formas de optimizar el diseño de un robot al mismo tiempo.

A menos que el diseñador sea un algoritmo.

Gracias a los avances en computación, finalmente es posible escribir programas de software que optimicen tanto el diseño como el control simultáneamente, un enfoque conocido como co-diseño. Aunque existen plataformas establecidas para optimizar el control o diseño, la mayoría de los investigadores de codiseño han tenido que idear sus propias plataformas de prueba, y estas suelen ser muy intensivas en computación y requieren mucho tiempo.

Para ayudar a resolver este problema, Jagdeep Bhatia, un investigador de pregrado en el MIT y otros investigadores crearon un sistema de simulación de robótica suave de codiseño 2D llamado Gimnasio Evolución. Presentaron el sistema en este año. Conferencia sobre sistemas de procesamiento de información neuronal. También detallaron el sistema en un nuevo artículo.

«Básicamente, tratamos de hacer como un simulador realmente simple y rápido», dijo Bhatia, el autor principal del artículo. «Y además de eso, creamos como un montón de tareas para que las realicen estos robots».

En Evolution Gym, los robots blandos 2D están formados por celdas de colores o vóxeles. Los diferentes colores representan diferentes tipos de componentes simples, ya sea material blando o rígido, y actuadores horizontales o verticales. Los resultados son robots que son un mosaico de cuadrados de colores, que se mueven a través de entornos similares a los de los videojuegos. Debido a que es 2D y el programa está diseñado de manera simple, no necesita mucha potencia computacional.

Como sugiere el nombre, los investigadores estructuraron el sistema para imitar el proceso biológico de la evolución. En lugar de generar robots individuales, genera poblaciones de robots con diseños ligeramente diferentes. El sistema tiene un sistema de optimización de dos niveles: un bucle externo y un bucle interno. El bucle exterior es la optimización del diseño: el sistema genera varios diseños diferentes para una tarea determinada, como caminar, saltar, trepar o atrapar cosas. El bucle interno es la optimización del control.

Los investigadores encontraron que el sistema era muy eficaz para muchas de las tareas y que los robots diseñados por algoritmos funcionaban mejor que los diseñados por humanos.

«Tomará cada uno de esos diseños, optimizará el controlador para él en Evolution Gym en una tarea en particular», dijo Bhatia. «Y luego devolverá una puntuación para cada uno de esos diseños al algoritmo de optimización de diseño y dirá, así de bien se desempeñó el robot con el controlador óptimo».

De esta forma, el sistema genera múltiples generaciones de robots en base a una puntuación de “recompensa” específica de la tarea, manteniendo elementos que mantienen y aumentan esta recompensa. Los investigadores desarrollaron más de 30 tareas para que los robots intentaran realizar, calificadas como fáciles, medias o difíciles.

«Si su tarea es caminar, en este caso, le gustaría que el robot se mueva lo más rápido posible dentro del período de tiempo», dijo Wojciech Matusik, profesor de ingeniería eléctrica e informática en el MIT y autor principal del artículo.

Los investigadores encontraron que el sistema era muy eficaz para muchas de las tareas y que los robots diseñados por algoritmos funcionaban mejor que los diseñados por humanos. El sistema ideó diseños que los humanos nunca pudieron, generando complejos mosaicos de materiales y actuadores que eran altamente efectivos. El sistema también ideó de forma independiente algunos diseños similares a animales, aunque no tenía conocimientos previos de animales o biología.

Por otro lado, ningún diseño de robot podría completar eficazmente las tareas más difíciles, como levantar y atrapar elementos. Podría haber varias razones para esto, incluidas las poblaciones para las que el programa seleccionado para evolucionar no eran lo suficientemente diversas, dijo Wolfgang Fink, profesor asociado de ingeniería en la Universidad de Arizona que no participó en el proyecto.

“La diversidad es la clave”, dijo. «Si no tienes la diversidad, rápidamente obtienes buenos éxitos, pero es muy probable que te estabilices de manera subóptima». En el algoritmo más eficaz de los investigadores del MIT, el porcentaje de robots que “sobrevivieron” a cada generación estaba entre el 60 y el 0 por ciento, disminuyendo gradualmente con el tiempo.

Los diseños simplistas en 2D de Evolution Gym tampoco se prestan a ser adaptados a robots de la vida real. Sin embargo, Bhatia espera que Evolution Gym pueda ser un recurso para los investigadores y pueda permitirles desarrollar nuevos y emocionantes algoritmos para el co-diseño. El programa es fuente abierta y de uso gratuito.

«Creo que todavía se puede obtener una gran cantidad de información valiosa al usar Evolution Gym y proponer nuevos algoritmos y crear nuevos algoritmos dentro de él», dijo.