Interfejs użytkownika - sterowanie za pomocą gestów

| Technika

Urządzenia przemysłowe często pracują w trudnych warunkach otoczenia. Agresywne substancje chemiczne, wysokie temperatury, duża wilgotność zmuszają konstruktorów paneli sterujących do ogromnego wysiłku w celu zachowania jakości pracy i obsługi. W takich sytuacjach warto rozważyć zastosowanie technologii rozpoznawania gestów, która działa z odległości i bez konieczności ściągania odzieży ochronnej.

Interfejs użytkownika - sterowanie za pomocą gestów

Takie możliwości daje nowy chip Microchipa GestIC (MGC3130) i oprogramowanie Colibri. Jest to pierwszy na świecie kontroler gestów pracujący w trzech wymiarach w oparciu o analizę pola elektrycznego i przeznaczony do aplikacji przemysłowych. Układ wykrywa zmiany tylko pola bliskiego i tylko od obiektów przewodzących, takich jak ciało ludzkie, dzięki czemu jest odporny na wiele zakłóceń od oświetlenia i wibracji.

Zasięg detekcji to 15 cm, zatem rozpoznawanie dotyczy tylko zamierzonych ruchów wykonanych celowo przed sensorem. W odróżnieniu od technologii optycznych bazujących na kamerze, ten detektor nie ma martwych pól, a elektrody można schować wewnątrz obudowy lub napylić na powierzchnię ekranu, wykonując je z materiału ITO. Ma to dużą zaletę w aplikacjach przemysłowych, bo pozwala utrzymać szczelność połączeń i obudowy.

W porównaniu z innymi sposobami detekcji gestów, jak promieniowanie podczerwone, ultradźwięki, kamera, GestIC potrafi pracować w ciemności, przy bezpośrednio padającym na urządzenie promieniowaniu słonecznym i z dobrą dokładnością rozpoznaje gesty w osi Z, a więc na drodze od i do czujnika. Duża szybkość odczytu (200 Hz) pozwala na wykrywanie także szybkich ruchów, a dodatkowo pobór mocy wynosi maks. 10% tego, co wymaga kamera.

Jak to działa?

Rys. 1. Rozkład pola elektrycznego nad elektrodami. Kolory odzwierciedlają linie o tym samym potencjale, strzałki kierunek sił pola

Konstrukcja czujnika pokazana jest na rysunku 1. Warstwa izolacyjna oddziela planarną elektrodę nadawczą zlokalizowaną na dole od elektrody odbiornika umieszczonej na górze. Elektroda nadawcza generuje zmienne pole elektryczne o częstotliwości 100 kHz, którego linie sił wyglądają jak na rysunku. Każde zbliżenie obiektu zaburza ten stabilny rozkład, tak jak w przykładzie na rysunku 2.

Obiekt (np. ręka) łączy linie sił pola elektrycznego z ziemią, absorbując ładunek. MGC3130 mierzy malutkie odchylenia sygnału na elektrodach odbiornika generowane przez ruchy ręki i przetwarza wyniki. Im bliżej jest ręka, tym wyższe zaburzenie pola. Wykorzystując cztery elektrody odbiornika (północną, południową, wschodnią i zachodnią), układ umożliwia śledzenie pozycji ręki w osiach X, Y i Z w określonym obszarze pomiarowym.

W kolejnym kroku obliczeniowym, MGC3130 rozpoznaje gesty poprzez stosowanie modelu analizy HMM (Hidden Markov Model) zapewniającego dużą precyzję. Dla szybkiego ruchu ręki od prawej do lewej strony, urządzenie notuje najpierw dużą zmianę sygnału po prawej stronie na początku, które potem zanika i przenosi się na drugą stronę. Zmiany te są porównywane z wzorcami ruchu oraz dostarczane w określony sposób na wyjście.

Rozdzielczość detekcji w osiach X-Y-Z jest wysoka, sięga 150 dpi i jest zależna od wielkości i konstrukcji elektrod oraz pozycji ręki wykonującej gest. Im bliżej jest ona sensora, tym lepszy stosunek sygnału do szumu i większa rozdzielczość.

Elektrody

Rys. 2. Pojawiająca się w polu ręka zaburza jego rozkład, co jest podstawą do wykrycia ruchu i rozpoznania gestu

