robots en las nubes

Nada que ver con UAV’s, la última tendencia en robótica consiste en utilizar computación en nube para hacer parte de los cálculos y operaciones de un robot. Siguiendo un artículo de microsiervos, he llegado a una explicación muy buena en el ieee automaton. La idea es utilizar computación en nube para realizar los cálculos más pesados y complejos, utilizando tanto la potencia como los datos masivos almacenados en servidores remotos. Cuando un robot se encuentre con un objeto desconocido, podría enviar una imagen del mismo a un servidor que identificará el objeto comparándolo con miles de modelos en su base de datos y recibir una descripción, un modelo 3d, etc. De una manera similar a google goggles y google translate que ya funcionan de esta manera.

¿Dónde encaja este tipo de computación en la arquitectura de un robot? En la parte de planificación, que puede recurrir a la nube para procesar información pesada o desconocida. Pero la parte reactiva también podría beneficiarse de la conexión a internet. ¿Qué tal una biblioteca de comportamientos reactivos? Es lo que en microsiervos comparan con la escena de Matrix de aprender “kung fu”. Descargando los comportamientos necesarios, un robot siempre podrá activar los más adecuados a su entorno y a la tarea que esté realizando. Un ejemplo sencillo: un siguelineas puede convertirse en luchador de sumo, descargando de internet  los comportamientos apropiados para cada tarea y activándolos cuando los necesite.

Hay algunos peligros en este planteamiento ¿Qué pasa cuando el robot se queda sin conexión a internet? El sistema debería funcionar correctamente y siempre debería tener comportamientos adecuados para seguir funcionando sin peligro de que el robot termine descontrolado. Por el lado de la seguridad informática, habrá que evitar que se puedan cargar comportamientos peligrosos como “matar a todos los humanos”.

Es un paradigma prometedor, hablan incluso de una “app store” para robots, en la que se podrán comprar aplicaciones para nuestro robot. Pero es más prometedora la idea de aplicar esta nube a electrodomésticos y aparatos inteligentes conectados a internet, enlazando con el concepto de el internet de las cosas.

todos los robots deberían tener pulso

Me encontré con ésta enigmática frase en un tweet de guibot:

All robots should have a heartbeat

Cómo guibot es un experimentador portugués que trabaja en proyectos más bien artísticos, pensé que se trataba de algo más poético. Pero no, el tweet lleva a concurrency.cc que hablan de una idea práctica:

[...] tenemos el proceso hearbeat(). Éste proceso hace que el LED del arduino luzca intermitentemente, haciéndonos saber que no se ha estropeado nada (todos los robots deberían tener pulso [heartbeat]).

No sé si el hearbeat es un concepto formal, pero es muy útil: saber de un vistazo que un robot (u otro dispositivo) sigue funcionando. Cómo un robot es también un ordenador, no está libre de colgarse, bloquearse o quedarse en un bucle infinito. Por medio del heartbeat el robot nos informa de que sigue funcionando, sobretodo en algunos momentos en que parece bloqueado aunque no lo está.

Muchos aparatos tienen indicaciones visuales de este tipo: los leds de encendido y disco duro de un ordenador o en los teléfonos móviles. Por otra parte, aunque no sé que tal funcionarán, creo que podrían usarse indicaciones no visuales, de tipo sonoro, cómo sonidos periódicos o zumbidos, o mecánico, cómo el movimiento de alguna parte del robot.

En mi caso siempre he metido un heartbeat (aunque no sabía que lo estaba haciendo). En la lámpara termómetro de phybo para saber que la lámpara sigue en marcha, la luz está pulsando y no es constante. Con arduino, siempre intento que el led de la tarjeta pulse un par de veces al arrancar (en el método setup) y luego periódicamente al inicio del bucle loop meto una función de parpadeo. Así estoy seguro de que por lo menos el procesador no está bloqueado.

robots capaces de engañar

En el Georgia Institute of Technology han desarrollado un robot que es capaz de engañar. Utiliza un algoritmo pensado para engañar tanto a personas como a otros robots y se ejecuta en dos fases. En primer lugar el robot detecta si en la situación actual el robot debe o no engañar y en caso positivo, activa un comportamiento adecuado para engañar al adversario. Para tomar la decisión de engañar se utiliza la teoría de juegos, se evalúa si el oponente (humano ó robot) está en conflicto con el robot y si el engaño va a ser beneficioso para el robot.

