Ich wollte SLAM ausprobieren, also habe ich es als Eingang versucht.
--Installation
Umgebung ubuntu 20.04
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.
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
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
python
$ roslaunch turtlebot3_fake turtlebot3_fake.launch
Dadurch wird turtlebot3 gestartet.
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
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)
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
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
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.
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.
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