 Bilgi Teknolojileri konusunda hayatımda bir kez olsun eğitim almak hep hayalimdi. Uzun bir aradan sonra sonunda ODTÜ Enformatik Enstitüsü WBL yüksek lisans programına kabul edildim ve sevinçten havalara uçtum. Eylül ayında kayıtlarım ve dersler başlayacak şimdiden sabırsızlınayorum. Herkesin hayallerine bir adım daha yaklaşması dileğiyle.
Bilgi Teknolojileri konusunda hayatımda bir kez olsun eğitim almak hep hayalimdi. Uzun bir aradan sonra sonunda ODTÜ Enformatik Enstitüsü WBL yüksek lisans programına kabul edildim ve sevinçten havalara uçtum. Eylül ayında kayıtlarım ve dersler başlayacak şimdiden sabırsızlınayorum. Herkesin hayallerine bir adım daha yaklaşması dileğiyle.27 Temmuz 2008 Pazar
Tekrar Üniversiteliyim
 Bilgi Teknolojileri konusunda hayatımda bir kez olsun eğitim almak hep hayalimdi. Uzun bir aradan sonra sonunda ODTÜ Enformatik Enstitüsü WBL yüksek lisans programına kabul edildim ve sevinçten havalara uçtum. Eylül ayında kayıtlarım ve dersler başlayacak şimdiden sabırsızlınayorum. Herkesin hayallerine bir adım daha yaklaşması dileğiyle.
Bilgi Teknolojileri konusunda hayatımda bir kez olsun eğitim almak hep hayalimdi. Uzun bir aradan sonra sonunda ODTÜ Enformatik Enstitüsü WBL yüksek lisans programına kabul edildim ve sevinçten havalara uçtum. Eylül ayında kayıtlarım ve dersler başlayacak şimdiden sabırsızlınayorum. Herkesin hayallerine bir adım daha yaklaşması dileğiyle.27 Mayıs 2008 Salı
Robotunuzda Difransiyel Sürüş ile Köşeleri Almak
 Servo ile sürüşten vazgeçmemle birlikte difransiyel sürüş ile ilgilenmem gerekti. Kınematik ve matematik bilgim oldukça temel olmasına rağmen biraz araştırınca difransiyel sürüşü ilgilendiren denklemler konusunda biraz fikir sahibi oldum. Burada gidilen mesafe açısından istenilen açıları dönmek için ne yapmak gerekir buna değineceğim. Zaman, hız ve ivmelenme burada bahsedeceklerim içersinde yer almıyor belki ileride bunlar üzerinde zaman harcama fırsatım olduğunda değinebilirim.
 Servo ile sürüşten vazgeçmemle birlikte difransiyel sürüş ile ilgilenmem gerekti. Kınematik ve matematik bilgim oldukça temel olmasına rağmen biraz araştırınca difransiyel sürüşü ilgilendiren denklemler konusunda biraz fikir sahibi oldum. Burada gidilen mesafe açısından istenilen açıları dönmek için ne yapmak gerekir buna değineceğim. Zaman, hız ve ivmelenme burada bahsedeceklerim içersinde yer almıyor belki ileride bunlar üzerinde zaman harcama fırsatım olduğunda değinebilirim. 
26 Mayıs 2008 Pazartesi
İsminizi Ay'a Gönderin
 
 25 Mayıs 2008 Pazar
Microsoft Robotics Studio, C#, Servo ve IR Sensör ile Engel Tanıma
- Son dereceye 20 derece ekle ve servoyu hareket ettir.
- 500 ms bekle (daha doğru bir okuma için)
- Sharp IR sensörden gelen mesafeyi oku.
- Mesafe ve açıdan gelen bilgilere göre merkez nokta kendin olmak üzere bunu kartezyen koordinat sitemine çiz.
Bahsi geçen adımlar için bir timerdan faydalanıp son okuma derecesini integer olarak tuttum. Timer tick fonksiyona ise yukarıdaki işlemleri ekledim oldukça basit.
8 Mayıs 2008 Perşembe
Robotik Rota Planlama. Gidilecek Açı ve Mesafe Bilinen Noktanın Koordinatlarını Bulmak.
 Bu formül çıkış noktamız oluyor. Biz A açısını ve c yani mesafemizi biliyoruz. Böylece a = SinA x c ve b=CosA x c oluyor. Artık x ve y ekseninde kaç birim ekleyeceğimizi bildiğimiz için a(0,0) noktasından b(?,?) noktasına gidiş için a(0+a,0+b) bizim varış noktamızın yani b noktasının koordinatları oluyor. C# math class yardımıyla bu hesaplamaları basit bir kod yazarak yapabiliriz. Örnek olarak aşağıda yazdığım kodun bir bölümünü bulabilirsiniz.
