ROS Konularının (Topic) Tanıtımı ve Kullanım Örnekleri

Bu kısımda ‘rostopic’ ve ‘rqt_plot’ komut araçlarının kullanımları incelenmektedir.

  • Öncelikle ROS’u başlatmak için yeni terminalde ‘roscore’ komutunu çalıştırın.
  • Bu kısım içinde ‘turtlesim’ düğümü üzerinden araçlar inceleneceğinden aşağıdaki komutlarla bu düğüm çalıştırılır.
    • $ rosrun turtlesim turtlesim_node

turtle keyboard teleoperation

  • Açılan ‘turtlesim’ düğümü ile ekrana gelen robotun klavye kontrolünü sağlamak için aşağıdaki kodlar kullanılır.
    • $ rosrun turtlesim turtle_teleop_key

Gelen terminal üzerindeyken klavyenin yön tuşları kullanılarak turtleSim robotu hareket ettirilebilir. Bu hareket örneği aşağıdaki şekilde gösterilmiştir.

turtle_key

  • Öncelikle ROS’u başlatmak için yeni terminalde ‘roscore’ komutunu çalıştırın.
  • Bu kısım içinde ‘turtlesim’ düğümü üzerinden araçlar inceleneceğinden aşağıdaki komutlarla bu düğüm çalıştırılır.
    • $ rosrun turtlesim turtlesim_node

turtle keyboard teleoperation

  • Açılan ‘turtlesim’ düğümü ile ekrana gelen robotun klavye kontrolünü sağlamak için aşağıdaki kodlar kullanılır.
    • $ rosrun turtlesim turtle_teleop_key

Gelen terminal üzerindeyken klavyenin yön tuşları kullanılarak turtleSim robotu hareket ettirilebilir. Bu hareket örneği aşağıdaki şekilde gösterilmiştir.

turtle_key

ROS Konuları (ROS Topics)

Yukarıdaki işlemler sonucunda ‘turtlesim_node’ ile ‘turtle_teleop_key’ düğümleri ROS konuları üzerinden birbirleriyle haberleşmeye başlamışlardır. Açılan konu üzerinden ‘turtle_teleop_key’ düğümü klavye etkileşimlerini yayınlarken (publishing) , ‘turtlesim’ düğümü ise aynı konudaki bu tuş iletimlerini takip eder (subscribing). Bu etkileşim ‘rqt_graph’ düğümü üzerinden aşağıdaki aşamalar uygulanarak izlenebilir.

rqt_graph düğümünün kullanımı: rqt_graph sistemde o an olup biteni dinamik bir grafik ile gösterir. rqt_graph, ‘rqt’ paketinin bir aracıdır.Bu nedenle öncelikle aşağıdaki kodlar kullanılarak ‘rqt’ paketi kurulmalıdır.

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

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

Bu komutların akabinde yeni bir terminal açılarak aşağıdaki kodlarla ‘rqt_graph’ düğümü çalıştırılır.

  • $ rosrun rqt_graph rqt_graph

rqt_graph_turtle_key

rostopic

‘rostopic’ aracı ,ROS konuları hakkında bilgi alınmasını sağlar.’rostopic –h’ komutu ile bu aracın alt-komutlarına ulaşılabilir, bu alt-komutların işlevleri hakkında bilgi alınabilir. Bu alt-komutlar aşağıda sıralanmıştır:

  • Rostopic bw: Konunun kullandığı band genişliğini (bandwidth) gösterir.

  • Rostopic echo: Ekrana mesajları yansıtır.

  • Rostopic hz : Konuların yayın yüzdesini (publishing rate) ekrana verir.

  • Rostopic list: Aktif konu hakkında bilgi verir.

  • Rostopic pub: Konuya veri yayınlar:

  • Rostopic type: Konu tipini verir.

rostopic echo

‘rostopic echo’ aracının kullanımı turtle_teleop_key düğümünün data alışverişi üzerinden aşağıdaki gibi gösterilmiştir.

  • Turtle_teleop_key düğümünün ,turtlesim düğümüne gönderdiği hız bilgisi aşağıdaki kodlar kullanılarak görüntülenebilir.
  • $ rostopic echo /turtle1/cmd_vel

  • Eğer bu komut sonrası ekranda hiçbir veri görüntülenemiyorsa ,teleop_key kullanılmamış demektir. Herhangi bir yön tuşuna basıldığı takdirde turtle_teleop_key hareket komutlarını gönderek, rostopic echo üzerinden hız verilerinin görüntülenmesi sağlanacaktır.
  • Bu işlemden sonra ‘rqt_graph’ ile arayüz açılır ,sol üst köşedeki ‘refresh’ tuşuna basılırsa ,aşağıdaki şekildeki gibi yeni bir ‘rqt_graph’ elde edilmiş olacaktır.

rqt_graph_echo

  • Şekilde görüldüğü üzere rostopic echo ,kırmızı renkli, ‘turtle1/command_velocity’ konusunu takip etmektedir.

(!) 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.

ROS Konularının (Topic) Tanıtımı ve Kullanım Örnekleri

Description: Bu kısımda ‘rostopic’ ve ‘rqt_plot’ komut araçlarının kullanımları incelenmektedir.

Tutorial Level:

Wiki: tr/ROS/Tutorials/ROS Konularının (Topic) Tanıtımı ve Kullanım Örnekleri (last edited 2019-03-27 06:02:03 by AlimKeremErdoğmuş)