viernes, 27 de septiembre de 2013

Robots flexibles


Hace unas décadas, el enfoque para la programación de robots era puramente analítico. Fundamentalmente se basaba en capturar información de los sensores (si es que los había), calcular las coordenadas a las que debía moverse el robot y controlar los motores para alcanzar dichas coordenadas. Con esto se construían controladores rígidos que tenían serios problemas para gestionar imprevistos como la aparición de un objeto nuevo en escena o la modificación del entorno.
Esta rigidez se ha traducido en el acervo popular de diversas formas, desde los movimientos ortopédicos de los robots cinematográficos más famosos hasta la voz sin inflexiones utilizada para imitarlos.
Robots trabajando en una factoría
A finales de la década de 1980 aparece un enfoque nuevo, denominado robótica reactiva o robótica basada en comportamientos, impulsado, entre otros, por Rodney Brooks. En dicho enfoque se rompe con la estructura centralizada y con la planificación pormenorizada usada hasta entonces y se introduce el concepto de “comportamiento”. Un comportamiento es un programa muy simple que se activa en ciertas condiciones y actúa sobre los motores del robot en función de las medidas sensoriales. Algo así como: «si el sensor ultrasónico de la derecha mide una distancia de menos de 50 cm hasta un obstáculo, gira 10 grados a la izquierda».
Parecería que con instrucciones tan simples no es posible resolver problemas complejos, pero sorprendentemente los controladores construidos bajo este paradigma no sólo se desenvuelven bien en entornos complejos, sino que viendo a robots controlados de este modo uno siente la inquietante sensación de estar viendo los movimientos de un ser vivo, no de una máquina.
Se populariza desde entonces una idea que quizá pueda aplicarse también a los animales e incluso a los propios humanos: la complejidad en el comportamiento de los seres vivos quizá no se deba a la complejidad de su programación interna, sino a un conjunto de algoritmos simples aplicados a un medio complejo. Es decir, sería la complejidad del medio la que se refleja en la complejidad del comportamiento animal y humano.
Algunos de los precursores de estos robots flexibles son los espectaculares prototipos del “Leg Lab” del Instituto de Tecnología de Massachusetts. Uno de los más sorprendentes es el monópodo, que demuestra que la naturaleza no lo ha inventado todo: no existen animales con una sola pata, al menos que yo sepa.

Estos precursores evolucionaron hasta los prototipos de Boston Robotics, que demuestran su flexibilidad ante terrenos complicados e incluso recuperándose de empujones:
Big Dog, de Boston Robotics

Little Dog, de Boston Robotics
También se imitan animales más exóticos y medios de locomoción extravagantes, como los de una serpiente reptando:
Serpiente modular de Carnegie Mellon
Y no sólo se imitan animales, sino al propio ser humano en su condición de bípedo y en su capacidad para seguir objetos con la vista.

Humanoide de Toyota

iCub siguiendo con la vista a un objeto
La verdad, no me gustaría despertarme por la noche y encontrarme al iCub mirándome fijamente.
Y naturalmente, tratándose de robots, la velocidad no es problema:

Como conclusión, podemos decir que la robótica ha avanzado enormemente en los últimos veinte años, a medida que evolucionaba de lo matemático y rígido a lo aproximado y flexible. Han surgido robots de fuerte inspiración biológica que demuestran excelentes habilidades para desenvolverse en su entorno. Como siempre nos queda por resolver la gran asignatura pendiente de la Inteligencia Artificial: dotarles de propósitos, autoconciencia y autonomía para que algún día coexistan con los humanos o, siguiendo las opiniones de los transhumanistas, nos superen.
Pero de eso hablaremos otro día.

Publicado originariamente en Computación creativa y otros sueños (Libro de Notas) el 25/9/2009.