Podstawy pomiaru odległości i rozpoznawania gestów za pomocą czujników ToF

| Technika

Wiele aplikacji wymaga bezdotykowego wykrywania obecności lub odległości od obiektów fizycznych. Konieczność pomiaru odległości doprowadziła do opracowania kilku konkurencyjnych technologii, w tym optycznych czujników pracujących w oparciu o pomiar czasu przelotu (ToF). Choć są one dokładne, ich wdrożenie było dotąd kosztowne i skomplikowane. Najnowsze rozwiązania sprawiły jednak, że technologia ta jest teraz znacznie łatwiejsza w użyciu.

Podstawy pomiaru odległości i rozpoznawania gestów za pomocą czujników ToF
 
Fot. 1. W aparacie fotograficznym Polaroid SONAR OneStep SX-70 zastosowano przetwornik ultradźwiękowy (okrągły, złoty moduł widoczny w górnej części) do automatycznej regulacji ostrości

Systemy automatycznego ustawiania ostrości, roboty, drony, różnego typu urządzenia łazienkowe i czujniki do drzwi automatycznych to tylko niektóre z przykładów urządzeń wymagających pomiaru odległości, a ich lista wciąż się wydłuża. Konkurencyjne techniki wykrywania odległości zaczynają się od prostych czujników podczerwieni i ultradźwiękowych, aż po bardziej złożone systemy, np. kamery stereoskopowe z sieciami neuronowymi.

Wszystkie te techniki mają ograniczenia i choć sztuczna inteligencja może być niezbędna do realizacji złożonych zadań, takich jak rozpoznawanie obiektów i śledzenie drogi przez pojazdy autonomiczne, jest zbyt kosztowna w przypadku np. dozowników ręczników papierowych i mydła. Projektanci, stając w obliczu coraz mniejszego budżetu i coraz krótszego okna projektowego, muszą minimalizować koszty, przestrzeń i czas projektowania.

Jedną z alternatyw do rozważenia przy realizacji tego typu systemów są czujniki ToF, mierzące odległość do obiektu docelowego na podstawie czasu przelotu fotonów w obie strony, od czujnika do obiektu i z powrotem. Do tej pory trudno było wdrożyć projekty ToF szybko i tanio, ale nowe generacje zintegrowanych i ekonomicznych czujników ToF zmieniły tę sytuację.

W tym artykule omówimy ewolucję zastosowanie technologii pomiaru odległości, w tym czujników ToF do wykrywania odległości i rozpoznawania gestów. Następnie opiszemy, jak działają czujniki ToF, a także przedstawimy najnowsze rozwiązania w tym zakresie i sposób ich implementacji.

Pierwsze czujniki zbliżeniowe

 
Fot. 2. Przetwornik ultradźwiękowy SEN-13959 firmy SparkFun wykorzystuje do pomiaru odległości odbite impulsy 40 kHz

Aparat fotograficzny Polaroid SX-70 wprowadzony na rynek w 1972 roku korzystał z wielu innowacyjnych technologii, takich jak układ optyczny z trzema zwierciadłami i soczewkami Fresnela, płaski 6-woltowy akumulator czy też 10-punktowy flash bar. Jednak jedną z najbardziej przełomowych technologii wprowadzonych przez Polaroida był Sonar Autofocus System, który po raz pierwszy pojawił się w modelu Polaroid SONAR OneStep zaprezentowanym w 1978 roku (fot. 1).

System automatycznej regulacji ostrości SONAR korzystał z innowacyjnego przetwornika ultradźwiękowego, którego zadaniem było wysyłanie impulsu pomiarowego i odbieranie odbitej energii.

Przetwornik ultradźwiękowy SONAR okazał się tak skuteczny, że Polaroid stworzył oddzielną firmę do jego rozwoju, a wpływ tego modułu na rynek można zaobserwować także dziś. Na przykład tani przetwornik ultradźwiękowy SparkFun SEN-13959 HRC-SR04 realizuje pomiar odległości, korzystając z dwóch oddzielnych sekcji: nadawczej i odbiorczej (fot. 2). Przetwornik ten został zaprojektowany do bezpośredniej współpracy z płytką rozwojową Arduino. Jego zasięg pomiarowy wynosi od 2 do 400 cm, a rozdzielczość to minimum 3 mm.

Aby zmierzyć odległość za pomocą tego przetwornika, karta Arduino (lub inny kontroler) wysyła impuls 10 μs do wyprowadzenia Trig, powodujący wygenerowanie serii 8 krótkich impulsów emitowanych przez nadajnik ultradźwięków. Impulsy trafiają w cel i odbijają się, pokonując drogę z prędkością 343 m/s (w temperaturze 20°C). Odległość do celu odpowiada czasowi pomiędzy wysłaniem i odebraniem impulsów ultradźwiękowych, pomnożonemu przez 343 m/s i podzielonemu przez 2 (dla uwzględnienia drogi przebytej w obie strony).

Impulsy ultradźwiękowe dobrze odbijają się od twardych powierzchni, a słabo od miękkich, takich jak zasłony, dywany, ubrania czy zwierzęta. Dokładność pomiaru zależy od metody stosowanej do synchronizacji impulsów. Nie zapewnia tego moduł SparkFun SEN-13959, dlatego zadanie to realizuje jednostka CPU urządzenia host.

Ponadto dokładność i stabilność pomiaru odległości od przetwornika ultradźwiękowego zmienia się w zależności od temperatury powietrza (zmieniającej prędkość rozchodzenia się dźwięku w powietrzu) i ruchu powietrza (który unosi znaczną część odbitej energii ultradźwiękowej i tłumi sygnał powrotny).

 
Fot. 3. Przetwornik Sharp GP2Y0A41SK0F, pracujący w podczerwieni, pozwala na wykrycie obiektu znajdującego się w odległości od 3 do 40 cm

Diody IR LED również są stosowane do wykrywania obecności i pomiaru odległości. Na przykład przetwornik GP2Y0A41SK0F firmy Sharp Microelectronics może być wykorzystany do pomiaru odległości od obiektu w zakresie od 4 do 30 cm, bazując na pomiarze natężenia odbitej fali, wysłanej przez diodę IR LED (fot. 3). Czujnik sygnalizuje odległość, generując napięcie analogowe, wynoszące od około 3 V (co odpowiada odległości 3 cm) do około 0,3 V (co odpowiada odległości 40 cm). Kontroler host przetwarza napięcie analogowe na sygnał cyfrowy.

Jednak ze względu na to, że odległość od obiektu jest określana na podstawie ilości odbitej energii promieniowania IR, dokładność tego typu czujnika jest obarczona błędem zależnym od zmiennych, takich jak współczynnik odbicia obiektu i natężenie światła otaczającego.

Innym sposobem pomiaru odległości od obiektu za pomocą promieniowania IR jest pomiar czasu przelotu fotonów generowanych przez emiter, odbijających się i powracających do detektora. Ten rodzaj czujnika odległości łączy w sobie charakterystykę ToF czujnika ultradźwiękowego oraz stabilną prędkość fotonu, na którą nie ma wpływu ruchome powietrze, światło z otoczenia ani współczynnik odbicia.

 
Fot. 4. Kontroler Microsoft Kinect do konsoli gier wideo Xbox 360 wykorzystuje pomiar ToF do stworzenia trójwymiarowej mapy otoczenia

Do niedawna trudno było mierzyć czas przelotu fotonów przemieszczających się na niewielkich dystansach, ponieważ prędkość światła wynosi 299 792 458 m/s, czyli około 30 cm na nanosekundę. W rezultacie do pomiaru odległości rzędu kilku milimetrów czy centymetrów czujniki ToF wymagają bardzo dokładnego pomiaru czasu z rozdzielczością poniżej nanosekundy.

Jednak dzięki branży gier wideo, technologia czujników ToF stała się o wiele tańsza. Być może najbardziej znanym obecnie zastosowaniem czujników ToF jest kontroler gier Microsoft Kinect (fot. 4). Microsoft Kinect pierwszej generacji został wprowadzony na rynek pod koniec 2010 roku jako urządzenie peryferyjne dla konsoli Xbox 360. Kontroler ten stał się bardzo popularny wśród projektantów robotów, ponieważ był w stanie wygenerować trójwymiarowe mapy najbliższego otoczenia robota przy wykorzystaniu pomiaru odległości opartego na ToF.

Moduł pomiarowy kontrolera Kinect został zminiaturyzowany i uproszczony w celu stworzenia praktycznych czujników pomiaru odległości, które są odpowiednie dla wielu aplikacji embedded.

Lasery VCSEL i fotodiody SPAD

 
Fot. 5. Czujnik VL6180X pierwszej generacji z oferty firmy STMicroelectronics zapewnia zakres pomiaru do 100 mm

Oferta firmy STMicroelectronics obejmuje obecnie szeroką gamę miniaturowych czujników ToF do pomiaru odległości. Są one oparte na najnowocześniejszych technologiach pomiaru korzystających z laserów VCSEL (vertical cavity, surface emitting laser) i fotodiod SPAD (single photon avalanche photodiode).

Trzy z nowej linii czujników ToF to VL53L0CX, VL53L1CX i VL6180X. Chociaż wszystkie służą do pomiaru odległości, każdy z nich charakteryzuje się innymi możliwościami.

Czujnik pierwszej generacji VL6180X ToF ma jeden tryb pracy i mierzy odległość od kilku do 100 mm (fot. 5). Jest zamykany w obudowie o wymiarach 4,8×2,8×1,0 mm i zapewnia pole widzenia 42°. Zawiera wbudowany czujnik światła, pozwalający kompensować zmiany natężenia oświetlenia zewnętrznego.

 
Fot. 6. Czujnik VL53L0CX drugiej generacji firmy STMicroelectronics zapewnia zakres pomiaru do 1200 mm

Czujnik ToF drugiej generacji VL53-L0CX zapewnia zasięg pomiaru od 50 do 1200 mm wewnątrz pomieszczeń (fot. 6). Jest zamykany w obudowie o wymiarach 4,4×2,4×1,0 mm i charakteryzuje się polem widzenia 25°. Ze względu na wpływ światła otaczającego, jego zakres pomiarowy zmniejsza się do 600...800 mm przy pracy na zewnątrz pomieszczeń.

Czujnik ToF trzeciej generacji VL53-L1CX oferuje trzy tryby pracy (fot. 7). Zasięg pomiaru w trybie short, medium i long wynosi 1360, 2900 i 3600 mm przy braku oświetlenia zewnętrznego. W obecności silnego światła zewnętrznego zasięg pomiaru dla tych trybów to odpowiednio 1350, 760 i 730 mm.

Choć nie jest to intuicyjne, zasięg pomiaru w trybie short jest największy przy silnym oświetleniu zewnętrznym. VL53L1CX jest zamykany w obudowie o wymiarach 4,9×2,5×1,56 mm i charakteryzuje się polem widzenia 27° (pole widzenia jest programowalne i może zostać zawężone, jak wyjaśniono poniżej).

 
Fot. 7. Czujnik VL53L1CX trzeciej generacji firmy STMicroelectronics zapewnia zakres pomiaru do prawie 4 m

Wszystkie trzy czujniki TOF raportują wynik pomiaru odległości do mikroprocesora host z rozdzielczością 1 mm za pośrednictwem cyfrowego interfejsu I²C, pełniącego równocześnie funkcję interfejsu sterującego. Dzięki temu pozwalają bardzo łatwo zrealizować połączenie z mikroprocesorem (fot. 8).

Należy zwrócić uwagę na bardzo specyficzne wymogi odnośnie do kondensatorów odsprzęgających na liniach zasilania AVDDVCSEL i AVDD. Kondensatory o pojemności 100 nF i 4,7 μF powinny być zlokalizowane tak blisko czujnika, jak to tylko możliwe, aby zapobiegać przedostawaniu się szumów ze źródła zasilającego i w konsekwencji, pogarszaniu dokładności.

Wspomniane czujniki ToF pracują w jednym wymiarze. Sygnalizują obecność obiektów w swoim polu widzenia. Jeśli w polu widzenia znajduje się wiele obiektów, mierzą odległość do najbliższego. Pojedynczy czujnik nie może wykryć kierunku gestu jedną ręką, ale można go wykorzystać do wykrycia czterech prostych gestów, w tym:

  • pojedynczego naciśnięcia (ręka przesuwa się w dół, aby "dotknąć" czujnika),
  • podwójnego naciśnięcia,
  • pojedynczego przesunięcia (ręka poruszająca się w polu widzenia czujnika),
  • podwójnego przesunięcia.
 
Fot. 8. Podobnie jak wcześniejsze czujniki tej rodziny, również czujniki VL53L1CX trzeciej generacji łączą się z mikroprocesorem host za pomocą prostego interfejsu I²C

