Estás leyendo la documentación para una versión de desarrollo. Para la última versión publicada, por favor revisa Humble.
RHEL (fuentes)
Tabla de contenidos
Requisitos del sistema
Las plataformas objetivo actuales de Red Hat para Rolling Ridley son:
Tier 2: RHEL 8 64-bit
Como se define en REP 2000
Configuración del sistema
Establecer configuración regional
Asegúrate de tener una configuración regional que admita UTF-8
.
Si se encuentra en un entorno mínimo (como un contenedor docker), la configuración regional puede ser algo mínimo como C
.
Probamos con los siguientes ajustes. Sin embargo, debería estar bien si está utilizando una configuración regional compatible con UTF-8 diferente.
locale # check for UTF-8
sudo dnf install langpacks-en glibc-langpack-en
export LANG=en_US.UTF-8
locale # verify settings
Habilitar los repositorios requeridos
La base de datos rosdep contiene paquetes de los repositorios de EPEL y PowerTools, que no están habilitados de forma predeterminada. Se pueden habilitar ejecutando:
sudo dnf install 'dnf-command(config-manager)' epel-release -y
sudo dnf config-manager --set-enabled powertools
Nota
Este paso puede ser ligeramente diferente según la distribución que esté utilizando. Consulta la documentación de EPEL: https://docs.fedoraproject.org/en-US/epel/#_quickstart
Instalar herramientas de desarrollo y herramientas ROS
sudo dnf install -y \
cmake \
gcc-c++ \
git \
make \
patch \
python3-colcon-common-extensions \
python3-pip \
python3-pydocstyle \
python3-pytest \
python3-pytest-repeat \
python3-pytest-rerunfailures \
python3-rosdep \
python3-setuptools \
python3-vcstool
# instalar algunos paquetes pip necesarios para testing y
# no disponible como RPM
python3 -m pip install -U --user \
flake8-blind-except==0.1.1 \
flake8-builtins \
flake8-class-newline \
flake8-comprehensions \
flake8-deprecated \
flake8-docstrings \
flake8-import-order \
flake8-quotes \
mypy==0.931
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 ROS 2 se basan en sistemas RHEL que se actualizan con frecuencia. Siempre se recomienda que te asegures de que tu sistema esté actualizado antes de instalar nuevos paquetes.
sudo dnf update
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src -y --skip-keys "asio cyclonedds fastcdr fastrtps ignition-cmake2 ignition-math6 python3-babeltrace python3-mypy rti-connext-dds-6.0.1 urdfdom_headers"
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 instalaste ROS 2 de otra manera (ya sea a través de RPM o la distribución binaria), asegúrate de ejecutar los siguientes comandos en un entorno nuevo que no tenga otras instalaciones ejecutadas con source
.
También asegúrate de no tener source /opt/ros/${ROS_DISTRO}/setup.bash
en su .bashrc
.
Puede asegurarte de que no se ha ejecutado source
con ROS 2 con el comando printenv | grep -i ROS
.
La salida debe estar vacía.
Puedes 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 –cmake-args -DTHIRDPARTY_Asio=ON –no-warn-unused-cli
Nota: si estás teniendo problemas para compilar todos los ejemplos y esto te impide completar una compilación exitosa, puede 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: para 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 tu entorno ejecutado source
con el siguiente archivo.
# Reemplaza ".bash" con tu shell si no estás 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 source
con el fichero de setup y luego ejecuta un talker
de C++:
. ~/ros2_rolling/install/local_setup.bash
ros2 run demo_nodes_cpp talker
En otra terminal ejecuta source
con el fichero 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 tu entorno, crear tu propio espacio de trabajo y paquetes, y aprender los conceptos básicos de ROS 2.
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.
Consulte 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 vuelve a activar la configuración de CMake (usando --force-cmake-config
o eliminando los paquetes que deseas 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