Návrh a realizácia robota na báze lego mindstorm s využitím vyšších programovacích jazykov
![]() |
Trenčianska Univerzita Alexandra Dubčeka v Trenčíne
Fakulta Mechatroniky |
![]() |
Návrh a realizácia robota na báze lego mindstorm s využitím vyšších programovacích jazykov Ročníková práca |
Autor: | Bc. Ján Danko |
Pedagogický vedúci: | Doc. Ing. Jozef Tkáč, PhD. |
Študijný odbor: | Mechatronika
|
Akademický rok | 2009/2010
|
1. | Základné časti stavebnice LEGO Mindstorms NXT |
2. | Programovací jazyk NXC |
3. | Lego mindstorm - Robot triedič |
4. | Možnosti využitia vyšších programovacích jazykov pri tvorbe LEGO robotov
|
Obsah
Úvod
V našich končinách zrejme každý pozná kocky LEGO. Početnosť možností, ktorými sa dajú kocky kombinovať, dáva priestor detskej fantázii. LEGO však neslúži iba ako prostriedok na zabávanie malých detí. LEGO Educational Division je vzdelávacia divízia spoločnosti LEGO a nadväzuje na výsledky dosiahnuté pod značkou LEGO Dacta. Aktívne sa podieľa na hľadaní nových progresívnych učebných postupov. Práca sa zaoberá stavebnicou LEGO Mindstorms NXT, ktorá obsahuje programovaciu NXT kocku, senzory a akčné jednotky k stavbe robotických zariadení. Cieľom práce je vytvorenie a oživenie robota s použitím vyššieho programovacieho jazyka. Prvá kapitola je venovaná stavebnici LEGO Mindstorms Education a jej základným technickým častiam. Ďalšia kapitola sa zaoberá programovacím jazykom NXC, ktorý je postavený na syntaxe jazyka C a používa sa na programovanie LEGO robotov. Tretia kapitola je venovaná realizácii robota s využitím jazyka NXC. V poslednej časti je poukázaná možnosť na využitie vyšších programovacích jazykov pri stavbe robotických zariadení.
Základné časti stavebnice LEGO Mindstorms NXT
LEGO Mindstorms Education, znázornená na obr. 1, je stavebnica, ktorá obsahuje programovateľnú NXT kocku s Bluetooth technológiou a dobíjacou batériou, rozličné senzory, interaktívne servomotory a iné technické časti LEGA. Je to zaujímavý nástroj na programovanie a navrhovanie rôznych druhov robotov.
Inteligentná LEGO NXT kocka
Základom každého skonštruovaného robota je programovateľná 32-bitová NXT kocka (obr. 2). Je to riadiace centrum, ktoré obsahuje 3 výstupné porty, port A, B a C, ktoré slúžia na prepojenie s výstupnými zariadeniami a 4 vstupné porty, port 1, 2, 3 a 4 pre napájanie senzorov. Pripojením USB kábla možno ľahko nahrávať programy z počítača do NXT alebo tiež opačne zasielať dáta z robota do počítača. Alternatívou prepojenia NXT s počítačom je pomocou bezdrôtovej Bluetooth komunikácie. NXT kocka je vybavená maticovým displejom (60 x 100 bodov) a 8 kHz reproduktorom. Pomocou štyroch tlačidiel je možné kocku a k nej pripojené zariadenia testovať a veľmi obmedzene aj riadiť. Na napájanie sú vhodné AA tužkové monočlánky – 6 ks (9 V) alebo dobíjateľná batéria. Kocka sa dá programovať použitím ikonografického LEGO Mindstorms Education NXT Softvéru, LabVIEW, ako aj pomocou niektorých programovacích jazykov postavených na syntaxe jazyka C.
Senzory
Senzory slúžia k získavaniu údajov z okolia robota a môžu byť využité pri riadení robota. Získané hodnoty je možné uložiť, prípadne preniesť do počítača pre ich ďalšie spracovanie. Stavebnica obsahuje 4 základné druhy senzorov.
Tlakový senzor
Tlakový senzor (obr. 3) pri použití s NXT kockou registruje stlačenie, uvoľnenie, prípadne stlačenie a uvoľnenie. Podobne ako ostatné senzory sa pripája k portom 1 až 4 na NXT kocke pomocou káblov, ktoré sú súčasťou stavebnice.
Zvukový senzor
Zvukový senzor (obr. 4) pri použití s NXT kockou meria úroveň hladiny zvuku v dB a dBA. Dokáže rozlíšiť intenzitu zvuku a tiež jeho tón.
dBA: citlivosť senzora je prispôsobená citlivosti ľudského ucha. Tieto zvuky je ľudské ucho schopné počuť.
dB: zvukový senzor meria všetky zvuky s rovnakou citlivosťou. Preto sa môže stať, že nejaký tón je príliš vysoký, alebo príliš nízky, aby ho ľudské ucho dokázalo počuť. Zvukový senzor môže merať úroveň hladiny zvuku do 90 dB. Pre zjednodušenie, jednotlivé zvukové hladiny, ktoré zvukový senzor meria, sú na NXT kocke zobrazované v percentách.
Svetelný senzor
Svetelný senzor (obr. 5) pri použití s NXT kockou zaznamenáva svetlo, tmu a tiež úroveň svetla v prostredí, v ktorom sa nachádza. Prostredníctvom zabudovaného zdroja svetla dokáže rozoznávať farbu objektov podľa intenzity odrazeného svetla.
Ultrazvukový senzor
Ultrazvukový senzor (obr. 6) pri použití s NXT kockou detekuje objekty a meria v centimetroch alebo v palcoch vzdialenosť k nim. Schopný je merať vzdialenosť od 0 po 255 centimetrov s presnosťou +/- 3 cm. Vzdialenosť od objektu meria na základe prepočítania času od kedy sa zvuková vlna vyšle, odrazí od objektu a vráti sa naspäť. Veľké predmety s hrubými stenami sa pomerne ľahko rozoznávajú, na rozdiel od malých alebo tenkých predmetov, kedy nemusí ultrazvukový senzor zareagovať.
Akčné jednotky
Akčnými jednotkami v LEGO stavebniciach rozumieme hlavne motory, servomotory, lampy a sirény. Používanie sirén v LEGU Mindstorms NXT sa nevyužíva, pretože NXT kocka je už vybavená zabudovaným 8 kHz reproduktorom. Všetky akčné jednotky je možné pripojiť k portom A, B a C na NXT.
Interaktívny servomotor
Stavebnica LEGO Mindstorms Education obsahuje celkovo až 3 servomotory (obr. 7) so zabudovaným rotačným senzorom pre meranie rýchlosti, vzdialenosti a spätnou väzbou k NXT. Riadenie motora je možné prevádzať s presnosťou jeho otočenia na jeden stupeň. Na rovnakú presnosť otáčania je možné naprogramovať aj viac motorov.