'rqt_console' ve 'roslaunch' Komutlarının Kullanımı

‘rqt’ ve ‘turtlesim’ Paketleri İçin Ön Gereksinimler

Bu tutorial aşaması ‘rqt’ ile ‘turtlesim’ paketlerinin ikisinin de kullanımını açıklamaktadır.Bu nedenle iki paketlerden herhangi biri kurulmamışsa, kurunuz.Bu kurulumlar için gerekli kodlar aşağıda belirtilmiştir.

  • $ sudo apt-get install ros-kinetic-rqt ros-kinetic-rqt-common-plugins ros-kinetic-

turtlesim

NOT: Önceki tutorial aşamaları uygulandıysa rqt ve turtlesim paketleri muhtemelen yüklenmiştir.

rqt_console ve rqt_logger_level Komutlarının Kullanımı

‘rqt_console’, düğümlerin çıktılarını ekrana yansıtmak için ROS’un kayıt sistemine (ROS’s logging framework) bağlanmaya yaramaktadır. ‘rqt_logger_level’ ise çalıştıkları düğümlerin ayrıntı seviyesinde (the verbosity level) (DEBUG, WARN, INFO and ERROR) değişiklik yapma iznini vermektedir. Aşağıdaki kodlar, turtlesim düğümünün çıktılarını ‘rqt_console’ ile, bilgi seviyelerini ise ‘rqt_logger_level’ ile incelenmesine olanak sağlar.(İki komut ayrı terminalde çalıştırılmalıdır.)

  • $ rosrun rqt_console rqt_console

  • $ rosrun rqt_logger_level rqt_logger_level

Aşağıdaki şekillerde rqt_console ve rqt_logger_level komutları sonrası gelen, bu komutların ekranları görüntülenmektedir.

-- tr/ROS/Tutorials//rqt_console(start)

Yeni bir terminalde turtlesim çalıştırılır.

  • $ rosrun turtlesim turtlesim_node

Standart düğüm ayrıntı seviyesi olan INFO, turtlesim başladığında onun başlama durumunu yayınlar (publishing). Bu yayın aşağıdaki şekilde gösterilmiştir.

-- tr/ROS/Tutorials//rqt_logger_level

Aşağıdaki şekilde rqt_logger_level üzerinde, düğüm bilgi ayrıntı seviyesinin WARN olarak değiştirilmesi ve düğümün yenilenmesi gösterilmektedir.

-- tr/ROS/Tutorials//rqt_console(turtlesimstart)

Şimdi bu değişikliğin etkisinin görülmesi adına, turtle’ın duvara çarptırılması ve rqt_console’da bu durumun nasıl gösterildiğinin okunması için aşağıdaki hareket komutları yazılmalıdır.

  • $ rostopic pub /turtle1/cmd_vel geometry_msgs/Twist –r 1-- ‘{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}’

Bu komut sonrası rqt_console tepkisi aşağıdaki şekilde gösterilmiştir.

-- tr/ROS/Tutorials//rqt_console(turtlesimerror).png

Detay Seviyeleri Hakkında Kısa Bilgilendirmeler

Detay seviyelerinin öncelik sırası aşağıdaki gibidir.

  • Fatal
  • Error
  • Warn
  • Info
  • Debug

Fatal en yüksek öncelikli iken Debug en düşük önceliklidir.Detay seviyesinin ayarlanması, alınacak mesajların öncelik sıralarına göre düzenlenmesini sağlar.Örneğin, seviyenin Warn’a ayarlanması, Warn, Error ve Fatal mesajlarının alınabilmesini sağlar.Daha az öncelikli mesajlar (Info ve Debug) alınmaz.

‘roslaunch’ Kullanımı

‘roslaunch’ düğümü, belirlenmiş çalıştırma dosyasını başlatır.Kullanımı aşağıdaki gibidir.

  • $ roslaunch [package] [filename.launch]

Bu düğümün kullanımı ‘beginner_tutorial’ paketiyle incelenebilir. Öncelikle daha önce oluşturulup kurulan ‘beginner_tutorials’ paketine gidilir.

  • $ roscd beginner_tutorials

Eğer bu komuttan sonra “roscd:No such package/stack ‘beginner_tutorials’ ” şeklinde bir bildirim alınırsa ,öncelik kaynak çevresinin kurulumu yapılmalıdır (Çalışma alanı oluşturma aşamasındaki gibi.)

  • $ cd ~/catkin_ws

  • $ source devel/setup.bash

  • $ roscd beginner_tutorials

Kurulan ‘beginner_tutorials’ paketine ‘launch’ klasörü açılır.

  • $ mkdir launch

  • $ cd launch

NOT: Bu kütüphanenin adının ‘launch’ olması şart değildir.roslaunch komutu launch dosyalarındaki paketleri otomatik tespit edebilir.

‘Launch’ Dosyası

Bu aşamada örnek olarak bir launch dosyası kurulumu açıklanacaktır.Bu dosyanın adı ‘turtlemimic.launch’ olarak tanıtılır. Bu dosyanın içine aşağıdaki kod dizimi konur.

<launch>

  • <group ns="turtlesim1">

    • <node pkg="turtlesim" name="sim" type="turtlesim_node"/>

    </group>

<group ns="turtlesim2">

  • <node pkg="turtlesim" name="sim" type="turtlesim_node"/>

</group>

<node pkg="turtlesim" name="mimic" type="mimic">

  • <remap from="input" to="turtlesim1/turtle1"/> <remap from="output" to="turtlesim2/turtle1"/>

</node>

</launch>

Launch Dosyasının İncelenmesi

‘launch’ xml dosyası ‘<launch>’ satırıyla başlar ve aynı satırda biter. Aşağıdaki launch xml satır arası, turtlesim1 ve turtlesim2 adında iki isim etiketindeki turtlesim düğümlerini tanıtan kısımdır.Bu iki isim aynı anda iki farklı turtlesim simulasyonu tanıtılmasına olanak sağlar.

<group ns="turtlesim1">

  • <node pkg="turtlesim" name="sim" type="turtlesim_node"/>

</group>

<group ns="turtlesim2">

  • <node pkg="turtlesim" name="sim" type="turtlesim_node"/>

</group>

Mimic düğümü başlatıldığında girdi ve çıktı değerleri turtlesim1 ve turtlesim2 diye yeniden adlandırılır. Bu adlandırma turtlesim2’nin turtlesim1’e mimic edilmesi (yerine geçmesi,yansıtılması,taklit etmesi).

roslaunching

Aşağıdaki kodla roslaunch komutu kullanılarak launch dosyası çalıştırılır.

  • $ roslaunch beginner_tutorials turtlemimic.launch

İki turtlesim başlatılır.Yeni bir terminalde rostopic komutu ile bu turtlelara hareket komutu aşağıdaki kodla iletilir.

  • $ rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist –r 1 – ‘[2.0, 0.0, 0.0]’ ‘[0.0, 0.0, -1.8]’

Bu komutun ardından turtlesim ekranı aşağıdaki şekil gibidir.

-- tr/ROS/Tutorials//mimic

rqt_graph kullanarak launch dosyasının işlevi daha iyi anlaşılacaktır.rqt_graph kodu yeni bir terminale yazıldığında aşağıdaki şekildeki ekrandan düğüm grafikleri elde edilir.

-- tr/ROS/Tutorials//mimiclaunch

(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

'rqt_console' ve 'roslaunch' Komutlarının Kullanımı

Description: Bu aşama ROS içinde ‘rqt_console’ ve ‘rqt_logger_level’ komutlarının debug için (hata tespiti) kullanımını, ‘roslaunch’ ile aynı anda birkaç düğümün çalıştırılmasını açıklamaktadır.

Tutorial Level:

Wiki: tr/ROS/Tutorials/"rqt_console" ve "roslaunch" Komutlarının Kullanımı (last edited 2019-03-28 07:42:37 by AlimKeremErdoğmuş)