Skip to content

rag0nn/ros2_2d_frontier_exploration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:
    pip install numpy opencv-python
  2. Workspace'i derleyin:
    cd ~/Desktop/ene_ws
    source /opt/ros/jazzy/setup.bash
    colcon build
    source install/setup.bash

Kullanım

  • TurtleBot3 modelini tanımlayın:
     export TURTLEBOT3_MODEL=burger
  • Simülasyonu başlatmak için:
     ros2 launch maze_pkg maze_world_with_tb3.py
  • Sadece haritayı başlatmak için:
     ros2 launch maze_pkg maze_world.launch.py
  • Duvar takip algoritması ile robotu kontrol etmek için:
     ros2 run maze_pkg wall_fallower
  • Lidar ile haritalama yapmak için:
     ros2 run maze_pkg cartographer

Konfigürasyon

Harita ve robot parametreleri config/ klasöründeki YAML dosyalarından ayarlanabilir.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published