Bu formül çıkış noktamız oluyor. Biz A açısını ve c yani mesafemizi biliyoruz. Böylece a = SinA x c ve b=CosA x c oluyor. Artık x ve y ekseninde kaç birim ekleyeceğimizi bildiğimiz için a(0,0) noktasından b(?,?) noktasına gidiş için a(0+a,0+b) bizim varış noktamızın yani b noktasının koordinatları oluyor. C# math class yardımıyla bu hesaplamaları basit bir kod yazarak yapabiliriz. Örnek olarak aşağıda yazdığım kodun bir bölümünü bulabilirsiniz.double rada = double.Parse(numDirection.Value.ToString()) * (Math.PI / 180);
double sina = System.Math.Sin(rada);
double da = sina * Double.Parse(numDistance.Value.ToString());
double cosa = System.Math.Cos(rada);
double db = cosa * Double.Parse(numDistance.Value.ToString());
int x = lastx + Convert.ToInt32(da);
int y = lasty - Convert.ToInt32(db);
fncPaintChangePoint(x, y);
fncPaintDrawLine(lastx, lasty, x, y);
start = false;
lastx = x;
lasty = y;
 
 Gidilecek mesafe ve açı verildikten sonra gördüğünüz gibi bu noktalar işaretleniyor. Rotanızdan şaşmamanız dileğiyle.
16 Nisan 2008 Çarşamba
Beyin ile Kontrol, EEG(Electroencephalography), OpenEEG, Örüntü Tanıma ve Alternatif Kullanım Alanları
 1929' da Hans Berger adında bir Alman doktor beyinin elektriksel hareketlerini kayıt edebilen ve bunları grafiksel olarak bir kağıtta gösterebilen buluşunu açıkladı. Ayrıca bu elektriksel hareketlerin beyinin aktivitelerine göre değiştiğini de keşfetti, bu değişimler uyku, oksijen eksikliği ve epilepsi gibi bazı hastalıklarda da ortaya çıkıyordu. İlk başta, diğer bilim adamları kendisine gülmesine rağmen çalışmaları klinik neuro fizyoloji alanında çığır açtı. Teknoloji günümüze kadar oldukça gelişti ve iş bilgisayarları bu yöntemle kontrol etmeye kadar geldi. Tabiki bunu "acaba herhangi bir cihazı düşünerek kontrol edebilirmiyim?" sorusunu biraz araştırırken öğrendim. Aklıma ilk gelen robot kontrolü için bu yöntem kullanılabilirmi sorusu oldu? (Resim Kaynak OpenEEG)
