gezegen logosu

March 14, 2011

Çetin Meriçli

</PhD>

14 March 2011 @ 12:49 AM

January 07, 2011

Çetin Meriçli

The sun is the same in a relative way

07 January 2011 @ 10:17 PM

December 16, 2010

Gürer Özen

robocup istanbul

Tüm dünyadan bilim insanlarının, geliştirdikleri robot futbol takımlarıyla katıldığı bir yarışma olan RoboCup 2011, Boğaziçi Üniversitesinin ev sahipliğinde 5-11 Temmuz 2011 tarihleri arasında İstanbul'da yapılacak.

Bu güzel olayın basındaki yankıları ise içler acısı. Etkinliğin ana sitesine bakıp yada düzenleme komitesine sorup bilgi almayı beceremeyen zeka özürlü basınımız nereden çıktığı belli olmayan bazı yanlış bilgiler üretmiş.

Bu yanlışların en acıklısı ise, neredeyse on yıldır bu işin içinde olup kazandıkları başarılar ve uluslararası robotik camiasındaki çalışmalarıyla bu etkinliğe ev sahipliği yapabilmememizi sağlayan bilim insanlarımızı sallamayıp, etkinliğe "İstanbul"un ev sahipliği yaptığını yazmak.

Haberde konuşulan kişiler bu durumdan hiç rahatsız olmadı mı acaba. Üniversitelerimiz şark kurnazlığını bırakıp, gerek uluslararası alanda gerek yurtiçinde birlikte ve etik kurallara uygun şekilde çalışmayı öğrenebilecekler mi göreceğiz.

16 December 2010 @ 11:52 PM

Tekin Meriçli

RoboCup 2011 İstanbul’da!

Evet, başlığı doğru okudunuz. Yapay zeka ve zeki robotlar konusundaki dünyanın en büyük ve prestijli organizasyonu olan ve her sene dünyanın farklı bir ülkesinde düzenlenen “Robot Olimpiyatları” olarak da tanımlayabileceğimiz RoboCup, bu sene Boğaziçi Üniversitesi‘nin ev sahipliğinde  5-11 Temmuz 2011 tarihleri arasında İstanbul’da gerçekleştirilecek. Organizasyon bünyesinde temel olarak futbol, afet sonrası arama-kurtarma, ve zeki servis robotları temalı kategoriler bulunmakta. Bunlara ek olarak ilk ve orta öğretim öğrencilerinin futbol ve arama-kurtarma senaryolarının basitleştirilmiş ve ölçeklendirilmiş uyarlamaları ile dans kategorilerinde yarıştıkları bir de Genç (Junior) kategorisi mevcut. Unutmadan söyleyeyim, RoboCup 2011′in kapıları 7-10 Temmuz 2011 tarihleri arasında ziyaretçilere açık olacak! Dilerseniz şimdi RoboCup ile ilgili detaylara bir göz atalım.

RoboCup, 1997 yılından beri her yıl farklı bir ülkede düzenlenen, olimpiyat ölçeğinde yarışmalar ve bir sempozyumdan oluşan bilimsel bir organizasyondur. Her sene RoboCup’ı düzenlemek isteyen ülkeler birer adaylık dosyası hazırlayarak Uluslararası RoboCup Federasyonu‘na sunar ve çok aşamalı bir eleme süreci sonucunda seçilen ülke RoboCup’ı düzenlemeye hak kazanır. 2011 RoboCup Organizasyonu’nu İstanbul’a alabilmek amacıyla başkanlığını Boğaziçi Üniversitesi Mühendislik Fakültesi Dekanı ve Bilgisayar Mühendisliği Bölümü öğretim görevlisi Prof. Levent Akın ile yine Bilgisayar Mühendisliği Bölümü’nde doktora çalışmalarını sürdürmekte olan ağabeyim Çetin Meriçli ve bendenizin yapmakta olduğu organizasyon komitesi olarak çok ter döktük ve aralarında RoboCup’a katılım konusunda Türkiye’den çok daha aktif olan İran’ın da yer aldığı pek çok aday ülkeyi geride bırakarak RoboCup’ı ülkemize getirmeye hak kazandık. Bugüne kadar sadece ABD, Japonya, İtalya, Fransa, İsveç, Avustralya, Portekiz, Avusturya, Almanya, Çin ve Singapur’un bu organizasyona ev sahipliği yapmış olduğu düşünülecek olursa Türkiye’nin bu bağlamda çok özel bir konumda olduğunu söyleyebiliriz.

RoboCup başlangıçta robot futbolunu standart bir problem olarak alıp hedefini “17 Temmuz 2050 günü tam özerk, insansı robotlardan oluşan bir takımın FIFA kurallarına göre oynayarak o yıl Dünya Kupası şampiyonu olacak takımla futbol oynayıp yenmesi” şeklinde belirlemişti. Takip eden senelerde futbola ek olarak afet sonrası arama-kurtarma ve gündelik yaşamda kullanılacak servis robotları kategorilerinde de yarışmalar yapılmaya başlandı. Bu kategorilerin bazılarında yarışmacılar hem robotları inşa edip hem yazılım geliştirirken bazı kategoriler sadece benzetim ortamında, bazı kategoriler ise insansı robot Nao gibi standart robot platformları üzerinde yazılım geliştirme ve yarıştırma bazında yapılmaktadır.

