Raport częściowy System rozpoznawania gestów dłoni na

Transkrypt

Raport częściowy System rozpoznawania gestów dłoni na
Politechnika Wrocławska
Projekt zespołowy
Raport częściowy
System rozpoznawania gestów dłoni na
podstawie miopotencjałów oraz czuciowego
sprzężenia zwrotnego dla zręcznej protezy dłoni.
13.05.2013
1
Wstępne rezultaty
Raport dotyczy rezultatów uzyskanych podczas prac na projektem od czasu jego rozpoczęcia
do dnia 13.05.2013. W tym okresie, dużo czasu poświęcono na zdobywanie niezbędnych informacji oraz podstaw teoretycznych dla analizy sygnałów EMG oraz na złożenie zamówień
na niezbędne elementy montażowe i elektroniczne do wykorzystania przy realizacji systemu
czuciowego sprzężenia zwrotnego.
1.1
Wyniki prac:
• Zakup elementów elektronicznych i montażowych do projektu,
• zaprojektowanie i wykonanie modułu zasilania,
• zaprojektowanie i wykonanie sterownika silników wibracyjnych,
• zaprojektowanie schematu modułu pomiarowego z czujnikami nacisku i zgięcia,
• zrealizowanie w środowisku Matlab programu do akwizycji sygnałów EMG,
• zrelizowanie interfejsu graficznego użytkownika do ww. programu, ułatwiającego budowanie bazy próbek,
• wdrożenie systemu kontroli wersji opartego na SVN,
• wybranie metody klasyfikacji sygnałów EMG w oparciu o sieć Kohonena,
• rozpoczęcie badań nad ektrakcją cech charakterystycznych z sygnału EMG,
• naprawienie protezy dłoni, wykonanej przez jednego z dyplomantów Wydziału Elektroniki,
• wykonanie płyty głównej modułu czuciowego sprzężenie zwrotnego,
• wykonanie płytek PCB dla czujników (zgięcia i nacisku, temperatury),
• opracowanie i pierwsze testy sterowania bioprotezą z poziomu Matlaba,
• postawienie strony internetowej projektu na serwerze http://diablo.ict.pwr.wroc.pl/ projektbiopro/wordpress/.
Wszystkie pliki, kody źródłowe, będące realizacją ww. punktów znajdują się na
serwerze SVN.
1.2
Plan prac na najbliższe dni:
• połączenie układu czujników,
• napisanie oprogramowania do mikrokontrolera w celu pobierania pomiarów z czujników i
wysterowania elementów wykonawczych,
• stworzenie bazy próbek sygnału EMG dla różnych gestów dłoni,
• implementacja sieci neuronowej przetwarzającej uzyskaną bazę próbek,
• aktualizacja informacji na stronie internetowej projketu.
1
2
Uzyskiwanie cech charakterystycznych sygnałów, za
pomocą algorytmu MFCC’s
Algorytm MFCC (ang. Mel-frequency cepstral coefficients) jest stosowany do uzyskania cech
charakterystycznych sygnałów. Równo rozmieszczone przedziały częstotliwościowe są bardziej
naturalne dla człowieka, a także łatwiej rozpoznawalne i rozróżnialne dla programów. Dzięki
temu algorytm znajduje zastosowanie w programach do kompresji dźwięków oraz algorytmach
rozpoznawania (np. rozpoznanie silnika bądź mówcy, utworu muzycznego). Sposób działania
algorytmu MFCC:
1. Bierzemy Transformate Fourier’a z sygnału (dla większej dokładności ale kosztem czasu
obliczeń stosujemy transformatę na zokienkowanym wcześniej sygnale).
2. Do dalszej części bierzemy tylko połowę otrzymanej transformaty, gdyż druga połowa jest
tylko odbiciem.
3. Otrzymane w ten sposób widmo podnosimy do kwadratu aby otrzymać widmo mocy.
4. Tworzymy bank filtrów melowych.
5. Przemnażamy odpowiednio widmo mocy każdego sygnału przez każdy filtr.
6. Otrzymane wartości są logarytmowane a następnie poddawane dyskretnej transformacie
„kosinusowej”.
7. Cechami charakterystycznymi są apmlitudy otrzymanego widma.
3
Sterowanie bioprotezą
Sterowanie bioprotezą odbywa się poprzez wysyłanie odpowiednich instukcji sterujących przez
port szeregowy. Oprogramowanie sterownika bioprotezy umożliwia sterowanie każdym z dostępnych przegubów z osobna, zadając im kąty zgięcia. Ponadto sterownik udostępnia zapamiętany
zbiór gestów, wykonywanych po otrzymaniu odpowiednich, skróconych instrukcji sterujących.
Sterowanie z wykorzystaniem zapamiętanych gestów okazało się niewystarczające dla założeń
projektu w związku z tym każdorazowo przesyłane będą instrukcje sterujujące z zadanym kątem
dla każdego z przegubów.
Ramka danych dla instrukcji sterującej wygląda następująco:
p|aL|aH |q|f |r
gdzie: aL - wartość kąta - 8 młodszych bitów aH - wartość kąta - 8 starszych bitów q - wybór
przegubu: 0/1/2/3 f - wybór palca: 0/1/2/3
2