Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2015:bio-arm

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
2015:bio-arm [2016/01/17 23:04]
Aleš Pohludka
2015:bio-arm [2016/01/18 00:18] (aktuální)
Aleš Pohludka [Demonstrační video a diskuze]
Řádek 18: Řádek 18:
 {{ :​2015:​bio-arm:​elektrody.jpg |Ukázka elektrody}} {{ :​2015:​bio-arm:​elektrody.jpg |Ukázka elektrody}}
     Obr. 2: Ukázka elektrody     Obr. 2: Ukázka elektrody
-{{ :​2015:​bio-arm:​biopack_ekg.jpg?​200 |Měřící jednotka}}+{{ :​2015:​bio-arm:​biopack_ekg.jpg?​400 |Měřící jednotka}}
     Obr. 3: Měřící jednotka     Obr. 3: Měřící jednotka
 {{ :​2015:​bio-arm:​procesor.png |Vývojový kit s FRDM-K64F }} {{ :​2015:​bio-arm:​procesor.png |Vývojový kit s FRDM-K64F }}
Řádek 24: Řádek 24:
 {{ :​2015:​bio-arm:​Set_popis.jpg |Pracovní plocha }} {{ :​2015:​bio-arm:​Set_popis.jpg |Pracovní plocha }}
     Obr. 5: Pracovní plocha ​         Obr. 5: Pracovní plocha ​    
-{{ :​2015:​bio-arm:​EMG.gif?​400 ​|Ukázka naměřeného EMG signálu }}+{{ :​2015:​bio-arm:​emg.png |Ukázka naměřeného EMG signálu }}
     Obr. 6: Ukázka naměřeného EMG signálu ​   ​     Obr. 6: Ukázka naměřeného EMG signálu ​   ​
 ===== Software =====  ===== Software ===== 
Řádek 84: Řádek 84:
 ==== Vyhodnocovací fáze ==== ==== Vyhodnocovací fáze ====
 V této fázi program začíná v nekonečné smyčce kontinuálně meřit a vyhodnocovat naměřená data s oknem 100 vzorků. Na datech je provedena obálka podobně jako v učící fázi. Následuje kritérium, kdy se získaná hodnota porovná s prahy. Jsou-li hodnoty větší, rozsvítí se příslušná led a do čítače s rozsahem 0 až 400 hodnot pro oba signály se přičte 1 pokud již nejsou na maximální hodnotě. Jsou-li hodnoty menší, led zhasne a z čítače se odečte 1 pokud není hodnota 0. Oba signály používají stejnou proměnnou (procenta), biceps je kodován po jednotkách,​ předloktí po tisících. Reálná maximální hodnota je tak 400400. V této fázi program začíná v nekonečné smyčce kontinuálně meřit a vyhodnocovat naměřená data s oknem 100 vzorků. Na datech je provedena obálka podobně jako v učící fázi. Následuje kritérium, kdy se získaná hodnota porovná s prahy. Jsou-li hodnoty větší, rozsvítí se příslušná led a do čítače s rozsahem 0 až 400 hodnot pro oba signály se přičte 1 pokud již nejsou na maximální hodnotě. Jsou-li hodnoty menší, led zhasne a z čítače se odečte 1 pokud není hodnota 0. Oba signály používají stejnou proměnnou (procenta), biceps je kodován po jednotkách,​ předloktí po tisících. Reálná maximální hodnota je tak 400400.
 +
 +Jelikož při zvedání ruky bicepsem vzniká signál, který je relativně dobře čitelný i na svodech předloktí,​ je vytvořena pojistka, při které se vyhodnocuje zda je biceps aktivní. Je-li aktivní, pak se práh pro aktuální vzorek otočení zvýší trojnásobně.
 <code c> <code c>
 led=1; ​                           //zhasnuti led indikujici start mereni led=1; ​                           //zhasnuti led indikujici start mereni
