Na tomto místě bude oficiální zadání vaší práce • Toto zadání je podepsané děkanem a vedoucím katedry, • musíte si ho vyzvednout na studiijním oddělení Katedry počítačů na Karlově náměstí, • v jedné odevzdané práci bude originál tohoto zadání (originál zůstává po obhajobě na katedře), • ve druhé bude na stejném místě neověřená kopie tohoto dokumentu (tato se vám vrátí po obhajobě).
i
ii
České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačové grafiky a interakce
Bakalářská práce
Textový vstup pomocí myoelektrických signálů Tomáš Tisančín
Vedoucí práce: Ing. Adam Sporka, Ph.D.
Studijní program: Otevřená informatika, Bakalářský Obor: Softwarové systémy 24. května 2013
iv
v
Poděkování Rád bych tímto poděkoval Ing. Adamovi Sporkovi, Ph.D. za to, že mi vždy vyšel vstřic, za jeho odborné rady a pomoc při vytváření této bakalářské práce a za to, že mi umožnil zapojit se do projektu TextAble. Rád bych také poděkoval Ing. Odřeji Poláčkovi za poskytnuté konzultace a všem participantům, kteří se podíleli na testování a speciálně Jitce Hofrichterové, která mi poskytla její odborné znalosti v oblasti lékařství.
vi
vii
Prohlášení Prohlašuji, že jsem práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu §60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon).
V Přezleticích dne 23. 5. 2013
.............................................................
viii
Abstract The goal of this Bachelor’s thesis is to find out, whether it is possible to enable the text input using myoelectric signals registered by appropriate input device. The enabling is done by controlling the mouse cursor, or a part of a keyboard and as the input device is chosen Neural Impulse Actuator (NIA). Calibration and mapping tool is written in C# language and, unlike the original software, it has wider options. The thesis contains appropriate researches, detailed analysis of NIA and basic tests of reliability and usability.
Abstrakt Cílem této práce je zjistit, zda je možné zpřístupnit textový vstup pomocí myoelektrických signálů zaznamenaných příslušným vstupním zařízením. Zpřístupnění probíhá skrze ovládání kurzoru myši, potažmo části klávesnice a jako vstupní zařízení je zde zvolen Neural Impulse Actuator (NIA). Kalibrační a mapovací nástroj je napsán v jazyce C# a má na rozdíl od originálního software mnohem širší možnosti. Součástí práce jsou příslušné rešerše, detailní rozbor NIA a základní testy spolehlivosti a použitelnosti.
ix
x
Obsah 1 Úvod 1.1 Popis problému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Cíl práce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 1 2
2 Rešerše 2.1 Vstupní zařízení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Textový vstup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Myoelektrické signály . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 3 6 9
3 NIA 3.1 Popis zařízení . . . . . . . . . . . . . . . . . . . 3.2 Rozbor přijímaných dat . . . . . . . . . . . . . 3.3 Interpretace dat a základní data z oblasti čelní 3.4 Zpracování myoelektrického signálu . . . . . . . 3.5 Jeden kanál vs. dva kanály . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
13 13 14 16 24 27
4 NIA jako vstupní zařízení 29 4.1 Program pro kalibraci a mapování . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2 Mapování signálu z NIA na vstupní zařízení . . . . . . . . . . . . . . . . . . . 30 4.3 Textový vstup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5 Testování 5.1 Sestavení testů a průběh . . 5.2 Výběr a popis participantů 5.3 Výsledky testů . . . . . . . 5.4 Závěr z testování . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
39 39 41 42 45
6 Závěr
47
A Grafy
49
B Svaly předloktí
51
C Uživatelská příručka 55 C.1 Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 C.2 Kalibrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
xi
xii
OBSAH
C.3 Mapování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 D Seznam použitých zkratek
61
E Obsah přiloženého CD
63
Seznam obrázků 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8
Ukázka keyeru . . . . . . . . . . . Kinect . . . . . . . . . . . . . . . . Virtuální klávesnice ve Windows 8 Ukázka programu Dasher . . . . . Dasher - Ovládání skrze menu . . . Emotive EPOC . . . . . . . . . . . Opasek MYO . . . . . . . . . . . . Zařízení NIA . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. 4 . 5 . 7 . 8 . 9 . 10 . 11 . 11
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16
Datové packety NIA . . . . . . . . . . . NIA na čele . . . . . . . . . . . . . . . . Graf mrkání . . . . . . . . . . . . . . . . Graf pohybu obočí . . . . . . . . . . . . Graf pohybu očních bulbů . . . . . . . . Graf čelistní tenze . . . . . . . . . . . . Graf svrašťování čela . . . . . . . . . . . Graf dlouhého mrkání . . . . . . . . . . Svaly frontálního proximálního předloktí Graf střídavé vratné extenze a flexe . . . Graf střídavé extenze a flexe . . . . . . . Graf tenze ruky . . . . . . . . . . . . . . Pásek NIA na předloktí . . . . . . . . . Aplikace vysokého dolního filtru . . . . Aplikace nízkého horního filtru . . . . . Aplikace nízkého horního filtru 2 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
4.1 4.2
Kurzor s ukazatelem směru . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Mapování na menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.1 5.2 5.3 5.4
Program pro testování akcí a událostí . . . . . . . Program pro testování tenze . . . . . . . . . . . . . Graf výsledků testování při upevnění na čele . . . . Graf výsledků testování při upevnění na předloktí .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
15 16 17 17 18 18 19 19 22 23 23 23 24 25 25 26
40 40 42 43
A.1 Aplikace nízkého dolního filtru . . . . . . . . . . . . . . . . . . . . . . . . . . 49 A.2 Aplikace nízkého horního filtru . . . . . . . . . . . . . . . . . . . . . . . . . . 50
xiii
xiv
SEZNAM OBRÁZKŮ
A.3 Aplikace vysokého horního filtru . . . . . . . . . . . . . . . . . . . . . . . . . 50 A.4 Aplikace vysokého horního filtru 2 . . . . . . . . . . . . . . . . . . . . . . . . 50 B.1 Pohled na tři nejdůležitější svaly umožňující palmární flexi a flexi předloktí . 52 B.2 Pohled na m. pronator teres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 B.3 Flexory prstů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 C.1 Hlavní okno programu pro připojení, kalibraci a mapování . . . . . . . . . . . 55 C.2 Okno s grafem aktuálního stavu signálu . . . . . . . . . . . . . . . . . . . . . 56 C.3 Kalibrační a mapovací okno . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Seznam tabulek 3.1 3.2
Oblasti těla pro připevnění NIA . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Svaly frontálního proximálního předloktí vzhledem k akcím a signálu . . . . . 21
4.1 4.2
Mapování jednoho kanálu NIA na předloktí pro pohyb kurzoru myši . . . . Méně náročné mapování jednoho kanálu NIA na předloktí pro pohyb kurzoru myši . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mapování jednoho kanálu NIA na čele pro pohyb kurzoru myši . . . . . . . Mapování dvou kanálů NIA na dvou předloktích pro pohyb kurzoru myši . Mapování jednoho kanálu NIA na předloktí pro ovládání menu . . . . . . . Mapování dvou kanálů NIA na dvou předloktích pro ovládání menu . . . . Mapování jednoho kanálů NIA na čele pro ovládání menu . . . . . . . . . .
4.3 4.4 4.5 4.6 4.7
xv
. 31 . . . . . .
32 32 33 34 35 36
xvi
SEZNAM TABULEK
Kapitola 1
Úvod Tato práce je součástí mezinárodního projektu s názvem TextAble. Tento projekt kombinuje zpracování bio-signálů a interakci mezi člověkem a počítačem. Na základě spojení těchto dvou odvětví lze zkoumat a vyvíjet nové metody a uživatelská rozhraní pro textový vstup a jeho úpravy se zaměřením na motoricky postižené lidi. V rámci této práce jsem se orientoval na myoelektrické signály zachycené na čele a předloktí a hrubě zpracované pomocí NIA (Neutral Impulse Actuator) od společnosti OCZ. Výstup z tohoto zařízení jsem pak využil k namapování na různé události, které mají umožnit ovládání kurzoru myši či klávesnice a umožnit tak psát text. K podobnému účelu slouží i původní program pro kalibraci od zmíněné firmy, avšak velmi omezeně bez možnosti jakékoli modifikace či filtrace. Důležitým aspektem je případná snadná rozšiřitelnost vzhledem k událostem, které je možno nezávisle vytvářet za pomoci jazyku C#. Nebyl by však problém rozšířit možnosti i na další jazyky, jelikož .NET nabízí možnost kompilace mnoha jazyků a umožňuje spouštět externě vytvořené zkompilované soubory, které mohou sloužit jako zdroje akcí. Další výhodou je i rozšířená kalibrace, která umožňuje velmi dobře specifikovat jak, kdy a za jakých podmínek se jednotlivé události spustí. Výsledný software byl otestován na zdravých participantech.
1.1
Popis problému
V dnešní době informačních technologií si život bez vstupních zařízení neumíme dost dobře představit. Vstupní zařízení, počínaje signalizačním tlačítkem v autobuse, přes různé automaty, bankomaty, až například po počítačovou myš, či klávesnici, jsou vesměs konstruovány pro použití za pomocí prstů a rukou. Majoritními zastupiteli jsou v oblasti počítačů poslední dvě zmíněné periferie. Málokterý člověk z moderní společnosti si dokáže představit život bez možnosti využívání těchto vstupních zařízení. Problém však vzniká tehdy, nemůže-li je jedinec užívat nedobrovolně v důsledku motorického postižení či amputace. Velkou potíží je právě nemožnost psát text a v tuto chvíli mohou na řadu přijít vstupní zařízení reagující na biosignály, konkrétně na myoelektrické impulzy. Text lze psát primárně za pomoci klávesnice, ale je to možné i v zastoupení myši. Právě na náhradu těchto periferií je tato práce zaměřena.
1
2
1.2
KAPITOLA 1. ÚVOD
Cíl práce
Cílem práce je především vyzkoušet, zda je vůbec možné za pomoci myoelektrických signálů ovládat kurzor myši či psát text na počítači a zjistit, jak je to pro uživatele náročné vzhledem k normálnímu použití myši a klávesnice. V případě úspěchu se dá výstup, který tato práce poskytne, použít jako základ pro další vývoj, který by mohl být zaměřený na motoricky postižené uživatele.
Kapitola 2
Rešerše 2.1
Vstupní zařízení
Vstupní zařízení je jakákoli periferie umožňující uživateli zadávat data do zařízení, které je následně zpracuje. Výsledkem je pak nějaký výstup. Asi nejčastějším příkladem vstupního zařízení je v dnešní době klávesnice či myš, které komunikují s počítačem. Počítač pak přijatá data zpracuje a například zobrazí na monitoru ve formě textu, ukazatele myši a podobně. Vstupní zařízení lze klasifikovat vzhledem k tomu, jaký je druh vstupu, zda mechanický, zvukový, nebo třeba vizuální, jak je vstup zaznamenáván, jestli diskrétně či spojitě, dle stupňů volnosti, pro koho je zařízení určeno, atd. Nejčastější a nejzákladnější je dělení na: klávesnice, polohovací zařízení, herní ovladače, zařízení snímající obraz/video a zařízení snímající zvuk. Jelikož se tato práce soustředí na vstup umožňující ovládat kurzor myši a je spjata s projektem, který je zaměřený na bezklávesnicový textový vstup, tak u takových zařízení, kde není nutné využití rukou a prstů (jako u klávesnice a myši) se zaměřím na možnosti využití jako náhrady myši či klávesnice.
2.1.1
Klávesnice
Tento druh vstupního zařízení, nejčastěji zastupován počítačovou klávesnicí, je specifický tím, že každé tlačítko nebo klávesa může být přiřazena (namapována) určitému písmenu, znaku, číslici nebo funkci (nazvěme to obecně událost). Často se u tohoto typu vyskytují tzv. modifikátory či přepínače. Ty slouží k přepínání událostí v případě, že jich je na jedné klávese/tlačítku více. U počítačové klávesnice jsou typickým příkladem takového přepínače například klávesy Caps Lock, Shift, Alt (Alternative), Ctrl (Control), Num (Numeric) Lock, . . . U notebooků je pak častá problematická klávesa Fn (Function). Počítačové klávesnice mají různá rozložení. Tradiční je rozložení QWERTY (pro české klávesnice QWERTZ). Nejdůležitějším optimalizovaným rozložením je Dvorak, které lépe odpovída četnosti použití jednotlivých znaků v anglickém jazyce, síle jednotlivých prstů, atd. Podle některých zdrojů může toto rozložení zvýšit rychlost psaní anglického textu až na 190% původní rychlosti. Nicméně vzhledem k tomu, že v mezinárodních soutěžích stále vyhrávají soutěžící používající klasické rozložení, lze o tomto tvrzení pochybovat. Některé
3
4
KAPITOLA 2. REŠERŠE
klávesnice využívají možnosti modifikátorů a snižují tak počet tlačítek třeba na polovinu. Taková klávesnice vypadá jako jedna polovina běžné klávesnice. Chybějící tlačítka má zrcadlově převrácená na ty, které obsahuje a použitím modifikátoru je možné vybírat, kterou polovinu klávesnice chce uživatel používat. Zkušení uživatelé této klávesnice dokáží dosáhnout až 88% původní rychlosti psaní na normální klávesnici. Zde je vidět, že se snižujícím se počtem tlačítek se snižuje i rychlost psaní, což je pro tuto práci velmi důležitý fakt.[1] Zvláštní druh klávesnice je keyer. Keyer se od běžné počítačové klávesnice liší svým vzhledem. Tlačítka nejsou rozložena na desce, nýbrž na takové konstrukci, která je vhodná k uchopení do jedné ruky. To činí keyer vhodným zejména do terénu, kde není možné vhodně umístit klávesnici a jeho použití je možné i za pohybu. Naopak nevýhodou je počet tlačítek, jejichž počet se pohybuje od 4 do 50. Čím větší je tento počet, tím složitější je jeho použití, protože tlačítka nemohou být umístěna pouze v přirozených polohách.
Obrázek 2.1: Ukázka keyeru (Zdroj:
2.1.2
Polohovací zařízení
Nejčastěji jsou zastoupena myší, případně touchpadem. Specifické na těchto zařízeních je to, že mají obvykle malý počet tlačítek. Nejdůležitější data jsou totiž zaznamenávána polohou zařízení a to buď vůči nějakému fyzickému povrchu, anebo dle úhlu naklonění, či odchylky vůči původní pozici. Získané a zpracované údaje se obvykle reflektují ve výstupu formou zobrazení (posun kurzoru, otáčení obrazu, . . . ) a tvoří tak velmi intuitivní a jednoduché možnosti ovládání. Speciální formou polohovacího zařízení jsou dotykové displeje a stylusy nebo světelná pera, která jsou určena k použití na speciálních obrazovkách. Pomocí polohovacích zařízení je možno za použití grafického rozhraní, či celých programů, nahradit textový vstup klávesnice. Příkladem jednoduchého grafického rozhraní je běžná virtuální klávesnice dostupná v OS Windows. A skvělým příkladem programu pro textový vstup je Dasher, kterému se věnuje sekce 2.2.2.
2.1. VSTUPNÍ ZAŘÍZENÍ
2.1.3
5
Herní ovladače
Do této kategorie spadají veškeré gamepady, joysticky, Wii ovladače a v dnešní době i celé ovládací pulty sloužící k simulaci prostředí, např. letové kabiny. Periferie jako celek se liší dle použití, tedy dle typu hry a jejich hlavní výhodou je komfort a zlepšení zážitku. Stejné je to i s počtem tlačítek, který se pohybuje od jednotek až po desítky, většinou však do dvaceti. Často obsahují, stejně jako klávesnice, přepínače, které umožňují znásobit počet přiřazených akcí. Mezi tlačítky se většinou vyskytuje jeden či více tzv. joypadů (také nazývaných d-pad), v moderní době nahrazené oblíbenějšími "analog sticks"(kontrolní páčky), které slouží jako náhrada za polohovací zařízení a umožňuje tak ovládání směrů. Výjimku tvoří ovladač Wii, který zůstal u původního cross designu a svým způsobem se dá zařadit i mezi polohovací zařízení, protože využívá data o aktuální poloze ovladače vůči senzoru. Jelikož herní ovladače jsou většinou konstruovány tak, aby se ovládaly především prsty, je zbytečné se zde rozepisovat o možnostech bezklávesnicového textového vstupu. Výjimku však tvoří NIA. NIA je původně herním ovladačem, ač neodpovídá běžným specifikacím herního ovladače. Nemá žádná tlačítka a ani standartní konstrukci. Textovému vstupu pomocí NIA se více věnuje sekce 4.3.
2.1.4
Zařízení snímající obraz/video
Tyto zařízení slouží většinou k digitalizaci obrazu či videa a k následné úschově. Patří sem tedy různé druhy skenerů, kamer, fotoaparátů, atd. Dokonce do této kategorie lze zařadit některé medicínské přístroje využívané při počítačové tomografii, magnetické rezonanci, či ultrasonografii. Avšak nejdůležitějším zařízením je z hlediska ovládání Kinect. Kinect je původně herní vstupní zařízení využívající kamery pro záznam obrazu, který je následně zpracován a interpretován jako jiné běžné herní zařízení, ale jeho využití zde pouze začalo.
Obrázek 2.2: Kinect (Zdroj: Kinect je schopen rozlišit aktuální polohu uživatele a jeho končetin, což se dá skvěle využít jako náhrada polohovacího zařízení. S tím souvisí i zastoupení klávesnice jakožto možnosti textového vstupu. Jakmile je totiž zpřístupněno polohovací zařízení, je prakticky zpřístupněn i textový vstup. Podrobněji jsou tyto možnosti rozepsány v sekci 2.2.3. Kinect není bohužel schopen rozlišovat polohu prstů a pohyby tváře. V základu neumožňuje rozpoznávání obličeje a zabudovaný mikrofon rozezná pouze hlas, nikoliv řeč. Naráz umožňuje sledovat dvě osoby, monitorovat jich dokáže až šest.
6
2.1.5
KAPITOLA 2. REŠERŠE
Zařízení snímající zvuk
Do této kategorie patří samozřejmě veškeré druhy mikrofonů, nedílnou součástí jsou ale i MIDI klávesnice. Záznam zvuku již několik let umožňuje rozpoznávání řeči a tedy i psaní textu. Tato metoda je však prozatím poněkud nepřesná a velmi citlivá na výslovnosti a intonaci, ač jsou dnes již vyvinuty takové programy, které si dokáží algoritmy pro rozpoznání přizpůsobit podle jedince, stále jsou zde jisté mezery. Nejvíce je tato metoda rozvinuta pro anglický jazyk, což je celkem logické vzhledem k tomu, že jde o celosvětový a málo ohebný jazyk. Ohebnost jazyka je v tomto případě velice důležitým faktorem, protože ovlivňuje, jak moc podobných slovních tvarů se v jazyce vyskytuje. Pro jazyky, jako je španělština nebo třeba i čeština, je tato metoda zatím "krátká". Existují ale i jiné přístupy pro textový vstup za pomoci zvuku. Například ovládání jen pomocí změny výšky tónu. Jednoduchým příkladem může být náhrada vysokého tónu za 1 a hlubokého za 0, což nám umožní psát například pomocí Morseovy abecedy nebo třeba binárně. Navíc jsou dnes již vyvinuty takové programy, které zjednodušují takovéto psaní pomocí slovníků. Náhrada kurzoru myši je podobná náhradě textového vstupu. Příkladem může být namapování hlubokého dlouhého tónu na pohyb vlevo/dolu, vysokého dlouhého tónu na pohyb vpravo/nahoru a krátké tóny lze využít pro přepínání os a klikání. V kombinaci s rozpoznáváním určitých slov lze vytvořit i komplexnější a přesto snadno ovladatelný přístup.
2.2
Textový vstup
Textový vstup je primárně zastoupen klávesnicí. Může jít o počítačovou klávesnici nebo třeba o klávesnici na mobilu, základní funkce je však stejná, umožnit uživateli zadávat písmena či slova, která budou interpretována jako text. Někdy se pro zefektivnění vstupu používají slovníky a predikce. Některé aplikace, které zpřístupňují nebo interpretují textový vstup, se i přizpůsobují uživateli a jeho potřebám. V následující části se však zaměřím na virtuální klávesnici, Dasher a Kinect.
2.2.1
Virtuální klávesnice
Použití virtuální klávesnice je asi programově nejjednodušší způsob, jak nahradit klasickou hardwarovou klávesnici. Ovládání je možné pomocí kurzoru myši nebo lze využít výběrového menu. Co se efektivity psaní týče, použití kurzoru není špatnou variantou textového vstupu. Uživatel je tak schopen napsat 60-100 znaků za minutu. To ovšem platí jen za podmínky, kdy je k ovládání použita myš. Pokud bychom chtěli tento způsob aplikovat zařízení, které by pouze zastupovalo myš, efektivita by jistě razantně klesla. V případě ovládní pomocí výběrového menu už nemusí být rozdíl tak velký, protože uživatel není nucen navigovat kurzor myši na přesná místa, ale pouze vybírá jednotlivé skupiny písmen. Princip je stejný jako u ovládání kurzoru pomocí výběrového menu, který je popsaný v sekci 4.2.2. K ovládání je třeba, stejně jako u klasického výběrového menu, pouze jedna akce.
2.2. TEXTOVÝ VSTUP
7
Vše může být umocněno pomocí využití kvalitního slovníku pro jazyk, ve kterém uživatel píše. Pokud se navíc bude slovník přizpůsobovat potřebám uživatele, vznikne vcelku komplexní, efektivní a nenáročný způsob textového vstupu. Podobných principů využívá již zmiňovaný Dasher, který je blíže popsán v následující sekci 2.2.2, ale i virtuální klávesnice ve Windows.
Obrázek 2.3: Virtuální klávesnice ve Windows 8 Stejně jako normální klávesnice, i virtuální mají různá rozložení, která mají pomoci uživateli zlepšit efektivitu psaní. Kromě tradičního rozložení je ve světě známe i rozložení OPTI. Toto rozložení je optimalizované vzhledem k faktu, že na dotykových, či normálních obrazovkách je možné najendou zacílit jen jeden bod. Nelze si tedy připravit prsty/ukazatele k úderům, které budou následovat. U běžné klávesnice není nutné problém paralelizace řešit. Použití virtuální klávesnice tento problém přináší a znovu otevírá téma optimalizace pohybu prstů (kurzoru). Podle provedených studií je teoreticky možné dosáhnout zlepšení až o 35% proti tradičnímu rozložení.[1]
2.2.2
Dasher
Dasher je grafický interface pro textový vstup, kdy není možné (nebo je nevhodné) použít klávesnici, jako je například: • ovládání počítače jednou rukou, joystickem, dotykovou obrazovkou, trackballem, myší, ... • ovládání počítače bez rukou (např. pomocí sledování pohybu očí, hlavy nebo pomocí NIA) • při použití kapesních počítačů Nezkušený uživatel dokáže pomocí Dasheru a myši psát 29 slov za minutu (zkušený uživatel 39) [2], což je srovnatelné s běžným ručním psaním. Tento program má k dispozici slovníky mnoha jazyků, které zefektivňují rychlost psaní. Dasher funguje na principu přibližování středového bodu. Uživatel zaměří bod nebo oblast, kam se chce přiblížit a výběr se potvrzuje buď ručně nebo neustále automaticky. Každá oblast je označená písmenem a barevně odlišena a oblasti, které následně tvoří slovo (věty, souvětí, atd.) jsou vnořené do sebe. Velikosti jednotlivých oblastí se odvíjejí od predikce,
8
KAPITOLA 2. REŠERŠE
která se uživateli přizpůsobuje podle toho, co a jak píše. Pravděpodobnější následující písmena zabírají větší oblast než méně pravděpodobná. Některá velice nepravděpodobná nejsou zpočátku ani vidět a je nutné se k nim nejprve přiblížit. Umístění písmene lze odhadnout, jelikož jsou řazena abecedně. Mazání textu je uskutečněno stejně jako jeho psaní, jen není třeba mířit na specifiské místo, stačí pouze vybrat oblast, která se nachází za středovým bodem.
Obrázek 2.4: Ukázka programu Dasher Možností, jak Dasher ovládat je několik. Mezi nejpoužívanější patří "Click mode", kdy bod přiblížení vybírá dle souřadnic kurzoru myši a následný výběr je uskutečněný kliknutím. Podobný mód je pak "Normal mode"nebo "Eyetracker mode", kdy se program neustále přibližuje k místu, kde se nachází kurzor (u Eyetracker modu je pak rozdíl v mazání slov). Místo akce výběru je zde akce start/stop. Důležitou možností jak Dasher ovládat je pomocí jednoho, dvou nebo čtyř tlačítek. Mód pro jedno tlačítko funguje tak, že uživatel stiskem zahájí pohyb ukazatele a po opětovném stisknutí se ukazatel zastaví a program přiblíží zacílenou oblast. Mód pro dvě tlačítka je stejný jako výběr v menu, jedno slouží pro přepínání výběru, druhé pro výběr samotný. Čtyřmi tlačítky je pak možné ovládat směr nahoru, dolu, zpět a vpřed. Prakticky všechny zmíněné módy lze namapovat k použití na NIA a je tedy jen na uživateli, který mu bude vyhovovat nejvíce. V kapitole 5 porováme tyto módy v praxi.
2.2.3
Kinect
Kinect je možné jednoduše použít jako polohovací zařízení ovládané celou paží, není tedy problém propojit toto zařízení s programem jako je například zmíněný Dasher (nebo i virtuální klávesnice) a umožnit tak relativně snadné a rychlé psaní. Velkou nevýhodou je zaznamenávání celého těla. Pro úspěšné používání Kinectu je nutné být v určité vzdálenosti od kamer (přibližně 2 metry). Dále pak ovládání kurzoru celou paží je poněkud náročnější po fyzické stránce. Pravděpodobně by nebyl problém přizpůsobit Kinect pro použití pouze na ruku a případně prsty a ovládat tak kurzor méně náročně a v menší vzdálenosti od kamer.
2.3. MYOELEKTRICKÉ SIGNÁLY
9
Obrázek 2.5: Dasher - Ovládání skrze menu
2.3
Myoelektrické signály
Myoelektrické impulzy jsou elektrické projevy činnosti nervového systému a svalů, vznikající ve velké míře hlavně v důsledku aktivity svalových vláken, tzv. kontrakce. Pro úspěšné vyprodukování takového impulzu není tedy nutné fyzicky hnout s danou částí těla, stačí pouze zatnout určité svaly. Základní metoda záznamu myoelektrických impulzů spočívá ve vyhodnocování rozdílu potenciálu mezi dvěma místy měření a tento rozdíl tvoří výsledný signál. Na místa se ukládají 2 elektrody, z nichž jedna se konvenčně nazývá aktivní (je nad více aktivní částí nervu či svalu) a druhá referenční (je nad méně elektricky aktivní oblastí). Změna napětí mezi elektrodami je pak snímána a vyhodnocována. Jestliže je oblast pod aktivní elektrodou nabita záporně, je zaznamenaná výchylka negativní, naopak pokud je nabita kladně, pak je výchylka pozitivní1 . Je-li náboj pod oběma elektrodami stejný, pak není zaznamenána žádná výchylka, tento stav je shodný se stavem klidovým. Takový stav ale prakticky nikdy nenastane, protože mezi snímacími elektrodami a zdrojem elektrických změn je tkáň, která mění charakteristiky snímaných potenciálů. Naproti tomu je lidská tkáň, která je tvořena vazivem, tuky, cévami, atd. vcelku dobrý vodič. Tyto tkáně se běžně označují jako objemové vodiče a chovají se jako vysokofrekvenční filtr. Čím větší je tedy vrstva tkáně, tím více je výsledná křivka vyhlazená. [4]
2.3.1
Myoelektrická zařízení a projekty
Myoelektrickému ovládání se věnuje mnoho studií, výzkumů a produktů. Většina z nich je však zaměřená na ovládání protéz chybějících končetin nebo jejich částí. Ač by se tato zařízení dala použít jako základ k ovládání kurzoru myši, nebo klávesnice samotné, tak jejich cena (řádově desetitisíce dolarů) převyšuje finanční možnosti běžných uživatelů, či 1
V běžné praxi se výchylky na monitorech zobrazují opačně, tedy negativní nahoru a pozitivní dolu
10
KAPITOLA 2. REŠERŠE
právě motoricky postižených, nemluvě o jejich objemnosti a nepraktičnosti. Proto bych se raději zaměřil na zařízení, která sice nenabízejí takové možnosti, jako celé protézy, ale za to jsou cenově dostupnější a praktičtější. Prvním produktem, který bych rád zmínil, je Emotiv EPOC. Emotiv EPOC je tzv. headset, připevňuje se tedy na hlavu, a k vyhodnocování spouštění namapovaných událostí využívá EEG, EMG a 2 gyroskopy. Všechny tři složky zkombinované dohromady tvoří celkový výstup. Nejedná se tedy o čistě EMG záležitost a ani ji nelze (jednoduše) separovat. Z počtu senzorů lze usuzovat, že produkt je pro měření EEG vhodnější než NIA. Běžné medicínské techniky využívají však k měření mozkových vlk senzorů mnohem více. Výjimečné na tomto zařízení je možnost rozpoznávání emocí a stavů. Produkt je k ovládání kurzoru myši vhodný, avšak hlavně díky gyroskopům, které umožňují jednoduchou interpretaci pohybů hlavy ve všech směrech.
Obrázek 2.6: Emotive EPOC (Zdroj: ) Dále bych se zmínil o výrobku jménem MYO. MYO je bezdrátový opasek, který se upevňuje na předloktí levé či pravé ruky a zaznamenává odtud myoelektrické signály, které stejně jako jiné přístroje zpracovává a odesílá do vyhodnocovacího programu. V současné době se zatím nevyrábí, ale první kusy mají opustit výrobní linky na přelomu roku 2013 a 2014. MYO je v současnosti asi veřejně nejdiskutovanějším a nejznámějším zařízením v této oblasti. Tato práce se však věnuje především produktu OCZ NIA. Toto zařízení se v květnu roku 2011 přestalo zejména kvůli nedostatečnému zájmu veřejnosti vyrábět. Důvodem byla ale i jistá nepřesnost a malá využitelnost. Základ je však stále stejný jako u slibně vypadajícího MYO. NIA je určen především pro použití na čele, je to tzv. headband. Zde dokáže díky EMG měřit svalovou tenzi žvýkacích svalů. Podle popisu zařízení měří také pomocí EOG mrkání očí či pohyb očních bulbů vlevo a vpravo. Dále pak také Alfa a Beta vlny skrze EEG. Více se NIA věnuje následující kapitola 3.
2.3. MYOELEKTRICKÉ SIGNÁLY
11
Obrázek 2.7: Opasek MYO (Zdroj: )
Obrázek 2.8: Zařízení NIA (opasek se senzory a krabička pro zpracování signálů)
Nyní si dovolím odbočit od vstupních zařízení k výzkumu. Studie z roku 2012 s názvem Design and Validation of a Myoelectric Cursor Control System for Trans-Radial Amputees se zabývá zpřístupněním kurzoru myši pro lidi s částečnou amputací ruky. V této studii experimentovali s 8-kanálovým EMG výstupem, který měřil myoelektrické signály gest ruky na dvou zdravých participantech. Senzory pro snímání impulzů byly umístěny 2-3 palce (tedy cca 5-8cm) pod loketním kloubem. Hlavním úkolem bylo ovládání kurzoru ve dvojdimenzionálním prostoru pomocí 6 gest: ulnární/radiální odchylování, pronace/supinace, zavření/otevření pěsti. Výsledkem této studie bylo, že je potenciálně možné takto ovládat kurzor myši a nahradit tak jiná polohovací zařízení. [3]
12
KAPITOLA 2. REŠERŠE
Kapitola 3
NIA 3.1
Popis zařízení
NIA byl vyvinut jako herní zařízení komunikující přes USB, které se chová podobně jako jiné herní ovladače. Jelikož jsem použil NIA poněkud netradičně, dovolím si zde popsat vzhled části, která se upevňuje na tělo. Skládá se z gumového pásku dlouhého zhruba 70cm, jehož prostřední 40cm část je zesílená a jsou na ní upevněny tři dvojice senzorů vzdálené necelý 1cm. Okraje tvoří úzké šňůrky určené k utahování kolem hlavy. Z levé strany, kde opasek zeslabuje, vede kabel, který tvoří spojení se samotným zařízením NIA. Zde se zpracovávají zachycené impulzy, které jsou zpracovány a odeslány pomocí rozhraní USB do počítače.
3.1.1
EMG
Elektromyografie funguje u NIA jako u jiných přístrojů, které měří myoelektrické impulzy. Vzhledem k tomu, jak reaguje NIA na mrkání obou očí zároveň (viz. následující sekce sec:bezneHodnoty), lze předpokládat, že jeden pár se vždy chová jako aktivní a druhý jako referenční. To by vysvětlovalo i to, proč jsou senzory v párech. Jedna elektroda slouží jako aktivní a druhá jako referenční pro protější pár. Jelikož uprostřed čela nejsou přítomny žádné svaly (nebo snad pouze okraje svalů čelních), lze se domnívat, že prostřední pár je pro měření myoelektrických impulzů využit maximálně jako referenční pár elektrod.
3.1.2
EOG
Elektrookulografie pracuje na podobném principu jako EMG a slouží k měření polohy oka (a jejich časových změn). Pohyby očních bulbů jsou snímány povrchovými elektrodami, které jsou umístěné v blízkosti oka. Pro měření horizontální polohy jsou umístěny vedle koutků obou očí a pro měření vertikální polohy zase pod a nad okem. Elektrody reagují na změny potenciálu rohovky, když je pohled upřený vlevo, rohovka se stane pozitivní a stejně tak i elektroda v blízkosti levého oka. [5] NIA nemá elektrody umístěné vedle, nad ani pod okem, nýbrž šikmo nad okem, což neodpovídá běžným EOG konvencím. Z toho by se dalo usoudit, že možná dokáže měřit jak horizontální, tak vertikální polohu. Jak se však během testování ukázalo, dokáže měřit pouze horizontálně.
13
14
KAPITOLA 3. NIA
3.1.3
EEG
Elektroencefalografie funguje na podobném principu jako elektromyografie. EEG také zaznamenává časové změny elektrického potenciálu, avšak způsobeného aktivitou mozku, nikoli svalů. Existují 4 druhy mozkových vln: Alfa, Beta, Delta a Theta. Alfa a Beta jsou aktivní v bdělosti, narozdíl od Delta a Theta. • Beta vlny mají největší frekvenci (13-30Hz) a jsou asi nejlépe vědomně "ovladatelné", jelikož výsledný signál reaguje na logicko-analytické myšlení, stres, strach, zlost, atd. • Alfa vlny (8-13Hz) jsou jakýmsi opakem Beta vln. Výsledný signál reaguje na uvolnění, vnitřní klid, zapojení představivosti a kreativní myšlení. • Theta vlny (4-8Hz) jsou zachytitelné ve stavu hlubokého uvolnění, meditace či v určitých fázích spánku. • Delta vlny (0-4Hz) se vyskytují převážně při hlubokém spánku. NIA měří mozkové vlny Alfa a Beta, které jsou asi jako jediné "vědomě ovladatelné a využitelné". Při měření těchto vln lékařskými přístroji se využívá desítek senzorů umístěných na celé lebeční klenbě. NIA je v tomto směru pozadu, jelikož využívá jen 3 páry umístěné na čele. Takové měření tedy už jen z tohoto důvodu nelze brát příliš vážně. Nicméně jsem funkčnost otestoval a přístroj občas reagoval. Beta vlny stoupaly v případě jednoduchých počtů a naopak klesaly při uvolnění. Alfa vlny reagovaly sporadicky. Podle toho, co jsem popsal v sekci 3.1.1, se lze domnívat, že pro měření mozkové aktivity slouží prostřední pár elektrod, který není zatížen myoelektrickými impulzy (případně šumem). V tomto směru se zdá lépe využitelný Emotive EPOC, který má vyšší počet senzorů a podle shlédnutých videí a přečtených recenzí opravdu reaguje. Stále je zde však problém s nutností velkého soustředění.
3.2
Rozbor přijímaných dat
Použít NIA jako vstupní zařízení lze pomocí oficiálního softwaru, který umí namapovat základní signálové projevy (zvýšení/snížení signálu, rychlé kmitání) na základní tlačítka klávesnice, práci se signálem však nedovoluje. To se pro účely této práce jeví jako nedostatečné, nehledě na to, že jde o měření biosignálů a pro správné využití a vytvoření nového kalibračního programu je třeba pochopit, jak NIA pracuje. Za použití knihovny HID USB DRIVER od Floriana Leitnera bylo zjištěno, že zařízení NIA odesílá 55 bytů dat v každém datovém packetu a těchto packetů odešle 512 každou vteřinu. Dále pak přijímá data o velikosti 9 bytů, avšak nepodařilo se zjistit, jaký účel tato data mají, protože stejně jako například USB gamepad nebo joystick začíná zařízení odesílat data automaticky a nijak nereaguje na jakýkoli výstup.
3.2. ROZBOR PŘIJÍMANÝCH DAT
15
Z pozorování vstupů lze usoudit, že datová část packetu je tvořena následovně (barevná odlišení viz. 3.1): • 48 bytů měření (modrá a filová část) • 2 byty nezjištěného účelu, které mají hodnotu vždy 56 a 189 (šedá část) • 1 byte nezjištěného účelu, který má hodnotu 109, ale občas kolísá na hodnotu 110 (šedá část) • 3 byty, které slouží jako počítadlo, z nichž první je vždy nulový (oranžová část) • 1 byte, který se pohybuje mezi 3-9 (9 modrých trojic), nejčastěji však mezi 4-5 (zelená část) 48 bytů z měření lze dále rozdělit do skupin po třech vždy po sobě jdoucích bytech. Vznikne tedy 16 vzorků dat z jednoho packetu, kde vždy poslední byte určuje počet validních vzorků.
Obrázek 3.1: Ukázka čtyř datových packetů NIA Validní vzorek se sestává z 3 bytů, těchto vzorků je v jednom packetu přesně tolik, kolik udává poslední byte datové části packetu. První byte z této trojice se mění s každým vzorkem a to velice nahodile v celém svém rozsahu (0-255), druhý byte se také mění s každým vzorkem, avšak lze vypozorovat nárůst i pokles v řádu jednotek či desítek ve spojitosti s posledním třetím bytem. Ten se mění o pouhou jednotku během několika vzorků a to právě v závislosti na bytu druhém. Když druhý byte narazí na své maximum (255), v dalším vzorku klesne a třetí byte vzroste. V opačném případě je tomu naopak, druhý byte narazí na své minimum (0), třetí byte klesne. Podle pozorování vstupů v různých situacích lze tedy říci, že celý vzorek je pouze jedno číslo o velikosti 3 byty, avšak zapsané v opačném pořadí. Tuto teorii dokládá i projekt s názvem nia-brew. Toto však platí v případě, opomineme-li fakt, že NIA měří také Alfa a Beta vlny. Výsledné číslo nestačí k tomu, aby v něm byla zaznamenána jak svalová aktivita (resp. i svalový šum) tak mozkové vlny. Nabízí se tedy tři úvahy, buď je tato teorie jen z části pravdivá a originální software od NIA získává ze zařízení ještě nějaká data, například pomocí odesílání žádostí na tato data, nebo nějak získává data o mozkové aktivitě skrze vnitřní algoritmy, nebo NIA mozkové vlny neměří. Vzhledem k tomu, že se v této práci zaměřuji
16
KAPITOLA 3. NIA
pouze na EMG, spokojil jsem se s daty, které dokáží poskytnout informace o myoelektrických impulzech.1 Pokud se tedy budeme držet osvědčené metody interpretace dat z packetu, získáme za sekundu průměrně 2560 24bitových vzorků, tedy čísel od -8388608 do 8388607, což mnohonásobně převyšuje množství potřebné ke korektnímu zpracování v reálném čase.
3.3
Interpretace dat a základní data z oblasti čelní
Jelikož jsem došel k tomu, že jediné co má spojitost s měřením a lze to z NIA extrahovat, je číslo, zvolil jsem jako základní interpretaci graf, tedy konkrétně graf jakéhosi zpracovaného signálu. Ten lze velice snadno vizuálně posoudit a lze v něm snadno najít případné datové segmenty, které by se daly přiřadit konkrétním svalovým akcím. Tento přístup je vlastně shodný s klasickým medicínským přístupem, který se běžně používá.
Obrázek 3.2: Umístění pásku se senzory na čele (Zdroj: - úmyslně byl vybrán jiný typ NIA než byl použit, aby bylo vidět, kde jsou na čele senzory umístěny)
3.3.1
Běžné hodnoty
Při pozorování grafu vzhledem k vyvolaným akcím lze říci, že se křivka chová velmi podobně, jako běžné EMG zařízení využívané například ve zdravotnictví. Nelze přesně určit, jak je snímaný signál dále zpracován hardwarem NIA, tedy jaké filtry a funkce používá pro konečný vstup. Vzhledem k tomu, že signál vypadá v běžných situacích obstojně, rozhodl jsem se, že pro základní testování nebudu používat žádné filtrování, avšak případné vlivy různých filtrů alespoň vyzkouším a rozeberu. 1 Technicky zařízení odesílá 56 bytů, ale kvůli specifikaci Windows HID drivers[6] je poslední/první byte vždy nulový, díky této skutečnosti můžeme tvrdit, že získaná data jsou zapsaná v opačném pořadí, což vysvětluje opačný zápis jednotlivých vzorků
3.3. INTERPRETACE DAT A ZÁKLADNÍ DATA Z OBLASTI ČELNÍ
17
Obrázek 3.3: Graf zachycený při mrkání střídavě levého a pravého oka
Obrázek 3.4: Graf zachycený při pohybech střídavě levého a pravého obočí Výchylky označené zeleně a modře1 v grafech 3.3, 3.4 a 3.5 jsou způsobeny různými pohyby v oblasti očí a lze je podle určitých pravidel sjednotit. Každý z grafů je v trochu jiném měřítku, aby byly výsledky dostatečně viditelné. Porovnáme-li grafy, které souvisí s měřením mrkání a pohyby obočí, tak jediným rozdílem je poměr naměřených hodnot, který je přibližně 3:1. Větší naměřené hodnoty jsou nejspíše způsobeny přímými posuny senzorů při svrašťování obočí. Ač se jedná o žádané reakce signálu, nelze tyto hodnoty pokládat za zcela korektní. U grafu č.1 je také zřejmé, že hodnoty naměřené pro levé oko, jsou znatelně menší než pro pravé. Je tedy zřejmé, že myoelektrické impulzy mohou být za stejných podmínek pro oči rozdílné. Později zjistíme, že tomu tak není pouze u očí. Na grafu 3.5 jsem hnědě zvýraznil výchylky, které se vyskytují vždy po návratu očních bulbů zpět do střední polohy. Bylo by tedy logické tvrdit, že tyto stavy jsou způsobeny zpětným pohybem očí, který je stejný, jako pohyb bulbů v opačném směru. 1
Červeně jsou označeny části grafu, které nejsou spojeny s žádnými pohyby
18
KAPITOLA 3. NIA
Obrázek 3.5: Graf zachycený při pohybech očních bulbů střídavě vlevo a vpravo s návraty do normální střední polohy
Nejlépe využitelné se tedy zdá mrkání očí, které nezpůsobuje pohyby senzorů, ani nežádoucí stavy. Navíc není nutné nijak zvlášť ovládat svaly umožňující svraštění obočí. Pohyb očních bulbů navíc způsobuje další nežádoucí efekty, jako jsou ztráta vizuálního soustředění a závratě. Mrkání obou očí zároveň nezanechává žádný specifický signál! (vysvětleno v sekci 3.1.1)
Obrázek 3.6: Graf zachycený při zatínání žvýkacích svalů Z grafů 3.6 a 3.7 je patrná oblast rychlého kmitání hodnot v rozsahu větším, než je běžný pro klidový stav. Stejně tak je zřejmé, že lépe využitelná je tenze čelisti, ze které je možno získat čistší data. Navíc při svraštění čela (neboli svraštění levého i pravého obočí ve stejný okamžik) způsobuje posuny a nadzdvihování senzorů, podobně, jak tomu bylo při svrašťování jednotlivých obočí. Nelze tedy opět jednoznačně říci, zda produkovaný signál tvoří pouze myoelektrické signály. Jako výchozí pro další postup jsem tedy zvolil takové akce, které jsou přiřaditelné v původním software pro NIA. Jedná se tedy o mrkání levého a pravého oka a tenze čelisti.
3.3. INTERPRETACE DAT A ZÁKLADNÍ DATA Z OBLASTI ČELNÍ
19
Obrázek 3.7: Graf zachycený při svrašťování čela
Obrázek 3.8: Graf zachycený při prodlouženém zavírání a otevírání levého a pravého oka
Při pokusech byly zaznamenány i další opakovatelné datové segmenty avšak spojené s mrkáním očí. Při ponechání zavřeného víčka se signál postupně ustálí a při následném otevření jsou hodnoty podobné těm, které byly naměřeny pro zavření víčka opačného. Tyto akce by se daly využít, ale pro uživatele by mohlo být obtížné a nepohodlné mít určitou dobu oko zavřené.
3.3.2
Data z různých částí těla
V průběhu vytváření a testování software jsem vyzkoušel připevnit NIA i na jiné části těla, zvláště pak na předloktí. Výsledky byly podobné těm, které byly pořízeny na čele, a proto jsem se zaměřil na použití na různých tělních oblastech. Aby bylo možno posoudit, zda je umístění senzorů vhodné pro další použití, bylo zapotřebí, aby různé pohyby invokovaly různé datové stopy. Pro určení vhodnosti jsem jednoduše vycházel z předpokladu, že z umístění na čele lze věrohodně získávat tři typy dat: zvyšování (způsobené mrkáním levého oka, či pohyby očních bulev vlevo), snižování (způsobené mrkáním pravého oka, či pohyby
20
KAPITOLA 3. NIA
očních bulev vpravo) a kmitání (způsobené čelistní tenzí). Proto, aby umístění bylo alespoň stejně přijatelné, bylo třeba, aby určité vědomé a nenáročné pohyby vyvolávaly tyto druhy dat. Tabulka ukazuje 3.1, kde všude lze NIA připevnit, aby bylo možno získávat relevantní data. Oblast
Zvyšování
Snižování
Kmitání
Čelo
Pravé mrknutí/pohyb očních bulev vpravo Uklánění krční páteře vpravo -
Zatnutí čelistních svalů
Stehno
Levé mrknutí/pohyb očních bulev vlevo Uklánění krční páteře vlevo -
Holeň Lýtko Paže
Plantární flexe nohy Různé náhodné pohyby Extenze předloktí
Dorzální flexe nohy Různé náhodné pohyby Flexe předloktí
Frontální proximální předloktí Frontální distální předloktí Dorzální proximální předloktí Dorzální distální předloktí
Extenze předloktí
Flexe předloktí
Supinace a částečně i extenze předloktí
Pronace a částečně i flexe předloktí
Zatnutí ruky
Supinace předloktí
Pronace předloktí
Zatnutí ruky
Supinace a částečně i extenze předloktí
Pronace a částečně i flexe předloktí
Zatnutí ruky
Týl
Zatnutí stehenních svalů Zatnutí lýtkových svalů Zatnutí předních pažních svalů Zatnutí ruky
Tabulka 3.1: Oblasti těla, ze kterých lze získávat data z NIA pomocí pohybů daných částí Z tabulky 3.1 vyplývá, že data na stejné úrovni jako z čela lze získávat z paže a předloktí. Vhodnější pro jakékoli použití se však jeví předloktí, protože je lépe ovladatelné. Podle získaných dat zde vzniká menší myoelektrický šum a pro kmitání je využita ruka (ačkoli jsou samozřejmě pro zatnutí ruky využity právě předloketní svaly), nikoli samotná oblast pro upevnění, což značně zjednodušuje ovládání a zamezuje nežádoucímu pohybu senzorů podobně, jak je tomu při svrašťování čela. Tento výběr je shodný s výběrem umístění opasku MYO. Opasek MYO má však senzory jak na přední, tak na zadní straně předloktí. Toto by vzhledem k počtu a rozmístění senzorů NIA dovolovaly pouze 2 paralelní kanály, tedy 2 opasky zapojené nad sebou, každý z jedné strany. Bohužel tím by se vyřešil pouze jeden problém, který tento způsob umístění má. Vzhledem k tomu, že akce, které vyvolávaly zvyšování a snižování hodnoty jdoucí z NIA na zadní straně předloktí, byly pronace a supinace předloktí, nelze vyloučit, že hodnoty nebyly zcela korektní kvůli přetáčení jednotlivých svalů. Dalším důležitým záporem je větší počet svalů a silnější vrstva tuku, která může ovlivnit (zhoršit) přenos myoelektrických signálů.
3.3. INTERPRETACE DAT A ZÁKLADNÍ DATA Z OBLASTI ČELNÍ
21
Pro další postup a testování jsem tedy zvolil frontální proximální předloketní část (dále pouze předloktí) a čelo. Z pozorování lze také usoudit, že není velký rozdíl mezi tvary výsledných signálů pohybů očních bulbů a jinými pohyby jako je např. extenze/flexe předloktí, pronace, supinace, . . . . Je to dáno tím, že se měří rozdíly svalových aktivit. Zachytí-li jeden pár senzorů (resp. jedna strana opasku) silnější impulzy než pár protilehlý, vygeneruje se výchylka. Pokud pohyb způsobují svaly právě pod jedním párem senzorů, je pohyb dostatečně jednoznačný a výsledný signál je podobný signálu pohybu očních bulbů (mrkání). Z toho vyplývá, že výsledné signály stejných pohybů se mohou lišit a budou velmi náchytlné na umístění opasku.
3.3.3
Měření dat z oblasti předního horního předloktí
Jak jsem již zmínil, jako vhodnou oblast pro upevnění NIA jsem kromě běžného umístění na čele zvolil ještě jedno a tím je frontální proximální předloktí. V této oblasti se nachází mnoho svalů, které umožňují pohyb ruky, zápěstí a předloktí samotného. Nejdůležitější zastupitelé jsou vypsáni v následující tabulce. Sval Musculus flexor carpi radialis Musculus palmaris longus Musculus flexor carpi ulnaris Musculus flexor digitorum superficialis Musculus flexor digitorum profundus Musculus flexor policis longus Musculus pronator teres Musculus extensor carpi radialis longus
Pohyb Palmární flexe (flexe zápěstí) Palmární flexe (flexe zápěstí) Palmární flexe (flexe zápěstí) Flexe prstů (kromě palce)
Flexe předloktí Flexe předloktí Flexe předloktí
Flexe prstů (kromě palce) Flexe palce Flexe předloktí Dorzální flexe (extenze zápěstí)
Extenze předloktí
Tabulka 3.2: Nejdůležitější svaly frontálního proximálního předloktí podílející se na pohybech důležitých pro získávání dat z NIA[7][8][9] Nabízí se tedy hned 5 různých akcí, které mohou vyvolat myoelektrické impulzy zachytitelné senzory na frontálním proximálním předloktí. Dle obrázku 3.9 je možné si všimnout, že flexi předloktí a tedy i palmární flexi vykonávají svaly na mediální straně předloktí a extenzi pak svaly na straně laterální. Už nyní je tedy možné předpokládat, že akce spojené se svaly, které jsou umístěné na stejné straně, vyprodukují podobně zpracované myoelektrické impulzy. Nemělo by tedy běžně docházet k tomu, co se děje u mrkání, tedy k úplné "neutralizaci"myoelektrických impulzů. Zatínání ruky umožňuje m. flexor digitorum profundus a m. flexor digitorum superficialis. Není to nic jiného, než flexe prstů. Dle obrázku B.3 je možné si všimnou umístění těchto svalů, které je mezi mediální a laterální stranou, tedy po celé šířce strany frontální. Při správném umístění senzorů by tedy tyto svaly neměly zapřičiňovat výchylky. Což podle 3.1 odpovídá, protože mají na svědomí kmitání signálu.
22
KAPITOLA 3. NIA
Obrázek 3.9: Povrchová vrstva svalů frontálního předloktí[7] (zvýrazněné svaly v tabulce)
Různé pohledy na zmíněné svaly, včetně svalu z tabulky 3.2, který nebyl uveden na obrázku 3.9, je možno nalézt v příloze B. Graf 3.10 ukazuje jak signál reaguje na extenzi a následnou flexi do počáteční polohy (pro zjednodušení nazvu tyto pohyby vratná extenze/flexe). Touto počáteční polohou je myšlen takový stav, kdy je možno provést extenzi a zároveň flexi předloktí. Nejde tedy o plně flektovanou či extendovanou polohu, ze které by uživatel nemohl další flexi či extenzi vykonat. Z grafu 3.10 je kromě rozdílné výchylky viditelný rozdíl v průběhu vratné extenze a vratné flexe předloktí. Zatímco průběh vratné extenze (znázorněna zeleně) je plynulý, vratná flexe generuje vnitřní skok. Během testování však vyšlo najevo, že se tento skok vyskytuje jen u některých uživatelů a také v závislosti na upevnění senzorů. Narozdíl od vratné extenze/flexe generuje běžná extenze/flexe mnohem strmější signál, který by stoupal do mnohem vyšších hodnot pokud by to zařízení umožňovalo. Toho lze využít v případě, kdyby zpracovaný signál nebyl správně interpretován, tedy pohybová akce by byla vykonána, ale namapovaná akce by nebyla vykonána. Uživatel může předloktí pomalými pohyby dostat do více extendované/flektované polohy bez zachycení akce a provést pak "silnější"extenzi/flexi, která už bude spíše zachycena. Nezachycení pohybové akce může být způsobeno nejem špatným, ale i záměrným nastavením, které se snaží redukovat pošet falešně pozitivních příznaků. Tenze ruky pak nabízí velmi podobná, avšak znásobená, data jako tenze čelisti. V příloze je možné shlédnou grafy supinace a supinace, které byly pro tento text nedůležité.
3.3. INTERPRETACE DAT A ZÁKLADNÍ DATA Z OBLASTI ČELNÍ
Obrázek 3.10: Graf zachycený při střídavé tzv. vratnou extenzi a vratnou flexi předloktí
Obrázek 3.11: Graf zachycený při střídavé extenzi a flexi předloktí
Obrázek 3.12: Graf zachycený při tenzi ruky
23
24
KAPITOLA 3. NIA
Obrázek 3.13: Umíštění pásku se senzory na předlotkí (zvýrazněné části = senzory)
3.4 3.4.1
Zpracování myoelektrického signálu Filtrování
V běžné praxi se při snímání elektrických dějů využívají filtry k potlačení nechtěných frekvencí a zesílení chtěných. Rozlišují se dva základní filtry - horní a dolní. Frekvence vyšší než horní filtr a nižší než dolní filtr jsou potlačeny tím více, čím je jejich odchylka vyšší. Ostatní frekvence, které jsou mezi dolním a horním filtrem jsou pak maximálně zesíleny. [4] • Příliš vysoký horní filtry vede k znásobení vysokofrekvenčního šumu. Takto tvořený filtr by se dal využít například pro zesílení tenze, která právě produkuje vysokofrekvenční kmitání. [4] • Příliš vysoký horní filtr vede k znásobení počtu vln ve vysokofrekvenčním šumu. Zaznamenáno je pak velké množství malých rychlých vlnek. Těžko lze říci, k čemu by se takový filtr dal v případě NIA použít, jelikož je většinou snaha tento jev spíše potlačit. [4] • Příliš nízký horní filtr vede naopak k vyhlazení křivky. Ostře řezané amplitudy jsou zaoblené a ztrácí amplitudu. Toho by se dalo využít pro potlačení přílišného šumu, zmírnění efektu tenze a také pro slabé zmírnění velkých výchylek. [4] • Příliš nízký dolní filtr vede k nestabilitě bazální linie křivky. Ta kolísá dle polarizace elektrod, která může být způsobena například nečistou, mastnou, nebo vlhkou pokožkou v místě, kde je přiložena elektroda. V praxi se takto takový filtr moc nepoužívá a ani zde není jeho využití příliš vhodné. [4] • Příliš vysoký dolní filtr lépe zaznamená tendence změn vln. Vlny s vyšší amplitudou jsou méně plynulé a velmi ostré. Naopak vlny s nižší amplitudou jsou plynulejší. Toho se dá využít pro rychlejší spád do normálních hodnot a zamezit tak zbytečně dlouhé prodlevě tohoto spádu. [4] Tak jak bylo popsáno, by měly filtry fungovat teoreticky. Tedy fungují tak u běžných přístrojů využívaných v EMG. Filtry jsem otestoval na NIA a i zde se teorie potvrdila až
3.4. ZPRACOVÁNÍ MYOELEKTRICKÉHO SIGNÁLU
25
na jednu výjimku. Vysoký dolní filtr totiž generoval signál opačný, než by měl být. Důvodem může být chybná knihovna použitá pro filtrování nebo jiná chyba při aplikování filtru. V textu uvedu jen pár grafů z filtrování, zbytek naleznete v příloze A. Červeně je zobrazen základní signál a zeleně pak signál filtrovaný.
Obrázek 3.14: Aplikování vysokého dolního filtru způsobuje převrácení signálu a rychlý spád do normálních hodnot v případě vysoké amplitudy
Obrázek 3.15: Nízký horní filtr vede ke zmírnění kmitání Dalším filtrem, který se běžně používá je tzv. notch filtr. Ten umožňuje potlačit jen určité frekvence, které například ruší záznam. Použití je možné v případě, chceme-li se zbavit myoelektrického šumu o určité frekvenci. Nevýhodou je však nemožnost měřit tyto frekvence. V případě NIA není třeba vyfiltrovávat šum, jelikož nemá velký vliv na funkčnost.
26
KAPITOLA 3. NIA
Obrázek 3.16: Nízký horní filtr vede také k zaoblení amplitud a ke slabému zmírnění velkých výchylek
3.4.2
Artefakty
Během vytváření a testování jsem narazil na různé typy artefaktů a v různém množství. Za špatných podmínek jich NIA produkuje mnoho a není se čemu divit. Již v úvodu jsem rozebíral nedostatky v připevnění elektrod, zde bych chtěl podobné záležitosti prozkoumat blíže. Základním typem artefaktu u EMG je elektrodový šum. Ten vzniká na kontaktu elektrody a pokožky v důsledku polarizace. Čím větší je snímací elektroda, tím menší je výsledný šum. Abychom dosáhli potlačení tohoto typu artefaktu, je nutné zajistit, aby kontakt elektrody s pokožkou byl opravdu těsný. Toho docílíme přidáním vodivého gelu, který se pomalu vstřebává a je pokud možno hypoalergení. Pro účely této práce jsem využil sonografický gel, který požadované vlastnosti má. Déle je nutné odmastit pokožku a odstranit zrohovatělou povrchovou vrstvu epidermis.[4] Dalším typem je zesilovačový šum, který způsobuje "ztluštění"bazální linie křivky. Aby bylo možné zaznamenávat slabé elektrické impulzy, je nutné je zesílit a to běžně až 100 000 krát. NIA takový zesilovač používá a dá se tedy předpokládat, že tento typ artefaktu produkuje. Potlačit se dá snížením hodnoty horního filtru.[4] Nejčastějším generátorem artefaktů je u NIA špatné uzemnění. Důsledkem je zmnožení vysokofrekvenčního šumu. Jedním způsobem, jak NIA uzemnit, je jednoduše vlastním tělem. Není to sice nejlepší způsob, ale za to velice efektivní. Dalším způsobem je například změna umístění, vypnutí okolních přístrojů, atd. Podobné následky jakou špatné uzemnění má i křížení kabelů. Aby se tomu předešlo, je nutné mít kabely vždy narovnané a tak, ať se nekříží s jinými a nedotýkají se jiných elektrických zařízení. Pohybové artefakty, o kterých jsem se zmiňoval dříve, jsou prakticky nedílnou součástí NIA, ale dá se jim vyhnout opatrným používáním, vhodnějším upevněním a také lepším soustředěním při práci. Artefakty mohou být zapříčiněny i pocením v místě upevnění elektrod. Potlačení je možné jen odmaštěním.[4] Zdrojem artefaktu může být například i stavba probíhající v okolí. Silnější otřesy mohou způsobit různé odchylky a šumy.[4]
3.5. JEDEN KANÁL VS. DVA KANÁLY
3.5
27
Jeden kanál vs. dva kanály
Vzhledem k tomu, že jsem při vypracovávání této práce měl k dispozici dvě zařízení NIA, bylo samozřejmostí, že vyzkouším ovládání pomocí obou zařízení zároveň. S jistotou lze tvrdit, že by se dalo použít i tří kanálů naráz, ale více jak čtyři si lze jen těžko představit. Použití více kanálů s sebou nese značné výhody i nevýhody, které budou shodné nebo podobné v případě použití různých přístrojů měřící myoelektrické impulzy. Tyto výhody a nevýhody se zde pokusím stručně rozebrat s ohledem na NIA.
3.5.1
Jeden kanál
Zřejmou nevýhodou je malý počet namapovatelných akcí a nemožnost kombinací. Dalo by se namítat, že lze zkombinovat tenzi a vychýlení, ale prakticky je to špatně proveditelné a zaznamenatelné vzhledem k signálu, který by pohyby generovaly. Hlavní výhodou je samozřejmě větší volnost pohybu a s tím spojená menší potřeba soustředění. Například při připevnění na obou předloktích je člověk značně imobilizován (ve smyslu snížených možností pohybu vzhledem k vyvolávání akcí). Nejedná se však o úplné znehybnění, nastaví-li se správně mapování. Tomu se dá částečně vyhnout pomocí vypínače, který bude určovat, zda je NIA aktivní či nikoliv. Jeden kanál NIA lze bez přehnaných požadavků na uživatele namapovat na přibližně 5 akcí.
3.5.2
Dva kanály
Dva kanály NIA umožňují uživateli ovládat odděleně přibližně 10 akcí a pomocí kombinací dalších cca 7 (stejné vychýlení nahoru a dolu, 2x rozdílné vychýlení, 3x stejná tenze). Je samozřejmě možné namapovat mnohem více kombinací, které by však byly složitější než základní. Nevýhodou, jak již bylo řečeno, je jistá míra znehybnění. Pokud ovšem člověk neprovádí příliš prudké pohyby, tak je možné s aktivním NIA na předloktích i normálně psát či ovládat myš.
3.5.3
Více kanálů
Počet akcí s počtem kanálů roste exponenciálně, stejně tak ale i nutná míra soustředění a imobilizace. Nicméně záleží na využití jednotlivých kanálů. Pokud například bude uživatel aktivně používat jen dva kanály a třetí bude sloužit pouze jako přepínač mezi určitými akcemi, pak je možné efektivně využít i tři a více kanálů. Co se NIA týče, čtvrtý kanál by nejspíše nebylo kam připevnit tak, aniž by to značně nenarušilo pohodlí uživatele.
28
KAPITOLA 3. NIA
Kapitola 4
NIA jako vstupní zařízení 4.1
Program pro kalibraci a mapování
Díky rozboru z kapitoly 3 lze vytvořit dostatečné programové vybavení pro kalibraci a mapování. Při vytváření tohoto celku jsem se inspiroval oficiálním software od NIA, kde si uživatel sám přístroj kalibruje a sám mapuje. Tyto možnosti jsem však díky přímému přístupu k signálu rozšířil tak, aby bylo možné namapovat jakékoli akce za jakýchkoli podmínek.
4.1.1
Kalibrace
V prvé řadě je třeba říci, že širší možnosti přináší větší komplikovanost, proto je vhodné se při nastavování držet uživatelské příručky C. Při vytváření kalibrační části jsem se držel toho, jaké pohyby by měly být namapovatelné. Kalibrace by tedy měla být schopna nastavit spouštění akcí tak, aby program jasně rozlišil velké výchylky signálu a rychlé silné kmitání. Pro kalibraci výchylek se používají dvě základní hodnoty. První je jakýsi threshold, který určuje, jak moc se signál musí vychýlit. Druhou je spádová hodnota, která říká, jak rychle musí signál klesnout nebo vzrůst. Každá výchylka může mít tyto hodnoty odlišné. Vyhodnocení velice záleží na aktuálním průměru, jelikož právě odtud se počítá celková nutná velikost výchylky. Průměr se počítá vždy z posledních několika hodnot, jejichž počet lze také přes kalibraci nastavit. Další možností jak ovlivnit zachycení výchylky programem je pauza mezi zaznamenáváním výchylek. Jakákoli výchylka (ať už nahoru nebo dolu) vygeneruje po čase výchylku opačnou. Ta sice nemusí mít takový spád, ale při horší kalibraci může být zaznamenána jako další výchylka v opačném směru. Pauza netvoří problém v užívání, protože není třeba nastavovat příliš vysokou hodnotu. Pro kalibraci zachycení kmitání se používají tři základní hodnoty. Jedna určuje, jak moc velké kmitání musí být pro zaznamenání. Druhá říká, po jakém intervalu se hodnota v případě nezvyšování sníží a třetí říka, jaký bude základ snižování. Pro lepší porozumění rozeberu detekci kmitání, čili tenze, podrobněji. Tenze je v kalibraci brána jako postupně narůstající a klesající hodnota. Uvolněné svaly při správném nastavení vykazují hodnotu 0, případně kmitají mezi 0-3. Toto kmitání je pravděpodobně způsobeno myoelektrickým šumem. Tomu se dá zabránit za cenu zvýšených
29
30
KAPITOLA 4. NIA JAKO VSTUPNÍ ZAŘÍZENÍ
nároků na detekci tenze (první hodnota), což může být u některých uživatelů nechtěné. Ve svém softwaru jsem škálu tenze definoval od 0 do 100. Uživatel by při správném nastavení měl hodnot 95-100 dosáhnout při opravdu velkém zatnutí příslušných svalů. Pokud je tato hodnota větší než 0, pak hodnota každý časový interval (druhá hodnota), kdy není zaznamenána tenze, klesá. Rychlost klesání se exponenciálně zvyšuje o daný základ (třetí hodnota) s počtem takových intervalů. Pokud se opět tenze zaznamená, rychlost klesání se vrátí na normální hodnotu. Čím větší sílu uživatel vyvine, tím větší je amplituda i rychlost kmitání a tím rychleji hodnota roste.
4.1.2
Mapování
V základu lze každému kanálu NIA namapovat pět akcí. Tři jsou přiřazeny tenzi a dvě výchylkám. Mapování znamená přiřazení události. Událost dále může mít nastavitelné parametry, které ji specifikují. Pokud program vyhodnotí, že má být událost spuštěna, tak označí příslušný spouštěč. Všechny spouštěče jsou iteračně neustále kontrolovány, pokud je některý z nich označen, spustí se daná událost a spouštěč se odoznačí. Jelikož jsou výchylky jednorázové stavy signálu, lze je využít pouze jako jenorázové spouštěče či přepínače. V mapovací části programu jim lze přiřadit jakoukoli událost (včetně parametrů této události) a specifikovat, zda se bude chovat jako přepínač, či nikoliv. Přepínač určuje, zda se bude přiřazená událost vykonávat v každé iteraci kontroly spouštěčů. Tak je možné například namapovat pohyb myši na mrkání očí. Možnost využití jako přepínače je pouze ulehčení, protože samotné jednorázové akce se mohou interně chovat jako přepínače. Jiné je to u mapování tenze. Hodnotám na stupnici vyjadřující sílu tenze lze přiřadit spouštěče. V tomto případě jsem se inspiroval originálním software od NIA, kde funguje podobný systém, kde je možno nastavit až 3 triggery. Číslo 3 se zdá velmi rozumné, protože rozlišení tří úrovní zatnutí svalů nedělá podle testů lidem problémy. Na tyto spouštěče lze namapovat akce a zajistit, kdy se akce spustí (přechod skrz spouštěč nahoru/dolu zatnutí/uvolnění) a zda po spuštění vynulují hodnotu tenze, či jestli se budou chovat jako přepínače. Je také možné nastavit opakování spouštěné akce v určitém intervalu. Důležitým prvkem je také to, že tenze může spouštět události přechodem nahoru i dolu zároveň a pro každou událost použít jiný parametr (tedy teoreticky i úplně jinou událost). Jelikož lze mapování nastavit i tak, že určité události se vyvolají při uvolnění tenze, nabízí se možnost většího pohodlí a variability. Největší výhodou je však možnost vyrušit tenzi a tím tak přeskočit akce, které by se měly vyvolat při uvolnění. Konkrétní využití je ukázáno v následující sekci 4.2.
4.2
Mapování signálu z NIA na vstupní zařízení
Ač se tato práce zabývá především zpřístupnění kurzoru myši, během testování jsem se pokusil namapovat signál i tak, aby zastupoval klávesnici, či alespoň její část (šipky, určitá tlačítka). Jak již bylo řečeno, tak lze přiřadit přibližně 5 akcí na jeden kanál NIA. Dva kanály NIA umožňují tvořit kombinace a bez příliš přehnaných nároků na uživatele tak lze namapovat dohromady přibližně 17 akcí. Pro větší přesnost a pohodlnost mohou být akce přiřazené vícenásobně. Uživatel si pak může vybrat, jaký pohyb mu vyhovuje v danou chvíli více. Například pokud je předloktí ve
4.2. MAPOVÁNÍ SIGNÁLU Z NIA NA VSTUPNÍ ZAŘÍZENÍ
31
flektované poloze, pak je vhodnější provést extenzi, než se pokoušet o další flexi. Tedy přesněji řečeno, aby uživatel s předloktím ve flektované poloze provedl další flexi, je nutno předloktí uvést do méně flektované polohy případně do polohy normální a to takovým způsobem, aby nevyvolal akci, která je přiřazena právě této extenzi. To vyžaduje velice pomalé a táhlé pohyby. Flexi a extenzi jedné ruky je tedy vhodné namapovat tak, aby uživatel této situaci vyhnul a to nejlépe tak, že oba pohyby budou provádět stejné akce anebo bude aktivní pouze jedna z nich. Snižuje se tím sice počet akcí, které mohou být namapovány, ale například pro ovládání myši je počet 17 akcí dostatečně velký na to, abychom si mohli dovolit pár akcí odebrat. Tento problém samozřejmě odpadá při použití na čele.
4.2.1
Mapování na myš
Myš lze vhodně namapovat jak na jeden kanál NIA, tak na dva. Namapování na dva kanály je samozřejmě efektivnější, tedy rychlejší a přesnější, a jednodušší na ovládání. Vzhledem k tomu, že pohyb myši vyžaduje relativně velké soustředění na kurzor, konkrétně na jeho pohyb, jako lepší varianta se jeví připevnění senzorů na předloktí, případně na předloktí a hlavu zároveň. Klasická varianta namapování je taková, že uživatel některými akcemi mění úhel, pod kterým se kurzor myši pohybuje, dalšími kurzor rozpohybuje a jinými vyvolá levý, případně pravý klik. Jeden kanál NIA se dá namapovat například tak, jak ukazuje tabulka 4.1. Pohyb Flexe předloktí Extenze předloktí Slabá tenze (při uvolnění) Střední tenze (při zatnutí) - opakování v intervalu Silná tenze (při zatnutí) - opakování v intervalu Střední tenze (při uvolnění) Silná tenze (při uvolnění)
Namapovaná akce Levý klik Pravý klik Změna úhlu o 45◦ /90◦ Pomalý pohyb kurzoru ve vybraném úhlu Rychlý pohyb kurzoru ve vybraném úhlu Vyrušení tenze Vyrušení tenze
Tabulka 4.1: Mapování jednoho kanálu NIA na předloktí pro pohyb kurzoru myši Zmíněná verze namapování může být složitá a pro někoho nevyhovující (např. pokud není detekce flexe nebo extenze předloktí u uživatele dostatečně zřejmá v signálu). Pak je možné využít některé jednodušší varianty, jako je například ta, uvedená v tabulce 4.2. Tato verze neklade velké nároky na pohyby předloktí a ve způsobu pohybu se trochu liší. Samozřejmě by bylo možné místo přepínání os využít změnu úhlu podobně jak v prvním případě a vyhnout se tak nutnému narážení na okraj obrazovky a tedy i zbytečnému pohybu. Taktéž i akce vyvolané při tenzi, lze proházet tak, aby to uživateli vyhovovalo. Pokud bychom nechtěli klást velké nároky na uživatele ve formě dlouhého a namáhavého zatínání svalů, mohl by se na slabou tenzi vytvořit přepínač, který by určoval, zda je kurzor v pohybu či nikoliv a na střední a silnou tenzi následně namapovat klikání.
32
KAPITOLA 4. NIA JAKO VSTUPNÍ ZAŘÍZENÍ
Pohyb Extenze/Flexe předloktí Slabá tenze (při uvolnění) Střední tenze (při uvolnění) Silná tenze (při zatnutí) opakování v intervalu Silná tenze (při uvolnění)
Namapovaná akce Přepnutí osy pohybu na x/y Levý klik Změna úhlu o 45◦ /90◦ + Vyrušení tenze Pohyb kurzoru po vybrané ose + V případě nárazu na okraj obrazovky otočení směru o 180◦ Vyrušení tenze
Tabulka 4.2: Méně náročné mapování jednoho kanálu NIA na předloktí pro pohyb kurzoru myši
Abych zde nezmiňoval pouze mapování na předloktí, pojďme si ukázat, jak by mohlo vypadat přiřazení akcí v případě připevnění na čele. Příklad je vidět v tabulce 4.3. Pohyb Mrknutí levého oka Mrknutí pravého oka
Slabá tenze (při uvolnění) Střední tenze (při uvolnění) Silná tenze (při uvolnění)
Namapovaná akce Započetí pohybu kurzoru po zvolené ose vlevo/dolu / ukončení pohyb kurzoru po zvolené ose vpravo/nahoru Započetí pohybu kurzoru po zvolené ose vpravo/nahoru / ukončení pohyb kurzoru po zvolené ose vlevo/dolu Přepnutí osy pohybu na x/y Levý klik + vyrušení tenze Pravý klik + vyrušení tenze
Tabulka 4.3: Mapování jednoho kanálu NIA na čele pro pohyb kurzoru myši Jak je vidět, tak přiřazené akce mohou být velmi individuální vzhledem k uživateli či situaci, ve které by bylo vstupní zařízení použito. Se dvěma kanály NIA je ovládání myši mnohem jednodušší a přesnější. Přesnější v tom smyslu, že lze přiřadit akce mnohonásobně a snížit tak míru falešně pozitivním případů spouštěných akcí. Tím jsou sníženy i nároky na uživatele, avšak nevýhodou je snížené pohodlí. Mapování dvou kanálů může být podobné mapování jednoho kanálu z tabulky 4.1. Výběr úhlu se ale nebude měnit o velkou fixní hodnotu při uvolnění tenze, ale o minimální hodnotu, která umožní volné nastavování směru. Tato změna proběhne vždy po uplynutí určitého malého intervalu (několik milisekund) v případě, že je splněna podmínka pro zachycení příslušné tenze. Podrobnosti zobrazuje tabuka 4.4. Toto mapování přináší větší přesnost a rychlost díky volitelné rychlosti a zároveň je možné provádět jednoduše dvojklik. V tomto případě není použito kombinované mapování, kde by například extenze a flexe mohly být nahrazeny slabou a silnou tenzí obou rukou naráz, případně by mohly sloužit pouze jako přepínače mezi pravým a levým tlačítkem. Možností jak akce nastavit je opravdu velké množství a platí totéž co při použití jednoho kanálu.
4.2. MAPOVÁNÍ SIGNÁLU Z NIA NA VSTUPNÍ ZAŘÍZENÍ Pohyb Slabá tenze pravé ruky - opak. v intervalu Střední tenze pravé ruky - opak. v intervalu Silná tenze pravé ruky - opak. v intervalu Slabá tenze levé ruky - opak. v intervalu Střední tenze levé ruky - opak. v intervalu Silná tenze levé ruky (při uvolnění) Extenze levého předloktí Flexe levého předloktí Extenze pravého předloktí Flexe pravého předloktí
33
Namapovaná akce Pomalý pohyb kurzoru ve směru vybraného úhlu Rychlejší pohyb kurzoru ve směru vybraného úhlu Rychlý pohyb kurzoru ve směru vybraného úhlu Malá změna úhlu (např. 10’ - 1◦ ) Velká změna úhlu (např. 1◦ - 3◦ ) Otočení směru změny úhlu Levý klik Levý dvojklik Pravý klik Pravý klik
Tabulka 4.4: Mapování dvou kanálů NIA na dvou předloktích pro pohyb kurzoru myši
Možným vylepšením, které zpohodlní ovládání, je zobrazení aktuálního směru pohybu. Pro názornou ukázku jsem zvolil krátkou barevnou čáru, která začíná na pozici kurzoru a končí o několik pixelů dále. V případě přepínání úhlů o konstantní hodnotu si uživatel nemusí pamatovat, ve které fázi se aktuálně nachází. Pokud je úhel volný, tak je to prakticky nezbytností, pokud chceme, aby uživatel ovládal kurzor efektivně.
Obrázek 4.1: Kurzor s ukazatelem směru
4.2.2
Mapování na menu
Mapování na menu si lze představit jako přiřazení alcí určitým klávesám na klávesnici. Většinou jde o klávesy 0-9, či šipky. Výběr pak může být realizován pomocí mezerníku nebo enteru. Možná se ptáte, k čemu je mapování na menu vlastně dobré. Většina lidí si asi menu představí jako součást nějakého komplexnějšího programu. Příkladem mohou být MS Office, kde uživatel přes menu nastavuje vlastnosti dokumentu a textu. Určitě lze NIA namapovat tak, ať například vykonává některé časté akce "za nás", ale hlavním způsobem využití namapování na menu je ovládání celého "programu". Proč "program"v uvozovkách? Nemusí jít totiž vysloveně o program jako takový, ale spíše o mezivrstvu, která za uživatele vykoná běžné akce.
34
KAPITOLA 4. NIA JAKO VSTUPNÍ ZAŘÍZENÍ
Obrázek 4.2: Mapování na menu umožňující výběr oblasti pro pohyb kurzoru (jedna z možností) Skvělým příkladem může být Dasher, kde pomocí výběru z tlačítek (menu) určujete, kam se kurzor programu pohne dále a tak je možno psát text. Dalším příkladem, který je vzhledem k této práci velice důležitý, je výběr oblasti, kam se pohne kurzor myši. Obrázek 4.2 Ilustruje, jak by tato situace mohla vypadat. Obrazovka se rozdělí na několik částí, ze kterých uživatel vybere takovou, která obsahuje oblast, kam se chce s myší pohnout. Následně se vybraná oblast znovu rozdělí na stejný (nebo i jiný) počet částí a vše se opakuje. Jakmile bude uživatel s výběrem hotov, ukončí výběr a provede třeba klik. Uveďme si příklady mapování pro připevnění na předloktí a hlavě s jedním a dvěma kanály. Pohyb Slabá tenze (při uvolnění) - ve výběru Střední tenze (při uvolnění) - ve výběru Silná tenze (při uvolnění) - ve výběru Extenze předloktí Flexe předloktí Slabá tenze (při uvolnění) - mimo výběr Střední tenze (při uvolnění) - mimo výběr Silná tenze (při uvolnění) - mimo výběr
Namapovaná akce Další výběr v menu Předchozí výběr v menu + Vyrušení tenze ve výběru Zpět (zruší poslední výběr) + Vyrušení tenze Zvolit výběr / Zahájení výběru Ukončení výběru Levý klik Pravý klik + Vyrušení tenze Levý dvojklik + Vyrušení tenze
Tabulka 4.5: Mapování jednoho kanálu NIA na předloktí pro ovládání menu Jak je vidět v tabulce 4.5, jeden kanál umožňuje celkem jednoduché použití a to dokonce s prvkem dvojkliku. Jasnou výhodou tohoto mapování je možnost oddělit "pohyb"v menu a následné akce, kde jako přepínač slouží pohyby předloktí. Nevýhodou je určitě rychlost v případě, chce-li uživatel vybrat malou oblast. V tabulce 4.6 je vidět, že flexe ani extenze předloktí není využita a k ovládání menu nám stačí pouze tenze obou rukou. Nevyužitým pohybům se dají přiřadit přepínače nebo jiné speciální akce, které uživatel uzná za vhodné. To, že jsou k ovládání využity pouze tenze, je velmi velká výhoda, protože to poskytuje oproti ostatním mapováním značné pohodlí pro
4.2. MAPOVÁNÍ SIGNÁLU Z NIA NA VSTUPNÍ ZAŘÍZENÍ
Pohyb Slabá tenze levé ruky (při uvolnění) - ve výběru Střední tenze levé ruky (při uvolnění) - ve výběru Silná tenze levé ruky (při uvolnění) - ve výběru Slabá tenze pravé ruky (při uvolnění) - ve výběru Střední tenze pravé ruky (při uvolnění) - ve výběru Silná tenze pravé ruky (při uvolnění) - ve výběru Slabá tenze obou rukou (při uvolnění) Střední tenze levé ruky (při uvolnění) - mimo výběr Silná tenze levé ruky (při uvolnění) - mimo výběr Střední tenze pravé ruky (při uvolnění) - mimo výběr Silná tenze pravé ruky (při uvolnění) - mimo výběr
Namapovaná akce Další výběr v menu Další výběr v menu + Vyrušení tenze Zpět (zruší poslední výběr) + Vyrušení tenze Zvolit výběr Předchozí výběr v menu + Vyrušení tenze Zpět (zruší poslední výběr) + Vyrušení tenze Ukončení / Zahájení výběru Levý klik + Vyrušení tenze Levý dvojklik + vyrušení tenze Pravý klik + Vyrušení tenze Prostřední klik + Vyrušení tenze
Tabulka 4.6: Mapování dvou kanálů NIA na dvou předloktích pro ovládání menu
35
36
KAPITOLA 4. NIA JAKO VSTUPNÍ ZAŘÍZENÍ
Pohyb Levé mrknutí - ve výběru - ve výběru Pravé mrknutí - ve výběru Slabá tenze čelisti (při uvolnění) - ve výběru Silná tenze čelisti (při uvolnění) Levé mrknutí - mimo výběr Pravé mrknutí - mimo výběr Slabá tenze čelisti - mimo výběr Střední tenze levé ruky (při uvolnění) - mimo výběr Silná tenze levé ruky (při uvolnění) - mimo výběr Střední tenze pravé ruky (při uvolnění) - mimo výběr Silná tenze pravé ruky (při uvolnění) - mimo výběr
Namapovaná akce Předchozí výběr v menu Další výběr v menu Zvolit výběr Ukončení / Zahájení výběru + Vyrušení tenze Levý klik Pravý klik Levý dvojklik Levý klik + Vyrušení tenze Levý dvojklik + vyrušení tenze Pravý klik + Vyrušení tenze Prostřední klik + Vyrušení tenze
Tabulka 4.7: Mapování jednoho kanálů NIA na čele pro ovládání menu
uživatele a snižuje to nároky nutné k ovládání. Navíc je k dispozici i přostřední tlačítko, které může sloužit jako přepínač mezi dalšími akcemi. Mapování, které je popsané v tabulce 4.7, je, vzhledem k použití jednoho kanálu, nenáročné na uživatele a poskytuje plné možnosti ovládání kurzoru včetně dvojkliku. K ovládání menu však mnohdy stačí pouze jedna akce, tou je výběr. Přepínání mezi výběry může být automatické, to znamená, že se na konci určitého intervalu přepne výběr. Tento interval může být fixní nebo se může přizpůsobovat potřebám uživatele. Pokud uživatel vybere výběr rychle, interval se zkrátí, pokud proběhne iterace mezi všemi výběry a uživatel žádný nevybere, interval se prodlouží. Tento interval by měl být omezený minimem a maximem, aby nedocházelo ke zbytečně dlouhým nebo naopak velmi krátkým pauzám, mezi jednotlivými výběry. Se zvyšujícím se počtem akcí (návrat zpět, ovládání rychlosti přepínání, atd.) se zvyšuje efektivita a pohodlnost. Stejně tak se ale zvyšují i nároky na uživatele. Mapování NIA na menu tedy poskytuje vcelku jednoduché ovládání s větší škálou možností za cenu menší přesnosti či rychlosti.
4.2.3
Mapování na hru
Vstupní zařízení na bázi myoelektrických impulzů lze využít také přímo k zábavě. Může jít o hry, které jsou pro taková zařízení dělané nebo prakticky jakékoli jiné. NIA samotná se prezentovala výhradně jako herní ovladač, který má pomoci uživateli zrychlit jeho reflexi a ulehčit rukám v ovládání. Už na začátku je ale nutné říci, že využívání obecně všech biosignálů jako formy k ovládání vstupního zařízení, není zrovna nejspolehlivější. Nabízí se
4.3. TEXTOVÝ VSTUP
37
tedy otázka, k jakým hrám je vlastně takový druh ovládání vhodný. Jsou to akční hry? Nebo to jsou spíše naopak adventury? Pokud bychom se měli držet původního záměru, tak to budou takové hry, kde jsou užitečné rychlé reflexy, tedy akční hry. Na druhou stranu, v akčních hrách znamená jedna špatná akce, která může být vyvolána nechtěně, mnoho. Naopak v pomalejších hrách není třeba příliš rychlých reflexů a nechtěně vyvolané akce se dají často snadno vrátit. K hraní her je také často třeba mnoho ovládacích prvků a NIA ani jiné podobné zařízení zde nemusí stačit k tomu, aby šla hra plně ovládat. Zde se tedy nabízí hry s jednodušším ovládáním, jako jsou hry závodní, plošinovky, atp. Dá se tedy říci, že takováto vstupní zařízení mohou sloužit spíše ke zpestření zábavy při hraní her nebo přímo k ovládání her k tomu určených.
4.3
Textový vstup
Jelikož nelze namapovat všechna písmena, číslice a znaky na přístroj, je nutné pro textový vstup využít jakousi komunikační mezivrstvu. Tou může být například pro tuto práci typický kurzor myši nebo výběrové menu. Obě tyto vrstvy umožňuje použít podle 2.2 jak běžná virtuální klávesnice, tak Dasher. Podle 4.2.1 a 4.2.2 je ovládání těchto mezivrstev možné pomocí myoelektrických signálů (konkrétně skrze NIA). Dasher navíc obsahuje spousty dalších módů (mezivrstev), které mohou být použity ve spolupráci s myoelektrickými signály. V následující kapitole 5 rozeberu, které jsou vhodnější a proč.
38
KAPITOLA 4. NIA JAKO VSTUPNÍ ZAŘÍZENÍ
Kapitola 5
Testování V testování jsem se zaměřil především na spolehlivost vstupu z NIA. Zároveň jsem zkoumal i pocity uživatelů při používání a reakce na obtížnost kalibrace. Otestováno bylo sedm participantů, z nichž dva se podíleli na širších testech v oblasti ovládání kurzoru myši a textového vstupu. Tito dva participanti se dají považovat za pokročilejší uživatele NIA, protože měli již před testy zkušenosti s tímto vstupním zařízením. Celé testování jsem vedl osobně a sám.
5.1
Sestavení testů a průběh
Základní testy pěti participantů, kteří se neúčastnili dalšího testování proběhly v jeden den v čase od 8:30 do 17:30. Testování jednoho uživatele bylo odhadováno na 1 hodinu a 30 minut a participanti byli otestování samostatně. Prvních 15 minut bylo věnováno vyplnění dotazníku a seznámení s přístrojem. Participantům bylo vysvětleno jak bude testování probíhat a jak s NIA zacházet pro generování určitých signálů (participantům tedy byla vysvětlena spojitost signálu a pohybových akcí). Dalších 30-45 minut bylo věnováno kalibraci. Participanta jsem vyzýval k vykonávání pohybů, podle kterých bylo možné přístroj zkalibrovat za pomoci grafů a ukazatelů. Pokud to bylo možné, bylo otestováno připojení na čele a předloktí (zvlášť - byl tedy použit vždy jen jeden kanál NIA). Zbylý čas byl věnován testování. Testovací i čekací místnost, ve kterých participanti strávili minimálně 30 minut před samotným testováním, měli pokojovou teplotu 23-24◦ C1 . Pro testování na předloktí byl využit sonografický gel ve vrstvě přibližně 1-2mm. Testování zbylých dvou participantů proběhlo za podobných podmínek. Testování probíhalo v rámci programu, který uživateli dával signály, jaké akce má vykonat. Akcí bylo vždy pět, stejně jako je počet možných namapovaných událostí. Program v průběhu testu zapisoval všechny spuštěné události. Pokud byla událost spojena s akcí, kterou měl participant vykonat, akce se uznala, provedl se zápis do logu a program se přesunul na další. Pokud byla událost spojena s jinou (chybnou) akcí, kterou program zaznamenal, provedl se pouze zápis do logu. Výsledný log obsahoval tedy všechny akce, které 1
Teplota povrchu kůže může mít vliv na záznam myoelektrických impulzů.[4]
39
40
KAPITOLA 5. TESTOVÁNÍ
byly programem zachyceny ve formátu - žádaná akce, provedená akce, úspěch/neúspěch, čas v milisekundách od poslední úspěšné akce. Některé testy proběhly s přímou viditelnou odezvou a některé prakticky zcela bez odezvy (kromě přesunu k další akci). Přímou viditelnou odezvou se myslí ukazatel síly tenze a křivka signálu v grafu.
Obrázek 5.1: Program pro testování akcí a událostí (rozsvícená slabá tenze pravé ruky)
Pro zajímavost byl u některých participantů proveden test na "opisování"síly tenze. Participanti měli za úkol opsat zobrazenou křivku v čase v grafu za pomoci tenze. Hodnoty v grafu byly stejné, jako hodnoty, které měří program při vyhodnocování tenze (tedy 0-100). Tyto testy byly vyhodnoceny pouze z grafického pohledu.
Obrázek 5.2: Program pro testování tenze
5.2. VÝBĚR A POPIS PARTICIPANTŮ
41
Dva zmínění zkušení participanti podstoupili kromě již zmíněných testů ještě test ovládání myši a psaní v Dasheru. Test ovládání myši probíhal ve vytvořeném programu a spočíval v navigaci kurzoru myši nad zvýrazněný objekt, kde bylo nutné kliknout pro zobrazení dalšího objektu. Aby test nebyl příliš náročný, bylo v každém testu pouze 10-20 objektů, které byly přiměřené velké (šířka i výška objektu byla vždy minimálně 5-10% šířky obrazovky). V tomto testu se měřila rychlost mezi zobrazením jednotlivých objektů a vzdálenost, kterou kurzor urazil. Ke každému takovému záznamu byla připsána minimální vzdálenost, kterou se participant mohl dostat k objektu. Otestovány byly dva druhy ovládání kurzoru: pomocí volné a pevné rotace. Pro Dasher bylo vytvořeno speciální mapování, které umožňuje především ovládat Dasher, nikoli pohybovat myší. Ozkoušeny byly dvě metody: pomocí myši a pomocí menu. Ovládání myší bylo namapováno podobně, jako klasické ovládání myši a menu z tabulek 4.4 a 4.6. Jediným rozdílem bylo přeskupení akcí. V tomto testu se měřila rychlost psaní textu a chybovost. Rád bych upozornil, že testy byly prováděny především za účelem zjištění, zda-li je možné NIA (tedy i EMG) možné využít jako vstupní zařízení. Případnou výslednou efektivitu a spolehlivost prosím berte spíše jako nejhorší možný případ, jelikož software i kalibraci lze značně vylepšit.
5.2
Výběr a popis participantů
Participanti byli vybráni tak, aby testování ukázalo, zda je použití NIA vůbec možné a reálné. Účastnili se 4 muži a 3 ženy, leváci i praváci. Předpokládal jsem, že na testy by mohly mít vliv zkušenosti jednotlivých participantů, proto byli vybráni tací participanti, kteří mají různé zkušenosti se vstupními zařízeními jako jsou gamepady, joysticky, touchpady, apod. Stejně tak čas strávený týdně u počítačů se různil. Participant s číslem 1 byl muž ve věku 21 let s dominancí pravé ruky, který běžně používá základní vstupní zařízení a má velké zkušenosti v oblasti počítačů. Testování probíhalo na pravém předloktí a čele. Během testů se ukázalo, že participant nedokáže samostatně zavřít pravé oko, jelikož je zvyklý přivírat levé při zaostřování. Zhoršené výsledky byly nejspíše zapříčiněny faktem, že se jednalo o pilotní testy. Taktéž se příliš nepodařila kalibrace na pravé oko. Data získaná od tohoto participanta jsem nicméně začlenil do celkových výsledků. Participant s číslem 2 byl muž ve věku 22 let s dominancí pravé ruky, který běžně používá základní vstupní zařízení a gamepad a má velké zkušenosti v oblasti počítačů. Bylo provedeno testování na pravém předloktí a čele. Participant s číslem 3 byla žena ve věku 21 let s dominancí levé ruky zřídkakdy, avšak dlouhodobě, používající počítač (tedy i vstupní zařízení). Testování bylo provedeno pouze na levém předloktí, jelikož participant nebyl schopen mrkat odděleně levým a pravým okem. Dále se nepodařilo správně nakalibrovat přístroj na extenzi předloktí, proto byl tento pohyb z testů vyřazen.
42
KAPITOLA 5. TESTOVÁNÍ
Participant s číslem 4 byla žena ve věku 21let s dominancí levé ruky prakticky nevyužívající počítačové vstupní zařízení. Testování proběhlo pouze na levém předloktí, jelikož se nepodařilo přístroj nakalibrovat. Navíc se přístroj během testu porouchal a bylo nutné ho opravit. Z toho důvodu byly provedeny testy pouze na tenzi ruky. Participant s číslem 5 byla žena ve věku 21 let s dominancí pravé ruky denně využívající počítač. Participant se účastnil rozsáhlejších testů, jelikož participant byl již dříve s NIA obeznámen a vyzkoušel si jeho funkčnost. Participant s číslem 6 byl muž ve věku 21 let s dominancí pravé ruky, který běžně využívá, mimo základních vstupních zařízení, i herní vstupní zařízení. Participant s číslem 7 byl muž ve věku 22 let s dominancí pravé ruky, který několik hodin denně využívá počítač i základní vstupní zařízení. Participant se účastnil rozsáhlejších testů, jelikož jde o občasného uživatele NIA.
5.3 5.3.1
Výsledky testů Výsledky spolehlivosti
Testování bylo vyhodnoceno podle úspěšnosti zachycených akcí, zvlášť na čele a zvlášť na předloktí, a to buď celkově nebo pouze v rámci tenze nebo pouze v rámci mrkání/pohybů předloktí. Výsledky byly ještě rozděleny do dvou skupin dle zkušeností participantů s NIA a podle toho, zda participant viděl ukazatel hodnoty tenze a graf signálu (tedy s odezvou a bez odezvy). Participati 1, 2, 3, 4, 6 byli zařazeni do kategorie nezkušení a participanti 5 a 7 do kategorie zkušení. U zkušených participantů byla provedena důkladnější kalibrace.
120% 100% 80%
Všichni
60%
Nezkušení 40%
Zkušení
20%
0% Vše celkem
Vše s odezvou
Vše bez odezvy
Tenze celkem
Tenze s odezvou
Tenze bez odezvy
Mrkání celkem
Mrkání s odezvou
Mrkání bez odezvy
Obrázek 5.3: Graf výsledků testování při upevnění na čele
5.3. VÝSLEDKY TESTŮ
43
120% 100% 80% Všichni
60%
Nezkušení
40%
Zkušení
20% 0% Vše celkem
Vše s odezvou
Vše bez odezvy
Tenze celkem
Tenze s odezvou
Tenze bez odezvy
Pohyby celkem
Pohyby s Pohyby bez odezvou odezvy
Obrázek 5.4: Graf výsledků testování při upevnění na předloktí Celkově lze říci, že spolehlivost neklesla pod 60%. Tedy minimálně 60% zachycených akcí bylo zachyceno správně. Zde je nutné připomenout, že u kategorie "Nezkušení"došlo pouze k rychlé kalibraci, která mohla zapříčinit zhoršení výsledků. Spolehlivost u připevnění na čele neklesla pod 71%, je tedy vidět, že NIA není primárně určena k použití na předloktí. Celková úspěšnost byla 84.5% ±7.8% u připevnění na čele a 69.5% ±20.3% u předloktí. Velký rozdíl se ukázal mezi daty, které byly pořízeny s odezvou a bez odezvy. Pokud měli participanté k dispozici ukazatel tenze a graf, neklesla spolehlivost při připevnění na předloktí pod 64% na čele pod 79%. Celkově byla úspěšnost s odezvou u čela 86.6% ±8.7%, bez odezvy 80.3% ±4.9% a u předloktí 77.9% ±12% s odezvou a 61% ±10.9% bez odezvy. Dále se ukázalo, že ukazatel tenze je mnohem důležitější, než graf signálu, který nezasvěcenému participantovi indikuje pouze stav uklidnění/vzruchu. Rozdíl mezi spolehlivostí bez a s odezvou v rámci tenze byly až 15%, zatímco u pohybů předloktí (mrkání) nebyly rozdíly patrné. Tato data částečně podporuje výsledek pozorování u opisování síly tenze. Pokud uživatel viděl křivku, která znázorňovala tenzi, kterou má vyvinout a křivku, která znázorňovala uživatelovu aktuální tenzi, nebyl problém první křivku druhou opsat. Velký rozdíl ve výsledcích byl i mezi skupinami participantů, tedy mezi "zkušenými"a "nezkušenými". Spolehlivost s viditelnou odezvou u zkušených participantů neklesla u připevnění na čele pod 89% a u předloktí pod 92%. Na čele to bylo konkrétně 92.6% ±2.8% s odezvou, 78.2% ±5.5% bez odezvy a 92.5% ±2.3% s odezvou a 85.7% ±2.3% bez odezvy na předloktí. U výsledků je také relevantní, čím bylo snížení spolehlivosti zapříčiněno. Konkrétněji, které akce byly zaznamenány místo správných a jaké byly ty správné. To je důležité především vzhledem k tomu, že v určitých mapováních síla stisku ovlivňuje rychlost pohybu kurzoru myši. Pokud by tedy žádaná akce byla střední tenze ruky a signál by byl interpretován jako silná tenze, nemělo by to velký dopad na vstup. Dalším důvodem, proč je třeba na chyby mezi různými tenzemi pohlížet zvlášť, je fakt, že testy byly prováděny na třech odlišných stupních tenze. Rozdíl mezi třemi a dvěma stupni síly tenze je velký. Jde o to, že v případě střední tenze je nutné se intenzitou a délkou stisku trefit do určitého intervalu
44
KAPITOLA 5. TESTOVÁNÍ
mezi slabou a silnou tenzí. V případě rozlišování dvou sil tenzí tento problém prakticky odpadá, protože se snažíme strefit do dvou otevřených1 intervalů. Podobně by šlo nahlížet i na silnou tenzi zaznamenanou jako výchylky. Tomuto chování se sice dá částečně zabránit lepší kalibrací a určitě i lepším zpracováním signálu, ale důvod proč má toto chování vztah k rozlišování tří sil tenze je ten, že při silné tenzi dochází k velkému vzruchu, který občas generuje také výchylky (konkrétně je to v 50-60% případů chybně vyhodnocené silné tenze). Kdyby byla silná tenze vynechána, tento problém prakticky odpadá. Chyby způsobené záměnou tenze tvoří majoritní část celkových chyb u tenzí. U předloktí je to cca 52% a u čela cca 80%.
5.3.2
Výsledky použitelnosti
Jelikož testování probíhalo pouze na dvou vybraných participantech, sebraná data nejsou příliš relevantní. V této části testů jsem se zaměřil spíše na možnost použití, než-li na efektivitu samotnou. Testování se týkalo ovládání kurzoru myši a psaní v Dasheru pomocí "Normal mode"a "Menu mode". Ovládání kurzoru se ukázalo jako možné a efektivní. Uživatel je schopen se se v prostoru pohybovat rychlostí kolem 63px/s2 , v rámci efektivního pohybu3 je to pak 43px/s. Rychlost je samozřejmě závislá na nastavené rychlosti pohybu, uvedené hodnoty jsou počítány z průměrně rychlého pohybu (cca 200-250px/s). Průměrný čas na zacílení různě velkých objektů a následný klik je 11.8s ±2.1s a efektivita pohybu je 69% ±12%. Při psaní pomocí kurzoru myši v Dasheru za použití módu Normal/Eyetrack vzniká problém ve spojení se soustředěním. V případě Click mode je pro rychlé a efektivní psaní třeba velká přesnost. Menu mode (případně Compass mode - využití navigace do 4 směrů) se v tomto případě jeví jako dobrý kompromis, jelikož odpadá nutnost soustředění a přesnost za uživatele řeší oblasti, které uživatel vybírá. Vše je spojeno také s počtem chyb provedených během psaní. Pokud má uživatel dostatek času na rozmyšlení, je chybovost prakticky nulová, zatímco když je vystaven nutnosti neustále se soustředit na pohybující se kurzor, chybovost psaní se zvyšuje. Pozorování také ukázalo, že pokud je uživatel pod časovým tlakem, tak přístroj samotný generuje více chyb, jelikož uživatel neprovádí pohyby dokonale a v příliš krátkých intervalech. Průměrná rychlost včetně oprav u ovládání kurzorem myši byla 16 znaků za minutu, použitím výběrového menu klesla chybovost, tudíž se zvýšila výsledná rychlost, která byla 22 znaků za minutu. Závěr testování použitelnosti je, že je možné ovládat kurzor myši dostatečně rychle, nicméně psaní pomocí kurzoru není příliš vhodné. Jako efektivnější se jeví výběrové menu. Lze tedy předpokládat, že i podobné metody (například binární psaní, navigace do 4 směrů, atd.) budou podobně efektivní. 1
První interval sice není otevřený, protože je omezený 0, ale zaznamenat slabou tenzi je při správném nastavení mnohem jednodušší, než střední nebo silnou. 2 Hodnoty jsou uvedeny v pixelech, protože záleží na rozlišení obrazovky, která je použita. 3 Efektivním pohybem je myšlen pohyb z bodu A do bodu B přímou spojnicí
5.4. ZÁVĚR Z TESTOVÁNÍ
5.3.3
45
Reakce participantů
Zde si dovolím napsat pouze sjednocený výčet reakcí participantů na použití NIA. • Při použití na čele je nutné relativně velké soustředění a nelze při tom například mluvit. • Při použití na předloktí lze normálně mluvit a není třeba velké soustředění. • Každému z participantů se mrkalo lépe vždy levým nebo pravým okem. • Ukazatel hodnoty tenze velice pomáhá, graf není tak důležitý, stačil by ukazatel, zda je signál v normálu (kolem 0). • Ruka po častém zatínání bolí. • I malé pohyby při připevnění na čele způsobují spuštění událostí. • Zatínání v pěst je jednodušší, než zatínání čelisti. • Z častého zatínání čelisti bolí po čase zuby. • Paže po častých pohybech předloktí bolí. • Pohodlí při použítí na předloktí je menší, ruce musí být v určité pozici. • Jsou nutné vyšší a měkké opěrky pro zvýšení pohodlí. • Dokáži si představit, že bych při připevnění na předloktí zařízení využíval. U čela by to bylo horší. • Při častém mrkání slzí oči (je nutné neustále ostřit na obrazovku).
5.4
Závěr z testování
Závěrem lze říci, že celé testování proběhlo úspěšně. V případě zkušenějších uživatelů a za předpokladu vhodného namapování lze NIA využívat jako spolehlivé vstupní EMG zařízení. Nevýhodou je však nutnost časově náročnější kalibrace a individuálního přístupu. Tyto nedostatky by mohly být častečně odstraněny vhodnějším vstupním zařízením, které by bylo například konstruované přímo na předloktí. Co se textového vstupu týče, zde se zdá vhodnější využít mapování na klávesy, než-li na myš. Ovládání myši jako takové sice možné je, ale už samotné psaní pomocí myši není nejjednodušší záležitostí, co se ovládání týče. Využití některých z klávesových módů Dasheru se jevilo jako vhodnější, jelikož se nabízel větší komfort a nenáročnost.
46
KAPITOLA 5. TESTOVÁNÍ
Kapitola 6
Závěr EMG je známa již několik desetiletí a počítače jsou již několik let každodenně používaným přístrojem většiny moderní populace, přesto dosud neexistuje žádné veřejně známé, spolehlivě a jednoduše využitelné počítačové vstupní zařízení na bázi EMG. Natož takové, které by podporovalo textový vstup. Pravděpodobně je to způsobeno malým a pozdním zájmem o takto propojené technologie. Dalo by se tedy říci, že vývoj je teprve na počátku, jelikož se neustále provádí výzkumy na toto téma. Nicméně zadání této práce bylo umožnit ovládání myši a psaní textu pomocí myoelektrických signálů. Toho se podařilo docílit, avšak tato práce se věnovala i problémům spojených s EMG a textovým vstupem jako takovým. Pro aplikaci jsem vytvořil kalibrační a mapovací nástroje. Taktéž pro testování byly využity mnou vytvořené testovací programy, které umožnily zkoumat spolehlivost a efektivitu použitého vstupního zařízení. Zde se ukázalo, že je třeba správného nastavení a praxe v použití přístroje. Doufám, že tato práce a její výsledky alespoň trochu pomohou s výzkumem a vývojem v oblasti interakce člověka s počítačem skrze lidské bio-signály.
47
48
KAPITOLA 6. ZÁVĚR
Příloha A
Grafy
Obrázek A.1: Nízký dolní filtr - kolísání dle polarizace elektrod (červeně základní signál, zeleně vyfiltrovaný
49
50
PŘÍLOHA A. GRAFY
Obrázek A.2: Nízký horní filtr - vyhlazení záznamu, zaoblení ostrých hran (červeně základní signál, zeleně vyfiltrovaný
Obrázek A.3: Výsoký horní filtr - Zesílení amplitud (červeně základní signál, zeleně vyfiltrovaný
Obrázek A.4: Výsoký horní filtr - Zmnožení vysokofrekvenčního šumu (červeně základní signál, zeleně vyfiltrovaný
51
52
PŘÍLOHA B. SVALY PŘEDLOKTÍ
Příloha B
Svaly předloktí
Obrázek B.1: Přímý pohled na tři nejdůležitější svaly umožňující palmární flexi a flexi předloktí[7]
53
Obrázek B.2: Přímý pohled na m. pronator teres, který se podílí na flexi předloktí a pronaci předloktí, vidět je také m. supinator, který zajišťuje supinaci předloktí[7]
54
PŘÍLOHA B. SVALY PŘEDLOKTÍ
Obrázek B.3: Detailní pohled na flexory prstů, které umožnují zatnutí v pěst[7]
Příloha C
Uživatelská příručka V této příloze je podrobně popsáno, jak správně nakalibrovat a namapovat přístroj NIA pomocí vytvořených programů. Poslední sekce se pak věnuje použití testovacích programů, které jsem vytvořil.
C.1
Program
Ovládání hlavní části programu je jednoduché. Pomocí spínače "Connect/Disconnect NIA"se program pokusí nalézt zapojené zařízení NIA a pro kalibraci a mapování využije zvolený konfigurační soubor. Konfigurační soubory je možné mazat a přidávat pomocí záložky "Config"v menu. Tlačítko "Run/Stop"slouží k zapnutí/vypnutí přijímaní dat z přístroje. "Show/Hide Graph"zobrazí nebo skryje zobzraneí signálu v grafu a "Show/Hide Calibration"zobrazí nebo skryje nastavení kalibrace a mapování.
Obrázek C.1: Hlavní okno programu pro připojení, kalibraci a mapování
55
56
PŘÍLOHA C. UŽIVATELSKÁ PŘÍRUČKA
C.2
Kalibrace
V prvé řadě je třeba popsat okna, která se pro kalibraci využívají.
Obrázek C.2: Okno s grafem aktuálního stavu signálu První okno slouží pro zobrazení aktuálního stavu signálu. Signál je možno přiblížit podle osy y pomocí posuvníku. Dále je možno vybrat konkrétní zobrazenou oblast, která bude přiblížena pomocí levého kliku myši a následného tahu. V tabulce se zobrazují zaznamenané hodnoty včetně čísla snímku a iterace. Signál se pohybuje vždy od bodu 0 na ose x do hodnoty 1000 (jedna iterace), pak dle nastavení buď celý zmizí nebo začne znovu navazovat v bodu 0. Toto nastevení se mění pomocí volby "Line continuity". Dále je možno zobrazit osy znázorňující potřebné hodnoty pro zachycení výchylky, která by spustila událost. Stejně tak je možné zobrazit osu znázorňující potřebné kmitání pro zachycení tenze. Volba "Match lines"slouží k přesnějšímu zobrazení volitelných os vzhledem k ose x. Při použití této možnosti se osy změní na křivky, jejichž hodnoty odpovídají reálným minulým hodnotám. Tak je možné pozorovat přesněji stav signálu. Poloha osy (tedy i hodnoty připadných křivek) se totiž s jednotlivými snímky mění podle průměrné hodnoty naměřené v posledních X snímcích. Hodnotu X je možné pomocí kalibrace měnit. Je třeba poznamenat, že zobrazení více křivek je výkonostně náročné, jelikož se jedná o neoptimalizovaný graf z repertoáru GUI .NET.
Obrázek C.3: Kalibrační a mapovací okno
C.2. KALIBRACE
57
V rámci kalibrace nás zajímá pouze spodní část okna, která je označena jako "Base configuration"a ukazatel tenze. Červené "diodky"jsou indikátory zachycení výchylky či tenze. Pokud výchylku nebo tenzi program zachytí, rozsvítí se zeleně. • "Up deflection"a "Down deflection"slouží k nastavovaní minimální potřebné výchylky signálu pro zachycení vzhledem k aktuálnímu průměru. • "Up waterfall"a "Down waterfall"jsou minimální hodnoty spádu pro zachycení výchylky signálu. • "Tension deflection"je minimální hodnota kmitání pro zaznamenání tenze. • "Tension decrement speed"označuje interval (v milisekundách), kdy je zkontrolován vzrůst tenze a v případě, že vzrůst nenastal, pak hodnotu tenze sníží o hodnotu, na které se podílí nastavený základ. • "Tension base decrement"určuje základ pro snižování tenze. • "Measure ignore"je časový interval (v milisekundách), který určuje, jak dlouho po zachycení výchylky nebude žádná další výchylka zachycena. • "Data stack size"je hodnota velikosti pole, do kterého se ukládají hodnoty, ze kterých se počítá prozatím jen průměr dat. Ukazatel hodnoty tenze není třeba blíže popisovat. Hodnota se zobrazuje jak textově, tak graficky. Barevné ukazatele slouží k nastavení mapování.
C.2.1
Příprava
V prvé řadě je třeba se ujistit, že pokožka, kam budou senzory umístěné je zbavena nečistot, odmaštěná a případně namazaná vodivým gelem. Dále je třeba dbát na řádné upevnění senzorů. Ty se musí dotýkat pokožky, nesmí jim nic bránit a při provádění pohybů, které budou generovat výchylky a kmitání, se nebudou pohybovat. Než se začne přístroj kalibrovat, je třeba se ujistit, že signál se v klidu pohybuje kolem hodnoty 0 a pouze lehce kmitá. Kmitání by nemělo přesahovat hodnoty +-1 000 000, běžné hodnoty jsou kolem +-50 000 - 200 000. Vysoké kmitání bývá způsobené špatným zeměním přístroje, překřížením kabelů nebo vlivy okolních elektronických přístrojů. Při kalibraci je dobré vidět jak graf signálu, tak ukazatel tenze a příslušné indikátory.
C.2.2
Kalibrace na pohyby
Kalibrace na pohyby lze provést dle citu nebo podle následujícího návodu. 1. Nastavit hodnoty "Up deflection", "Down deflection", "Tension deflection"na maximum a hodnoty "Up waterfall"a "Down waterfall"na minimum. 2. Nastavit hodnoty "Tension decrement speed"na 40, "Tension base decrement"na 1 a "Data stack size"na 2500.
58
PŘÍLOHA C. UŽIVATELSKÁ PŘÍRUČKA
3. Provést pohyby generující výchylku nahoru a vysledovat hodnotu, které přibližně dosahuje. 4. Nastavit hodnotu "Up deflection"tak, aby pohyby, generující výchylku nahoru, spouštěly příslušný indikátor. 5. Provést pohyby generující výchylku dolu a vysledovat hodnotu, které přibližně dosáhne. 6. Nastavit hodnotu "Down deflection"tak, aby pohyby generující výchylku nahoru spouštěly příslušný indikátor a žádný jiný. 7. V případě, že zpětné výchylky při vychylování dolu nebo nahoru spouštějí opačné indikátory, je nutné nastavit vhodně hodnotu "Measure ignore". Pokud nastavení nepomůže, je možné zkusit zvýšit hodnoty "Up/Down waterfall". Pokud ani jedna z těchto možností nepomůže, je možné ještě snížit hodnotu "Data stack size"na 500-1500 (v tomto případě je po přenastavení třeba restartovat program). Při kalibraci je potřeba myslet na to, k čemu bude daná kalibrace využívána a zda by případné falešně pozitivní případy zachycení výchylek byli potenciálně škodlivé či nebezpečné. V případě, že ano, je lepší vytvořit takovou kalibraci, které bude těchto těchto případů generovat minimum a namísto nich za sebou zanechá spíše falešně negativní.
C.2.3
Kalibrace na tenzi
Kalibrace tenze probíhá podobně, jako kalibrace výchylek. Opět se lze držet návodu nebo nastavovat dle citu. Návod však počítá s tím, že již byla nastavena kalibrace pro výchylky. 1. Nastavit "Tension deflection"na maximální hodnotu. "Tension decrement interval"musí být na hodnotě 40 a "Base tension decrement"na hodnotě 1. 2. Nastavenou hodnotu postupně snižovat (nejříve o celé miliony, následně o statisíce a desetitisíce), dokud přístroj nezareaguje na uživatelovu silnou tenzi. Jakmile se reakce projeví, je třeba nastavovovat "Tension deflection"opatrněji. Přístroj nesmí vykazovat zachycení tenze v klidové poloze (maximální přípustné hodnoty jsou 0-3, ale to pouze v případě, že uživatel jinak není schopen dosáhnout inicializace zachycení tenze nebo jen velmi obtížně). 3. Hodnota nemusí při nejsilnější tenzi stoupnout až na hodnotu 100. Pokud uživatel hodnoty 100 nemůže dosáhnout, je třeba nastavit "Tension decrement interval"na vyšší hodnotu (do 100). V tomto případě by měl být uživatel schopen dosáhnout. 4. Pokud hodnota tenze klesá příliš pomalu (ze 100 na 0 by měla klesnout během maximálně 0.5s), je možno zvýšit hodnotu "Base tension decrement"a nebo snížit hodnotu "Tension decrement interval". 5. Pokud je uživatelova tenze zachycena i jako výchylka, je třeba snížit senzitivitu tenze ("Tension deflection") nebo zvýšit hodnoty "Up/Down deflection", případně "Up/Down
C.3. MAPOVÁNÍ
59
waterfall". Další možností, jak docílit případných změn, je změnit polohu senzorů. Většinou stačí poposunout opasek o milimetry (v různých směrech) a vždy pozorovat změny. Po přesunu senzorů je třeba vyčkat několik sekund, než se přístroj vzpamatuje a ustálí. 6. Kalibraci výchylek i tenze je lépe několikrát zopakovat, aby došlo k co nejpřesnějšímu nastavení. Vše většinou trvá maximálně 15-20 minut pro jednu tělní oblast. 7. Pokud ani po zopakování několika iterací kalibrace nedosáhnete kýženého výsledku, je třeba přistoupit ke kompromisům (např. k vynechání kalibrace jedné výchylky, nebo k tomu, že za maximum hodnoty tenze snížíme.) případně k přesunu na jinou tělní část.
C.3 C.3.1
Mapování Mapování na pohyby
Mapování výchylek (tedy na pohyby) je asi nejjednodušší částí v celém nastavování. Stačí vybrat příslušné události, zvolit jim parametry a zaškrtnout, zda se budou chovat jako přepínače či nikoli. Při volbě uálostí, je třeba myslet na to, jakou tělní oblast mapujeme a jaké pohyby generují výchylky. Pokud je NIA připevněna na čele, je pohyb pro generování výchylek vcelku jednoduchý a nenáročný a lze tedy namapovat události, které budou používány často. Naopak při připevnění na předloktí, je zaznamenání výchylek u některých uživatelů náročné, co se pohybů týče. Mapování výchylek je tedy velmi individuální. Při mapování je nutné samozřejmě přihlédnout k tomu, co bude namapováno na jednotlivých tenzích a je třeba zhodnotit, zda nebude mapování na tenzi vhodnější.
C.3.2
Mapování na tenzi
Mapování tenze je poněkud složítější, než mapování výchylek. V první řadě je třeba aktivovat ukazatele. Ukazatel, který není aktivní, nic nedělá. Následně je nutné nastavit hodnoty jednotlivých ukazatelů vzhledem k uživateli a událostem, které budou spouštět. Po nastavení ukazatelů je třeba ověřit, zda je uživatel schopen příslušnou tenzí dosáhnout určených hodnot a zda dokáže alespoň krátkou chvíli setrvat mezi jednotlivými ukazateli. Následuje nastavení událostí. V této části je důležité myslet na to, že aby hodnota tenze dosáhla hodnoty ukazatele, musí nejprve projít přes všechny hodnoty pod ní. Pokud je tedy nějaký ukazatel pod jiným ukazatelem, tak při cestě k vyššímu ukazateli je minut i ten pod ním. Pokud tedy nechceme, aby došlo ke spuštění všech ukazatelů, které jsou pod tím, kterého chce uživatel dosáhnout, musí být nižší ukazatele nastaveny tak, aby se události spouštěly při sestupu hodnoty tenze. To se dá zařídit zaškrtnutím hodnoty "". Dále je nutné, aby všechny ukazatele nad nejspodnějším ukazatelem nulovaly hodnotu tenze. Nulování indikuje zaškrtnutí hodnoty "". Někdy je ovšem spouštění takových událostí žádané. V tom případě s těmito hodnotami nakládáme pouze jako s dalšími možnostmi, jak přizpůsobit ovládání. Příkladem může být pohyb kurzoru myši. Různé tenze znamenají různou rychlost, protože se spouští více stejných událostí zároveň.
60
PŘÍLOHA C. UŽIVATELSKÁ PŘÍRUČKA
Další možností, jak upravit mapování je pomocí tzv. bursteru. Zaškrtnutím a nastavením hodnoty intervalu docílíme toho, že se událost spustí v každé iteraci kontroly události a ne pouze jednou při přechodu. A nakonec, podobně jako u mapování výchylek, lze také zvolit, zda se bude událost chovat jako přepínač. Funkce je totožná s funkcí u výchylek. V případě, že by více jak jedna událost byla namapována jako burster a bylo by třeba, aby byla spuštěna pouze jedna událost a ne dvě nebo tři, je třeba přizpůsobit události pomocí kódu, ze kterého se události spouští. Tuto možnost jsem zatím neimplementoval do programu, jelikož to pro ovládání kurzoru myši, menu, atd. nebylo důležité. Více o úpravách se lze dozvědět v sekci C.3.3.
C.3.3
Vlastní události
Pro použití v programu při mapování lze použít vlastní události. Všechny události, které program zná jsou externě načítané. Při psaní vlastních událostí je třeba dbát jistých zásad: • Soubor musí být uložen ve složce Events v rámci složky programu • Soubor musí mít unikátní jméno • Namespace třídy musí být NIATextAble • Jméno třídy obsažené v souboru musí být taktéž unikátní • Soubor musí být napsán v jazyce C# • Pokud je třeba externích knihoven, tak musí být definované v souboru libraries.txt, nelze použít knihoven, které nejsou nadefinované • Metody a všechny využívané proměnné musí být statické (static) a veřejné (public), privátní (private) mohou být jen ty, které jsou určeny k interním výpočtům...ty nebudou zobrazeny v seznamu událostí • Jedna metoda = jedna událost
Příloha D
Seznam použitých zkratek EEG Elektroencefalograf(ie) EMG Elektromyograf(ie) EOG Elektrookulograf(ie) NIA Neural Impulse Actuator
61
62
PŘÍLOHA D. SEZNAM POUŽITÝCH ZKRATEK
Příloha E
Obsah přiloženého CD Cesta bin/NIAMain bin/NIATesting bin/FittsLawTesting src/FittsLawTestGame src/NIATextAble testing testing/results NIA Sample Data testing/results/statistika.xlsx testing/results/ukazkaDasher.avi testing/results/ukazkaDasher.wmv book
Popis Program připojení, kalibraci a mapování Program pro testování NIA Program pro testování pohybu kurzoru myši Zdrojové kódy programu pro testování pohybu kurzoru myši Zdrojové kódy pro zbylé části (kalibrace, mapování, připojení, ...) Vyplněné dotázníky od participantů Sebraná data z testování Vzorky dat z měření pomocí NIA Statistiky testů Ukázka psaní pomocí NIA v Dasheru (obraz) Ukázka psaní pomocí NIA v Dasheru (webkamera) Zdrojové kódy/obrázky této práce a vygenerované pdf
63
64
PŘÍLOHA E. OBSAH PŘILOŽENÉHO CD
Literatura [1] Nikos Drakos, Computer Based Learning Unit, University of Leeds, "Existing Text Input Methods", . [2] David MacKay, Department of Physics, University of Cambridge, - Dasher. [3] In-Hwa T. Lee, Ryan J. Smith, - "Design and validation of Myoelectric Cursor Control System for Trans-Radial Amputees"(2012). [4] MUDr. Jaroslav Dufek, "Elektromyografie"(1995) : 30-36. [5] Doc. Ing. Josef Svatoš Csc., "Biologické signály I - Geneze, zpracování a analýza"(1998) : 154. [6] nia-brew, (2010) [7] Netter Frank H., "Netteruv anatomický atlas člověka": 423-431. [8] Editoři: Reinhard Putz, Reinhard Pabst, "Sobottův Atlas anatomie člověka 1", Překlad 22. vydání : 179-204. [9] Pavel Petrovický a spol., "Anatomie s topografií a klinickými aplikacemi I. svazek Pohybové ústrojí"(2001): 311-318, 426-430.
65