REBAÑO DE OVEJAS ELECTRICAS

Image by Scott Draves.

28 abril 2007

La era de los robots


Como si de una novela de Asimov se tratase, desde hace algún tiempo empiezo a creer que estamos asistiendo al comienzo de la era de los robots.

Que una multinacional como Sony lanzara hace algunos años el perro robot Aibo, significó que algo estaba cambiando. Fue la primera posibilidad real y comercial de que empezaran a proliferar los robots por nuestras casas. Y me refiero a robots con cierto tipo de "inteligencia", porque lavadoras hace muchos años que existen.

El siguiente hecho significativo vino por parte de la aspiradora autónoma "Roomba". Un robot "inteligente" diseñado esta vez para realizar tareas domésticas que hasta ahora eran difíciles de automatizar.

Y recientemente el anuncio de Microsoft de introducirse en el negocio de la robótica. ¿Será la primera vez que MS intente adentrarse en un campo antes de que nadie se le adelante?

Hasta ahora no ha existido un estandar que gobierne la programación de robots. Microsoft ha dado el primer paso con su MS Robotics Studio. Pero no son los únicos, una pequeña empresa francesa, Gostai, a lanzado la plataforma URBI.

Analizando la información disponible en sus páginas Web, descubrimos 2 opciones bastante diferentes:

Por un lado Microsoft ha basado su producto en el arsenal de tecnologías que ya tienen disponibles, Visual Basic, C++ o C# y un SDK especifico basado en .NET Compact Framework 2.0. Todo ello para ser ejecutado en Windows CE, Windows Mobile o PocketPC o en un PC con conexión al inalámbrica al robot para darle las órdenes. Como complemento han desarrollado un entorno que permite la programación "visual" y una simulación del robot.

La información contenida en su web es densa, complicada de encontrar, muchos links dan error y no se obtiene fácilmente una idea de su utilidad o potencia.

Por el otro lado Gostai ha creado un nuevo lenguaje ( ¿otro mas? ) similar a C++ o Java, pero en el que han implementado una serie de mejoras a nivel semántico, integrando por ejemplo el paralelismo y los eventos como características propias del lenguaje. El resultado es espectacular; con una sintaxis muy clara y pocas lineas de código se pueden sincronizar movimientos, ejecutar ordenes simultáneas o agrupar tareas en una sola orden.

La plataforma URBI no solo se compone de un nuevo lenguaje, sino de un "engine" adaptado para cada plataforma donde se quiera correr, que basicamente consiste en un Firmware que permite ejecutar los programas URBI.

Tenemos 2 opciones; extender la omnipresente plataforma windows también a la robótica, o elegir un producto con un diseño específico y pensado desde un principio para las necesidades de un autómata, que ademas publica su SDK en GPL.