Senelere göre bir parça değişmekle birlikte RoboCup dünyanın 40′tan fazla ülkesinin en iyi üniversitelerinden 2000′in üzerinde araştırmacıyı, Junior liglerinde yarışan gençler de göz önüne alındığında 3000′den fazla katılımcıyı ağırlar. Çok popüler ve prestijli bir organizasyon olduğundan pek çok aday takım yarışmalara katılmak için yarışmak istedikleri liglerin Teknik Komite’lerine genelde içinde takımın konu ile ilgili araştırmalarını detaylıca anlatan bir rapor ve robotlarının ve/veya yazılımlarınn mevcut durumunu gösteren bir video bulunan bir başvuru paketini gönderip elemelere dahil olurlar. Bu başvurular Teknik Komite üyeleri tarafından değerlendirilir ve belirli sayıda takım bu ön eleme sürecini geçip yarışmalara katılma hakkı kazanır.  Dolayısıyla özellikle son dönemde medyamızda yer alan RoboCup temalı haberlerdeki “X takımı RoboCup’a katılacak”, “Y takımı robot dünya kupası finallerine gidiyor” gibi ifadeler görürseniz pek aldanmayın, çünkü az önce açıklamış olduğum gibi RoboCup’a katılmak için sadece istemek değil aynı zamanda bilgi, beceri, ve donanım açısından bu işte gerçekten çok iyi olmak gerekiyor. Öte yandan liglerin Teknik Komite’leri 2011′de yarışacak takımları henüz seçip ilan etmiş değil (en azından üyesi olduğum Standart Platform Ligi Teknik Komitesi’nde oylama hala devam etmekte, sonuçlar ise 17-24 Aralık 2010 haftası takımlara bildirilecek). İran’da RoboCup temalı projeler üzerinde çalışan 400 civarında takım olduğu düşünülürse elbette gönül ülkemizden de bu yarışmaya katılmaya hak kazanabilecek kalibrede pek çok takım çıksın ister. Türkiye’de RoboCup çalışmalarına Boğaziçi Üniversitesi Bilgisayar Mühendisliği Yapay Zeka Laboratuvarı 2001′den beri RoboCup’ın Standart Platform Ligi’ne katılıp yarışan Cerberus ve 2002′den beri Arama Kurtarma Benzetim Ligi’nde yarışan RoboAKUT takımları ile öncülük etmiştir. 2009′dan sonra ise Boğaziçi Üniversitesi takımlarına Küçük Boy Ligi’nde yarışan Elektronik Mühendisliği Bölümü takımı BRocks eklenmiştir. Cerberus SPL’de 2005 yılında Teknik Meydan Okuma kategorisinde dünya şampiyonu olmuş ve defalarca çeyrek final oynamıştır. Arama kurtarma takımımız RoboAKUT ise 2010 yılında dünya şampiyonu olmuş ve 2005 yılında yarı finale kadar yükselmiştir. Boğaziçi Üniversitesi takımlarına ek olarak 2009 senesinden beri Dokuz Eylül Üniversitesi’den RoboPub ve 2010′da İTÜ’den beeStanbul takımları 3B Futbol Benzetimi Ligi’nde elemeleri geçip yarışmalara katılarak RoboCup’taki Türk temsilini güçlendirmişlerdir.

Bolca stresli ancak bir o kadar da keyifli ve heyecan verici olan RoboCup 2011 organizasyon hazırlıkları tam yol devam ediyor. Çok güzel bir organizasyon gerçekleştireceğimize eminim ve böyle büyük bir organizasyonun başkan yardımcılığını yapıyor olmaktan büyük gurur duyuyorum. 7-10 Temmuz 2011‘de hepinizi Robot Olimpiyatları’nda görmek dileğiyle!

Organizasyonu daha yakından takip etmek ve daha detaylı bilgilere erişmek için lütfen RoboCup 2011 resmi ağ sayfasını ziyaret edin. Facebook grubumuza üye olmayı da ihmal etmeyin. :)

16 December 2010 @ 09:41 PM

December 15, 2010

Çetin Meriçli

RoboCup 2011 hakkında bazı yanlış anlamalar

Özellikle son bir kaç günde aralarında ntvmsnbc‘nin de bulunduğu bazı web sitelerinde RoboCup ile ilgili haberler gördüm. Bu haberlerdeki bazı bilgi eksiklerini ve yanlışları düzeltmek gerekiyor.

  • RoboCup 2011 İstanbul’un evsahipliği ile değil Boğaziçi Üniversitesi‘nin evsahipliği ile İstanbul’da 5-11 Temmuz 2011 tarihleri arasında düzenlenecek. Bunu özellikle vurgulamamın sebebi böyle dev bir organizasyonun kendi kendine ya da kolayca düzenlenmesinin mümkün olmaması. Bu hakkın elde edilmesinin ardında 2007′den beri yürüttüğümüz yoğun kulis çalışmalarının yanında Boğaziçi Üniversitesi robot ekibinin 2001′den bu yana 10 yıldır bu yarışmalarda birden çok kategoride ter dökmesinin, 2009′a kadar Türkiye’den bu yarışmalara katılabilen (katılan değil, sebebini aşağıda yazacağım) tek ekip olmasının, ve iki dünya şampiyonluğu, bir yarı final, çeşitli kereler çeyrek final oynamasının, son olarak da bu çalışmaların meyvesi diyebileceğimiz 40′tan fazla uluslararası yayın ve tezin katkılarının yattığını söylemek yerinde olur.
  • RoboCup’a her isteyen takım istediği zaman katılamıyor. Her  kategorinin belli bir takım sayısı var ve başvuran takımlar arasından yarışmaya hak kazanacak takımlar hem sergiledikleri beceriler, hem de bilimsel yaklaşımlarını ortaya koyan teknik raporlar göz önüne alınarak RoboCup Federasyonu tarafından belirlenmekte. Bu zorlu ön eleme sürecinin sonuçları ise genellikle Şubat civarında belli oluyor. Dolayısı ile RoboCup 2011′de yarışacak takımlar bugün itibarı ile henüz belirlenmiş değil.
  • RoboCup 2011 organizasyonu, tam listesine şuradan ulaşılabileceğiniz düzenleme komitesi tarafından organize ediliyor.
  • 2011 yılında yarışmalara 40′tan fazla ülkeden 4000 araştırmacı ve 1500′den fazla robotun katılması bekleniyor

Bu konuda haber yapmak isteyenlerin ufak bir Google taraması yaparak ulaşabilecekleri http://www.robocup2011.org/tr/ adresinden,  ya da organizasyon komitesi ile temasa geçerek daha detaylı bilgiye ulaşmaları mümkün.

15 December 2010 @ 09:49 PM

September 14, 2010

Çetin Meriçli

20 yıl sonra…

Daha önce üstte soldaki resim için bir girdi yazmış ve şöyle demiştim: “İki bilişim fidanı (uyuyacaklar, büyüyecekler, Knuth olacaklar) ZX Spectrumlarının başındalar.”

