Table des matières:

ROS Melodic sur Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8 : 6 étapes
ROS Melodic sur Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8 : 6 étapes

Vidéo: ROS Melodic sur Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8 : 6 étapes

Vidéo: ROS Melodic sur Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8 : 6 étapes
Vidéo: [F1tenth (F1/10) Lecture 3]: ROS Filesystem and Catkin Make 2024, Juillet
Anonim
Image
Image
ROS Mélodique sur Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8
ROS Mélodique sur Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8

Cet article couvrira le processus d'installation de ROS Melodic Morenia sur Raspberry Pi 4 exécutant le dernier Debian Buster et comment utiliser RPLIDAR A1M8 avec notre installation.

Depuis que Debian Buster a été officiellement publié il y a quelques semaines (au moment de la rédaction de cet article), il n'y a pas de packages ROS pré-construits à installer avec apt-get, qui est une méthode d'installation préférée. Par conséquent, nous devrons le construire à partir de la source. Croyez-moi, ce n'est pas si effrayant que ça en a l'air. Le processus est décrit dans ce tutoriel officiel, mais pour construire ROS Melodic sur Raspberry Pi, nous devrons apporter quelques modifications.

Au cas où vous auriez encore peur, voici une image amusante qui *pourrait* vous aider à vous détendre. Veuillez fournir des commentaires si le niveau de relaxation fourni était suffisant. Sinon, il sera remplacé par l'image d'un chat drôle.

Janvier 2020 EDIT: Comme cela fait six mois que j'ai publié cet article, il y a peut-être eu des changements dans ROS ou Buster. J'ai fait une image pour Raspberry Pi 4 il y a quelque temps, après avoir écrit ce tutoriel. Un contributeur l'a téléchargé sur Google Drive

EDIT d'avril 2020: j'ai récemment trouvé le temps de refaire l'installation de ROS Melodic sur la dernière image Raspbian du site officiel de Raspberry Pi. J'ai modifié cette instructable en conséquence. J'ai également créé et partagé des images propres et compressées:

Raspbian Buster Lite 2020-02-13 Release avec ROS Melodic Bare-bones Besoin d'une carte SD de 8 Go

Raspbian Buster avec bureau Version 2020-02-13 avec ROS Melodic Desktop Besoin d'une carte SD de 16 Go

C'est peut-être le moyen le plus rapide de faire fonctionner votre système. Si vous souhaitez compiler ROS vous-même, continuez à lire l'article.

Étape 1: Installation des dépendances Bootstrap et téléchargement des packages

Commençons par configurer les référentiels et installer les dépendances nécessaires

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 mise à jour

sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake

Ensuite, initialisez rosdep et mettez-le à jour

sudo rosdep init

mise à jour rosdep

Lorsque cela est fait, créons un espace de travail Catkin dédié à la construction de ROS et passons à ce répertoire.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Vous avez maintenant deux choix:

ROS-Comm: installation (Bare Bones) - installez celui-ci si vous êtes familier avec ROS et savez ce que vous faites et de quels packages vous aurez besoin. Si vous avez besoin de packages non inclus dans ROS-Comm, vous devrez également compiler à partir des sources.

Installation de bureau: inclut des outils d'interface graphique, tels que rqt, rviz et des bibliothèques génériques de robots. Peut-être un meilleur choix pour les débutants en ROS.

Je vais installer Desktop Install ici.

rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar > melodic-desktop-wet.rosinstall

wstool init -j8 src melodic-desktop-wet.rosinstall

La commande prendra quelques minutes pour télécharger tous les packages ROS principaux dans le dossier src.

Si wstool init échoue ou est interrompu, vous pouvez reprendre le téléchargement en exécutant:

mise à jour wstool -j4 -t src

Étape 2: Résoudre les problèmes

Résoudre les problèmes
Résoudre les problèmes

EDIT d'avril 2020: ignorez cette étape, il semble que tous les problèmes aient été résolus maintenant

Installons la version compatible d'Assimp (Open Asset Import Library) pour résoudre le problème de dépendance 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

décompressez assimp-3.1.1_no_test_models.zip

cd assimp-3.1.1

cmake.

Fabriquer

sudo faire installer

Installons également OGRE pour rviz

sudo apt-get install libogre-1.9-dev

MISE À JOUR de janvier 2020: les problèmes avec libbost ont déjà été corrigés par les développeurs ROS, vous pouvez ignorer cette partie

/// sauter /// Enfin, nous devrons résoudre les problèmes avec libboost. J'utilise la solution de ce post sur stackoverflow:

Les erreurs lors de la compilation sont causées par la fonction 'boost::posix_time::milliseconds' qui, dans les nouvelles versions de boost, n'accepte qu'un argument entier, mais le package actionlib dans ROS lui donne un flottant à plusieurs endroits. Vous pouvez lister tous les fichiers en utilisant cette fonction (! dans le dossier ros_catkin_ws!):

find -type f -print0 | xargs -0 grep 'boost::posix_time::milliseconds' | couper -d: -f1 | trier -u

Ouvrez-les dans votre éditeur de texte et recherchez l'appel de fonction 'boost::posix_time::milliseconds'.

et remplacez les appels comme ceci:

