Instalación de ROS2 en Ubuntu

Aquí presento un condensado del tutorial oficial para instalar ROS2 en Ubuntu. Debemos seguir una serie de comandos en el terminal:

  • Verificar el locale usando:

    locale	
    

    como resultado se obtiene en todos los casos UTF-8

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

    de no ser así debemos usar:

      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
    
  • Activaremos el repositorio universe:

    sudo apt install software-properties-common
    sudo add-apt-repository universe
    
  • Agregaremos la llave de seguridad para el repositorio de ROS2:

    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
    
  • Agregamos el repositorio de ROS2 a la lista de repositorios:

    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
    
  • Actualizamos la lista y actualizamos el software instalado:

    sudo apt update && sudo apt upgrade
    
  • Instalamos ROS2 versión humble:

    sudo apt install ros-humble-desktop
    
  • Finalmente configuramos el terminal para que identifique los comandos de ROS2:

    echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
    
  • Reiniciamos el terminal y podemos luego probar que tenemos ROS2 correctamente instalado corriendo:

    • En el terminal 1:

      ros2 run turtlesim turtlesim_node
      
    • En el terminal 2:

      ros2 run turtlesim turtle_teleop_key
      

  • Instalar Colcon

    sudo apt install python3-colcon-common-extensions -y
    

Resolviendo algunos problemas

Al correr comandos de ROS2 que abren una interfaz gráfica como el siguiente:

ros2 run rviz2 rviz2

puede ocurrir que se genere un error

/opt/ros/humble/lib/rviz2/rviz2: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
[ros2run]: Process exited with failure 127

para resolverlo usamos el siguinte comando:

sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5