PTENES
RUTA 4 · INTERMEDIO / AVANZADO

🗺️ ROS 2 y navegación

El salto del robot que reacciona al robot que sabe dónde está. Aprenderás ROS 2, describirás y simularás tu robot en Gazebo, conectarás el ESP32 a ROS con micro-ROS, crearás mapas con un LiDAR y terminarás con un robot que mapea la habitación y navega solo hasta un punto. Todo se puede hacer primero solo en simulación, en tu PC.

6
Módulos
36
Temas
Intermedio
Nivel
ROS 2
Lyrical o Jazzy
0%
0 de 0 temas leídos en esta ruta
simulación en PC robot real 4.1ROS 2 4.2Gazebo 4.4SLAM 4.5Nav2 4.3micro-ROS 4.4LiDAR real 4.6proyecto el mismo código ROS 2 sirve en ambas rutas

Cómo leer: La ruta de arriba (ámbar) se ejecuta por completo en tu computadora, sin ninguna pieza. La de abajo (cian) es el mismo trabajo en el robot real: el ESP32 se conecta a ROS mediante micro-ROS y el LiDAR real reemplaza al simulado. Ambas flechas llegan al proyecto 4.6. Puedes seguir solo la ruta de arriba y volver a la de abajo cuando tengas el hardware.

🧭 Lo que construirás en esta ruta

Un robot diferencial (dos ruedas y una rueda loca) que existe en dos lugares: como modelo en Gazebo y como el robot de las rutas anteriores, ahora con LiDAR. Publica odometría y lecturas del láser en ROS 2, construye el mapa del entorno con slam_toolbox y usa Nav2 para ir solo hasta el punto que selecciones en el mapa, esquivando lo que aparezca en el camino.

  • ✓Comandos válidos en Lyrical y Jazzy
  • ✓Robot descrito en URDF/xacro y simulado en Gazebo
  • ✓ESP32 conectado a ROS 2 mediante micro-ROS
  • ✓Mapa guardado y navegación por puntos con Nav2

💡 ¿Aún no tienes LiDAR?

Los módulos 4.1, 4.2, 4.4 y 4.5 funcionan por completo en simulación: basta con una PC con Ubuntu, una máquina virtual o un contenedor Docker. El hardware solo es obligatorio en el 4.3 y en la parte real del 4.6.

Mapa de la ruta

Contenido detallado

4.1
Fundamentos
0%

🧩 ROS 2 sin miedo

Qué es ROS 2, qué distro elegir, cómo instalarlo y las piezas del grafo: nodos, tópicos, servicios, acciones y parámetros. Termina con tu primer nodo en Python.

Qué es:

Un conjunto de bibliotecas y herramientas que permite que varios programas del robot intercambien datos por nombre, en la misma máquina o a través de la red.

Por qué aprenderlo:

Es el estándar en investigación e industria; los mapas, la navegación y los controladores de sensores ya vienen listos.

Conceptos clave:

Middleware · DDS · grafo ROS · paquete.

Qué es:

Lyrical Luth (LTS de mayo/2026, Ubuntu 26.04) y Jazzy Jalisco (LTS anterior, Ubuntu 24.04), cada una con su Gazebo.

Por qué aprenderlo:

Una distro incorrecta es la causa n.º 1 de que un tutorial no funcione.

Conceptos clave:

LTS · compatibilidad Ubuntu ↔ ROS ↔ Gazebo · fin del soporte.

Qué es:

Tres opciones: paquetes en Ubuntu, un contenedor Docker listo o Raspberry Pi 5 con Ubuntu.

Por qué aprenderlo:

Docker te permite empezar en minutos, en cualquier sistema.

Conceptos clave:

ros-<distro>-desktop · source · talker/listener.

Qué es:

Un nodo es un programa; un tópico es un canal con nombre; un mensaje es el formato de los datos que pasan por él.

Por qué aprenderlo:

Todo robot ROS es un grafo de este tipo; leerlo desde la terminal es la primera herramienta de depuración.

Conceptos clave:

Publisher · subscriber · /cmd_vel · ros2 topic echo.

Qué es:

Pregunta y respuesta (servicio), tarea larga con progreso (acción) y ajustes del nodo (parámetro).