boost::posix_time::milliseconds(loop_duration.toSec() * 1000.0f));

avec:

boost::posix_time::milliseconds(int(loop_duration.toSec() * 1000.0f)));

et ceux-ci:

boost::posix_time::milliseconds(1000.0f)

avec:

boost::posix_time::milliseconds(1000)

Je vous recommande d'utiliser l'éditeur de texte nano, qui est plus simple que VIM;) Ctrl+O enregistre, Ctrl+X quitte et Ctrl+W recherche.

///continue_from_here///

Étape 3: Construire et sourcer l'installation

Ensuite, nous utilisons l'outil rosdep pour installer tout le reste des dépendances:

rosdep install --from-paths src --ignore-src --rosdistro melodic -y

Une fois le téléchargement des packages et la résolution des dépendances terminé, vous êtes prêt à créer les packages catkin. (Exécutez cette commande à partir du dossier ros_catkin_ws)

sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2

Si le processus de compilation se bloque (très probablement, si vous installez la version de bureau), vous devez augmenter l'espace de swap disponible. Par défaut, c'est 100 Mo, essayez de l'augmenter à 2048 Mo.

Bonne chance! L'ensemble du processus de compilation prend environ 1 heure (moins pour la version Bare-bones), alors allez faire du thé.

Maintenant, ROS Melodic doit être installé sur votre Raspberry Pi 4. Nous allons rechercher la nouvelle installation avec la commande suivante:

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc

Ouvrez un nouveau shell pour que les modifications prennent effet. Essayez de lancer roscore pour vérifier si tout s'est bien passé.

Étape 4: Installez le package RPLIDAR ROS

Installer le package RPLIDAR ROS
Installer le package RPLIDAR ROS

Créons un espace de travail séparé pour d'autres packages, qui ne font pas partie du noyau ROS.

À partir de votre dossier personnel, procédez comme suit:

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/

catkin_make

et sourcez-le dans bashrc:

echo "source $HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc

D'accord, nous sommes prêts à commencer l'installation du package RPLIDAR ROS.

cd src

sudo git clone

cd..

catkin_make

Attendez la fin de la compilation du package. Essayez de lancer le package pour voir si la compilation a réussi:

roslaunch rplidar_ros rplidar.launch

S'il ne génère aucune erreur, effectuez une danse de célébration rapide (*facultatif).

Maintenant, seule la dernière pièce manque - puisque vous utilisez probablement Raspberry Pi 4 en mode sans tête, nous ne pouvons pas visualiser les messages lidar. Pour cela, nous devrons configurer ROS pour qu'il s'exécute sur plusieurs machines.

Étape 5: Configurer ROS pour qu'il s'exécute sur plusieurs machines

Configurer ROS pour qu'il s'exécute sur plusieurs machines
Configurer ROS pour qu'il s'exécute sur plusieurs machines

Pour cette partie, vous aurez besoin d'un ordinateur Ubuntu 18.04 avec ROS Melodic installé. Comme il s'agit d'Ubuntu, ROS peut être simplement installé à l'aide d'apt-get comme décrit dans ce didacticiel.

Une fois que vous avez installé ROS sur Raspberry Pi et sur votre ordinateur de bureau, vérifiez les adresses IP des deux ordinateurs. Ils doivent être sur le même réseau !

Exécutez roscore sur votre ordinateur de bureau et exportez ROS_MASTER_URI

rosace

export ROS_MASTER_URI=https://[your-desktop-machine-ip]:11311

Suivant sur Raspberry PI exécuter

export ROS_MASTER_URI=https://[your-desktop-machine-ip]:11311

export ROS_IP=[votre-raspberry-pi-ip]

et lancez le fichier de lancement RPIIDAR

roslaunch rplidar_ros rplidar.launch

S'il se lance avec succès, vérifiez les sujets présents sur votre ordinateur de bureau avec la liste rostopic

Si vous pouvez voir / scanner les messages, tout fonctionne comme prévu. Ensuite, lancez RVIZ sur votre ordinateur de bureau, ajoutez des messages Laser Scan et choisissez le sujet /scan. Vous devrez également remplacer le cadre fixe par /laser.

Voila !

Étape 6: terminé

Terminé!
Terminé!
Terminé!
Terminé!

Ce guide peut être une première étape vers la construction de votre robot ROS sur le nouveau Raspberry Pi 4. Nous avons installé ROS Melodic et préparé l'installation pour l'exécution sans tête et la connexion à notre ordinateur de bureau via un réseau sans fil pour le contrôle à distance.

Les prochaines étapes dépendent du type de robot que vous souhaitez construire. Vous pouvez ajouter des moteurs et des encodeurs pour l'odométrie, une caméra stéréo pour Visual SLAM et toutes sortes d'autres choses intéressantes et utiles.

Le matériel pour cet article a été aimablement fourni par le studio Seeed. Découvrez Raspberry Pi 4, RPLIDAR A1M8 et d'autres matériels pour les fabricants au magasin du studio Seeed !

Ajoutez-moi sur LinkedIn si vous avez des questions et abonnez-vous à ma chaîne YouTube pour être informé des projets les plus intéressants impliquant l'apprentissage automatique et la robotique.

Conseillé: