# Instalación de ROS2 Humble La versión que se va realizar para el curso de ROS2 es Humble, el soporte de Humble es hasta el año 2027. Humble se puede instalar desde 2 formas, usando los paquetes deb o utilizando el codigo fuente: | Característica | **Paquetes Debian (deb)** | **Desde Fuentes (source)** | |----------------------------|---------------------------------------|---------------------------------| | **Facilidad de instalación**| Muy fácil (`apt install`) | Requiere descargar y compilar | | **Velocidad de instalación**| Muy rápida | Más lenta, debido a la compilación | | **Flexibilidad** | Limitada a las versiones oficiales | Alta, puedes personalizar y modificar el código | | **Mantenimiento** | Automático con actualizaciones de Ubuntu | Manual, debes recompilar al actualizar | | **Complejidad** | Baja | Alta, requiere manejo de dependencias y compilación | | **Recomendado para** | Usuarios que buscan estabilidad y rapidez | Desarrolladores o usuarios avanzados | para el presente curso se utilizara la opcion de paquetes debian link oficial [ROS2-Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debs.html) Pasos para la instalacion: 1. **Set Locales** Los locales son un conjunto de parámetros que definen cómo un sistema operativo debe manejar ciertos aspectos regionales y culturales, como la representación de texto, formatos de fecha y hora, monedas, números, y otros elementos específicos de la localización geográfica o del idioma. Cada sistema operativo tiene una configuración de locales que asegura que el software y las interfaces funcionen correctamente en diferentes entornos culturales. El objetivo de esta sección es asegurarse de que tu sistema esté configurado para soportar UTF-8 antes de instalar ROS 2. Los siguientes comandos generalmente se usan para configurar las locales en un entorno basado en Ubuntu: ``` 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 ``` 2. **Fuentes de configuración** Tendrá que añadir el repositorio ROS 2 apt a su sistema. Primero asegúdese de que el repositorio de Ubuntu Universe esté habilitado. ``` sudo apt install software-properties-common sudo add-apt-repository universe ``` 3. **Configurar los repositorios de Ubuntu** ROS 2 depende de algunas herramientas adicionales. Primero, debes asegurarte de que tu máquina esté completamente actualizada y tenga las herramientas necesarias. ``` sudo apt update && sudo apt install curl -y ``` ahora es necesario agregar la clave GPG para ROS 2: ``` sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg ``` y agregar el repositorio de ROS 2 Humble 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 ``` 4.**Instalar ROS 2 Humble** Actualizar el indice de contenidos ``` sudo apt update ``` Actualizar el sistema ``` sudo apt upgrade ``` Instalacion de ROS HUMBLE ``` sudo apt install ros-humble-desktop ``` para poder utilizar las herramientas de construccion de paquetes es necesario instalar las herrmientas adicionales utilizando el siguietne comando ``` sudo apt install python3-colcon-common-extensions ``` ``` sudo apt install ros-dev-tools ``` **5. Configurar el entorno de ROS 2** Para que ROS 2 funcione correctamente, debes agregar su entorno a tu terminal. Esto lo puedes hacer editando el archivo ~/.bashrc o ejecutando este comando en cada nueva terminal que abras: bash ``` source /opt/ros/humble/setup.bash ``` Para automatizarlo en futuras sesiones, agrega el comando anterior al final del archivo ~/.bashrc: ``` echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc source ~/.bashrc ``` **6. Verificar la instalación de ROS 2** Para asegurarte de que ROS 2 se instaló correctamente, puedes intentar correr un nodo de prueba. Primero, abre una terminal nueva y ejecuta: Luego, inicia una instancia del nodo talker (publicador): ``` ros2 run demo_nodes_cpp talker ``` Abre una nueva terminal, ejecuta nuevamente el source, y luego inicia una instancia del nodo listener (suscriptor): ``` ros2 run demo_nodes_cpp listener ``` Si todo está bien, verás mensajes del talker y listener interactuando en la terminal. Comandos principales en el manejo de ROS ***Comandos principales en el manejo de ROS 2 (Humble)*** | Categoría | Comando | Descripción | |-------------|--------------------------------|-------------| | **General** | `ros2 --help` | Muestra ayuda general de ROS 2 y sus subcomandos. | | | `ros2 pkg list` | Lista todos los paquetes instalados. | | | `ros2 pkg prefix [paquete]` | Muestra la ruta de instalación de un paquete. | | | `ros2 run [paquete] [nodo]` | Ejecuta un nodo de un paquete. | | | `ros2 launch [paquete] [archivo.launch.py]` | Lanza nodos desde un archivo de lanzamiento en Python. | | | `colcon build` | Compila un espacio de trabajo de ROS 2. | | | `source install/setup.bash` | Sourcing del workspace después de compilar. | | | `ros2 doctor` | Diagnóstico del sistema ROS 2. |