Lego Mindstorms NXT Robot Kitleri ile
Robotbilime Giri³
a
b
H. Levent Akn , Çetin Meriçli , ve Tekin Meriçli
a
Bilgisayar Mühendisli§i Bölümü, Bo§aziçi Üniversitesi;
a
b
Robotik
Enstitüsü, Carnegie Mellon Üniversitesi, ABD
March 13, 2014
Abstract
Robotbilimin temellerini Bilgisayar Bilimi ö§rencilerine ö§retebilmek
için do§ru hazrlanm³ bir ders müfredat, kolayca karma³k robotlar yaplabilmesine ve bu robotlar üzerinde geli³mi³ algoritmalarn uygulanmasna
olanak veren bir platform kullanlarak hazrlanan uygulamal laboratuvar çal³malar ile desteklenmelidir. Bu makale Bo§aziçi Üniversitesi Bilgisayar Mühendisli§i Bölümü'nde 2007 ylndan beri verilmekte olan ve
uygulama platformu olarak Lego Mindstorms NXT robotik kitlerinin kullanld§ Robotbilime Giri³ dersinin amac, kapsamn, teorik ve uygulamal içerikleri ile her biri birden fazla temel robotik ve yapa zeka problemi
içeren dönem projelerini detayl bir ³ekilde açklamaktadr.
1
Giri³
Bilgisayar bilimi ö§rencilerine robotbilim ö§retmek, özellikle bu ö§rencilerin
genelde robotbilimin tamam için çok önemli olan belirsizlik kavram (alglayc
ve eyleyicilerdeki gürültü gibi) konusuna a³ina olmamalar nedeni ile özel bir
zorluk ta³r.
Ayrca, bu ö§rencilerin önemli bir ksm bir robot yapmak için
sahip olunmas gereken elektronik ve mekanik bilgisinden de yoksunlar. Dolays
ile, böyle bir ö§renci grubuna robotbilimi verimli bir ³ekilde ö§retebilmek için
hem dikkatle hazrlanm³ bir müfredat, hem de teorik konularn i³lenmesinin
hemen ardndan uygulamalarnn yaplabilmesini sa§layacak, hzla ve çok derin elektronik ve mekanik bilgisi gerektirmeden çe³itli robotlarn yaplmasna
olanak verebilecek bir platform kullanlmaldr.
Bu platform ayrca üzerinde
i³lenen teorik konularn geli³mi³ algoritmalarn uygulanabilece§i kadar geli³kin
programlama olanaklar da sunmaldr.
Lego Mindstorms NXT robot kiti tüm bu sayd§mz gereksinimleri kar³lamaktadr.
Mindstorms NXT platformunun göreli olarak kstl i³lem gücü ise
bilgisayar bilimi ö§rencilerinin verimli yazlm geli³tirme becerilerini ön plana
1
çkarmaktadr.
Lego Mindstorms kitlerinin temel robotbilim e§itiminde kul-
lanlmas ilkö§retim seviyesinde oldukça yaygndr [10].
Öte yandan, bu kit-
lerin kullanm genellikle temel bilgisayar bilimi ve programlama kavramlarnn
ö§retilmesi ile snrldr [8].
Bizim dersimizin bu bahsedilen uygulamalardan
fark, geli³mi³ robotbilim konularn pahal ve özel robot donanmlar kullanmadan ö§retmeyi hedeemesidir.
Dersimiz patika planlama, gezinim, alglayc ve eyleyici çaplamas (kalibrasyon), olaslksal çkarm ve kontrol teorisi gibi teorik konularn i³lendi§i haftalk derslerden olu³maktadr. Her teorik dersi takiben derste i³lenen konuyu
peki³tirme amac ile bir laboratuvar çal³mas yaplmakta ve ö§rencilerden o haftann teorik konusu etrafnda ³ekillendirilmi³ mini bir projeyi gerçekle³tirmeleri
istenmektedir. Dönemin son bir aylk bölümünde ise yar³ma ³eklinde hazrlanm³ büyük bir dönem projesi verilmektedir. Bu proje, dönem boyunca i³lenen
teorik konularn hemen hepsinin kullanmn gerektirmekte, ve ö§renciler takmlar halinde çal³arak teorik konularn verimli ve düzgün bir mühendislik ile entegre edilmesi ve ba³tan sona çal³an tamamlanm³ bir robot sistemi olu³turulmas
üzerinde çal³maktadrlar.
2
Ders çeri§i
yi bir lisans düzeyi robotbilime giri³ dersi bir yandan olabildi§ince çok konu
ba³l§ içerip robot yapm ve programlanmas için sa§lam bir temel olu³turacak
³ekilde tasarlanrken bir yandan da ö§rencilerin bu kadar çok ve a§r konular altnda ezilmemelerini, dersi kolayca takip edebilmelerini ve dersten zevk
almalarn sa§lamasna önem gösterilmelidir.
Bu hedeeri gözönünde tutarak
robotbilimin temellerini olu³turdu§unu dü³ündü§ümüz ³u konular derste i³lemeye karar verdik:
•
Eyleyici ve alglayclardaki belirsizlik, ve bu belirsizlikle nasl ba³a çklabilece§i
•
Yer bulma
•
Patika planlama ve engel savu³turma
•
Davran³ temelli ve tepkisel kontrol mimarileri
•
Kontrol teorisi
•
Haritalama
•
Çoklu robot sistemleri, yapay ö§renme ve sosyal robotik gibi geli³mi³ konular
Belirsizlik, robotbilimdeki ana unsurlardan biri olmasna ra§men genelde
gerçek dünya ile etkile³en ve gerçek dünyadaki hemen her³eyde bulunan gürültüye
a³ina olmayan bilgisayar bilimi lisans ö§rencileri tarafndan yeterince içselle³tirilmemi³ olmaktadr. Bu nedenle, derste belirsizlik ve alglayc ve eyleyici çaplama,
2
süzme ve olaslksal çkarm gibi belirsizlikle ba³a çkma yöntemlerine özellikle
a§rlk vermeyi kararla³trdk.
Dersin teorik içeri§i ne kadar iyi olursa olsun, ö§renilen kavramlarn içselle³tirilmesine yardmc olmas için uygulamaya yeterli miktarda a§rlk verilmesi gerekti§ine inanyoruz. Bu görü³ümüzden hareketle haftalk ders ak³n bir saatlik
teori ve hemen ardndan da ö§rencilerin teorik ksmda ö§rendiklerini uyguladklar iki saatlik bir laboratuvar çal³mas ³eklinde tasarladk. Laboratuvar
çal³malarnda Lego Mindstorms NXT robot kitlerini kullandk.
Mindstorms
kitinin i³lemci ünitesi normalde kendine has bir programlama arayüzü ile programlanmakta.
Bilgisayar bilimi müfredatmzda ö§retilen ana programlama
dillerinden biri Java oldu§undan ö§rencilerin uyum sürecini daha da hzlandrmas adna Lego kitlerinin programlama arayüzlerini bir açk kaynak projesi olan
ve Lego kitlerinin Java ile programlanmasna olanak tanyan LeJOS yazlm ile
de§i³tirdik (http://lejos.sourceforge.net/).
Derste i³lenen konular ve laboratuvar uygulamalarn robotik, yapay zeka
ve Lego Mindstorms uygulamalar konusunda yazlm³ çe³itli kaynak kitaplarla
destekledik [1, 57, 9, 1113]. Dersin içeri§ine ve ders materyallerine
http://robot.cmpe.boun.edu.tr/~cmpe434
adresinden ula³labilir. Dersin haftalk ak³ ve i³lenen konular ³u ³ekilde belirledik:
2.1
1.Hafta - Giri³
Bu haftann amac ö§renciler zekann tanm, etmen kavram, robotbilimin ksa
tarihi, geribildirimsel kontrol kavram, alglayc ve eyleyici kavramlar gibi genel
kavramlarla tan³masn sa§lamak ve kendilerine verilen Lego kitleri ile CMU
Robotics Academy kaynakl TaskBot adndaki ilk robotlarn yapmalardr [4](Fig-
ure 1). Bu robot, Lego'nun programlama arayüzü ile programlanarak el çrpma
sesine göre yön de§i³tirerek ortada dola³abilmektedir.
2.2
2.Hafta - Lego Mindstorms NXT kitini Java ile programlama
kinci haftann amac robot kitlerinin Java ile programlanmasna ba³lanmasdr.
LeJOS yazlmnn robotlara yüklenmesini takiben ö§renciler LeJOS örneklerini
inceleyip robotu hareket ettirme, alglayc ve motorlara eri³me ve ilk haftaki
uygulamalarn Java ile tekrarlarn gerçekle³tirmektedir.
2.3
3.Hafta - Alglayclar ve eyleyiciler
Eyleyiciler ve alglayclar bilgisayar bilimi ö§rencilerine giri³/çk³ birimleri
benzerli§i kullanlarak anlatmaktayz. Bu haftann teorik ksmnda de§i³ik alglama ve hareket tipleri, belirsizlik kavram, motor tipleri, alglayc tipleri, güç
denetlemesi, pil sistemleri ve algla-dü³ün-yap paradigmas i³lenmektedir. Dersin uygulama ksmnda ise belirsizlik kavramn peki³tirmek için ö§rencilerden
3
Figure 1: TaskBot robotu.
Lego kitinin ³k, sesötesi uzaklk ve dokunma alglayclarn tekrarl bir ³ekilde
test edip uzaklk ve ³k miktarna göre alglanan de§erlerin beklenen do§rusal
ili³ki modeline uyup uymadklarn belirlemeleri istenmektedir. Benzer ³ekilde,
ö§rencilerden ayrca motorlara gönderilen güç ile gözlenen hz arasndaki ili³kiyi
de modellemeleri beklenmektedir.
2.4
4.Hafta - Hareket
Bu derste genel hareket mimarileri, serbestlik derecesi kavram, eklemler, dura§an ve dinamik denge, ileri ve ters kinematik, odometri gibi kavramlar i³lenmektedir.
Uygulama bölümünde ise bir önceki haftann devam niteli§inde
odometri çaplamas çal³mas yaptrlmaktadr. Bu çal³mada ö§renciler robotu
4m
×
4m boyunda bir kare yörünge üzerinde birden çok kere saat yönü ve tersi
yönde hareket ettirmekte ve robotun son noktasnn idealden çaplama uygulanmad§nda ve uygulandktan sonra ne kadar sapt§n raporlamaktadrlar.
2.5
5.Hafta - Kontrol
Bu haftann teorik dersinde kontrol teorisine giri³ yaplarak açk ve kapal devre kontrol, geribildirimli kontrol sistem tipleri, do§rusal ve do§rusal olmayan
kontrol, PID kontrol metodunun detayl incelenmesi ve PID kontrol sistemlerinin Ziegler-Nichols yöntemi ile ayarlanmas konular i³lenmektetir.
Uygu-
lama bölümünde ise ö§rencilerin amac iki tekerle§i üzerinde kendini dengeleyen
bir robot yaparak bu robotu uygun PID katsaylarn bulmak sureti ile en uzun
süre dengede tutmaya çal³maktr. Ö§rencilerin tasarlad§ kendini dengeleyen
robotlardan biri Figure 2'de verilmi³tir.
4
Figure 2: Kendini dengeleyen bir robot örne§i.
2.6
6.Hafta - Tepkisel mimariler
Bu derste robot kontrol mimarileri ve istemli mimarilere genel bir bak³n ardndan algla-dü³ün-yap paradigmas ve bu paradigmann sorunlu ksmlar daha
detayl incelenerek tepkisel kontrol prensipleri, Braitenberg araçlar, melez kontrol mimarileri, üç katmanl mimariler ve melez kontrolün artlar ile eksileri
i³lenmektedir. Uygulama bölümününde ise ö§rencilere çok basit alglayc-eyleyici
e³le³tirmeleri ile de karma³k davran³larn elde edilebilece§ini göstermek amacyla
ö§rencilerden ilk dört Braitenberg aracn uygulamalar istenmektedir [2].
2.7
7.Hafta - Davran³ temelli mimariler
Bir önceki haftann devam olarak bu haftaki derste davran³, kendili§inden
olu³an davran³ ve tepkisel davran³ kavramlar, hayvanlarda davran³, davran³eylem kar³la³trmas, davran³larn temsil edilmesi, davran³ temelli mimarilerin
de§erlendirilme metodlar ve Kapsama Mimarisi (Subsumption Architecture) [3]
i³lenmektedir. Uygulama bölümünde ise ö§renciler Kapsama Mimarisini kullanarak engelden kaçma, ³k kayna§ arama ve ³k kayna§na gitme gibi basit
davran³lar birle³tirerek robotun engellerden kaçarak ³§a gitmesini sa§lamaya
çal³maktadrlar.
2.8
8.Hafta - Yer bulma
Bu derste yer bulma probleminin zorluklarna ksaca de§inilmekte, ardndan
pasif ve aktif yer bulma, yer bulma algoritmalarnn snandrlmalar, nirengi
metodu (triangulation), olaslksal yer bulma yöntemleri, Markov, Kalman, Monte
Carlo ve Ters Monte Carlo yer bulma yöntemleri i³lenmektedir. Uygulama ksmnda ise ö§rencilerden bir Monte Carlo yer bulma algoritmas için gözlem ve
hareket modelleri üretmeleri beklenmektedir. Bu uygulamada kullanlan robot
hareket yönüne dik olarak taklm³ bir uzaklk alglaycs ta³maktadr. Okunan uzaklk de§eri motorlardan sa§lanan yer de§i³tirme bilgisi ile birle³tirilip
5
robotun nerede olabilece§ine ili³kin hipotezlerin güncellenmesinde kullanlmaktadr. Figure 3'de mavi çizgiler haritay, ince krmz çizgiler robotun yer hipotezlerini, ye³il çizgi ise robotun hesaplad§ yer kestirimini göstermektedir.
Figure 3:
Yer bulma algoritmasn test etmek için kullanlan görselle³tirme
aracndan bir görüntü.
2.9
9.Hafta - Patika planlama
Bu hafta teorik derste patika planlama probleminin tanm, patika planlamann
hesapsal karma³kl§, böcek algoritmalar, görülebilirlik diyagramlar, genelle³tirilmi³ Voronoi diyagramlar, zgara temelli metodlar ve hücre çözümlemesi, potansiyel alanlar, örnekleme temelli yöntemler, olaslksal yol haritalar (PRM) ve
hzla ara³tran rastgele a§açlar (rapidly exploring random trees RRT) konular
i³lenmektedir. Laboratuvar uygulamasnda ise ö§renciler Böcek1 ve Böcek2 algoritmalarn kullanarak bir robotun önüne çkan engellerden kaçarak bir ³k
kayna§na gitmesini sa§lamaya çal³maktadr.
2.10
10.Hafta - Haritalama
Bu derste neden robotlarn haritalamaya ihtiyaç duydu§u ksaca tart³ldktan
sonra çevre modelleme ve gösterim metodlar, haritalama problemindeki zorluklar, sürekli gösterim, tek ve çok hipotezli yakla³mlar, hücre çözümleme metodlar, doluluk zgaralar (occupancy grids), e³zamanl yer bulma ve haritalama
(SLAM) problemi ve SLAM yakla³mnn uygulamalar i³lenmektedir.
Labo-
ratuvar uygulamasnda ise ö§renciler sesötesi uzaklk alglaycs olan bir robot
yaparak bu robotun
1
m
×1
m boyunda bir kare patikay takip etmesi ve bu
patikann etrafna yerle³tirilmi³ nesnelerin bir haritasn çkarmas istenmektedir.
2.11
11.Hafta - Ö§renme
Bu haftann teorik dersine ö§renme ve yapay ö§renmenin tanmlarn vererek
ba³ladktan sonra gözetimli ve gözetimsiz ö§renme, peki³tirmeli ö§renme [14],
Markov Karar Süreçleri, Monte Carlo örnekleme, zamansal fark (temporal dierence, TD) ö§renme, Q-ö§renme gibi yakla³mlar incelenerek yapay ö§renmenin
6
uygulama alanlarna ksaca de§inilmektedir.
Bu haftadan itibaren uygulama
zamannda ö§renciler dönem projesi üzerinde çal³maya ba³lamaktadr.
2.12
12.Hafta - Çoklu robot sistemleri
Bu derste genel çoklu robot terminolojisi, çoklu robot sistemlerinin snandrlmalar, çoklu robot yer bulma, ileti³im, haritalama ve ara³trma, ö§renme gibi
konularn yannda merkezi ve da§tk çoklu robot sistemlerinin kar³la³trlmas,
çoklu robot sistemlerinin avantaj ve dezavantajlar gibi konular i³lenerek serbest
piyasa temelli görev atama metodlar ile robot futbolu örnek uygulamalar olarak
anlatlmaktadr.
2.13
13.Hafta - Sosyal robotik
Dönemin bu son teorik dersinde sosyal robotlarn tanm, türleri ve formlar,
sosyal robotlardaki temel tasarm problemleri, etkile³im türleri, sosyal ö§renme,
yapay duygular, taklit gibi konulara de§inilerek örnek ve potansiyel uygulamalar
incelenmektedir.
3
Dönem Pro jeleri
Dönem boyunca laboratuvar uygulamalarnda kazanlan tecrübeleri daha da
peki³tirmek için ö§rencilere her yl de§i³ik bir temaya sahip ve haftalk uygulamalardan göreli olarak daha karma³k bir proje verilmektedir.
Bu projeler
çkarm, patika planlama, haritalama, alglama ve hareket gibi yapay zeka ve
robotbilimdeki önde gelen problemlerin basitle³tirilmi³ hallerini içermektedir.
Bu bölümün kalan ksmnda 2007 ylndan bu yana verilen projeleri detaylca
açklayaca§z.
3.1
Wumpus Dünyas
Bu projede ö§rencilerden ünlü Wumpus Dünyas probleminin biraz de§i³tirilip basitle³tirilmi³ halini gerçek ve gürültülü dünyada çal³acak ³ekilde gerçeklemeleri beklenmektedir.
Wumpus
Basitle³tirilmi³ Wumpus Düynas duvarlarla çevrili
5×5
kare zgara hücrelerinden olu³maktadr. Bo³ olmayan hücreler dipsiz bir
kuyu,
isminde kötü kokulu bir canavar, ya da bir sandk dolusu
altn barndryor olabilir.
Robotun amac kuyulara dü³meden ve Wumpus'a
yem olmadan altn bulup ba³langç konumuna geri dönmektir.
Wumpus'un
bulundu§u hücrenin etrafndaki hücrelerde de canavarn kötü kokusu duyulabilmektedir. Benzer bir ³ekilde, dipsiz kuyu barndran hücrelerin etraarndaki
hücrelerde bir esinti hissedilmektedir.
³lts görülmektedir.
Altnn bulundu§u hücrede ise altnn
Robotun tuzaklara dü³memesi için ortamdan edindi§i
bu gözlemlere göre bir takm çkarmlar yapmas gerekmektedir.
Kötü koku,
esinti, ve parldama alglar robotun renk alglaycs tarafndan farkedilebilecek de§i³ik renklerle temsil edilmi³lerdir, duvarlarla temas ise robotun çarpma
7
alglaycs aracl§yla anla³lmaktadr.
Java programlama dilini kullanlarak
gerçekleyip ö§rencilere sundu§umuz özel bir benzetim ortam aracl§yla projenin yapay zeka ve ziksel tasarm ksmlar birbirinden ayrlp, ö§rencilerin
ilk olarak strateji ksmna odaklanabilmeleri sa§lanm³tr.
Yazlm geli³tirme
sürecine paralel olarak ö§rencilerden benzetim ortamndaki etmenin kulland§
alglama ve eylem fonksiyonlarnn gerektirdi§i alt seviye i³levselli§i geli³tirmeleri
beklenmektedir. Benzetim ortamnn geli³tirilmesinde Java programlama dilinin
kullanlmas ö§rencilerin etmen yazlmlarn herhangi bir de§i³iklik gerektirmeden robotlarnda kullanabilmelerini sa§lamaktadr. Örnek bir Wumpus Dünyas
benzetim ortam senaryosu Figure 4'ta gösterilmi³tir.
Figure 4: Wumpus Dünyas problemi benzetiminden bir görüntü.
3.2
Prensesi Kurtar
Bu projede ö§rencilerden hem bir labirentte gezebilecek hem de bir dire§e trmanabilecek dönü³türülebilir bir robot tasarlanmalar beklenmektedir. Amaç,
kaçrlp yeralt zindannda tutulan prensesi bulup kurtarmak ve dire§e trmanarak onu zindandan çkarmaktr. Zindan kare hücrelerden olu³mu³ dikdörtgensel bir alan olarak gerçeklenmi³tir. Alan duvarlarla çevrilidir ve bo³ olmayan
her kare en fazla bir çe³it nesne barndrabilir. Geçerli nesneler ³unlardr: engel
(belirli bir renkle kodlanmam³tr), direk (sar renkle kodlanm³tr), ve prenses
(mavi renkle kodlanm³tr). Ö§rencilerin en fazla üç motor, sadece bir tane Lego
i³lemci ünitesi, ve i³lemci ünitesinin destekleyebildi§i çe³itlilikte ve çoklukta alglayc kullanmalarna izin verilmektedir. Robotun ba³langç konumu rastgele
belirlenmektedir. Figure 5 kolayca direk trmanc bir robota dönü³türülebilen
tasarmlardan birini göstermektedir.
8
Figure 5: Prensesi Kurtar projesi için geli³tirilmi³ bir robot örne§i.
Zeminde
hareket etmek ve prensesi aramak için kullanlan robot (solda) prensesi bulduktan sonra kolayca bir dire§e trmanan bir robota dönü³türülebiliyor (sa§da).
3.3
Labirent Faresi
Bu projenin amac belirli bir labirenti en ksa sürede çözebilecek bir robot,
di§er adyla bir mikro-fare geli³tirmektir. Mikro-fare IEEE tarafndan hazrlanm³, robotik farelerin
16 × 16
boyutlarnda bir labirenti çözmeye çal³tklar
bir mühendislik tasarm yar³masdr. Fareler, önceden belirlenmi³ bir ba³langç
konumundan labirentin orta ksmna herhangi bir yardm almadan ula³maya
çal³an tamamen özerk robotlardr.
Bir mikro-fare, konumunu ve geçti§i yer-
leri aklnda tutmak, ke³if gezisi srasnda labirentin duvarlarn belirlemek, bu
bilgilere dayanarak labirenti haritalamak, ve hedefe vard§nda bunu anlamak
durumundadr.
Hedefe vardktan sonra fare genelde ek ke³if gezileri yaparak
ba³langç konumundan labirentin merkezine ilk bulunandan daha uygun ve verimli patikalarn varl§n ara³trr. En uygun patika bulunduktan sonra fare bu
patikay mümkün olan en ksa sürede katetmeye çal³acaktr.
Yer kstlar nedeniyle ve süreci basitle³tirme adna kendi projemizde labirentin
boyutlarn 33 cm×33 cm karelerden olu³acak ³ekilde
8×8
olarak belirledik.
Labirentin merkezinde hede temsil eden ve di§er hücrelerden farkl renklendirilmi³
2 × 2 boyutlarnda bir bo³luk braktk.
Labirent kurulumundan bir görüntü Fig-
ure 7'de sunulmu³tur.
3.4
Arama ve Kurtarma
Bu projenin amac afet sonras yknty temsil eden bir labirentte çal³acak bir
arama-kurtarma robotu in³a etmektir. Yknt, robotun ve objelerin olas kon-
9
Figure 6: Örnek bir labirent
Figure 7: Küçültülmü³ bir Mikro-fare labirentinden bir görüntü.
umlarnn bir zgara ile belirtildi§i bir ayrk dünya olarak modellenmi³, ma§durlar ise yarallk seviyelerine göre (sk³m³, yaral, ölü) A5 boyutunda de§i³ik
renklerdeki ka§t parçalaryla temsil edilmi³tir. Ö§rencilerden beklenen bu labirenti
verimli bir ³ekilde dola³p haritasn çkartacak ve yarallar bu harita üzerinde
konumlandracak bir arama-kurtarma robotu geli³tirmeleridir. Robot labirenti
10
dört kö³esinden rastgele belirlenen bir tanesinden hareketle ara³trmaya ba³lar
ve haritalama operasyonu sonunda ba³langç konumuna dönmesi beklenir. Elde
edilen haritann son hali Bluetooth üzerinden bir bilgisayara aktarlp burada
görüntülenmelidir.
3.5
Dene Avcs
Bu projenin amac RoboCup Genç Arama-Kurtarma B kategorisi yar³malarnda
da kullanlan, ancak hareketi kolayla³tracak çizgilerin kaldrld§, de§i³ik odacklardan olu³mu³ iki katl bir ortamda (Figure 8) çal³acak dene avcs bir robot
geli³tirmektir (http://rcj.robocup.org/rcj2011/rescueB_2011.pdf ). Ortam
30
30 ×
cm boyutlarnda zgara hücrelerinden olu³an bir ayrk dünya olarak model-
lenmi³tir. De§i³ik tipte hazineleri (altn, gümü³, bronz), hazine kutularn, ve
tuzaklar barndran hücreler zemine yerle³tirilmi³ A5 boyutunda de§i³ik renklerdeki ka§t parçalaryla temsil edilmi³tir. Hazine kutusu, toplanan hazineleri
saklamak için kullanlmaktadr. Robot bir tuza§a dü³erse, o ana kadar toplad§
ancak hazine kutusuna brakmad§ bütün hazine yok olacaktr. Robotun hazine
bulup ald§ hücreler, 3 dakika sonra ayn türde hazinelerle doldurulur. Amaç
verilen sürede olabildi§ince fazla hazine toplamaktr.
Robot ilk katn dört
kö³esinden birinden hareketle ortam haritalamaya ba³lar. Robot hazineyi toplamak ve üzerindeki hazineleri brakmak gibi eylemleri de§i³ik seslerle bildirmelidir. Buna ek olarak, Bluetooth ba§lants aracl§yla bir bilgisayar üzerinde
çkarlan haritann görüntülenebilece§i bir görselle³tirme yazlm geli³tirilmelidir.
Figure 8: Dene Avcs projesi için geli³tirilen bir robot ve arkaplanda yar³ma
alan.
11
4
Ö§rencilerin Çal³malarnn De§erlendirilmesi
Ö§rencilerin çal³malarnda katettikleri mesafeyi hafta boyunca yaplan i³lerin
canl gösterileri ve bir önceki hafta tamamlanan laboratuvar çal³malarn özetleyen
teknik raporlar aracl§yla denetliyoruz.
Hazrlanan raporlarda ö§rencilerden
kar³la³tklar zorluklar, bu zorluklar a³mak için ne gibi yöntemler kullandklarn, hem yazlm hem de donanm tarafnda ne gibi tasarm seçimleri yaptklarn, ve bu seçimleri hangi gerekçelere dayandrdklarn anlatmalarn istiyoruz. Benzer bir ³ekilde, dönem projesi de teknik raporlar ve canl gösteriler aracl§yla de§erlendirilmektedir.
Dönem projesinin ilan ve atanmasn-
dan sonra ö§renci takmlar öncelikli olarak tahmini tasarm kararlarn ve bu
kararlarn gerekçelerini anlattklar bir tasarm döküman hazrlarlar. Projenin
sonunda canl gösteriye ek olarak yaptklar i³leri çok daha detayl bir ³ekilde açkladklar bir nal raporu da sunarlar.
Final gösterilerini genelde bir
yar³ma çerçevesinde düzenleyip srad³ performans gösteren takmlar ek puanlarla ödüllendirmekteyiz. Ö§rencilerin dersin teorik içeri§in sunuldu§u ksm ile
ilgili yeterlilikleri ise yazl bir snav aracl§yla ölçülmektedir.
lk üç sene hem haftalk raporlarn hem de dönem projesi raporlarnn ka§da
basl kopyalarn topluyorduk. Ancak 2010 senesinden itibaren raporlarn toplanmas ve de§erlendirilmesi için wiki temelli a§ sayfamzdan faydalanarak olu³turdu§umuz çevrimiçi geribildirim sistemini kullanmaya ba³ladk. Robotik sistemlerin de§erlendirilmesinde yaplan tasarm gerçek dünyada çal³rken görmek
büyük önem ta³r; bu nedenle a§ teknolojilerini yo§un olarak kullanyor olmann ö§rencilere laboratuvar saatleri d³nda da yaptklar i³lerin videolarn
yükleyip payla³abilme imkan sunuyor olmas açsndan çok büyük olumlu etkileri görülmü³tür. Ar³iv amaçl kullanlabilecek çok sayda foto§raf ve videonun
derlenmesini kolayla³trmas da a§ temelli geibildirim sistemimizin bir di§er faydasdr.
5
Sonuç
Bu makalede Bo§aziçi Üniversitesi Bilgisayar Mühendisli§i Bölümü'nde 2007
ylndan beri verilmekte olan lisans düzeyindeki Robotbilime Giri³ dersi anlatlm³tr. Dersimiz bir özel konu (special topic) dersi olarak ba³lam³ ve daha
sonra ö§rencilerden gelen yo§un ilgi ve pozitif geribildirimler neticesinde 2011
ylnda düzenli bir seçmeli ders haline gelmi³tir. Buna ek olarak 2011 ylnda
yo§un ö§renci talebini kar³layabilmek için dersin kapasitesini 10 ö§renciden 22
ö§renciye çkardk.
Tasarlad§mz müfredat ve laboratuvar uygulamalar ö§rencilerden düzenli
olarak ald§mz son derece olumlu geridönü³lerle ba³arsn ispat etti. Bunun
sonucunda, ba³lad§mz zamandan bu yana dönem projeleri d³nda dersin içeri§i neredeyse hiç de§i³medi. Ayrca, 2007'den bu yana deneyimlerimize dayanarak kulland§mz Lego Mindstorms NXT kitlerinin karma³k robotlar yaplabilmesini sa§lamasnn özellikle Java gibi popüler bir dille programlanabilmesi
ile birle³ti§inde böyle bir giri³ seviyesi dersi için çok ideal bir platform oldu§unu
12
dü³ünüyoruz.
Bu dersin ba³arsndan cesaret alarak hem laboratuvar uygulamalarn hem
de dönem projelerini çoklu robot sistemleri, yapay görme temelli hareket ve haritalama ve yapay ö§renme gibi konular da içerecek ³ekilde geni³letmek, ve bu
dersin ba³ka okullarda da kolayca tekrarlanabilmesi için ders notlar ve laboratuvar uygulamalarnn detaylca anlatld§ bir kitap yazmay planlamaktayz.
References
[1] Brian Bagnall.
Maximum Lego NXT: Building Robots with Java Brains.
Variant Press, 2007.
[2] Valentino Braitenberg. Vehicles: Experiments in Synthetic Psychology. The
MIT Press, February 1986.
[3] Rodney Brooks. A robust layered control system for a mobile robot. IEEE
Journal of Robotics and Automation, 2(1):1423, 1986.
[4] Carnegie
Mellon
Robotics
Academy,
2007.
http://www.education.rec.ri.cmu.edu.
[5] Gregory Dudek and Michael Jenkin. Computational Principles of Mobile
Robotics. Cambridge University Press, 2000.
[6] Mario Ferrari. Building Robots with Lego Mindstorms. Syngress Pub., 2002.
[7] Michael Gasperi, Philippe E. Hurbain, and Isabelle L. Hurbain.
Ex-
treme NXT: Extending the LEGO MINDSTORMS NXT to the Next Level.
Apress, 2007.
[8] Michael W. Lew, Thomas B. Horton, and Mark S. Sherri. Using LEGO
MINDSTORMS NXT and LEJOS in an Advanced Software Engineering
Course. In The 23rd Annual IEEE-CS Conference on Software Engineering
Education and Training, 2010.
[9] Fred G. Martin. Robotic Explorations: A Hands-on Introduction to Engineering. Prentice Hall, 2001.
[10] Maja Mataric. Robotics Education for All Ages. In AAAI Spring Symposium on Accessible, Hands-on AI and Robotics Education, 2004.
[11] Maja Mataric. The Robotics Primer. MIT Press, 2007.
[12] Robin R. Murphy. An Introduction to AI Robotics. MIT Press, 2000.
[13] Stuart Russell and Peter Norvig.
Articial Intelligence:
A Modern Ap-
proach. Prentice Hall, 2003.
[14] R.S. Sutton and A.G. Barto.
Reinforcement learning:
Cambridge Univ Press, 1998.
13
An introduction.
Download

Ek : Sözleşmeli Mübaşirlik sözlü sınavı sonucu nihai başarı listesi