Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
Gazebo'da Evarobot ile SLAM
Description: hector_slam kullanarak Gazebo'da SLAM harita oluşturma.Tutorial Level: BEGINNER
hector_slam Kullanarak Harita Çıkarma
SLAM yapabilmek için hector_slam ros paketi ve evarobot simulator paketi indirilir ve derlenir.
> cd ~/catkin_ws/src > git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam > git clone https://github.com/inomuh/evarobot_simulator.git > cd ~/catkin_ws > catkin_make
SLAM yapmaya başlamadan önce açılması gereken bir kaç düğüm bulunmaktadır. İlk olarak Evarobot gazebo modelini açalım. Örneğimizde SLAM yapacağımız harita UPlat.sdf haritasıdır. Kendi haritanız isim ve yoluna göre world_path isimli argümanda değişiklik yapmalısınız.
> roslaunch evarobot_gazebo evarobot.launch world_path:=$(rospack find evarobot_gazebo)/worlds/UPlat.sdf
SLAM yapmamız için gerekli olan düğümleri çalıştıran gazebo_slam.launch dosyasını açalım. gazebo_slam.launch dosyası hector_slam'in parametrelerini ayarlarak çalıştırmaktadır.
> roslaunch evarobot_slam gazebo_slam.launch
Ayrıca rviz'i açarak görselleştirme yapmak için;
> roslaunch evarobot_viz view_evarobot.launch
İyi bir konumlandırma için SLAM yaparken Evarobot'u klavye ile sürerek haritanın tamamının kaydedilmesini sağlamamız gerekmektedir. Bunun için aşağıdaki kod ile klavye ile kontrol düğümünü açıyoruz.
> rosrun teleop_twist_keyboard teleop_twist_keyboard.py
Tüm ortamın haritasını çıkarma işlemi tamamlandıktan sonra haritayı konumlandırma düğümlerinde kullanmak için kaydetmemiz gerekmektedir. map_saver düğümü ile evarobot_slam/gazebo_map klasörü altına kaydediyoruz.
> rosrun map_server map_saver -f $(rospack find evarobot_slam)/gazebo_map/map
Böylece ortamın haritasını hector_slam paketini kullanarak çıkarmış olduk. Bir sonraki derste bu haritayı kullanarak Evarobot'un otonom hareket etmesine değineceğiz.