Az OTP Bank IT Competition elődöntő feladata:
OTP Bank IT elődöntő:
Az elődöntő során a https://lab.open-roberta.org/ weboldalon
keresztül, szimulált környezetben virtuális robotot programozva kell megoldanotok a
feladatokat.
Az itt elkészített algoritmusokat kell exportálnotok és elküldeni e-mailben (info@otpbankit.hu),
a beadandó csatolmány neve a csapat neve
legyen.
A határidő előtti utolsó elküldött e-mail csatolmányát fogjuk
figyelembe venni.
Feladat:
- Egy virtuális LEGO EV3 robottal kell a lehető legrövidebb idő alatt bejárni egy virtuális pályát és összeszámolni a pálya mellett elhelyezett zöld jelöléséket a robot szenzorjaira támaszkodva.
- A roboton található távolságmérő szenzor, amely előre néz. Illetve egy szín és fényérzékelő szenzor, amely a pálya felé (lefelé) van irányítva. Ezt használva kell bejárni a pályát a rajta lévő fekete útvonal követésével.
- Amikor a robot talál egy új zöld mezőt, 360 fokot kell fordulnia saját tengelye körül és ezután kiírni a kijelzőre, hogy eddig hány zöld mezőt talált.
- Amikor a robot végig ment a pályán, a piros mezőn 180 fokot kell fordulnia saját
tengelye körül és ezután megállnia.
A robotnak 3 perc áll rendelkezésre a feladat elvégzésére.
Pontozás:
Minden helyesen megszámolt zöld jelölés egy pontot ér (de csak abban az esetben, ha a robot 360 fokot fordul, ellenkező esetben nem jár érte büntetés, de plusz pont sem).
Az a robot amelyik bejárta a teljes pályát és beért a megadott időn belül a
célba további 2 plusz pontot kap, de csak ha célba érve 180 fokot
megfordul.
Abban az esetben, ha robot többször számolja ugyan azt a zöld
jelölést, amit egyszer már számolt, akkor annyi büntető pontot kap amennyi
többletet számolt. Az OTP logó nem része a pályának és
büntető pont jár, ha beszámítják a zöld jelölések
közé.
Kiértékelés:
Az elődöntőben a https://lab.open-roberta.org weboldalon található szimulátorba a csapatok által küldött kódokat fogjuk betölteni, és kiértékelni. A döntőben valódi LEGO EV3 robottal hasonló feladatot kell majd elvégezni.
Az nyer, aki a legtöbb pontot gyűjtötte össze. Döntetlen esetén az nyer, aki hamarabb találta meg az utolsó zöld jelölést. Amennyiben egyik sem talált zöld jelölést, abban az esetben az nyer, aki hamarabb hajtotta végre az utolsó pontszerző műveletet.
Példa a kiértékelésre:
Versenyző |
Pontszám |
Eltelt idő |
Utolsó pontszerzés ideje |
Célba ért? |
A |
2 |
2 perc 30 másodperc |
2 perc 30 másodperc |
igen |
B |
8 |
3 perc |
2 perc 15 másodperc |
nem |
C |
8 |
3 perc |
2 perc |
nem |
Ebben az esetben a rangsor: C, B, A
A mellékelt képeken láthattok példa-pályát, illetve az EV3 robot port konfigurációját és méreteit.



