Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Wykrywanie opuszków palców w przestrzeni

Geron 20 Oct 2021 00:55 660 10
  • #1
    Geron
    Level 12  
    Dzień Dobry

    Temat czysto teoretyczny (przynajmniej na razie), ale sądzę, że ciekawy.
    Do rzeczy.
    Chodzi o budowę instrumentu muzycznego w którym gra się w powietrzu. Kiedyś powstało coś takiego jak Theremin. Jak ktoś chce to jest na w popularnym serwisie z filmikami parę takich z tym instrumentem. Generalnie instrument moduluje wysokość i głośność dźwięku na podstawie zakłócenia jakie wprowadza obecność dłoni (niestety też i reszty człowieka jak i innych ludzi) w okolicy anteny. Temat stary rosyjski i .... równie ciekawy co granie na pile.

    Mi chodzi o wykrywanie opuszka palca w przestrzeni tak, aby można było przesłać sygnał do syntezatora MIDI lub zwyczajnie modulować częstotliwość analogowo. Przestrzeń możemy ograniczyć do ramki trzymanej w jednym ręku (załóżmy że 50cm x 30 cm) i musimy wykryć położenie puszków palców w płaszczyźnie X i Y tej ramki jak i jak głęboko każdy opuszek jest w ramce.
    Po serii samotnych dociekań uznałem, że szanse mają dwa rozwiązania i wiążące się z nimi problemy.



    Zastosowanie kamery z tyłu za ramką i wykrywanie opuszków w przestrzeni XY ramki (opuszki mogą mieć różne kolory). I tu mam problem bo wg mnie tym sposobem nie da się skutecznie wyznaczyć położenia każdego opuszka w osi Z ramki. Chybaże się mylę.

    Druga opcja to jakiś rodzaj triangulacji położenia palca. Nie jestem radiowcem i tutaj (proszę nie śmiejcie się) mam wrażenie, że moja koncepcja jest nierealna. Wymagałoby to umieszczenia anten nadajników (o różnych częstotliwościach) na końcówkach palców i pomiar opóźnień sygnałów na odbiornikach w ramce. Czy to jest w ogóle możliwe?

    Podsumowując;
    A. Czy czy przy metodzie detekcji kamerą jest możliwe wykrycie odległości od kamery (w dokładności rzędu milimetrów)
    B. Czy jest możliwa triangulacja sygnału radiowego w tak małym obszarze.

    Jak kogoś zainteresuje to będę wdzięczny za pomysły.
    Pozdrawiam
    J.S.
  • #2
    Mscichu
    Level 17  
    A może ułożenie stereoskopowe dwóch kamer? OpenCV z tego co kojarzę to obsługuje tego typu analizy. Ewentualnie w celu poprawy dokładności zastosować 3 kamery po jednej w każdej osi.
  • #4
    czareqpl
    Level 31  
    Na targach elektroniki ze 2 lata temu widziałem ciekawy interfejs bezdotykowy oparty o akustyczny generator, który po zbliżeniu dłoni sprawiał wrażenie ciśnienia atmosferycznego. Wykonując różne gesty w tym polu ciśnienia można było sterować jakimiś demo pokrętłami itp. Niestety nie pamiętam producenta ale to któryś producent z portfolio EBV.
  • Helpful post
    #5
    jakal
    Level 11  
    Taki kontroler już istnieje. Zbudowany jest z oświetlacza IRED i dwóch kamer widzących w podczerwieni. Wystarczy wpisać w wyszukiwarkę Leap Motion Controller...
  • #6
    viayner
    Level 42  
    Witam,
    problem jak najbardziej rozwiazywalny, mam nawet sensory zdolne to wykonac, moze w wolnej chwili to oprogramuje. Moze to byc dystans (od sensora) rzedu cm lub nawet metr.
    Wyglada to tak, (bez zaglebiania sie w szczegoly) wiazka sensora skanuje zadana powierzchnie, oprogramowanie rozpoznaje pojawienie sie konkretnego obiektu (palca) w danym zakresie/obszarze i to wyzwala zdarzenie ktorgo obsluga jest komenda MIDI.
    Niedogodnoscia jest promien lasera ktory nie powinin sie spotkac z oczami muzyka, aby wiazka byla nie widoczna mozna rozwazyc sensor/laser IR, nadal pozostaje problem oczu.
    Pozdrawiam
  • #7
    ikko
    Level 12  
    Myślałem nad czymś identycznym. Wykorzystać można dwie kamery + openCV lub kamerę TOF.
    Myślałem też o triangulacji z czujników (dalmierzy) w 4 narożnikach takiej ramki.
    Głównym problemem zawsze wydawała się oś Z.
    Chyba, że zrobić to jedynie w 2D, czyli w jednej osi nuty a w drugiej głośność. Tak chyba działają harfy laserowe.
  • #8
    gorki73
    Level 33  
    Geron wrote:
    Chodzi o budowę instrumentu muzycznego w którym gra się w powietrzu.
    Witaj, takie rozwiązania były już stosowane przez Jaen Michael Jarre'a a teraz kopiuje go Madis. Gra odbywa się na przecięciu linii lasera (można to zrobić na podczerwieni i będzie niewidoczne). Ja nie upierałbym się na graniu na opuszkach palców, bo przecież ręką można sterować wysokość przecinania lasera a co za tym idzie amplitudę sygnału. Gdybym chciałbym koniecznie imitować grę palcami to szedłbym w kierunku rękawiczek, które mają na opuszkach nadajniki podczerwieni o różnej częstotliwości, które odpowiadałyby różnym dźwiękom. Odbiorniki (umieszczone poniżej dłoni np. na stole), które zbierałyby sygnał z nadajników mierzyłyby odległość i przetwarzały na amplitudę....Tu przesyłam link do Madisa, który gra na laserowej harfie:
    https://www.youtube.com/watch?v=hyuG5ZPNdrc
  • #9
    Damian_Max
    Level 15  
    Hej, ja miałem w ręku właśnie Leap Motion Controller -- działało to rewelacyjnie, praktycznie bez opóźnień a dokładność była zdumiewająca xD.
    Znajomy mi to udostępnił na semestr kilka lat temu i pisałem mini sofcik do sterowania playerem wideo, w styli: pincz to zmiana poziomu głośności, zakreślanie kółek jednym palcem w prawo/lewo to przewijanie do przody/tyłu oraz start stop jak się składa dłoń w pięść -- kurs zaliczyłem z efektem łał xD.

    W ramach dev kitu były dostarczone biblioteki w różnych językach, podstawowa obsługa była całkiem prosta.
    Po dłuższej zabawie bolały ręce xD, oraz jak się nagrzało to chyba gubiło dokładność.
  • #10
    Geron
    Level 12  
    Hejka wszystkim.
    Miło mi widzieć takie zainteresowanie.

    @gorki73
    Harfa laserowa to było 40 lat temu. Jeden promień jeden dźwięk. Na koncercie Jare miał kilka promieni i mógł sterować chyba tylko głośnością (ręka wyżej /niżej). Mamy 21 wiek i myślałem raczej o czymś co dałoby efekt płynnej zmiany wysokości dźwięku w osi X, na przykład wysokość częstotliwości odcięcia (CUTOFF) w osi Y i załączenie dźwięku w osi Z (w osi Z możnaby również zaimplementować artykulację w zależności od szybkości zmian w osi Z).

    I w sumie temat załatwia patent Leap Motion Controller. @jakal dzięki za info.
    Poczytałem trochę o OpenCV i faktycznie temat do ogarnięcia na 2-ch kamerach. Jest jedno ALE... moc obliczeniowa.
    Leap Motion Controller to płytka z dwiema kamerami i naświetlaczami i złączem USB. Resztę załatwia soft na kompie. Oczywiście nie chcę nic umniejszać temu projektowi bo uważam, że jest świetny, tylko że taki ... instrument musiałby stale być spięty z komputerem i to dość mocnym a wszystko razem następnie z sekwencerem MIDI.

    Dlatego też myślałem raczej o jednej kamerze w osi Z, która służyłaby do wyznaczania położenia danego opuszka (każdy opuszek może mieć inny kolor) w płaszczyźnie XY. Mając położenie możemy wysłać odpowiednią komendę do sekwencera MIDI. Takie zadanie jest do ogarnięcia na zwykłym mikrokontrolerze (przynajmniej z jednym opuszkiem) bez procesorów DSP. Pozostaje oś Z. Myślałem np o polu magnetycznym i czujnikach Halla po jednym na palec (jakaś rękawica, czy coś). To ciśnienie akustyczne też jest ciekawe, ale chyba nie da się odróżnić w ten sposób poszczególnych opuszków. Idąc dalej tropem pola magnetycznego, może dałoby się odczytywać pole również w osiach XY i analogowo modulować falę dźwiękową beż komputera i sekwencerów MIDI. Powstałby w ten sposób autonomiczny instrument.

    No nic ...Narazie wracam do lektury OpenCV,

    Pozdrawiam
    J. S.