Jak wspomniano, elektrody odbiorcze są umieszczone nad nadawczymi (rys. 3). W typowym przypadku są to po prostu ścieżki na górnej i dolnej warstwie laminatu, ale skuteczne są też rozwiązania w postaci ITO napylonego na szkło, co ułatwia integrację z wyświetlaczem. Tak duża swoboda projektowa ułatwia aplikację i sprawia, że konstrukcja sensora nie ma większego wpływu na koszt urządzenia. W praktyce zawsze daje się wykorzystać fragment płytki bazowej urządzenia lub element wyświetlacza.

Co więcej, naniesione elektrody dotykowe nie kolidują z konstrukcją ekranu dotykowego i mogą działać niezależnie. Połączenie technologii dotykowej i rozpoznawania gestów daje też możliwość zaoferowania ekranu dotykowego, który ma funkcje trójwymiarowe (dodatkowa oś Z). Pozwala to na wyczuwanie siły nacisku i wykrywanie, z jakiego kierunku nasunął się palec przed dotknięciem. Takie zabiegi pozwalają na łatwe wywoływanie menu kontekstowego, a więc funkcji, która była dostępna dotychczas tylko poprzez prawy klawisz myszki i w ekranach dotykowych jest trudna w implementacji.

Układ MGC3130

MGC3130 to konfigurowalny sterownik części analogowej interfejsu obsługujący jeden nadajnik i pięć kanałów odbiorczych. Cztery z nich służą do wykrywania gestu a piąty wykorzystywany jest jako czujnik dotyku i wsparcie dla gestów wykonywanych blisko sensora. Sygnały analogowe docierające z czujników są kondycjonowane a następnie digitalizowane w przetworniku ADC i obrabiane w procesorze DSP. Przetworzone dane wyjściowe są wysyłane do hosta przez interfejs I²C lub SPI. Dostępny jest też API, ułatwiający integrację układu we własnej aplikacji.

Oprogramowanie Colibri

Rys. 3. Przykładowa konstrukcja sensora i rozkładu elektrod zawierająca cztery sensory boczne i jeden centralny

Obsługujące czujnik oprogramowanie Colibri wykorzystuje algorytm rozpoznawania gestów HMM (Hidden Markov Model) oraz przetwarza wektorowe sygnały dla wszystkich trzech osi. Zastosowane rozwiązania charakteryzują się największą szybkością działania i najwyższym współczynnikiem niezależności od użytkownika, dzięki czemu liczy się gest, a nie to, kto go wykonuje.

Colibri dostarcza do aplikacji zarówno zwykłe dane na temat pozycji dłoni dla osi X-Y-Z, jak i informacje o wykrytych gestach, dzięki czemu nie trzeba ich wykrywać samodzielnie z koordynat ruchu. Detekcja dotyczy kierunku ruchu (góra, dół, lewo, prawo) oraz bardziej złożonych ruchów wykorzystywanych do nawigacji po menu. Dostępny jest też moduł zapisu i testowania gestów pozwalający dodać własne ruchy do biblioteki urządzenia a potem po przetestowaniu załadować je do pamięci Flash układu kontrolera.

Układ zapewnia też programowalną funkcję detekcji zbliżenia, która pozwala na uśpienie działania układu i wybudzenie go, gdy obiekt zbliży się do sensora. Dopiero wówczas włączane są wszystkie funkcje przetwarzania sygnału. Takie działanie ogranicza pobór mocy w stanie nieaktywnym.

Pewność działania

Technologia rozpoznawania gestów wykorzystuje fale o częstotliwości około 100 kHz. W praktyce układ pracuje w zakresie 70-130 kHz, dynamicznie zmieniając kanał i częstotliwość, gdy pojawią się zaburzenia od oświetlenia, silników, zasilaczy i innych urządzeń emitujących zaburzenia EM w tym zakresie. Dzięki temu zachowana została duża jakość działania.

Poziom emitowanego promieniowania jest bardzo niski, przez co interferencji z innymi urządzeniami nie ma i zachowana jest zgodność z wymaganiami dyrektywy IEC 61000-4-3. Całkowity pobór mocy przez MGC3130 sięga 70 mW, z czego większość jest zużywana na pracę procesora sygnałowego rozpoznającego gesty. Typowa wielkość obszaru zajmowanego przez elektrody wynosi 15×15 cm.

Technologia i IP

Rozpoznawanie gestów to dzieło niemieckiej firmy Ident Technology, która została przejęta przez Microchipa w 2012 roku i dzisiaj stanowi pion HMID - Human Machine Interface Division - rozwijający technologię detekcji z wykorzystaniem pola elektrycznego. W przygotowaniu jest zestaw deweloperski Hillstar ułatwiający rozpoczęcie pracy.

Microchip
www.microchip.com/gestic