3-4 gündür boş zamanlarımı Microsoft Robotics ve Mindstorms kavramlarını kavramakla geçiriyorum. Gerçekten çok zevkli ve kafa dağıtan bir uğraş şuan. Yani çok yeni olduğum için “aghhhh şunu nasıl yapacağım” kısmına tam gelmedim. Daha çok “aaa çalıştı” modundayım.Bu modlarımı da burada paylaşmak istiyorum.
Microsoft Robotics ile yazacağım yazılar hobi sahibi bir insanın tecrübeleri olacağı için çok fazla ağır şeyler,ya da bu kesin böyledir gibi yargılar içeren yazılar olmayacak.Hatta bol bol hatalar bile olacak,ki ben de öğrenim dimi. O zaman giriş ile başlayalım…
Çok derinlere dalmadan,Lego Mindstorms ile birlikte gelen kendi development IDE’sinden azıcık bahsetmek istiyorum. Kod anlamında hiç bir şey barındırmayan, sürükle bıraklar ile akışlar oluşturarak küçük programcıklar yapabiliyorsunuz. Mindstorms’a giriş açısından çok güzel bir IDE aslında. Sürükle bırak kelimeleri sizi yanıltıp, onla program geliştirmek kolay gibi bir yanılgıya kapılmayın ama. Çünkü yapmak istediğiniz kompleks şeyler gerçekten çok zorluyor. Ama giriş açısından 1 gününüzü ayırmayı tavsiye ederim. Çok eğlenceli şeyler yapabiliyorsunuz, ki ayrıca sensor ve motor özelliklerini daha iyi anlıyorsunuz.
Şimdi gelelim Microsoft cephesine…Microsoft, “Her eve robot” diye bir konsept ile başladığı Microsoft Robotics’i, hobi ve akademik amaçlı olarak piyasaya sürdü. En azından bu şekilde şimdilik altını çiziyor.
Microsoft Robotics, belli donanımsal araçları programlayabilmek için size sunulan belli araçlar,servisler ve kütüphanelerden oluşuyor aslında. Robot olayının mekanik kısmını programlayabilmek için size sunulan bir güzellik. Arka taraflarda neler oluyor açıkcası çok merak etmeye gerek yok. Zaten fazla kurcalamayalım diye Robotics Studio çıkmış (: . İlk olarak şu basit soruyu soralım “Temel bir robot nelerden oluşur?”. Tamamen robotla alakasız bir insanın(yani ben) bu soruya cevabı hemen hemen buna benzer birşey olurdu:
“Dışarıya data verebilen ve dışarıdan data alabilen sensörler,mekanik aksam ve bu mekanik aksamı yöneten,dataları yorumlayan bir işlemci”
Bu kadar basit,en azından benim için…Gerisi şu aşamada fazla ilgilendirmiyor beni. Microsoft Robotics ile işte bu işlemciyi programlıyoruz. Böyle data gelirse,şöyle yap,bu datayı verdiğimde bunu yap gibi. Peki bunu nasıl yapıyoruz? Tabi ki .NET kavramı ile. Bildiğimiz C# ile… Peki bunu robotumuzdaki işlemci nasıl anlıyor? .NET’i mi yorumluyor…Yok o kadar da değil. Yani her eve bilgisayar belki,ama her robota Microsoft biraz olmaz. Yazdığımız kodlar çeşitli servisler(DSS) ile robotdaki işlemciye aktarılıyor. Bu kısım aslında oldukça karmaşık ve kompleks bir yapı. O yüzden http://msdn2.microsoft.com/en-us/robotics/Aa731525.aspx adresindeki yazıyı okumanızı tavsiye ederim.
Yazdığımız kodlar bu servisler ile beraber çalışıyor. Aslında kod yazarken bu servislerin bize sağladığı bazı özellikleri kullanarak kodlarımızı yazıyoruz. Bu kodları çalıştırırken manifest dosyaları dediğimiz dosyaları kullanıyoruz. Bu dosyalar XML formatında, hangi donanımı kullanacağınımızı belirten dosyalar. Yani kod yazarken, hiç bir donanıma bağlı değilsiniz…
Ben donanım olarak Lego Mindstorms’u kullanıyorum. Hobi olarak bu işe başlayanlar için sanırım en uygun platform. Size de onu tavsiye ederim…Bir sonraki yazıda Microsoft Robotics ile Lego Mindstorms NXT’yi konuşturacağız…
Not: Buradaki yazılar bir hobi sahibi insan tarafından paylaşılmak istenilen yazılardır. Merak eden ve hobi amaçlı uğraşmak isteyen insanlar hedef alınarak yazılmıştır. Daha ayrıntılı bilgileri:http://msdn.microsoft.com/robotics adresinden alabilirsiniz…