Gyakori kérdések
Hogyan kell exportálni a programunkat?
Az "edit" menüből az "export program" gombbal, ami egy xml kiterjesztésű fájlt fog lementeni. Ezt kell átnevezni a csapatnevetekre, és elküldeni Nekünk e-mailbe.
Van lehetőség a programkódot lementeni a "source code view" tabról is, de azt nem tudjuk elfogadni.
Általános programot kell írni, vagy elég olyat ami csak ezen a pályán fut?
Az elküldött pálya csak egy minta és egy ehhez hasonló pályán történik majd a feladatok kiértékelése.
A vonalak vastagsága, illetve a négyzetek nagysága mindig ugyanakkora-e, és ezek a méretek megegyeznek-e a tesztpályán levőkkel?
A kiadott pályán levő útvonalakkal azonos vastagságú vonalra lehet számítani.
A példa pályán látható zöld jelölések mindegyike a fekete vezető vonal jobb oldalán helyezkedik el. Lehet arra számítani, hogy ezek a jelölések az "éles" pályán is csak a jobb oldalon fognak elhelyezkedni?
Igen, lehet rá számítani az elődöntő fináléjában is.
A példa pályán láthatóak sárga jelölések, amelyek a "kereszteződéseknél" vannak. Lehet arra számítani, hogy az "éles" pályán is a "kereszteződéseknél" fognak ezek a jelölések elhelyezkedni?
Igen, lehet rá számítani. A jelölések egy bizonyos logika alapján lettek elhelyezve a pályán ugyanezen a logika alapján lesznek az elődöntő fináléjában is.
A zöld/sárga jelölések elhelyezésének logikája publikus?
Nem.
A robot hogyan kerül a Start pozícióba és tudjuk-e, hogy a pálya fele néz?
A példaképen jelöltük, hogy milyen irányban fog nézni a robot, illetve azt, hogy hogyan fogjuk elhelyezni a start felett a robotot mielőtt elindítjuk a programokat. A robot a nyílnak megfelelő irányban lesz és úgy, hogy a színérzékelő feketeszínt, a fényérzékelő pedig 0%-ot mutat.
Szabad használni a turn blokkot/utasítást a különböző elfordulások elvégzésére? (mivel gyro szenzor nincs)
A turn blokk utasítások használata megengedett. Tájékozódni a pályán a szín és fényérzékelő szenzor segítségével lehet. A virtuális szimulációban sem teljesen pontos az elfordulás, van esély minden elforduláskor arra, hogy kicsit többet fordul el.
360 fokos fordulásnak számít-e, ha 360-nál többet fordul a robot?
Nem probléma, ha többet fordul abban az esetben, ha ez szükséges az útjának folytatásához.
Az útvonalban lévő törés lehet-e nagyobb 90°-nál?
Az útvonalban lévő törések 45 és 90 fokosak és a elágazások mindig 90 fokosak.
Lesznek-e új elemek az "éles" pályán?
Az elődöntő példa pályája tartalmaz minden olyan elemet, ami előfordulhat az elődöntő kiértékelésekor.
A fekete vonalon kötelező végig rajta lenni, vagy le lehet-e térni róla?
Nem probléma ha a robot elhagyja a fekete vonalat, de törekedni kell hogy minél közelebb legyen a szenzor a vonalhoz.
Kötelező-e végigkövetni az útvonalat, és bemenni minden elágazásba?
Nem kötelező minden elágazásba bemenni, de érdemes, hisz ha van ott zöld négyzet, akkor az pontot ér.
A főútról leváló elágazásban lehet-e másik elágazás?
Leágazásból nem nyílik újabb leágazás.
Egy elágazásban csak egy zöld négyzet lehet?
Az elágazásokban és az útvonal bármely szakaszán lehetnek zöld négyzetek, akár több is.
Az elágazások csak egyenes szakaszból állhatnak-e mint a tesztpályán, vagy lehetnek bennük kanyarok is?
Az elődöntőn a minta pályához hasonlóan csak egyenes szakaszokból állnak az elágazások.
A zöld/piros mezőre rá kell állni a robottal és ott forogni, vagy elég érzékelni a szenzorral, és úgy forogni egyet?
A szenzorral elég érzékelni a zöld négyzetet/piros végcélt, és végrehajtani a kiírásban levő feladatokat.
Melyik EV3 verziót használjuk: EV3 leJOS 0.9.1 / EV3 leJOS 0.9.0 / EV3dev?
Bármelyiket használhatjátok.
A szimulátor nem figyeli azt, hogyha nem a megfelelő portról kérdezzük le a szenzorok adatait, de a szimuláció helyesen lefut. Ez probléma?
Az elődöntő kiértékelése során ugyanazt a port konfigurációt használjuk, mint, ami a feladat kiírásban szerepel. Nem fogadjuk el azokat a megoldásokat, amelyek kihasználják azt, hogy rossz port konfigurációval is működik a szimuláció.
A példapályán a kanyarok közepén néhol van egy fehér pötty. Ezek az éles pályán is bent fognak maradni?
Nem, az éles pályán a kanyarok homogén feketék lesznek.
Lehet akár kétszer is áthaladni a célon, amennyiben az első alkalommal nem jelezzük 180 fokos elfordulással, illetve megállással a célbaérést?
Természetesen. Ekkor ugye annyi hátrányba kerül a futtatás, hogy később végez a feladattal.
A példa pálya jobb alsó sarkában található egy kék, 3 dimenziós objektum. Az éles pályán számíthatunk ilyen objektumokra?
Nem, ez a felület által generált akadály, ez nem szerepel a pályában.
Ha beküldünk egy kódot, arról kaphatunk visszajelzést, hogy hogyan teljesített?
Nem, pontokat csak a határidő lejárta után osztunk meg.