Çıkan kısmın özeti: 20 yılın sonunda henüz Knuth olamadık. Bakalım 10 sene sonraki resimde durum ne olacak.

Not: Aynı monitörü de bulabilsek iyi olacaktı ama ne yapalım artık.

14 September 2010 @ 07:34 PM

August 12, 2010

Gürer Özen

arsız reklam :)

iO kartımızla kolayca çeşitli hareketli prototipler yaparken motor sürücülere de sık sık işimiz düşüyordu.

kart resmi Her seferinde uğraşmak yerine, kullanışlı ve küçük bir tane ürettik. Sizin de ilginizi çekiyorsa bu sayfadan detaylı bilgi alabilirsiniz.

12 August 2010 @ 04:04 AM

August 07, 2010

Tekin Meriçli

Koş robot koş

Robotları seviyoruz; bazı işleri bizim yerimize ve genelde bizden çok daha iyi, hızlı, ve güvenilir yapıyorlar. Zeki robotları daha çok seviyoruz; bulunabilecekleri her durumu önceden düşünüp ilgili davranışları tasarlamaktan bizi kurtarıyorlar. Ancak en çok mobil zeki robotları seviyoruz; iş görecekleri alan bizim onları götürüp yerleştirdiğimiz ve onların manipülatörleri ile erişebildikleri alanla kısıtlı kalmıyor, görev alanlarına kendileri ulaşabiliyorlar. Mobilite robotlar için de insanlar ve hayvanlar için olduğu kadar önemlidir. Hareket edebilme ve yer değiştirebilme yeteneği sayesinde robot içinde bulunduğu ortamı ve dolayısıyla algılarını değiştirebilir, değişik algılar sayesinde değişik deneyimler edinebilir.

Robotlar hareket etmek için iş göreceği ortama göre tasarlanan pek çok değişik mobilite konfigürasyonu kullanabilirler. Tekerlekler, paletler, bacaklar, yüzgeçler, ve pervaneler bazı örnekler olarak gösterilebilir.

Hangi mobilite konfigürasyonu seçilirse seçilsin, robota verilen hareket komutlarını bireysel motor komutlarına çevirmek için bir takım kinematik hesapları yapmak gerekir. Kinematik hesaplarının karmaşıklığı da mobilite konfigürasyonuna karar verilmesinde ve tasarlanmasında oldukça etkilidir. Bu yazımda özel olarak bacaklı robotların hareket ettirilmesi üzerinde duracağım.

Bacaklı robotlarla ilk olarak 2003 yılında Boğaziçi Üniversitesi Yapay Zeka Laboratuvarı‘nda tanıştım.

Bu robot bir Sony Aibo ERS-210 idi. Aynı sene gönüllü olarak RoboCup‘ın 4-bacaklı Ligi’nde (şimdiki Standart Platform Ligi) yarışan Cerberus robot futbolu takımı için çalışmaya başladım. Takıma dahil olduğumda gördüğüm en önemli eksik hızlı ve esnek bir hareket modülünün olmamasıydı. Bu duruma el atmaya karar verdim ve lisans tezimin de bir parçası olarak Aibo robotları için hızlı ve esnek bir hareket modülü geliştirdim. Buradaki en önemli gereksinim robotun vücudunun doğrultusunu değiştirmeden istenen her yöne doğru ve limitler dahilinde istenen her hızda hareket edebilmesiydi (omnidirectional motion). Bir alışveriş arabasının hareketi bu hareket tipine en iyi örnek olarak verilebilir; arabanın ön kısmının baktığı yönü değiştirmeden onu sağa sola çekebilir, çapraz ilerletebilir, kendi etrafında döndürebilir, ya da tüm bu hareketlerin birleşimi ile oluşan daha karmaşık bir hareket elde edebilirsiniz. Öyleyse bu hareket serbestliğini elde edebilmek için robotun bacaklarına birer tekerlekmiş gibi davranıp onların dönüş doğrultularını değiştirerek robotu istediğimiz gibi hareket ettirebilecektik. Şu aşamada çözülmesi gereken iki problem vardı: her bir bacağın nasıl hareket edeceği ve 4 bacağın birbirleriyle nasıl koordine olacakları. Bacakların hareketleri için patileri yarım elips şeklinde bir patika üzerinde ilerletmeyi uygun gördük; yarım elipsin eğri kısmında bacak yerden havalanacak, düz kısmında ise yere basıp yere paralel olarak robotu hareket ettirecekti. Bu patikayı takip edebilmek için önceden bahsettiğim kinematik hesaplarına ihtiyacımız olduğundan bacakların basit bir kinematik modelini oluşturup robotun patisinin yarı eliptik patika üzerinde istediğimiz bir noktaya gidebilmesi için eklem açılarının hangi değerleri almaları gerektiğini ters kinematik denklemleri ile hesapladım. Sonrasında robotun patisini bu patika üzerindeki noktalara sırasıyla göndererek sürekli bir hareket elde ettim. Şu ana kadar anlattıklarımı aşağıdaki şekil özetliyor.

