ROS Kurulu İki Makine Arasında İletişim

Başlığımız olan ROS kurulu iki makine arasında iletişimi sağlamak için yapmamız gerekenleri anlatıyor olacağım. Bu işlem, bir bilgisayarı komut göndereceğimiz bilgisayar, diğerini ise robot olarak düşünmemizi sağlayacak. Bilgisayarımız üzerinde sanal bir makine oluşturarak işe başlıyoruz.

İlk yapacağımız şey VirtualBox kurmak olacak:

Sanal makinemize Ubuntu kuracağız bu sebeple ubuntu16.04 iso’su indireceğiz.

Buradan iso’muzu indirip sanal makinemize Linux kuracağız. Sanal makineye Linux kurmayı başka bir yazımda anlatıyor olacağım.

Ubuntu kurulu makinemizi oluşturduktan sonra sıra bu makinenin içine ROS kurmak olacak. ROS Kurulumu isimli yazımda adım adım anlatıyorum, üzerine tıklayarak ulaşabilirsiniz.

Ben fiziksel makine + sanal makine olarak tercih ettim. İsterseniz iki makineyi de sanal makine olarak kurabilirsiniz.

Burada dikkat etmemiz gereken durum; İki farklı bilgisayarı haberleştirebilmemiz için iki farklı IP olması gerekiyor. Bu sebeple sanal makinemizin Network ayarlarını değiştirmemiz gerekiyor.

  • NAT: Bağlı olduğu bilgisayarın IP’sini kullanır.
  • Bridge Adapter: Bilgisayar ve sanal makine farklı IP adreslerini alırlar.
  • Host-Only: Sadece bilgisayar ve sanal makine arasında iletişim var.

Fiziksel + sanal Sanal + fiziksel kullanacağım için Network ayarlarını Bridge Adapter olarak değiştiriyorum.

ifconfig   komutunu iki makineye de yazdığım zaman farklı IP’ler aldıklarını görüyorum.

Roscore çalıştıracağımız makineyi seçmemiz gerekiyor. Seçtiğimiz makinenin .bashrc dosyasını düzenleyeceğiz. İlk makinenin IP’sini .bashrc’ye ekleyeceğiz.

export ROS_MASTER_URI=http://30.10.21.37:11311 [İlk makine IP'si]
export ROS_HOSTNAME=30.10.21.37 [İlk makine IP'si]

İkinci makinenin .bashrc dosyasına;

export ROS_MASTER_URI=http://30.10.21.37:11311 [2. makine IP'si]
export ROS_HOSTNAME=30.10.21.46 [1. makinenin IP'si] ekleyeceğiz.

İlk makinede  roscore  komutu çalıştırıyoruz. Ardına yeni terminal açıp rosrun rospy_tutorials listener.py komutu çalıştırıyoruz. İşte bu kadar 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir