Robotépítés és robotprogramozás virtuális környezetben

Veronika Stoffová1, Martin Zboran2, Hana Hyksová3

1veronika.stoffa@gmail.com; 2mazboran@gmail.com; 3hanahy@seznam.

1Faculty of Education of Trnava University in Trnava (Slovakia) & ELTE IK

2Faculty of Mathematics, Physics and Informatics, Comenius University in Bratislava (Slovakia)

3Faculty of Education, Palacký University in Olomouc (Czech Republic)

Absztrakt. Az általános iskolát látogató gyerekek a játékos tanítási formát részesítik előnyben. Az alternatív oktatási stratégiák alapvető célja, hogy a tanuló ne csak passzív befogadója legyen az ismereteknek, hanem aktívan vegyen részt a tanulási folyamatban. A didaktikai játék során a tanulók spontán módon sajátítanak el bizonyos ismereteket, amelyek összhangban vannak az oktatási célokkal, anélkül, hogy tudatosítanák, hogy tanulnak. A programozás játékos oktatásának egyik lehetősége a programozható játékok és robotok programozása. Sajnos az iskolák nincsenek kellőképpen felszerelve programozható robotokkal vagy robotkészletekkel és nagyon nehéz egyforma tanulási feltételeket és környezetet biztosítani minden diáknak. Tapasztalataink azt igazolják, hogy a programozható játékok, valamint a robotkészletek megfelelően helyettesíthetők ezen eszközök emulátoraival és szimulátoraival. Ezek jelentős előnye az is, hogy használhatók a távoktatásban is. A szimulációs környezetben való programozás ugyanolyan szórakoztató, mint egy igazi robot programozása. A robotvezérlésre összeállított program vizualizált szimulációs kísérlettel is tesztelhető a virtuális térben.

Kulcsszavak: programozás, programozható játékok, robotkészletek, robotprogramozás, szimuláció, emuláció.

1.	Bevezető

A szlovák általános iskolákban az elmúlt tanévekben a COVID-19 világjárvány miatt kombinált formában folyt a tanítás. A távoktatási formával lehetőség nyílt a tanítási órák csökkentésére, a tanulmányi terv egyes részeinek kihagyására. A gyakran kihagyott tantárgyrészek speciális felszereléssel rendelkező tantermekben és laborokban tartott gyakorlati órákhoz kötődtek, esetleg speciális eszközök vagy eszközök használatához, mint például laboratóriumi gyakorlatok és kísérletek, robotok építése, programozás, testnevelés stb. A távoktatás alatt az ilyen tanítási órák sokszor törölve voltak, vagy módosított formában voltak megvalósítva.

Az általános iskolai állami oktatási program szerint az algoritmikus és programozói gondolkodás fejlesztésére van szükség. Ezen cél elérésére az algoritmikus problémamegoldásra és programozásra összpontosító tematikus egységek vannak részletesen kidolgozva és a követelmények standardok formájában kifejezve [1].

A cikk szerzői a robot építésből robotok programozásából szerzett tapasztalataikat szeretnék megosztani az olvasóval, amely egyaránt sikeresen megvalósítható jelenléti és távoktatási formában, valós vagy virtuális robotok és robotkészletek segítségével. A szerzők a tanulás színesítésére és hatékonyságának növelésére korszerű oktatási eszközöket és digitális oktatási technológiát alkalmaztak, amelyek a távoktatásban is beváltak. Virtuális valóságot használtak, távoli laboratóriumokban dolgoztak, és laboratóriumi kísérleteket végeztek vizualizált szimulációs modellek és környezetek, valamint emulációs és szimulációs technikák segítségével. A szerzők beszámolnak az általános iskolai programozás oktatása során szerzett tapasztalataikról programozható játékok, robotok és mikrokontrollerek segítségével [2], [3], [4], [5], [6].

Kutatásaik azt mutatják, hogy az általános iskolák nincsenek megfelelően felszerelve robotjátékokkal és robotkészletekkel. Ezt mutatják az alábbi gráfba foglal 2017 és 2022-ben végzett kutatásaink eredményei. Még 2017-ben az LegoMindstorms EV3 és LegoMindstorms NXT vezetett, az utóbbi években a Micro:bit van az élen (1. gráf).