Bu şekilde patinin belirlenen patika üzerindeki noktaları sırasıyla takip ederek nasıl hareket ettiği görülüyor. Ayrıca bahsettiğim “alışveriş arabası” hareketinin ileri, sol, ve dönüş hareketlerinin bileşimi ile nasıl elde edilebileceği de sağ alt köşede gösteriliyor. İkinci problemimiz olan bacakların koordinasyonu sorununu da çapraz bacakları aynı anda hareket ettirip karşılıklı bacaklar arasına Pi kadar faz farkı koyarak robotumuzu literatürde trot gait olarak geçen yürüyüş stiline kavuşturarak çözdüm. Robot yeterince hızlı hareket ettiği için bu yürüyüş stilinde denge problemi de yaşanmıyor. Son olarak atılması gereken adım ise en verimli yürüyüşü elde etmek için robotun hareketini belirli parametreler ile tanımlayıp bu parametrelerin eniyi (optimal) değerlerini elde etmekti. Bu aşamada makine öğrenmesi devreye girdi. Yarı eliptik yörüngelerin yarıçapları, hareketsiz duruş sırasında patilerin gövdeye göre olan ilk konumları, robotun gövdesinin yerden yüksekliği, ve yarı eliptik yörüngenin kaç tane ara noktaya bölüneceği gibi değerler genetik algoritmalar kullanılarak optimize edildi. Bu süreç kabaca şöyle işlemektedir. Bu parametrelerin değişik değerleri ile bir popülasyon oluşturulur ve popülasyondaki her bir birey robot üzerinde denenip belirlenen bir performans kriterine göre (bu durumda bizim performans kriterimiz robotun hızı idi) performansı ölçülür. Tüm bireyler bu şekilde denendikten sonra en iyi performansı sağlayan bireyler kromozomların çaprazlandığı gibi çaprazlanır ve bu çaprazlamalar sonucu daha sağlıklı bireylerden oluşan yeni bir popülasyon oluşturulur ve kötü performans gösteren bireyler de “en sağlıklı olan hayatta kalır” prensibi gereği yok olurlar. Performans belirli bir değere ulaşıp daha fazla iyileşemez hale geldiğinde süreç durdurulur ve en sağlıklı birey, yani parametre değerleri robot üzerinde kullanılmaya başlanır. Bu tasarımımız ile Aibo ERS-210 robotları ile o zamana kadar elde edilememiş bir hız olan 315 mm/s hıza erişip çalışmamızla gurur duymuştuk. :)
Bir sonraki yazımda çok daha zor bir problem olan insansı robotların hareket ettirilmesi ve bu konuda şu ana kadar yapılmış çalışmalardan bahsedeceğim. Görüşmek üzere. :)

07 August 2010 @ 05:14 PM

Aldebaran Robotics ziyareti

14-17 Ocak 2009 tarihleri arasında Aldebaran Robotics’in Paris’teki ofisinde düzenlenen çalıştaya davetliydik. Çalıştayın amacı RoboCup Standart Platform Ligi’nin Sony Aibo’dan sonraki yeni standart platformu olan Nao’nun son versiyonu olan V3′ü takımlara tanıtmak, önceki versiyonlara kıyasla donanım ve yazılımda yapılan değişiklikleri anlatmak, ve bu sene ilk olarak lige dahil olacak yeni takımları hızlıca robota alıştırıp onları robotları güvenli bir şekilde kullanabilecekleri seviyeye getirmekti. Her takımdan 2 kişi davet edilmişti ve Cerberus takımını temsilen Çetin Bey ve bendeniz yollara düştük. Takımımızın genelde maceralı geçen yolculukları gözönüne alındığında hiçbir sorun yaşamadan Paris’e varmamız bizi şaşırttı ve bu yolculuğumuzu şu ana kadarkilerin en başarılısı ilan ettik. Paris gerçekten güzel bir şehir.

Aldebaran’ın ofisi ile kalacağımız otel arasında sadece 5 dakikalık yürüme mesafesi vardı. İlk olarak eşyalarımızı otele bırakıp robotlarımızla Aldebaran’ın ofisine gitmeye karar verdik. Yolda Carnegie Mellon, UT Austin, ve Dortmund üniversitelerinden dostlarımızla karşılaşıp hasret giderdik. RoboCup’ın en sevdiğim tarafı belki de bu; gerçekten güzel arkadaşlıklar kuruluyor ve her sene büyük bir mutlulukla buluşuluyor, organizasyon sonunda da bir sonraki sene RoboCup’ın ya da ilgili bir organizasyonun düzenleneceği şehirde görüşmek dilekleriyle hüzünlü bir ayrılık yaşanıyor.

Aldebaran’ın ofisine vardığımızda V2 robotlarımızı teslim edip V3leri almak için ilgili formları doldurup, firmanın bizlere hediyesi olan iki Nao posteri ve birkaç Nao rozetini alıp çalıştayın yapılacağı salona girdik. Çalıştay RoboCup federasyon başkanı olan Manuela Veloso‘nun açılış konuşmasıyla başladı.

Çalıştay ajandası genel olarak Aldebaran çalışanlarının donanım ve API değişiklikleri ile yardımcı yazılımların kullanımıyla ilgili sunum yapmaları ve bu sunumların ardından takımların anlatılanları robotlar üzerinde uygulamaya çalışması şeklinde seyretti. Hareket modülünün tanıtıldığı sunumda robotun yürüyüşünün önceki versiyonlara kıyasla oldukça yumuşak ve esnek hale getirilmiş olduğunu farkettik. Ayrıca robot düşmelere karşı da dayanıklı hale getirilmişti ve düştükten sonra kendi kendine tekrar ayağa kalkabiliyordu.

Çalıştay yoğun sayılabilecek bir tempoda 4 gün boyunca devam etti. Bu sırada Standart Platform Ligi Teknik Komitesi olarak bu senenin kurallarını takımlara tanıtıp olası meydan okumalar (technical challenges) üzerinde tartıştık. Bu oturumlar da oldukça verimli geçti diyebilirim.

Tüm bu koşturmaca içinde Aldebaran bizleri aç bırakmadı elbette; sürekli çalıştayın yapıldığı salona poğaça ve meyve suyu servisi yapılmasının yanısıra ofisin terasında pizza ve peynir-şarap partileri verildi. Bu partilerden biri sırasında da Aldebaran’ın China Open organizasyonundan kapıp ofislerine getirdikleri dev Nao balonunun altında topluca fotoğraf çektirdik.

Akşamları da tüm katılımcıları yemeğe götürüp şehir turlarına çıkardılar. Seine nehrinde bot turu yapmak üzere önce Champs Elysees’ye çıkıp oradan nehre doğru yürüdük.

Nehre yaklaştığımızda Eiffel Kulesi kendini gösterdi.

Bot turu sırasında Notre Dame Katedrali ve daha sonra çok kısıtlı zamanımızda gezmeye çalıştığımız Louvre Müzesi de dahil pek çok tarihi ve kültürel değeri olan yer gördük.

Bir sonraki gece Eiffel Kulesi’ni daha yakından görüp asansör ile en üst katına tırmanmak için yine Champs Elysees üzerinden aynı bölgeye geldik. Eiffel’in altında bir fotoğraf çektirmeden ayrılmak olmazdı.

