En alguna que otra ocasión hemos hablado del robot Nao, un robot programable desarrollado por la empresa francesa Aldebaran Robotics que se comercializa como framework de desarrollo para que los investigadores puedan crear aplicaciones y dotar al robot de funcionalidades abstrayéndose del hardware y centrándose únicamente en el desarrollo del software de control. El Laboratorio Jouhou System Kougaku de la Universidad de Tokio es uno de los centros de investigación que trabaja con la plataforma Nao y llevan tiempo desarrollando rutinas que permitan a los robots trabajar de manera colaborativa.

¿Robots que trabajan de manera colaborativa? Pues sí, tal y como nos podemos imaginar, el trabajo de los investigadores se ha centrado en el desarrollo de un software que permita a distintas unidades Nao a trabajar de manera conjunta, compartiendo datos y ayudándose entre sí para realizar diversas tareas. El equipo de investigación del Laboratorio ha desarrollado un sistema de navegación y exploración que permite a los robots compartir datos relativos al entorno entre las distintas unidades, creando una especie de "conocimiento colectivo" que además se nutre de los datos procedentes del propio aprendizaje de las unidades aplicando prueba y error cuando intentan ejecutar acciones de manera conjunta (por ejemplo, intentar mover un objeto en base a experiencias previas en las que han combinado esfuerzos y movimientos para hacerlo con objetos de tamaños o formas similares). Si a estas capacidades le sumamos el control que tienen los robots sobre la fuerza que aplican, gracias a sus sensores de presión, las unidades Nao son capaces de manejar objetos frágiles sin riesgo de que las rompan o estropeen.

En el vídeo podemos ver cómo un equipo de cuatro robots Nao trabajan de manera conjunta para salvar un obstáculo. Dos de los robots cargan a sus espaldas un panel de madera sobre el cual se sube otro robot que es apoyado por otra unidad (evitando que se caiga). Los robots que cargan el tablón intentan elevar la plataforma para que el robot que está sobre ésta salve el desnivel y pueda subirse a la plataforma elevada. Además, gracias al sistema de localización, los robots pueden sincronizar sus movimientos y, por ejemplo, realizar ejercicios de acrobacias sobre un trapecio. Como curiosidad, la programación de estos robots se ha realizado utilizando el lenguaje de programación Lisp utilizando un entorno de desarrollo con lenguaje C++.

Es impresionante ver cómo colaboran entre sí las unidades Nao para resolver problemas de manera conjunta y comparten datos y "experiencia" entre sí.

Imagen: Aldebaran Robotics