slam ROS2

ROS2'nin Colcon ve Rclpy tabanlı temel iskeleti

  • Çalışma alanı oluştur ve projeyi derlemek
colcon build
#kurulan dosyaların yanına src klasörü eklinir ve proje kodları src folderına yazılır
# bu komut aynı zamanda derleme işlemini de yapar
  • Paket Oluştur
# src klasörünün altında bu paketler depolanır.
# kodlar bunun içerisindeki isim/isim/ klasörü altına yazılır 
# örn:// /my_pkg/my_pkg/new_py.py 
ros2 pkg create paket_ismi --build-type ament_python --dependencies rclpy
  • Oluşturulan nodeları sisteme tanıtmak
# proje dosyasındaki setup.py içerisindeki scriptsin içerisinde örnekteki gibi yazıyoruz.
# "py_node = my_py_pkg.my_first_node:main" # buradaki py_node kendi koydugumuz isimdir
# bu işlemin ardıdnan colcon build ile projeyi tekrardan derlemek ve tanıtmamız gerekir
  • Runtime'da Remapping
# node remapiing
ros2 run my_py_pkg py_node --ros-args --remap __node:=abc ##abc ismi ile yeni node çağırılır

# service remapping
ros2 service call [o nodedaki servis ismi] [servis türü] [parametreler]
örn: ros2 service call /add_two_ints_example example_interfaces/srv/AddTwoInts "{a: 5,b: 9}" 
ros2 run [paket ismi] [node etiketi] --ros-args --remap [node ismi]:=[yeni node ismi] 
ros2 run my_py_pkg add_two_ints_server --ros-args --remap add_two_ints:=yeni_isim

ROS2 ile entegre toollar

  • RQT: Runtime'daki ROS2 bileşenlerini grafikle gösterir.
    rqt #direkt rqt açar
    rqt_graph #direkt rqt node gafını açar
    
  • ROSDEP: İç paket yöneticisidir. Ros harici kullanımda yapılabilir.
  • TF2: Bilgi çerçeverlerininin iletişimini sağlar
  • RVIZ: 3D görüntüleyici
  • URDF: Model tanımlama dilidir.
  • ROS2 DOCTOR: ROS2’nin mevcut durumunu açıklar
  • RQT: ROS2 şemasını gösterir.
  • ROS2BAG: ROS2’nun doğrudan database köprüsüdür.