Czujnik ultradźwiękowy
Czujnik ultradźwiękowy jest czujnikiem odległości i ważnym elementem systemu wizyjnego robota.
Mierzy on odległość, jaka dzieli go od znajdującej się przed nim przeszkody, za pomocą fal dźwiękowych niesłyszalnych dla ludzi (o częstotliwości przekraczającej 18 kHz). Czujnik emituje dźwięk, a następnie nasłuchuje jego powrotu wynikającego z odbicia od przeszkody. Czas upływający od wyemitowania dźwięku do jego odebrania w wyniku odbicia od przeszkody zależy od jej odległości od czujnika. Odległość można obliczyć na podstawie zmierzonego przez czujnik czasu.
Wiele czujników ultradźwiękowych to tak naprawdę dwa połączone ze sobą urządzenia: nadajnik i odbiornik. Nadajnik generuje fale dźwiękowe o wysokiej częstotliwości, a odbiornik nasłuchuje echa powstającego w wyniku odbicia tych fal od przeszkody. Czujnik mierzy czas, jaki upłynął od wygenerowania sygnału do odebrania jego odbicia. Czas jest następnie przeliczany na standardowe jednostki odległości takie jak metry i centymetry. Sygnał jest tak naprawdę impulsem zatrzymującym się po powrocie dźwięku. Czas trwania impulsu jest proporcjonalny do odległości przebytej przez dźwięk, a zakres częstotliwości dźwięku zależy od danego czujnika. Na przykład przemysłowe czujniki ultradźwiękowe korzystają z częstotliwości od 25 do 500 kHz.
Częstotliwość pracy czujnika jest odwrotnie proporcjonalna do określanego zakresu odległości. Fala dźwiękowa o częstotliwości 50 kHz może wykryć obiekt znajdujący się w odległości 10 m lub więcej, a fala o częstotliwości 200 kHz ogranicza maksymalną odległość wykrywanych obiektów do ok. 1 m. Dlatego fale o niższych częstotliwościach mogą być używane do wykrywania obiektów znajdujących się w większych odległościach, a fale o wyższych częstotliwościach mogą być stosowane do wykrywania obiektów usytuowanych bliżej. Typowy tani czujnik ultradźwiękowy pracuje w zakresie od 30 do 50 kHz. Stosowane przez nas czujniki ultradźwiękowe pracują z falą o częstotliwości ok. 40 kHz i charakteryzują się zasięgiem 2 – 3 m.
Ograniczenia i dokładność czujnika ultradźwiękowego
Czujnik emituje wiązkę w kształcie stożka (od długości stożka zależy zasięg czujnika). Wiązka ta definiuje jego pole widzenia. Jeżeli w polu widzenia czujnika ultradźwiękowego znajdzie się jakiś przedmiot, to fale dźwiękowe odbiją się od niego. Im większa odległość między obiektem, od którego odbija się fala, a czujnikiem, tym słabsze jest natężenie fali dźwiękowej powracającej do czujnika. Oznacza to, że odbiornik może nie wykryć zbyt słabej fali. Dotyczy to również obiektów znajdujących się w różnych punktach granicznych pola widzenia czujnika. Czujniki ultradźwiękowe charakteryzują się martwym polem zlokalizowanym tuż przed nimi. Nie wykrywają one obiektów znajdujących się w miejscu, w którym dochodzi do na tyle szybkiego odbicia fali, że czujnik nie przestał jeszcze jej emitować. Czujnik nie może pracować w takich warunkach. Martwe pole czujnika kończy się w odległości kilku centymetrów od niego. Zewnętrzna krawędź martwego pola określa minimalny zasięg pracy czujnika.
Co z obiektami znajdującymi się po bokach czujnika? Czy zostaną wykryte? Zależy to od kierunkowości czujnika. Kierunkowość czujnika określana jest przez charakterystykę kierunkową dźwięku generowanego przez nadajnik. Określa, w jakim stopniu dźwięk jest kierowany w określone miejsce. Na rysunku 6.7(a) został pokazany typowy rozkład energii dźwięku o częstotliwości 50 kHz (na osi x oznaczono znormalizowane decybele). Wykres pozwala określić wyrażone w decybelach natężenie dźwięku w punkcie znajdującym się w pewnej odległości od czujnika. Czujnik ma największy zasięg w linii prostej. Krzywe ilustrujące zasięg czujnika na boki informują o tym, że w miejscach tych charakteryzuje się on o wiele krótszym zasięgiem.
Rysunek 6.7. Typowy rozkład energii dźwięku o częstotliwości 50 kHz (a); pole widzenia typowego czujnika ultradźwiękowego (b)
Rysunek 6.7(b) przedstawia pole widzenia przykładowego czujnika ultradźwiękowego i poziom detekcji przeszkód. Wraz ze wzrostem odległości zawężeniu ulega pole widzenia czujnika (przy maksymalnej odległości jest ono o połowę mniejsze).
Ograniczenia wynikające z kierunkowości i zakresu pracy czujnika nie stanowią największego problemu. Inne ograniczenia są związane z materiałem, z którego wykonany jest obiekt, i z jego ustawieniem względem czujnika — czynniki te wpływają na dokładność pracy czujnika. Od dokładności czujnika zależy zgodność otrzymywanych wartości ze stanem faktycznym.
Czujnik wykrywający obiekt położony w odległości 60 cm powinien zwrócić odległość równą 60 cm. Według dokumentacji czujnik EV3 powinien charakteryzować się dokładnością +/–1 cm w zakresie od 3 do 250 cm. Wykrywanie przedmiotów, których powierzchnia jest wykonana z materiałów pochłaniających dźwięk, takich jak gąbka, bawełna i guma, jest trudniejsze od wykrywania obiektów, których powierzchnia jest wykonana z materiałów odbijających dźwięk, takich jak plastik, stal lub szkło. Materiały pochłaniające dźwięk ograniczają maksymalną odległość, z której mogą być wykryte przez czujnik. Pracując z takimi przedmiotami, musisz pamiętać, że dokładność
czujnika może się różnić o kilka lub kilkanaście centymetrów. Poziom dokładności należy sprawdzić przed rozpoczęciem pracy z tego typu materiałami. Czujniki ultradźwiękowe działają najlepiej, gdy są osadzone w górnej części robota — wtedy na ich pracę nie wpływają fale dźwiękowe odbite od podłogi i fale prostopadłe do powierzchni obiektu.
Na rysunku 6.8 pokazaliśmy różne ograniczenia czujników ultradźwiękowych. Widać tu nadajnik generujący falę dźwiękową, która odbija się od jakiegoś obiektu (lub ściany). Na pierwszym diagramie (a) widoczna jest fala dźwiękowa dającą dokładny odczyt. Obiekt znajduje się bezpośrednio przed czujnikiem i jest ustawiony równolegle do niego. Na drugim diagramie (b) pokazany
jest skrót perspektywy — zjawisko, do którego dochodzi, gdy czujnik jest ustawiony pod kątem do przeszkody i zwraca odczyt, który nie oddaje rzeczywistej odległości. Impuls jest szerszy (jego powrót trwał dłużej wskutek zwiększenia odległości) od oryginalnego impulsu. Na trzecim diagramie (c) widać odbicie zwierciadlane, do którego dochodzi, gdy fala trafia w przeszkodę pod
kątem ostrym i odbija się od niej tak, że nie wraca do czujnika — czujnik nie odbiera odbitego sygnału. Dźwięk może się odbijać w ten sposób również od przeszkód o nieregularnym kształcie. Do przesłuchu dochodzi, gdy kilka czujników ultradźwiękowych pracuje jednocześnie i generuje fale o tej samej częstotliwości. Sygnały mogą zostać odebrane przez niewłaściwe odbiorniki, co
zostało pokazane na diagramie (d). Czasami, kiedy niektóre czujniki pracują w trybie nasłuchu, zjawisko to jest wywoływane celowo.
Rozchodzenie się fal dźwiękowych uniemożliwia odróżnienie nawet dużego i szerokiego obiektu od małego i wąskiego.
Porównaj sposób wykrywania obiektu znajdującego się w odległości 50 cm przez czujnik ultradźwiękowy i czujnik podczerwieni. Czujnik podczerwieni jest również wyposażony w nadajnik i odbiornik, ale odległość od obiektu jest określana za pomocą pojedynczej wiązki światła podczerwonego i triangulacji.
Rysunek 6.8. Ograniczenia czujników ultradźwiękowych: dokładny odczyt (a), skrót perspektywy (b), odbicie zwierciadlane (c) i przesłuch (d)
Na rysunku 6.9(b) zostało pokazane zastosowanie wąskiej wiązki o polu widzenia równym 10° w celu zlokalizowania obiektu znajdującego się na linii wiązki (odchylenie w obu kierunkach wynosi 5°). Zastosowanie wąskiej wiązki pozwala na wykrycie otworu drzwi (brak odczytu), podczas gdy czujnik ultradźwiękowy (zobacz rysunek 6.9(a)) wykrywa futrynę drzwi. Czujników tych można także użyć do określenia szerokości obiektu. Robot wyposażony w oba rodzaje czujników odległości może łatwiej przechodzić przez drzwi i przemieszczać się po pomieszczeniach z przeszkodami o różnych rozmiarach. Niektóre czujniki ultradźwiękowe mogą wykrywać do ośmiu przeszkód (zwracają wiele odczytów jednocześnie), ale nie każde oprogramowanie pozwala skorzystać
z tej możliwości.
Im trudniej jest wykryć jakiś obiekt (z powodu jego rozmiaru, powierzchni lub odległości), tym mniejszy jest maksymalny dystans, z którego może on zostać wykryty. Większe obiekty są łatwiejsze do wykrycia niż mniejsze. Obiekty o gładkiej lub wypolerowanej powierzchni odbijają fale dźwiękowe lepiej niż powierzchnie miękkie i porowate — dzięki temu te pierwsze są łatwiejsze do
wykrycia. Zależności te przedstawia rysunek 6.10.
Rysunek 6.9. Czujnik ultradźwiękowy wykrywa falę odbitą od celu (a); czujnik podczerwieni wykrywa przeszkody, korzystając z pojedynczej wiązki i triangulacji (b)
Rysunek 6.10. Ograniczenia czujnika ultradźwiękowego spowodowane powierzchnią obiektu
Tryby pracy czujnika ultradźwiękowego
Czujnik ultradźwiękowy może pracować w różnych trybach. Liczba dostępnych trybów zależy od producenta, programistów opracowujących biblioteki i oprogramowania używanego do sterowania pracą czujnika. Czujnik ultradźwiękowy może dokonywać pomiarów, stale generując fale dźwiękowe lub wysyłając pojedynczy impuls.
W trybie pracy ciągłej fale dźwiękowe są wysyłane cyklicznie, w regularnych odstępach czasu. W przypadku wykrycia obiektu czujnik przekazuje odczyt do mikrokontrolera. W trybie generowania pojedynczego impulsu czujnik wysyła jeden impuls i dokonuje odczytu. W przypadku wykrycia obiektu odczyt ten jest przesyłany dalej. Niektóre czujniki mogą podczas pracy w tym trybie wykrywać jednocześnie wiele obiektów — wówczas każdy odczyt jest zapisywany w strukturze danych takiej jak na przykład tablica, a odczyt obiektu znajdującego się najbliżej czujnika jest zapisywany w niej jako pierwszy. Standardowo czujniki ultradźwiękowe pracują w trybie aktywnym — generują dźwięk, a następnie czekają na jego odbicie. Czujniki pracujące w trybie pasywnym
nie generują dźwięku — nasłuchują dźwięków emitowanych przez inne czujniki. Tabela 6.6. przedstawia różne tryby pracy czujników ultradźwiękowych.
Tabela 6.6. Tryby pracy czujników ultradźwiękowych
Tryb pracy | Opis |
Praca ciągła | Fale dźwiękowe są generowane cyklicznie, w regularnych odstępach czasu |
Pojedynczy impuls | Generowany jest pojedynczy sygnał, który umożliwia czujnikowi zebranie danych |
Aktywny | Normalna praca czujnika |
Pasywny | Czujnik nie generuje sygnału; nasłuchuje sygnałów wyemitowanych przez inne czujniki |
Programowanie robotów. Sterowanie pracą robotów autonomicznych Autorzy: Cameron Hughes, Tracey Hughes Wydawnictwo: Helion