Možnosti využitia vyšších programovacích jazykov pri tvorbe LEGO robotov

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání

Vyššie programovacie jazyky sú tzv. kompilované jazyky, v ktorých kompilátor prekladá zdrojový kód na strojový. Jedným z vyšších programovacích jazykov, využiteľných pri tvorbe LEGO robotov je už spomínaný jazyk NXC. Svojimi možnosťami je ekvivalentný ikonografickému jazyku NXT-G, ktorý je dodávaný k stavebniciam. Hlavnými prednosťami jazyka NXC je práca s poľami a možnosť vytvárať zložitejšie, dlhšie a prehľadnejšie programy. Vyžaduje však lepšiu schopnosť abstraktne myslieť. Využitie systému Mindstorms je široko rozsiahle. Na zahraničných univerzitách sa používa hlavne na riešenie rôznych technických a programátorských úloh. Používanie vyšších programovacích jazykov spolu so systémom Mindstorms by mohlo zatraktívniť výučbu programovania ako na stredných, tak aj na vysokých školách.

Mechatronické krúžky

Vyššie programovacie jazyky je možné využívať aj v rámci krúžkovej činnosti. Hlavnou úlohou LEGO krúžkov na základných a stredných školách je priblížiť žiakom robotiku a jej hlavné zložky, najmä mechaniku a programovanie. Absolvent krúžku by mal sám vedieť navrhnúť, zostaviť a naprogramovať robota podľa zadaných kritérií a mal by byť schopný prezentácie svojej práce.

Úlohou mechatronických krúžkov je:

  • vzbudiť v žiakoch záujem o štúdium na strednej resp. vysokej škole technického zamerania
  • uviesť žiakov do problematiky konštruovania
  • uviesť žiakov do problematiky programovania
  • prispievať k vyššiemu rastu osobnosti žiaka
  • podporiť zmysel pre tímovú prácu

Organizačnú formu vyučovania v krúžkoch možno rozdeliť do siedmych bodov:

  • vedúci krúžku urobí teoretický rozbor úlohy
  • stanoví úlohy a ciele
  • v praktickej časti - konštruovanie robota
  • programovanie
  • testovanie
  • tvorba dokumentácie
  • diskusia [1]

Robotické súťaže

Na prácu v mechatronických krúžkoch nadväzujú rôzne robotické súťaže, ktorých sa žiaci môžu zúčastniť a konfrontovať tak svoje vedomosti a zručnosti s inými účastníkmi.

FIRST LEGO League je najväčšia robotická súťaž pre základné školy. Zúčastňujú sa jej žiaci po celom svete a najlepšie tímy postupujú do regionálnych kôl a odtiaľ do celosvetového finále. Súťaž spočíva v turnaji, kde žiaci štartujú svoje skonštruované a naprogramované roboty na ihrisku, kde roboty plnia rôzne úlohy, začo zbierajú body. Tímy tiež riešia nejakú výskumnú úlohu vo svojom okolí, ktorú zdokumentujú a prezentujú porote.

Výhody zúčastňovania sa robotických súťaží:

  • žiaci sa naučia stavať a programovať roboty
  • vyskúšajú si, aké je to byť výskumníkom
  • zistia ako sa spolupracuje v tíme na väčšom projekte
  • zmerajú si sily so svojimi rovesníkmi
  • môžu získať nejaké ocenenie [1]

Záver

Cieľom tejto práce bola realizácia LEGO robota s využitím vyššieho programovacieho jazyka. Pri návrhu robota triediča bol okrem NXT kocky použitý svetelný senzor a dva servomotory. Program k robotovi bol vytvorený v jazyku NXC. Funkčnosť robota je zdokumentovaná krátkym videom. V poslednej kapitole bola vykonaná analýza možnosti využitia vyšších programovacích jazykov pri stavbe LEGO robotov. Vzhľadom na to, že umožňujú vytvárať zložitejšie, dlhšie a prehľadnejšie programy sú vhodné pre zatraktívnenie hodín programovania, ale je ich možné využívať aj rámci mechatronických krúžkov a následných súťažiach. Hlavným prínosom práce je:

  • obsahuje aplikáciu demonštrujúcu činnosť svetelného senzora a akčných jednotiek
  • stručné zhrnutie poznatkov o jazyku NXC za účelom vytvárania vlastných programov
  • program k robotovi s podrobnými komentármi

V práci je možné pokračovať a rozšíriť ju tak o ďalšie aplikácie použitím graficky orientovaných vývojových prostredí, k programovaniu LEGO robotov. Jednou z možností je použitie programovacieho prostredia LabVIEW.

Použitá literatúra

[1] Danko, Ján: Programovanie stavebnice LEGO Mindstorms NXT. Bakalárska práca. Trenčín: Trenčianska univerzita Alexandra Dubčeka v Trenčíne, Fakulta mechatroniky, 2009. 49 s.

[2] HANSEN, John. Not eXactly C : Príručka programátora. [s.l.] : [s.n.], 2007. 106 s. Dostupný z WWW: <http://webcvs.robotika.sk/cgi-bin/cvsweb/~checkout~/robotika/lego/doc/nxc/guide/NXC_Guide_sk.pdf?content-type=application%2Fpdf>.

[3] KASANICKÝ, Tomáš. Programovacia príručka k stavebnici LEGO NXT Mindstorm. [s.l.] : [s.n.], [200-]. 25 s.

[4] TUNEGA, Tomáš - KOPTÍK, Miroslav. Základy programovania mechatronických systémov. Príručka pre prácu s MSL RoboLab - jazyk Not Quite C. Trenčín: Trenčianska univerzita A. Dubčeka v Trenčíne, Fakulta mechatroniky, 2008. 81 s.

[5] Stavebnice LEGO MINDSTORMS NXT vo vyučovaní [online]. 2009 , 2 December 2009 [cit. 2009-12-22]. Dostupný z WWW: <http://virtuallab.kar.elf.stuba.sk/robowiki/index.php?title=Stavebnice_LEGO_MINDSTORMS_NXT_vo_vyu%C4%8Dovan%C3%AD>.

[6] CVIK, Peter. EDUXE [online]. c2009 , 11.12.2009 [cit. 2009-12-21]. Dostupný z WWW: <http://www.eduxe.sk/>.