Návrh a realizácia robota na báze lego mindstorm s využitím vyšších programovacích jazykov

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
Tnu wiki.png
Trenčianska Univerzita Alexandra Dubčeka v Trenčíne
Fakulta Mechatroniky
Fm wiki.png
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:
Pedagogický vedúci: Doc. Ing. Jozef Tkáč, PhD.
Študijný odbor: Mechatronika

Akademický rok 2009/2010

Ú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.

Obr. 1. LEGO Mindstorms Education

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.


Obr. 2. NXT kocka

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.

Obr. 3. Tlakový senzor

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.

Obr. 4. Zvukový senzor

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.


Obr. 5. Svetelný senzor

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ť.


Obr. 6. Ultrazvukový senzor


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.

Obr. 7. Interaktívny servomotor