Introducción a ROS Melodic en Raspberry Pi 4 Modelo B

Publicado por Loli Diéguez en

En este artículo vamos ha aprender cómo conectar un LiDAR a la Raspberry Pi 4  usando ROS Melodic en Ubuntu Desktop 18.04.3.

El Sistema Operativo Robot (ROS) es un conjunto de bibliotecas de software y herramientas que se utilizan para construir aplicaciones y sistemas robóticos. La versión actual de servicio a largo plazo de ROS es  Melodic Morenia.

ROS Melodic es compatible solo con Ubuntu 18.04 Bionic Beaver. Sin embargo, también se ejecuta en otros sistemas Linux, así como en Mac OS X, Android y Windows. Solo es compatible con sistemas operativos de 64 bits. Primero debemos instalar la versión de 64 bits de Ubuntu, y luego entonces podremos instalar ROS. 

Si deseas utilizar una arquitectura de 32 bits, deberás instalar ROS desde la fuente. No es difícil, pero te llevará mucho tiempo en compilarlo todo.

En esta guía, aprenderás cómo conectar tu RPLiDAR a Raspberry Pi 4 usando el middleware ROS Melodic en Ubuntu Desktop 18.04.3. 

Todo lo que necesitas es:

Un RPLIDAR es un sensor LIDAR de bajo costo de  Slamtec  adecuado para aplicaciones robóticas en interiores.

Instala Ubuntu Desktop 18.04.3 en Raspberry Pi 4 Modelo B

  • Descarga la imagen de Ubuntu Server 18.04.3. Haz clic aquí  para descargarla.
  • Actualiza la tarjeta microSD con Etcher.
  • Conecta el monitor y el teclado a la placa
  • Inserta la tarjeta microSD en tu Raspberry Pi 4
  • Enciendelo
  • La credencial predeterminada para iniciar sesión es:
ubuntu login: ubuntu
Password: ubuntu
  • Te pedirá que cambies la contraseña predeterminada por otra.
  • Actualiza tu Ubuntu con los últimos paquetes escribiendo los siguientes comandos. Abre la terminal y ejecuta el siguiente comando:
sudo apt-get update
  • El siguiente comando actualiza la lista de paquetes disponibles y sus versiones.
sudo apt-get upgrade

Leer datos de su RPLiDAR

Conecta tu RPLiDAR a la Raspberry Pi 4 Modelo B usando un cable micro USB. La luz verde intermitente indica una actividad normal del sensor.

Rplidar

Una vez que hayas conectado el RPLiDAR a tu Raspberry Pi, escribe la siguiente línea de comando para verificar los permisos:

Abre tu terminal y ejecuta el siguiente comando.

ls -l /dev | grep ttyUSB
La salida del siguiente comando debe ser:
crw-rw----  1 root   dialout 188,   0 Jan  3 14:59 ttyUSB
Ejecuta el siguiente comando para cambiar el permiso:
sudo chmod 666 /dev/ttyUSB0

Ahora puedes leer y escribir con este dispositivo utilizando el puerto USB. 

Verifícalo usando el comando anterior:

crw-rw-rw-  1 root   dialout 188,   0 Jan  3 14:59 ttyUSB0

Una vez configurados los permisos, debes descargar e instalar los paquetes ROS.

Instalación de ROS Melodic en Raspberry Pi 4 Modelo B

Ahora, estamos listos para instalar los paquetes ROS en Ubuntu 18.04 LTS basado en Raspberry Pi 4.

Configura la Raspberry Pi para aceptar software de  packages.ros.org  introduciendo el siguiente comando en el terminal:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
La siguiente clave debe agregarse a Ubuntu antes de comenzar la instalación, lo que garantizará que la descarga provenga de un servidor autorizado. Ejecuta el siguiente comando en el terminal:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Y verás el siguiente resultado:
Executing: /tmp/apt-key-gpghome.1kWt1g8IvN/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
gpg: key F42ED6FBAB17C654: public key "Open Robotics <info@osrfoundation.org>" imported
gpg: Total number processed: 1
gpg: imported: 1
El siguiente paso es actualizar la lista de paquetes usando el siguiente comando:
sudo apt upgrade
Si ves el siguiente error en la terminal:
Reading package lists... Done
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
Se puede resolver ejecutando el siguiente comando:
sudo rm /var/lib/apt/lists/lock

Ejecuta de nuevo  sudo apt upgrade.

Hay tres versiones pre-empaquetadas de ROS entre las que puedes elegir. El que elijas dependerá de tus necesidades para el ordenador que estás instalando ROS.
  • Instalación completa de escritorio
  • Instalación de escritorio
  • ROS-Base

ROS Desktop Full es el paquete más completo, sin embargo, no se recomienda para ordenadores de placa única como Raspberry Pi o Nvidia Jetson Nano. Por lo tanto, se recomienda instalar la instalación de escritorio