Además los autores creen que es interesante evaluar algunas situaciones en las que puede ser aceptable utilizar algoritmos para engañar a humanos:

  • Robots militares: el uso de estrategias para engañar al enemigo tiene ventajas evidentes.
  • Situaciones de rescate: puede ser útil engañar a las víctimas para evitar el pánico de las personas rescatadas.
  • Robots sociales: aunque no es probable que este tipo de robots utilice el engaño, detectar las situaciones dónde es beneficioso engañar puede mejorar la interacción social de un robot.

Construir robots capaces de engañar tiene implicaciones éticas importantes. Con esta investigación se pretende iniciar el debate antes de que se construyan robots militares reales capaces de engañar. Sólo añadir que uno de los investigadores es Ronald C. Arkin, autor de un libro clásico de robótica, Behavior-Based Robotics.

Y gracias a Sphinx de linuxdroids por enviarme el enlace!

colmena, enjambre robótico

Me he encontrado con una obra llamada colmena en la fundación Miró, creada por Martina Höfflin y Pascal Glissmann, perteneciente al proyecto electronic life forms. Colmena emula una especie de capullos cilindricos alimentados por células solares que emiten sonidos y mueven unas patas metálicas. En la página del proyecto se pueden ver muchas fotografías del mismo y los materiales utilizados para construir las criaturas. Los insectos llaman la atención por la sencilla electrónica que llevan: cableado, resistencias condensadores, altavoces piezoeléctricos, motores y células solares. El proyecto se puede incluir dentro de la corriente robótica BEAM (de Biology, Electronics, Aesthetics, and Mechanics), que consiste en la creación de robots con una electrónica lo más sencilla posible y una estética y mecánica inspiradas en la biología.
Unas fotografías del proyecto que me han pasado los autores:

proyecto colmenta

Los proyectos de vida artificial robótica siempre me han atraido, especialmente cuando intentan emular insectos o seres vivos cómo colmena. La robótica sirve para crear máquinas útiles, pero también crituaturas artificiales que pueden ser o no parecidas a los seres vivos que nos rodean, y mejor si tienen sentido artístico o estético. Otra obra similar que comenté por aquí es el robotarium X del artista portugués Leonel Moura (del que acabo de ver que ha publicado una nueva versión).

Hace tiempo pensé en crear mi propio jardín robótico en miniatura, pero nunca lo terminé por falta de tiempo. Ahora, haciendo trampas, he pedido en deal extreme unas cucarachas solares y mini coches solares que, sin hacerles ninguna modificación, podrían ser unos habitantes interesantes para un jardín robótico. A una persona que no sepan cómo funcionan le podrían parecer más inteligentes de lo que realmente son. La idea es reutilizarlos y modificarlos en la medida de lo posible para que se transformen en habitantes de un mini jardín.

detección de estasis

He rescatado un artículo de cuando estaba más interesado en la robótica móvil: una descripción de la lógica para la detección de estasis encontrado en robots.net. La detección de estasis consiste en añadir sensores a un robot móvil para que pueda detectar cuando se ha queda bloqueado o varado y es incapaz de desplazarse, aunque pueda mover las ruedas (o patas).

Por muchos sensores que tenga un robot para detectar obstáculos, al final siempre puede quedar atrapado de alguna forma inseperada: bancos de arena, obstáculos inesperados, esquinas de muebles, etc. Con un sensor de estasis, el robot puede tomar alguna medida paliativa (parar las ruedas para no gastar batería) o de emergencia (empujar de golpe para salir de la trampa).

Éste artículo me ha recordado el caso más famoso de robot en estasis, Spirit uno de los robots de la Nasa en Marte, que tras varios años de funcionamiento, se ha quedado varado sin poder moverse. Mark Tilden en el prólogo de Junkbots, describe el problema tal y cómo suele aparecer en la práctica: después de días desarrollando algoritmos de inteligencia artificial, calculando trayectorias óptimas y realizando mapas para conseguir un robot que limpie una habitación, llegas a casa y descubres que se ha quedado bloqueado con un calcetín.