Por qué aprenderlo:

Elegir el patrón adecuado evita soluciones improvisadas; todo Nav2 funciona mediante acciones.

Conceptos clave:

Solicitud/respuesta · objetivo/retroalimentación/resultado · ros2 param.

Qué es:

Un paquete Python con dos nodos completos, uno que publica y otro que escucha, compilado con colcon.

Por qué aprenderlo:

Es el modelo de todos los nodos que escribirás en el resto de la ruta.

Conceptos clave:

rclpy · create_publisher · create_subscription · timer.

Ver completo
4.2
Práctica
0%

🧱 Describir y simular el robot

Workspace y colcon, el robot en URDF/xacro, cuadros TF, RViz2, Gazebo con ros_gz y el primer recorrido con el teclado.

Qué es:

La carpeta de trabajo, cómo se organizan los paquetes y cómo colcon compila e instala todo.

Por qué aprenderlo:

La mitad de los errores de principiantes se debe a un workspace sin source o a una dependencia faltante.

Conceptos clave:

Underlay · overlay · rosdep · --symlink-install.

Qué es:

Un archivo XML con las piezas (links) y las articulaciones (joints) del robot; xacro agrega variables y macros.

Por qué aprenderlo:

RViz, Gazebo, TF y Nav2 leen la misma descripción.

Conceptos clave:

Link · joint · inercia · macro.

Qué es:

El árbol que indica dónde está cada pieza con respecto a las demás, en cada instante.

Por qué aprenderlo:

Sin una TF correcta, el láser aparece en el lugar equivocado y el mapa se deforma.

Conceptos clave:

map · odom · base_link · tf2_echo.

Qué es:

La ventana que muestra lo que el robot cree: modelo, cuadros, láser, mapa.

Por qué aprenderlo:

Ahí verificas el modelo antes de simular y el sensor antes de mapear.

Conceptos clave:

Fixed Frame · RobotModel · LaserScan · robot_state_publisher.

Qué es:

El simulador con física y sensores, conectado a ROS 2 mediante el puente ros_gz.

Por qué aprenderlo:

Pruebas el mapa y la navegación sin batería, sin caídas y sin comprar un LiDAR.

Conceptos clave:

Harmonic ↔ Jazzy · Jetty ↔ Lyrical · parameter_bridge · launch.

Qué es:

Enviar velocidad con el teclado a /cmd_vel y ver cómo responden la odometría y el láser.

Por qué aprenderlo:

Cierra el ciclo: entra un comando, el robot se mueve y los sensores cambian. Es la prueba de humo de toda la ruta.

Conceptos clave:

teleop_twist_keyboard · Twist · /odom · /scan.

Ver completo
4.3
Práctica
0%

🔌 micro-ROS en el ESP32

El ESP32 se convierte en un nodo ROS 2: publica los encoders, escucha /cmd_vel, hace girar los motores y envía la odometría al resto del robot.

Qué es:

La versión de ROS 2 para microcontroladores, que se comunica con el resto del grafo por medio de un agente.

Por qué aprenderlo:

Los motores y encoders permanecen en el ESP32, en tiempo real, y aparecen en ROS como cualquier nodo.

Conceptos clave:

Cliente · agente · XRCE-DDS · rclc.

Qué es:

El programa en la PC o en la Pi que traduce micro-ROS a DDS; se ejecuta en Docker con una sola línea.

Por qué aprenderlo:

Sin el agente, el ESP32 habla solo; es lo primero que debes verificar.

Conceptos clave:

Serial · UDP · puerto 8888 · /dev/ttyUSB0.

Qué es:

El firmware que cuenta los pulsos de las ruedas y publica en /ticks cada 50 ms.

Por qué aprenderlo:

Los datos del sensor en ROS son la base de la odometría y del mapa.

Conceptos clave:

micro_ros_arduino · publisher · timer · executor.

Qué es:

Convertir la velocidad lineal y angular en la velocidad de cada rueda, y detenerse si desaparece el comando.

Por qué aprenderlo:

Es el mismo /cmd_vel de teleop y Nav2: el robot real empieza a obedecer a ROS.

Conceptos clave:

