Bu ödevde göreviniz python'da pynput kütüphanesini kullanarak klavyenizde basılan tuşları okuyan ve klavyenizdeki w,a,s,d tuşlarını kullanarak Turtlebot simülasyonunda robotu aktif bir şekilde hareket ettirmemizi sağlayan bir kod yazmaktır.
Robotun hareketini gerçekleştireceği parkur
rover_odev_video.mp4
Ödevle ilgili daha fazla bilgiye ve yardımcı olacak kaynaklara aşağıdan ulaşabilirsiniz.
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_keyboard_control_assignment.git
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
Turtlebot simülasyonunu kullanmak için gerekli paketleri kurun.
sudo apt install ros-noetic-turtlebot3-simulations
Gazebo'yu ç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
- Robot klavyenin tuşları ile aktif bir şekilde hareket ettirilebiliyor olmalıdır.
- Robot harekete geçtikten sonra 60 saniye hareket etmelidir.
- 60 saniyelik sürenin sonunda robot hareketini sonlandırmalı ve node kapanmalı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.
- Kodunuz yorum satırlarıyla açıklanmalıdır.
Robotun üzerinde bir imu bulunmaktadır ve /imu topic'i üzerinden veri yayımlamaktadır. Arzu ettiğiniz takdirde bu veriyi kullanarak odometri yapıp odometri mesajı da yayımlayabilir ve bunu rviz'de görüntüleyebilirsiniz.