xumarhu.net xumarhu.net biblioteca
Principal > Biblioteca > Manuales de Instalación > Instalación de ROS (Linux)

Instalación de ROS (Linux)


Instalación de ROS en Linux


Esta instalación será de ROS 2.La instalación oficial está en: Las últimas versiones de ROS 2 (marzo 2024) son: Aunque la versión "Iron" es la más nueva, se instalará "Humble", ya que es una versión LTS. Entramos a la terminal y nos cambiamos a usuario root:
sudo su root

Revisamos que los paquetes estén correcto:
apt update

Revisamos si hay nuevas actualizaciones de paquetes:
apt upgrade

Revisamos el espacio libre para ver si tenemos espacio para la instalación:
df -h

Para ver las variables locales del sistema:
locale

Y aparecerá lo siguiente:

LANG=es_ES.UTF-8
LANGUAGE=
LC_CTYPE="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_COLLATE="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"
LC_ALL=

Para mas información sobre "locale": Para actualizar el índice de paquetes e instalar los paquetes para la configuración local:
sudo apt update && sudo apt install locales

Para generar las especificaciones locales (formato de texto, fecha y otras informaciones):
sudo locale-gen en_US en_US.UTF-8

Para actualizar los datos locales para ser manejados en Inglés con UTF-8 (unicode):
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8

Para definir la variable de entorno a US.UTF-8:
export LANG=en_US.UTF-8

Para verificar si los cambios de las variables han sido realizados tecleamos:
locale

Y observaremos lo siguiente:

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

A continuación hay que agregar los repositorios de ROS 2, por lo que primero instalamos algunas herramientas para el manejo de las fuentes del software con el siguiente comando:
sudo apt install software-properties-common

Agregamos el repositorio “universe” que contiene una gran variedad de paquetes de software, algunos de los cuales no están incluidos en la instalación estándar de Ubuntu ni en los repositorios comunes de Debian, para eso utilizamos el siguiente comando:
sudo add-apt-repository universe

Para poder instalar ROS 2, requerimos instalar su llave GPG, la cual es una llave pública para poder autentificar la instalación de los paquetes, y para ello usamos primero el siguiente comando:
sudo apt update && sudo apt install curl -y

Luego aplicamos el siguiente comando:
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

Y agregamos los repositorios a nuestra lista de fuentes usando el siguiente comando:
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

Verificamos que se pueda actualizar nuestro sistema con los cambios que hicimos, por lo cual aplicamos el siguiente comando (no debe marcar ningún error):
sudo apt update

De igual manera, verificamos que se puedan instalar nuevas versiones de paquetes en nuestro sistema con los cambios que hicimos, por lo cual aplicamos el siguiente comando (no debe marcar ningún error):
sudo apt upgrade

A continuación se instalan las herramientas de desarrollo para ROS:
sudo apt install ros-dev-tools
Verificamos paquetes nuevamente:
sudo apt update

Verificamos actualizaciones nuevamente:
sudo apt upgrade

Ahora si instalamos la distribución “humble” para ROS 2, la cual es la última versión LTS (ya hay otra versión, Iron, pero no es LTS y no es compatible con las nuevas versiones de Linux):
sudo apt install ros-humble-desktop

Es posible que el comando anterior se tenga que volver a ejecutar varias veces, ya que algunos paquetes tiene relación con otros por lo tanto se tienen que actualizar y volver a instalar. Agregamos una variable de entorno para que nuestro entorno pueda encontrar “humble”:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

Si queremos verificar si lo hizo, editamos nuestro archivo bashrc:
gedit ~/.bashrc
Al final del archivo bashrc se debe encontrar la línea:
source /opt/ros/humble/setup.bash

Para comprobar la versión que está instalada:
printenv ROS_DISTRO

En la terminal debe aparecer:
humble

Si queremos ver las variables de entorno de ROS:
env | grep ROS

Y debe aparecer en la terminal:

ROS_VERSION=2
ROS_PYTHON_VERSION=3
ROS_LOCALHOST_ONLY=0
ROS_DISTRO=humble

Para hacer una prueba, ejecutaremos 2 programas, "talker" y "listener". El primero enviará el mensaje “Hello World” y el segundo escuchará el mensaje, esto se logra ejecutando en nuestra terminal lo siguiente:
ros2 run demo_nodes_cpp talker

Se abre una nueva terminal y se ejcuta:
ros2 run demo_nodes_py listener

se debe observar en la ventana “talker”:

[INFO] [1710193437.385842301] [talker]: Publishing: 'Hello World: 1'
[INFO] [1710193438.387672668] [talker]: Publishing: 'Hello World: 2'
[INFO] [1710193439.385916550] [talker]: Publishing: 'Hello World: 3'

Y en la ventana “listener”:

[INFO] [1710193437.402623560] [listener]: I heard: [Hello World: 1]
[INFO] [1710193438.390193073] [listener]: I heard: [Hello World: 2]
[INFO] [1710193439.388532247] [listener]: I heard: [Hello World: 3]

Ambos procesos continúan indefinidamente, para detenerlos:
CTRL+Z

Con lo anterior está comprobado la ejecución y comunicación entre procesos de ROS.


Usted se encuentra Aquí > Principal > Biblioteca > Manuales de Instalación > Instalación de ROS (Linux)
Portal de Tecnología desarrollado por: Rogelio Ferreira Escutia
Valid CSS Valid XHTML 5