Ros Örnek Uygulama

ROS Örnek 2

Bu örnek için 2 tane ROS kurulu Linux makineye ihtiyaç vardır. Daha önceki örneklerde Turtlebot imajının indirme adresi verilmiştir (link). Turtlebot imajı içerisinde ROS indigo sürümü yüklü olarak gelmektedir.

KOŞULLAR:

  • Kurulu olan iki sanal makinenin de ağ ayarı KÖPRÜ BAĞDAŞTIRICI olmalıdır. Makinenin kendine has bir ip adresine sahip olmalıdır.

  • Eğer sanal makine üzerinde çalışmıyorsanız iki bilgisayarda aynı ağ üzerinde olmalıdır.

ifconfig

Yukarıdaki komut ile makinenizin ip’sini öğrenebilirsiniz. Eğer ethernet ile bağlıysanız eth0 da yazan inet adr sizin ip adresiniz.

rosornek2.png

Daha sonra aşağıdaki komut ile ana dizine gidelim ve .bashrc dosyasını düzenlemek için açalım.

cd ~
sudo gedit .bashrc
rosornek3.png

ROS_HOSTNAME kısmı bilgisayarın kendi ip adresidir. ROS_MASTER_URI ise hangi bilgisayarı xml-rpc sunucusu yapacaksanız o makinenin ip adresini yazın. Bu 3. bir bilgisayarda olabilir ama haberleşmesini istediğiniz makineler aynı sunucuya bağlanmalıdır. .bashrc dosyasını kaydedip çıkalım ve terminali tekrar başlatalım çünkü .bashrc dosyası terminal açıldığında yüklenen dosyadır ve eğer terminali yeniden başlatmazsanız yeni ipler çalışmayacaktır.

Terminalleri yeniden başlattıktan sonra xml-rpc sunucu yapmak istediğiniz makinenin terminaline aşağıdaki kodu yazalım. Bu kod sunucuyu başlatacaktır.

roscore
rosornek4.png

Şimdi geçen dersteki örnek üzerinden bir düzenleme yapalım ve soldaki makinede rastgele oluşturulmuş 2 sayıyı sağdaki makineye gönderip toplatalım.

Kodların bulunduğu dizine gitmek için:

roscd rospy_tutorials/001_talker_listener

Buradaki dosyasları konsola “ls” yazarak görüntüleyebiliriz. Aşağıdaki kod ile dosyayı açık düzenleyebiliriz.

sudo gedit talker.py

Diğer makinede:

sudo gedit listener.py
rosornek5.png

Düzenlemeleri yaptıktan soldaki makinden talker.py yi başlatıp konuyu yayınlamaya başlayalım.

rosrun rospy_tutorials talker.py

diğer makineden de listener.py dosyasını çalıştırıp konuya abone olalım.

rosrun rospy_tutorials listener.py
rosornek6.png
rosornek7.png