Table des matières:
Vidéo: Roomblock : une plateforme pour apprendre la navigation ROS avec Roomba, Raspberry Pi et RPLIDAR : 9 étapes (avec photos)
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
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 de l'utiliser pour atteindre l'objectif de manière autonome.
Qui a besoin de ça ?
Toute personne souhaitant s'initier aux technologies de pointe de la navigation robotique, de la cartographie et de la conduite autonome. Ce robot peut être construit facilement et à moindre coût que les autres plates-formes commerciales. ROS est maintenant de facto un système logiciel standard pour le domaine de la recherche robotique. Ce film montre ce qui est possible avec le système de navigation ROS.
Étape 1: ce dont vous avez besoin
Câble série USB
Si vous n'avez pas de câble série USB pour Roomba, vous pouvez le construire facilement avec ce produit.
- FTDI: TTL-232R-5V
- Akiduki Denshi: TTL-232R-5V
Notez que l'interface du Roomba est TTL (5V).
Connecteur
Vous avez besoin d'un connecteur mini-DIN 8 broches pour l'interface série du Roomba. En fait, le connecteur du Roomba est un connecteur mini-DIN 7 broches, cependant, il est beaucoup plus facile d'acheter un connecteur 8 broches que 7 broches.
- Digikey: connecteur mini-DIN 8 broches
- Kyoritsu: connecteur mini-DIN 8 broches
Soudure
Soudez le câble série au connecteur à 8 broches. Vérifiez la connexion par l'image ci-jointe et le document de spécification de l'interface ouverte Roomba.
Spécification de l'interface ouverte du Roomba
Veuillez noter qu'il est sûr de connecter Vcc (rouge) et RTS (vert) pour éviter le problème de flux matériel.
Étape 4: configuration du module de caméra Raspberry Pi (facultatif)
Si vous avez un module de caméra Raspberry Pi, vous pouvez le connecter à Raspberry Pi. Ceci est facultatif pour apprendre la navigation, cependant, il est amusant d'avoir une vue de la vue du robot.
La pièce de montage de la caméra est également incluse dans les données de trame sur Thingiverse. Le module caméra peut être fixé avec quatre vis M2.
Étape 5: Configurer le PC local
Installer Ubuntu
Installez le bureau Ubuntu 16.04 en suivant la page officielle
Page officielle d'Ubuntu
Installer ROS
Veuillez consulter la page officielle de ROS. Installez les packages complets de bureau Kinetic.
Instructions d'installation ROS Kinetic
Installer le package Roomblock ROS
Le package pour roomblock est déjà publié dans Kinetic. Vous pouvez les installer par la commande apt.
$ sudo apt install ros-kinetic-roomblock
C'est ça.
Si vous souhaitez modifier et construire le package à partir du code source, vous pouvez les obtenir à partir de GitHub.
GitHub - bloc de pièces
Veuillez suivre les instructions dans README.md.
Si vous avez un problème ou une question concernant le logiciel, veuillez créer un problème sur GitHub Issues afin que nous puissions suivre les problèmes efficacement. Veuillez éviter de les publier sur Instructables.
Étape 6: Configurer Raspberry Pi
Installer Ubuntu
Installez Ubuntu 16.04 sur le Raspberry Pi en suivant le guide d'installation:
Wiki Ubuntu: RaspberryPi
Installer ROS
Installez ROS Kinetic en suivant le guide d'installation:
Installation Ubuntu de ROS Kinetic
Installer le package Roomblock ROS
Vous devez installer le package roomblock à partir du code source. Le code source du package est sur GitHub.
GitHub - bloc de pièces
Veuillez suivre les instructions dans README.md.
Si vous avez un problème ou une question concernant le logiciel, veuillez créer un problème sur GitHub Issues, afin que nous puissions suivre les problèmes efficacement. Veuillez éviter de les publier sur Instructables.
Module de caméra Raspberry Pi (facultatif)
Si vous avez un module de caméra Rasberry Pi, vous devez installer libraspberrypi-dev. Veuillez consulter README.md dans Github.
Étape 7: Télé-opération
Affichez le système de base sur Raspberry Pi
Tout d'abord, vous devez faire apparaître le système. Sur le terminal Raspberry Pi, lancez le système de base en tant que:
$ export ROS_IP=IP_ADDRESS_OF_RASPBERRY_PI
$ roslaunch roomblock_bringup roomblock.launch
RPLIDAR commence à tourner et vous pouvez maintenant vous connecter au maître ROS du robot depuis votre PC local.
Télé-opération à partir d'un PC local
Vous pouvez utiliser un joypad pour faire fonctionner le robot. Si vous possédez un joypad de XBox, vous pouvez utiliser ce fichier de lancement. Sinon, vous devrez peut-être modifier le fichier de lancement pour l'adapter à votre manette de jeu. Veuillez consulter les pages du wiki ROS pour plus de détails.
Wiki ROS - teleop_twist_joy
$ export ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ roslaunch roomblock_bringup teleop.launch
Vous pouvez maintenant contrôler le Roomba avec un joystick.
Au lieu de cela, vous pouvez utiliser un clavier.
$ export ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py
Veuillez consulter les pages du wiki ROS pour plus de détails.
Wiki ROS - teleop_twist_keyboard
Étape 8: Lancez le logiciel de cartographie
Affichez le logiciel de cartographie sur le PC local
Affichez le logiciel de cartographie pour créer la carte autour du robot.
$ export ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ export ROS_IP=IP_ADDRESS_OF_LOCAL_PC $ roslaunch roomblock_mapping gmapping.launch
Vous pouvez maintenant voir Rviz (logiciel de visualisation). Faites circuler le robot dans la pièce pour créer une carte de la pièce.
Vous pouvez consulter la page wiki ROS pour le système de cartographie.
- Wiki ROS - gmapping
- Wiki ROS - map_server
Étape 9: Lancez la navigation autonome
Mettre en place un logiciel de navigation autonome
Vous pouvez maintenant démarrer le système de navigation autonome sur le PC local en tant que:
$ export ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ export ROS_IP=IP_ADDRESS_OF_LOCAL_PC $ roslaunch rolomblock_navigation amcl.launch
Vous pouvez utiliser Rviz pour spécifier l'objectif. Le robot doit aller au but de manière autonome.
Veuillez consulter la page wiki ROS pour le système autonome.
- Wiki ROS - navigation
- Wiki ROS - amcl
S'amuser
Si vous avez des questions générales ou des problèmes concernant ROS, veuillez consulter le wiki ROS. Nous ne pouvons pas répondre aux questions générales sur ROS.
Wiki ROS - Assistance
Si vous avez un problème ou une question concernant le logiciel Roomblock, veuillez créer un problème sur GitHub Issues afin que nous puissions suivre les problèmes efficacement. Veuillez éviter de les publier sur Instructables.