Tutorial Robot Operating System (Bagian 2) : Bermain dengan kura – kura Turtlesim

1 29

20161005114818422 (1)Sebelum memulai mengeksplorasi secara rinci bagaimana ROS bekerja, embeddednesia akan memulai dengan sebuah contoh sederhana sebagai gambaran awal tentang ROS sekaligus memastikan bahwa ROS telah terinstall dengan benar pada mesin yang  telah disetup sebelumnya. Dalam eksperimen kali ini, embeddednesia akan bermain – main dengan  turtlesim simulator

Pada contoh ini akan digunakan beberapa command dasar yang penting dan akan dibahas lebih mendalam pada sesi tulisan berikutnya

Dalam tutorial ini embeddednesia menggunakan Ubuntu 16.04 LTS dan  ROS versi Kinetic Kame. Bagi pembaca yang belum memiliki environment ROS yang berjalan, silahkan baca tutorial sebelumnya tentang bagaimana cara menginstal ROS.

Tutorial ini juga tersedia dalam format video melalui kanal Youtube dengan judul Hello Turtlesim, jangan lupa like dan subscribe, serta gunakan kolom komentar untuk memberikan saran dan pertanyaan

ROS Master

Pertama,  jalankan terlebih dahulu server ROS dengan menggunakan perintah roscore. Roscore disebut juga master atau server ros,  Buka terminal baru lalu ketik command berikut

roscore

Secara default server akan di jalankan di mesin lokal. Dikarenakan koneksi dengan ROS Master menggunakan protokol TCP/IP maka secara teknis adalah  mungkin jika kita ingin menjalankan server ROS pada mesin yang berbeda, selama  dalam jaringan LAN yang sama.





ROS Node

Jika roscore adalah server ROS, maka aplikasi client di ROS disebut dengan istilah node. Untuk melihat node ROS yang berjalan bisa diguankan gunakan command

rosnode list.

Setelah perintah tersebut dijalankan, anda akan dapat melihat rosout  sedang aktif, rosout adalah node yang berfungsi mengumpulkan informasi dan mencatat output debugging dari node lain.

rosnode list
/rosout

Untuk melihat  informasi lebih rinci dari masing – masing node, bisa digunakan perintah

 rosnode info [NAMA_NODE]

 

Dari command tersebut dapat diketahui topic apa yang di-publish dan di-subscribe oleh node, juga service yang berjalan.

Publisher dan Subscriber

Untuk pemahaman awal, anda bisa membayangkan node sebagai seorang pelanggan dan/atau penerbit suatu majalah yang disebut topic. Node yang berfungsi sebagai subcriber akan berlangganan (subscribe)  sebuah topic tertentu. Sedangkan node yang berfungsi sebagai publisher akan menerbitkan (publish) majalah kepada pelanggan – pelanggannya (subscriber). Sebuah node bisa bertindak sebagai publisher, subscriber ataupun keduanya secara bersamaan.





Turtlesim

Untuk menjalan sebuah node yang bernama turtlesim, gunakan perintah berikut pada terminal

$ rosrun [nama package] [nama node]

Node turtlesim berada di package turtlesim dengan nama  turtlesim_node jadi perintah yang dimasukkan adalah

rosnode list
/rosout
/turtlesim

Pada jendela terminal baru, masukan kembali perintah rosnode list. dan perhatikan terdapat tambahan node aktif yaitu  /turtlesim di dalam list.

Jika penasaran tentang  node turtlesim,  seperti sebelumnya, dapat digunakan perintah rosnode info /turtlesim

rosnode info /turtlesim
--------------------------------------------------------------------------------
Node [/turtlesim]
Publications:
* /turtle1/color_sensor [turtlesim/Color]
* /rosout [rosgraph_msgs/Log]
* /turtle1/pose [turtlesim/Pose]
Subscriptions:
* /turtle1/cmd_vel [unknown type]
Services:
* /turtle1/teleport_absolute
* /turtlesim/get_loggers
* /turtlesim/set_logger_level
* /reset
* /spawn
* /clear
* /turtle1/set_pen
* /turtle1/teleport_relative
* /kill
contacting node http://ROS-16:37185/ …
Pid: 2464
Connections:
* topic: /rosout
* to: /rosout
* direction: outbound
* transport: TCPROS




Rosnode ping

Untuk memastikan koneksi node ke server berjalan baik, bisa digunakan perintah ping seperti berikut

rosnode ping [nama node]

Turtle Teleop Key

Untuk mengendalikan gerak dari si kura – kura Turtlesim, diperlukan Node bernama turtle_teleop_key yang berada di package yang sama dengan  turtlesim_node 

rosrun turtlesim turtle_teleop_key
Reading from keyboard
---------------------------
Use arrow keys to move the turtle.

Jika anda melihat info dari /turtle_teleop dan memperhatikan topic yang dipublish adalah /turtle1/cmd_vel merupakan topic yang sama yang disubscribe oleh /turtlesim. Melalui topic ini lah turtlesim mendapatkan informasi untuk menggerakkan kura – kura sesuai perintah keyboard dari /turtle_teleop

Rostopic echo

Topic /turtle1/cmd_vel yang dikirimkan /turtle_teleop ke /turtlesim dapat dimunculkan pada layar terminal dengan menggunakan perintah

$ rostopic echo [nama_topic]

RQT_GRAPH

Untuk memvisualisasikan hubungan antara /turtle_teleop dan /turtlesim berserta topic apa saja yang terlibat dapat digunakan perintah

rqt_graph

VirtualBox_ROS-16.04VM_24_12_2017_21_34_43-1

Kini kita telah berhasil bermain dengan kura – kura turtlesim, dan selangkah lebih baik mengenal perintah – perintah dasar yang dimiliki oleh ROS.

1 Komen
  1. […] ← Tutorial Robot Operating System (Bagian 2) : Bermain dengan kura – kura Turtlesim […]

%d blogger menyukai ini: