Table des matières:
- Étape 1: Installation des dépendances Bootstrap et téléchargement des packages
- Étape 2: Résoudre les problèmes
- Étape 3: Construire et sourcer l'installation
- Étape 4: Installez le package RPLIDAR ROS
- Étape 5: Configurer ROS pour qu'il s'exécute sur plusieurs machines
- Étape 6: terminé
Vidéo: ROS Melodic sur Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8 : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
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
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
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
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é
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é:
Premiers pas avec le RPLIDAR à faible coût en utilisant Jetson Nano : 5 étapes
Premiers pas avec le RPLIDAR à faible coût à l'aide de Jetson Nano : bref aperçu La détection et la télémétrie par la lumière (LiDAR) fonctionnent de la même manière que les télémètres à ultrasons avec impulsion laser sont utilisés à la place des ondes sonores. Yandex, Uber, Waymo et etc. investissent massivement dans la technologie LiDAR pour leur voiture autonome pr
Comment utiliser le scanner laser RPLIDAR 360° avec Arduino : 3 étapes (avec photos)
Comment utiliser le scanner laser RPLIDAR 360° avec Arduino : Je suis un grand fan de la construction de robots sumo et je suis toujours à la recherche de nouveaux capteurs et matériaux intéressants à utiliser pour construire un robot meilleur, plus rapide et plus intelligent. J'ai découvert le RPLIDAR A1 que vous pouvez obtenir pour 99 $ sur DFROBOT.com. J'ai dit que j'étais inter
Roomblock : une plateforme pour apprendre la navigation ROS avec Roomba, Raspberry Pi et RPLIDAR : 9 étapes (avec photos)
Roomblock : une plate-forme d'apprentissage de la navigation ROS avec Roomba, Raspberry Pi et RPLIDAR : qu'est-ce que c'est ? "Roomblock" est une plateforme robotique composée d'un Roomba, d'un Raspberry Pi 2, d'un capteur laser (RPLIDAR) et d'une batterie mobile. Le cadre de montage peut être fabriqué par des imprimantes 3D. Le système de navigation ROS permet de faire une carte des pièces et d'utiliser i