1. gráf: A szlovákiai általános iskolák felszereltsége robotjátékokkal és robotkészletekkel (százalékban kifejezve) [6].

A játékok programozásától a robotprogramozásig

A játék- és speciális szaküzletekben programozható játékok egész sora megtalálható, és az érdeklődőnek van miből választani bármely korosztály számára. Ezek közül csak néhányat mutatunk be, amelyeket gyakran programozható játékként terjesztenek különféle kiegészítőkkel általános iskolások számára. Ezen szórakoztató robotkombináció különböző korosztályok számára alkalmas, az óvodásoktól az általános iskolát látogató gyermekekig. Használatuk nem igényel programozási készségeket és tapasztalatokat. A tanulók játékos formában sajátítják el a parancsok végrehajtásának szimbolikus jelölését, egyfajta kódolást, miközben fejlesztik a logikai, algoritmikus és programozói gondolkodásukat [6], [7], [8], [9], [10], [11]. Némelyek közülük nemcsak egyszerű, igénytelen végrehajtandó parancssorok létrehozását teszik lehetővé, hanem hosszabb és összetettebb programok létrehozását is, amelyekbe procedúrákat, szenzorvezérlési eljárásokat lehet beintegrálni [12], [13], [14]. Például alakzatok rajzolása, vonal követése, akadályok elkerülése és így tovább. Az összetettebbek a bemenetek és kimenetek széles skálájával rendelkeznek egy olyan programhoz, amely a szerkesztés befejezése és a futás kiválasztása után azonnal végrehajtásra kerülnek.

Példaként említenénk a programozható méhecskét (Bee-Bot- és Blue-Botot), az intelligens programozható autót (Pro-Bot-ot) és ezekhez hasonló más programozható játékot.

Bee-Bot

A Bee-Bot egy egyszerű, interaktív programozható játék, amellyel a tanulók játékosan sajátíthatnak el új ismereteket különböző területeken. Alkalmas betűk és számok azonosítására, síkban való tájékozódás gyakorlására stb. A "méhecske" irányítására "gomb" parancsok sorozatának létrehozásával a gyerekek fejlesztik a logikus gondolkodásukat, a térbeli tájékozódásukat és a játékos módon történő tervezési képességüket. Ezért a programozható méhecske fontos szerepet játszik a programozás propedeutikában. A méhecske hátán lévő gombokkal jelzett utasítások használhatók a robotméhecske vezérlésére. (Lásd az 1. ábrát).

A Bee-Bot könnyen használható felhasználói felülettel rendelkezik. A memóriájában 40 utasításból álló sorozat tárolható. A gombok a következő parancsokat képviselik: előre/hátra mozgás, 90 fokkal balra/jobbra fordulás, adott időegység kivárása (kb. 1 s). A vezérlőgombokkal bevitt parancsok a GO gombbal hajthatók végre, amellyel elindítható a program végrehajtása a memóriában. Új algoritmus létrehozásához a Clear gombbal törölhetjük a parancsokat a memóriából. Lehetőség van négyzetrács (15 x 15) alapján játéktáblákat/területeket létrehozni/tervezni a méhek mozgatásához.

1. ábra: Két nézet a programozható méhecskére

2.ábra: Bee-Bot emulátor (a méhecske kiindulási helyzete), majd a parancsok elvégzése után

ábra: Bee-Bot emulátor (a méhecske helyzete egy a baloldalon levő rövid parancssorozat végrehajtása után)

A négyzetekből álló területen a méhecske mozoghat és végrehajthatja a program utasításait. A tanulók saját alkalmazásokat készíthetnek a méhecske mozgatására, fejlesztve kreativitásukat és elképzelőerejüket. A méhecskék irányítását szolgáló programok létrehozásának sikere erős motiváló hatással van más érdekes feladatok megoldására, ami egyúttal segíti a logikai, algoritmikus és programozói gondolkodás alapjainak továbbfejlesztését és megszilárdítását. A Bee-Bot programozható játék előnye, hogy emulátorral is rendelkezik, ami felbecsülhetetlen segítséget jelent a távoktatásban és az olyan iskolákban, ahol nincs ilyen programozható játék. A Bee-Bot emulátor megfelelő helyettesítőnek tekinthető egy igazi játékszer pótlására [3], [12]. Egy egyszerű program végrehajtása az alapvető utasítások sorozatának gombparancsokkal történő bevitelén alapul (lásd 2. és 3. ábra).

