[Ubuntu20.04] Von der ROS-noetischen Installation zur SLAM-Simulation von turtlebot3

SLAM-Simulation mit ROS-Noetic

Ich wollte SLAM ausprobieren, also habe ich es als Eingang versucht.

--Installation


Umgebung ubuntu 20.04


ROS-Installation

Um ROS-noetic schnell zu installieren, sollten Sie die Shell von ROBOTIS verwenden.

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

Wenn es auf diese Weise installiert wird, befindet es sich in ~ / .bashrc alias cw='cd ~/catkin_ws' alias cs='cd ~/catkin_ws/src' alias cm='cd ~/catkin_ws && catkin_make' Verknüpfungen werden für Ihre Bequemlichkeit erstellt. Ich benutze ziemlich oft cs und cm.

Erstellen eines Arbeitsbereichs

Wenn Sie mit der obigen Shell installieren, wird ein Arbeitsbereich mit dem Namen catkin_ws erstellt. Überspringen Sie ihn daher. Jeder, der es anders installiert, erstellt einen Arbeitsbereich, unabhängig vom Namen (catkin_ws hier).

python


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

Erstellen einer Simulationsumgebung für turtlebot3

Installieren Sie das Paket, indem Sie branch als noetic-dev angeben

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

Es gibt drei Arten von Turtlebot3: Burger, Waffel und Waffel-Pi. Sie müssen sie also angeben. Jedem geht es gut, aber dieses Mal werde ich Burger wählen.

Ich möchte nicht jedes Mal auf export TURTLEBOT3_MODEL = burger klicken, also schreibe ich es in bashrc. (Der Herausgeber ist vertraut)

python


$ gedit ~/.bashrc

In der letzten Zeile

export TURTLEBOT3_MODEL=burger

Schreiben, speichern und schließen.

python


$ source ~/.bashrc

Es wird sich in widerspiegeln. (Wenn TURTLEBOT3_MODEL in Zukunft einen unbekannten Fehler liefert, wiederholen Sie dies bitte erneut.)

Installieren des Turtlebot3-Simulators

python


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

Führen Sie den Simulator aus [RViz]

python


$ roslaunch turtlebot3_fake turtlebot3_fake.launch

Dadurch wird turtlebot3 gestartet.

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

Sie können die Tastatur mit dem folgenden Befehl bedienen. Führen Sie "in einem neuen Terminal" aus.

python


$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

Ausführen des Simulators [Pavillon]

Schließen Sie alle Terminals und starten Sie ein neues.

Führen Sie als Nächstes die Simulation auf Gazebo aus. RViz ist ein Debugging-Tool, das Gazebo jedoch in jeder Umgebung simulieren kann.

Hier simulieren wir in dem Raum, in dem der Standard (?) Pol steht.

python


$ roslaunch turtlebot3_gazebo turtlebot3_world.launch

In (turtlebot3_simulations / turtlebot3_gazebo / launch /) stehen verschiedene Umgebungen zur Verfügung. Leerer Raum >> turtlebot3_empty_world.launch Im Haus >> turtlebot3_house.launch)

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

Vermeiden Sie als nächstes Hindernisse und lassen Sie sie automatisch steuern

python


$ roslaunch turtlebot3_gazebo turtlebot3_simulation.launch

Wenn Sie sich damit den Pavillon ansehen, können Sie sehen, dass er sich selbst kontrolliert.

Wenn Sie RViz starten, können Sie zu diesem Zeitpunkt visualisieren, wie Turtlebot 3 die Entfernung mit einem Laser misst.

python


$ roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch

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


Endlich SLAM-Simulation

Schließen Sie alle Terminals und starten Sie ein neues. SLAM führt gleichzeitig eine Selbstpositionsschätzung und eine Kartenerzeugung durch.

Installieren Sie das SLAM-Modul.

python


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

Dann starten Sie Gazebo erneut.

python


$ roslaunch turtlebot3_gazebo turtlebot3_world.launch

Sobald Gazebo startet, führen Sie SLAM sofort aus.

python


$ roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping

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

Dadurch wird die Kartengenerierung gestartet.

Um eine Karte dieses gesamten Raums zu erstellen, führen Sie einfach das nicht konfliktreiche Programm aus.

python


$ roslaunch turtlebot3_gazebo turtlebot3_simulation.launch

Wenn Sie es für eine Weile verlassen, können Sie eine ganze Karte erstellen.

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

Ich möchte die Karte speichern, sobald sie generiert wurde. Installieren Sie zuerst den Kartenserver.

python


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

Erstellen Sie den Ordner, den Sie speichern möchten (in diesem Fall Karten), und speichern Sie ihn dort.

python


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

Wenn Sie eine Fehlermeldung erhalten: Möglicherweise haben Sie rosrun map_server map_server, den zweiten Zeitsparer.

Sie können die erfasste Karte anzeigen, indem Sie map.pgm öffnen.

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


Referenz How to Launch the TurtleBot3 Simulation With ROS ["ROS Robot Programming Bible"](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? Ie = UTF8)

Recommended Posts

[Ubuntu20.04] Von der ROS-noetischen Installation zur SLAM-Simulation von turtlebot3
[Hinweis] Ablauf von der Docker-Installation bis zum Start von JupyterLab unter Ubuntu
So brennen Sie eine Installationsdiskette von Windows unter Ubuntu
Ubuntu Desktop Upgrade von 18.0.4 (?) Auf 20.04.1 (Fokus)
Von der Einführung bis zur Verwendung von byebug
Ich möchte mit der Berechtigung des Windows-Verzeichnisses von WSL (Ubuntu) herumspielen.
Vom Ziehen des Docker-Images der Schienen bis zum Starten
Zusammenfassung des Mooses beim Update von JMockit 1.4 auf 1.30
Vom Setup bis zur Verwendung des Selenium-Wrappers Selenide
Bestätigung des JDBC-Betriebs von der xampp-Installation unter Ubuntu