Cinemática diferencial · subscriber · watchdog · TB6612FNG.

Qué es:

Un nodo Python en la PC que transforma /ticks en /odom y en el cuadro odom → base_link.

Por qué aprenderlo:

Es lo que SLAM y Nav2 esperan recibir del robot real.

Conceptos clave:

nav_msgs/Odometry · TransformBroadcaster · ticks por vuelta.

Qué es:

Los fallos más frecuentes: agente sin conexión, puerto ocupado, distribución equivocada, reloj desincronizado.

Por qué aprenderlo:

Una guía de diagnóstico ahorra noches de prueba y error.

Conceptos clave:

Transporte · ping del agente · sincronización del tiempo · reconexión.

Ver completo
4.4
Fundamentos
0%

📡 LiDAR y mapas (SLAM)

Cómo ve el LiDAR, cómo conectarlo a ROS 2 y cómo slam_toolbox construye el mapa mientras descubre dónde está el robot.

Qué es:

Un láser que gira y mide la distancia en cientos de ángulos por vuelta, publicado como LaserScan.

Por qué aprenderlo:

Entender el alcance y la resolución explica por qué el mapa queda bien o mal.

Conceptos clave:

ranges · angle_increment · alcance · /scan.

Qué es:

Driver del fabricante (RPLIDAR C1/A1 o LD19), puerto USB y el cuadro del láser en la TF.

Por qué aprenderlo:

Es el paso que lleva al robot real al mismo punto que el simulado.

Conceptos clave:

Driver · regla udev · frame_id · ros2 topic hz.

Qué es:

Construir el mapa y localizarse en él al mismo tiempo, corrigiendo la odometría según lo que ve el láser.

Por qué aprenderlo:

Sin mapa no hay navegación autónoma de verdad.

Conceptos clave:

Emparejamiento de escaneos · cierre de bucle · cuadrícula de ocupación.

Qué es:

El paquete estándar de SLAM en ROS 2 funcionando sobre el robot de Gazebo.

Por qué aprenderlo:

Aprendes a mapear sin hardware y ya sabes qué esperar del robot real.

Conceptos clave:

Modo en línea asíncrono · parámetros · /map.

Qué es:

Guía para el mapeo real: velocidad baja, vueltas cerradas, superficies que confunden al láser.

Por qué aprenderlo:

Un mapa bien hecho determina si la navegación funcionará.

Conceptos clave:

Vidrio y espejo · velocidad · volver a visitar lugares.

Qué es:

Guardar el mapa en un archivo (imagen + YAML) y volver a abrirlo después para navegar.

Por qué aprenderlo:

Mapeas una vez y navegas muchas veces.

Conceptos clave:

map_saver · .pgm y .yaml · resolución · origen.

Ver completo
4.5
Práctica
0%

🚩 Navegación con Nav2

La pila de navegación de ROS 2: localizarse en el mapa guardado, planificar, esquivar obstáculos, recuperarse y hacer rondas por waypoints.

Qué es:

Los servidores que localizan, planifican, controlan y se recuperan, coordinados por un árbol de comportamiento.

Por qué aprenderlo:

Es el mismo tipo de software que usan los robots de almacén.

Conceptos clave:

nav2_bringup · behavior tree · lifecycle.

Qué es:

Un filtro de partículas que estima dónde está el robot al comparar el láser con el mapa.

Por qué aprenderlo:

Si no sabe dónde está, el robot no sabe adónde ir.

Conceptos clave:

Partículas · pose inicial · map → odom.

Qué es:

Mapas que indican por dónde es costoso pasar y algoritmos que trazan y siguen la ruta.

Por qué aprenderlo:

Ajustar la inflación y el radio del robot resuelve la mayoría de los casos de «no pasa por la puerta».

Conceptos clave:

Costmap global y local · inflación · planner · controller.

Qué es:

Definir el objetivo con un clic en RViz o mediante código con la API Python de Nav2.

Por qué aprenderlo:

Con Python, la navegación se convierte en un bloque que usan otros programas.

Conceptos clave:

Nav2 Goal · NavigateToPose · acción · feedback.

Qué es:

Los comportamientos de recuperación: limpiar el mapa de costos, girar, retroceder, esperar.