A méhecske hátán lévő gombokkal jelzett utasítások használhatók a robotméh vezérlésére. (Lásd 1. ábrán). A Bee-Bot könnyen használható felhasználói felülettel rendelkezik. A memóriájában 40 utasításból álló sorozat tárolható. A gombok a következő parancsokat képviselik: előre/hátra mozgás, 90 fokkal balra/jobbra fordulás, adott időegység kivárása (kb. 1 s).

A vezérlőgombokkal bevitt parancsok a GO gombbal hajthatók végre, amellyel elindítható a program végrehajtása a memóriában. Új algoritmus létrehozásához a Clear gombbal törölhetjük a parancsokat a memóriából. Lehetőség van négyzetrács (15 x 15) alapján játéktáblákat/területeket létrehozni/tervezni a méhek mozgatásához. A négyzetekből álló területen a méh mozoghat és végrehajthatja a programozó/játékos utasításait. A tanulók saját alkalmazásokat készíthetnek a méhek mozgatására, fejlesztve kreativitásukat és képzelőerejüket. A méhek irányítását szolgáló programok létrehozásának sikere erős motiváló hatással van más érdekes feladatok megoldására, ami egyúttal segíti a logikai, algoritmikus és programozói gondolkodás alapjainak továbbfejlesztését és megszilárdítását. A bee bot programozható játék előnye, hogy emulátorral is rendelkezik, ami felbecsülhetetlen segítséget jelent a távoktatásban és az olyan iskolákban, ahol nincs programozható játék. A Bee Bot emulátor megfelelő helyettesítőnek tekinthető egy igazi játék számára [3], [12]. Egy egyszerű program végrehajtása az alapvető utasítások sorozatának gombparancsokkal történő bevitelén alapul (lásd 2. és 3. ábrát).

Blue-Bot

A Blue-Bot nagyon hasonlít a Been-Bot-ra. A bekapcsolás és a GO gomb megnyomása után lépések sorozatát lehet beírni. A GO ismételt megnyomásával megkezdődik a beírt parancsok sorozatának végrehajtása. Ha a tanuló hibás programot ír, amely nem teljesíti a feladatot, lehetőség van további parancsok hozzáadására, a robot visszahelyezésére az eredeti pozícióra és az elkészült program újraindítására.

4. ábra: Blue-Bot felül- és alulnézetből

A robot nem rendelkezik kijelzővel, így a program nem szerkeszthető. Ha valamelyik tematikus szőnyeg van használva, amiben 15x15 cm-es négyzetrács található, a gyerekek különböző érdekes feladatokat hajthatnak végre a Blue-bot segítségével.

Lásd a https://www.nextech.sk/a/Robotika---co-dokazu-roboty-Blue-Bot-a-Pro-Bot

Pro-Bot

