Skip to content

itu-rover/iturover_obstacle_avoidance_assignment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iturover

My battery is low and it's getting dark.

ITU Rover Obstacle Avoidance Robot Assignment

Bu ödevde göreviniz Turtlebot simülasyonu kullanarak reaktif şekilde engelden kaçınma algoritması geliştirmek olacaktır. Robot önüne çıkan engellerden /scan topic'inden gelen LaserScan mesaj türündeki veriyi kullanarak kaçınmalıdır. Robot etrafındaki engelleri tespit etmek için lazer tarayıcı kullanmalı ve aşağıdaki şekilde hareket etmelidir.



  • Hızını önündeki engel durumuna göre değiştirmeli.
  • Önündeki engellere göre uzaktan manevra yapmalı.
  • Robotun hareketi boyunca hızının aynı olması ve robot süpürgeler gibi durduğu yerde dönmesi istenmemektedir.
  • Smooth bir hareket gözlenmelidir.


harita

Robotun hareketini gerçekleştireceği parkur



Robotun hareket süresi 60 saniyedir. Bu süre boyunca koridorda başlangıç noktasından olabildiğince uzaklaşmalıdır. 60 saniyenin sonrasında simülasyon ortamının ışığı söndürülmeli ve robot hareketini sonladırmalıdır. Robotun hareketi aşağıdaki örnekteki gbi olmalıdır.



example.mp4


Ödevle ilgili daha fazla bilgiye ve yardımcı olacak kaynaklara aşağıdan ulaşabilirsiniz.

Kurulum

Bir workspace oluşturun.

mkdir ~/rover_ws
cd ~/rover_ws
catkin_init_workspace
mkdir src

Bu paketi klonlayıp derleyin.

cd ~/rover_ws/src
git clone https://github.com/itu-rover/iturover_obstacle_avoidance_assignment
cd ..
catkin build

İçerisinde launch dosyası olan yeni bir paket oluşturun.

cd ~/rover_ws/src
catkin_create_pkg reactive_robot std_msgs rospy geometry_msgs message_generation
cd reactive_robot
mkdir launch

Kullanım

Turtlebot simülasyonunu kullanmak için gerekli paketleri kurun.

sudo apt install ros-noetic-turtlebot3-simulations

Gazebo ve RViz'i çalıştırmak için aşağıdaki komutu terminal yardımıyla çalıştırın.

roslaunch reactive_robot_sim reactive_robot_sim.launch

İsterler ve Kısıtlamalar



  • Robot bir komut ile harekete geçmelidir.
  • Robot harekete geçtikten sonra 60 saniye hareket etmelidir.
  • Robot, hareketi esnasında lazer tarayıcadan gelen veriyi kullanarak herhangi bir engele çarpmadan hareket etmelidir.
  • 60 saniyelik sürenin sonunda robot hareketini sonlandırmalı, /scan topic'inden unsubscribe olmalı ve node kapanmalıdır.
  • 60 saniyelik sürenin sonunda Gazebo ortamındaki sun adlı ışık Gazebo service'i olan DeleteLight yardımıyla kaldırılmalıdır.
  • Robotun hareketindeki değişimler rospy.loginfo yardımıyla terminalde gösterilmelidir. Örneğin: Started rotating left. Her değişim için yapmayı unutmayınız.
  • Node ile ilgili bilgiler rospy.loginfo yardımıyla terminalde gösterilmelidir. Örneğin: Time limit reached. Stopping...
  • Script'iniz ve simülasyon ortamı aynı anda launch dosyası yardımıyla çalıştırılmalıdır.
  • Launch dosyasının ismi reactive_robot.launch_ olmalıdır.
  • Robotun hareketini ayarlamak için kullanacağınız değişkenlerin değerleri oluşturacağınız launch dosyasından çekilmelidir.
  • Kodunuz yorum satırlarıyla açıklanmalıdır.


Ayrıca bakınız

About

24' software subteam assignment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages