Kecskeméti Főiskola GAMF Kar Kalmár Sándor Informatika Intézet Bányai Júlia Gimnázium Kecskemét Tisztelt Versenyzők! A Kecskeméti Főiskola Gépipari és Automatizálási Műszaki Főiskolai (GAMF) Kara és a kecskeméti Bányai Júlia Gimnázium által szervezett, III. Mobilrobot Programozó országos csapatverseny első fordulója lezárult. A zsűri a beérkezett pályamunkák alapján meghozta döntését. Örömmel értesítjük, hogy csapatuk bejutott a verseny döntőjébe! Mellékelten küldjük a második (döntő) forduló programját. A döntőbe jutott csapatok alfabetikus sorrendben (nem helyezési sorrend): Albán mókusok (Kecskemét, Bányai Júlia Gimnázium) Dark Knights (Kecskemét, Kandó Kálmán Szakközépiskola) EVIL (Tata, Eötvös József Gimnázium) FooBar (Budapest, Szent István Gimnázium) Hematolit (Budaörs, Illyés Gyula Gimnázium) KJG (Kecskemét, Katona József Gimnázium) Lego Rockers (Csongrád, Batsányi János Gimnázium) M.I. (Szentendre, Szentendrei Református Gimnázium) Puskás 01 (Budapest, Puskás Tivadar Távközlési Technikum) Robogo (Kecskemét, Bányai Júlia Gimnázium) Robot Revolution (Sopron, Széchenyi István Gimnázium) Root kiskacsák (Kecskemét, Kandó Kálmán Szakközépiskola) A döntő időpontja: 2011. március 25. (péntek) A döntő helyszíne: Kecskeméti Főiskola GAMF Kar, 6000 Kecskemét, Izsáki u. 10. A döntő programja: 9.00-9.30 Regisztráció 9.30-9.45 Köszöntő, a verseny megnyitása 9.45-10.00 Feladatok ismertetése, kérdések megválaszolása (1-6 sorsz. csapatoknak) Prezentációk előkészítése (7-12. sorsz. csapatoknak) 10.00-11.30 Programírás (1-6. sorsz. csapatoknak) Prezentációk bemutatása (7-12. sorsz. csapatoknak) 11.30-11.45 Feladatok ismertetése, kérdések megválaszolása (7-12 sorsz. csapatoknak) Prezentációk előkészítése (1-6. sorsz. csapatoknak) 11.45-13.15 Programírás (7-12. sorsz. csapatoknak) Prezentációk bemutatása (1-6. sorsz. csapatoknak) 13.30-14.00 Ebéd 14.00-tól A robotverseny (tesztpálya bemutatók 1-12. sorsz. csapatok) 15.30-től Bemutatkozik a Kecskeméti Főiskola GAMF Kara, közben a zsűri visszavonul döntéshozatalra 16.30-től Eredményhirdetés 17.00 A verseny zárása
A döntő feladatai: A csapatoknak egy előre elkészített (nyomtatott alapú) terepasztalon kell útvonalkövetési és akadálypálya jellegű feladatokat megoldaniuk egy előre összeépített robotra írt programok segítségével. A feladatok vázlatos leírását levelünk tartalmazta. A programírásra rendelkezésre álló idő: 90 perc (a feltelepített programokat kivéve más segédeszköz nem használható). A robotokat a csapatok a helyszínen kapják, azok átépítésére nincs lehetőség. Valamennyi robot azonos szerkezetű és rendelkezik fény-, ultrahang- és nyomásérzékelőkkel, valamint két szervo motorral. Az akadálypályán a feladatok megoldása során a teljesítés ideje és a feladat megvalósításának precizitása a döntő (pontozási skála és a zsűri döntése alapján). A megoldás során a csapatok használhatják a rendelkezésükre bocsátott nyomtatott tesztpályát és csapatonként két-két számítógépet a szükséges és telepített programokkal, valamint egy-egy megépített Mindstorms NXT robotot. A programok megírása után a csapatok az akadálypályán bemutatják a megoldásaikat. A bemutató helyszínén minden csapat (a sorszámának megfelelő sorrendben) ugyanazon tesztpályán mutatja be a három feladatának megoldását. A zsűri a bemutató után röviden kérdezhet a csapatoktól a programozási feladatok megoldásáról, a használt algoritmusokról. A döntőn előadás formájában az első fordulóban elkészített programokat is be kell mutatni. A kommunikációs program bemutatásához odahaza készíthetnek prezentációt vagy használhatják a versenyre már beküldött CD tartalmát. A prezentációra csapatonként 10 perc áll a rendelkezésükre. A végső sorrend összetevői: A végső sorrend a zsűri döntése alapján alakul ki, amelynek része: - az első fordulóban elkészített program és robot (maximum 50 pont), - a második fordulóban megvalósított akadálypálya megoldása (maximum 100 pont), - a megtartott előadás (maximum 50 pont). A zsűri tagjai: Dr. Istenes Zoltán (egyetemi docens) ELTE IK - a versenybizottság elnöke Dr. Pap-Szigeti Róbert (főiskolai docens) KF GAMF Pásztor Attila (főiskolai adjunktus) KF GAMF Csordás Péter (középiskolai tanár) Mátyás Király Általános Iskola Mészáros Ádám (főiskolai hallgató) KF GAMF A versenybizottság tagjai (szervezők és elérhetőségek): Pásztor Attila Kecskeméti Főiskola GAMF Kar, 6000 Kecskemét, Izsáki u. 10. e-mail: pasztor.attila@gamf.kefo.hu tel.: 06 20 421 9931 Kiss Róbert Bányai Júlia Gimnázium, 6000 Kecskemét, Nyíri u. 11. e-mail: robekiss@gmail.com tel.: 06 20 479 8460 A versennyel kapcsolatos kérdéseikkel a szervezőkhöz fordulhatnak, vagy a robotverseny@gmail.com e-mal címre írt levélben tehetik fel. További jó felkészülést! Kecskemét, 2011. február 21. - 2 -
A III. Mobilrobot programozó csapatverseny döntőjében szereplő programozási feladatok vázlatos leírása A verseny döntőjében a csapatok feladata: 1. Az általános tájékoztatás és a feladatismertetés után a csapatok véletlen sorsolással választanak robotot. Minden robot azonosan felépített és a szerkezeti módosítására nincs lehetőség. Alaprobot: a LEGO cég által tervezett Tribot átalakított változata, fogókarok nélkül, az alábbi egyéb változtatások szerint (Tribot szerelési útmutató: http://www.activerobots.com/products/mindstorms4schools/building-instructions/build-tribot.pdf). A robot elején, egymástól kb. 5 cm-re, egy-egy (összesen két darab) fényérzékelő található (mindkettő lefelé néző állapotban). A fényérzékelők között egy ultrahangos távolságérzékelő van, a tárgyak észleléséhez megfelelő magasságban. A robot egy ütközésérzékelőt is tartalmaz a téglára szerelve, valamint két motort. Felülnézeti sematikus, méretarányos ábra: Hátsó kerék Baloldali kerék Tégla Jobboldali kerék Baloldali fényszenzor Jobboldali fényszenzor Ultrahang szenzor 2. A robotok kézhezvétele után minden csapat a saját felkészülési termében dolgozhat a feladatok megoldásán, ahol kap egy tesztpályát és a tartozékait, valamint két számítógépet a telepített programokkal. (NXT-G és Bricx, egyéb igényeket kérjük jelezni). Minden robot akkumulátorral felszerelt és a csapatok egy töltőt is kapnak. A versenyen rendelkezésre állnak feltöltött akkumulátorok, így ezek cseréjére lehetőség lesz (amennyiben szükséges). A csapatoknak 90 perc áll a rendelkezésére, hogy a legjobb tudásuk szerint megoldják a versenyen kitűzött három feladatot. 3. A 90 perces programozási idő letelte után a csapatok a robotjukra töltik az elkészült programokat és a robotokat a verseny bemutatójának helyszínére szállítják a segítők. 4. A bemutató helyszínén minden csapat (a sorszámának sorrendjében) egy tesztpályán mutatja be a három feladatának megoldását. A zsűri a bemutató után röviden kérdezhet a csapatoktól a programozási feladatok megoldásáról, a használt algoritmusokról. 5. Minden csapat (a sorszámának sorrendjében) rövid (legfeljebb 10 perces) bemutató előadáson ismerteti a zsűrivel és a verseny résztvevőivel a pályamunkájában beadott kommunikációs feladat megoldását. Ehhez az előadáshoz készíthet otthoni munkával prezentációt, használhatja a beadott videót. Az elkészített robot tárgyi bemutatására nincs szükség (a robotot nem kell elhozni a versenyre). Az előadás után a zsűri ismét tehet fel kérdéseket a robot építésével, a kommunikációs programmal kapcsolatban. A döntőbe jutott csapatok létszámától függően elképzelhető, hogy a csapatok egy része a prezentáció bemutatásával kezdi versenyt, míg a többi csapat a programírással. A 90 perc letelte után csere. Valamennyi csapat előadása és a robotprogramok bemutatása után a zsűri döntéshozatalra visszavonul. A végső sorrendet a csapat megszerzett pontszáma alapján állapítja meg a zsűri. - 3 -
A pontozásnál a következő arányok érvényesek: - Kommunikációs (beküldött feladat): 50 pont - Bemutató előadás a kommunikációs (beküldött) feladatról: 50 pont - Robotprogramok (döntőn megoldott 3 feladat): 100 pont A részletes versenymenetrendet később, a döntőbe jutott csapatoknak mellékeljük. 1. feladat: Útkeresés Jó felkészülést a versenyre! Robotverseny feladatok vázlatos ismertető A robot fehér alapú pályán, egyik fényszenzorával kell, hogy kövesse a fekete színű útvonalat (a követendő útvonal nem feltétlenül egyenes). Ez az út a főútvonal. Az főútra merőlegesen, attól néhány cm távolságra fekete csíkok találhatók a pályán. Ezek a mellékutak. A robot másik fényszenzora ezek fölött a mellékutak fölött kell, hogy haladjon. A mellékutak közül egy kivételével valamennyi akadállyal (doboz) le van zárva. A lezáratlan mellékúton haladva elérhető egy megfelelő nagyságú gömb alakú tárgy. Ezt a gömböt kell a robotnak elérnie úgy, hogy végig az utakat (fő- vagy mellékút) követi és nem érinti meg a mellékutakat lezáró akadályokat. Tehát ideálisan a robot csak arra a mellékútra hajt be, amelyen akadálymentesen elérhető a gömb. A robot mozgásának megkezdése előtt információt lehet bejuttatni a robotnak. Ez történhet a robotra szerelt szenzorok, vagy a tégla nyomógombjai segítségével. Miután a robot megkezdte mozgását, már további külső irányítása tilos, csupán az algoritmusa és a pályán elhelyezett objektumok (csíkok és akadályok) vezérelhetik. A mellékutak hálózata összefüggő, de a főútvonal ettől elkülönül. A mellékutak száma legfeljebb négy lehet. A pálya egy lehetséges felépítése: Mellékutak hálózata Céltárgy Akadállyal lezárt mellékút Akadállyal lezárt mellékút Főútvonal A felkészülési idő alatt a csapat megkapja a versenyrobotot (átépítésére nincs lehetőség), a döntő bemutatóján használttal megegyező tesztpályát és a szükséges akadályokat, céltárgyat. A tárgyakat tesztelési céllal a csapat szabadon elhelyezheti a pálya különböző pontjain, de a végleges helyzetüket a bemutatón a zsűri állapítja meg, minden csapat számára azonos módon. Az értékelésnél számít a teljesítés ideje és precizitása. A forráskód alapján a megfelelő mellékút megtalálására megírt algoritmus. - 4 -
A feladatra fordítható maximális idő: 1 1,5 perc. A robotnak a pályára felfestett útvonalakat kell követnie, azok közötti területen nem vághat át. Ha lezárt mellékutakon található akadályhoz hozzáér, akkor folytathatja útját (az akadály nem rögzített), de büntetőpontokat kap. 2. feladat: Útlabirintus A robot fehér alapú pályán kell, hogy egy útlabirintuson végighaladjon. A labirintus T alakú útkereszteződéseket tartalmaz. A kereszteződés egyik ága akadállyal (doboz) le van zárva. A kereszteződéshez érve a robotnak a másik ágon (lezáratlan) kell továbbhaladnia. Minden kereszteződés ilyen felépítésű (bármelyik ág le lehet zárva, de csak az egyik). A robot a labirintus bejárását a cél eléréséig folytatja. Ha letér az útról, vagy hozzáér az akadályhoz, akkor startpozícióból újra kell indítani. A robot indulási pozíciója olyan, hogy a fekete labirintusvonal a két fényszenzora között van. A pálya egy lehetséges felépítése: Start A feladat megoldására 60-90 másodperc áll a robot rendelkezésére. Az értékelésnél számít, a megvalósítás precizitása, az elkészített algoritmus. A felkészülési idő alatt a csapat megkapja a robotot (a szerkezetén nem változtathat), és a döntőbelivel megegyező tesztpályát, valamint a szükséges tárgyakat. A tárgyakat a csapat tetszőleges helyre elhelyezheti a pályán, hogy tesztelje a programját, de a döntőn a tárgyakat a zsűri helyezi el, minden csapatnak azonos módon. 3. feladat: Kapukeresés A robotnak egy kaput kell megkeresnie, amely két téglatestből áll. A téglatestek egymástól a robot szélességének megfelelő távolságban szimmetrikusan vannak elhelyezve. A robotnak át kell haladnia a két téglatest között úgy, hogy egyikhez se érjen hozzá. A kapu keresését kötött szabályok alapján végezheti el a robot. Ehhez egyenesen kell haladnia a haladási irányára merőlegesen elhelyezett, különböző szélességű csíksor fölött. A csíkok színe az alap színétől jól megkülönböztethető. A legszélesebb csík mellett található a kapu. Pl.: az alábbi ábrának megfelelően: - 5 -
Kapu Csíksor végét jelző akadály Pl.: Robot indulási pozíció A csíksor végét egy akadály jelzi. A csíkok száma, valamint a robot indulási pozíciója csak a döntőn válik ismertté. (A robot indulhat bármely két csík közötti üres területről is, bármelyik irányba.) A kapu mindenképpen a robot előtti legszélesebb csík mellett van, de a csíksor bármely oldalán lehet. A megfelelő csík megkereséséhez a csapatoknak olyan algoritmust kell készíteni, amely alkalmas legfeljebb 10 db különböző csík esetén is megtalálni a legszélesebbet. A kapu keresése ezután kezdődhet. A feladat akkor számít teljesítettnek, ha robot áthaladt a kapun. (A robot közvetlenül nem keresheti a kaput, csak miután megtalálta a legszélesebb a csíkot.) A pontozásnál a zsűri értékeli a legszélesebb csík megkeresésére írt algoritmust, a kapu keresésére készített algoritmust, valamint a mozgás precizitását. A teljesítés ideje nem számít. A robot rendelkezésére álló idő 30-60 másodperc. A felkészülési idő alatt a csapat megkapja a robotot (a szerkezetén nem változtathat), és a döntőbelivel megegyező tesztpályát, valamint a kapuhoz szükséges dobozokat. A robot indulási pozíciója és a kapu helyzete (jobb oldal vagy bal oldal) csak a döntő bemutatója alkalmával válik ismertté, minden csapat számára egységesen. A megadott pályarajzok nem méretarányosak, csak a programozási feladat könnyebb megértését szolgálják. A feladatok leírása csak vázlatos. Főbb összetevőikben nem változhatnak. A pontozás részletei és a nyitott kérdésekre a válasz a versenyen válik ismertté. Általánosan elmondható, hogy a feladatoknál értékeli a zsűri a teljesítés idejét, a megoldás precizitást, a megírt programokat, valamint a bemutatott feladatmegoldások után néhány kérdést feltehet a megvalósítás algoritmusairól. A zsűri pontozólapon rögzíti a pontszámokat és ezek összesítésével alakítja ki a csapatok összpontszámát. Kérdéseket a versennyel kapcsolatban a robotverseny@gmail.com címre írt e-mailben lehet feltenni. - 6 -