Optický senzor měření vzdáleností

  • Vytisknout

sensorEOPD_small

Senzor měření vzdáleností má na svém těle poněkud zvláštní a na první pohled nic neříkající zkratku. Její rozluštění nám však prozradí, na jakém principu senzor pracuje. EOPD senzor, neboli Electro Optical Proximity Detector, je elektrooptickým detektorem (měřičem) vzdálenosti, který k detekci vzdálenosti objektu používá světlo. Díky tomu dosahuje na krátkých vzdálenostech poměrně velké přesnosti.

Senzor si před samotným měřením zjistí světelné podmínky prostředí a poté do okolí vyšle své vlastní světlo. Pro určení vzdálenosti pak provede výpočet rozdílu intenzity světla, které v prostředí nastalo. Aby se omezily vlivy prostředí (např. tma či nerovnoměrné osvětlení) využívá senzor místo klasického světla pulsně modulované světlo. Efektivně tak zabrání světelnému rušení ze všech druhů prostředí.

 Přestože je světelný zdroj tohoto senzoru relativně silný, spotřeba energie z baterií řídící kostky Lego je jen velmi malá.

Senzor pracuje ve dvou módech citlivosti (1x, 4x):

  •  V prvním módu, označeném jako 1x, dokáže efektivně detekovat cíle na vzdálenost až přes 20 centimetrů. Vždy však záleží na velikosti, odrazivosti povrchu a tvaru cíle.
  • Ve druhém módu, označeném jako 4x, pak dokáže detekovat předměty i na delší vzdálenost. Měření však nebude natolik přesné.

Aby bylo zaručeno, že řídící kostka vždy ze senzoru dostane přesné údaje, je vzdálenost snímána přibližně 350x až 400x za sekundu, avšak naměřené údaje jsou řídící kostce předávány „pouze“ maximálně 300x za sekundu.


Praktické využití

Senzor měření vzdáleností je velkým pomocníkem v mnoha úlohách, vyžadující přesné změření vzdálenosti objektů (např. pojízdný robot, parkovací senzor, detekce průchodu předmětu, ...). Díky svým dvou režimům zcela nahradí ultrazvukový senzor. To se může obzvláště hodit, pokud v jedné místnosti používáme více stavebnic s ultrazvukovými senzory, jež se mohou navzájem rušit.


Programování

K programování tohoto senzoru se v prostředí Lego Mindstorms NXT-G používá blok EOPD Sensor Block. Na rozdíl od většiny HiTechnic senzorů pak tento blok nemůže být ani částečně nahrazen starým Ultrasonic blokem.

Panel nastavení bloku

EOPD panel nastavení bloku

Port: První, ale často zapomínaná volba, je číslo portu, ke kterému je senzor na řídící kostce připojen.

Compare: Ve druhé části se nastavuje podmínka, která se vykoná, detekuje-li senzor cíl na určitou nastavenou vzdálenost.

  • Intensity: Požadovanou (hlídanou) vzdálenost lze zadat a porovnávat pomocí nerovnosti Větší > (je dál než) a Menší < (je blíže než).

Function: Poslední je pak možnost zaškrtnutí políčka Long Range. To provádí přepnutí módu z 1x na 4x. Senzor pak rozpoznává předměty na delší vzdálenost.

Vstupy a výstupy programového bloku

Když rozklikneme samotný programový blok, uvidíme několik možností pro náročnější využití.

EOPDBlock

  1. Číslo portu ke kterému je senzor připojen.
  2. Hodnota se kterou se porovnává vzdálenost v podmínce.
  3. Mód srovnávání hodnot Větší / Menší (True / False).
  4. Nastavení režimu Long Range (True / False).
  5. Výsledek srovnání hodnot v podmínce. (True / False)
  6. Výstup udávající zpracovanou hodnotu vzdálenosti ze senzoru (0-100; čím blíž, tím menší). Používá se k výpočtu relativních vzdáleností*.
  7. Výstup udávající čistou neovlivněnou hodnotu vzdálenosti tak, jak jí vrací senzor (0-1023, čím blíž, tím větší!!!).

* Pozor! Pro správné pochopení výstupu senzoru je si potřeba uvědomit, že hodnota z výstupu 7, je jen surová (vnitřní) hodnota senzoru, která je proti běžným zvyklostem logicky převrácená (vyšší číslo je pro bližší objekty, menší pro vzdálenější). Získávané hodnoty navíc nejsou lineární a senzor mnohem přesněji zachycuje rozdíly ve vzdálenosti bližších předmětů. Aby bylo možno z hodnoty zpracovat lineární vzdálenost objektu od senzoru, jako je tomu např. u výstupu 6, je nutno si nejprve stanovit měřítko (konstantu) a tu vydělit surovou odmocněnou hodnotou senzoru. Konstantu stanovíme jako počet dílků mezi nejmenší a největší vzdálenosti objektu od senzoru, které mají být rozpoznávány. Čím větší bude číslo konstanty, tím menší bude rozpoznávaný dílek. Výsledek je pak již ve správné orientaci (pro bližší objekt menší číslo, pro vzdálenější větší) a je linearizovaný. Jeho počáteční hodnota však nezačíná v nule a též jednotky nejsou standardizované a nemůžeme proto očekávat, že výsledek bude znamenat hodnotu v centimetrech.

TIPY A TRIKY

Máte-li nějaké další tipy a triky potřebné pro práci s tímto senzorem, pošlete nám je. Rádi je zařadíme.

Odkaz na informace výrobce: http://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NEO1048

1 1 1 1 1 1 1 1 1 1 Hodnocení 5.00 (1 hodnocení)