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.

prism, convertido en chromeless

Aunque se hizo oficial hace un tiempo, quería comentar el anuncio de que Mozilla abandona Prism a favor de Chromeless. En principio parece lógico, dado que las funcionalidades de Prism están cubiertas por Chromeless y Open Web Apps, dejando sin sitio al SSB de mozilla. Brevemente, las funcionalidades que cubría Prism eran éstas:

  • Instalación de aplicaciones web como aplicaciones de escritorio: éste terreno queda cubierto por Open Web Apps, que permite a los desarrolladores web ofrecer aplicaciones instalables en el navegador.
  • Integración de aplicaciones web en el escritorio: aunque no fuese demasiado completa, Prism ofrecía algo de integración con el escritorio. Chromeless profundiza en este sentido ofreciendo una herramienta más general, que permitirá desarrollar aplicaciones de escritorio con tecnología web.

Y sin embargo, como apuntan algunos usuarios en el foro de discusión abierto por mozilla, no estoy tan seguro de que este movimiento haya sido una buena idea. Prism se trataba de un producto en sí mismo, orientado a usuarios sin conocimientos. Chromeless, es una herramienta para desarrolladores, para construir aplicaciones. Y Open Web Apps por otra parte permite instalar aplicaciones generadas por los desarrolladores de un sitio web. La utilidad de Prism era que  el propio usuario podía transformar de forma muy sencilla aplicaciones web existentes en aplicaciones de escritorio. Sin Prism, los usuarios perderán la opción de instalar aplicaciones web con un solo click.

A pesar del solapamiento entre Chromeless y Open Web Apps con Prism, no sé si es buena idea terminar con Prism. Afortunadamente, hay otras alternativas: Chrome siempre ha tenido la opción de “Crear acceso directo a aplicación” que además se complementa con la Chrome Web Store. Y el desarrollador principal de Prism, ha retomado el proyecto con su nombre original, Webrunner. Probablemente es la mejor opción para los que usabamos Prism.

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.

retomando

Este año toca escribir poco, aunque intentaré no perder la costumbre. Cómo éste blog es personal, este año va a tocar poca robótica y poca inteligencia artificial, me dedicaré a “arduinar” un poco y el blog también bajará de prioridad. Menos tecnología en general, es lo que tiene hacer experimentos raros.

Termino con un pequeño descubrimiento. Acabo de instalar en mi vetusto popcorn hour A-100, el cliente de bittorrent transmission. Si alguien lo utiliza, que pruebe el cliente web, especialmente con chrome, en modo aplicación (Tools -> Create Application Shortcuts). Es de las aplicaciones web más parecidas a una aplicación de escritorio que me he encontrado.

ley sinde

No me apetecía volver a hablar de la ley sinde, seguramente la mayoría de los que leen este blog saben más que yo. Pero escuchar la tertulia de onda cero esta tarde me ha animado.

La ley puede ser justa o no, los animadores pueden tener razón o no, pero no importa. La razón de todo este lío es que con un ordenador y una línea ADSL se puede copiar información digital a cualquier parte del planeta a muy bajo coste. Con la ley Sinde nos obligarán a utilizar programas de descarga que cifren la información, a formar clubes privados de descarga, o a enviar ficheros dentro de e-mails, pero las descargas sólo podrán detenerlas prohibiendo internet.

Si la industria actual quiere sobrevivir, que se busque amiguitos en internet cómo itunes o spotify. Si no, desaparecerán, sólo hay que esperar el tiempo suficiente. Lo peor es que en España seguiremos tecnológicamente retrasados gracias a estas leyes. Gracias creadores! Cada día nos caéis mejor.