Her ne kadar şiddetli rüzgar yüzünden ayakta durmak güç olsa da, Eiffel Kulesi’nin tepesinden şehre bakmak gerçekten çok güzeldi. Oradan ayrılırken nehrin kenarında uzanan duvarın üzerinde boş bir şarap şişesi görmemiz üzerine Paris’i özetleyen fotoğrafı çektim.

Bu çok verimli geçen seyahatimizde yine yeni bağlantılar kurduk ve mevcut bağlantılarımızı güçlendirdik. Kim bilir, belki ileride Cerberus ve Aldebaran Robotics birlikte başarılı işlere imza atar.

07 August 2010 @ 05:11 PM

July 24, 2010

Çetin Meriçli

Taşınma..

Sayılarının çok da fazla olmadığını düşündüğüm sadık okuyucularım,

Blogumu http://cetin.mericli.com/blog/ altına taşıdım, alıcılarınızın ayarları ile oynayınız.

24 July 2010 @ 10:21 PM

Reductio Ad Absurdum

Geçtiğimiz günlerde Pardus Geliştirici e-posta listesinde yaşanan proje yönetimi aracı tartışmasının ana ekseni ile de ilgilensem ve proje yönetimini / ekibini bu konudaki kararlarından dolayı haksız görsem de Pardus’a bir geliştirici olarak hiç bir katkım olamadığı için o konuda detaya girip fikir belirtme hakkını kendimde görmüyorum. Aynı sebepten projenin (bence) genel yönetim yanlışları, amaç ve tutku eksikliği, ve bir dizi başka hal ve tavır problemleri ile ilgili düşündüklerimi de burada yazmayacağım.

Ancak, başka bir konu var ki 20 yıldan fazladır kod yazan, hem formal eğitimli, hem de ‘alaylı’ bir bilgisayar bilimci / programcı olarak kayıtsız kalamadım.  Bir aracın seçilmemesi konusunda bahane olarak öne sürülen ‘ekipte bu aracı destekleyecek kadar Ruby bilen kimse yok’ denmesi gerçekten tepemi attırdı. Bir Linux dağıtımının çekirdek ekibinde yazılım geliştirici olarak çalışan insanların dilden bağımsız temel bilgisayar bilimleri kavramlarına hakim olmalarını, ve bir dili, o dil ile geliştirilmiş bir projeye ufak tefek eklentiler yazacak kadar öğrenmeyi bu kadar büyük bir sorun olarak görmeyecek çapta olmalarını beklerdim, yanılmışım.

Ekibin tamamının Python bildiğini biliyorum, sonuçta Pardus’un araçları Python ile geliştiriliyor. Bunu fırsat bilip üzerime düşen görevi yapıyor ve bunun bu girdinin başlığına güzel bir örnek olduğunu düşünerek şu linki okumalarını geliştiricilere tavsiye ediyorum.

Maalesef Türkiye’de yüksek kalibrede bilgisayar bilimci / yazılımcı yetiştirmeyi beceremiyoruz. Çok sağlam kişiler yok değil ama istatistiksel olarak baktığımda çok azınlıkta kalıyorlar.

Böyle düşünmemin tek sebebi bu yazdığım olay değil elbette. Yıllardır okulda ülkenin önde gelen üniversitelerinden mezun olmuş ve yüksek lisans / doktora yapmaya gelmiş onlarca öğrenci ile karşılaşıyorum ve bir kısmının çok temel bilgisayar bilimi kavramlarına ve pratik bilgilere bile ne kadar yabancı olduklarını, dahası bu açıklarını kapama konusunda da ne kadar isteksiz ve beceriksiz olduklarını görerek çok üzülüyorum.

Böyle durumlarda gerçekten geleceğe dair umudumu yitiriyorum.

24 July 2010 @ 10:04 AM

July 22, 2010

Çetin Meriçli

RoboCup sonuçları, AAAI 2010, yuvaya dönüş

Son dönemde üç önemli şey oldu. RoboCup 2010′da CMU adına yarıştığımız 2 takımımız (SPL’de CMurfs ve SSL’de CMDragons) sıra ile SSL soccer, SPL Technical Challenges, ve SPL soccer kategorilerinde 2., 3., ve 4. oldular. İlk tur maçlarında Cerberus’a karşı da oynadık ve 3:0 kazandık. Çok garip bir duygu imiş insanın hayatının 1/4′ünü verdiği eski takımına karşı oynaması. Yine de yendiğimiz için sevindim sanırım.

Cerberus ikinci turda kaldı, çeyrek finale ulaşamadı ancak Rescue Simulation ligindeki takımımız RoboAkut birinci oldu! Buradan takımın bu seneki üyeleri olan Orçun Yılmaz ve Mehmet Murat Sevim’i tekrar kutluyorum.

RoboCup dönüşünden kısa bir süre sonra AAAI 2010 için Atlanta’ya gittim. Bir paperim ve robot exhibition kısımının bir alt kategorisi olan Learning from Demonstration Challenge’da bir demom vardı. Konferans genel olarak çok verimli geçti. Tek aksilik Atlanta’ya indiğimde otelin yerini bulmaya çalışırken yere bıraktığım bavulumu unutup yürümeye devam etmem ve daha sonra kendime gelip geri koştuğumda da doğal olarak bavulu yerinde bulamamam oldu. Onca telaş arasında gidip tekrar kıyafet alışverişi yapmam gerekti. AAAI’nın en önemli kazanımları Brian Scassellati ile tanışmam (post-doc için Eylül’de hatırlat bana dedi) ve 8 ayda tanışma fırsatı bulamadığım Reid Simmons ile sadece tanışmayıp Atlanta’dan Pittsburgh’a kadar yanyana uçmak ve havaalanından da beni eve bırakması süresi zarfında çok çeşitli konularda konuşarak epey samimiyeti ilerletmem oldu.

AAAI’dan döndükten sonraki üç günüm bavul toplamak ve veda organizasyonlarına katılmakla geçti. CMU’daki arkadaşlarımla, Manuela ile, ev arkadaşlarımla, orada birbirimizi bulup pek sevdiğimiz Mehmet, Nursel, Maya, ve Raffay ile uzun uzun vedalaştım. Geri dönmek çok güzel bir şey ancak oradan ayrılmanın da bir burukluğu olmadı dersem yalan olur.

