Tabla de contenido:
- Paso 1: Instalar las dependencias de Bootstrap y descargar los paquetes
- Paso 2: solucionar los problemas
- Paso 3: compile y obtenga la instalación
- Paso 4: Instale el paquete RPLIDAR ROS
- Paso 5: Configure ROS para que se ejecute en varias máquinas
- Paso 6: ¡Listo
Video: ROS Melodic en Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Este artículo cubrirá el proceso de instalación de ROS Melodic Morenia en Raspberry Pi 4 ejecutando la última versión de Debian Buster y cómo usar RPLIDAR A1M8 con nuestra instalación.
Dado que Debian Buster se lanzó oficialmente hace solo unas semanas (en el momento de escribir este artículo), no hay paquetes ROS preconstruidos para instalar con apt-get, que es un método preferido de instalación. Por lo tanto, necesitaremos construirlo desde la fuente. Créame, no es tan aterrador como parece. El proceso se describe en este tutorial oficial, pero para construir ROS Melodic en Raspberry Pi necesitaremos hacer algunas modificaciones.
En caso de que todavía tenga miedo, aquí hay una imagen divertida que * podría * ayudarlo a relajarse. Proporcione comentarios si el nivel de relajación proporcionado fue suficiente. De lo contrario, se reemplazará con la imagen de un gato gracioso.
Enero de 2020 EDITAR: Dado que ha pasado medio año desde que publiqué este artículo, es posible que haya habido algunos cambios en ROS o Buster. Hice una imagen para Raspberry Pi 4 hace un tiempo, después de escribir este tutorial. Un colaborador lo ha subido a Google Drive
Abril de 2020 EDITAR: Recientemente encontré tiempo para rehacer la instalación de ROS Melodic en la imagen más reciente de Raspbian del sitio oficial de Raspberry Pi. He editado este instructivo en consecuencia. También creé y compartí imágenes limpias y comprimidas:
Raspbian Buster Lite 2020-02-13 Lanzamiento con ROS Melodic Bare-bones Necesita una tarjeta SD de 8 GB
Raspbian Buster con escritorio 2020-02-13 Lanzamiento con ROS Melodic Desktop Necesita tarjeta SD de 16 GB
Puede que sea la forma más rápida de poner en funcionamiento su sistema. Si desea compilar ROS usted mismo, siga leyendo el artículo.
Paso 1: Instalar las dependencias de Bootstrap y descargar los paquetes
Comencemos configurando los repositorios e instalando las dependencias necesarias
sudo sh -c 'echo "deb https://packages.ros.org/ros/ubuntu $ (lsb_release -sc) main"> /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp: //keyserver.ubuntu.com: 80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update
sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
Luego inicialice rosdep y actualícelo
sudo rosdep init
actualización de rosdep
Cuando termine, creemos un espacio de trabajo dedicado a catkin para construir ROS y muévase a ese directorio.
mkdir ~ / ros_catkin_ws
cd ~ / ros_catkin_ws
Ahora tienes dos opciones:
ROS-Comm: instalación (Bare Bones): instale este si está familiarizado con ROS y sabe lo que está haciendo y qué paquetes necesitará. Si necesita paquetes no incluidos en ROS-Comm, también deberá compilar desde el código fuente.
Instalación de escritorio: incluye herramientas GUI, como rqt, rviz y bibliotecas genéricas de robots. Podría ser una mejor opción para los principiantes de ROS.
Iré con la instalación de Desktop Install aquí.
rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar> melodic-desktop-wet.rosinstall
wstool init -j8 src melodic-desktop-wet.rosinstall
El comando tardará unos minutos en descargar todos los paquetes ROS principales en la carpeta src.
Si wstool init falla o se interrumpe, puede reanudar la descarga ejecutando:
actualización de wstool -j4 -t src
Paso 2: solucionar los problemas
EDICIÓN de abril de 2020: omita este paso, parece que todos los problemas se han solucionado ahora
Instalemos la versión compatible de Assimp (Open Asset Import Library) para solucionar el problema de dependencia collada_urdf.
mkdir -p ~ / ros_catkin_ws / external_src
cd ~ / ros_catkin_ws / external_src
wget https://sourceforge.net/projects/assimp/files/assi… -O assimp-3.1.1_no_test_models.zip
descomprimir assimp-3.1.1_no_test_models.zip
cd assimp-3.1.1
cmake.
hacer
sudo hacer instalar
Instalemos también OGRE para rviz
sudo apt-get install libogre-1.9-dev
ACTUALIZACIÓN de enero de 2020: los desarrolladores de ROS ya han solucionado los problemas con libbost, puede omitir esta parte
/// skip /// Finalmente, necesitaremos solucionar los problemas con libboost. Estoy usando la solución de esta publicación en stackoverflow:
Los errores durante la compilación son causados por la función 'boost:: posix_time:: milliseconds' que en las versiones más recientes de boost solo acepta un argumento entero, pero el paquete actionlib en ROS le da un flotante en varios lugares. Puede listar todos los archivos usando esa función (! en la carpeta ros_catkin_ws!):
find -type f -print0 | xargs -0 grep 'boost:: posix_time:: milisegundos' | cut -d: -f1 | sort -u
Ábrelos en tu editor de texto y busca la llamada a la función 'boost:: posix_time:: milliseconds'.
y reemplace llamadas como esta:
boost:: posix_time:: milisegundos (loop_duration.toSec () * 1000.0f));
con:
boost:: posix_time:: milisegundos (int (loop_duration.toSec () * 1000.0f)));
y estos:
boost:: posix_time:: milisegundos (1000.0f)
con:
boost:: posix_time:: milisegundos (1000)
Te recomiendo que uses un editor de texto nano, que es más simple que VIM;) Ctrl + O está guardando, Ctrl + X está saliendo y Ctrl + W está buscando.
/// continue_from_here ///
Paso 3: compile y obtenga la instalación
A continuación, usamos la herramienta rosdep para instalar el resto de las dependencias:
rosdep install --from -path src --ignore-src --rosdistro melodic -y
Una vez que haya terminado de descargar los paquetes y resolver las dependencias, estará listo para construir los paquetes catkin. (Ejecute este comando desde la carpeta ros_catkin_ws)
sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = Liberar --install-space / opt / ros / melodic -j2
Si el proceso de compilación se congela (muy probablemente, si instala la versión de escritorio), necesita aumentar el espacio de intercambio disponible. De forma predeterminada, es de 100 MB, intente aumentarlo a 2048 MB.
¡Buena suerte! Todo el proceso de compilación dura aproximadamente 1 hora (menos para la versión Bare-bones), así que prepara un poco de té.
Ahora ROS Melodic debería estar instalado en su Raspberry Pi 4. Obtendremos la nueva instalación con el siguiente comando:
echo "fuente /opt/ros/melodic/setup.bash" >> ~ /.bashrc
Abra un nuevo shell para que los cambios surtan efecto. Intente iniciar roscore para verificar si todo fue exitoso.
Paso 4: Instale el paquete RPLIDAR ROS
Creemos un espacio de trabajo separado para otros paquetes, que no son parte del núcleo ROS.
Desde tu carpeta de inicio haz:
mkdir -p ~ / catkin_ws / src
cd ~ / catkin_ws /
catkin_make
y enviarlo a bashrc:
echo "fuente $ HOME / catkin_ws / devel / setup.bash" >> ~ /.bashrc
Bien, estamos listos para comenzar a instalar el paquete RPLIDAR ROS.
cd src
sudo git clon
CD..
catkin_make
Espere a que finalice la compilación del paquete. Intente iniciar el paquete para ver si la compilación fue exitosa:
roslaunch rplidar_ros rplidar.launch
Si no muestra ningún error, haz un baile de celebración rápido (* opcional).
Ahora solo falta la última pieza, ya que probablemente esté ejecutando Raspberry Pi 4 en modo sin cabeza, no podemos visualizar los mensajes LIDAR. Para eso, necesitaremos configurar ROS para que se ejecute en varias máquinas.
Paso 5: Configure ROS para que se ejecute en varias máquinas
Para esta parte, necesitará una computadora Ubuntu 18.04 con ROS Melodic instalado. Dado que es Ubuntu, ROS se puede instalar simplemente usando apt-get como se describe en este tutorial.
Una vez que haya trabajado la instalación de ROS tanto en Raspberry Pi como en su máquina de escritorio, verifique las direcciones IP de ambas máquinas. ¡Deben estar en la misma red!
Ejecute roscore en su computadora de escritorio y exporte ROS_MASTER_URI
roscore
exportar ROS_MASTER_URI = https:// [su-escritorio-máquina-ip]: 11311
Siguiente en la ejecución de Raspberry PI
exportar ROS_MASTER_URI = https:// [su-escritorio-máquina-ip]: 11311
exportar ROS_IP = [tu-frambuesa-pi-ip]
y ejecute el archivo de lanzamiento RPILIDAR
roslaunch rplidar_ros rplidar.launch
Si se inicia con éxito, verifique los temas presentes en su máquina de escritorio con la lista rostopic
Si puede ver / escanear mensajes, todo funciona como se supone que debe funcionar. Luego, inicie RVIZ en su máquina de escritorio, agregue mensajes de escaneo láser y elija / escanear tema. También deberá cambiar el marco fijo a / láser.
¡Voila!
Paso 6: ¡Listo
Esta guía puede ser un primer paso hacia la construcción de su robot ROS sobre la nueva Raspberry Pi 4. Hemos instalado ROS Melodic y preparado la instalación para funcionar sin cabeza y conectarnos a nuestra máquina de escritorio a través de una red inalámbrica para control remoto.
Los siguientes pasos dependen del tipo de robot que desee construir. Puede agregar motores y codificadores para odometría, cámara estéreo para Visual SLAM y todo tipo de otras cosas interesantes y útiles.
El hardware de este artículo fue proporcionado amablemente por Seeed Studio. ¡Eche un vistazo a Raspberry Pi 4, RPLIDAR A1M8 y otro hardware para fabricantes en la tienda Seeed Studio!
Agrégueme a LinkedIn si tiene alguna pregunta y suscríbase a mi canal de YouTube para recibir notificaciones sobre proyectos más interesantes relacionados con el aprendizaje automático y la robótica.
Recomendado:
Introducción al RPLIDAR de bajo coste con Jetson Nano: 5 pasos
Introducción al RPLIDAR de bajo costo con Jetson Nano: Breve descripción general La detección y el alcance de la luz (LiDAR) funciona de la misma manera que se utilizan los telémetros ultrasónicos con pulso láser en lugar de ondas de sonido. Yandex, Uber, Waymo, etc.están invirtiendo fuertemente en tecnología LiDAR para sus pr
Cómo utilizar el escáner láser RPLIDAR 360 ° con Arduino: 3 pasos (con imágenes)
Cómo usar el escáner láser RPLIDAR 360 ° con Arduino: Soy un gran fanático de la construcción de robots de sumo y siempre estoy buscando nuevos sensores y materiales interesantes para construir un robot mejor, más rápido e inteligente. Me enteré del RPLIDAR A1 que puede obtener por $ 99 en DFROBOT.com. Dije que estaba inte
Roomblock: una plataforma para aprender la navegación ROS con Roomba, Raspberry Pi y RPLIDAR: 9 pasos (con imágenes)
Roomblock: una plataforma para aprender la navegación ROS con Roomba, Raspberry Pi y RPLIDAR: ¿Qué es esto? &Quot; Roomblock " es una plataforma de robot compuesta por un Roomba, una Raspberry Pi 2, un sensor láser (RPLIDAR) y una batería móvil. El marco de montaje puede fabricarse con impresoras 3D. El sistema de navegación ROS permite hacer un mapa de habitaciones y utilizar i