Bu proje, Ubuntu 20.04 işletim sistemi ve ROS Noetic üzerinde çalışan otonom bir robot simülasyonudur. Simülasyon ortamı olarak Gazebo kullanılır.
Otonom robot, önceden tanımlanmış bir QR kod algıladığında çizgi takibine başlar, bu sırada ortamın haritasını LIDAR sensörü kullanarak çıkarır. Robot çizgi üzerindeki engellerden kaçarak hattına geri döner. Aynı QR kodu tekrar algıladığında ise çizgi takibini durdurur ve oluşturduğu haritayı kayıt eder.
QR kod algılama ve çizgi takibi işlemleri kamera ile OpenCV kütüphanesi kullanılarak yapılır. Aynı zamanda ortamın haritası çıkarılırken RViz ortamında görselleştirme imkanı sunulur, ardından kayıt edilir.
Robot modeli olarak, kamera ve LIDAR sensörü bulundurduğundan TurtleBot3 Waffle tercih edilmiştir.
-
Workspace oluşturulur, derlenir ve ayarlanır:
mkdir -p metinol_ws/src cd metinol_ws catkin_make echo "source ~/metinol_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc
-
Paket oluşturulur, gerekli ROS bağımlılıkları belirtilir:
cd metinol_ws/src catkin_create_pkg raclab_follow roscpp std_msgs sensor_msgs geometry_msgs cv_bridge image_transport
-
Script oluşturulur ve çalıştırılma izni verilir:
touch ~/metinol_ws/src/raclab_follow/src/line.py chmod +x ~/metinol_ws/src/raclab_follow/src/line.py
-
Çalışma alanına (ROS Workspace) proje klonlanır:
cd metinol_ws/src git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
-
Gazebo'da robot içeren dünya açılır:
roslaunch turtlebot3_gazebo raclab_dunya.launch
-
Launch dosyası ile bütün işlemler başlatılır:
roslaunch raclab_follow line.launch
Yukarıdaki komut ile "raclab_follow" paketi altındaki Script'ler (python, cpp) ve RViz çalıştırılır.
-
Sadece Script çalıştırılır:
rosrun raclab_follow line.py
Otonom robot simülasyonu için Gazebo ortamında bir dünya oluşturulmuştur. Oluşturulan dünyaya QR kod modeli eklemek için aşağıdaki kaynak yararlıdır.
-
GitHub Repository:
https://github.com/mikaelarguedas/gazebo_models
-
YouTube:
https://youtu.be/A3fJwTL2O4g?si=xMR9dMEJOQn9cwpc