Estás leyendo la documentación para una versión de desarrollo. Para la última versión publicada, por favor revisa Humble.

Ubuntu (fuentes)

Requisitos del sistema

Las plataformas de destino actuales basadas en Debian para Rolling Ridley son:

  • Tier 1: Ubuntu Linux - Jammy (22.04) 64-bit

  • Tier 3: Ubuntu Linux - Focal (20.04) 64-bit

  • Tier 3: Debian Linux - Bullseye (11) 64-bit

Otras plataformas Linux con diferentes niveles de soporte incluyen:

Como está definido en REP 2000.

Configuración del sistema

Establecer configuración regional

Asegúrate de tener una configuración regional que admita UTF-8. Si te encuentra en un entorno mínimo (como un contenedor docker), la configuración regional puede ser algo mínimo como POSIX. Hemos probado con los siguientes ajustes. Sin embargo, debería también ser correcto utilizar una configuración regional compatible con UTF-8 diferente.

locale  # check for UTF-8

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # verify settings

Agregar el repositorio apt de ROS 2

Debes agregar el repositorio apt de ROS 2 a tu sistema.

Primero asegúrate que el repositorio Ubuntu Universe esté habilitado.

sudo apt install software-properties-common
sudo add-apt-repository universe

Ahora agrega la clave GPG de ROS 2 con apt.

sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

Luego añade el repositorio a tu lista de fuentes.

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

Instalar herramientas de desarrollo y herramientas ROS

Instalar paquetes comunes.

sudo apt update && sudo apt install -y \
  python3-flake8-docstrings \
  python3-pip \
  python3-pytest-cov \
  ros-dev-tools

Instala paquetes según tu versión de Ubuntu.

sudo apt install -y \
   python3-flake8-blind-except \
   python3-flake8-builtins \
   python3-flake8-class-newline \
   python3-flake8-comprehensions \
   python3-flake8-deprecated \
   python3-flake8-import-order \
   python3-flake8-quotes \
   python3-pytest-repeat \
   python3-pytest-rerunfailures

Obtener el código ROS 2

Crea un espacio de trabajo y clona todos los repositorios:

mkdir -p ~/ros2_rolling/src
cd ~/ros2_rolling
vcs import --input https://raw.githubusercontent.com/ros2/ros2/rolling/ros2.repos src

Instalar dependencias usando rosdep

Los paquetes de ROS 2 se basan en sistemas Ubuntu que se actualizan con frecuencia. Siempre se recomienda que te asegures que tu sistema esté actualizado antes de instalar nuevos paquetes.

sudo apt upgrade
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-6.0.1 urdfdom_headers"

Nota: si estás utilizando una distribución basada en Ubuntu (como Linux Mint) pero no se identifica como tal, recibirás un mensaje de error como Sistema operativo no compatible [mint]. En este caso, agrega --os=ubuntu:jammy al comando anterior.

Instalar implementaciones de DDS adicionales (opcional)

Si desea utilizar otro proveedor de DDS o RTPS además del predeterminado, puedes encontrar instrucciones aquí.

Compilar el código en el espacio de trabajo

Si ya instaste ROS 2 de otra manera (ya sea a través de Debian o la distribución binaria), asegúrate de ejecutar los siguientes comandos en un entorno nuevo que no hayas ejecutado source en otras instalaciones. También asegúrate de no tener source /opt/ros/${ROS_DISTRO}/setup.bash en tu .bashrc. Puede asegurarte de que no has ejecutado source con ROS 2 con el comando printenv | grep -i ROS. La salida debe estar vacía.

Puede encontrar más información sobre cómo trabajar con un espacio de trabajo de ROS en este tutorial. .. code-block:: bash

cd ~/ros2_rolling/ colcon build –symlink-install

Nota: si tienes problemas para compilar todos los ejemplos y esto le impide completar una compilación exitosa, puedes usar COLCON_IGNORE de la misma manera que CATKIN_IGNORE para ignorar el subárbol o eliminar la carpeta del espacio de trabajo. Por ejemplo: te gustaría evitar instalar la gran biblioteca OpenCV. Entonces simplemente ejecuta touch COLCON_IGNORE en el directorio de demo cam2image para dejarlo fuera del proceso de compilación.

Configuración del entorno

Obtener el script de configuración

Configura su entorno obteniendo el siguiente archivo.

# Reemplaza ".bash" en tu shell si no está usando bash
# Los valores posibles son: setup.bash, setup.sh, setup.zsh
. ~/ros2_rolling/install/local_setup.bash

Prueba algunos ejemplos

En una terminal, ejecuta el archivo de setup y luego ejecuta un talker de C++:

. ~/ros2_rolling/install/local_setup.bash
ros2 run demo_nodes_cpp talker

En otra termnal, ejecuta el archivo de setup y luego ejecuta un listener en Python:

. ~/ros2_rolling/install/local_setup.bash
ros2 run demo_nodes_py listener

Deberías ver al talker diciendo que está publicando (Publishing) mensajes y al listener diciendo que oye (I heard) esos mensajes. Esto verifica que las API de C++ y Python funcionan correctamente. ¡Hurra!

Siguientes pasos después de la instalación

Continúa con los tutoriales y demostraciones para configurar su entorno, crear tu propio espacio de trabajo y paquetes, y aprender los conceptos básicos de ROS 2.

Usando el bridge ROS 1

El bridge ROS 1 puede conectar topics de ROS 1 a ROS 2 y viceversa. Consulta la documentación específica sobre cómo construir y usar el puente ROS 1.

Implementaciones adicionales de RMW (opcional)

El middleware predeterminado que usa ROS 2 es Fast DDS, pero el middleware (RMW) se puede reemplazar en tiempo de ejecución. Consulta la guía sobre cómo trabajar con múltiples RMW.

Compiladores alternativos

Usar un compilador diferente además de gcc para compilar ROS 2 es fácil. Si establece las variables de entorno CC y CXX a ejecutables de un compilador de C y C++ en funcionamiento, respectivamente, y dispara otra vez la configuración de CMake (usando --force-cmake-config o eliminando los paquetes que desea que se vean afectados), CMake reconfigurará y usará el compilador diferente.

Clang

Para configurar CMake para detectar y usar Clang:

sudo apt install clang
export CC=clang
export CXX=clang++
colcon build --cmake-force-configure

Estar al día

Consulta Mantener los fuentes obtenidos para actualizar periódicamente la instalación de fuentes.

Solución de problemas

Las técnicas de solución de problemas se pueden encontrar aquí.

Desinstalar

  1. Si instalaste tu espacio de trabajo con colcon como se indicó anteriormente, la «desinstalación» podría ser simplemente una cuestión de abrir una nueva terminal y no ejecutar source` con el archivo setup del espacio de trabajo.

    De esta manera, su entorno se comportará como si no hubiera una instalación de Rolling en su sistema.

  2. Si también estás intentando liberar espacio, puede eliminar todo el directorio del espacio de trabajo con:

    rm -rf ~/ros2_rolling