Taller de ROS2
Edición JAR 2026

3-6 de Noviembre, 2026 | Rosario, Argentina

Profesor
Sebastian Sansoni
Sebastian Sansoni

Dr. en Ingeniería. Universidad Nacional de San Juan (UNSJ).

Líneas de investigación: Robótica, SLAM Activo, Visión por Computador y Robótica Agrícola.

Perfil en Google Scholar
ROS 2 Jazzy Jalisco

Distribución de ROS

Ubuntu 24.04 LTS

Sistema operativo host

Python (rclpy)

Lenguaje de programación

iRobot Create 3

Robot diferencial físico

12 horas

4 clases de 3 horas

Simulación + Hardware

Gazebo y transferencia física

Objetivo

Al finalizar el taller, los estudiantes serán capaces de:

  • Describir los conceptos de la arquitectura distribuida de ROS 2, las interfaces de comunicación (tópicos, servicios, acciones) y el middleware DDS.
  • Implementar nodos publicadores y suscriptores mediante la biblioteca rclpy en Python, utilizando comandos CLI para la introspección del sistema.
  • Calcular transformadas de coordenadas espaciales mediante la biblioteca tf2_ros y procesar flujos de datos mediante rosbag2.
  • Interactuar con la plataforma física iRobot Create 3, estableciendo conexión para extraer datos de sus sensores y comandar sus actuadores. Adicionalmente, como nivel de dificultad superior, integrar bibliotecas de terceros para el seguimiento de trayectorias u objetivos utilizando el LiDAR y la cámara.

Contenido por clase

Clase 1
Introducción a ROS2

Temas: Definición de ROS 2 y arquitectura de comunicación. Estadísticas de adopción de ROS 2 basadas en el reporte de métricas de la comunidad. El middleware DDS, auto-descubrimiento en redes y dominios (ROS_DOMAIN_ID). Conceptos del grafo: Nodos, Tópicos, Servicios, Acciones e Interfaces.

Práctica:Comandos CLI para la introspección y depuración de tópicos, servicios y parámetros.

Desafío práctico: El Desencriptador CLI – Interacción por consola mediante publicación/suscripción a tópicos para resolver un reto lógico y descifrar un archivo local.

Clase 2
Programación en ROS2

Temas: Estructura y creación de paquetes. Programación y depuración de nodos publicadores y suscriptores. Implementación de comunicación asíncrona tipo servicio (cliente/servidor).

Práctica: Uso de rqt_graph y RViz2 y RViz2 para visualizar tópicos y telemetría de sensores.

Desafío práctico: Maze Solver – Desarrollar un nodo en Python que publique comandos de velocidad (/cmd_vel) para que el robot navegue y salga del laberinto simulado, con la opción de incorporar un sistema de frenado automático ante la detección de obstáculos cercanos.

Clase 3
Sistemas de Coordenadas, TF2 y Rosbags

Temas: Biblioteca de transformadas espaciales (TF2), orientación en el espacio y árbol de transformadas. Descripción geométrica del robot mediante el formato XML URDF (Links, Joints). Uso Launch Files. Grabación y reproducción de datos de sensado y trafico de red mediante Rosbag2.

Desafío práctico: Cronómetro y TF2 – Programar un nodo en Python que lea la posición del robot a través del tópico de transformadas (/tf) para medir el tiempo que tarda en completar el laberinto. El objetivo es superar el tiempo récord de navegación actual y grabar el recorrido del intento exitoso utilizando rosbag.

Clase 4
ROS2 en la Vida Real y Despliegue Físico

Temas: Calidad de Servicio (QoS): Parámetros de fiabilidad, durabilidad e historial. Estructura de directorios y mantenimiento de código en paquetes. Uso de bibliotecas de terceros en ROS 2 para la comunicación y control de hardware. Lectura e interpretación de sensores físicos del iRobot Create 3 (LiDAR 2D, cámara estéreo, IMU y odometría de las ruedas). Configuración de red y namespaces en robots físicos mediante ROS_DOMAIN_ID.

Desafío práctico: Despliegue en Create 3 Físico – Integración de bibliotecas y drivers de terceros para comunicar los nodos de control desarrollados en Python con el robot real a través de la red local, obteniendo datos de sus sensores físicos (LiDAR, cámara, IMU y odometría) y controlando su movimiento en la vida real.

Requisitos previos

  • Linux (consola básica): Saber moverse por la terminal utilizando los comandos esenciales: cd, ls, cp, mv, mkdir y el uso del operador pipe (|).
  • Python (conceptos básicos): Comprensión de estructuras de control, definición de funciones, nociones básicas de Programación Orientada a Objetos (clases) y uso de listas y diccionarios.
  • Perfil / Motivación: Tener la necesidad práctica o intelectual de conectarse a un robot real, capturar la información de sus sensores y lograr que se mueva.

Público objetivo

Investigadores, profesionales de la industria, estudiantes de posgrado y estudiantes de grado avanzados con interés en robótica y sistemas autónomos.

Inscribirme al taller

Próximamente disponible el formulario de inscripción.

Contacto

Comité Organizador JAR 2026

Para cualquier consulta sobre el taller, no dude en contactarnos:

info@jar.net.ar

+54 341 4237248 ext. 356

Rosario, Santa Fe, Argentina

Rosario, Argentina

Rosario, Argentina

Ciudad vibrante con creciente escena tecnológica, ideal para las JAR 2026.