Instala todo el software, herramientas, algoritmos y simuladores de robots para ROS, incluido el soporte para  rqt ,  rviz  y otros paquetes de robótica útiles. 

Puede instalar ROS Melodic Desktop Install emitiendo el siguiente comando:

sudo apt install ros-melodic-desktop

Después de escribir el comando y presionar Enter, presiona  Y  y  Enter cuando  te pregunte si deseas continuar.

Dependencias de ROS

RosDep es una herramienta que te permite instalar fácilmente dependencias del sistema.

Para inicializar RosDep usa el siguiente comando en la terminal:
sudo rosdep init
Verás el siguiente resultado:
Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run
rosdep update
El siguiente paso para ejecutar el siguiente comando:
rosdep update
Es posible que veas el siguiente error en la terminal:
updated cache in /home/ubuntu/.ros/rosdep/sources.cache
ERROR: Not all sources were able to be updated.
[[[
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml]:
<urlopen error ('_ssl.c:711: The handshake operation timed out',)> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml)
]]]

Vuelve a  ejecutar la actualización de rosdep  hasta que desaparezca el error (en mi caso lo hice 3 veces).

Configuración del entorno

Tenemos ROS y las dependencias instaladas. Configuramos nuestro entorno. ROS está instalado en  / opt / ros / melodic.  Para tener los comandos ROS disponibles, es necesario obtener el archivo de shell dentro de la carpeta de instalación.

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
Luego ejecuta el siguiente comando en la terminal:
source ~/.bashrc

Este es el último paso del proceso de instalación. Comprueba qué versión de ROS tienes instalada. Si ves tu versión de ROS como resultado, felicidades por haber instalado ROS con éxito. 

Ejecuta el siguiente comando.

rosversion -d
Si todo es correcto, obtendrás la siguiente pantalla:
melodic

Ahora la Raspberry Pi 4 está lista para ejecutar paquetes ROS.

Prueba de la funcionalidad de ROS

Probemos algunos comandos ROS para asegurarnos de que la instalación haya finalizado correctamente. 

Ejecutaremos los siguientes comandos para comprobar si la instalación es correcta. Una forma sencilla de comprobar la funcionalidad de ROS es utilizar el simulador de turtlesim que forma parte de la instalación de ROS.

Abre un nuevo terminal y ejecuta el siguiente comando:
roscore
Si todo va bien, obtendrás el siguiente resultado en el terminal actual:
... logging to /home/ubuntu/.ros/log/d9439b6c-2e70-11ea-b473-dca6320e071e/roslaunch-ubuntu-3563.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://ubuntu:37629/
ros_comm version 1.14.3
SUMMARY
========
PARAMETERS
* /rosdistro: melodic
* /rosversion: 1.14.3
NODES
auto-starting new master
process[master]: started with pid [3574]
ROS_MASTER_URI=http://ubuntu:11311/
setting /run_id to d9439b6c-2e70-11ea-b473-dca6320e071e
process
Inicia un nuevo indicador de terminal y ejecuta el siguiente comando en el terminal:
rosrun turtlesim turtlesim_node

Si todo es correcto, obtendremos la siguiente pantalla:

Pantalla del simulador Turtlesim

¡Felicidades! Hemos terminado con la instalación de ROS.

Configura un espacio de trabajo catkin y visualiza datos

Debes crear y configurar un espacio de trabajo catkin, esto es un directorio en el que puedes crear o modificar paquetes catkin existentes.

Instala las siguientes dependencias. Abre una nueva terminal y escribe:
sudo apt-get install cmake python-catkin-pkg python-empy python-nose python-setuptools libgtest-dev python-rosinstall python-rosinstall-generator python-wstool build-essential git
Crea las carpetas raíz y de origen del catkin:
mkdir -p ~/catkin_ws/src

Este espacio de trabajo se puede compilar incluso si está vacio.

Vete a la carpeta de origen del espacio de trabajo de catkin que acabas de crear. Y en tu terminal, ejecuta:

cd ~/catkin_ws/src
Clona el repositorio de github del paquete RPLIDAR ROS.
git clone https://github.com/robopeak/rplidar_ros.git
Y a continuación:
cd ~/catkin_ws

Luego, ejecuta  catkin_make  para compilar tu espacio de trabajo catkin.

catkin_make

Después, ejecuta para obtener el entorno con tu terminal actual. (No cierres la terminal).

source devel/setup.bash
Para iniciar ROS, ejecuta el siguiente comando en una nueva terminal:
roscore
Acto seguido, ejecuta el siguiente comando:
roslaunch rplidar_ros view_rplidar.launch

Con esto se abrirá una instancia de  Rviz con un mapa de lo que el RPLIDAR está detectando a su alrededor.

 

SI QUIERES OTROS ARTÍCULOS INTERESANTES SIGUE AQUÍ


Compartir esta publicación



← Publicación más antigua Publicación más reciente →