ROS: la base de software de los robots

ROS (Robot Operating System) es un framework de software abierto para crear robots: un conjunto de librerías, herramientas y normas que ayuda a que las distintas partes de un robot «hablen» entre sí. Pese al nombre, no es un sistema operativo en el sentido habitual.

ROS es un «chat» común por el que las partes del robot intercambian datos

En pocas palabras

Imagina que cada sensor y cada motor del robot habla su propio idioma y tienen que entenderse. ROS es como el grupo de chat de la clase, donde todos escriben con las mismas normas: la cámara publica «veo una pared», la navegación lo lee y responde «giro a la izquierda», y los motores lo hacen. Nadie necesita saber cómo funcionan los demás: basta con leer el chat.

Cómo funciona

  1. El robot se compone de programas separados llamados «nodos»: cámara, lidar, planificador de rutas, control de motores.
  2. Los nodos intercambian mensajes a través de «temas» (topics), como canales de mensajería.
  3. ROS ofrece librerías listas: navegación, SLAM, cinemática de brazos robóticos, visualización.
  4. Se ejecuta sobre un sistema operativo normal, casi siempre Linux.
  5. La versión actual es ROS 2, más fiable y más adecuada para productos reales.

Aprender ROS en un simulador y en un robot real

Dónde lo verás

Robots universitarios y educativos, startups, robots de almacén y agrícolas, humanoides de investigación y carros autónomos. Muchos simuladores de robots también funcionan con ROS.

¿Importa al elegir?

Si después de tu primer Arduino quieres tomarte en serio la robótica, ROS 2 es el siguiente paso. Es gratuito, tiene una gran comunidad y miles de paquetes listos. Para empezar necesitas un ordenador con Linux y nociones de Python o C++.

Mitos

  • Mito: ROS es un sistema operativo como Windows. En realidad: Es un conjunto de programas y normas que funciona sobre un sistema operativo de verdad.
  • Mito: ROS solo sirve para robots grandes. En realidad: También se usa en pequeños robots educativos con ordenadores de placa única.

Preguntas frecuentes

¿En qué se diferencia ROS 2 de ROS 1?

ROS 2 es más fiable y funciona mejor con varios robots y en tiempo real. Los proyectos nuevos se hacen con ROS 2.

¿Se puede aprender ROS sin un robot?

Sí, en simuladores puedes controlar un robot virtual.

¿Qué lenguaje aprendo para ROS?

Python para empezar, C++ para el rendimiento.

Términos relacionados

Robótica, Robot, SLAM, Gemelo digital

← Glosario