A Pro-Bot robotot játékautó ruhába öltötték. Lehetővé teszi a változó centiméterben kifejezett mozgáshossz megadását, elforgatási szög megadását, az így megadott parancsok alapján tud haladni és jelölővel az megtett utat kirajzolni. A felhasználó programozhat ciklusokat és használhat eljárásokat is. A robotautó kijelzős, így a program szerkeszthető. (https://www.vyuka-vzdelanie.sk)

5. ábra: Pro-Bot – programozható játékautó tollal és toll nélkül, majd a további funkciók menüje

A Pro-Bot robot beépített érintésérzékelőkkel rendelkezik az első és a hátsó lökhárítóban, egy fény- és hangérzékelő van az első motorháztetőn. Az USB-n keresztül a robot nem csak tölthető, hanem a külön mellékelt Probotix szoftveren keresztül a PC-n is programozható.

A mozgást biztosító kerekek közötti tengelyben (a játékautó kerekei csak dekoratívak) egy tartóval ellátott lyuk található, amibe jelölőt lehet behelyezni és különböző formákat rajzolni. Alapértelmezés szerint a robot 25 cm-es lépésekben mozog, de a lépés hossza megadható. A parancs utáni paraméter a mozgás hosszát jelzi cm-ben. Programozhat ciklusokat is, ahol az első paraméter a szögletes zárójelben a parancssorozat ismétlődéseinek száma a ciklusban.

A fő program és két eljárás egy hat szirmú virág rajzolásához a következő 6. ábrán látható.

6. ábra: Pro-Bot emulátor és környezete

A robot 32 felhasználó által meghatározott eljárás alkalmazását teszi lehetővé. Más eljárások az érzékelőktől érkező események kezelésére szolgálnak, így például a FRONT eljárásban programozható, hogy mit tegyen a robot, ha az első lökhárítójával akadályba ütközik. Az eljárási lehetőségek a https://www.nextech.sk/files/photo/2019-07/62946/293b08/Snimka-obrazovky-2019-07-17-o-20-00-32.png linken elérhető videófelvételben találhatók.

A Menü gomb hosszan tartó megnyomása után megjelenik a további funkciók menüje, amely az 5. ábra jobb oldalán látható.

A Pro-Bot online virtuális környezetben is programozható a Pro-Bot emulátor segítségével [1], [16]. Így a távoktatásban is használható.

7. ábra: Pro-Bot emulátor és környezete

Micro:bit

Az általános iskolákban egyre gyakrabban jelenik meg a micro:bit kit, ezért ezt a robotkészletet választottuk példaként a programozáshoz. Ebben a mikrokontrollerben több érzékelő is található, ami növeli a népszerűségét a felhasználók körében. Az érzékelők között megtalálható a nyomásérzékelő, a fényintenzitás-érzékelő, a gyorsulás- és dőlésérzékelő, a hőmérséklet-érzékelő és a mágneses térérzékelő (8. ábra).

8. ábra: A micro:bit kit

3.	A micro:bit programozása

Példaként egy egyszerű feladatot választottunk. A gyorsulás- és dőlésérzékelő segítségével egy digitális dobókockát programozunk, amely ha eredményként a „dobás után” egy 1-6 intervallumba tartozó véletlen számot jelenít meg a a LED képernyőn. A szám 1 másodperc múlva törlődik (9 ábra). (https://www.conrad.sk/p/micro-bit-mirco-bit-kit-microbit-v2-go-bundle-2308377?&vat=true&gclid=Cj0KCQiAveebBhD_ARIsAFaAvrEYqMRY3FNLGwzrS2Wkl07-3fP98frcS6-L-9_HCcEcWwTvUmTOogwaAtEFEALw_wcB)

9. ábra: Digitális dobókocka a micro:.bit-tel szimulálva

Az INPUT blokkok menüjéből választottuk ki a „shake blokkot”, a Basic blokkból mutasd a számot, hogy ne mindig ugyanaz a szám jelenjen meg, a Matematika blokkot használjuk - véletlenszerűen válasszunk 0-6 között. A megjelenített szám jobb megfigyelhetősége érdekében az Alapblokk képernyőről a szünetet és a törlést választottuk, ezzel biztosítva a LED panelen megjelenített szám törlését a beállított idő letelte után (9. ábra). A kód blokkból történő összeállítása során a blokkok egymásba illeszkednek, így összeállításuk intuitív és egyszerűbb, mint a Python nyelvű programozás esetén (10.-11 ábra), ahol szintaktikai hibákra is figyelnie kell a tanulónak.

10. ábra: Dobókocka programozása blokkok segítségével	11. ábra: Dobókocka programozása Pyton programozási nyelven

További példák a dobójátékkocka programozásának különböző módjaira a következő képeken találhatók (10.-12. ábra). A "dobókocka" program egy másik eredménye blokkokból összeállított program formájában a 9. ábrán látható. A 10. ábra ezen feladat megoldását a Python programozási nyelven mutatja be.

12. ábra: Dobókocka programozása interaktív Python programozási környezetben

4.	Befejezés

Programozható játékok, robotok, mikrokontrollerek stb. az iskolai gyakorlatban bevált eszközök a programozás alapjainak elsajátítására - a logikai algoritmikus és programozói gondolkodás fejlesztésére. Kutatásunk eredményeinek megfelelően a gyakorlati programozásra orientált tantárgyak megjelennek az informatika oktatási programokban (nemcsak az informatika tanárképzésben, hanem az általános iskolák számára is) [1], [15]. E tantárgyak elvégzése keretében a leendő informatika tanárok gyakorlati tapasztalatot szereznek a diákok alapvető programozási készségek kialakításában és a gyerekek programozásra való tanításához. Új tankönyvek jelennek meg, amelyek támogatják a robotjátékokkal, robotokkal és mikrokontrollerekkel való munkát. Különféle programozási környezetek jöttek létre az interaktív programozáshoz. A leendő tanárok és a gyakorlatban dolgozó tanárok módszertani támogatást kapnak az egyetemektől, hogy ezeket az eszközöket bevezessék az informatika oktatásába. A pedagógusok élethosszig tartó gyakorlati oktatásának és átképzésének részeként különböző tanfolyamok és oktatóprogramok szervezésével segítik őket az első akadályok leküzdésében a tanítási folyamat hatékony, játékos és eredményes tanítási mód felé történő korszerűsítésében.

A robot építőelemek általános iskolai programozásra való alkalmazása nemcsak a programozható játékok és robotépítő építőelemek népszerűségét növeli, hanem magát a programozást és népszerűségét az általános iskolás gyerekek körében, valamint a középiskolai és főiskolai műszaki területek iránti érdeklődést is támogatja. A virtuális eszközök, emulációk és szimulációk használata lehetővé tette a diákok számára, hogy a pandémia idején is dolgozhassanak online programozási eszközök és virtuális környezzetek használatával távoktatás formájában.

KÖSZÖNETNYILVÁNÍTÁS

A tanulmány kidolgozását a KEGA 013TTU 4/2021 „Interaktív animációs és szimulációs modellek a mély tanuláshoz” (Interactive animation and simulation models for deep learning) szlovák nemzeti projekt és az ELTE IK Informatikatudományi Intézete támogatta.

Irodalom

Informatika - primárne vzdelávanie. https://www.statpedu.sk/files/articles/dokumenty/inovovany-statny-vzdelavaci-program/informatika_pv_2014.pdf, 2014 (utoljára megtekintve: 2022. 10. 31.)

Stoffová, V.: Computer Games as a Tool for Development of Algorithmic Thinking In: The European Proceedings of Social & Behavioural Sciences EpSBS, 2018 pp. xxx-xxx. http://dx.doi.org/ Corresponding Author: Selection and peer-review under responsibility of the Organizing Committee of the conference eISSN: 2357-1330

Czakóová, K., Stoffová V.: Hravá forma rozvíjania algoritmického myslenia na základnej škole = A Playful Form of Developing Algorithmic Thinking in Primary School /. In: Didinfo 2020 [electronic] : sborník konference : [medzinárodní konference o vyučování informatiky] / [bez zostavovateľa]. - Liberec : Technická univerzita v Liberci, 2020. - ISBN 978-80-7494-532-8. - ISSN 2454-051X. - online, S. 104-111

Stoffová, V.: Educational Computer Games in programming Teaching and Learning. In: New technologies and redesigning learning spaces: eLearning and Software for Education. Bucuresti : Carol 1 National Defence University, 2019. ISSN 2066-026X, CD-ROM, p. 39-45. WoS. DOI 10.12753/2066-026X-19-004 (2019)

Stoffová, V., Zboran, M.: My virtual School – I attend school virtually. In: INTED2022 Proceedings 16th International Technology, Education and Development Conference March 7th-8th 2022. (Edited by: A. López Martínez, L. Gómez Chova, I. Candel Torres), [1. ed.] – Valencia : IATED Academy, 2022, pp. 5563-5569, ISBN: 978-84-09-37758-9 / ISSN: 2340-1079 doi: 10.21125/inted.2022

Stoffová, V., Zboran, M.,Gabaľová, V.: Iconic and block programming for teaching programming basic for primary school pupils. In:, 15th annual International Conference of Education, Research and Innovation, Seville (in press)

Weintro, D., Wilensky, U.: Playing by Programming: Making Gameplay a Programming Activity. https://ccl.northwestern.edu/2016/playingbyprogramming.pdf 2016, (utoljára megtekintve: 2022.10.31.)

Végh, L., Takáč, O.: Online games to introducing computer programming to children. In: L. Gómez Chova – A. López Martínez – I. Candel Torres (eds.): INTED2021 Proceedings. 15th International Technology, Education and Development Conference, 8th-9th March, 2021. pp. 10007– 10015. ISBN: 978-84-09-27666-0, ISSN: 2340-1079. (WOS)

Végh, L., Takáč, O.: Mobile coding games to learn the basics of computer programming. In: L. Gómez Chova – A. López Martínez – I. Candel Torres (eds.): EDULEARN21 Proceedings. 13th International Conference on Education and Learning Technology, 5th-6th July, 2021. pp. 7791–7799. ISBN: 978-84-09-31267-2, ISSN: 2340-1117. (WOS)

Czakóová, K. - Udvaros, J.: Applications and games for the development of algorithmic thinking in favor of experiential learning. In. EDULEARN21 : Proceedings of the 13th International Conference on Education and New Learning Technologies. DOI: 10.21125/edulearn.2021.1389, p. 6873-6879, Valencia : IATED Academy, 2021. ISBN 978-84-09-31267-2. ISSN 2340-1117.

Czakóvá, K.: Game-based programming in primary school informatics. In. INTED 2021 Proceedings of the 15th International Technology, Education and Development Conference. Valencia : IATED Academy, 2021.

Hyksová, H. Programování robotů na základní škole. (Robot programming at elementary school) In: DIDINFO 2021. Univerzita Mateja Bela, Banská Bystrica, 2021. s. 81-85. ISBN 978-80-557-1823-1. ISSN 2454-051X.

Udvaros, J. – Czakóová, K.:. Developing of computational thinking using microcontrollers and simulations. In. EDULEARN21 : Proceedings of the 13th International Conference on Education and New Learning Technologies. DOI: 10.21125/edulearn.2021.1619. , p. 7945-7951, Valencia : IATED Academy, 2021. ISBN 978-84-09-31267-2. ISSN 2340-1117. (WOS)

Csóka, M. – Czakóová, K. : Innovations in education through the application of raspberry pi devices and modern teaching strategies. In. INTED 2021 Proceedings of the 15th International Technology, Education and Development Conference. Valencia : IATED Academy, 2021Stoffová, V., Zboran, M.: Teaching construction and programming of robots in a distance form. In: Proceedings of the 15th International Technology, Education and Development Conference. Valencia : IATED Academy, 2021,, pp. 4911-4918, ISBN: 978-84-09-27666-0, ISSN: 2340-1079, doi: 10.21125/inted.2021.0991(WoS)

Szlávi, P., Zsakó, L.: Informatics as particular field of education. Teaching Mathematics and Computer Science, 3 (2005) 2. Institute of Mathematics University of Debrecen (2005) 283–294

https://www.google.com/search?sxsrf=ALiCzsYjsDf158_4rsWWazZec9H99-xrBw:1668906030168&source=univ&tbm=isch&q=probot+emulator&client=firefox-b-d&fir=wILwWfqqeLmzyM%252Cawbr68ttLvVkdM%252C_%253B10lFhUf338cL_M%252Cawbr68ttLvVkdM%252C_%253BtNN5FlC5JB24YM%252CnQa_WAdgWHp8RM%252C_%253B_8irarPMvD9aUM%252Cawbr68ttLvVkdM%252C_%253Bp3AqIfKtKmtUlM%252CiHTOfb0GgsZ4yM%252C_%253BoH31mREzgQrE3M%252C1m8koVnYBeKv9M%252C_%253B9AtYVIS18JvZcM%252CzOINC2nZv-cW1M%252C_%253BwcLm45DsuygN5M%252C9gZuuBKmbhLlCM%252C_%253Bm-MybORcUioe-M%252CW6RRXUSrmj_VbM%252C_%253Bor3JQ2r9mLKYsM%252C3AMEYzcU7SEDVM%252C_&usg=AI4_-kS7pKVCUqBimG8pPr57wevIBl2s_w&sa=X&ved=2ahUKEwizwt24x7v7AhWDQ_EDHVVnCFcQjJkEegQIJBAC&biw=1827&bih=905&dpr=1#imgrc=or3JQ2r9mLKYsM (utoljára megtekintve: 2022.10.31.)

https://www.conrad.sk/p/micro-bit-mirco-bit-kit-microbit-v2-go-bundle-2308377?&vat=true&gclid=Cj0KCQiAveebBhD_ARIsAFaAvrEYqMRY3FNLGwzrS2Wkl07-3fP98frcS6-L-9_HCcEcWwTvUmTOogwaAtEFEALw_wcB) (utoljára megtekintve: 2022.10.31.)