ROS – ¿Un sistema operativo diseñado para robots?

La importancia que tiene los robots actualmente ha llegado a fines insospechables. Desde las industrias hasta las oficinas podemos encontrar actividad de estos seres artificiales; sin embargo, siempre ha existido una variable con la que los ingenieros han batallado buscando mejorar. Cómo hacer que estos seres piensen y actúen más como humanos y no como…

La importancia que tiene los robots actualmente ha llegado a fines insospechables. Desde las industrias hasta las oficinas podemos encontrar actividad de estos seres artificiales; sin embargo, siempre ha existido una variable con la que los ingenieros han batallado buscando mejorar. Cómo hacer que estos seres piensen y actúen más como humanos y no como simples maquinas. La respuesta, mediante la programación, con un sistema operativo llamado ROS.


La programación es relevante porque hace que los robots ejecuten tareas complejas sin más contratiempo. El problema con esto radica en la complejidad de la tarea misma, es decir mientras más difícil y/o laboriosa fuese la actividad, la codificación es un dolor de cabeza para el desarrollador. Eso sin contar con los múltiples problemas de compatibilidad de hardware que siempre se llegan a encontrar cuando queremos implementar características adicionales a nuestro robot. Con todo esto en mente, en 2007 se desarrolló en la Universidad de Stanford el proyecto switchyard ahora conocido como ROS (Robotic Operating System).

¿Qué es ROS?

De acuerdo con su página oficial [1], ROS se describe como un framework (entorno de trabajo) flexible, con una amplia variedad de herramientas, librerías y paquetes que busca la creación de software complejo para tener robots robustos y con un comportamiento variado.


Cabe mencionar que ROS busca ser una plataforma Open Source, es decir, el fin último es crear un compendio universal de software para que los nuevos desarrolladores no tengan que “inventar la rueda” de nuevo.

¿En qué consiste ROS?

ROS se puede definir de igual manera como un metasistema operativo, ya que es un OS que se instala sobre otro. Lo más usual es que sea un sistema UNIX (Ubuntu, Debian).  Además de proveer funcionalidades de un OS (Sistema Operativo ) en un cluster (muchas computadoras conectadas entre sí)

Algunas de las características principales de ROS son:

  • Le apuesta por la modularidad (diferentes áreas que se conjugan en un proyecto).
  • En ROS cada módulo es autónomo (como las computadoras en una red LAN).
  • Cada módulo interactúa entre sí por medio de mensajes (protocolo XML-RCP) esto hace posible la programación en diferentes lenguajes C++ Python Java.
  • Hace uso del protocolo TCP/IP para un esquema cliente-servidor principal servidor es el núcleo de ROS.

¿Por qué es importante aprender ROS?

La relevancia de ROS radica en que cada vez más investigadores, empresas y amantes de la robótica, utilizan este software para programar sus robots y como ya hemos visto, ROS busca crear una comunidad que comparta sus conocimientos adquiridos.

Algunas cifras de esta relevancia [2]:

  • El primer artículo de robótica utilizando ROS (Morgan Quigley, 2008) ha sido citado más de 2000 veces.
  • Las citas a artículos que usan ROS ha incrementado un 50% en 2015.
  • Más de 150 millones de dólares se han invertido en negocios fundamentados en ROS

¡Emocionante! ¿Dónde puedo aprender más?

Si quieres sacar el mayor provecho a ROS, lo más recomendable es acudir a su página oficial (ingles) [3] ya que cuenta con una infinidad de información para cualquier tipo de proyecto que se te venga a la mente. De igual manera no vendría mal darse una repasada por los comandos básicos de Ubuntu, ya que es el sistema más común donde se instala ROS. [4]

Finalmente se debe de recordar que ROS es un software libre y esto conlleva a todas las ventajas y desventajas del mismo. Lo bueno, cada día se incrementa la información disponible, la comunidad va dando soporte constantemente. Lo malo, se puede encontrar muchísima información repetida en la web, a las versiones viejas del software dejaron de darles soporte. Con todo esto ya puedes tener una visión general del software de robótica que está dando de qué hablar en el mundo.

Referencias

[1]ROS.org. (4 de septiembre de 2017). About ROS. Obtenido de ROS.org: http://www.ros.org/about-ros/

[2]Mepal, P. (10 de diciembre de 2015). conoces ROS el principal sistema operativo para robots. Obtenido de omicrono: http://omicrono.elespanol.com/2015/12/conoces-ros-el-principal-sistema-operativo-para-robots/

[3]ROS.org. (4 de septiembre de 2017). Documentation. Obtenido de ROS.org: http://wiki.ros.org/

[4]linuxandubuntu.com. (16 de junio de 2016). 10 basic linux commands. Obtenido de linuxandubuntu: http://www.linuxandubuntu.com/home/10-basic-linux-commands-that-every-linux-newbies-should-remember

Ford ahora está diseñando Autos con Realidad Mixta y HoloLens de Microsoft.
Como parte de un nuevo proyecto piloto a nivel mundial, Ford está diseñando actualmente sus automóviles utilizando Realidad Mixta apoyándose de los HoloLens de Microsoft.