CMU’da geçirdiğim 8 ay hem akademik açıdan, hem çevre edinme açısından, hem de dünyanın tepesindeki yerde işler nasıl idare ediliyor öğrenmem açısından inanılmaz faydalı oldu. Manuela resmen tez eşdanışmanım oldu, oradaki gibi düzenli konuşarak birlikte çalışmaya devam edeceğiz.

Bu sayfa böylece kapandı. Sırada tezi bitirmek ve iyi bir post-doc pozisyonu bulmak var.

22 July 2010 @ 05:03 PM

June 30, 2010

Çetin Meriçli

RoboCup 2010 havadisleri part #2

Son yillarda geleneksellesen RoboCup suresince web sunucuyu bozma aliskanligimizi tekrarladigimiz icin yarismalar sirasinda yazamadim, simdi ozet geceyim:

- Ilk grup maclarinda eski takimim Cerberus’u 3:0, RoboEireann’i 4:0 yendik. Cerberus da RoboEireann’i 1:0 yendi.

- Ara eleme turunda Cerberus Iran takimi MRL’i 1:0 yenerek ikinci tura cikti.

- Ikinci turda biz UT Austin’e 7:0 yenildik, CHITA’yi 3:1,  Les 3 Mousquetaires’i 2:0 yendik, ceyrek finale ciktik

- Cerberus Austrian Kangaroos’u 2:0 yenmesine ragmen Nao Team HTWK’ya 2:0 ve Nimbro’ya 3:0 yenilerek elendi.

- Ceyrek final macinda Nimbro’yu 2:1 yenerek yarifinale ciktik. Boylece bir anlamda Cerberus’un kani yerde kalmamis oldu.

- Yarifinal macinda rUNSWift’e 6:0, ucunculuk macinda da UT Austin’e 5:1 yenildik ve 4. olduk

- Technical challengelarda 3. olduk.

Boylece bir surpriz olmazsa ogrenci olarak RoboCup maceram sona ermis oldu.

Yarismalardan sonra 3 gun daha kaldim Singapur’da. Detaylar bir sonraki yaziya…

30 June 2010 @ 09:55 PM

June 15, 2010

Çetin Meriçli

Çokuncu geleneksel RoboCup serisi

Gün oldu devran döndü bir RoboCup daha kapıya dayandı. RoboCup 2010 için yarın akşam Singapur’a uçuyoruz.

2003′ten beri katıldığım RoboCup’lar içinde duygusal açıdan en anlamlı olanı bu seneki olacak çünkü bu sene üyesi olduğum Carnegie Mellon takımı ile bugüne dek ellerimle büyüttüğüm, solar iken dirilttiğim ilk göz ağrım Cerberus’a karşı oynayacağız.

2006 ve 2007′de Tekin Bey UT Austin Villa takımında iken karşılıklı oynama şansı bulamamıştık Notorious Meriçli Brothers olarak. Kısmet bu seneyeymiş.

Carnegie Mellon ve Pittsburgh hatıratımı yazma konusunda sınıfta kaldım, biliyorum ama arada boş da durmadım. Bu boş durmamanın detaylarını RoboCup dönüşüne saklıyorum. Bu sene hem CMU, hem Cerberus maçlarının sonuçlarını duyurmaya çalışacağım eğer koşuşturmadan fırsat bulabilirsem.

15 June 2010 @ 07:02 AM

December 17, 2009

Çetin Meriçli

Pittsburgh Havadisleri #1

Abu başta olmak üzere haber bekleyenleri 1.5 aylık bir gecikme ile aydınlatayım dedim. Gelirken uçak kaçırıp bir gece Chicago’da kalmam dışında kayda değer bir aksaklık olmadı. Ev işini gelmeden önce halletmek iyi bir fikirmiş, öteki türlü gereksiz stres olacaktı. Evde şu an 7 kişiyiz. Benim ve dil eğitimi için gelmiş Venezuela’lı Julio dışındakiler Amerikalı. Ev halkı genelde iyi anlaşıyor ve beraber epey vakit geçiriyor.

Geldikten 2 gün sonra günlük çalışma rutinimi oturttum ve o zamandan beri de epey yoğun çalışıyorum. Yönetim yayın yasağı koyduğundan bildiri olarak yayınlanmadan tam olarak ne yaptığımı yazamıyorum buraya :) ama eğer şu ana kadar aldığımız ilk sonuçlar doğrultusunda giderse epey güzel bir iş çıkacak ortaya.

Pittsburgh güzel ve İstanbul’a kıyasla çok çok küçük bir şehir. 350000 nüfusu var. Kaldığım ev okula yürüyerek 15 dakika uzaklıkta. İlk geldiğimde bir gün evden okula yürürken bir dizi resim çektim ama onlar ve Carnegie Mellon nasıl bir yer konusu ayrı bir girdiye kalsın.

17 December 2009 @ 08:13 PM

October 30, 2009

Çetin Meriçli

CMU’ya gittim, gelicem.

CORAL araştırma grubunun bir üyesi olarak Dr. Manuela Veloso ile beraber çalışmak üzere 8 aylığına Carnegie-Mellon‘a gidiyorum. Ana çalışma konum gelişimsel psikoloji (developmental psychology) literatürünün robotlarda gösterimden öğrenim (learning from demonstration) alanına nasıl uygulanabileceğini ve uygulanmasının anlamlı olup olmadığını araştırmak olacak.

30 October 2009 @ 05:35 PM

October 15, 2009

Gürer Özen

00100100

Robotlar üzerinde çalışırken, değişik algılayıcı ve devindiricileri bilgisayar aracılığıyla kullanabilmek için elektronik arayüzlere gerek oluyor. Bu tip arayüzler ve değişik amaçlı elektronik kontrol kartlarını rahat prototipleyebilmek için uzun zamandır bir kolaylık arayışı içindeydik.

Bu amaçla kullanılabilecek hazır ürünler vardı. Ancak bizim için önemli olan gömlek cebinde taşınabilecek kadar küçük olması, bilgisayarla hızlı ve kolay biçimde programlanabilme ve iletişim kurabilme, esnek ve basit tasarım gibi özellikleri karşılamıyorlardı.

Biz de, üzerinde 8 MHz, 16 Kb kapasiteli AtMega16 mikrodenetçisi olan; küçük (6x4 cm); programlanma ve iletişimini mini USB porttan kendi başına yapılabilen bir kart geliştirip ürettik.

Artık kolayca ve zevkle, motor/servo kontrolü, çeşitli algılayıcılardan veri okuma, i2c aracılığıyla başka kartlara yada entegrelere bağlanma gibi işler yapabiliyoruz.

Siz de böyle bir kart arayışı içindeyseniz bu sayfalardan detaylı bilgi alabilirsiniz.

15 October 2009 @ 01:56 AM

October 08, 2009

Çetin Meriçli

Haberler…

Bu kez tembelliği abartıp geleneksel RoboCup serisini bile yazmadım. Bu süre içinde neler oldu derseniz

  • RoboCup 2009 Avusturya’nın Graz kentinde yapıldı. İlk defa bizim dışımızda iki takım daha (Boğaziçi Ün. Elektronik Müh. Small Size takımı BRocks ve 9 Eylül Üni 3D simulation takımı RoboPub) yarıştı. Cerberus technical challengelarda 5. olurken futbol tarafında ikinci tura çıktı, çeyrek finale çıkamadı.
  • CLAWAR 2009 konferansını Boğaziçi Üniversitesi Garanti Kültür Merkezi’nde organize ettik. Hem yurt içinden hem yurt dışından gelen katılımcılarla pek hoş vakit geçirdik. Bizim grup toplamda 5 bildiri sundu. Kemal Kaplan ile Caner Kurtul’un bildirileri en iyi bildiriler listesine seçildi.
  • Yakında anlatacağım önemli bir konuda bürokratik ve lojistik engeller birer birer aşıldı.
  • i cephesinde önemli gelişmeler yaşanıyor. Yakında onları da detaylı bir şekilde yazacağım.
  • Gelmiş geçmiş en influential rock gruplarından olan ÇOT! ilk konserini küçük ama önemli bir izleyici kitlesine verdi.

Tezle ilgili yazacak epey şey birikti aslında ama bakalım o da başka bir yazıya artık. Nasıl olsa ölü toprağından kurtuldum bu post ile.

08 October 2009 @ 08:37 PM

October 14, 2008

Gürer Özen

ceeebit

11 Ekim Cumartesi günü, Özgürlükİçin ekibi ile birlikte Cebit fuarında Pardus standındaydık.

Bir süredir üstünde çalıştığımız robotumuz İnci'yi tanıttık, geldiği noktayı gösterdik, birkaç küçük gösterisini yaptık.

İnci, araştırma geliştirme amaçlı, omni hareket sistemine sahip bir robot. Ayrıca üzerindeki gömülü bilgisayarında çalışan Pardus 2008 ile, dünyada Pardus'la çalışan ilk otonom robot :)

Şehre çok uzak ve biçimsiz bir yerde yapılmasına karşın, üşenmeyip gelen Pardus gönüllüleriyle çok keyifli vakit geçirdik.

14 October 2008 @ 03:34 PM

July 30, 2008

Can Kavaklıoğlu

AIBO'dan NAO'ya

Bu sene artık gerçekten AIBO'ya güle güle diyoruz.



Ve NAO'ya merhaba diyoruz.



NAO ile AIBO arasındaki temel farklardan birisi, kameranın yüksekliği. NAO'nun kafasında bulunan kameranın yüksekliği AIBO'nun kafasındaki kameranın yüksekliğine göre oldukça daha yüksekte. Bu yükseklik inanılmaz bir fark yaratacak ve bunun sebebi çok ilginç. Önce işin daha az ilginç olan matematiksel tarafına bakalım:

AIBO'daki çalışmalar sırasında İğne Deliği Kamera yöntemini kullanarak, resim üzerinde görünen bir noktanın, robota gerçek uzaklığını hesaplayabiliyorduk. Bu yöntem şöyle özetlenebilir. Kameradan alınan resim bire bir ölçekle kameranın önünde varsayılıyor, bunun ismine şimdilik sanal kamera düzlemi diyelim. Robotun algılayıcıları kullanılarak yere göre hesaplanan 3 boyutlu kamera posizyonundan başlayıp, sanal kamera düzlemindeki herhangi bir noktadan geçen bir çizgi çekildiğinde, eğer bahsettiğimiz nokta gerçek koordinat sisteminde yerdeyse, bu noktanın gerçek uzaklıklarını bulabiliyoruz. Şekilli anlatım için: vikipedya başka bir site.

Şimdi, işin can alıcı kısmı bu yöntemi kullanarak noktaların uzaklık hesabını yapmak ancak sınırlı bir açıda mümkün oluyor. Kameradan başlayıp, sanal kamera düzleminden geçen çizgilerin yere düştüğü alan kameranın yüksekliği ile orantılı. Kamera yere yaklaştıkça bu hesabın yapılabildiği alan azalıyor.

NAO'nun kamerasının AIBO'ya göre yerden oldukça yüksek olması, kameradan çıkıp, sanal kamera düzleminden geçip yere düşen çizgilerin kullanılabileceği açıyı oldukça fazla bir miktarda artırıyor.

Peki bu ne demek? Şu demek iki ayakta yerden daha yüksekte olan bir araç, yere daha yakın, dört ayaklı bir araca göre daha verimli görme algısına sahip oluyor. Daha uzaktaki cisimlerin pozisyonlarını daha iyi görebiliyor.

Bu da iki ayaklı bir tasarımın, dört ayaklı bir tasarıma göre algılama açısından daha başarılı olduğunu kanıtlıyor! Ne kadar enteresan : )

Bu hesaba göre kuşlar bizden daha akıllı diyebilir miyiz? Diyemeyiz çünkü bilimin özü optimizasyondur, maksimizasyon değil.

30 July 2008 @ 10:13 AM

July 28, 2008

Gürer Özen

opencv boogie

Bu aralar uğraştığım yazılımlardan biri de OpenCV. Kendisi, bilgisayarda görme (computer vision) konusunda bir çok algoritma kodunu barındıran bir kitaplık.

Pardus 2008 de

pisi it opencv
komutuyla kurabilirsiniz. Malesef Python arayüzü ile ilgili sorunlar yüzünden 2007 dağıtımında düzgün çalışmıyor.

Geçenlerde geliştirici listesinde dönen, bluetooth taşıyan kullanıcının sinyal şiddetinden ne kadar uzaklaştığını anlayıp ekranı kilitleyecek araç fikri bana ilham verdi. Şu basit panel programcığını kodladım. Çalıştırdığınızda panele yerleşiyor. Bilgisayarınızı bağlı kamerayı yüzünüze yönlendiriyorsunuz (çoğu laptopta dahili kamera bu şekilde zaten). Eğer 5 saniye boyunca bilgisayar yüzünüzü göremezse ekranı kilitliyor (panel ikonunun griye dönmesinden saymaya başladığını anlayabilirsiniz). Ayrıca birden fazla yüz varsa, derhal birinci desktop'a geçiyor, bu özelliği de patron arkadan bakınca ikinci desktop'ta oynadığınız oyunu saklamak için kullanabilirsiniz :D

Programcık çok cilalanmış değil, bazı değerler hard-coded vb. Fakat KDE, OpenCV ve Python aracılığıyla bir kaç sayfalık kod ile neler yapılabileceğini gösteriyor.

Ufak bir duyuru: Hareketli zeki robotlar konusunda bir gezegen açtık: Chapek9! Konuyla ilgiliyseniz bağlantıyı rss yazılımlarınıza eklemeyi unutmayın :)

Haftanın şekeri ise Johnny Cash ve Louis Armstrong playing in black&white..

28 July 2008 @ 07:09 PM

opencv boogie

Bu aralar uğraştığım yazılımlardan biri de OpenCV. Kendisi, bilgisayarda görme (computer vision) konusunda bir çok algoritma kodunu barındıran bir kitaplık.

Pardus 2008 de

pisi it opencv
komutuyla kurabilirsiniz. Malesef Python arayüzü ile ilgili sorunlar yüzünden 2007 dağıtımında düzgün çalışmıyor.

Geçenlerde geliştirici listesinde dönen, bluetooth taşıyan kullanıcının sinyal şiddetinden ne kadar uzaklaştığını anlayıp ekranı kilitleyecek araç fikri bana ilham verdi. Şu basit panel programcığını kodladım. Çalıştırdığınızda panele yerleşiyor. Bilgisayarınızı bağlı kamerayı yüzünüze yönlendiriyorsunuz (çoğu laptopta dahili kamera bu şekilde zaten). Eğer 5 saniye boyunca bilgisayar yüzünüzü göremezse ekranı kilitliyor (panel ikonunun griye dönmesinden saymaya başladığını anlayabilirsiniz). Ayrıca birden fazla yüz varsa, derhal birinci desktop'a geçiyor, bu özelliği de patron arkadan bakınca ikinci desktop'ta oynadığınız oyunu saklamak için kullanabilirsiniz :D

Programcık çok cilalanmış değil, bazı değerler hard-coded vb. Fakat KDE, OpenCV ve Python aracılığıyla bir kaç sayfalık kod ile neler yapılabileceğini gösteriyor.

Ufak bir duyuru: Hareketli zeki robotlar konusunda bir gezegen açtık: Chapek9! Konuyla ilgiliyseniz bağlantıyı rss yazılımlarınıza eklemeyi unutmayın :)

Haftanın şekeri ise Johnny Cash ve Louis Armstrong playing in black&white..

28 July 2008 @ 12:09 PM

July 18, 2008

Gürer Özen

atma bre atmel

Bir bilgisayarı motor ve sensörlere bağlamanız gerekmişse, yada çok basit olmayan kararlar verecek bir elektronik devre yapmışsanız, mikrokontrolörlere illaki işiniz düşmüştür. Mikrokontrolör basitçe, üzerinde CPU, RAM, Flash bellek gibi birçok bileşen içeren ve kendi başına ufak bir bilgisayar gibi çalışabilen bir entegre devredir.

Türkiye'de çoğunlukla Microchip'in PIC serisi kullanılıyor, ama ben Atmel firmasının AVR serisini tercih ediyorum. Neden derseniz, geliştirme ortamı bildiğimiz gcc! gcc'nin çalıştığı herhangi bir platformda, normal masaüstü işlemcilere, yada gömülü ARM işlemcilere vb nasıl kod üretiyorsak, aynı şekilde AVR için geliştirme yapabiliyoruz.

Geliştirme ortamını paketledim ve Pardus 2007 ve 2008 depolarına girmiş durumda.

pisi it -c programming.microcontroller
komutuyla kolayca kurabilirsiniz. Derleme ortamı binutils-avr, gcc-avr ve avr-libc paketlerinden oluşuyor. Derlediğiniz dosyaları avrdude aracıyla entegrenize yükleyebilirsiniz.

Yükleme bağlantısı için internetten STK500 gibi bir kit satın alabilir, ya da ucuz ve rahat temin edilebilecek bir çözüm isterseniz Altaş yayıncılığın USB programlayıcı kartını kullanabilirsiniz.

AVR işlemcilerin çoğu modelini Karaköy'de bulabilirsiniz. Fiyatları oldukça ucuz ve dahili osilatörleri olduğu için, nerdeyse iki bacağını akıma bağlayan basit bir devreyle çalıştırabiliyorsunuz. Model seçerken dikkatli olun, mesela 3 PWM çıkışı var diyebilir, ama o pinler aynı zamanda programlama girişi yada RS232 gibi başka bir üniteyle ortak çıkabilir, teknik PDF dosyasını indirip pinlerin görevlerini kontrol etmekte yarar var.

Blogu uzatmamak için burada kesiyorum, ilerde yazılım araçlarının kullanımı ile devam ederiz.

Nota tanıma programı ise sevgili Löker'in katkısıyla ölçeklenebilen SVG bir arayüze kavuştu. Qt4'ün QGraphicsScene sınıfına da ayrıca teşekkür ediyoruz.

18 July 2008 @ 08:31 AM