Material del workshop (~3 horas) sobre gestión de entornos reproducibles para ROS 2 con Pixi, RoboStack y Prefix.dev.
Autores: Francisco Martín Rico (fmrico@gmail.com), Esteve Fernández (esteve.fernandez@gmail.com).
slides/workshop.pdf— las diapositivas del taller.ejercicios/— plantillas de partida y soluciones de referencia para los bloques prácticos, por si os atascáis en algún ejercicio durante el taller. Verejercicios/README.md.
- Introducción: ¿por qué ROS 2 necesita algo mejor?
- ¿Qué es Pixi?
- Instalación y uso básico de Pixi (práctica)
- ¿Qué es RoboStack?
- Uso básico de RoboStack para compilar un workspace ROS 2 (práctica)
- Infraestructura de RoboStack
- Tu propia Buildfarm basada en RoboStack (práctica)
Para aprovechar el tiempo práctico, por favor completa esto antes de venir:
- Sistema operativo: Linux (nativo o WSL2) o macOS. Windows nativo funciona con Pixi, pero RoboStack tiene más fricción — si usas Windows, instala WSL2 con Ubuntu.
- Conexión a internet: se van a descargar varios cientos de MB de paquetes conda (sobre todo
ros-jazzy-desktopen el bloque 5 y Nav2 en el 5.4). Si puedes, hazlo desde una red rápida antes del día del taller. -
curlinstalado (viene por defecto en la mayoría de distros Linux y en macOS). - Cuenta gratuita en prefix.dev creada de antemano — la necesitarás en el bloque 7 para generar una API key y publicar un paquete propio. El plan free incluye 1 canal privado y 3 GB de almacenamiento público.
- Instalar Pixi (el bloque 3 lo instala en vivo, pero así no dependemos todos a la vez de la misma red el día del taller):
Verifica con
curl -fsSL https://pixi.sh/install.sh | shpixi --version. - Comprobar que Gazebo Sim renderiza correctamente (solo relevante para el ejercicio 5.4, simulación + RViz2 con Nav2).
gz simnecesita una pila gráfica (OpenGL) funcional; en máquinas virtuales o WSL2 sin passthrough de GPU puede fallar o ir muy lento. Pruébalo con un mundo de ejemplo estándar:Debería abrirse una ventana con varias figuras geométricas simples. Si falla o va muy lento, prueba forzando render por software:mkdir -p /tmp/test-gz && cd /tmp/test-gz pixi init . -c robostack-jazzy -c conda-forge pixi add ros-jazzy-ros-gz-sim pixi run gz sim shapes.sdf -v 4
LIBGL_ALWAYS_SOFTWARE=1 pixi run gz sim shapes.sdf -v 4. Si sigue sin ir, no pasa nada — ese paso concreto se puede seguir como demo proyectada por el instructor.
Si algo de esto falla, mejor descubrirlo ahora que en mitad del taller — escríbenos con antelación.