En este tutorial, veremos cómo instalar ROS2 en una máquina Linux, en particular una Raspberry Pi 4 ejecutando Ubuntu. ROS2 es un marco interesante para aprender a trabajar en sistemas embebidos como robots.
Hardware
- Ordenador con acceso a Internet
- Tarjeta SD de 32 GB
- Raspberry Pi+pantalla HDMI+teclado
Este tutorial se puede seguir para otras máquinas Linux
Descarga de Ubuntu y configuración de la tarjeta SD
Vamos a ver cómo configurar la tarjeta SD para instalar ROS2 (Iron Irwini) en Raspberry Pi. Esta versión de ROS2 es compatible con Ubuntu Jammy.
Para ello, descargue la imagen de Ubuntu (Jammy jellyfish) o seleccione el SO en Raspberry Pi Imager > General OS > Ubuntu > Ubuntu Desktop 22.04.3 LTS (64bits)
N.B.: puedes encontrar la compatibilidad de versiones entre ROS y OS y los nombres de las versiones de Ubuntu para comprobar que estás instalando las versiones correctas. Seleccione la versión de 64 bits para un mejor soporte (tier1)
Instale la imagen del sistema operativo utilizando Raspberry Pi Imager en la tarjeta SD
Una vez que la imagen se ha escrito en la tarjeta SD, puede insertarla en la Raspberry Pi y encenderla.
A continuación, puedes seguir las instrucciones de configuración que aparecen en la pantalla de la Raspberry Pi.
Configurar la conexión remota
Si lo desea, puede configurar la conexión remota en Raspberry Pi. Este paso es opcional, pero puede hacer la vida más fácil para usted cuando se desarrolla en ROS2 en Raspberry Pi.
N.B.: en Ubuntu, para conectarse remotamente sin monitor, es necesario modificar el archivo
#dtoverlay=vc4-kms-v3d
hdmi_force_hotplug=1
hdmi_group=1
hdmi_mode=16
Instalación de ROS2
Para instalar ROS2, primero debe comprobar que la descarga del repositorio Universe está activada. En Software & Updates > Ubuntu Software
A continuación, añada la clave GPG para ROS2
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
A continuación, añada el repositorio a la lista de fuentes (/etc/source.list.d)
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
Para el desarrollo, puede instalar las siguientes herramientas de desarrollo
sudo apt update && sudo apt install ros-dev-tools
Por último, puede instalar ROS2 en función de la versión que haya elegido (escritorio o base).
sudo apt install ros-iron-desktop
o
sudo apt install ros-iron-ros-base
Desinstalar ROS2
Para desinstalar, es necesario eliminar el paquete y el repositorio
sudo apt remove ~nros-iron-* && sudo apt autoremove sudo rm /etc/apt/sources.list.d/ros2.list sudo apt update
Primer paso con ROS2
Una vez instalado ROS2, puede cargar el entorno con
source /opt/ros/iron/setup.bash
Puede probar la instalación utilizando el ejemplo talker/listener
Lanzar el talker en un terminal
source /opt/ros/iron/setup.bash ros2 run demo_nodes_cpp talker
En un segundo terminal, lance la escucha
source /opt/ros/iron/setup.bash ros2 run demo_nodes_py listener
Para comprobar la lista de variables de entorno
printenv | grep -i ROS
Para obtener la lista de objetos en ejecución, puede utilizar los comandos
ros2 node list ros2 topic list ros2 service list ros2 action list
Instalación de TurtleSim
Una gran herramienta para aprender y entender cómo funciona ROS2 es TurtleSim
Compruebe su instalación mediante el comando
ros2 pkg executables turtlesim
Si no es el caso, puede instalar turtlesim utilizando el comando
sudo apt install ros-iron-turtlesim
En un terminal lanza turtle sim
ros2 run turtlesim turtlesim_node
En otro terminal, lanzar el control del teclado
ros2 run turtlesim turtle_teleop_key
Para observar lo que ocurre, en un tercer terminal, espíe el tema con el comando
ros2 topic echo /turtle1/pose
Puede encontrar la lista de temas disponibles utilizando el comando
ros2 topic list