1929' da Hans Berger adında bir Alman doktor beyinin elektriksel hareketlerini kayıt edebilen ve bunları grafiksel olarak bir kağıtta gösterebilen buluşunu açıkladı. Ayrıca bu elektriksel hareketlerin beyinin aktivitelerine göre değiştiğini de keşfetti, bu değişimler uyku, oksijen eksikliği ve epilepsi gibi bazı hastalıklarda da ortaya çıkıyordu. İlk başta, diğer bilim adamları kendisine gülmesine rağmen çalışmaları klinik neuro fizyoloji alanında çığır açtı. Teknoloji günümüze kadar oldukça gelişti ve iş bilgisayarları bu yöntemle kontrol etmeye kadar geldi. Tabiki bunu "acaba herhangi bir cihazı düşünerek kontrol edebilirmiyim?" sorusunu biraz araştırırken öğrendim. Aklıma ilk gelen robot kontrolü için bu yöntem kullanılabilirmi sorusu oldu? (Resim Kaynak OpenEEG) EEG yani Electroencephalography beyindeki elektriksel hareketleri algılayan bir cihaz olduğundan bahsetmiştim. Peki nedir bu elektriksel hareketler? Beyinin farklı bölgelerinde sürekli olarak elektriksel faliyetler meydana geliyor, bu faliyetler bölgeye, algılara ve duyulara göre değişim gösteriyor ve çoğu 1-20Hz aralığında meydana geliyor. Bu hareketleri dalga olarak ortaya çıkıyor ve 5 çeşite ayrılyor Alpha, Beta, Delta,Theta ve Gamma dalgaları. Her bir dalga beyinin farklı bir bölgesinde ve farklı faliyetlerde ortaya çıkıyor örneğin Delta dalgaları 3 Hz e kadar çıkabilmekle beraber yetişkinlerin ön loblarda ortaya çıkıyor ve uyurken değişim gösterebiliyor (Sol tarafta örnek bir delta dalgasını görebilirsiniz). (Resim Kaynak: Wikipedia)
EEG yani Electroencephalography beyindeki elektriksel hareketleri algılayan bir cihaz olduğundan bahsetmiştim. Peki nedir bu elektriksel hareketler? Beyinin farklı bölgelerinde sürekli olarak elektriksel faliyetler meydana geliyor, bu faliyetler bölgeye, algılara ve duyulara göre değişim gösteriyor ve çoğu 1-20Hz aralığında meydana geliyor. Bu hareketleri dalga olarak ortaya çıkıyor ve 5 çeşite ayrılyor Alpha, Beta, Delta,Theta ve Gamma dalgaları. Her bir dalga beyinin farklı bir bölgesinde ve farklı faliyetlerde ortaya çıkıyor örneğin Delta dalgaları 3 Hz e kadar çıkabilmekle beraber yetişkinlerin ön loblarda ortaya çıkıyor ve uyurken değişim gösterebiliyor (Sol tarafta örnek bir delta dalgasını görebilirsiniz). (Resim Kaynak: Wikipedia) Amplifikatör Modular EEG (Kaynak http://openeeg.sourceforge.net/doc/modeeg/modeeg.html)
Amplifikatör Modular EEG (Kaynak http://openeeg.sourceforge.net/doc/modeeg/modeeg.html)
 
 Digital Board Modular EEG (Kaynak http://openeeg.sourceforge.net/doc/modeeg/modeeg.html)
Bu devrelere bağlı elektrodlar yardımıyla beyindeki elektriksel aktiviteleri kaydetmek için bilgisayarınıza bir arabirim sağlayabiliyorsunuz. Mantığıma göre eğer bir değişimi ölçebiliyorsak bunu bir girdi olarak kullanabiliriz. Bu girdi televizyonu açmak ta olabilir yada bir robotu ileri hareket ettirmek te olabilir. Bence buradaki normal dönemdeki patternları ölçerek ve farklı tepkilerimizdeki değişimlerini kullanarak bu tepkilerimizle bir devre yardımıyla acaba kontrol edebilirmiyiz?
Bunu öğrenmek için önce mevcut projemi bitirmem, 200€ luk bir tasarruf yapmam ve bu konudaki iştahımı arttırmam gerekiyor. Şimdilik sadece bir düşünceden ibaret.
15 Nisan 2008 Salı
12V u 5V a düşürmek
 Daha önce robotuma SBC monte etmek istediğimden sözetmiştim. Bu isteğimle beraber 12V luk akümden 12V çeken serializer.net in yanına 5v çeken bir sbc kullanmam gerekiyor. İkisini aynı aküden besleme isteğimle beraber (ağırlık meselesi) bu tarz işlemleri yapmak için %45 verimlilikle çalıştığı söylenen lineer voltaj regülatörleri ve %80'e yakın verimlilikle çalışan switching voltaj regülatörleri olduğunu öğrendim. Bu switching voltaj regülatörlerini aramama rağmen bulamamla beraber esnaf arkadaşlar bu işi kendimin yapabileceğini söyledi. Kendi devrelerimi hazırlamaktan sürekli kaçmama rağmen bulduğum şemayla beraber gerekli devre elemanlarını istedim ve kendim yapmaya karar verdim.
 Daha önce robotuma SBC monte etmek istediğimden sözetmiştim. Bu isteğimle beraber 12V luk akümden 12V çeken serializer.net in yanına 5v çeken bir sbc kullanmam gerekiyor. İkisini aynı aküden besleme isteğimle beraber (ağırlık meselesi) bu tarz işlemleri yapmak için %45 verimlilikle çalıştığı söylenen lineer voltaj regülatörleri ve %80'e yakın verimlilikle çalışan switching voltaj regülatörleri olduğunu öğrendim. Bu switching voltaj regülatörlerini aramama rağmen bulamamla beraber esnaf arkadaşlar bu işi kendimin yapabileceğini söyledi. Kendi devrelerimi hazırlamaktan sürekli kaçmama rağmen bulduğum şemayla beraber gerekli devre elemanlarını istedim ve kendim yapmaya karar verdim.
12 Nisan 2008 Cumartesi
İlk Robotumun ve İlk Hareketleri
Uzun bekleyişler ve biraz hayal kırıklığından sonra ilk robotumun ana hatlarıyla montajını bitirdim. Şu an için encoder bağlı değil ancak video da göreceğiniz gibi servo ve motorlar çalışıyor. Bir adet usb kamera eklemeyi de ihmal etmedim. SBC için bir regüle devre hazırlar hazırlamaz SBC nin montajını da yapacağım böylece artık laptop'a bağlı kalmama gerek kalmayacak ve robot kapalı bir sistem olma yolunda bir adım daha atmış olacak.
Mekanik aksam beklediğimden çok daha iyi oldu plexiglass sakat ama kolay çalışabilir ve şık bir malzeme. Robotun ortaya çıkması ve belirginleşmesiyle beraber insan daha bir heyecanlanıyor. Bu arada eşimden robotun çok güzel olmasına rağmen çekimin ve çekim yerinin çok kötü olduğuna dair bir yorum aldım. Robotumu masadan kaldırıp evde dolaşırken bir video daha hazırlayacağım ancak bu konuda şu an için zaman harcamak istemiyorum. En azından bir fikir vermesi açısından bu ilk hareketler şimdilik yeterli olur sanırım.
Herkesin hayallerinin gerçek olması dileğimle.
 
.jpg)