[Ubuntu20.04] De l'installation ROS-noetic à la simulation SLAM de turtlebot3

Simulation SLAM avec ROS-noetic

Je voulais essayer SLAM, alors je l'ai essayé comme entrée.

--Installation --Exécution de la simulation


environnement ubuntu 20.04


Installation ROS

Pour installer ROS-noetic rapidement, je pense que vous devriez utiliser le shell de ROBOTIS.

python


$ git clone https://github.com/ROBOTIS-GIT/robotis_tools.git
$ cd robotis_tools
$ chmod 755 ./install_ros_noetic.sh
$ bash ./install_ros_noetic.sh

Une fois installé de cette façon, il sera dans ~ / .bashrc alias cw='cd ~/catkin_ws' alias cs='cd ~/catkin_ws/src' alias cm='cd ~/catkin_ws && catkin_make' Les raccourcis sont créés pour votre commodité. J'utilise beaucoup cs et cm.

Créer un espace de travail

Si vous installez avec le shell ci-dessus, un espace de travail appelé catkin_ws sera créé, alors ignorez-le. Quiconque l'installe dans l'autre sens créera un espace de travail, quel que soit son nom (catkin_ws ici).

python


$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ~/catkin_ws && catkin_make

Création d'un environnement de simulation pour turtlebot3

Installez le package en spécifiant branch comme noetic-dev

python


$ git clone -b noetic-dev https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
$ git clone -b noetic-dev https://github.com/ROBOTIS-GIT/turtlebot3.git
$ cd ~/catkin_ws && catkin_make

Il existe trois types de turtlebot3, Burger, Waffle et Waffle Pi, vous devez donc les spécifier. Tout va bien, mais cette fois je choisirai Burger.

Je ne veux pas frapper export TURTLEBOT3_MODEL = burger à chaque fois, donc je l'écris dans bashrc. (L'éditeur est familier)

python


$ gedit ~/.bashrc

Sur la dernière ligne

export TURTLEBOT3_MODEL=burger

Écrivez, enregistrez et fermez.

python


$ source ~/.bashrc

Cela sera reflété dans. (Si TURTLEBOT3_MODEL donne une erreur inconnue à l'avenir, veuillez recommencer)

Installation du simulateur turtlebot3

python


$ cd ~/catkin_ws/src
$ git clone -b noetic-dev https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
$ cd ~/catkin_ws && catkin_make

Exécutez le simulateur [RViz]

python


$ roslaunch turtlebot3_fake turtlebot3_fake.launch

Cela lancera turtlebot3.

Screenshot from 2020-11-15 02-29-45.png

Vous pourrez utiliser le clavier avec la commande suivante, veuillez exécuter "dans un nouveau terminal".

python


$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

Exécution du simulateur [Gazebo]

Fermez tous les terminaux et démarrez-en un nouveau.

Ensuite, exécutez la simulation sur Gazebo. RViz est un outil de débogage, mais Gazebo peut le simuler dans n'importe quel environnement.

Ici, nous allons simuler dans l'espace où se trouve le pôle standard (?).

python


$ roslaunch turtlebot3_gazebo turtlebot3_world.launch

Différents environnements sont disponibles dans (turtlebot3_simulations / turtlebot3_gazebo / launch /. Espace vide >> turtlebot3_empty_world.launch À l'intérieur de la maison >> turtlebot3_house.launch)

Screenshot from 2020-11-15 02-49-06.png Screenshot from 2020-11-15 02-49-50.png

Ensuite, évitez les obstacles et laissez-les contrôler automatiquement

python


$ roslaunch turtlebot3_gazebo turtlebot3_simulation.launch

Si vous regardez le gazebo avec cela, vous pouvez voir qu'il se contrôle.

À ce stade, si vous démarrez RViz, vous pouvez visualiser comment Turtlebot 3 mesure la distance avec un laser.

python


$ roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch

Screenshot from 2020-11-15 03-02-54.png


Enfin la simulation SLAM

Fermez tous les terminaux et démarrez-en un nouveau. SLAM effectue en même temps une estimation d'auto-position et une génération de carte.

Installez le module SLAM.

python


$ sudo apt-get install ros-noetic-slam-gmapping

Puis redémarrez Gazebo.

python


$ roslaunch turtlebot3_gazebo turtlebot3_world.launch

Une fois Gazebo démarré, exécutez SLAM immédiatement.

python


$ roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping

Screenshot from 2020-11-15 03-11-56.png

Cela lancera la génération de la carte.

Pour générer une carte de tout cet espace, exécutez simplement le programme non conflictuel.

python


$ roslaunch turtlebot3_gazebo turtlebot3_simulation.launch

Si vous le laissez pendant un certain temps, vous pouvez créer une carte entière.

Screenshot from 2020-11-15 03-31-06.png

Je souhaite enregistrer la carte une fois qu'elle est générée. Tout d'abord, installez le serveur de carte.

python


$ sudo apt-get install ros-noetic-map-server

Créez le dossier que vous souhaitez enregistrer (cartes dans ce cas) et enregistrez-le là-bas.

python


$ mkdir ~/maps
$ cd ~/maps
$ rosrun map_server map_saver

Si vous obtenez une erreur: Vous pouvez avoir rosrun map_server map_server, le deuxième gain de temps.

Vous pouvez afficher la carte acquise en ouvrant map.pgm.

Screenshot from 2020-11-15 03-48-23.png


référence How to Launch the TurtleBot3 Simulation With ROS [«Bible de programmation des robots ROS»](https://www.amazon.co.jp/ROS%E3%83%AD%E3%83%9C%E3%83%83%E3%83%88%E3%83 % 97% E3% 83% AD% E3% 82% B0% E3% 83% A9% E3% 83% 9F% E3% 83% B3% E3% 82% B0% E3% 83% 90% E3% 82% A4 % E3% 83% 96% E3% 83% AB-% E8% A1% A8-% E5% 85% 81% E3% 80% 93 / dp / 4274221962 / ref = cm_cr_arp_d_pl_foot_top?

Recommended Posts

[Ubuntu20.04] De l'installation ROS-noetic à la simulation SLAM de turtlebot3
[Note] Flux de l'installation de docker au démarrage de JupyterLab sur ubuntu
Comment graver un disque d'installation de Windows à partir d'Ubuntu
Mise à niveau d'Ubuntu Desktop de 18.0.4 (?) À 20.04.1 (focal)
De l'introduction à l'utilisation de byebug
Je veux jouer avec l'autorisation du répertoire Windows de WSL (ubuntu)
De la traction des rails image-docker au lancement
Résumé de la mousse lors de la mise à jour de JMockit 1.4 vers 1.30
De la configuration à l'utilisation de l'enrobeuse Selenium Selenide
Confirmation de l'opération JDBC à partir de l'installation de xampp sur Ubuntu