VODENJE Z UPORABO MERITEV MOŽGANSKIH …Skozi desetletja eksperimentiranja so strokovnjaki iz...
Transcript of VODENJE Z UPORABO MERITEV MOŽGANSKIH …Skozi desetletja eksperimentiranja so strokovnjaki iz...
UNIVERZA V MARIBORU
FAKULTETA ZA STROJNIŠTVO
Aljaž KRAMBERGER
VODENJE Z UPORABO MERITEV MOŽGANSKIH VALOV
Magistrsko delo
študijskega programa 2. stopnje
Mehatronika
Maribor, september 2013
II
Magistrsko delo
VODENJE Z UPORABO MERITEV MOŽGANSKIH VALOV
Študent: Aljaž KRAMBERGER
Študijski program 2. stopnje:
Mehatronika
Mentor FS:
Mentor FERI:
izr. prof. dr. Karl Gotlih
red. prof. dr. Miro Milanovič
Somentor: doc. dr. Miran Rodič
Maribor, september 2013
II
III
ZAHVALA
Zahvaljujem se mentorju red. prof. dr. Miru
Milanoviču in mentorju izr. prof. dr. Karlu Gotlihu ter
somentorju doc. dr. Miranu Rodiču za pomoč in
vodenje pri opravljanju magistrskega dela.
Zahvaljujem se tudi osebju laboratorija za močnostno
elektroniko, raziskovalni skupini kliničnega oddelka
za bolezni živčevja UKC Ljubljana in Slivi Hajšek
predmetni učiteljici za slovenščino in nemščino za
opravljeno lektoriranje.
Posebna zahvala velja staršem, ki so mi omogočili
študij.
IV
KAZALO
1 UVOD.................................................................................................................................................. - 1 -
2 MOŽGANSKO VALOVANJE .................................................................................................................. - 3 -
2.1 KOMERCIALNO DOSTOPNA MERILNA OPREMA .................................................................................................. - 4 -
2.1.1 Emotive Systems .......................................................................................................................... - 4 -
2.1.2 Interaxon ..................................................................................................................................... - 5 -
2.1.3 NeuroSky ...................................................................................................................................... - 6 -
3 PREDSTAVITEV UPORABLJENE OPREME .............................................................................................. - 8 -
3.1 NEUROSKY MIND WAVE MOBILE.................................................................................................................. - 8 -
3.2 MIKROKRMILNIŠKA KARTA ARDUINOMEGA ADK ............................................................................................ - 11 -
3.3 KOMUNIKACIJA ........................................................................................................................................ - 13 -
3.3.1 Bluetooth komunikacijski moduli ............................................................................................... - 13 -
3.3.2 Bluetooth modul JY-MCU V1.05 ................................................................................................. - 13 -
3.3.3 Bluetooth modul RN-42 - FLY-477 .............................................................................................. - 15 -
3.4 EMG ELEKTRODE ..................................................................................................................................... - 16 -
3.5 PREIZKUŠEVALNA MERILNA PLATFORMA ........................................................................................................ - 17 -
4 ZAJEMANJE IN PREIZKUŠANJE PODATKOV ........................................................................................ - 18 -
4.1 POVEZOVANJE MERILNEGA SISTEMA Z RAZLIČNIMI PLATFORMAMI ...................................................................... - 18 -
4.1.1 Povezovanje s pametnim telefonom .......................................................................................... - 18 -
4.1.2 Povezava in obdelava podatkov na osebnem računalniku ........................................................ - 19 -
4.1.3 Testiranje PuzzleBox programa ................................................................................................. - 20 -
4.2 ZAJEMANJE IN OBDELAVA PODATKOV S POMOČJO MIKROKRMILNIKA ................................................................... - 21 -
4.2.1 Zajeti podatki ............................................................................................................................. - 24 -
4.2.2 Obdelava podatkov na mikroprocesorski karti .......................................................................... - 25 -
5 ZAJEMANJE EMG SIGNALOV ............................................................................................................. - 28 -
5.1 KOMPONENTE OJAČEVALNIKA ..................................................................................................................... - 28 -
5.2 SHEMA OJAČEVALNEGA VEZJA ..................................................................................................................... - 29 -
5.2.1 Prva stopnja – diferenčni ojačevalnik ........................................................................................ - 29 -
5.2.2 Druga stopnja – invertirani ojačevalnik in visokopasovni aktivni filter ..................................... - 30 -
5.2.3 Tretja stopnja – usmerjanje signala .......................................................................................... - 33 -
5.2.4 Četrta stopnja – nizkopasovni filter in končno ojačenje signala ................................................ - 34 -
5.3 REZULTATI TESTIRANJA .............................................................................................................................. - 37 -
6 IZVEDBA VODENJA ............................................................................................................................ - 41 -
6.1 IDENTIFIKACIJA KONTRAKCIJE OČESNE MIŠICE ................................................................................................. - 41 -
V
6.2 IZVEDBA VODENJA .................................................................................................................................... - 44 -
7 PREIZKUS PROGRAMA NA REALNEM SISTEMU ................................................................................. - 46 -
8 SKLEP ................................................................................................................................................ - 47 -
9 SEZNAM UPORABLJENIH VIROV........................................................................................................ - 48 -
10 PRILOGE ............................................................................................................................................ - 51 -
11 DELOVNI ŽIVLJENJEPIS ...................................................................................................................... - 52 -
VI
KAZALO SLIK SLIKA 1: MOŽGANSKI CENTRI ...................................................................................................................................... - 3 -
SLIKA 2: SISTEM EMOTIVE EPOC ................................................................................................................................ - 4 -
SLIKA 3: EMOTIVE ROLKA……………………………………………………………………………………………………………………………-5-
SLIKA 4: EMOTIVE QUADCOPTER ................................................................................................................................. - 5 -
SLIKA 5: INTERAXON MUSE ....................................................................................................................................... - 5 -
SLIKA 6: MIND WAVE MOBILE .................................................................................................................................... - 6 -
SLIKA 7: NEUROSKY MIND FLEX ................................................................................................................................. -7-
SLIKA 8:NEUROSKY ZAJČJA UŠESA ............................................................................................................................... - 7 -
SLIKA 9: SHEMATSKI PRIKAZ MERILNEGA SISTEMA ........................................................................................................... - 8 -
SLIKA 10: ARDUINOMEGA ADK ................................................................................................................................ - 11 -
SLIKA 11: BLUETOOTH MODUL JY-MCU .................................................................................................................... - 14 -
SLIKA 12:BLUETOOTH MODUL RN-42 ........................................................................................................................ - 15 -
SLIKA 13:EMG ELEKTRODE ...................................................................................................................................... - 16 -
SLIKA 14:MOBILNA PLATFORMA ............................................................................................................................... - 17 -
SLIKA 15: PROGRAM ZA VIZUALIZACIJO PODATKOV BRAINWAVE VISUALIZER ...................................................................... - 18 -
SLIKA 16: VZPOSTAVITEV POVEZAVE Z OSEBNIM RAČUNALNIKOM ..................................................................................... - 19 -
SLIKA 17: ČELNA PLOŠČA PUZZLE BOX PROGRAMA........................................................................................................ - 20 -
SLIKA 18: LEGO ROBOT IN MERILNI SISTEM ................................................................................................................. - 21 -
SLIKA 19:POVEZAVA MIKROKRMILNIKA Z MODULOM .................................................................................................... - 22 -
SLIKA 20: TESTIRANJE KOMUNIKACIJE ......................................................................................................................... - 22 -
SLIKA 21: BLUETOOTH PAKET ................................................................................................................................... - 24 -
SLIKA 22: DIAGRAM POTEKA RAZČLENITVE PODATKOV ................................................................................................... - 25 -
SLIKA 23: PRIKAZ DELOVANJA PROGRAMA ................................................................................................................... - 27 -
SLIKA 24: SHEMATSKI PRIKAZ MERILNEGA SISTEMA ....................................................................................................... - 28 -
SLIKA 25:SHEMA DIFERENČNEGA OJAČEVALNIKA .......................................................................................................... - 29 -
SLIKA 26:VEZAVA DIFERENČNEGA OJAČEVALNIKA .......................................................................................................... - 30 -
SLIKA 27:INVERTIRAJOČI OJAČEVALNIK........................................................................................................................ - 30 -
SLIKA 28: AKTIVNI VISOKOPREPUSTNI FILTER ................................................................................................................ - 31 -
SLIKA 29:INVERTNI OJAČEVALNIK IN VISOKOPREPUSTNI FILTER ......................................................................................... - 32 -
SLIKA 30: AKTIVNI POLNOVALNI USMERNIK ................................................................................................................. - 33 -
SLIKA 31:POLNOVALNO USMERJANJE SIGNALA ............................................................................................................. - 33 -
SLIKA 32: AKTIVNI NIZKOPASOVNI FILTER .................................................................................................................... - 34 -
SLIKA 33: NIZKOPASOVNI FILTER Z INVERTIRAJOČIM OJAČEVALNIKOM ............................................................................... - 35 -
SLIKA 34: SHEMA CELOTNEGA OJAČEVALNEGA VEZJA ..................................................................................................... - 36 -
SLIKA 35: NESTIMULIRANO STANJE MIŠICE .................................................................................................................. - 38 -
SLIKA 36: ODZIV NA MANJŠO STIMULACIJO MIŠICE ........................................................................................................ - 39 -
VII
SLIKA 37: ODZIV NA MOČNO STIMULACIJO MIŠICE ........................................................................................................ - 40 -
SLIKA 38:VIZUALIZACIJA PODATKOV V PROGRAMU PROCESSING ...................................................................................... - 42 -
SLIKA 39: PRIKAZ NEOBDELANIH PODATKOV ................................................................................................................ - 42 -
SLIKA 40: DIAGRAM PREHAJANJA STANJ VODENJA ......................................................................................................... - 44 -
SLIKA 41: PREIZKUŠANJE PROGRAMA ......................................................................................................................... - 46 -
KAZALO TABEL TABELA 1: PREDSTAVITEV IZHODNE FREKVENČNE KARAKTERISTIKE ...................................................................................... - 9 -
TABELA 2: SESTAVA BLUETOOTH PAKETA .................................................................................................................... - 10 -
TABELA 3: KARAKTERISTIKE MIKROKRMILNIŠKE KARTE ARDUINO MEGA ADK ...................................................................... - 12 -
TABELA 4: KARAKTERISTIKA JY-MCU MODULA ............................................................................................................ - 13 -
TABELA 5: KARAKTERISTIKA BLUETOOTH MODULA RN-42 .............................................................................................. - 15 -
VIII
VODENJE Z UPORABO MERITEV MOŽGANSKIH VALOV
Ključne besede: EMG, EEG, vodenje, možganski valovi, obdelava podatkov, Bluetooth
komunikacija, mobilna platforma
UDK klasifikacija: 681.525.033:616.833.1(043.3)
POVZETEK
Cilj naloge je razviti vodenje sistemov z uporabo meritev možganskih valov. V ta namen je
bila kupljena merilna oprema za zajemanje EMG signalov. Vzpostaviti je bilo potrebno
podatkovno povezavo med merilnim naglavnim sistemom in mikrokrmilnikom. Za povezavo
smo uporabili Bluetooth protokol. Izdelan je bil Bluetooth modul in preizkušena
komunikacija. Pridobljeni signali so se obdelali in uporabili v vodenju. Dodatno smo izvedli
preračun in zgradili ojačevalni sistem za zajem EEG signalov. Signale smo izmerili in
prikazali rezultate. Po obdelavi signalov smo izvedli preprosto vodenje, s katerim
nadzorujemo smer premikanja mobilne platforme. V nalogi so opisane posamezne
komponente in rezultati testiranj.
IX
CONTROL USING BRAINWAVES MEASUREMENT Keywords: EMG, EEG, control, brainwaves, signal processing, Bluetooth communication,
mobile platform
ABSTRACT
The goal of this work is to develop a control system using brain waves measurement. For this
purposes, EMG measuring system was purchased. Data connection between the measuring
system and the microcontroller had to be established. As a mean of connection we used the
Bluetooth communication protocol. For that reason we designed our own Bluetooth module
and test the communication. In the acquisition phase, signal processing was performed. After
this step signals can be used for control purposes. Additionally, we performed calculations
and built an amplifier system to capture EEG signals. EEG signals were measured and the
results were graphically interpreted. After the signal processing phase, we build a simple
control system to control the direction of movement of the mobile platform. In this thesis there
are detailed descriptions of used components and the results of preformed tests.
X
UPORABLJENI SIMBOLI
Vout - izhodna napetost
R - upornost
V1 - izhodna napetost
V2 - izhodna napetost
A - ojačenje
C - kapacitivnost
fc - mejna frekvenca
XI
UPORABLJENE KRATICE EEG - elektroencefalografija
EMG - elektromiografija
COM - communication (komunikacija)
PWM - pulse wide modulation (pulznoširinska modulacija)
R - right (desno)
L - left (levo)
O - reference (referenca)
DC - direct current (enosmerna napetost)
AC - alternating current (izmenična napetost)
Vcc - napajanje
GND - ground (zemlja)
Tx - transmitter (oddajnik)
Rx - receiver (sprejemnik)
SRAM - static random access memory
EEPROM - electrically erasable programmable read only memory
MAC - media access control
LED - light emitting diode
GAP - groups, algorithms and programming
SDP - session description protocol
RFCOMM - radio frequency communication
L2CAP - logical link control and adaptation protocol
FCC - federal communication commission
ICS - internet connection sharing
CE - europska skladnost
SMD - surface mount device
XII
UART - universal asynchronous receiver/transmitter
TTL - time to live
SPI - serial peripheral interface bus
USB - universal serial bus (univerzalno serijsko vodilo)
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 1 -
1 UVOD
Vodenje sistemov, strojev, vsakdanjih pripomočkov s pomočjo misli je že od nekdaj želja
ljudi, a ta problem ni tako preprosto rešljiv. Zaznavanje misli je doslej bilo neizvedljivo,lahko
pa s pomočjo merilnih sistemov izmerimo elektromagnetni pulz, ki se ustvari med procesom
mišljenja. Prav ta problem zajemanja pulzov in pridobivanje stabilnih signalov iz njih je
osrednja tema naloge. Preučiti je potrebno možnosti zajemanja signalov z uporabo
komercialno dostopnih merilnih sistemov.
Zajemanje in obdelava možganskih valov segata v začetke 20. stoletja. Takrat je bila
tehnika že dovolj dovršena za izvajanje tako natančnih meritev. Najprej so se začele izvajati le
laboratorijske in klinične analize meritev možganskih valov. Za natančno izvedbo teh meritev
je potrebna zelo natančna in draga oprema. V zadnjih nekaj letih se je pristop zelo spremenil.
Na trg so začeli prihajati različni cenovno dostopni produkti, predvsem namenjeni zabavi.
Povod za to je bila serija znanstveno fantastičnih filmov Star Wars ipd. Namen teh izdelkov je
predvsem približati tehnologijo širši množici ljudi. Peščici podjetji in njihovim razvojnim
oddelkom je uspelo razviti take sisteme, ki jih lahko uporablja praktično vsak. S tem pa so
naredili tudi zelo velik korak naprej, saj so eksperimentalne metode, ki veljajo za precej
kompleksne, preselili iz laboratorijev in raziskovalnih inštitutov med ljudi.
Sistemi so torej namenjeni predvsem zabavi in spoznavanju svojih sposobnosti. S
tržno dostopnostjo te opreme se je odprlo veliko poti ljubiteljskim raziskovalcem in
raziskovalcem, ki take cenovno dostopne zanesljive sisteme iščejo.
Cilj te magistrske naloge je izvesti sitem vodenja, ki bo uporaben v vsakodnevnih
aplikacijah. Pri tem je potrebno najprej dodobra spoznati opremo za zajemanje možganskih
valov. V okviru naloge smo k obstoječemu sistemu prigradili lastni sistem za zajemanje
možganskih valov. Te je potrebno nato obdelati, tako da bodo uporabni za določen sistem
vodenja. Na koncu je bil opravljen preizkus delovanja vodenja na realnem sistemu.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 2 -
V uvodu je na kratko opisana problematika s cilji te magistrske naloge.
V drugem poglavju so predstavljeni osnovi principi tvorjenja možganskih valov in
njihovega zajemanja. Na kratko je narejena analiza sistemov ponudnikov merilne opreme.
Sledi opis uporabljene opreme za izvedbo eksperimentov. Predstavljene in opisane bodo
vse uporabljene komponente.
Četrto poglavje je namenjeno analizi zajemanja podatkov iz komercialno dostopne
opreme. Pri tem bomo preučili splošno dostopno programsko opremo za izvedbo vizualizacije
podatkov.
Nato sledi opis in izvedba merilnega sistema. Podan bo opis, preračun komponent in
realna izvedba sistema ter prikazani rezultati testiranja.
Šesto poglavje je posvečeno izvedbi vodenja. V tem poglavju sledi opis programa in
načrt vodenja realnega sistema z obstoječo opremo.
V sedmem poglavju bomo navedli rezultate našega dela. Predstavljeni bodo rezultati
testiranja na realnem sistemu.
Nalogo zaključujemo s sklepnimi ugotovitvami, pregledom celotnega dela ter rezultati
in smernicami za prihodnje delo.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 3 -
2 MOŽGANSKO VALOVANJE
Človeški možgani so sestavljeni iz milijard med seboj povezanih nevronov. Velikost le-teh je
enaka npr. konici šivanke. Ko so nevroni v medsebojni interakciji, se pokažejo vzorci
singularnih misli, kot so matematični izračuni in čustvena stanja. Najmočnejši predstavnik le-
teh je pozornost. Človeški možgani proizvajajo povprečno 70.000 misli na dan. Kot stranski
proizvod pa vsaka interakcija med nevroni ustvarja miniaturno tokovno razelektritev, merljivo
z EEG napravami. Razelektritve si lahko predstavljamo kot možgansko valovanje v redu
velikosti 1 – 100 µV. Posameznih razelektritev ni mogoče izmeriti izven lobanje, izmerimo pa
lahko skupek delovanja več razelektritev, ki so posledica duševnega stanja v nekem
določenem časovnem obdobju.
Skozi desetletja eksperimentiranja so strokovnjaki iz področja nevrologije določili, kdaj in kje
se pojavi posamezno stanje v možganih, ki ga lahko zaznamo, in je posledica naših dejanj.
Motorika naših okončin je npr. nadzirana v zgornjem delu naših možganov. Vid je obdelan v
zadnjem delu možganov. Z evolucijskega vidika so te osnovne funkcije prisotne pri večini
živali. Med razvojem človeka se je sposobnost višjega mišljenja razvila v sprednjem zgornjem
delu lobanjskega korteksa (slika 1). Čustva, duševna stanja, koncentracija itd. so prevladujoča
stanja na tem področju. To je glavni razlog za namestitev senzorjev v položaju, znan kot KP1
(glej seznam uporabljenih virov [1]).
Slika 1: Možganski centri
Različna možganska stanja so posledica različnih vzorcev nevronske interakcije. Ti vzorci
povzročijo valove, ki se razlikujejo v amplitudi in frekvenci. Kot primer možganskih valov
med 12 in 30 Hz so beta valovi. Povežemo jih lahko s koncentracijo, medtem ko so valovi
med 8 in 12 Hz alfa valovi, ki jih lahko povežemo s sprostitvijo. Obstaja še veliko več tipov
možganskih valov, kot so na primer: gama in delta. Ti možganski valovi se tvorijo v različnih
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 4 -
možganskih centrih. Zaznamo jih lahko na prav določenih mestih, se pa tudi velikokrat
manifestirajo v sprednjem delu možganskega korteksa. Na merilnem mestu se pogosto
pojavijo dominantnejši signali od možganskih valov. Ti signali predstavljajo krčenje mišic in
jih imenujemo EMG signali. Ko se mišica napne, se skozi njo lahko zazna elektromagnetni
signal, ki je odvisen od raztezanja in krčenja mišice. Ti valovi so nekaj desetkrat močnejši od
EEG valov. S pravilno obdelavo so tudi stabilnejši. V našem primeru lahko na ta način
pridobimo podatke o mežikanju. Pri tem merimo napetost očesne mišice zapiralke.
2.1 Komercialno dostopna merilna oprema
V zadnjih petih letih je zelo povečala ponudba merilne opreme. Ta oprema je postala cenovno
dostopna in jo je moč uporabiti v vsakdanjih aplikacijah. Cilj razvijalcev je še vedno
predvsem zabava in interakcija uporabnikov z vsakdanjimi multimedijskimi sistemi, kot so
pametni telefoni in tablični računalniki, osebni računalniki, televizorji nove generacije… Cilj
teh aplikacij pa je omogočiti uporabniku neko novo izkušnjo v obliki videoigre ali na primer
vplivanja na potek gledanega filma. Uporabnik lahko te sisteme izkoristi tudi v razvedrilne
namene. Za ta področja je razvita in dostopna programska oprema. Dostopni so tudi programi
za opazovanje merjenih parametrov, ki bodo predstavljeni v nadaljevanju. Sledi predstavitev,
opis in primerjava proizvajalcev merilne opreme.
2.1.1 Emotive Systems
Je ameriško razvojno podjetje, ki se ukvarja z razvojem več senzorskih sistemov. Trenutno jih
je možno kupiti 16, imenovanih EPOC (slika 2) (glej seznam uporabljenih virov [2]). Sistem
se s pomočjo mokrih elektrod namesti na glavo. Komunikacija poteka brezžično z
računalnikom. Je dokaj drag sistem.
Slika 2: Sistem Emotive EPOC
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 5 -
Ta merilni sistem omogoča uporabo velikega števila zajetih podatkov, kar lahko štejemo kot
prednost, ima pa tudi svoje slabosti. Ena izmed njih je visoka cena. Pri uporabi je potrebno
vlažiti elektrode, saj brez tega ne dobimo kontakta. Kot slabost se to izkaže predvsem pri
aplikacijah, ki jih uporablja več ljudi in niso omejene na notranje prostore. Tudi namestitev
sistema na glavo je bolj zapletena kot pri konkurenčnih sistemih. Zaradi teh lastnosti nismo
izbrali tega sistema. Izvedeni aplikaciji s tem sistemom sta vodenje rolke (slika 3) in
quadcopterja (slika 4).
Slika 3: Emotive rolka Slika 4: Emotive quadcopter
2.1.2 Interaxon
Je mlado kanadsko podjetje, ki je pred kratkim na tržišče postavilo svoj prvi naglavni merilni
sistem, imenovan MUSE (slika 5) (glej seznam uporabljenih virov [3]). To je šest senzorski
sistem, ki za svoje delovanje uporablja suhe elektrode. Za delovanje jih ni potrebno vlažiti.
Komunikacija z računalnikom poteka brezžično. Je dokaj cenovno ugoden sistem in po svoji
uporabnosti sodi v slop opisanih.
Slika 5: Interaxon MUSE
Če primerjamo ta izdelek s prej omenjenim, bi to bila prava izbira. Za mobilno aplikacijo bi
imeli na razpolago vse, kar potrebujemo. Na žalost sistem do začetka leta 2014 ni dobavljiv.
Razvijalci podjetja Interaxon se ukvarjajo predvsem s programsko izvedbo aplikacij, kot so na
primer posamezne vizualizacije in podobno.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 6 -
2.1.3 NeuroSky
Je Ameriško podjetje, ki je razvilo precej popularno merilno naglavno napravo, imenovano
Mind Wave (slika 8). Je enosenzorska naprava, ki deluje na principu suhih elektrod (glej
seznam uporabljenih virov [4]). Ta sistem smo izbrali za izvedbo magistrske naloge.
Prednosti sistema so: lahka in zanesljiva uporaba, nezahtevno vzdrževanje, dokaj dobra
dokumentacija za razvijalce, zanesljivost in cenovna ugodnost. Več o sami napravi sledi v
nadaljevanju.
Slika 6: Mind Wave Mobile
Ena izmed bolj znanih aplikacij tega podjetja je igra Mind Flex (slika 7). Vsebuje podoben
sistem za zajemanje signalov in s pomočjo njih igralec vodi žogico skozi labirint. Na voljo so
še razne izpeljanke, kot je na primer Forcetrainer, zajčja ušesa (slika 8) in podobno.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 7 -
Slika 7: Neurosky Mind Flex Slika 8:Neurosky zajčja ušesa
Za začetek na kratko primerjajmo vse tri merilne sisteme. Vsak ima svoje specifične lastnosti.
Razlike se pojavljajo predvsem pri izbiri količine senzorjev in tipu elektrod. Za našo
aplikacijo je bolj primeren tip suhih elektrod, saj ni problemov z vzdrževanjem in čiščenjem.
Težava, ki smo jo zaznali, je dobavljivost. Ob nakupu smo ugotovili, da prva dva omenjena
proizvajalca ne pošiljata svojih merilnih sistemov v Evropo ali pa jih ni na razpolago. Podjetje
Neurosky pa ima zastopstvo in podporo v Evropi. Tretji faktor je bila cena. Prva dva sistema
sta dražja, zato smo izbrali tretjega. Kot cilj smo si zadali namreč nabavo cenovno ugodne in
dostopne aplikacije.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 8 -
3 PREDSTAVITEV UPORABLJENE OPREME
V tem poglavju bo na kratko predstavljena uporabljena oprema in njene lastnosti.
3.1 NeuroSky Mind Wave Mobile
Slika 9: Shematski prikaz merilnega sistema
Za namene projekta smo uporabili že razvito naglavno merilno mobilno sredstvo proizvajalca
NeuroSkey. To podjetje je specializirano v proizvodnji mobilne merilne opreme za široko
potrošnjo. Merilni sistem je shematsko prikazan na sliki 9. Njihovi produkti temeljijo
predvsem na enosenzorskih sistemih. Senzorji v teh sistemih so njihov lastni proizvod nizko
impedančnih senzorjev v obliki vezja. Ena izmed boljših lastnosti teh merilnih senzorjev je to,
da delujejo brez medija. Senzor uporablja namreč suho elektrodo, ki preko pločevinaste
ploščice meri signale. Drugi konvencionalni senzorji, ki jih lahko najdemo v bolnišnicah ali v
raziskovalnih laboratorijih, uporabljajo za svoje delovanje medij, ki je večinoma v obliki gela.
Namen tega je, da se kontakt med premikanjem ne prekinja. Ta sistem gela ne uporablja, saj
je izvedba elektrode robustna. Prednost sistema je predvsem v mobilnih aplikacijah, ki jih
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 9 -
lahko uporablja tudi več ljudi. Ušesno prijemalo je namenjeno predvsem izenačitvi potenciala
med telesom in merilnim senzorjem (glej seznam uporabljenih virov [5]).
Meritev, ki se izvede na samem sistemu, je nato posredovana preko Bluetootha do
mikroračunalnika. Poudariti je potrebno, da mikroračunalnik sprejema že filtrirane in
obdelane podatke. Meritev valov se izvede s pomočjo senzorja. Merimo valove, ki nam
okarakterizirajo naslednje stanja:
Tabela 1: Predstavitev izhodne frekvenčne karakteristike
Tip mož. valov Frekvenčno
območje
Stanje, ki ga lahko opišemo
Delta 0.1 Hz do 3 Hz Spanje, spanje brez sanj, REM spanje, nezavest
Theta 4 Hz do 7 Hz Sanje, fantazija, kreativnost
Alfa 8 Hz do 12 Hz Zavedanje, sproščanje
Low Beta 13 Hz do 15 Hz Pripadnost, sproščeno zavedanje
Midgrade Beta 16 Hz do 20 Hz Mišljenje, zavedanje sebe in okolice
High Beta 21 Hz do 30 Hz Vzhičenost, pripravljenost
Kombinacija teh merjenih vrednosti nam poda dva stabilna parametra, ki predstavljata
osredotočenost in sprostitev. V aplikaciji bomo potrebovali še neobdelan signal, ki ga je
možno pridobiti iz merilnega sistema. Ta signal bomo uporabili za identifikacijo EMG
signala, ki prihaja iz očesnih mišic.
Podatkovna povezava med merilnim sistemom in računalnikom poteka preko Bluetooth
protokola. Slabost sistema je v njegovem podatkovnem paketu, s katerim je malo težje delati,
in predvsem v vzpostavitvi povezave med merilnim sistemom in mikroračunalnikom. To je
tudi nam pri izvedbi tega projekta povzročalo veliko preglavic. Kot sem že omenil, se v
samem sistemu izvede analiza izmerjenega signala. To izvede patentiran program, imenovan
eSense (izvede pretvorbo, ojača signal, sestavi paket in odstrani šum). Paket je opisan v
tabeli 2.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 10 -
Tabela 2: Sestava Bluetooth paketa
Vrednost bita Opis Vrednost bita Opis
[ 0]: 0xAA [SYNC] [18]: 0x64 (3/3) End High-alpha bytes
[ 1]: 0xAA [SYNC] [19]: 0x00 (1/3) Begin Low-beta bytes
[ 2]: 0x20 [PLENGTH] (payload length)
of 32 bytes
[20]: 0x00 (2/3)
[ 3]: 0x02 [POOR_SIGNAL] Quality [21]: 0x4D (3/3) End Low-beta bytes
[ 4]: 0x00 No poor signal detected (0/200)
[22]: 0x00 (1/3) Begin High-beta bytes
[ 5]: 0x83 [ASIC_EEG_POWER_INT] [23]: 0x00 (2/3)
[ 6]: 0x18 [VLENGTH] 24 bytes [24]: 0x3D (3/3) End High-beta bytes
[ 7]: 0x00 (1/3) Begin Delta bytes [25]: 0x00 (1/3) Begin Low-gamma bytes
[ 8]: 0x00 (2/3) [26]: 0x00 (2/3)
[ 9]: 0x94 (3/3) End Delta bytes [27]: 0x07 (3/3) End Low-gamma bytes
[10]: 0x00 (1/3) Begin Theta bytes [28]: 0x00 (1/3) Begin Mid-gamma bytes
[11]: 0x00 (2/3) [29]: 0x00 (2/3)
[12]: 0x42 (3/3) End Theta bytes [30]: 0x05 (3/3) End Mid-gamma bytes
[13]: 0x00 (1/3) Begin Low-alpha bytes [31]: 0x04 [ATTENTION] eSense
[14]: 0x00 (2/3) [32]: 0x0D ESense Attention level of 13
[15]: 0x0B (3/3) End Low-alpha bytes [33]: 0x05 MEDITATION] eSense
[16]: 0x00 (1/3) Begin High-alpha bytes [34]: 0x3D ESense Meditation level of 61
[17]: 0x00 (2/3) [35]: 0x34 [CHKSUM] (1's com pin verse of 8-bit Payload sum of 0xCB)
Najprej se izvede sinhronizacija, nato se pošljejo podatki. Goli podatki oz. RAW data so v
formatu 16 bit integer. Ostale vrednosti, kot sta meditacija in zbranost, pa so skalirane od 0 –
100. Na koncu se še preveri uspešnost prenosa.
Za nadaljnjo uporabo je potrebno podatke, poslane v paketu, razčleniti. V ta namen so
razviti algoritmi,ki so opisani v pripadajoči dokumentaciji. Poudarimo lahko, da je prav ta
sistem razvit za namene mobilnih aplikacij, kot je naša.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 11 -
3.2 Mikrokrmilniška karta Arduinomega ADK
Arduino je odprtokodna platforma, ki temelji na mikrokrmilnikih ter vsebuje programsko
razvojno okolje. Platformo Arduino lahko uporabimo za delo z različnimi senzorji in
aktuatorji. Uporabimo jo lahko tudi za regulacijo različnih procesov. Mikrokrmilniška karta je
lahko samostojna enota ali pa preko USB vhoda (z različnimi dodatki tudi preko drugih
izhodov) komunicira z računalnikom (FLash, Processing, MaxMSP). Arduino je italijanski
izdelek, ki temelji na preprosti uporabi. Sami si zlahka prigradimo ali naredimo svojo verzijo
različnih tako imenovanih "ščitov" (shields). To so priključitvene kartice, ki se preprosto
nataknejo na samo procesorsko karto. Poznamo več vrst Arduino kartic, kot so na primer:
Arduino Mega, Arduino Duemilenove, Arduino Uno, Arduino mini… Odlikujejo jih
preprosta in funkcionalna zgradba, cenovna dostopnost in zanesljivost.
Programiranje Arduina je hitro in uporabniku prijazno. Je enostavno za uporabo in
dovolj fleksibilno tudi za zahtevnejše uporabnike. Kot prednost bi lahko omenili številne
splošno dostopne programe. Teh lahko na internetu najdemo res veliko in si z njimi
pomagamo pri izvedbi raznih projektov. Programski jezik je prirejen C++. Za podrobnejšo
analizo lahko uporabimo orodja podjetja AVR, katerega integrirano vezje (mikrokrmilnik)
vsebuje Arduino (glej seznam uporabljenih virov [6]).
Slika 10: Arduino mega ADK
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 12 -
Za namene magistrske naloge smo izbrali razvojno ploščo Arduino mega ADK (slika 10).
Krmilnik temelji na mikroračunalniku ATmega2560. Ima tudi USB priključek, razvit
predvsem za namen povezave z Android napravami, temelji pa na integriranem vezju
MAX3421e. Ima 54 digitalnih vhodov/izhodov, izmed teh jih 12 lahko uporabimo kot PWM
izhode. Krmilnik vsebuje še 16 analognih vhodov, 4 UART (serijske komunikacijske
vmesnike), 16 MHz kristal, napajalniški priključek in tipko reset za resetiranje krmilnika.
ADK verzija Arduino je podobna krmilniku Mega 2560, vendar ta ne vsebuje USB host-a.
Dodatne karakteristike krmilne kartice so opisane v tabeli 3.
Tabela 3: Karakteristike mikrokrmilniške karte Arduino mega ADK
Mikrokrmilnik ATmega2560
Izhod iz regulatorja napetosti na karti 5V
Napajalna napetost (priporočljiva) 12V
Napajalna napetost (meje) 6-20V
Digitalni vhodi/izhodi 54 (12 tudi kot PWM)
Analogni vhodi 16
DC tok na vhodni/izhodni pin 40mA
DC tok na 3.3Vpin 50mA
Flash pomnilnik 256 KB, od katerih 8 KB porabi platforma
(bootloader)
SRAM 8 KB
EEPROM 4 KB
ClockSpeed 16 MHz
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 13 -
3.3 Komunikacija
Arduino ADK ima več možnosti za komunikacijo z računalnikom, drugo Arduino napravo ali
drugo strojno opremo. ATmega 2560 omogoča štiri UART priključke s TTL (5V) serijsko
komunikacijo. Preko USB priključka lahko vzpostavimo virtualno serijsko (COM port)
komunikacijo. ATmega2560 pravtako podpira TWI in SPI komunikacijo. USB host preko
MAX3421E omogoča, da se ADK Arduino poveže s katerokoli napravo, ki podpira USB
komunikacijski protokol.
3.3.1 Bluetooth komunikacijski moduli
Za testiranje povezave smo uporabili različne Bluetooth module. V nadaljevanju bomo opisali
dva, ki smo ju priključili in preizkusili.
3.3.2 Bluetooth modul JY-MCU V1.05
Ta modul je cenovno dostopen in se uporablja pri mnogih Arduino aplikacijah. Možno mu je
nastaviti različne parametre, kot na primer: hitrost prenosa podatkov, povezovanje z drugimi
moduli… Modul je prikazan na sliki 11. Njegove karakteristike so prikazane v Tabeli 4:
Tabela 4: Karakteristika JY-MCU modula
SCSR Čip: Bluetooth v 2.0
Signal 2.4 GHz-2.8 GHz, ISM Band
Protokol Bluetooth v 2.0
Močnostni razred (+6dbm)
Sprejemna občutljivost -85dBm
Napajalna napetost 3.3 (2.7V - 4.2V)
Električni tok Povezovanje - 35mA, Povezano- 8mA
Temperatura delovanja -40 -> +105°C
Hitrost prenosa 4800, 9600, 19200, 38400, 57600,
115200, 230400,460800
Dimenzije 26.9 mm x 13mm x 2.2mm
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 14 -
Ta modul je bil že pripravljen za nadaljnjo priključitev na krmilniško kartico, tako da ni bilo
potrebnih dodatnih modifikacij (glej seznam uporabljenih virov [7]).
Slika 11: Bluetooth modul JY-MCU
Za pravilno delovanje Bluetooth povezave je potrebno napravam določiti njihovo funkcijo,
bolj znano kot funkcijo gospodar - suženj (Master – Slave). To si lahko razlagamo na
naslednji način. Potrebujemo sistem, imenovan gospodar, v našem primeru je to
mikrokrmilnik z Bluetooth modulom in sistem, ki mu je podrejen, v našem primeru merilni
sistem. Te funkcije so že fiksno določene oziroma jih lahko sami določimo. V našem primeru
funkcije gospodarja nismo mogli določiti Bluetooth modulu, ker je bil konfiguriran samo v
načinu sužnja. Zaradi tega smo uporabili drugi modul.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 15 -
3.3.3 Bluetooth modul RN-42 - FLY-477
Je modul s pregrajeno anteno podjetja Roving Networks. Modul ima SMD priključke, zato je
bilo potrebno narediti prilagoditveno ploščico (slika 12) za priključitev na mikrokrmilniško
karto (glej seznam uporabljenih virov [8]). Karakteristike modula so prikazane v Tabeli 5.
Slika 12:Bluetooth modul RN-42
Tabela 5: Karakteristika Bluetooth modula RN-42
SCSR integrirano vezje: Bluetooth v2.0
Signal 2.4 GHz - 2.8 GHz, ISM Band
Protokol Bluetooth V2.0
Prenos SPP 240 Kbps (suženj), 300 Kbps
(gospodar)
Vgrajeni profili GAP, SDP, RFCOMM, L2CAP
Napajalna napetost 3.3 (2.7V - 4.2V)
Električni tok Oddajanje - 30mA, povezano- 3mA
Certifikati FCC, ICS, CE
Hitrost prenosa 4800, 9600, 19200, 38400, 57600,
115200, 230400,460800
Dimenzije 13.4 mm x 20 mm x 2 mm
Ta modul smo konfigurirali v način gospodarja in ga povezali z merilnim sistemom. Več o
povezavi in testiranji bo podano v naslednjem poglavju. Povemo lahko tudi to, da je ta modul
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 16 -
namenjen profesionalni uporabi, kar pomeni, da je povezava zanesljivejša in izdelava
kvalitetnejša
3.4 EMG elektrode
Slika 13:EMG elektrode
Za izvedbo meritev stimulacije mišic uporabimo elektrode oziroma kontakte, kot so prikazani
na sliki 13. Elektrode vsebujejo tri kontakte, ki se namestijo na kožo. Ti kontakti imajo
naslednje oznake:
• R predstavlja kontakt, ki se namesti na začetek mišice.
• L predstavlja kontakt, ki se namesti v sredino merjene mišice.
• O predstavlja referenčni kontakt, ki ga namestimo na koščeni del telesa.
Omeniti velja, da so to pasivne elektrode, saj ne vsebujejo aktivnih merilnih elementov.
Služijo samo kot kontakti. Za obdelavo je potrebno izdelati svoj ojačevalni sistem. Za kontakt
po celi površini elektrode skrbijo elastični trakovi. Ta komplet elektrod je namenjen mobilnim
aplikacijam meritve EMG signala.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 17 -
3.5 Preizkuševalna merilna platforma
Za preizkušanje vodenja se je zgradila mobilna platforma (slika 14). Platforma je sestavljena
iz aluminija. Za pogon služita dva neskončno vrteča se modelarska servomotorja.
Servomotorja sta krmiljena s PWM signaloma, ki ju generiramo z mikrokrmilnikom.
Servomotorja sta opremljena vsak s svojim kolesom, ki služi za pogon sistema. Tretje kolo je
namenjeno stabilizaciji platforme. Na to platformo namestimo mikrokrmilniško kartico s
prilagoditveno ploščo, narejeno iz pleksi stekla. Napajanje mikrokrmilnika in motorjev je
izvedeno z 9 V baterijo. Platforma je namenjena predvsem testiranju.
Slika 14:Mobilna platforma
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 18 -
4 ZAJEMANJE IN PREIZKUŠANJE PODATKOV
V tem poglavju bomo predstavili obdelavo zajetih podatkov in povezovanje merilnega
sistema s prenosnim računalnikom, pametnim telefonom in mikroprocesorsko karto.
Navedene bodo razlike v pristopih in težave, s katerimi se moramo soočiti pri izvedbi
povezave. Prikazane bodo tudi vizualizacije in testiranja, ki smo jih izvedli s prosto
dostopnimi programi.
4.1 Povezovanje merilnega sistema z različnimi platformami
Omenili smo že, da smo preizkusili povezavo merilnega sistema na različnih platformah. V
tem primeru smo se osredotočili na osebni računalnik in pametni telefon. Povezava v obeh
primerih poteka preko Bluetooth protokola. Pri tem smo naleteli na posamezne težave in
spoznanja, ki bodo opisana v nadaljevanju.
4.1.1 Povezovanje s pametnim telefonom
Za testiranje te povezave smo uporabili pametni telefon z operacijskim sistemom Android. V
spletni trgovini "Android market" se nahajajo aplikacije, ki so posebej prirejene za naš merilni
sistem. Na operacijski sistem smo najprej naložili program Brainwave Visualizer (slika 15)
(glej seznam uporabljenih virov [9]). Ta programska oprema nam omogoča spremljanje
podatkov iz merilnega sistema v realnem času.
Slika 15: Program za vizualizacijo podatkov Brainwave Visualizer
Izhodni podatki iz naprave so predstavljeni na zgornji sliki. S krožnim grafom smo ponazorili
spreminjanje frekvenčnih vrednosti meritev. Opis in pomen vrednosti smo zapisali že v
prejšnjem poglavju. Podatki, izmerjeni in predstavljeni v krožnem grafu, so nato uporabljeni v
izračunu sproščenosti in zbranosti, ki ju predstavljata dva potenciometra. Gole podatke lahko
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 19 -
vidimo na grafu, prikazana je odvisnost frekvence od jakosti signala. Konice, ki jih vidimo v
neobdelanem signalu, ne predstavljajo motenj ampak kontrakcijo očesnih mišic. Iz tega
signala je na to možno razbrati,kdaj je uporabnik pomežiknil. Ta program je namenjen
predvsem vizualizaciji in predstavitvi sistema. Pohvalimo lahko njegov videz in zasnovo, saj
uporabniku približa dejanske zajete podatke in jih interpretira na človeku razumljiv način.
Sama povezava merilnega sistema s telefonom je potekala brez kakršnih komplikacij.
Povezava se vzpostavi preko Bluetooth menija na telefonu. Potrebno je samo vnesti pravilno
kodo za vzpostavitev povezave, v našem primeru 0000. Povezava se nato vzpostavi
avtomatsko. V nadaljevanju bomo videli, da pri drugih sistemih to ne velja.
4.1.2 Povezava in obdelava podatkov na osebnem računalniku
Za uspešno izvedeno povezavo med merilnim sistemom in osebnim računalnikom je potrebno
na osebni računalnik naložiti nekaj programov. Da sploh lahko izvedemo povezavo, mora biti
izpolnjen naslednji pogoj. Osebni računalnik mora imeti vgrajen Bluetooth modul z vsemi
gonilniki ali pa ga je potrebno dokupiti in namestiti. Naš uporabljeni računalnik je imel ta
modul že vgrajen.
Za začetek vzpostavitve povezave smo morali na osebni računalnik namestiti
programsko opremo, ki je bila priložena merilnemu sistemu. Ta je vsebovala vizualizacijski
program in posebne gonilnike, ki predstavljajo vmesni člen med programi in merilnim
sistemom.
Slika 16: Vzpostavitev povezave z osebnim računalnikom
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 20 -
V nastavitvah Bluetooth računalniškega modula je najprej potrebno dodati novo
napravo. Postopek je zelo dobro dokumentiran v samem programu in ga ne bomo posebej
opisovali. Potrebno je samo slediti navodilom in vzpostavitev povezave bo uspešna. Merilni
sistem za pravilo delovanje potrebuje, kot smo že omenili, vmesniški program oziroma
gonilnik za povezavo z ostalimi programi. Ta se imenuje Think Gear Connector. Na sliki 16
je prikazana nastavitev, ki mora biti izvedena, sicer povezava ne bo uspešna. Ob prvi
povezavi se vsem Bluetooth napravam dodelijo komunikacijska vrata (COM port). Ta vrata
nam omogočajo komunikacijo z drugimi programi. V našem primeru moramo nastaviti
identična vrata, kot so bila določena tudi v gonilniku. S tem dejanjem se lahko povežemo z
različnimi programi in začnemo uporabljati poslane podatke.
Poudariti je potrebno, da prioriteta magistrske naloge ni obdelava in uporaba podatkov
na osebnem računalniku, ampak na mikrokrmilniku. V ta name smo preučili možnosti
obdelave podatkov z različnimi programi: MATLAB, LabWiew, PuzzleBox… Vsi ti
programi nam omogočajo obdelavo in zajemanje podatkov. To je omogočeno s posebej v ta
namen razvitimi knjižnicami in projekti. Slabost je, da za delovanje potrebuješ osebni
računalnik. Temu se mi skušamo izogniti, saj izdelujemo mobilno aplikacijo in ne
stacionarne.
4.1.3 Testiranje PuzzleBox programa
Slika 17: Čelna plošča Puzzle Box programa
Puzzle box (slika 17) je inovativen program, ki omogoča vodenje različnih stvari s pomočjo
naglavnih senzorjev. Razvit je bil v neprofitni organizaciji, ki združuje ljubiteljske
znanstvenike in raziskovalce iz vsega sveta. Razvili so program za vodenje različnih naprav,
kot so na primer RC avtomobilčki, helikopterčki, mobilne platforme in roboti. Program je
namenjen predvsem predstavitvenim namenom. Pri našem projektu nam je bil ta program v
veliko pomoč, saj nam je dal smernice za naše delo. Ena izmed aplikacij je tudi voziček za
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 21 -
invalide. Programska usklajenost tega programa se je dokaj skladala z našimi načrti, zato smo
dobili vpogled v dejanski izveden primer. Za predstavitvene namene smo uporabili preprost
robot (slika 18) z LEGO Mind Storms krmilnikom. Upravljali smo ga z naglavnim merilnim
sistemom, samo vodenje je bilo izvedeno na osebnem računalniku. Povezava med robotom in
osebnim računalnikom je bila dvosmerna preko Bluetooth protokola. To pomeni, da je bil
osebni računalnik gospodar, robot in merilni sistem pa sužnja. Za predstavitvene namene se je
ta aplikacija zelo dobro izkazala (glej seznam uporabljenih virov [10]).
Slika 18: LEGO robot in merilni sistem
4.2 Zajemanje in obdelava podatkov s pomočjo mikrokrmilnika
Kot cilj smo si zadali, da bomo za obdelavo izmerjenih podatkov uporabili mikrokrmilnik. V
ta namen je bilo najprej potrebno povezati in zagnati Bluetooth modul. Najprej smo
poizkušali vzpostaviti povezavo s JY-MCU modulom. Vsak modul ima štiri priključke: masa
(GND), napajanje (Vcc), oddajanje (Tx) in sprejemanje (Rx). Te priključke je potrebno
priključiti na mikrokrmilniško ploščico v naslednjem zaporedju (slika 19):
Bluetooth TX ----->ArduinoMega RX (priključek 0)
Bluetooth RX ----->ArduinoMega TX (priključek 1) čez napetostni delilnik
Bluetooth GND ----->Arduino GND priključek
BluetoothVcc ----->Arduino3.3V priključek
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 22 -
Za pravilno delovanje smo morali uporabiti napetostni delilnik. Ta nam prilagodi napetosti
med modulom in mikrokrmilnikom. To je potrebno zaradi tega, ker mikrokrmilnik deluje s 5
V napetostjo, Bluetooth modul pa s 3.3 V napetostjo. V ta namen smo z upori naredili
preprost napetostni delilnik in ga vstavili med sprejemni priključek mikrokrmilnika in oddajni
priključek modula. Tako je modul priključen in pripravljen za uporabo (glej seznam
uporabljenih virov [11]).
Slika 19:Povezava Mikrokrmilnika z modulom
Na mikrokrmilnik smo naložili preprosti program1, ki nam je pošiljal podatke preko
Bluetooth modula, ki smo ga po prej opisani metodi povezali z osebnim računalnikom. Za
vizualizacijo in kasnejše nastavitve modula smo uporabili prosto dostopen program,
imenovan Tera Term (glej seznam uporabljenih virov [12]). Ta program nam omogoča
sprejemanje in pošiljanje podatkov preko različnih vodil, ki so nam na razpolago v osebnem
računalniku. Mi smo ga uporabili za preprosto testiranje komunikacije, kar prikazuje slika 20.
Slika 20: Testiranje komunikacije
1 Program se nahaja v prilogi [1].
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 23 -
Testiranje je bilo izvedeno uspešno. Sedaj smo vzpostavili povezavo med osebnim
računalnikom in mikrorkrmilnikom. V naslednji fazi je potrebno povezati mikrokrmilnik z
merilnim sistemom. Najprej je potrebno opraviti konfiguracijo Bluetooth modula. V ta namen
smo uporabili program Tera Term.
Konfiguracija je zajemala sledeče korake:
1. Sprememba načina delovanja iz načina suženj v gospodar
2. Sprememba hitrosti prenosa iz 115200 bps na 57600 bps
3. Nastavitev avtomatske kode za povezovanje
4. Določitev avtomatske vzpostavitve povezave
5. Vpis MAC naslova naprave, s katero se naj modul poveže
6. Shranjevanje nastavitve v modul
Ko je modul povezan s Tera Term programom, smo lahko začeli s konfiguracijo. Najprej je
bilo potrebno modul prestaviti v konfiguracijski način. To se izvede z ukazom $$$, prikaže se
CDM, ta kratica označuje, da smo v konfiguracijskem načinu. Vpišemo ukaz D, izpišejo se
nam nastavljene vrednosti. Z ukazom SP,0000 nastavimo novo geslo za povezovanje.
Nadaljujemo z ukazom SM,3 ta ukaz postavi režim delovanja modula v avtomatsko
vzpostavitev povezave. Na to je potrebno vnesti MAC naslov naprave, s katero se bo modul
avtomatsko povezal. Ukaz za to je SR,MAC ADDRESS, v našem primeru se to izvede na
sledeči način: SR,9cb70d89e5eb. Ta naslov je dodeljen specifični napravi in je unikaten, tako
da se modul ne more povezati z drugo napravo. Nato nastavimo še prenos hitrosti. V ta namen
je potrebno vpisati ukaz SU,57.6, s katerim spremenimo hitrost prenosa podatkov na 57600
bps. Za izhod iz konfiguracijskega načina vpišemo ---, s tem dejanjem se shranijo nastavitve
in modul je pripravljen za uporabo.
Bluetooth modula JY-MCU ni bilo mogoče konfigurirati na prej opisani način. Zaradi te
težave smo uporabili modul RN-42. Po izvedbi prilagoditvenega vezja, smo priključili modul
na mikroprocesorsko kartico in izvedli konfiguracijo. Pri tem modulu ni bilo posebnih težav.
Povezava z merilnim sistemom se je vzpostavila, kot smo pričakovali, in začeli so se pošiljati
podatki.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 24 -
4.2.1 Zajeti podatki
V merilnem sistemu se zajeti podatki obdelajo s posebnim algoritmom, ki ga je razvil in
patentiral proizvajalec. Do tega algoritma nimamo dostopa. Lahko pa preberemo izhodne
podatke. Ti so zloženi v paket (slika 21), ki je del Bluetooth protokola za pošiljanje podatkov
po tem vodilu. Paket je sestavljen na sledeč način.
Slika 21: Bluetooth paket
Glavo paketa predstavljajo trije zlogi in sicer: dva sinhronizacijska zloga in zlog, ki
predstavlja dolžino paketka. Sinhronizacijska zloga predstavljata začetek novega paketa.
Potrebna sta dva, da vemo, kdaj se začne nov paket. Zlog za dolžino paketa nam poda
informacijo o celotni dolžini podatkov v paketu. Njegova vrednost lahko sega od 0 do 169. Če
je na tem mestu zapisana vrednost, ki ni v območju, to naznanja, da je prišlo do napake.
Podatki so osrednji in s tem tudi največji del paketa. V tem delu se nahajajo informacije,
izmerjene z merilnim sistemom. Velikost podatkovnega dela lahko zajema območje med 0 in
169. V tem območju se pošlje struktura, ki je že opisana v prejšnjem poglavju. V njej pa lahko
najdemo vse izmerjene parametre, kot so: zbranost, sproščenost, neobdelani podatki (raw),
frekvenčne vrednosti… Te podatke nato z algoritmom preberemo in jih uporabimo.
Kontrolni del paketka je namenjen preverjanju uspešnega prenosa paketa. Zajema
informacijo o pravilnosti paketa. Izvede se tako, da sešteje vse vrednosti podatkov paketa in
seštevek zapiše v checksum. S tem nam poda podatek, ali je prišlo do napake pri prenosu ali
tvorjenju paketa. Pred obdelavo podatkov je vedno potrebno preveriti kontrolni del in se s tem
prepričati, da je bil prenos paketa pravilen.
kontrola
Sinhronizacija Sinhronizacija Dolžina paketa PODATKI Kontrola
Glava paketa podatki
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 25 -
4.2.2 Obdelava podatkov na mikroprocesorski karti
Obdelavo zajetega paketa smo izvedli s pomočjo v prilogi dokumentiranega algoritma2, ki
nam ga je posredoval proizvajalec merilnega sistema. V tem algoritmu so podatki iz paketa
razčlenjeni in obdelani (slika 22) ter uporabljeni v nadaljnjem postopku vodenja. Po korakih
bomo opisali postopek razčlenjevanja paketa in prikazali preprosto aplikacijo za prikaz
pravilnega delovanja algoritma.
Slika 22: Diagram poteka razčlenitve podatkov
2Algoritem za obdelavo paketa se nahaja v prilogi [2].
Inicializacija
Vzpostavimo komunikacijo in
preberemo podatke
Preverimo, če je vrednost podatkov >170
DA
Podatke zapišemo v pomnilnik
Preverimo pravilnost prenosa
podatkov checksum
NE PRAVILEN PRENOS
Izvedba vodenja
PRAVILEN PRENOS
NE
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 26 -
1. Določanje spremenljivk: V začetnem delu programa je potrebno najprej določiti
spremenljivke, ki jih uporabimo pri pisanju in izvedbi programa. Spremenljivke so
razdeljene na sistemske spremenljivke (potrebne so pri zajemanju paketa),
spremenljivke za izvedbo razčlenitve in splošne spremenljivke (določajo vhode in
izhode mikroprocesorja).
2. Nastavitev vhodov in izhodov mikrokrmilniške karte: Spremenljivkam, določenim v
prejšnjem koraku, dodelimo fizični vhod ali izhod na mikrokrmilniški karti.
3. Funkcija za vzpostavitev prenosa podatkov: Ta funkcija služi preverjanju, če je
serijska povezava mogoča. Če je ta pogoj izpolnjen, se lahko začne prenos podatkov.
V tem programu je definirana kot samostojna funkcija in jo je potrebno priklicati v
začetku glavnega programa.
4. Glavni program: V glavnem programu se izvaja program za razčlenitev paketa.
a. Najprej se preveri velikost paketa. Če je ta enaka 170-im zlogom, vemo, da je
paket pravilno prenesen, in se premaknemo naprej v programu. Ta vrednost
vsebuje sinhronizacijski zlog in 169 podatkovnih zlogov.
b. Nato moramo preveriti, če količina prenesenih podatkov ne presega vrednosti
169 zlogov. Če je ta pogoj izpolnjen, lahko prenesemo podatke v pomnilnik
mikroprocesorja.
c. Pred samo razčlenitvijo podatkov preostane še preverjanje kontrolnih
vrednosti. V tem delu naprej preberemo kontrolni zlog iz podatkovnega vodila
in ga shranimo v spremenljivko checksum. Enakost spremenljivke checksum je
potrebno preveriti z vrednostjo števila shranjenih prenesenih zlogov v
pomnilniku. Najprej je potrebno narediti kompliment shranjenih podatkov in
nato izvesti primerjavo. Če sta vrednosti enaki, se je shranjevanje v pomnilnik
izvedlo pravilno. V nasprotnem primeru se celoten paket zavrže.
d. Ko so vsi prej omenjeni pogoji izpolnjeni, lahko začnemo z razčlenitvijo
podatkov. Izvedemo jo s for zanko in switch stavkom. For zanka je potrebna,
da razčlenimo vse zloge v paketu, v našem primeru jih je 169. Nato s switch
stavkom preberemo nam pomembne podatke iz lokacij, ki so zapisane v
dokumentaciji. V tem primeru smo prebrali podatke o zbranosti, sproščenosti
in kvaliteti podatkov. Le-ta pove, ali je zajemanje z merilnim sistemom
uspešno. Vzroki za napake so lahko slab kontakt merilnega senzorja, slaba
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 27 -
napajalna baterija… S tem dejanjem je razčlenjevanje zaključeno. V prej
določene spremenljivke so se zapisale vrednosti, ki bodo v nadaljevanju
uporabljene za izvajanje programa.
5. V nadaljevanju programa se izvede prikaz razčlenjenih podatkov. Najprej se izvede
izpis vrednosti na zaslonu. Tako lahko razvijalec spremlja spreminjanje podatkov in
morebitne napake.
6. V programu je izveden še prikaz z uporabo svetlečih diod (LED), ki so povezane na
vhodno-izhodne enote mikrokrmilnika. V tem primeru je uporabljenih 10 izhodnih
enot. Na njih so z uporom vezane svetleče diode. Program je zastavljen tako, da s
pomočjo switch stavka preklapljamo posamezna svetila. Vhodni podatek za preklop je
zbranost, ki je skalirana med 10 in 100. V odvisnosti od vrednosti te spremenljivke se
vklapljajo svetleče diode.
Slika 23: Prikaz delovanja programa
Na sliki 23 je prikazano testno vezje za testiranje programa. Razvijalci v podjetju Neurosky so
zagotovili testni program, s katerim je možno razvijati svoje aplikacije. Ta program je služil
kot podlaga za razvoj naše aplikacije.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 28 -
5 ZAJEMANJE EMG SIGNALOV
EMG signali so signali, ki jih lahko zaznamo med krčenjem mišic. Za zajemanje teh signalov
potrebujemo posebne elektrode. Te se namestijo na kožo nad mišico, katere krčenje hočemo
meriti. Za meritev potrebujemo 3 elektrode: levo, desno in referenčno. Elektromagnetni
signali, ki se tvorijo med stimulacijo mišic, so reda 100 do 1000 μV (glej seznam uporabljenih
virov [13]). Ob pravilni obdelavi so zanesljivejši kot EEG signali, saj je njihova vrednost
nekaj deset krat večja. Problem se pojavi zaradi onesnaženosti samega signala. Vrednost
zajetega signala se močno približa naravnemu šumu, zato ga je potrebno pravilno filtrirati in
ojačati za nadaljno uporabo. V nadaljevanju bo predstavljeno ojačevalniško vezje s preračuni
in rezultati testiranja (glej seznam uporabljenih virov [14]).
Slika 24: Shematski prikaz merilnega sistema
5.1 Komponente ojačevalnika
Za izdelavo ojačevalnega vezja potrebujemo naslednje komponente:
1. Diferenčno ojačevalno integrirano vezje INA 106 proizvajalca Texas Instruments
2. Nizko šumno integrirano vezje z dvema operacijskima ojačevalnikoma TL072
proizvajalca Texsas Instruments
3. Upore različnih vrednosti
4. Kondenzatorje različnih vrednosti
5. Dve diodi tipa 1N4148
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 29 -
5.2 Shema ojačevalnega vezja
Celotno ojačevalno vezje lahko razdelimo na štiri stopnje. V nadaljevanju bo vsak del posebej
razložen in opisan.
5.2.1 Prva stopnja – diferenčni ojačevalnik
Za ojačenje EMG signala potrebujemo dve sondi. Signal izmerimo tako,da dobimo razliko
med obema vhodnima potencialoma. V ta namen uporabimo diferenčni ojačevalnik (slika 25)
(glej seznam uporabljenih virov [15]).
Slika 25:Shema diferenčnega ojačevalnika
Izhod iz ojačevalnika predstavlja razlika vhodnih signalov, pomnoženih z ojačenjem. Izračun
izhodne vrednosti lahko zapišemo z enačbo (5.1):
𝑉𝑉𝑜𝑜𝑜𝑜𝑜𝑜 = 𝑅𝑅1+𝑅𝑅𝑓𝑓𝑅𝑅1
∙ 𝑅𝑅𝑔𝑔𝑅𝑅𝑔𝑔+𝑅𝑅2
∙ 𝑉𝑉2 −𝑅𝑅𝑓𝑓𝑅𝑅1∙ 𝑉𝑉1 (5.1)
Vout [V] -izhodna napetost
R [Ω] -upornost
V1 [V] - vhodna napetost
V2 [V] - vhodna napetost
Če poenostavimo enačbo (5.1), in velja pogoj:
1 2
f gR RR R
= , (5.2)
dobimo novo enačbo za izračun izhodne vrednosti:
2 11
( )fout
RV V V
R= ⋅ − , (5.3)
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 30 -
kjer razmerje 𝑅𝑅𝑓𝑓𝑅𝑅1
predstavljata ojačenje ojačevalnika A.
V našem primeru smo za ojačenje signala uporabili integrirano diferenčno ojačevalno vezje
INA 106. Vezava je sledeča:
Slika 26:Vezava diferenčnega ojačevalnika
Za diferenčni ojačevalnik(sliki 26) smo preračunali in izbrali upore tako, da smo nastavili
ojačenje na 110. Vrednosti izbranih uporov so naslednje R1=R3= 10kΩ in R2=R4=1.1MΩ.
Na ta način se prva stopnja obdelave signala dovolj ojača, da lahko nadaljujemo z obdelavo
signala.
5.2.2 Druga stopnja – invertirani ojačevalnik in visokopasovni aktivni filter
Kot že ime pove, invertirani ojačevalnik vhodni signal ojači in preslika v negativno vrednost
na izhodu. Ojačitev nastavimo s pomočjo zunanjih uporov Rin in Rf. Shemo ojačevalnika
prikazuje slika 27.
Slika 27:Invertirajoči ojačevalnik
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 31 -
Izhod iz ojačevalnika lahko zapišemo z enačbo (5.4):
𝑉𝑉𝑜𝑜𝑜𝑜𝑜𝑜 = − 𝑅𝑅𝑓𝑓𝑅𝑅𝑖𝑖𝑖𝑖
∙ 𝑉𝑉𝑖𝑖𝑖𝑖 , (5.4)
pri čemer je ojačenje sistema
A= f
n
RR
− . (5.5)
V našem primeru smo uporabili naslednje vrednosti uporov: Rf= 150 kΩ in Rin= 10 kΩ. Če
vstavimo te vrednosti v enačbo, dobimo na izhodu ojačenje A= -15.
Visoko pasovni aktivni filter
Visokoprepustni filter prepušča visoke frekvence signalov ter zmanjša amplitudo signalom,
katerih frekvenca je nižja od mejne frekvence. V tem primeru bomo uporabili aktivni
visokopasovni filter z operacijskima ojačevalnikom.
Slika 28: Aktivni visokoprepustni filter
Za aktivni filter na sliki 28 lahko izračunamo mejno frekvenco po enačbi (5.6):
1
1 12 2cf R Cπτ π
= = (5.6)
f c [Hz] - mejna frekvenca
C [F] - kapacitivnost
Po vstavitvi izbranih vrednosti v enačbo (5.6) vidimo, da mejna frekvenca znaša:fc= 106.103
Hz. Vrednosti elementov so naslednje: C = 10 nF in R1 = R2 = 150 kΩ. Filter je preračunan
tako, da vse signale, ki imajo višjo frekvenco od nastavljene fc,,prepušča, nižje frekvence pa
izfiltrira. Izhodno ojačenje izračunamo po naslednji enačbi (5.7) in dobimo:
A= 2
1
RR
− = -1. (5.7)
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 32 -
Na ta način signal, ki smo ga v prejšnjem koraku invertirali, sedaj filtriramo in pozitivno
predznačimo. S tem filtrom ne odpravimo samo nizkih frekvenc ampak tudi DC offset. Ta
postopek odprave je pomemben, saj lahko na drugi način offset vpliva na nastavljeno delovno
točko ojačevalnika ali privede do zasičenja sistema. Z odpravo enosmerne komponente ostane
samo izmenična komponenta signala. Ta zajema efektivni signal.
Združitev invertirajočega ojačevalnika in aktivnega visoko pasovnega filtra je prikazana na
sliki 29.
Slika 29:Invertni ojačevalnik in visokoprepustni filter
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 33 -
5.2.3 Tretja stopnja – usmerjanje signala
Obdelan izmenični signal iz prejšnjih stopenj je potrebno usmeriti za zajemanje z
mikrokrmilnikom. To izvedemo z aktivnim polnovalnim usmernikom na sliki 30 (glej seznam
uporabljenih virov [16]).
Slika 30: Aktivni polnovalni usmernik
Usmernik v takšni konfiguraciji usmeri izmenični signal, tako da dobimo pozitivne vrednosti
signala. Negativne vrednosti signala se preslikajo v pozitivne, kot je prikazano na sliki 31.
Ojačanje A=1, tako da na izhodu iz usmernika dobimo pozitivni signal.
Slika 31:Polnovalno usmerjanje signala
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 34 -
5.2.4 Četrta stopnja – nizkopasovni filter in končno ojačenje signala
Za glajenje pridobljenega signala iz prejšnje stopnje bomo uporabili nizkopasovni aktivni
filter (slika 32). Filter prepušča nizkofrekvenčne signale ter zmanjša amplitudo signalom,
višjim od mejne frekvence. Tudi ta filter je aktiven, saj za njegovo delovanje uporabimo
operacijski ojačevalnik (glej seznam uporabljenih virov [17]).
Slika 32: Aktivni nizkopasovni filter
Mejno frekvenco nizkopasovnega filtra izračunamo po naslednji enačbi:
1
12cf R Cπ
= . (5.8)
Ob vstavljanju podatkov v enačbo (5.8) dobimo mejno frekvenco nizkopasovnega filtra
fc=1.89 Hz. Izbrane vrednosti elementov so R1 = R2 = 80.6 kΩ in C = 1 μF. Ojačenje na
izhodu iz filtra izračunamo po enačbi (5.9):
A= 2
1
RR
− . (5.9)
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 35 -
Ker sta upora R1 in R2enaka, je ojačenje A= -1. Kot vidimo, je izhod negativen, zaradi tega je
potrebno signal invertirati. V ta namen se na koncu doda še invertni ojačevalnik s
spremenljivim ojačenjem (slika 33). Delovanje tega ojačevalnika smo že opisali. Tako lahko
vplivamo na jakost končnega signala iz ojačevalnega vezja in ga prilagajamo potrebam
mikrokrmilnika (glej seznam uporabljenih virov [18]). Za pravilno delovanje smo izbrali
naslednje vrednosti elementov R1 = 1 kΩ in R2 predstavlja potenciometer z nastavljivo
vrednostjo od 0 do 20 kΩ.
Slika 33: Nizkopasovni filter z invertirajočim ojačevalnikom
- 36 -
Slika 34: Shema celotnega ojačevalnega vezja
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 37 -
5.3 Rezultati testiranja
Po sestavitvi vseh delov ojačevalnega vezja na testni plošči smo lahko opravili testiranja.
Zaradi zasnove elektrod smo jih za testne namene namestili na biceps ene izmed rok. Ta
mišica je dokaj velika in predvidevali smo, da iz nje lahko dobimo močan signal. Signal, zajet
z elektrodami, je odvisen od velikosti mišic in njihove mase. Večja kot je mišica, večji bo
izmerjen signal. Vzpostavili smo kontakt s kožo in elektrodami in pričeli z izvajanjem
meritev. Najprej smo vrednosti spremljali z opazovanjem vrednosti napetosti na voltmetru.
Ko se mišica skrči, se v mišičnih vlaknih tvori elektromagnetni signal. Z diferenčnima
sondama, ki ju namestimo na začetek in sredino mišice, lahko ta signal zajamemo. V ta
namen je izvedeno ojačevalno vezje z diferenčnim ojačevalnikom. Jakost zajetega signala je
odvisna tudi od moči, s katero mišico napnemo. Če napnemo mišico z večjo močjo, dobimo
močnejši odziv.
Prvi rezultati meritev so pokazali, da v nestimuliranem stanju mišice dobimo na izhodu
ojačevalnega vezja signal, katerega vrednost znaša 0,04 V. Ob rahli stimulaciji mišice se
signal dvigne na vrednost, ki se nahaja v območju med 1,9 in 2,6 V. Ob napeti mišici dobimo
z večjo močjo signal v območju od 5 do 7 V. Ta območja lahko prilagodimo s
potenciometrom, ki nastavlja ojačenje zadnje ojačevalne stopnje. Signal, ki ga dobimo po
obdelavi iz ojačevalnega vezja, je možno priključiti na mikrokrmilnik. Obdelan signal
priključimo na analogni vhod mikrokrmilnika, kjer izvedemo pretvorbo iz analogne v
digitalno. Tako podatek digitaliziramo in ga lahko uporabimo v programu.
Signale iz ojačevalnega vezja smo posneli s pomočjo osciloskopa. Prikazani bodo na
naslednjih slikah.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 38 -
Slika 35: Nestimulirano stanje mišice
Na sliki 35 je podan odziv signala na nestimulirano mišico. Vrednost signala se torej giblje
okrog 0. Manjšo vrednost dobimo zaradi kakšne motnje oziroma pritrditve kontaktov na kožo.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 39 -
Slika 36: Odziv na manjšo stimulacijo mišice
Ob sami stimulaciji mišice se pojavi v signalu konica. Ob manjši stimulaciji (slika 36) ta
predstavlja vrednosti med 0 in 1,7 V. Te vrednosti so zaznavne z mikrokrmilnikom, tako da
ne potrebujemo močnih stimulacij za zajemanje signalov. Preizkus je pokazal, da je ob
namestitvi sond na krajše mišice možno izmeriti signal.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 40 -
Slika 37: Odziv na močno stimulacijo mišice
Na sliki 37je prikazan odziv signala na močno stimulacijo mišic. Signal se v tem primeru
giblje med 0 in 6,8 V. Za zajet primer smo opravili več zaporednih stimulacij.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 41 -
6 IZVEDBA VODENJA
Za izvedbo vodenja mobilne robotske platforme smo uporabili naglavni merilni sistem.
Signalov, zajetih z EMG senzorjem, nismo vključili v vodenje. Preizkusili smo jih samo na
mikrokrmilniški kartici. Z obstoječo opremo namreč nismo mogli narediti še enega sistema za
obdelavo in brezžično komunikacijo z mobilno platformo. Zaradi priključitve EMG senzorjev
je potrebno imeti samostojno mikrokrmilniško kartico za obdelavo signalov in svojo kartico
za krmiljenje mobilne platforme. Med njima mora potekati brezžična komunikacija. V našem
primeru smo mikrokrmilniško karto namestili na mobilno platformo in na njej izvedli vodenje
in obdelavo merilnih signalov iz naglavnega merilnega sistema. V nadaljevanju bo prikazan
postopek vodenja mobilnega sistema.
Kot šablono za pisanje programa smo uporabili program za zajemanje in obdelavo
podatkov, ki smo ga opisali v tretjem poglavju.
Cilj vodenja mobilnega sistema je sposobnost spreminjanja smeri vožnje s pomočjo
naglavnega merilnega sistema, ki nam omogoča zajemanje EMG signala ob kontrakciji očesa.
Ta signal je zanesljiv in ga je možno uporabiti za preklop stanj vodenja. Ker podatek o
kontrakciji ni direktno podan z merilnega sistema, ga je potrebno identificirati z neobdelanega
zajetega signala merilnega senzorja. Neobdelan signal se pošlje preko Bluetooth protokola na
mikrokrmilniško karto.
6.1 Identifikacija kontrakcije očesne mišice
Iz razčlenjenega paketa podatkov je za izvedbo identifikacije potrebno najprej pridobiti
podatek o neobdelanem signalu. Tega smo zapisali v spremenljivko raw. Ker se meritev
izvaja neprekinjeno, je najboljši način za vizualno prezentacijo te vrednosti izris njenega grafa
(slika 38). V ta namen smo uporabili prosto dostopen program, imenovan Processing (glej
seznam uporabljenih virov [19]).
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 42 -
Slika 38:Vizualizacija podatkov v programu Processing
Program nam omogoča vzpostavitev povezave z razvojnim okoljem Arduino preko serijske
komunikacije. Nato lahko izbrane spremenljivke izpišemo ali izrišemo na grafu. Dobra
lastnost tega programa3 je, da lahko zajete vrednosti izvozimo v datoteko, ki jo lahko
odpremo z urejevalnikom podatkov kot na primer Microsoft Excel. Pridobljene podatke
uredimo in izrišemo graf. Na podlagi podatkov v grafu lahko izvedemo analize.
Slika 39: Prikaz neobdelanih podatkov
3 Program za zajemanje podatkov se nahaja v prilogi [3].
-800
-600
-400
-200
0
200
400
600
800
1 34 67 100
133
166
199
232
265
298
331
364
397
430
463
496
529
562
595
628
661
694
727
760
793
826
859
892
925
958
991
1024
1057
1090
1123
1156
1189
1222
1255
1288
1321
1354
1387
1420
1453
1486
1519
1552
1585
1618
1651
1684
1717
1750
1783
1816
1849
1882
1915
1948
1981
Vred
nost
zaje
tih p
odat
kov
Število zajetih podatkov
Raw
Raw
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 43 -
Graf na sliki 39 prikazuje neobdelane podatke iz merilnega sistema. Vidimo lahko, da se v
signalu pojavijo konice. Podobne so signalu, zajetem z EMG elektrodo in obdelanem na
ojačevalniškem vezju. Za pridobitev podatka kontrakcije mišice je potrebno identificirati vrh
konice. Iz grafa je razvidno tudi, da signal valovi. Pri tem je potrebna previdnost, da med
identifikacijo ne zajamemo nepotrebnih valov. Vidimo pa, da so konice, ki zaznamujejo
kontrakcije, veliko večje od ostali.
V program je identifikacija izvedena na sledeč način. Za identifikacijo vrha konice se
uporabi preprost if stavek. Pogoj je izpolnjen, če se vrednost neobdelanega signala nahaja v
določenem pasu. Najmanjša vrednost tega pasu znaša 790, največja pa 800. V tem območju se
nahaja vrh večine konic, ki so posledica kontrakcije očesne mišice. Poudariti velja, da se
očesna mišica obnaša podobno, kot smo dokazali v prejšnjem preizkusu z EMG elektrodami.
Tudi ta signal se spreminja glede na jakost stimulacije.
Problem pri očesni mišici je spontana stimulacija oziroma spontan pomežik. Tega živa
bitja naredimo nezavedno. Detekcija tega signala bi pomenila nezavedno spremembo stanja v
vodenju. V ta namen je detekcija izvedena za relativno velike vrednosti napetosti. Stimulacijo
mišice je zato potrebno narediti zavedno.
Za preklapljanje stanj moramo pridobljeno informacijo o kontrakciji shraniti in
uporabiti za namene preklopa. V ta namen se uvede spremenljivka BLINK. Vrednost te
spremenljivke postavimo ob inicializaciji na nič. Nato jo ob vsaki zabeleženi kontrakciji
povečamo za ena. Ko spremenljivka doseže vrednost osem, se postavi v začetno vrednost.
Krmiljenje hitrosti sistema v stanju ena je izvedeno s skaliranim podatkom o
koncentraciji. Ta podatek nam posreduje merilna naprava in je v območju med 0 in 100%.
Hitrost vrtljajev servomotorja, ki se giblje med minimalno 90 in maksimalno 135, smo
skaliranli na to vrednost. Program je zasnovan tako, da se hitrost motorjev spremeni, če se
koncentracija poveča nad 60 %. Sistem začne pospeševati.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 44 -
6.2 Izvedba vodenja
Za izvedbo vodenja določimo osem stanj sistema. Stanja medsebojno preklapljamo z
vrednostjo spremenljivke BLINK. Za vizualni prikaz prekopov in stanj sistema je uporabljenih
osem LED lučk. Vsaka od njih določa svoje stanje sistema. Na sliki 40 je prikazan diagram
prehajanja stanj. V nadaljevanju bodo opisana posamezna stanja vodenja.
Slika 40: Diagram prehajanja stanj vodenja
MIROVANJEStanje 0,2,4,6
Levi motor izključenDesni motor izključenModra LED vključena
NAPREJStanje 1
Levi motor vključenDesni motor vključenZelena LED vključena
DESNOStanje 3
Levi motor vključenDesni motor izključenRdeča LED vključena
LEVOStanje 7
Levi motor izključenDesni motor vključenRdeča LED vključena
NAZAJStanje 5
Levi motor vključenDesni motor vključenZelena LED vključena
BLINK = 1 BLINK = 2
BLINK = 5BLINK = 6
BLINK = 8
BLINK = 7
BLINK = 3
BLINK = 4
Vhod v sistem
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 45 -
Stanje 0: Mirovanje
To stanje bi lahko poimenovali začetno stanje sistema. Motorji mirujejo in prižgana je
modra lučka, ki oznanja mirovanje.
Stanje 1: Vožnja naprej
V tem stanju se sistem pomika naprej. Motorja sta vključena in se oba vrtita v enako
smer. Prižgana je zelena lučka, spremenljivka BLINK ima vrednost 1.
Stanje 2: Mirovanje
Sistem preide v začetno stanje, kjer motorji mirujejo in sveti modra lučka,
spremenljivka BLINK ima vrednost 2.
Stanje 3: Vožnja v desno
V tem stanju se sistem premika v desno. Levi motor miruje, desni se premika z
polovično hitrostjo naprej. Sveti rdeča lučka in spremenljivka BLINK ima vrednost 3.
Stanje 4: Mirovanje
Sistem preide v začetno stanje, kjer motorji mirujejo in sveti modra lučka,
spremenljivka BLINK ima vrednost 4.
Stanje 5: Vožnja nazaj
Sistem se v tem stanju pomika nazaj. Motorja sta vključena in se oba vrtita v vzvratno
smer. Prižgana je zelena lučka, spremenljivka BLINK ima vrednost 5.
Stanje 6: Mirovanje
Sistem preide v začetno stanje, kjer motorji mirujejo in sveti modra lučka,
spremenljivka BLINK ima vrednost 6.
Stanje 7: Vožnja v levo
V tem stanju se sistem premika v levo. Levi motor miruje, desni se premika s polovično
hitrostjo naprej. Sveti rdeča lučka in spremenljivka BLINK ima vrednost 7.
Stanje 8:
Sistem se premakne v stanje 0.
Za vsako spremembo smeri smo v vodenju uporabili mirujoče stanje z razlogom, saj je
preklapljanje med smermi tako veliko lažje in zanesljivejše. Preklop smeri brez vmesnega
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 46 -
stanja predstavlja težavo za uporabnika. To se je izkazalo med testiranji. Ob pomežiku se
preklop izvrši prehitro in sistema ni možno pravilno krmiliti4.
7 PREIZKUS PROGRAMA NA REALNEM SISTEMU
Za preizkušanje delovanja programa smo uporabili zgrajeno mobilno platformo. Nanjo smo
namestili mikrokrmilnik z Bluetooth modulom ter povezali servomotorje. Za napajanje smo
uporabili dve 9 V bateriji. Posebej smo napajali motorje in mikrokrmilnik, na ta način se
izognemo motnjam.
Kot je prikazano na sliki, smo najprej preizkusili vodenje z dvignjeno platformo. Kolesa
niso imela kontakta s podlago. Nata način smo preizkusili pravilnost preklapljanja med stanji.
V naslednjem koraku smo naredili preizkus na podlagi. Merilni sistem smo namestili na več
oseb in tako preizkusili vodenje. Ugotovili smo, da se mora uporabnik naučiti preklapljati
med stanji. Učenje ni dolgotrajno, je pa potrebno, saj se le na ta način izognemo spontanemu
preklapljanju.
Slika 41: Preizkušanje programa
4 Celotni program je na voljo v prilogi [4]
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 47 -
8 SKLEP
V okviru magistrske naloge smo spoznali različne principe zajemanja in obdelave bioloških
podatkov. Potrebno je bilo raziskati biološke procese, ki se tvorijo v ozadju inso zelo
zapleteni. Z različnimi postopki jih je možno interpretirati v fizikalne količine kot na primer:
električni signal, sila, tlak… Te veličine lahko danes uporabimo v različnih procesih.
V ta namen je bila kupljena in preučena merilna oprema, s pomočjo katere je bilo izvedeno
vodenje zadanega sistema. Način izvedenega vodenja bi lahko uporabili v različnih sistemih s
podobnimi funkcijami. Med samim delom smo naleteli na določene težave, saj imamo
opravka z meritvami bioloških veličin. Te so tako majhne oziroma jih je tako težko zajeti, da
moramo biti zelo precizni. Pridobljeni rezultati dela kažejo, da so zajeti in obdelani signali
dovolj stabilni za izvedbo vodenja. S preizkusi smo dokazali in postavili temelje za bodoče
aplikacije. Za izvedbo tržne aplikacije, ki bi bila v pomoč invalidom, ali sistema za vodenje
različnih robotskih mehanizmov je še dolga pot. Za postavitev na trg so potrebne še dodatne
raziskave in certifikati o skladnosti.
Pridobila so se nova znanja iz področja komunikacij, obdelave signalov in podatkov ter
programiranja. Poudariti velja, da je sistem narejen fleksibilno in ga je možno po želji
dograditi in na njem izvesti dodatna testiranja.
Opazimo lahko, da vedno več raziskav strmi k temu področju. Upravljanje sistemov
ali vsakdanjih pripomočkov s pomočjo biofeed back postopka postaja v današnji družbi
popularno. Tudi razvoj tega področja se zelo hitro širi. Menim, da bo ta tehnologija v
prihodnje prodrla na področje medicine in robotike, saj bi lahko veliko uporabnih aplikacij
izvedli tudi za pomoč invalidom.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 48 -
9 SEZNAM UPORABLJENIH VIROV
[1] Neurosky: Brainwave technology [svetovni splet]. Nevrosky, Inc. Dostopno
na:http://www.neurosky.com/AboutUs/BrainwaveTechnology.aspx [25.2.2013]
[2] Emotive: EPOC features [svetovni splet]. Emotive. Inc. Dostopno na:
http://www.emotiv.com/epoc/features.php [25.2.2013]
[3] Interaxon: how it works [svetovni splet]. Interaxon, Inc. Dostopno na:
http://interaxon.ca/how_it_works [25.2.2013]
[4] Neurosky: Products [svetovni splet]. Nevrosky, Inc. Dostopno
na:http://www.neurosky.com/Products/MindWaveMobile.aspx [26.2.2013]
[5] Neurosky: Developement tools [svetovni splet]. Nevrosky, Inc. Dostopno
na:http://store.neurosky.com/collections/developer-tools-3 [6.8.2013]
[6] Arduino: Arduino mega ADK [svetovni splet]. Arduino. Dostopno na:
http://arduino.cc/en/Main/ArduinoBoardADK [25.2.2013]
[7] JY-mcu: Manual.PDF [svetovni splet].Brez lastnika. Dostopno na:
http://lifewillbeshine.com/efu/manual/BT%20manual%5B1%5D.pdf [26.2.2013]
[8] Sparkfun: RN-42 datasheet [svetovni splet]. RovingNetworks. Dostopno na:
https://www.sparkfun.com/datasheets/Wireless/Bluetooth/rn-42-ds.pdf [26.2.2013]
[9] Neurosky: Visualizer 2.0 [svetovni splet]. Nevrosky, Inc. Dostopno
na:http://store.neurosky.com/products/visualizer-2-0 [10.3.2013]
[10] Puzzle Box: Info [svetovni splet]. PuzzleBox. Dostopno na:
http://puzzlebox.info/[10.3.2013]
[11] Neurosky: Neurosky Developer [svetovni splet]. Nevrosky, Inc. Dostopno
na:http://developer.neurosky.com/docs/doku.php?id=mindwave_mobile_and_arduino
#note_for_arduino_mega_2560_and_arduino_uno_users [10.3.2013]
[12] Ayera Technologies: Tera Term pro [svetovni splet]. Ayera Technologies. Inc.
Dostopno na: http://www.ayera.com/teraterm/ [30.3.2013]
[13] BMES: EMG Analysis [svetovni splet]. Biomechanical Laboratory at Drexel
University. Dostopno na:
http://www.biomed.drexel.edu/labs/biomechanics/emg_analy.htm [14.8.2013]
[14] Miro Milanovič. Analogna integrirana vezja v industrijski elektroniki. Maribor:
Fakulteta za elektrotehniko, računalništvo in informatiko, 2010
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 49 -
[15] Wikipedia: Operationalamplifier [svetovni splet]. Dostopno na:
http://en.wikipedia.org/wiki/Operational_amplifier_applications#Inverting_amplifier
[19.8.2013]
[16] Wikipedia: Rectifier [svetovni splet]. Dostopno
na:http://en.wikipedia.org/wiki/Rectifier#Full-wave_rectification [19.8.2013]
[17] Wikipedia: Low-pass filter [svetovni splet]. Dostopno
na:http://en.wikipedia.org/wiki/Low-pass_filter [19.8.2013]
[18] Advancer Technologies: EMG Circuitfor a microcontroller [svetovni splet].
Advancer Technologies. Dostopno na:
http://www.advancertechnologies.com/p/tutorials.html [19.8.2013]
[19] Procesing: Procesing 2[svetovni splet]. Ben Fry in CaseyReas. Dostopno na:
http://processing.org/people/ [19.8.2013]
Viri uporabljenih slik
[1] Slika 2: Dostopna na:
http://s3images.coroflot.com/user_files/individual_files/original_123223_ueuo5_r
yeq6eolpscefp5gxz6.jpg [svetovni splet]. [25.2.2013]
[2] Slika 3: Dostopna na: http://neurogadget.com/wp-
content/uploads/2012/02/boardofimagination-epoc-skateboard.jpg [svetovni splet].
[25.2.2013]
[3] Slika 4: Dostopna na: http://1.bp.blogspot.com/-
xD7Kc1QSo5M/TwxVInC_9kI/AAAAAAAAACE/Xhu3FQl7OeA/s320/AR+Dro
ne+Dr.+Tom+Macon.jpg [svetovni splet]. [25.2.2013]
[4] Slika 5: Dostopna na: http://www.kurzweilai.net/images/muse-512x343.png
[svetovni splet]. [25.2.2013]
[5] Slika 6: Dostopno na: http://cdn.slashgear.com/wp-
content/uploads/2012/05/MindWaveMobile-500x500.jpg [svetovni splet].
[25.2.2013]
[6] Slika 7: Dostopna na: http://company.neurosky.com/wp-
content/uploads/2009/06/Lifestylesmall.jpg [svetovni splet]. [25.2.2013]
[7] Slika 8: Dostopna na:
http://www.saudigazette.com.sa/myfiles/Images/2012/07/18/sr11.jpg [svetovni
splet]. [25.2.2013]
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 50 -
[8] Slika 10: Dostopna na:
http://arduino.cc/en/uploads/Main/ArduinoADK_R3_Front.jpg [svetovni splet].
[25.2.2013]
[9] Slika 11: Dostopna na: http://electronicarasero.com/prestashop/91-
large_default/m%C3%B3dulo-bluetooth-jy-mcu.jpg [svetovni splet]. [25.2.2013]
[10] Slika 16: Dostopna na:
http://uk.farnell.com/productimages/farnell/standard/2144344-40.jpg [svetovni
splet]. [21.8.2013]
[11] Slika 19: Dostopno na: http://2.bp.blogspot.com/-pnK3I1l-
Qhw/T_wf75kTbwI/AAAAAAAABkA/mRFDJ93tpbw/s400/Arduino+Bluetooth.
png [svetovni splet]. [21.8.2013]
[12] Slika 25: Dostopna na:http://upload.wikimedia.org/wikipedia/commons/a/a2/Op-
Amp_Differential_Amplifier.svg [svetovni splet]. [21.8.2013]
[13] Slika 27: Dostopno na: http://upload.wikimedia.org/wikipedia/commons/4/41/Op-
Amp_Inverting_Amplifier.svg [svetovni splet]. [21.8.2013]
[14] Slika 28: Dostopna na:
http://upload.wikimedia.org/wikipedia/commons/8/87/Active_Highpass_Filter_RC
.png [svetovni splet]. [21.8.2013]
[15] Slika 32: Dostopna na:
http://upload.wikimedia.org/wikipedia/commons/5/59/Active_Lowpass_Filter_RC
.svg [svetovni splet]. [21.8.2013]
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 51 -
10 PRILOGE
[1] Program za testiranje komunikacije
[2] Program za obdelavo podatkov
[3] Program za zajemanje podatkov
[4] Program vodenja
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 52 -
11 DELOVNI ŽIVLJENJEPIS
DELOVNE IZKUŠNJE
OSEBNI PODATKI Aljaž Kramberger
Sp. Porčič 20, SI-2230 Lenart (Slovenija)
031732131
Skype aljaz kramberger
Google Talk [email protected]
Spol Moški
Datum rojstva 21.5 1989
Državljanstvo slovensko
2005 Delo v industriji Mariborska Livarna Maribor, Lenart (Slovenija) V tem letu sem opravljal počitniško delo v industrijskem obratu MLM v Lenartu.
2006 – 2008 Tesarska in gradbena dela Srečko Knuplež S.P., ZG. Velka (Slovenija) Med temi leti sem opravljal počitniško delo, v gradbenem in tesarskem podjetju Srečko Knuplež S.P.
2009 Upravljalec gradbene mehanizacije Komunala Slovenske Gorice, Lenart (Slovenija) V tem letu sem se izuril v delu s težko gradbeno mehanizacijo.
2010 Projektno delo Saubermacher Slovenia, Lenart (Slovenija) Pri podjetju Saubermacher, ki se ukvarja s predelavo odpadnih snovi, sem delal na različnih področjih, kot na primer: Pripravljanje tehnične dokumentacije, logistiki, optimiranje porabe energije, prevajanje...
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 53 -
IZOBRAŽEVANJE IN USPOSABLJANJE
2010 Programiranje GPS- sistemov KGS Krajnc D.O.O., Lenart (Slovenija) Delo na področju: Priprave projektne dokumentacije, Programiranje, nastavitve in podpora GPS kartirnih sistemov za kmetijske stroje.
2010 – 2013 Prodaja Lešnik Lenart D.O.O., Lenart (Slovenija) Prodaja in svetovanje komunalne zimske opreme na raznih sejmih po Sloveniji.
2011 – 2012 Projektno delo Kelag Waerme, Villach (Avstrija) V dveh letih prakse ( skupaj 4 mesece), sem delo opravljal na različnih področjih tega podjetja. Večino dela sem opravil v oddelku za kartiranje in programiranje, druga področja so še bila: 3D modeliranje strojnih in gradbenih delov, vodja vzdrževalnih projektov, nabava, iskanje informacij, pisanje ponudb.
1996 – 2004 Osnovnošolska izobrazba Osnovna šola Lenart, Lenart (Slovenija) Končana osnovna šola
1999 – 2005 Nižja glasbena šola Glasbena šola Lenart, Lenart (Slovenija) Dokončana glasbena šola iz področja pihal - Saksofon
2004 – 2008 Gimnazijski maturant Škofijska gimnazija Antona Martina SLomška Maribor, Maribor (Slovenija) Matura opravljena iz naslednjih predmetov: Slovenščina, Matematika, Angleščina, Kemija, Geografija
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 54 -
KOMPETENCE
2008 – 2011 Univerzitetni diplomirani inženir Mehatronike (UN) Fakulteta za strojništvo univerze v Mariboru, Maribor (Slovenija) Uspešno dokončana prva univerzitetna stopnja Mehatronike. Pridobljena znanja: Elektronika, konstruiranje, priprava dokumentacije, izdelava strojnih delov CNC, programiranje C, C#, Programiranje industrijskih robotov, PLC krmilnikov in mikro krmilnikov, hidravlika in pnevmatika, regulacijske tehnike, Modeliranje izdelkov. Diploma iz področja hibridnih vozil.
2011 – v teku Fakulteta za strojništvo univerze v Mariboru, Maribor (Slovenija) Študij na magistrskem študiju druge stopnje Mehatronike. Poglobljena znanja iz področji: Energetske elektronike, robotskih sistemov, sistemov daljinskega vodenja, inteligentne regulacijske tehnike, tehnoloških sistemov, servo sistemi, snovanja sistemov vodenja, strojni vid... Magistrsko delo iz področja Bio-feedbac in robotika.
Materni jezik slovenščina Drugi jeziki RAZUMEVANJE GOVORJENJE PISNO
SPOROČANJE
Slušno razumevanje
Bralno razumevanje
Govorno sporazumevanje
Govorno sporočanje
angleščina C2 C2 C2 C2 Opravljena matura iz Angleščine
nemščina C2 C1 C2 C2 B2 Stopnja: A1/A2: Osnovni uporabnik - B1/B2: Samostojni uporabnik -
C1/C2: Usposobljeni uporabnik Skupni evropski jezikovni okvir
Komunikacijske kompetence Komunikativnost, delo v skupini, projektno delo in vodenje, predstavitve, pripravljenost pomagati drugim
Organizacijske/vodstvene kompetence
Vodenje skupin, Vodenje projektov (pridobljeno na različnih praktičnih usposabljanjih), organizacija raznih dogodkov
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 55 -
DODATNI PODATKI
Strokovne kompetence Pravljenje s kmetijskimi GPS kartirnimi sistemi, priprava dokumentacije za SIQ certifikat kakovosti
Računalniške kompetence Microsoft office (Word, Excele, Power point, Access...), Grafična obdelava: Programi Adobe (Photoshop, InDesigne, Ilustrator, Fireworks, Premiere Pro), Modeliranje in simulacije: CATIA, Solid Works, AutoCAD, Drugi strokovni programi: MATLAB, Pspice, Labview, Step7, Beckhoff, Visual studio Programiranje: C, osnovni HTML in C#
Vozniško dovoljenje AM, B
Splošni interesi Razni zanimivi projekti, avtonomni roboti, industrijski roboti, "Naredi si sam" projekti, fotografija, oblikovanje, šport, glasba, avtomobilizem, obnovljivi viri energije
Priznanja in nagrade Bronasto in srebrno Galusovo priznanje, za dolgoletno kulturno udejstvovanje. Županovo priznanje za nadpovprečne študijske dosežke.
Univerza v Mariboru– Fakulteta za strojništvo Magistrsko delo
- 56 -