Řádek 179: Řádek 181:
 } }
 </​code>​ </​code>​
 +{{ :​2015:​bio-arm:​emgOO.png |Ukázka vyhodnocení dle prahu v MATLABu, hodnota 20 odpovídá aktivnímu otáčení při aktivním bicepsu}}
 +    Obr. 8: Ukázka vyhodnocení dle prahu v MATLABu, hodnota 20 odpovídá aktivnímu otáčení při aktivním bicepsu
 ==== Zobrazení stavu ==== ==== Zobrazení stavu ====
 Na sériovou linku se posílá každá 10. hodnota stavu. Ta je načtena programem "​serialchart"​ pro vykreslování hodnot v čase. Program je volně dostupný z [[https://​code.google.com/​p/​serialchart/​]]. Data lze rovněž podobným způsobem vyhodnocovat pomocí MATLABu: ​ Na sériovou linku se posílá každá 10. hodnota stavu. Ta je načtena programem "​serialchart"​ pro vykreslování hodnot v čase. Program je volně dostupný z [[https://​code.google.com/​p/​serialchart/​]]. Data lze rovněž podobným způsobem vyhodnocovat pomocí MATLABu: ​
Řádek 220: Řádek 224:
 {{youtube>​9D8jCWQ_3tU?​medium}} {{youtube>​9D8jCWQ_3tU?​medium}}
  
-Ve videu je možné shlédnout všechny fáze programu, na monitorech signály vstupující do procesoru z bicepsu a předloktí a křivku vyhodnocení ​stav funkce bicepsu v čase. ​+Ve videu je možné shlédnout všechny fáze programu, na monitorech signály vstupující do procesoru z bicepsu a předloktí a křivku vyhodnocení ​stavu funkce bicepsu v čase. Místo rotace ruky lze použít stisk, u kterého je výsledný signál více zřetelný v závislosti na pozici elektrod. 
 + 
 +Učící fáze je naprostou samozřejmostí,​ protože každý uživatel má hodnoty energie EMG signálu odlišné. Signály jsou filtrovány stejným filtrem. V kódu se za sebou pro filtraci střídají jednotlivé hodnoty signálu z bicepsu a předloktí. Původní představa toho, že se hodnoty jednotlivých vstupních kanálů budou mezi sebou hádat se ukázala jako mylná a oba výsledné vyfiltrované signály se jevily jako vyfiltrované skutečně správně. Nemusela se tak psát kopie filtru, který by filtroval druhý kanál, jak se původně smýšlelo.
  
 +Hodnotí se pouze zda-li je sval aktivní/​neaktivní a po jakou dobu. Na základě těchto stavů lze pouze hodnotit zda se končetina hýbe k maximální nebo minimální vychýlce tzn. ustálený stav je pouze v maximu nebo minimu. K vychýlce 50% by uživatel musel kontinuálně daný sval stahovat a uvolňovat, výsledný charakter ustáleného pohybu se však jeví spíš jako vibrující kolem 50%, než ustálený stav. Tento postup vyhodnocování se však zdál nejvíce schůdný vzhledem k nevyspytatelnosti EMG signálu. Rychlost pohybu k maximu a minimu je rovněž konstantní,​ avšak v kódu lehce měnitelná vzhledem k použití operátoru %.
 ===== Závěr ===== ===== Závěr =====
-blabla+Cílem projektu bylo realizovat ovládání protetické ruky s pomocí kitu FRDM-K64F a vhodně zobrazovat její pohyb na PC. Výsledný projekt je schopen detekovat EMG signál ze dvou míst a na základě jejich krátkodobých hodnot v čase vyhodnotit a realizovat dva různé pohyby. O tom v jakém stavu vychýlky v čase se zrovna končetina nachází zobrazuje křivka měřených hodnot na PC. Během návrhu se pracovalo se signály z bicepsu a předloktí. V praxi by se však použilo k ovládání jiné místo než předloktí,​ protože člověk, který by chtěl realizovat práci bicepsu by pravděpodobně předloktí neměl. Vhodným vylepšením by bylo vytvořit vlastní zesilovače,​ bylo by tak možné měření provádět kdekoliv s přístupem napájení. Celý algoritmus by se dal dále upravovat k lepšímu a plynulejšímu ovládání.
2015/bio-arm.1453068257.txt.gz · Poslední úprava: 2016/01/17 23:04 autor: Aleš Pohludka