Başlıklar Gerçek Dünyanın Bir Eğretilemesi Olarak Robot Yarışmaları Robot Yarışmaları Robot Futbolu Ligleri Robot Futbolunun Özellikleri Boğ ndeki çalışmalar Prof. Dr. H. Levent Akın Boğ Bilgisayar Mühendisliği Bölümü 1 2 DARPA Grand Challenge RoboWars Savaş alanında kullanılabilecek özerk kara araçlarındaki araştırma ve geliştirme çalışmalarının hızlandırmayı amaçlayan bir saha testi. 2005 de 2 milyon dolarlık ödülü yarışmayı 6.53 saatte tamamlayan Stanford Racing Team aldı 3 4 Robot Futbolu Federasyonları Robocup Yarışmaları RoboCup97 RoboCup98 RoboCup99 Robocup 2000 RoboCup2001 Seattle (Biz ilk defa katıldık) Robocup 2002 Fukuoka Robocup 2003 Padova Robocup 2004 Lisbon Robocuo 2005 Osaka 5 6 1
Robocup Ligleri Küçük Robot Ligi (F180) Büyük Robot Ligi (F2000) Benzetim Ligi Ayaklı Robot Ligi Kurtarma Robotları Ligi İnsansı Robotlar Ligi Robocup Junior Robocup@Home RoboCup@Home Robocup yarışmalarında yeni bir lig Gerçek dünya uygulamaları ve özerk robotlarla insan-makine ilişkilerini incelemeyi amaçlıyor Amaç insanlara gündelik hayatta yardımcı olabilecek robotsal uygulamalar geliştirmek. 7 8 FIRA Kategorileri MiroSot NaroSot RoboSot HuroSot KheperaSot S-MiroSot S-NaroSot S-RoboSot S-HuroSot S-KheperaSot Neden Farklı Ligler Var? Farklı bütçeler Farklı teknik Sorunlar Farklı potansiyel uygulamalar Farklı kurallar 9 10 Yarışma Çeşitleri Uzaktan kumandalı robot yarışmaları Özerk robot yarışmaları Başlangıçtaki Amaç Değişik kuramları, yordamları ve etmen mimarilerini değerlendirmek Ortak bir Sorun olarak futbolu kullanmak Yapay Zeka ve robotlar konusundaki araştırmalara ilgi çekmek 11 12 2
Büyük Meydan Okuma İnsansı Robotlar Maçta HEDEF: 2050 yılında 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!... 13 14 Standart Sorun Yapay Zeka nın Büyük Sorunu Satranç ile robot futbolu arasındaki farklar: Nedenler Neden insansı Neden futbol Satranç Robot Futbolu Ortam Statik Dinamik Durum değişimi Sırayla Gerçek zamanda Bilgiye erişim Tam Eksik Algılar Semboller Sayılar Denetim Merkezi Dağıtık 15 16 Neden İnsansı İki ayaklı yürüyen robot artık yapılabiliyor. Tekerlekli robotlar ancak düz zeminlerde hareket edebiliyor. Neden futbol Rakiplerin bulunduğu bir ortamda birden fazla hareketli robotun işbirliği içinde görevlerini yerine getirmesinin incelenmesi Yüksek düzeyde hareketlilik ve esnek davranışların geliştirilmesi Diğer robotlar ve insanlarla sert temasla başa çıkabilme Eğitsel etkiler 17 18 3
Araştırma Konuları Malzemeler ve temel bileşenler Temel denetim konuları Algılayıcı sistemleri Yüksek düzey bilişsel sistemler Malzemeler ve Temel Bileşenler Yüzey malzemeleri Çerçeve malzemeleri Güç kaynakları Enerjiyi tutumlu kullanan sistemler Eyleyici sistemleri Mekanik tasarım 19 20 Temel Denetim Konuları Yüksek başarımlı hareketlilik Davranışsal gürbüzlük Davranış karmaşıklığı Algılayıcı Sistemler Görme İşitme Diğer algılayıcı sistemleri Algı birleştirme Algı-motor tümleştirme 21 22 Yüksek Düzey Bilişsel Sistemler Çözülmesi gereken Sorunlar Strateji Planlama Öğrenme Beyin ve bilişsel bilim 23 24 4
Araştırma Alanları Etmen Mimarileri Gerçek zamanda tanıma, planlama ve akıl yürütme Dinamik bir ortamda akıl yürütme ve hareket etme Algıların birleştirilmesi Çoklu etmen sistemleri Karmaşık işler için davranış öğrenme Strateji edinme Bilişsel modelleme Futbol Robotu Tipleri İki ana tip: Uzaktan denetimli- beyinsiz Robot temelli futbol robotları 25 26 Uzaktan denetimli beyinsiz sistemler Robotlar yürütme mekanizması, iletişim birimi ile hız denetimi ve ana bilgisayardan aldıkları verileri işleyecek birimlerden oluşur. Bütün hesaplamalar, görüntü işleme, stratejiler, konum denetimi bu robotları uzaktan kumandalı araba gibi yöneten bir ana bilgisayar üstünde yapılır. Bu robotlar çok ucuza yapılabilir. Robot temelli Futbol Robotu Her robotun özerk davranışlar için bir çok işlevi vardır. Bütün hesaplamalar yerel olarak robotun üstünde yapılır Robotlar özerk olarak kendi davranışlarına algıladıkları görüntü ve diğer algılarına ve stratejilerine bağlı olarak karar verirler 27 28 BÜ Robot Takımları Robot Futbolu Robocup Cerberus: AIBO 4 ayaklı robot FIRA Robot İdman Yurdu: Mirosot ve Simülasyon Turkbot: KheperaSot Arama Kurtarma Robocup RoboAkut: Benzetim Robot İdman Yurdu 29 30 5
Tipik bir Küçük robot FIRA kurulumu Mirosot Görme sistemi Telsiz Modem Robotlar 31 32 Kheperasot Türkbot 33 34 ROBOCUP Kurtarma RoboAkut 35 36 6
Saha CERBERUS TAKIMI 37 38 AIBO donanım özeti AIBO ERS-210 Sony tarafından üretilmiş ticari bir ürün. Eyleyiciler: 18 serbestlik derecesi olan ayaklar, baş ve kuyruk, bunun yanında ses ve ledler. Algılayıcılar: en önemlileri Bir renkli cmos kamera, Bir akselerometre, Bir kızılötesi yakınlık algılayıcı, ve Eklem konumu ve yük algılama. Donanım: birincil algılayıcılar renkli CMOS kamera 176x144 piksel YUV renk uzayı Ortam içindeki nesneleri algılamada kullanılıyor İvmeleri ölçmek için akselerometre Çok gürültülü Robotun düşüp düşmediğini algılamak için kullanılıyor Dört adet düğme: Kafanın üstünde basınca duyarlı iki düğme, İki adet ikili düğme (biri ağzın altında diğeri sırtta) Başla dur komutları vermek için 39 40 Donanım: İkincil algılayıcılar bir kızılötesi uzaklık algılayıcısı Kafanın önünde yer alır, 10cm ila 90cm arasındaki uzaklıkları hassas olarak ölçer. Her biri bir patinin içinde dört adet ikili dokunma düğmesi Yer ile teması algılar Çok gürültülü Kafanın iki tarafında stereo mikrofonlar. AIBO Yazılım Ana Katmanları Aperios İşletim Sistemi, gerçek zamanlı, kapalı, Sony tarafından geliştirilmiş Mesajlarla iletişim kuran işbirliği yapan ve nesne olarak adlandırılan prosesler kümesinden oluşur Sistem hizmetlerini sağlar OPEN-R robotu denetlemek için Sony tarafından geliştirilmiş bir grup veri yapısı ve altprogramdan oluşur Robot donanımına temel arayüzü sağlar 41 42 7
Robot geliştirme Aperios, OPEN-R, ve ilgili araçlar ücretsiz olarak OPEN-R SDK adıyla dağıtılmaktadır (http://www.openr.org). Yazılım hem Windows hem de Unix türevlerinde koşabilir. Uygulama - Ek Aperios nesneleri OPEN-R SDK kullanılarak uygulamaya özel işlevleri yapacak şekilde yazılabilir. Aperios nesne etkileşimleri Her nesne, paylaşılan bellek bölgeleri aracılığıyla veri içeren mesajlar göndererek başka nesneler ile iletişim kurar. Mesaj iletiminin özel bir protokolü vardır. Gözlemci: göndericiye hazır olduğunu bir mesajla bildirir. Gönderici: gözlemcilere mesajları hem mesaj hem de gözlemci hazır olunca gönderir. Mesaj hazır olduğunda gözlemci hazır değilse gönderici mesajı bırakabilir ya da daha sonra göndermek için tampona yazabilir. 43 44 Yazılım Robot arayüzü Ana sistem nesnesi: OVirtualRobotComm. Algılayıcı değerleri algılayıcıları OVirtualRobotComm a kaydedederek elde edilir. Bu yapıldıktan sonra, OVirtualRobotComm algılayıcı değerleri içeren mesajlar gönderir. Eyleyicilerin çoğu OVirtualRobotComm a mesaj gönderilerek denetlenir. Çalışma ortam Kodlama C++ programlama dili Eclipse ortamında kullanılıyor CVS Derleme Cygwin (gnu) derleyicisi Yükleme Sony memory stick okuyucu yazıcı aracılığı ile memory sticke derlenmiş kodlar yüklenir Hata izleme Seri kapıdan Hyper Terminal bağlantısı WLAN telnet arayüzü 45 46 Algılayıcılar Görüntüler gönderme sıklığı 25hz. Stereo mikrofonlar 16khz e kadar örnekleme yapabilir. Genel algılayıcı veri tek bir bağlantıda birlikte gönderilir. Algılayıcılar her 8ms de bir örneklenir (motor çerçevesi). Algılayıcı okumaları tampona kaydedilir ve 4 motor çerçevesine ait veri içerecek şekilde gönderilir. Genel Algılayıcılar Her mesajda Bütün eklemler için algılanan açı değerleri. Her eklem için ilgili motorun PWM değerleri (-512 512 aralığında). Akselerometre değerleri. Bu okumalar çok gürültülüdür. Pati değerleri KÖ uzaklık değerleri Sıcaklık değeri 47 48 8
İleri Kinematik Eklem konfigürasyonuna göre uzaydaki konumu belirler. Denavit-Hartenberg Konvansiyonu Robot Dolanım Problem Neredeyim? Nereye gidiyorum? Oraya nasıl gitmeliyim? Kavramsal olarak basit. 49 50 Yazılım Mimarisi Cerberus Projesinde beş ana modül vardır görme modülü yer bulma modülü planlama & davranışlar modülü yürüme modülü iletişim modülü Yazılım Mimarisi Robotun üstünde hata ayıklama olanağı çok kısıtlıdır Robot modelleri hızla değişmektedir Model değişiminin etkilerini azaltmak ve hata ayıklamayı kolaylaştırmak için bütün modüllerin donanım ve geliştirme platformundan bağımsız olarak yazılması hedeflenmiştir. 51 52 Cerberus İstasyonu Bütün modüllerin çevrim dışı denenmesinde kullanılır Cerberus istasyonunun sağladığı mesaj altyapısı sayesinde gerçek zamanda iki-yönlü veri transferi olasıdır. İstasyon görme kalibrasyonu, yürüme deneme, yerbulma deneme ve hata analizi yapma imkanı da sağlar. Görme Kalibrasyonu 53 54 9
Üçü Albert Long Hall, Boğ Boğaziç 2323-24 Aralı Aralık 2005 Çevrim Dışı İşleme Çevrim dışı işleme - görme Algılayıcılardan gelen girdileri gerçek zamanda donanımdan bağımsız olarak işlemeyerek deney yapmak mümkündür 55 çevrim dışı işleme - görme 56 çevrim dışı işleme - görme 57 çevrim dışı işleme - görme 58 çevrim dışı işleme - yer bulma 59 60 10
Algılayıcı Verilerini Yeniden Oynatma Cerberus Mimarisinin Modülleri 61 62 Görme Modülü Renk sınıflandırma için bir Generalized Regression Network kullanır Kale, top, fener, robotlar ve saha çizgileri için tanıyıcılar kullanır. ~18 fps hızında çalışıyor (ligdeki en hızlılardan birisi) Cerberus oynamak için ekstra ışıklara ihtiyaç duymayan nadir takımlardan birisidir. Yer bulma modülü Üç değişik yer bulma yöntemi geliştirilmiştir: R-MCL : Reverse Monte Carlo yer bulma. X-MCL : Standard Monte Carlo yer bulma S-LOC: Pratik yer bulma 63 64 Planlayıcı modülü Bir Sonlu Durum Makinası planlayıcı kullanılmaktadır Pazar-tabanlı bir görev dağıtımı modülü geliştitilmiştir Bu yaklaşım robot futbolunda ilk defa kullanılmıştır Yürüme modülü Ekibimizce geliştirilen nesne-tabanlı ters kinematik, parametrik bir yürüme motoru kullanılmaktadır Adım eniyilemesi için genetik yordamlar kullanılmaktadır 65 66 11
İletişim modülü Maçlardan Görüntüler Robotların bilgi alışverişi ve takım oyunuallows robotlar to exchange information ve behave cooperatively which is bir key requirement içinde soccer game Oyun denetleyici ve takım oyuncuları arasında iletişim için UDP protokolü kullanılmaktadır 67 68 12