Sparowane czujniki ToF mogą być używane do rozróżniania ruchów od lewej do prawej i od prawej do lewej ręki. Dodatkowo możliwe jest uzyskanie więcej informacji od czujnika trzeciej generacji VL53L1CX poprzez selektywne zawężanie jego pola widzenia. Odbywa się to poprzez wyłączanie poszczególnych fotodiod SPAD w matrycy przy użyciu komend wysyłanych przez interfejs I²C.

Cała matryca VL53L1CX zawiera 256 (16×16) fotodiod SPAD. Istnieje możliwość aktywowania jej dowolnej kwadratowej lub prostokątnej powierzchni za pomocą komendy programowej określającej dwa konkretne elementy w narożnikach obszaru aktywnego. Redukując liczbę elementów aktywnych, redukuje się pole widzenia czujnika i zawęża jego obszar ROI. Jedynym wymogiem jest tu równoczesne aktywowanie przynajmniej 16 (4×4) fotodiod SPAD.

Projektowanie systemu z czujnikami ToF

 
Fot. 9. Płytka rozszerzająca z zestawu ewaluacyjnego P-NUCLEO-53L1A1 firmy STMicroelectronics zawiera pojedynczy czujnik ToF o symbolu V53L1X oraz umożliwia dołączenie dwóch kolejnych tego typu czujników znajdujących się na płytkach współpracujących

Aby ułatwić rozpoczęcie projektowania, do czujnika VL53L1CX został opracowany zestaw ewaluacyjny P-NUCLEO-53L1A1. Obejmuje on płytkę ewaluacyjną STM32F401RE Nucleo z mikrokontrolerem STM32 firmy STMicroelectronics oraz płytkę rozszerzającą X-NUCLEO-53L1A1 montowaną na płytce mikrokontrolera i umożliwiającą podłączenie dwóch płytek współpracujących z zamontowanymi czujnikami VL53L1X, również dołączonych do zestawu (fot. 9).

W skład zestawu ewaluacyjnego P-NUCLEO-53L1A1 wchodzi dodatkowo oprogramowanie systemowe i przykładowe kody źródłowe, ułatwiające rozpoczęcie projektu. Firma STMicroelectronics oferuje też do pakietu programowego STM32Cube dodatkowe moduły do pomiaru odległości i rozpoznawania gestów za pomocą czujników TOF. Są one dostosowane do poszczególnych typów czujników i można je pobrać bezpłatnie ze strony internetowej STMicroelectronics.

Ze względu na małe wymiary czujniki ToF firmy STMicroelectronics mogą znaleźć szeroki zakres zastosowań. Kilka przykładów podano poniżej:

  • czujniki zbliżeniowe do robotów,
  • dozowniki papieru toaletowego i mydła,
  • spłuczki w toaletach,
  • baterie zlewozmywakowe,
  • czujniki obiektów w odkurzaczach zrobotyzowanych,
  • tanie detektory obecności użytkownika w laptopach i monitorach,
  • czujniki obecności i gestów w punktach sprzedaży detalicznej,
  • systemy zarządzania zapasami w automatach sprzedających,
  • liczniki monet w automatach sprzedających,
  • detektory bliskości ziemi dla dronów,
  • detektory bliskości sufitów dla dronów wewnętrznych.

W przeciwieństwie do detektorów zbliżeniowych opartych na dwuwymiarowych czujnikach ToF lub kamerach stereoskopowych i sieciach neuronowych, koszt zintegrowanych czujników zbliżeniowych STMicroelectronics jest stosunkowo niski, co umożliwia włączenie ich do różnych produktów końcowych przeznaczonych do sprzedaży w szerokim przedziale cenowym.

Podsumowanie

Obecnie dostępnych jest wiele technologii wykrywania zbliżeniowego, w tym optyczne i ultradźwiękowe, jak również wiele dobrych rozwiązań opartych na tych technologiach. Jedną z najnowszych technologii wykrywania zbliżeniowego są czujniki Time-of-Flight. Mierzą one odległość do celu, wykorzystując czas przelotu fotonu w obie strony, od czujnika do obiektu i z powrotem.

Pojawienie się na rynku zintegrowanych czujników, zawierających nadajniki i odbiorniki podczerwieni oraz precyzyjne układy pomiaru czasu, działające z subnanosekundową dokładnością sprawiają, że korzystanie z tej technologii jest bardzo tanie. Powiązane z nimi zestawy programistyczne umożliwiają użytkownikom prowadzenie eksperymentów i szybkie tworzenie prototypów.

Rich Miron
Digi-Key Electronics