Update: ros2-2d-frontier-exploration
Open markdown file
Upload
Edit Content
[Proje Linki](https://github.com/rag0nn/ros2_2d_frontier_exploration) # maze_pkg Projesi Bu proje, TurtleBot3 robotunun özel labirent dünyalarında simülasyonunu ve otonom gezinmesini sağlamak için geliştirilmiş bir ROS 2 paketidir. Proje, robotun haritalama, keşif, yol planlama ve çeşitli kontrol algoritmalarını içeren çok sayıda ROS2 node ve launch dosyası barındırır. Gazebo ile simülasyon desteği ve harita üretimi de mevcuttur. ## Genel Özellikler - TurtleBot3 için labirent tabanlı simülasyon ortamı - Otonom keşif ve haritalama algoritmaları - Lidar verisi ile harita oluşturma - Farklı kontrol ve navigasyon stratejileri - Çoklu robot desteği ve performans metrikleri - Kolayca özelleştirilebilir konfigürasyon dosyaları ## ROS2 Node'ları ve Görevleri Aşağıda, pakette bulunan başlıca node'lar ve işlevleri listelenmiştir: - **cartographer.py**: Lidar verisiyle harita oluşturur. - **explorer.py**: Otonom keşif algoritmasını uygular, robotun bilinmeyen alanları gezmesini sağlar. - **metric_calculator.py**: Keşif ve navigasyon performans metriklerini hesaplar. - **nav_pose_goal.py**: Robotun hedef pozisyonuna gitmesini sağlar. - **nav_pose_initial_pub.py**: Başlangıç pozisyonunu yayınlar. - **nav_pose_path_compute.py**: Yol planlama ve yolun yayınlanmasını sağlar. - **twist_bridge_cmd_vel_stamped.py**: Hız komutlarını uygun formata dönüştürür. - **wall_fallower.py**: Duvar takip algoritması ile robotun haritada gezinmesini sağlar. ### Yardımcı Node'lar (explorer_tools/) Bu algoritmalar explorer bazı işlevlerini yerine getiren alt modüllerdir. - **frontiers.py**: Keşif için frontier (sınır) noktalarını belirler. - **navigation.py**: Navigasyon yardımcı fonksiyonları. ## Launch Dosyaları ve Görevleri Her bir launch dosyasının işlevi aşağıda özetlenmiştir: - **maze_world_with_tb3.py**: Labirent dünyasında TurtleBot3 ile simülasyonu başlatır. - **maze_world.launch.py**: Sadece labirent dünyasını başlatır (robotsuz). - **multi_explorer.launch.py**: Çoklu robotla keşif simülasyonunu başlatır. - **multi_metrics.launch.py**: Çoklu robotla metrik toplama simülasyonunu başlatır. - **multi_nav2_tb3_simulation.launch.py**: Çoklu TurtleBot3 ile Nav2 tabanlı simülasyonu başlatır. - **nav2_tb3_simulation.launch.py**: Tek TurtleBot3 ile Nav2 tabanlı simülasyonu başlatır. - **nav2.launch.py**: Nav2 navigasyon stack'ini başlatır. - **spawn_tb3.launch.py**: TurtleBot3 robotunu simülasyon ortamına ekler. ## Kurulum 1. Gerekli bağımlılıkları yükleyin: ```bash pip install numpy opencv-python ``` 2. Workspace'i derleyin: ```bash cd ~/Desktop/ene_ws source /opt/ros/jazzy/setup.bash colcon build source install/setup.bash ``` ## Kullanım - TurtleBot3 modelini tanımlayın: ```bash export TURTLEBOT3_MODEL=burger ``` - Simülasyonu başlatmak için: ```bash ros2 launch maze_pkg maze_world_with_tb3.py ``` - Sadece haritayı başlatmak için: ```bash ros2 launch maze_pkg maze_world.launch.py ``` - Duvar takip algoritması ile robotu kontrol etmek için: ```bash ros2 run maze_pkg wall_fallower ``` - Lidar ile haritalama yapmak için: ```bash ros2 run maze_pkg cartographer ``` ## Konfigürasyon Harita ve robot parametreleri `config/` klasöründeki YAML dosyalarından ayarlanabilir.
Save
Remove: ros2-2d-frontier-exploration
Delete Project