Estás leyendo la documentación para una versión de desarrollo. Para la última versión publicada, por favor revisa Humble.
Ubuntu (fuentes)
Tabla de Contenidos
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:
Arch Linux, ver instructions alternativas
Fedora Linux, ver instructions alternativas
OpenEmbedded / webOS OSE, ver instructions alternativas
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
python3 -m pip install -U \
flake8-blind-except \
flake8-builtins \
flake8-class-newline \
flake8-comprehensions \
flake8-deprecated \
flake8-import-order \
flake8-quotes \
"pytest>=5.3" \
pytest-repeat \
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.
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
- 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 archivosetup
del espacio de trabajo. De esta manera, su entorno se comportará como si no hubiera una instalación de Rolling en su sistema.
- 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
Si también estás intentando liberar espacio, puede eliminar todo el directorio del espacio de trabajo con:
rm -rf ~/ros2_rolling