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
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.
İ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
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
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
VcXsrv yükleyin
Şimdi ise Windows üzerinden görüntü almak için gerekli olan programı yükleyecegiz.
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
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
İ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 :)