Por qué aprenderlo:

En el mundo real el robot se atascará; lo importante es cómo sale de esa situación.

Conceptos clave:

Spin · BackUp · Wait · intentos.

Qué es:

Una lista de puntos que el robot recorre en orden, como en una ronda.

Por qué aprenderlo:

Es la base de la entrega, la inspección y la vigilancia.

Conceptos clave:

followWaypoints · orden · repetición.

Ver completo
4.6
Proyecto
0%

🏠 Proyecto: robot que mapea y navega

Integra todo en el robot real: arquitectura, launch que inicia el sistema, mapa del entorno y navegación segura entre habitaciones.

Qué es:

Qué se ejecuta en cada lugar: ESP32 en los motores, Pi 5 con LiDAR y ROS 2, PC para visualizar.

Por qué aprenderlo:

Una arquitectura clara facilita encontrar fallas y cambiar piezas.

Conceptos clave:

División de tareas · red · ROS_DOMAIN_ID.

Qué es:

Un comando que inicia el agente, la descripción, el LiDAR, la odometría, SLAM o Nav2 en el orden correcto.

Por qué aprenderlo:

Abrir diez terminales cada vez no es práctico, ni siquiera en el aula.

Conceptos clave:

Argumentos · include · condiciones.

Qué es:

Ruido, deslizamiento, retraso y tiempo real: qué oculta Gazebo y cómo compensarlo.

Por qué aprenderlo:

Aquí es donde se detienen la mayoría de los proyectos; saberlo de antemano evita frustraciones.

Conceptos clave:

use_sim_time · calibración · límites de velocidad.

Qué es:

Crear y guardar el mapa real del espacio donde trabajará el robot.

Por qué aprenderlo:

Es el primer resultado visible del proyecto.

Conceptos clave:

slam_toolbox · teleop · map_saver.

Qué es:

Nav2 en el mapa real, con puntos con nombre (cocina, sala) y una ronda.

Por qué aprenderlo:

Es el robot autónomo completo que prometió la ruta.

Conceptos clave:

Puntos con nombre · waypoints · métricas de éxito.

Qué es:

Parada de emergencia, velocidad máxima, batería y el camino hacia la Ruta 5.

Por qué aprenderlo:

Un robot que se mueve solo cerca de personas necesita mecanismos de seguridad desde la primera prueba.

Conceptos clave:

E-stop · límites · watchdog · registro.

Ver completo

🧰 Kit de la trilha

Empieza desde cero solo en simulación. Para el robot real, además del robot de la Ruta 3, el rango aproximado es de R$ 450 a R$ 1.100, casi todo corresponde al LiDAR (oct/2026, verifica antes de comprar: varía según la tienda, el envío y el tipo de cambio).

💻 Para simular

PC con Ubuntu 24.04 (Jazzy) o 26.04 (Lyrical), máquina virtual o Docker. 8 GB de RAM funcionan; con 16 GB Gazebo funciona con holgura.

🦾 Base del robot

El robot de la Ruta 3: Raspberry Pi 5 con fuente oficial y cooler, ESP32 y driver TB6612FNG o DRV8833, chasis de dos ruedas y rueda loca.

📡 LiDAR 2D

RPLIDAR C1 o A1 (Slamtec) o LD19 (LDRobot), con el adaptador USB incluido. Es la pieza más cara de la ruta.

⚙️ Encoders

Los motores con encoder de la Ruta 2 (N20 o TT con disco). Sin encoder no hay odometría y el mapa queda torcido.

🔋 Energía

Batería separada para los motores y para la Pi (o buck de 5 V y 5 A), GND común y un interruptor de parada fácil de alcanzar.

🔌 Cables y red

Cables USB de datos (ESP32 y LiDAR) y una red Wi-Fi local estable entre el robot y la PC.

✓ Opcional que vale la pena

IMU MPU-6050 o ICM-20948 (mejora la odometría en las curvas) y un botón de parada de emergencia que corta la alimentación de los motores.

✗ No compres para esta trilha

LiDAR 3D, cámara de profundidad costosa o una segunda computadora de a bordo. El 2D con encoders es suficiente para el mapa y la navegación en interiores.