Turtlebot 3 Fake Node Uygulaması
Turtlebot 3 Fake Node Uygulaması
Bu dokümandaki işlemleri uygulamaya başlamadan önce ROS Kinetic, Turtlebot3 ve catkin kurulum işlemlerinin sorunsuz bir şekilde tamamlanmış olması gerekmektedir.
Gerekli kurumları yapabilmek adına yardım alabileceğiniz doküman → https://yapbenzet.org.tr/ros-kurulumu-ve-catkin/ adresinde bulunmaktadır.
cd ~/catkin_ws/src/ git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git cd ~/catkin_ws && catkin_make
İlk aşamada yukarıdaki komutları terminalde sırasıyla girilerek 1. Resimde de görüldüğü gibi catkin klasörüne gidilerek, gerekli olan Turtlebot3 simulasyon paketi yüklendi ve derleme işlemi gerçekleşti.
roslaunch turtlebot3_fake turtlebot3_fake.launch
Bu adımda terminale yukarıdaki komut girilen ros launch komutu ile turtlebot3 simülasyonu Rviz üzerinde başlar. 2. ve 3. resimlerde de komutun başarılı bir şekilde başladığına ve Rviz üzerinde robotun geldiğine dair görüntüler bulunmaktadır.
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
Yeni bir terminal açılarak yukarıdaki komut girilir ve roslaunch turtlebot3 teleop çalıştırılırsa 4 ve 5. resimde de görüldüğü gibi simülasyon ekranı üzerindeki robot ok tuşlarıyla kontrol edilebilir.
roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch
Yukarıdaki komut çalıştırılarak Gazebo üzerinde Turtlebot3 içeren boş bir dünya başlatılır. Gazebo ilk defa çalıştırılıyorsa bu işlem uzun sürebilir. 6 ve 7. resimlerde de görüldüğü gibi komut başarıyla çalışarak Gazebo Turtlebot3 ile boş bir dünya üzerinde gelir.
roslaunch turtlebot3_gazebo turtlebot3_world.launch
Daha sonra yukarıdaki komut çalıştırılarak Gazebo Turtlebot3 dünyası ile çalışır. 8 ve 9. resimlerde de bu uygulama görülmektedir.
roslaunch turtlebot3_gazebo turtlebot3_house.launch
Yukarıdaki komut ile Gazebo ile Turtlebot3 ev simülasyonunda başlatılır.
Simülasyonda Turtlebot3’ün hareket ettirilebilmesi için yeni bir terminal açılarak yukarıda verilen teleop komutu çalıştırılır. Resim 12 ve 13’de de görüldüğü gibi ev simülasyonu üzerinde Turtlebot3 ok tuşlarıyla kontrol edilebilir.
roslaunch turtlebot3_gazebo turtlebot3_world.launch
Yeni bir terminal üzerinde yukarıdaki komut girilerek mevcut ev simülasyonunda yeni bir Turtlebot3 başlatılır
roslaunch turtlebot3_gazebo turtlebot3_simulation.launch
Daha sonra yeni bir terminal daha açılır ve yukarıdaki komut ve resim 16’da görüldüğü gibi Turtlebot3 simülasyonu çalıştırılır.
roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch
Yeni bir terminal açarak yukarıdaki komut girilir ve Turtlebot3 Rviz üzerinde başlatılır. Resim 18’de de görüntülendiği gibi burada robotların laser taraması nasıl çarpışma denetimi yaptığı uygulama ile gösterilmeye çalışılır.
TurtleBot3’ler ile SLAM Uygulaması
roslaunch turtlebot3_gazebo multi_turtlebot3.launch roslaunch turtlebot3_gazebo multi_turtlebot3_slam.launch ns:=tb3_0
roslaunch turtlebot3_gazebo multi_turtlebot3_slam.launch ns:=tb3_1
roslaunch turtlebot3_gazebo multi_turtlebot3_slam.launch ns:=tb3_2
Yukarıdaki komutlar sırasıyla ayrı terminallerde çalıştırılarak 3 tane Turtlebot3 üzerinde SLAM çalıştırılır.
sudo apt-get install ros-kinetic-multirobot-map-merge
Yukarıdaki komut ile çoklu robotlar için çıkarılan haritayı birleştirmek için gerekli ros paketi yüklenir.
roslaunch turtlebot3_gazebo multi_map_merge.launch
Yukarıdaki komut girilir ve aşağıdaki resimlerde de görüldüğü gibi harita birleştirme işlemi başlar.
rosrun rviz rviz -d `rospack find turtlebot3_gazebo`/rviz/multi_turtlebot3_slam.rviz
Daha sonra yukarıdaki komut girilerek Rviz açılır.
rosrun map_server map_saver -f ~/map
Yukarıdaki komut çalıştırılarak çıkarılan harita kaydedilir.