Compartir comentarios
Las respuestas se generan en base a la documentación.

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.

  1. 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-workspace
    

    En lo sucesivo, los usuarios de Linux pueden usar la carpeta ws_linux, y los usuarios de macOS pueden usar ws_mac.

  2. Verifica la estructura del espacio de trabajo:

    ws_linux/
    ├── compose.yml
    ├── Dockerfile
    └── src/
        ├── package1/
        └── package2/
    
    ws_mac/
    ├── compose.yml
    ├── Dockerfile
    └── src/
        ├── package1/
        └── package2/
  3. 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

  1. Ejecuta los siguientes comandos para construir e iniciar el contenedor:

    Para Linux:

    $ cd ws_linux
    $ docker compose up -d
    $ docker compose exec ros2 /bin/bash
    

    Para macOS:

    $ cd ws_mac
    $ docker compose up -d
    $ docker compose exec ros2 /bin/bash
    

    Este comando construye la imagen de Docker definida en tu Dockerfile e inicia el contenedor en segundo plano.

    Note

    La 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.

  2. Una vez que el contenedor se esté ejecutando, ejecuta comandos dentro de él utilizando exec:

    $ docker compose exec ros2 /bin/bash
    
  3. Dentro 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.