España // elmundo.es

lunes, 11 de abril de 2011

ROS: Robotic Operative System

En cierta manera, la idea que exponía en mi articulo Distro Linux como software base para robots (12 de Enero de 2009), está quizá reflejada en ROS (Robotic Operative System). ROS es una plataforma software creada por Willow Garage.

Además de Robotic Operative System, también le dan el significado a sus siglas de Robotic Open Software. Y la razón es que Willow Garage publica el software completamente abierto con licencia BSD (el software está disponible aquí: https://code.ros.org/gf/project/ros/), para que sea utilizado libremente por cualquiera, modificado o comercializado en otros productos. Su especial interés es crear una plataforma de software libre que sirva de base para la creación de robots.

Actualmente es un proyecto en marcha, que pretende ser alimentado por la comunidad robótica. El proyecto está vivo y es accesible vía su página web: http://www.ros.org/

El software en si, no es una distro linux como yo proponía en mi idea. Es más bien un paquete software que se instala sobre otras distros u otros sistemas operativos. Actualmente está preparado para ser instalado sobre prepara Ubuntu 8.04, Mint 5, Fedora 11 y Arch Linux. Y de manera experimental en Gentoo Linux, MAC OS, OpenSUSE y Windows.

La intención de ROS es ser un sistema que aúne diversos componentes útiles a la hora de hacer que un computador sea el corazón del robot o(imagino) el asistente, tales como drivers cámaras u otros dispositivos, algoritmos, por ejemplo de navegación, de control de brazos robóticos, etc.

El sistema está basado en un concepto modular, que en ROS denominan nodos. Los nodos son básicamente ejecutables, que utilizan “roscore” (otro ejecutable que es el núcleo del sistema) para comunicarse con otros nodos. Cada nodo lleva a cabo alguna actividad computacional, y entre ellos se comunican con por ejemplo servicios RPC, para intercambiar información de las tareas a realizar. 

Un robot puede albergar muchos nodos. Por ejemplo:
  • un nodo puede controlar un laser medidor de distancias.
  • otro nodo podría controlar los motores de la ruedas del robot.
  • otro nodo podría ser el módulo de localización.
  • otro nodo podría hacer la planificación de la trayectoria.
  • otro nodo podría proporcionar una vista gráfica de todo el sistema.
  • y así cada nodo se encarga de una tarea e interactua con los demás.
Según los diseñadores, esta estructura modular permite una buena tolerancia a fallos, ya que cada nodo funciona aislado de los demás. Por otro lado la complejidad se reduce en comparación con cualquier otro sistema monolítico(una sola capa donde se concentra todo el código del robot), y así los detalles de implementación se esconden hacia los demás módulos a los que solo se les dá una serie de parámetros básicos, que pueden ser proporcionados por un modulo escrito en cualquier otro lenguaje.

El sistema permite generar unos gráficos de nodos, donde podemos ver como se están relacionando todos los nodos que hemos creado para nuestro robot. Algo como esto que se muestra en la imagen: 



El sistema está pensado teniendo en cuenta otras plataformas software de desarrollo gratuitas y/o abiertas, que ya existen y que pueden aportar mucho también a ROS, como pueden ser OpenCV, Player/Stage y otras...

Desde luego que parece bastante prometedor como sistema para la creación de robots aunque actualmente no cuente con muchos módulos, está abierto a la participación de cualquier desarrollador que desee hacer su aportación.

Willow Garage ha creado, utilizando ROS, un robot llamado PR2 (Personal Robot 2) que podéis ver en la imagen de más abajo. Actualmente el robot lo distribuyen de forma gratuita(!) a todas los centros de investigación del mundo que lo soliciten. Cosa la cual tiene la clara intención de promocionar su sistema a toda costa, para marcar un hito.

La primera vez que me enteré que existía ROS leí sobre él en la página robociencia.com. Os aconsejo que la visitéis, porque está llena de noticias interesantes sobre lo que se cuece en el mundo de la robótica más recientemente.

Mi intención con este “sistema operativo” es instalarlo y ver que partido se le puede sacar. Bien podría ser la base para una distro linux nueva, si con eso se mejorase el rendimiento. En cualquier caso me parece que está en la línea de lo que ya había pensado hace tiempo en crear, así es que, ¡¡¡ manos a la obra……….!!!!

Fuente

Y ahora un poco de musica disco caribeña.


Ottawan - DISCO





No hay comentarios:

Publicar un comentario