ROS, el futuro de la robótica autónoma

Hace un par de semanas escribí un artículo sobre el robot PR2 desarrollado por Willow Garage y que utiliza ROS (Robot Operating System o Robot Open Source) como plataforma de trabajo.

En aquel momento critiqué firmemente la política de crear su propio Framework de trabajo cuando ya existen una gran cantidad disponibles en la red, pero lo que en un principio me pareció que se trataba de más de lo mismo ahora puedo certificar que es mucho más avanzado.

Al igual que otros Frameworks, permite definir componentes que realizarán tareas más o menos sencillas y que compartirán una serie de datos con otros módulos. Pero esto ya se había visto anteriormente. Entonces ¿Por qué ROS puede cambiar la situación de dispersión actual?

  • Para empezar, ROS es un proyecto que está siendo mantenido por una empresa mientras que los anteriores eran proyectos desarrollados en universidades y que contaban con muchas menos personas involucradas en los mismos. Además Willow Garage se ha hecho con los servicios de los mejores expertos en la materia.
  • Es mucho más sencillo de utilizar. Se han preocupado de crear comandos que simplifican mucho el trabajo diario con los módulos y las interfaces. Ni siguiera es necesario cambiar de directorio o acceder a la documentación para conocer detalles de los elementos que estamos utilizando.
  • Es posible descargar la distribución estable para Ubuntu, llamada Box Turtel directamente desde su repositorio. Esto permite tener siempre los componentes actualizados.
  • La licencia es BSD, siendo esta totalmente libre y permitiendo a las empresas su utilización sin restricciones de comercialización, cosa que no pasa con los frameworks desarrollados bajo la licencia GPL.
  • Mantiene el desarrollo de Player/Stage y OpenCv, lo que permite una rápida integración con robots, sensores y actuadores disponibles en el mercado.

Pero si una característica llama la atención a la mayoría de los desarrolladores y expertos en robótica por encima de las demás es la gran cantidad de componentes disponibles actualmente para ROS. Haciendo posible que sin escribir ni una sola línea de código y simplemente modificando los archivos de configuraciones, cualquiera pueda disponer de un robot capaz de realizar tareas complejas en unos pocos días, o incluso horas.

Por esta razón cada vez más empresas y universidades están empezando a desarrollar utilizando ROS como plataforma, lo que hace que el número de componentes disponibles aumente a una velocidad nunca vista antes.

Si lo sumamos todo, tenemos el primer Framework para robótica que ha conseguido cautivar tanto a los investigadores como a la industria. Ahora si parece que la comunidad se ha puesto de acuerdo y de ser así esto supondrá un gran avance para el mundo de la robótica.

Tags: , , , , , , ,

