Robot Operating System (ROS): cómo un programa informático hace funcionar máquinas reales

El sistema operativo para robots, o ROS, es el núcleo de muchas máquinas actuales. Sin embargo, no se trata de un sistema operativo en el sentido estricto del término, como Windows o Linux. Se trata más bien de un marco flexible que se ejecuta sobre uno de esos sistemas. En resumen, ayuda a los robots a percibir, pensar y moverse. Al ser gratuito y de código abierto, lo utilizan ingenieros de todo el mundo. Por eso, el ROS está presente hoy en día en laboratorios, fábricas y empresas emergentes. Esta guía explica cómo funciona el sistema operativo robótico. También te muestra cómo puedes empezar a aprenderlo.

¿Qué es el Robot Operating System?

El sistema operativo robótico es un conjunto de herramientas y bibliotecas destinadas a la construcción de robots. Ofrece a los desarrolladores un medio común para compartir código. Además, gestiona las complejas interconectiones entre los distintos componentes. Por ejemplo, transmite los mensajes de una cámara a un planificador. Gracias a esta estructura, los equipos evitan tener que reescribir constantemente el mismo código. De hecho, el proyecto ROS no ha dejado de desarrollarse desde 2007.

ROS desglosa un robot en pequeños programas denominados «nodos». Cada nodo realiza una tarea específica de forma eficaz. A continuación, los nodos se comunican entre sí mediante mensajes sencillos. De este modo, los desarrolladores pueden sustituir componentes sin alterar el funcionamiento del conjunto. Así, un equipo puede probar un elemento cada vez. Este diseño permite que los grandes proyectos sigan siendo manejables.

Cómo conecta ROS los sensores y los actuadores

Un robot debe percibir el mundo que le rodea antes de actuar. En primer lugar, los sensores recogen datos sobre el entorno. A continuación, ROS envía estos datos a los programas adecuados. Por ejemplo, una cámara, un lidar y un codificador de rueda alimentan simultáneamente el sistema. Como ROS estandariza estas señales, los componentes funcionan juntos de forma fluida. Nuestra guía sobre sensores robóticos aborda esta capa con más detalle.

Los actuadores transforman las decisiones en movimientos. Una vez que el software ha elegido una acción, ROS envía órdenes a los motores. Estos, a su vez, accionan las articulaciones, las ruedas o las pinzas. De este modo, el robot modifica el mundo físico. Además, ROS lee la información de retroalimentación procedente de estos actuadores. Así, puede corregir pequeños errores en tiempo real.

Robot software linking cameras and lidar sensors to motors and a gripper with feedback loops

Movimiento y cinemática inversa en ROS

Mover un brazo robótico parece sencillo, pero los cálculos matemáticos son complejos. La cinemática inversa resuelve una cuestión fundamental: para un punto de destino dado, ¿qué ángulos de articulación permiten alcanzarlo? ROS integra herramientas que responden rápidamente a esta pregunta. De este modo, un brazo puede desplazar su pinza hacia una ubicación precisa.

Estas herramientas también planifican trayectorias seguras. Dado que un robot debe evitar colisiones, los planificadores prueban numerosas rutas. A continuación, eligen aquella que sortea los obstáculos. De este modo, el brazo se desplaza con suavidad y total seguridad. Además, los mismos cálculos guían las piernas y las ruedas. Por lo tanto, ROS reutiliza estos métodos para numerosos tipos de robots.

Navegación y SLAM visual

Los robots móviles se enfrentan a un gran reto: deben saber dónde se encuentran. El SLAM visual ayuda a resolver este problema. Este término hace referencia a la localización y la cartografía simultáneas mediante cámaras. En resumen, el robot construye un mapa al tiempo que realiza un seguimiento de su propia posición. De este modo, puede desplazarse por un nuevo espacio con total confianza.

ROS incluye potentes herramientas de navegación. En primer lugar, el robot detecta paredes y objetos. A continuación, planifica una ruta hacia su destino. Al mismo tiempo, actualiza el mapa a medida que avanza. Dado que los sensores como el LiDAR aportan información de profundidad, la precisión mejora considerablemente. Nuestro artículo explicativo sobre el LiDAR explica por qué. Para ver sistemas completos en acción, consulta nuestro artículo sobre los robots móviles autónomos.

Mobile robot building a 3D map of a room with visual SLAM while tracking its path

¿Dónde utilizan los robots ROS hoy en día?

ROS está presente en una amplia gama de máquinas. En los almacenes, los robots lo utilizan para mover mercancías. En las explotaciones agrícolas, las máquinas lo emplean para inspeccionar los cultivos. Al mismo tiempo, los laboratorios de investigación lo utilizan para probar rápidamente nuevas ideas. Al tratarse de un marco abierto, las start-ups lo adoptan desde el principio. Por ello, las buenas ideas se difunden rápidamente en el sector.

Las grandes empresas también confían en ROS. Por ejemplo, los robots de reparto y los brazos robóticos de laboratorio suelen funcionar con ROS en segundo plano. Además, numerosos proyectos de robots humanoides se basan en esta tecnología. Por eso, los conocimientos sobre ROS tienen un valor real en el mercado laboral. De hecho, las empresas lo mencionan en numerosas ofertas de empleo en el ámbito de la robótica.

Versiones de ROS y comunidad

Actualmente, ROS se divide en dos ramas principales. La primera versión permitió validar el concepto y ganarse a los primeros adeptos. Sin embargo, la versión más reciente ofrece mayor seguridad y velocidad. Por lo tanto, es la que eligen ahora la mayoría de los nuevos proyectos. Dado que ambas versiones comparten la misma filosofía, los conocimientos adquiridos con la versión anterior siguen siendo totalmente transferibles.

Una amplia comunidad impulsa todo el proyecto. Por ejemplo, hay voluntarios que desarrollan controladores para nuevos sensores y robots. Además, hay empresas que financian herramientas esenciales que se ponen a disposición de todos. En consecuencia, la plataforma mejora mes tras mes.

Cómo empezar a aprender ROS

Basta con un simple ordenador portátil para empezar. Empieza por instalar el software libre y sigue un tutorial para principiantes. A continuación, pon en marcha un robot sencillo en un simulador. Como la simulación es gratuita, puedes practicar sin necesidad de hardware. De este modo, los errores no salen caros y no suponen ningún riesgo.

El apoyo de la comunidad facilita el aprendizaje. Por ejemplo, la página web oficial de ROS ofrece guías y foros. Además, miles de proyectos de código abierto presentan código real. Así, puedes aprender leyendo y modificando el código. Por último, un pequeño robot de ocio te permite poner en práctica la teoría.

¿Por qué es importante el Robot Operating System?

El sistema operativo para robots sirve de enlace entre los distintos aspectos de la robótica moderna. Gracias a un lenguaje común, los equipos construyen máquinas más rápidas y seguras. Además, integra los sensores, el movimiento y la navegación en un único sistema. Por ello, los robots ganan en capacidades cada año. En resumen, aprender ROS abre de par en par las puertas al mundo de la IA física.

Scroll al inicio