Je voulais essayer SLAM, alors je l'ai essayé comme entrée.
--Installation --Exécution de la simulation
environnement ubuntu 20.04
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.
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
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
python
$ roslaunch turtlebot3_fake turtlebot3_fake.launch
Cela lancera turtlebot3.
Vous pourrez utiliser le clavier avec la commande suivante, veuillez exécuter "dans un nouveau terminal".
python
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
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)
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
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
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.
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.
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