Construye y desarrolla un espacio de trabajo de ROS 2
Resumen
En esta sección, configurarás un espacio de trabajo de ROS 2 utilizando Docker y contenedores de desarrollo, revisarás el diseño del espacio de trabajo, abrirás el espacio de trabajo en Visual Studio Code, y editarás y compilarás proyectos de ROS 2 dentro del contenedor.
Obtén el espacio de trabajo de ROS 2 de ejemplo
Un espacio de trabajo consistente simplifica la gestión de los proyectos de ROS 2 y los artefactos de compilación en diferentes distribuciones.
Abre una terminal y clona el repositorio del espacio de trabajo de ejemplo:
$ git clone https://github.com/shakirth-anisha/docker-ros2-workspace.git $ cd docker-ros2-workspaceEn lo sucesivo, los usuarios de Linux pueden usar la carpeta
ws_linux, y los usuarios de macOS pueden usarws_mac.Verifica la estructura del espacio de trabajo:
ws_linux/ ├── compose.yml ├── Dockerfile └── src/ ├── package1/ └── package2/ ws_mac/ ├── compose.yml ├── Dockerfile └── src/ ├── package1/ └── package2/Explora el diseño del espacio de trabajo:
compose.yml: Define cómo Docker Compose construye y ejecuta el contenedor de ROS 2, incluyendo montajes, variables de entorno y configuraciones de red.Dockerfile: Construye la imagen de desarrollo de ROS 2. Utiliza una imagen base oficial de ROS 2, crea un usuario de desarrollo sin privilegios de root (non-root) e instala las dependencias necesarias del sistema y de ROS 2.src: Contiene todos los paquetes de ROS 2. Este directorio se monta dentro del contenedor como el espacio de trabajo activo.
Abre y construye el contenedor
Ejecuta los siguientes comandos para construir e iniciar el contenedor:
Para Linux:
$ cd ws_linux $ docker compose up -d $ docker compose exec ros2 /bin/bashPara macOS:
$ cd ws_mac $ docker compose up -d $ docker compose exec ros2 /bin/bashEste comando construye la imagen de Docker definida en tu
Dockerfilee inicia el contenedor en segundo plano.NoteLa construcción de la imagen puede tardar varios minutos durante la primera ejecución ya que la CLI descarga la imagen base de ROS 2 e instala las dependencias requeridas. Los inicios posteriores serán significativamente más rápidos.
Una vez que el contenedor se esté ejecutando, ejecuta comandos dentro de él utilizando
exec:$ docker compose exec ros2 /bin/bashDentro de la terminal del contenedor, verifica el entorno:
$ echo $ROS_VERSION
$ which colcon
Todos los comandos deberían ejecutarse con éxito dentro del contenedor.
Cambiar de distribución de ROS 2
Actualiza la imagen base en tu Dockerfile, cambiando de humble a otra distribución como rolling, jazzy o iron.
Resumen
En esta sección, aprendiste a crear un espacio de trabajo estructurado, a escribir un Dockerfile con herramientas de desarrollo y a configurar un entorno de Docker Compose. Tu entorno de desarrollo de ROS 2 ya está listo con una configuración consistente y reproducible en cualquier máquina.
Próximos pasos
En la siguiente sección, ejecutarás un ejemplo completo de extremo a extremo con Turtlesim.