Gyroskopický senzor
- Podrobnosti
- Mgr. Jan Hodinář, Mgr. Tomáš Jakeš
- Aktualizováno: 05.04.2012
- Zobrazení: 11335
Tento modul obsahuje jednoosý gyroskopický senzor, který detekuje rotační pohyb a vrací kostce hodnotu reprezentující rotaci vyjádřenou v počtu stupňů za sekundu. Senzor zvládá měřit rozsah ± 360° za sekundu.
Senzor se připojuje do klasického portu určeného pro NXT senzory a používá standardní NXT kabel libovolné délky. Rotace může být snímána a ze senzoru přečtena přibližně 300krát za sekundu.
Senzor je umístěn ve standardním krytu, stejně jako většina NXT senzorů proto, aby se mohli vzájemně na určitém místě zaměňovat.
Jelikož se jedná jen o jednoosý gyroskop, je změna v rotačním pohybu senzoru vyhodnocována pouze na jedné ze tří os. Pokud senzor umístíme tak, jak je to znázorněno na obrázku (černá část nahoře, kabelový konektor dole, připojení ke stavebnici vzadu), bude senzor provádět měření ve vertikální rovině. Ostatní z os nebudou vyhodnocovány.
Otestování senzoru: K rychlému otestování tohoto senzoru využijte „Port 1“ na kostce a zvolte „View > Ambient Light > Port 1“. Když senzorem postupně otáčíte, můžete si všimnout, jak se hodnota na displeji kostky podle rychlosti natáčení mění z nominální střední hodnoty 40 buďto na jednu či na druhou stranu. Čím rychleji senzorem budete otáčet, tím více se budou hodnoty od hodnoty 40 odlišovat. Zobrazená hodnota však není skutečná hodnota gyroskopického senzoru, ale hodnota přepočtená v režimu Ambient Light.
Praktické využití
Pokud se porozhlédneme po využití gyroskopického senzoru v praxi, asi nejznámějším případem jeho použití budou dvoukolová dopravní vozítka Segway. Ta velmi rychle vyhodnocují míru zrychlení či zpomalení náklonu a podle toho uzpůsobují svůj pohyb. Díky tomu bychom při dobrém nastavení z vozítka nikdy neměli spadnout. Pokud se rychle předkloníme dopředu, vozítko toto zachytí a vystartuje vpřed. Tím nás vrátí do rovnovážné polohy a my nespadneme. Obdobně funguje i při pohybu zpět.
Protože systém vyhodnocování náklonu a řízení protipohybu není tak jednoduchý, jak by se na první pohled mohlo zdát, gyroskopický senzor v systému LEGO nalezne své uplatnění až u velmi pokročilých uživatelů, kteří hledají nové výzvy. Jako vhodná jednodušší alternativa se širším využitím proto může být Senzor zrychlení.
Programování
NXT Gyroskopický senzor může být v prostředí LEGO Mindstorms NXT-G programován pomocí bloku Gyro Senzor. Pomocí bloku lze kromě načítání konkrétní hodnoty rotace zjistit i splnění či nesplnění nastavené podmínky.
Panel nastavení bloku
Port: Hodnotu portu nastavte na číslo portu, do kterého jste senzor zapojili (defaultně port 3).
Offset (posun, korekce): Slouží pro korekci a vyvážení nulové hodnoty.
- Výstupní hodnota senzoru může být ovlivněna teplotou anebo továrními tolerancemi při výrobě. Díky tomu může senzor vracet nenulové hodnoty v případě že bez pohybu stojí na místě. Aby se chyby dali ve výchozí pozici korigovat, existuje v panelu Gyro bloku hodnota nazvaná Offset. Hodnota, kterou sem vložíte, bude od hodnoty vrácené senzorem odečtena. Vrací-li nám senzor v klidové poloze hodnotu 5, je potřeba tuto hodnotu vepsat do položky Offset. Senzor nám poté již bude vracet nulu.
Compare (porovnání): Zde zadaná hodnota bude použita pro porovnání s korigovanou výstupní hodnotou senzoru.
Trigger (spoušť): Pomocí volby trigger můžete upravit mód porovnávání (Větší >, Menší <).
- Pokud získaná korigovaná hodnota senzoru splní podmínku, bude na 4. výstupu modulu true, v opačném případě pak false.
Vstupy a výstupy programového bloku
- Číslo portu, do kterého je Gyro senzor připojen.
- Obsahuje v podmínce porovnávanou (spouštěcí) hodnotu.
- Určuje mód porovnávání. (Větší >, Menší <).
- Udává splnění/nesplnění podmínky (True/False).
- Konektor nastavující a distribuující kompenzační hodnota senzoru.
- Poslední konektor poskytuje korigovanou hodnotu rotace.
TIPY A TRIKY
Výpočet kompenzace
K tomu, aby jste byli schopni přečíst aktuální hodnoty a poté správně nastavit kompenzaci, je nutné, aby byl senzor absolutně stabilní a nehýbal se. Na následujícím obrázku je znázorněn jednoduchý program, sloužící k výpočtu kompenzace. Jelikož při osamoceném měření by mohla snadno vzniknout chyba, program pomocí smyčky provede několik měření a vypočte průměrnou hodnotu kompenzace.
Návod na program:
Nejprve je třeba si pro přesnější změření kompenzační hodnoty vytvořit smyčku s pevným počtem průchodů. Pro naše potřeby by měla stačit smyčka s deseti průchody. V ní pak využijeme proměnou Celkem, která je v době prvního průchodu nulová. K této proměnné budeme pomocí matematického modulu postupně přičítat aktuální hodnoty ze stabilně uchyceného gyroskopického senzoru. Po skončení smyčky stačí proměnnou vydělit deseti a uložit do proměnné Kompenzace. Získáme tak přesnější kompenzační hodnotu.
Zobrazení výsledné hodnoty s využitím proměnné Kompenzace:
Na následujícím obrázku je uveden jednoduchý program, který využije proměnné Kompenzace a displeji kostky Vám zobrazí aktuální kompenzované hodnoty senzoru. V případě, že při vypisování hodnoty necháme senzor ve stabilní poloze a proměnná Kompenzace bude nulová, můžeme zobrazenou hodnotu také použít jako jednoduchou kompenzaci. Pro zjištění přesnější kompenzace ale raději volte předchozí postup.
Odkaz na informace výrobce: http://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NGY1044