18 Responses to “ROS, el futuro de la robótica autónoma”

  1. Gizer20 dice:

    Lo encuentro algo dificil para empezar, pero lo que me da que pensar es si puedes interactuar el ROS con modulos hechos por ti ,por ejemplo una etapa de motores.
    Porque si es afirmativo con algo de este tipo, un robot de Eurobot podria ser mucho mas facil de programar con vision artificil etc

  2. Por supuesto que se puede, de hecho esa es la idea. La reutilización del código independientemente de los sensores y actuadores que utilicemos.
    ROS soporta openCV y por lo que tengo entendido tienen un buen numero de aplicaciones para la detección de objetos así que en principio debería facilitar mucho el trabajo.
    También te permite dividir las tareas e incluso hacer simulaciones. Vamos, que las posibilidades son prácticamente infinitas.
    Viendo que hay interés por el tema quizás haga un curso de introducción a ROS. ¿Lo seguiríais?

  3. Gizer20 dice:

    Pues yo la verdad es que si seguiria el tema de ROS, creo que se podria aplicar a muchooos robots.

  4. Desde luego que se puede aplicar a muchos robots, es más, cuantos más programas se hagan para ROS más fácil será hacer los siguientes.

  5. Sphinx dice:

    Gracias por mirar una vez más sobre ROS. Es, como te decía en el artículo de mi blog, algo que tengo pendiente de mirar, porque tenia un proyecto a medias, al que este S.O. le podría venir de perlas.

  6. Pablo dice:

    A diferencia del post anterior sobre ROS, ahora estamos mas de acuerdo. :-) . Como bien dices se está convirtiendo en la alternativa mas reconocida. Y es que la gente de Willow Garage está yendo a saco, difundiendo conocimiento lo mejor que pueden, con muchísima documentación, vídeos, etc. Con la verdadera intención divulgativa para que la gente lo use y saque beneficio del mismo. Además el hecho de que utilicen tantas cosas que los desarrolladores de “a pie” es otro de los motivos de su éxito.

    No puedo evitar tener algo de sana envidia de este proyecto americano, ninguno de los proyectos europeos mas exitosos y reconocidos como OROCOS o YARP han conseguido tanto en tan poco tiempo. Aunque son buenos proyectos y son OpenSource ¿Se apostó realmente por la difusión del conocimiento y la creación de una comunidad fuerte?

    Por otro lado, relacionando este post con el tema de la dispersión de frameworks(post anterior). Puede ser un buen momento para fomentar un estándar en los frameworks de robótica aprovechando la inercia de ROS. Aunque sea al menos en los mecanismos de comunicaciones (topics, ports, properties, services, etc.), y en la capa de transporte y presentación de los mensajes así como de servicios de nombres. Creo que son los puntos claves que permitiría la existencia de frameworks con distintos sabores y personalidad propia a la vez que la robótica avanza.

    Saludos.

  7. Sphinx dice:

    No sé si conocíais URBI, pero ahora está integrado con ROS.Una pasada:
    http://linuxdroids.wordpress.com/2010/07/26/urbi-una-api-para-robotica/

    Saludos,
    Sphinx.

  8. Conozco URBI, sin duda es otra de las muchas buenas iniciativas. Aun así no tiene el soporte de una empresa tan potente como willow garage detras.

  9. Me parce muy interesante lo que comentas acerca de ROS. Si bien me apasionan desde niño, acabo de llegar a esto de la robótica…. pero lleno de ganas. Me encantaría que realizaras un curso sobre el tema. Quizá, si justo cuando estoy comenzando oriento mis esfuerzos por un camino adecuado, llegaré con más garantías a puertos interesantes desde donde evolucionar y participar activamente en este fascinante mundo.
    Un saludo

  10. Hola Lisardo,

    La verdad es que sería interesante escribir un curso sobre ROS pero francamente, dudo poder hacerlo mejor que el curso oficial.

    Puedes encontrarlo en http://www.ros.org/wiki/

    Mucha suerte

  11. Irvine dice:

    Perodnar mi desconocimiento del tema, pero ¿y la diferencia entre ROS y smartsoft?

  12. Ninguna y a la vez toda. Como comento en el post ROS es otro de los muchos frameworks que existen, sus ventajas radican en la cantidad de usuarios que tienen y el código disponible.

    Por otra parte SmartSoft es otro framework que presenta una ventaja que ROS no tiene y creo q seria muy útil. Un entorno gráfico sencillo y la posibilidad de trabajar con módulos software en cajas. Sin embargo, si te fijas SmartSoft no llega a la docena de componentes disponibles.

    Espero haber contestado a tu pregunta.

  13. Germán dice:

    José!

    Excelente artículo, si bien no tengo conocimientos de robótica, como ingeniero siento una natural atracción por este tipo de dispositivos!

    Me parece muy bueno este framework, además de su practicididad tiene una interesante licencia BSD, espero que ayude a impulsar la robótica amateur y no tanto ;)

    Saludos para todos, nos leemos!!

  14. Me alegra que te haya gustado.
    La gran ventaja que tiene este framework es que aunque no seas un experto en robótica te permite hacer tus pinitos en el tema. Si realmente estas interesado en conocer más puedes ver este otro articulo: http://robociencia.com/introduccion-a-ros/
    Un saludo!

  15. Orlando Monsalve dice:

    Buscando por la red informacion me contre con este articulo y me paracio muy interesante, Jose estuve viendo su conferencia en CApus de Valencia y y mi pregunta es la siguiente mi tesis la voy abordar con ROS mas exactamente desarrollara el prototipo de TURTLE BOT, quisisera saber si em podes colaborara con informacion tutoriales lo q podas.

    GRACIAS

    ORLANDO MONSALVE
    UNIPAMPLONA
    COLOMBIA

  16. Hola Orlando,

    Dentro de tu tesis no he entendido que pretendes hacer con un TurtelBot. De todas formas si tienes preguntas concretas intentaré responderte lo antes posible. Aunque ando un poco liado últimamente siempre intento sacar tiempo para estas cosas.

    Para todo lo demás, tienes toda la documentación, tutoriales y recetas en http://www.ros.org/wiki/

  17. Orlando Monsalve dice:

    Jose gracias por tu pronta respuesta,
    mi pegunta es la siguiente deseo utilizar un irobot, kinect y una begleboard pera la creacion de IturtleBot, este robot sera totalmente autonomo y quiero crear una imagen virtual de por donde pasa el robot, sera muy dificil crearlo
    gracias..

  18. Hola Orlando,

    Me temo que con el pc que quieres utilizar no vas a tener suficiente potencia como para mover el kinect. Yo te recomiendo que te vayas a algo más potente como un atom.

    Lo que pretendes hacer no es dificil, de hecho hay algo similar creado para el robot turtlebot. Si investigas un poco encotraras un montón de información en la web de ROS

    Un saludo,

Leave a Reply

Bad Behavior has blocked 1484 access attempts in the last 7 days.