ROS: Robotic Operative System

green_globe_icon.png En cierta manera, la idea que exponía en mi articulo Distro Llinux 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 podría ser el módulo de localización, otro hacer la planificación de la trayectoria, otro 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:

Ejemplo de interrelación de los nodos de un robot sencillo de test.

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.

PR2 (Personal Robot 2), robot creado por Willow Garage usando ROS.

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……….!!!!

Anuncio publicitario

Autor: Sphinx

Robotics enthusiast

5 opiniones en “ROS: Robotic Operative System”

  1. Yo personalmente te recomiendo la plataforma Player/Stage en exclusiva si solo vas ha meterte en proyectos senciallos.

    Si vas a ir a algo mas complicado entonces te recomendaría Orca Robotics, que a mi pareces está bastante más maduro.

    Trabajo con ellos habitualmente y tienen mucho potencial, de todas formas tengo que sacar algo de tiempo para ver los modulos que tienen implementados y como implementan las interfaces.

    Buena suerte.

    Me gusta

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: