Sonunda windows üzerinde bir sanal makine oluşturmadan Ros ve benzeri linux tabanlı programları kullanabileceğiz. Bunu aslında bizlere sağlayan windows geliştiricileri.Yeni yayınlanan güncelleme sayesinde artık cihazınız üzerinde alt sistemler oluşturabiliyorsunuz. (Ubuntu, Kali vb gibi) Neyse lafı uzatmadan anlatıma geçeyim.

Windows 10’u güncelleyin

WinVersion.png

ROS’un çalışması için Windows 10’un yeni bir sürümünün yüklenmesi gerekiyor. Hangi sürümün yüklü olduğunu Ayarlar -> Sistem -> Hakkında seçeneğine giderek kontrol edebilirsiniz.En az Versiyonun 1703 olması lazım ancak Version 1809 optimum performans için önerilir.

Windows’u güncellemeniz gerekiyorsa, Windows Update’e gidin ve talimatları izleyin.

Windows’ta WSL ve Bash’i yükleyin

WSL için herhangi bir Linux dağıtımı yüklemeden önce, “Linux için Windows Alt Sistemi” isteğe bağlı özelliğinin etkin olduğundan emin olmalısınız: 1.PowerShell’i Yönetici olarak açın ve çalıştırın:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

2.Tamamlandığın da bilgisayarınızı yeniden başlatın.

3.Windows Store’a giriniz ve arama kısmına linux yazarak arama işlemini yapınız.Çıkan Sonuçlar arasından Ubuntu 18.04’ü seçiniz ve Şimdi Al‘a tıklaynız. Ros Setup

İndirme işlemi tamamlandıktan sonra kullanıma hazır bir Linux işletim sistemimiz var :)

Ros Kurulum (Setup)

Hangi sürümün yüklü olduğunu kontrol etmek için, bir bash örneği(ubuntuyu açın) başlatın çalıştırın.

lsb_release -a

Çıktı alt kısıma benzemelidir.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.1 LTS
Release:        18.04
Codename:       bionic

Eski bir sürümü gösteriyorsa, Windows komut satırından bash’ı Windows komut satırından kaldırmanız ve yeniden yüklemeniz gerekir. Uyarı: Bu, WSL’deki mevcut tüm verilerinizi siler. İlk önce bir yedekleme yapın

lxrun /uninstall /full /y
lxrun /install

WSL, ubuntu’ya dayandığından, ubuntu için resmi ros kurulum kılavuzunu kelime ile takip edebilirsiniz.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
curl -sL "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x421C365BD9FF1F717815A3895523BAEEB01FA116" | sudo apt-key add
sudo apt update
sudo apt install -y ros-melodic-desktop-full
sudo rosdep init
rosdep update

Daha sonra ise

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

Basit Bir Test Yapalım

1.Yeni bir bash istemi başlat ve çalıştır roscore

roscore.PNG

2.İkinci bir bash istemi başlat

3.publish.py İçeriği ile yeni bir dosya oluşturun

#!/usr/bin/env python
import rospy
from std_msgs.msg import String
   
pub = rospy.Publisher('chatter', String, queue_size=10)
rospy.init_node('talker', anonymous=True)
rate = rospy.Rate(10) # 10hz
while not rospy.is_shutdown():
   hello_str = "hello world %s" % rospy.get_time()
   rospy.loginfo(hello_str)
   pub.publish(hello_str)
   rate.sleep()

4.Yayıncıyı çalıştır python publish.py publish.PNG

5.Üçüncü bir bash istemi başlat

6.subscribe.py İçeriği ile yeni bir dosya oluşturun

#!/usr/bin/env python
import rospy
from std_msgs.msg import String

def callback(data):
    rospy.loginfo(rospy.get_caller_id() + "I heard %s", data.data)

def listener():
    rospy.init_node('listener', anonymous=True)
    rospy.Subscriber("chatter", String, callback)
    # spin() simply keeps python from exiting until this node is stopped
    rospy.spin()

if __name__ == '__main__':
    listener()

7.Aboneyi çalıştır python subscribe.py subscribe.PNG

VcXsrv yükleyin

Şimdi ise Windows üzerinden görüntü almak için gerekli olan programı yükleyecegiz.

VcXsrv İndir(Download)

VcXsrv’yi yükledikten sonra, kullanmak için WSL’yi de yapılandırmanız gerekir. Bunu yapmak için, ubuntu üzerine alt kısımda ki kodları yazınız.

echo "export DISPLAY=:0" >> ~/.bashrc
source ~/.bashrc

Son olarak, başlat menüsünden VcXsrv‘yi başlatın. Sen hariç tüm varsayılan ayarları tutabilir Native opengl‘nin kapalı olması gerekiyor. Aksi takdirde, rviz gibi uygulamalar beklendiği gibi çalışmaz ve bazı programlar da sıkıntılar yaşıyabiliriz.

Turtle_sim’i çalıştır

Popüler turtle_sim rehberi, WSL’de de iyi çalışıyor.

Yukarıda açıklandığı şekilde kurulmuş, yapılandırılmış ve çalışan bir X Sunucunuz olduğundan emin olun. Yeni bir bash istemi başlat ve alt kısımda ki kodu çalıştırın.

roslaunch turtle_tf turtle_tf_demo.launch

turtle1.PNG

Ok tuşları ile kontrol edebilirsiniz.İkinci bir bash istemi başlat ve çalıştır

rosrun rviz rviz -d `rospack find turtle_tf`/rviz/turtle_rviz.rviz

turtle2.PNG

İyi Kullanımlar. Herhangi bir hatam olduğunu düşünüyorsan hemen yorum yap. Bir şey eklemek istersen bana yaz ve yazımı beğendiysen paylaşmayı unutma :)

ros indigo kinetic melodica windows kurulum setup virtual machine wsl microsoft ubuntu linux python turtle sim vcxsrv ubuntu subsystem