Mobil Dünya
Robotun En Sevimli Hali: Sphero
Robot denince gözümüzde ilk canlanan kare nedir? Muhtemelen -özellikle bilimkurgu veya fantastik turu sevenlerdenseniz- Terminator filminden bir sahne gözünüzün önünde beliriverir. Onca patlamaya, kazaya rağmen bir türlü canlılığını yitirmeyen, insanı tamamiyle taklit edebilen ama aslında beyni...
Robot denince gözümüzde ilk canlanan kare nedir? Muhtemelen -özellikle bilimkurgu veya fantastik turu sevenlerdenseniz- Terminator filminden bir sahne gözünüzün önünde beliriverir. Onca patlamaya, kazaya rağmen bir türlü canlılığını yitirmeyen, insanı tamamiyle taklit edebilen ama aslında beyninde programlanmış bir mikroişlemci sayesinde hayatını sürdürebilen bir makine.
Robot fikri, daha doğrusu insana servis eden bir makine fikri ilk olarak 1200'lü yıllarda yaşayan bir bilimadamı tarafından somutlaştı. Elbette şu an kullandığımız şekliyle bir "robot" kavramından bahsetmek mümkün değil. Ancak bazı parametreler (hidroliğin gücü, dişli çark, akord gibi) yardımıyla tekrarlayan hareketler yapan bazı makineler geliştirilmişti. Bu makineler arasında günlük hayatta yardımcı olan robotlar (örneğin zaman ayarlı su sebili) çoğunluktaydı. Bunun haricinde eğlence amaçlı üretilmiş robotlar da bulunmaktaydı: Kraliyet partilerinde misafirleri eğlendirme amaçlı gölün üzerinde yüzen bir botun üzerinde bulunan 4 tane robot müzisyen gibi. Akordların yerleri değiştirilerek her seferinde farklı melodilerde müzik üretiliyordu ve tanka konan su hacmine bağlı çalışıyordu.
Günümüze geldiğimizde ise, durmadan ilerleyen dünya içinde robot teknolojileri de yerini bulmuş ve popülaritesini artırmış durumda. Google, 2013'den itibaren 8 adet robot geliştiren şirket satın alımı gerçekleştirdi. Bunlardan biri de BostonDynamics adında askeri amaçla robot geliştiren bir şirket. Arazi koşullarına dayanıklı, çamurda kaymayan, kaysa bile dengesini toparlayan, Usain Bolt'tan daha hızlı koşabilen (saatte 45 km) robotlar geliştiriyorlar. Önümüzdeki yıllarda askeri gücün önemli bir kısmında bu amaçla üretilmiş robotların yer alması epey olası.
Bunun haricinde insansı robot dediğimiz, adından da anlaşıldığı üzere fizyolojik olarak insan hareketlerine benzer hareketler yapan (eklem – uzuv hareketleri), koşabilen, dans edebilen, tercüme yapan, ziyaretçileri karşılayan ve verilen komutları yorumlayabilen robotlar mevcut. Bunlara verebileceğimiz en tanıdık örnek Hyundai'in Asimo'su veya Nao robot.
Sağlık alanında da robotlar karşımıza çıkıyor. Felçli hastaların beynine konan bir mikroişlemciyle haberleşen robotik bir kol, hastanın yapmak istedikleriyle arasında bir köprü görevi görüyor. Hasta kola mı içmek istiyor? O halde odadaki kola bardağını hastanın ağzına götürerek hastanın hayatını kolaylaştırıyor.
Sphero'yu tanıyalım
Bunca çok ileri düzeyde ve böylesine önemli görevleri başaran robotlardan sonra, görevi tamamen sizi eğlendirmek olan bir robotu tanımaya geçelim: Sphero.
Sphero, Android, iOS ve Windows cihazınızla Bluetooth yardımıyla kontrol edilebilen, tenis topu büyüklüğünde bir robot top. Hatta dünyanın programlanabilir ilk robot topu. Her türlü yüzeyde yuvarlanabilir, suda bile. Yapabileceğiniz tek şeyin Sphero'yu "sürme" işlemi oluşu ve bahsettiğimiz robotun basit haliyle bir "top" olması, Sphero'nun beklentilerinizi karşılamayacağını düşündürtebilir. Bu küçük ama "beyni olan" top için PlayStore/AppStore'da 80'i aşkın uygulama ve oyun bulunuyor.
Sphero'nun yaratıcıları olan Ian Bernstein ve Adam Wilson için robotlarla uğraşmak, üniversite sonrası oluşmuş bir heves ya da ofis ortamında karşılaştıkları bir proje değildi. Birisi robotların donanımına, bir diğeri de yazılım tarafına tutkulu bir şekilde kendilerini adamış bu iki girişimci, robot temelli başka bir ürün ortaya koyabilecek bilgi birikimine sahiptiler. Olabildiğince eğlenceli, taşınabilir ve mobil dünyayla entegrasyonu olan bir robot yaratmak istediler ve bunun robotik bir top ile mümkün olabileceğini düşündüler. Bu şekilde Sphero'yu geliştirmeye karar verdiler.
Sphero her ne kadar yazılımı olan bir top olsa dahi, geliştirilme aşamasında "uzaktan kumandalı oyuncak" algısını aşması kolay olmadı. Mobil cihazlar tarafından kontrol edilmesi kullanıcılarda en başta böyle bir etki yaratıyor ancak hangi "uzaktan kumandalı araba" kumandasını kontrol edebilir? Hiçbiri çünkü bu tür oyuncakların otonom karar verme kapasitesi, 3 boyutlu düzlemde nerede olduğunu bilme yetisi veya bir duvara tosladığında çarpışmayı anlama gibi özellikleri yoktur. Sphero'yu klasik oyuncaklardan ayıran bir özelliği de işte budur.
Sphero'nun uygulama geliştiricilere verdiği en büyük hediye, Sphero'nun programlanabilir oluşudur. Sphero'yu geliştiren şirket olan Orbotix, bugüne kadar 14 adet SDK yayınladı. Bunlardan büyük bir kısmı resmi SDK'ler olsa da, önemli bir kısmı unoffical olarak meraklı geliştiriler tarafindan ortaya çıkarıldı. Bunların arasında; iOS, Android, Windows, PhoneGAP, Unity, Arduino SDK'leri ve çok daha fazlası bulunmakta.
Sphero'su ve cihazı olan bir geliştirici, SDK'yi indirip örnekleri kurcalayarak kodlama aşamasına hızlı bir geçiş yapıyor. Öte yadndan "geliştirici desteği" konusunda Orbotix'i zayıf bulduğumu söylemeliyim. Android platformu açısından konuşursak, eğitimlerdeki küçük hatalar, cevaplanmayan sorular sebebiyle uygulama geliştirme aşamasında beni yavaşlatan süreçler yaşadığımı belirtmeliyim.
Bunların haricinde geliştirici olmayan kişilerin kolaylıkla Sphero'yu programlayabilmeleri için AppStore ve PlayStore'da Orbotix tarafından yayınlanan MacroLab ve orbBasic adında iki uygulama da bulunuyor. Sekans halinde verilen bir dizi komutla Sphero'ya kendi oluşturduğunuz bir programı yükleyebilirsiniz. Çocukların programlama eğitimi konusunda da çok etkili olan bu uygulamalar, çocukların ilkokuldan itibaren robot-mobil dünya entegrasyonuyla kod dünyasına dalmasına olanak sağlıyor. Pisagor teoremini makro komutlarıyla gerçeklediğinizi ve Sphero'yu dik açılı üçgen rotasında hareket ettirdiğinizi düşünün. Ortaokul seviyesindeki öğrencileri hedefleyen bir problem olsa da, benim gibi matematik kökenli kişilerin hoşuna gideceğini düşünüyorum.
Sphero'nun amacının eğlence olduğunu ve AppStore/PlayStore'da bulunan 80'i aşkın uygulama ve oyun bulunduğunu söylemiştim. Bu oyunlardan bir kısmı daha geleneksel türde (Sphero'nun oyunçubuğu yani joystick olarak kullanılmasıyla uzay gemisini kontrol etme ya da multiplayer oyunlar) olmasına rağmen, Augmented Reality (artırılmış gerçeklik) oyunları epey ilgi çekici. Tabletinizin ekranına baktığınızda Sphero yerine, etrafında kanatlı bozukluklar olan sevimli bir kunduz ya da zombiler gördüğünüzü hayal edin. Böylece bir topu sürüyor gibi değil de, kunduzunuza etrafındaki paraları toplatmaya çalışarak puan toplama veya zombi saldırısından kurtulma çabası içine giriyorsunuz ve oyun tüm zarifliğiyle sizi içine çekiyor. Sphero'nun beyaz renkte ve tamamen yuvarlak oluşu, Sphero'yu mükemmel bir marker yaptığından, artırılmış gerçeklik uygulamaları için bulunmaz bir kaftan haline getiriyor.
Sphero'nun üretim macerası
Peki, Sphero'nun üretim aşaması da göründüğü kadar kolay mıydı? Murphy yasaları devreye girdi ve üretime iki hafta varken bile Orbotix ekibi yeni problemler keşfediyordu. Sırayla gidersek, en başta Sphero'yu düzgün bir şekilde süremiyorlardı. Orbotix, 2011 yılında düzenlenen CES'e (Consumer Electronic Show) davetliydi ve Sphero tüm gün sahada olacaktı. Bu problemden ötürü fuara katılmaktan vazgeçme aşamasına kadar geldiler ancak mühendislerden birinin kararlı çalışması sayesinde fuara katılabildiler.
Şu anda Sphero'nun içindeki jiroskop ve IMU'su sayesinde top 3 boyutlu düzlemde nerede olduğunu biliyor, kullanıcıya göre olan pozisyonunu biliyor ve komut edilen yöne doğru sürülüyor. Sphero'nun içinde bir kafeslenmiş bir hamster olduğunu hayal edin. Hamster ne kadar koşarsa koşsun, yerçekimiyle kafes sürekli aşağı iner. Böylece Sphero'nun içindeki jiroskopun da yardımıyla dengesini mükemmel bir şekilde koruyan motor bulunuyor.
Karşılaştıkları ikinci sorun, Sphero'nun kablosuz bir şekilde şarj olma sorunuydu. Sphero su geçirmez olduğu için robotu saran lehimlenmiş polikarbon kabuğu açıp şarj etmek, kullanıcılar açısından kabul edilmez bir deneyim olurdu. Zaten Sphero'yu bu şekilde şarj etmek dayanıklılığını ve lehimi bozduğu için su geçirmezlik ilkesini bir kez daha yok ederdi. Bunun için alternatif akımdan faydalanarak Sphero'yu induksiyon yoluyla şarj ettiler.
Bir diğer sorunu Sphero'yu yöneten navigasyon sistemi (IMU) ile yaşadılar. Piyasadaki IMU'lar pusula ya da GPS'e bağlı olarak çalışıyordu, Orbotix de pusulayı tercih etti. İlk ofislerinde herşey yolunda olmasına rağmen, ofis değiştirdiklerinde Sphero'nun yönönü tamamen şaşırdığını gördüler. (Geliştirici olarak araya girmek zorunda hissettim kendimi. Bugfree muhteşem bir uygulama yazdınız, gurur duyuyorsunuz kendinizle. Bir sabah işe geldiniz, uygulamaya login olamıyorsunuz. İşte öyle birşey. Son commit yapanları sorgulama sebebi ki Sphero için düşünürsek sorunu bulmak çok kolay olmamıştır diye düşünüyorum.) Sphero'daki bu sorunun sebebi, yeni ofisin bankalarla yani banka kasalarıyla, bir başka deyişle çelik oranının yüksek olduğu bir caddede bulunmasıydı: Çelik pusulanın, pusula da IMU'nun bozulmasına sebep olmuştu. İşte bu noktada IMU'yu halihazırda kullanmakta oldukları jiroskopa bağımlı halde çalıştırmak durumunda kaldılar. Kullandıkları algoritma (daha doğrusu algoritmadaki matematiksel dönüşüm) Orbotix patentli.
En büyük sorunlardan sonuncusu ise elektrostatik boşalma. Basitleştirerek anlatmak gerekirse, halıda çıplak ayak yürüyüp, kapı koluna dokununca yaşadığımız sinir bozucu çarpılma hali. Sphero tamamen kapalı bir polikarbon malzemenin içinde olduğu için statik elektriği boşaltabilecekleri bir yer de olmuyor, elektrik ana devrenin yanmasına sebep oluyor. En kötüsü bunu seri üretimden iki hafta önce, Sphero'yu naylon halıda sürerken farketmeleri. Son dakika çözümüyle Sphero, elektrostatik boşalma problemine karşı 30.000 Volt'a kadar dayanıklı hale getiriliyor.
Şimdiye kadar Sphero'nun sadece teknik özelliklerini değil, iki genç girişimcinin üretim aşamasında yaşadıkları temel sorunlara ve bunların nasıl üstesinden geldiklerine de değindik. Sphero, Türkiye pazarına yeni girdi sayılır. Ulaşılabilir fiyatlarıyla ve geniş SDK yelpazesiyle robotlara meraklı geniş bir kitlenin, oyunseverin ve geliştiricilerin masasındaki yerini alacağını düşünüyorum.
Sphero'nun yeni sürümünün adı "Ollie". Bu sonbaharda, önceden rezervasyon yaptıranlara kargolanmaya başlayacak olan Ollie, Sphero'dan iki kat daha hızlı ve görünüş olarak değiştirilebilir tekerlekleri ve jantlarıyla epey farklı bir çizgiye sahip. Daha heyecanlı bir deneyim bizi bekliyor sanırım.
tanıtım videosunda kişi koşarken sphero'nun koştugu görülüyor, ben bu uygulamayı bulamadım bilginiz varmı?
2.'si bu işlemi bluetoothla arasındaki mesafiyi kontrol ederek mi yapar yoksa benim accelometer değeriminden gelen verileri yönü ile birleştirerek mi algoritma çizmek dogru olur?