Pokazywanie postów oznaczonych etykietą Nauka. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Nauka. Pokaż wszystkie posty

Historia i definicja interfejsu mózg-komputer (BCI)





  Badania nad interfejsem mózg-komputer (BCI) rozpoczęto w latach 70-tych XX wieku na Uniwersytecie Kalofornijskim w Los Angeles. Za pierwszą publikację naukową opisującą BCI można uznać pracę: Jacque Vidala [149]: "Toward Direct Brain-Computer Communication", Annual Review of Biophysics and Bioengineering, Vol. 2, 1973. Pierwsza międzynarodowa konferencja poświęcona BCI miała miejsce w 1999 roku, w Nowym Jorku, gdzie Jonathan R. Wolpaw podał definicję interfejsu mózg-komputer: "A brain-computer interface (BCI) is a communication or control system in which the user’s messages or commands do not depend on the brain’s normal output channels. That is, the message is not carried by nerves and muscles, and, furthermore, neuromuscular activity is not needed to produce the activity that does carry the message". 
W ostatniej dekadzie ubiegłego wieku, w kilkunastu ośrodkach naukowych, rozpoczęto intensywne prace nad systemami BCI. Aktualny stan badań sprowadza się do wykorzystania pewnych właściwości fal elektromagnetycznych mózgu rejestrowanych za pomocą technik elektroencefalograficznych (sygnały EEG odczytane z elektrod przymocowanych do skóry głowy). W systemie BCI intencje użytkownika odczytywane są bezpośrednio z fal EEG. Pewne, wyekstrahowane cechy tych fal (sygnałów) są klasyfikowane i „tłumaczone” w czasie rzeczywistym na rozkazy wykorzystywane do sterowania komputerem, protezą, wózkiem inwalidzkim lub też innym urządzeniem. Schemat najważniejszych etapów działania interfejsu mózg-komputer przedstawiono na rys. 2.4.
Rys 2. 1.   Zasada pracy interfejsu mózg-komputer
Warto pamiętać, że systemy BCI funkcjonują również pod nazwą interfejs mózg-maszyna (Brain-Machine Interface - BMI). Jednak najczęściej w literaturze spotyka się określenie „interfejs mózg-komputer”. Spowodowane jest to faktem, że nawet podczas sterowania robotem, wózkiem inwalidzkim czy protezą zwykle korzysta się z pośrednictwa komputera. Komputer jest tutaj nieodzownym elementem, którego zadaniem jest przetwarzanie i klasyfikacja sygnału. To właśnie ten etap jest krytycznym elementem działania interfejsu i od niego zależy w dużej mierze jego sprawność.
1.2           Metody badania aktywności mózgu
Istnieje wiele metod badania aktywności mózgu. Najbardziej znane są metody
inwazyjne:
·       implantowane elektrody domózgowe (IntraCortical Recordings, IR),
częściowo inwazyjne:
·       elektrokortykografia, (Electrocorticography, ECoG),
nieinwazyjne:
·       magnetoencefalografia, (Magnetoencephalography, MEG),
·       funkcjonalny magnetyczny rezonans jądrowy (functional Magnetic Resonance Imaging, fMRI),
·       tomografia optyczna światła rozproszonego (Near InfraRed Spectroscopy, NIRS),
·       pozytronowa emisyjna tomografia komputerowa (Positron emission tomography, PET),
·       elektroencefalografia (Electroencefalography, EEG).
Jednak, jak już wspomniano, najczęściej wykorzystywaną techniką w systemach BCI jest elektroencefalografia (EEG). Spowodowane jest to kilkoma czynnikami. Po pierwsze MEG, PET, fMRI i metody optyczne są stosunkowo drogie. Dodatkowo metody te są skomplikowane pod względem technicznym i stąd nie znajdą zastosowania w urządzeniach powszechnego użytku. Metody obrazowe, z kolei, charakteryzują się lepszą lokalizacją aktywności mózgu, ale aktywność ta jest zależna od przepływu krwi, który charakteryzuje się dużą stałą czasową i uniemożliwia szybką komunikację [152]. Do największych zalet elektroencefalografii, w zastosowaniu do BCI należą: ocena aktywności mózgu występującej dokładnie w chwili rejestracji sygnału, praca w wielu warunkach środowiskowych, niski koszt realizacji w porównaniu z innymi metodami. Bardzo znaczącym atutem elektroencefalografii jest stosunkowa łatwość w użytkowaniu. Po krótkim przeszkoleniu użytkownika może być stosowana w warunkach domowych.
Do zebrania sygnału EEG wykorzystywane są elektrody (od kilku do 128 elektrod) naklejane na skórę głowy za pomocą żelu. Następnie sygnał przekazywany jest do elektroencefalografu, gdzie sygnały są wzmocnione i w postaci cyfrowej przekazywane do komputera. Zapis tych sygnałów tworzy tak zwany elektroencefalogram.
Rejestrowane sygnały pochodzą ze zbiorowej aktywności neuronów i są efektem tzw. pomiaru biologicznego. Przy pomiarze technicznym badacz ma świadomość, że wyznaczany parametr obiektywnie istnieje, a niedokładności jego określenia wynikają z niedoskonałości metody i aparatury pomiarowej.  W biologii i medycynie samo mierzone zjawisko często nie jest do końca zdefiniowane. Ponadto, na pomiar składa się wiele czynników ubocznych, które niejednokrotnie mają ogromny wpływ na wynik pomiaru. Dlatego pojedyncza obserwacja nie jest miarodajna. Wszystkie eksperymenty i obserwacje medyczne muszą odnosić się do zbiorowości, a obserwacje trzeba powtarzać wielokrotnie [144]. Stąd też wynika zasadnicza trudność w konstruowaniu sprawnych interfejsów mózg-komputer.
Z pomocą przychodzi statystyczne uczenie maszynowe (statistical machine learning) oraz techniki eksploracji danych (data-mining). To dzięki tym metodom można wydobyć użyteczną informację z sygnału EEG i poddać ją klasyfikacji. Jak pokazano na rysunku 2.6 przetwarzanie sygnału obejmuje: przetwarzanie wstępne, ekstrakcję cech (w procesie eksperymentu i nauki także selekcję cech) oraz klasyfikację. Zadania te realizowane są przy pomocy komputera, w czasie rzeczywistym.
Przetwarzanie wstępne najczęściej obejmuje filtrację sygnału i inne metody usuwania szumów i zakłóceń (np. artefaktów fizjologicznych). Na tym etapie wykorzystywane są: filtry cyfrowe, filtry przestrzenne, metody wybielania sygnału (np. analiza składowych niezależnych - ICA) czy ślepa separacja. Po tym etapie otrzymuje się sygnały, z których można dokonywać ekstrakcji cech.
Ekstrakcja cech jest procesem, który umożliwia wydobycie z zapisu EEG najbardziej użytecznych informacji. Stosuje się całą gamę metod analizy sygnału na przykład: statystyki wyższych rzędów (HOS), analizę czas-częstotliwość (t/f), modele autoregresyjne (AR), analizę falkową (DWT). W wyniku ekstrakcji powstają wektory cech. Dysponując wiedzą o przynależności cech do danej klasy można przystąpić do budowy (i trenowania) klasyfikatora.
Zadaniem klasyfikatora jest przydzielenie nowo zarejestrowanego zapisu EEG do konkretnej, uprzednio zdefiniowanej klasy. Najczęściej na tym etapie wykorzystuje się sztuczne sieci neuronowe (ANN), liniową analizę dyskryminacyjną (LDA), naiwny klasyfikator Bayesa (NBC), maszynę wektorów wspierających (SVM) oraz drzewa decyzyjne (DT).
Sklasyfikowane sygnały EEG wykorzystywane są najczęściej do sterowania wirtualną klawiaturą (komunikacja z otoczeniem za pośrednictwem tekstu). Podejmowane są również próby stosowania systemów BCI do sterowania robotem, protezą, a nawet inteligentnym budynkiem. Warto zauważyć, że obiekty sterowane przez interfejsy mózg-komputer mogą mieć wbudowaną „własną inteligencję”. Na przykład wózek inwalidzki lub robot ma wbudowane czujniki i elementy wykonawcze, które nie pozwalają na zderzenie z przeszkodą.
Bardzo ważnym elementem pełnego systemu BCI jest sprzężenie zwrotne (feedback). Użytkownik interfejsu mózg-komputer nieustannie obserwuje efekty swoich działań poprzez obserwację działania wirtualnej klawiatury, protezy czy robota. Pomaga mu to wygenerować nowe, odpowiednie sygnały EEG. Jest to jeden z ważnych elementów systemu, bowiem niektóre interfejsy wymagają świadomego generowania konkretnych stanów mózgu. Poprzez obserwację efektów użytkownik może uczyć się lepszej kontroli nad aktywnością własnego mózgu. 

INTERFEJS MÓZG-KOMPUTER na poważnie


Fragment pochodzi z : Interfejs mózg-komputer BCI

Na przestrzeni dziejów, obsługa różnego rodzaju maszyn odbywała się na bardzo różne sposoby. Najstarsze maszyny sterowano za pomocą dźwigni i korb. Kolejnym etapem było zastosowanie kart perforowanych. Za twórcę tej koncepcji uważa się Joseph Jacquarda. W 1805 roku użył on tabliczek do sterowania nićmi podczas tkania, co pozwalało tworzyć tkaninę o powtarzalnym wzorze.
Obecnie najczęściej komputer, użyty do sterowania maszyną, stanowi ogniwo pośrednie w kontakcie człowiek-maszyna. Stąd komunikacja człowiek-komputer (Humman-Computer Interaction - HCI) nabiera nowego znaczenia i jest elementem nieodzownym naszego życia.
Początkowo, aż do lat 80. XX wieku, do programowania komputerów używane były karty perforowane.  Dopiero w 1984 roku wynaleziona została przez Douglasa Engelbarta, dobrze wszystkim znana mysz komputerowa. Stosowana do tej pory umożliwia poruszanie kursorem po ekranie monitora poprzez przesuwanie jej po płaskiej powierzchni. Oczywiście nieodzownym elementem jest klawiatura, którą posługujemy się w celu wprowadzania poleceń i tekstu.



Aktualnie, coraz większą popularność zdobywa interfejs dotykowy (touchscreen). Najczęściej, interfejs taki kojarzony jest z ekranami dotykowymi stosownymi w urządzeniach przenośnych. Istnieje kilka typów konstrukcji takich ekranów. Zwykle do ich budowy wykorzystywane są nakładki pojemnościowe i rezystancyjne. W innych typach ekranów dotykowych wykorzystuje się na przykład fakt przerwania strumienia światła podczerwonego emitowanego przez diody LED. Istnieją również konstrukcje, które działają na zasadzie zaburzania fali akustycznej, rozchodzącej się na powierzchni ekranu wskutek dotyku użytkownika.
Zupełnie innym podejściem, jest interfejs wielodotykowy lub wielopunktowy (multi-touch). Technologia ta pozwala na obsługę interfejsów graficznych więcej niż jednym palcem. Takie podejście umożliwia tworzenie interaktywnych interfejsów, ale zmusza programistów do pisania aplikacji w inny niż dotychczas sposób. Twórca programowania oprócz wykrycia samego miejsca dotyku ekranu, musi brać również pod uwagę sposób zmiany jego położenia. Takie wykonywanie gestów na powierzchni ekranu jest bardzo naturalne i umożliwia na przykład przeglądanie zdjęć czy grę zespołową.
Bardzo ciekawym podejściem jest wykorzystanie interfejsów z rozpoznawaniem gestów użytkownika przez analizę obrazu zarejestrowanego za pomocą kamery. Zasadniczą rolę, w jakości takiego systemu odgrywa przetwarzanie i analiza obrazu. Jedną z największych trudności w tym przypadku, jest odróżnienie obiektu jako źródła gestów od otoczenia zmieniającego się w czasie. Istnieją już systemy, które wykonywane gesty, na przykład ruch rąk, dłoni, czy palców, odczytują jako odpowiednie polecenia. Trwają prace nad zastosowaniem tej technologii do rozpoznawania języka migowego. Już opracowano i wdrożono systemy pozwalające na zdalne sterowanie za pomocą gestów urządzeniami domowymi, na przykład odbiornikiem TV.
Kilka firm komercyjnych już opracowało i z powodzeniem zastosowało technologię eyetrackingu. Zasada działania takich systemów sprowadza się do analizy obrazu oczu i „wskazania” miejsca, na które patrzy użytkownik. Opracowane systemy są nadal zbyt drogie by mogły doczekać się powszechnego zastosowania. Kilka ośrodków naukowych z krajów UE połączyło siły w ramach projektu pod nazwą COGAIN. Celem projektu jest opracowanie efektywnych i ekonomicznych technologii opartych na eyetrackingu, przeznaczonych do wspomagania osób niepełnosprawnych. Zostanie opracowany system, składający się z niezależnych od siebie komponentów (na przykład kamer i oprogramowania). Użytkownik końcowy zaś będzie mógł złożyć „z klocków”, użyteczną dla niego konfigurację sprzętowo-programową, bez konieczności zakupu pełnego wyposażenia od jednego producenta.
Najbardziej naturalną dla człowieka formą komunikacji z otoczeniem jest mowa. Stąd pomysł wykorzystania mowy do sterowania komputerem. Próby związane z rozpoznawaniem mowy rozpoczęto już w roku 1952, kiedy to K. H. Davis, R. Biddulph, i S. Balashek opracowali system rozpoznawania wypowiadanych cyfr. Rozpoznawanie mowy potocznej, pochodzącej od dowolnej osoby, jest bardzo złożonym problemem. Dlatego też stosuje się pewne uproszczenia polegające na rozpoznawaniu mowy konkretnej osoby lub zawężeniu rozpoznawanego zbioru słów [139]. W pierwszym przypadku poprzez sesję wstępną, algorytm uczy się rozpoznawać słowa czy też zwroty wypowiadane przez konkretnego użytkownika. Taka sesja polega najczęściej na wielokrotnym powtarzaniu konkretnych fraz. W drugim przypadku tematyka rozpoznawanej mowy jest zawężana do konkretnej problematyki na przykład medycznej (zmniejszenie zasobu słów). Najczęściej rozpoznawanie mowy stosuje się do sterowania obiektami (wydawanie krótkich poleceń - rozkazów) lub do transkrypcji (zapis tekstu mówionego). Większość oprogramowania komercyjnego dla mowy angielskiej osiąga trafność rzędu 98% a nawet 99%. Oczywiście tak duża skuteczność jest możliwa, gdy spełnione są pewne warunki zewnętrzne, na przykład brak szumów (tła) podczas rejestracji sygnału. Dla języka polskiego istnieją programy umożliwiające rozpoznanie od 50% do 90% słów.
Zupełnie inną formą komunikacji jest wykorzystanie biopotencjałów np. do sterowania protezą czy klawiaturą wirtualną. Najczęściej wykorzystywanymi, w tym przypadku, potencjałami są elektromiogram oraz elektrookulogram. Elektromiogram (electromyogram, EMG) to zapis sygnałów elektrycznych związanych z pracą mięśni. Elektrookulogram (electrooculogram, EOG) to zapis przebiegu napięcia występującego między przednim (dodatnim) a tylnym (ujemnym) biegunem gałki ocznej. Pobudzanie mięśni wywołuje zmianę biopotencjałów. W ten sposób, po odpowiednim treningu, można nauczyć się „generować” właściwe biosygnały i komunikować z komputerem. Interfejsy takie najczęściej przeznaczone są dla osób niepełnosprawnych. Najbardziej znaną na świecie osobą dotkniętą tym problemem jest Stephen Hawking. Cierpi on na stwardnienie zanikowe boczne. Choroba ta sprawiła, że jest on prawie całkowicie sparaliżowany, porusza się na wózku inwalidzkim. Komunikację ze światem umożliwia mu generator mowy sterowany ruchami gałek oczu (EOG).
Jak można zauważyć dysponujemy już całkiem szeroką gamą interfejsów człowiek-komputer. Nie ma jednego uniwersalnego interfejsu, który może spełnić wymagania i oczekiwania wszystkich użytkowników. Większość z dostępnych systemów zdaje egzamin w szczególnych przypadkach. Niektóre z nich, choć cechują się niskim poziomem transferu informacji człowiek-komputer (małą przepływnością danych), są używane, gdyż stanowią jedyną drogę komunikacji ze światem dla konkretnego użytkownika. Łatwo zauważyć, że może dochodzić do błędów w procesie komunikacji człowieka z maszyną. Z tego powodu często wymagany jest od użytkownika trening.
Ideałem interfejsu HCI byłaby komunikacja człowieka z maszyną „za pomocą myśli”. Jak dotychczas taki interfejs kojarzył się raczej z literaturą science-ficton. Obecne systemy BCI pracujące z wykorzystaniem sygnału EEG nie pozwalają na swobodną komunikację za pomocą "bezpośrednich myśli". Zasadniczym ograniczeniem tych interfejsów jest szybkość komunikacji. Zatem dlaczego podejmowane są tak olbrzymie wysiłki sporych zespołów badawczych do usprawnienia ich działania? Do czego wykorzystujemy bezpośrednia informacje o pracy mózgu?
Możliwość bezpośredniej interakcji człowieka z komputerem (bez manualnej obsługi urządzeń peryferyjnych) otwiera nowe kanały przekazu informacji w medycynie, psychologii, technikach multimedialnych i wojskowych. Szczególne znaczenie mają tutaj zastosowania tego interfejsu w medycynie zarówno w aspekcie poznawczym, funkcjonowania ludzkiego mózgu, jak i praktycznym jako jedyna szansa rozwoju dla osób dotkniętych chorobami neurologicznymi. Interfejs mózg-komputer może pomóc w komunikacji ze światem zewnętrznym osobom w ciężkich stadiach chorób neurologicznych jak stwardnienie zanikowe boczne, udar mózgowy podkorowy, zespół Guillain-Barre’a, mózgowe porażenie dziecięce czy stwardnienie rozsiane [131]. Rocznie około dwa tysiące osób w Polsce (a we wszystkich krajach Unii Europejskiej około 24 tysiące) zapada na stwardnienie zanikowe boczne, neurodegeneracyjną chorobę układu nerwowego, która niszczy część centralnego układu nerwowego odpowiedzialną za ruch, nie zaburza natomiast czucia, zdolności poznawczych i intelektu. Osoby, które na nią zapadają, stopniowo tracą kontrolę nad własnym ciałem i w ciągu 2 do 3 lat osiągają stan, w którym nie mają żadnej możliwości komunikacji z otoczeniem. Kolejną grupą ludzi, którym należy zapewnić możliwość porozumiewania się z otoczeniem za pomocą BCI, jest ok. 14 tysięcy osób, jakie w ciągu roku w Polsce zapada na udary mózgu, a w szczególności udary pnia mózgu. Do wymienionych grup należałoby dołączyć ok. 1,2 tysiąca ofiar wypadków komunikacyjnych, w wyniku których doszło do uszkodzenia szyjnego odcinka rdzenia kręgowego [36]. W takich wypadkach interfejs mózg-komputer ma umożliwić prostą komunikację z otoczeniem, sterowanie protezami, wózkiem inwalidzkim czy wręcz inteligentnym budynkiem.

Inną formą komunikacji bezpośredniej mózg-komputer jest również neurofeedback. Jest to jeden z rodzajów biofeedbacku, czyli biologicznego sprzężenia zwrotnego, pomagającego uzyskać samokontrolę nad funkcjami organizmu. Obejmuje on różnorodne techniki treningowe i terapeutyczne, usprawniające funkcje mózgu (koncentracja uwagi, opanowanie emocji, usprawnienie procesów myślowych, szybka nauka, pamięć, twórczość, sen). W neurofeedbacku wykorzystuje się sygnał EEG do oceny funkcji mózgu, zaś sprzężenie zwrotne do przesłania informacji o tym - do pacjenta.


Sygnał EEG można również wykorzystać w konstrukcji wariografu. Z powodzeniem podjęto takie próby. Standardowo wariografy służą do analizy fizjologicznych reakcji organizmu człowieka, które są wykładnią emocji, jako reakcji na pewne bodźce zewnętrzne. Najczęściej rejestruje się takie wielkości jak ciśnienie krwi, puls, częstość oddechu, reakcję skórno-galwaniczną lub aktywność ruchową. Badania za pomocą wariografu muszą być przeprowadzane przez wykwalifikowane osoby. Alternatywą dla tego typu badań jest właśnie rejestracja tak zwanych potencjałów wywołanych (najczęściej P300), pojawiających się w sygnale EEG jako odpowiedź na wystąpienie określonego bodźca [94]. Zaobserwowano, że bodźce, rodzące skojarzenia z pewnymi zdarzeniami wywołującymi emocje (na przykład zdjęcia z miejsca zbrodni, uprzednio oglądanego), powodują silną reakcję, mającą wyraźne odzwierciedlenie w rejestrowanych sygnałach EEG.
Bezpośrednie reakcje mózgu na bodźce zewnętrzne wykorzystywane są również w neuromarketingu [97]. Stosuje się tam narzędzia stosowane w badaniach psychofizjologicznych. Dzięki nim można dobierać i optymalizować bodźce marketingowe, na przykład bilbordy czy sekwencje filmowe. W praktyce, sprowadza się to do kilkukrotnego skrócenie czasu trwania ujęcia z filmu reklamowego.
Trwają prace nad wykorzystaniem sygnału EEG do predykcji napadów epileptycznych [141,142,143]. W szczególności chodzi o miary chaotyczności sygnału (na przykład wykładniki Lapunowa czy entropię). Specjalistyczny analizator EEG, po wystąpieniu charakterystycznych zmian w sygnale, mógłby generować odpowiedni sygnał ostrzegawczy przed zbliżającym się napadem padaczki. Umożliwiłoby to stosowne przygotowanie się do napadu, zażycie odpowiednich leków itp.
Zauważono, że zapis sygnału EEG wykonany podczas snu (polisomnografia) może zawierać cechy świadczące o predyspozycji do choroby alkoholowej [78]. W ocenie predyspozycji do nałogu posłużyć mogą również potencjały wywołane w szczególności załamek P300. Stwierdzono, że u osób z predyspozycją do alkoholizmu oraz innych nałogów jest on znacznie słabszy [111,24].
Zapis sygnału EEG, z powodzeniem wykorzystać też można w biometrii. Typowe biometryki takie jak: odciski palca, brzmienie głosu, wzór siatkówki oka nie są uniwersalne i mogą ulec zniszczeniu (otarcia skóry, rany, utrata głosu). Ponadto stwierdzono, że około 2-4% populacji nie ma tych biometryk (brak organów lub ich uszkodzenie) lub są one słabej jakości, co uniemożliwia rozpoznanie tych osób. Z drugiej strony wiadomo, że u każdego człowieka zawsze występuje praca mózgu (sygnał EEG) oraz serca (sygnał EKG). Ważny jest również fakt, że sygnał EEG występuje cały czas od narodzin do śmierci - bez przerwy. Co najważniejsze, każdy osobnik ma inną „konfigurację mózgu” (mózg ludzki składa się z około 1011 neuronów i 1015 synaps). Spontaniczna aktywność mózgu jest bardzo różna dla różnych osobników. Stąd sygnał EEG jest charakterystyczny, zawiera cechy indywidualne dla każdej osoby i pozwala na użycie go jako biometryki [121,112]. W tym kontekście warto wspomnieć, że trwają również zaawansowane prace nad zastosowaniem potencjałów wywołanych w procesie identyfikacji osób. Pod uwagę bierze się wtedy kształt i amplitudę załamka.
Należy jednak stwierdzić, że biometria EEG rozwija się powoli. Spowodowane jest to między innymi skomplikowanym pomiarem sygnału EEG w porównaniu z innymi metodami (zdejmowanie odcisków palca, skanowaniem tęczówki). Podejmowane są jednak próby wykorzystania znacznie łatwiejszych w użyciu, suchych elektrod - na przykład wykonanych z nanorurek zamocowanych na wygodnej czapce [7,122].


Trwają też intensywne próby zastosowania technologii BCI do celów militarnych. Docelowo systemy wspomagać mają sterowanie myśliwcami czy ułatwiać komunikację na polu walki. Jednak zaznaczyć należy, że są to zaledwie próby i do końcowego rezultatu jeszcze daleka droga. Na chwilę obecną istnieje możliwość realizacji systemów, które wspomagają proces sterowania.
Duże nadzieje z interfejsami mózg-komputer wiąże przemysł rozrywkowy. Już udało się zastosować systemy BCI do sterowania avatarem (uczestnik świata wirtualnego). Finalnym efektem prac ma być ergonomiczny i przyjazny interfejs dla każdego użytkownika. 


Interfejs mózg-komputer, Konkurs - Cyfrowe Przetwarzanie Sygnałów


Zapraszam wszsytkich studentów, do wzięcia udziału w konkursie dotyczącym opracowania algorytmu klasyfikacji sygnału EEG na użytek interfejsu mózg-komputer.
 
 
 
 
Opis danych eksperymentalnych.
Podczas rejestracji sygnału EEG użytkownik AM siedział wygodnie na krześle i wyobrażał sobie pewne czynności ruchowe. Rejestracja sygnału EEG trwała kilka minut. Zadaniem użytkownika AM było wyobrażanie sobie pewnych "zadań myślowych" (w zdefiniowanych chwilach czasu). Zadaniami tymi były:
 
 
1. Wyobrażanie  ruchu rękoma (klasa 3).
2. Wyobrażanie  ruchu stopami (klasa 4).
 
 
Zmiana wyobrażeń następowała w sposób losowy zgodnie z oznaczeniami graficznymi na ekranie monitora (strzałka w górę - ruch rękoma, strzałka w dół - ruch stopami). Wyobrażanie trwało około 4 sekundy.
 
 
 
Udostępnione zbiory EEG zawierają dane dla  użytkownika AM podczas 2 wybranych sesji. Pierwsza sejsa-kalibracyjna (uczace.mat) zawiera dane sygnału EEG, zarejestrowane z użyciem 8 elektrod (zmienna Xuczace) oraz dodatkowo zmienną informującą jakie "zadanie myślowe" użytkownik wykonywał w danym czasie (zmienna marker Yuczace).
 
 
Sesja testująca (testujace.mat) zawiera dane sygnału EEG, zarejestrowane z użyciem 8 elektrod (zmienna Xtest) oraz dodatkowo zmienną informującą w jakim momencie należy sklasyfikować sygnał EEG (zmienna Ytest). Czas, który należy poddać klasyfikacji oznaczony jest przez wartość równą 10.
uczace.mat
  Name             Size             Bytes 
  Xuczace      26621x8             851872  single             
  Yuczace      26621x1             212968  double 

testujace.mat
Name           Size             Bytes 
  Xtest      13892x8             444544  single             
  Ytest      13892x1             111136  double             
 
 
 
Zadanie i ocena wyników.
Zadaniem uczestników konkursu, jest wskazanie jakie zadanie myślowe wykonywał użytkownik w sesji testującej. Klasyfikacji należy dokonać w chwilach oznaczonych markerem równym 10 w zmiennej Ytest. Sesja testująca zawiera kilka takich fragmentów sygnału (trwają one około 4 sekund i w tym czasie zadanie nie zmieniało się). Uczestnik konkursu do oceny podaje jedynie wartości klas dla kolejnych 4 sekundowych fragmentów sygnału. Wynik dostarczany jest w pliku formatu mat.
Przykładowa macierz wyników Wyniki=[3 4 4 3 4 4 4 4 4 3];. Co oznacza, że zdaniem uczestnika konkursu użytkownik wyobrażał sobie najpierw ruch rękoma, następnie nogami, następnie nogami itd.. . Oprócz macierzy wyników, dostarczonej w formacie pliku mat należy dostarczyć krótki i zwięzły opis zastosowanych algorytmów.
 
 
 
Informacje techniczne.
Dane EEG zarejestrowano z użyciem profesjonalnego wzmacniacza sygnału EEG i aktywnych elektrod firmy g.Tec. Częstotliwość próbkowania fs wynosiła 256Hz. Dane rejestrowano z użyciem 8 elektrod oznaczonych w systemie 10-20 jako: F3, T7, C3, CP1, C4, T8, F4, Cz. Elektrodą referencyjną było lewe ucho użytkownika A1. Sygnały zarejestrowano wykorzystując oprogramowanie BCI2000. Zastosowano filtr pasmowoprzepustowy  0.1-60Hz. Oraz filtr wąskozaporowy 48-52 Hz w celu usunięcia częstotliwości sieciowej 50Hz.
 
 
Więcej informacji przydantch w rozwiązaniu zadania można znaleźć na http://bcpw.bg.pw.edu.pl/Content/3343/kolodziej_marcin_doktorat.pdf
 
 
 
Wszelakie uwagi i pytania mile widziane.
Powodzenia!
 
 
 
Wszystkie dane EEG mogą być dowolnie wykorzystywane, z zaznaczeniem że zostały one zarejestrowane w Instytucie Elektrotechniki Teoretycznej i Systemów Informacyjno-Pomiarowych, Politechniki Warszawskiej oraz wymagają zacytowania pracy: Majkowski, A.; Kolodziej, M.; Rak, R.J.; , "Implementation of selected EEG signal processing algorithms in asynchronous BCI," Medical Measurements and Applications Proceedings (MeMeA), 2012 IEEE International Symposium on , vol., no., pp.1-3, 18-19 May 2012 dostępnej pod adresem  http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6226633 z sieci Politechniki Warszawskiej.


 

Interfejs mózg-komputer Sterowanie Grą Second Life za pomocą "myśli"

Interfejs mózg-komputer, może zostać wykorzystany do sterowania wieloma programami czy urządzeniami. W trakcie badań nad interejsem mózg-komputer wykozystano potencjał P300 do sterowania avatarem w grze Second Life. Program jest uniwersalny i pozwala na sterowanie dowolna aplikacja za pomocą "mysli".




Sterowanie grą internetową Second Life. Wykorzystno interfejs mózg-komputer (potencjał P300). Prace wykonano na Wydziale Elektrycznym Politechniki Warszawskiej. Więcej na ten temat można znaleźć: http://bcpw.bg.pw.edu.pl/dlibra/doccontent?id=3343&dirids=1

Optymalizacja doboru okien czasowych do przetwarzania sygnału EEG w interfejsach mózg-komputer

Ważnym parametrem dla interfejsów asynchronicznych (BCI) jest dobór szerokości okna z którego ma nastapić ekstrakcja cech. Poniższa prezentacja omawia przeprowadzone ekspserymenty i wskazuje na najlepszy dobór paramatrów okien dla interfejsu mózg-komputer. Poniżej zaprezentowano sposób generowania cech z wielokanałowego zpaisu sygnału EEG.



Całość prezentacji  można pobrać: Interfejs mózg-komputer asynchronioczny (pdf)


Interfejs mózg-komputer BCI i neurofeedback podstawy rejestracji sygnału EEG

Obecne interfejsy mózg-komputer oraz systemy do neurofeedbacku wykorzystują najczesciej sygnały elektroencefalograficzne (EEG). Podstawowa wadą rejestracji EEG jest przygotowanie głowy pacjenta i naklejenie elektrod. Przygotowanie głowy pacjenta powinno obejmować oczyszczenie skóry głowy w miejscach naklejania elektrod. Celem takiego oczyszczenia jest zmniejszenie impedancji pomiedzy elektrodami, która nie powinna przekraczać 5k omów. Do oczyszczenia miejsca naklejenie alektrod stosuje sie zwykle secjalną pastę ścierna lub żel. Następnym etapem jest naklejenie elektrod. Do tego celu na specjalną elektrodę nakłada się specjalny klej-żel. 

Poniżej można zobaczyć przykład elektrod i kleju, żelu.


Do naklejenia alektrod na uzytek neurofeedbacku nie zawsze trzeba wykonywać oczyszczania powierzchni skóry. Część wzmacniaczy poradzi sobie z wiekszą impedancją. Ponieważ sygnał EEG zawiera wiele artefaktów (nie wnikając w szczegóły) cięzko ocenić, szczególnie poczatkowemu uzytkownikowi czy faktycznie rejestruje sygnał EEG. Jedną z najprostszych metod sprawdzenia czy rejestrujemy sygnał EEG jest próba rejestracji fal alfa (8-13 Hz) i stosunkowo duża amplituda (30-100 uV). Alfa najlepiej jest widoczna z tyłu głowy elektroda Oz. Dlatego najprostszym testem jest zamknięcie oczu przez osobę badaną. Powinny wtedy zostać zarejestrowane sygnały jak poniżej na rysunku. W momencie otwierania i zamykania oczu widać różnicę w przebiegu EEG.




Taka rejestracja jest często pierwszym etapem pozwalającym na rejestracje sygnału EEG, czy to na użytek interfejsu mózg-komputer czy tez neurofeedbacku (biofeedbacku EEG).








Interfejs mózg-komputer (BCI) wykorzystujący potencjał P300

   Jedną z najprostszych koncepcji interfejsów mózg-komputer jest wykorzystanie potencjału P300 (załamka P300). Użytkownik (najczęściej osoba sparaliżowana) skupia swoja uwagę na wybranym znaku na monitorze. Jeśli osoba skupiała swoją uwagę na wybranym znaku i dany znak został podświetlony, to po około 300 ms powstaje pewien charakterystyczny załamek (potencjał P300). Więcej na temat interfejsu mózg-komputer można znaleźć: http://toiowonaukowo.blogspot.com/2010/11/interfejs-mozg-komputer-bci-brain.html Zaznaczyć należy, że interfejsy należą do dość szybkich. Pokazany na poniższym filmie interfejs BCI pozwala napisanie jednego znaku (wybór z 36) w ciągu 8 sekund przy 99% skuteczności. Dzięki takim interfejsom osoba sparaliżowana ma możliwość prostej komunikacji z rodziną. Należy podkreślić, że zaprezentowany interfejs mózg-komputer P300 wykorzystuje zaledwie kilka elektrod (7) a przygotowanie do akwizycji sygnałów jest bardzo proste. Bardzo ważnym elementem systemu mózg-komputer P300 jest fakt, że nie wymaga on nauki generowania sygnałów. Praktycznie 5 minutowe przeszkolenie pozwala na swobodne pisanie. 1 znak na 8 sekund to dla wielu z nas bardzo wolno, ale dla niektórych osób sparaliżowanych to JEDYNA FORMA KOMUNIKACJI!







Kluczem do zrozumienia działania interfejsu jest potencjał P300. Mózg inaczej reaguje na bodziec na który spoglądał uzytkownik. Na poniższym rysunku uśrednione czasy odpowiedzi po bodźcu.




"Poprawny" niebieski kolor na wykresie przedstawia odpowiedź P300. Wywołany jest on bodźcem, podświetloną literą na która patrzył uzytkownik. Natomiast "Niepoprawny" to odpowiedzi od innych liter. Na które uzytkoniek nie patrzył.

Więcej na ten temat można znaleźć w pracy http://bcpw.bg.pw.edu.pl/dlibra/doccontent?id=3343&dirids=1


Separacja przez wybielanie sygnału EEG na użytek interfejsu mózg-komputer

Jednym z problemów występującym podczas akwizycji sygnału EEG jest to, że sygnał zbierany przez pojedyńczą elektrodę rejestruje również aktywność mózgu pochodzącą z innych bardziej oddalonych obszarów.   Należy zaznaczyć, że sygnał EEG zawiera w sobie również artefakty fizjologiczne, to jest sygnały zakłócające, na przykład oczami, zaciskanie szczęki, ruch językiem itd.




Zatem sygnał dochodzacy do elektrod jest superpozycją wielkiej liczby sygnałów żródłowych. Poniżej zaproponowano  użycie ślepej separacji sygnału (BSS) do odzyskania sygnałów oryginalnych (żródłowych). Do tego celu wykorzystano wybielania sygnału EEG. Poniżej znajduje się preznetacja i pliki matlaba ułatwiające zrozumienie problemu. Tak wybielone i odseparowane sygnały EEG posłużą do wydobycia nowych (miejmy nadzieję lepszych) cech. Nowe cechy posłużą do nauki klasyfikatora. Końcowym efektem będzie użycie klasyfikatora w interfejsie mózg-komputer (BCI, brain-computer interface).

Prezentacja na temat wybielania i separacji sygnału EEG (ppsx).
Prezentacja na temat wybielania i separacji sygnału EEG (pptx).




Program w matlabie z GUI do obrazowania możliwości wybielania i separacji sygnałów (rar).


Poniżej zaprezentowano przykłąd problemu "cocktail party problem". Każdy z mikrofonów rejestruje dwóch mówców oraz szumy. Zadaniem BSS jest odesparwowanie poszczególnego głosu mowcy.

Można odsłuchać pliki przed rozseparowaniem (mix1mix2) i po separacji (sep1, sep2).







Interfejs mózg-komputer BCI (Brain-Computer Interface)

Jak już co niektórzy wiedzą w swojej pracy zajmuje sie interfejsami mózg-komputer. To dośc ciekawy i obszerny temat. Istnieje wiele metod komunikacji człowieka z maszyną najpopularniejsze sa oczywiście mysz i klawiatura. Jednak istnieje cała gamma takich metod . Znany wszytkim jest Steaven Hawking, który choruje na stwardnienie rozsiane zanikowe boczne i komunikuje się ze światem zewnętrznym za pomoca metod okulograficznych (pisze ksiązki za pomoca ruchu gałek ocznych!). Właśnie to dla osób sparalizowanych przeznaczone są interfejsy mózg-komputer. Wiele osób choruje na wymyślne choroby których nazw nawet wole nie przytaczać lub uległy wypatkowi. Czesto nie moga nawet poruszyć oczami lub placem. Dlaczego dla osób sparaliżowanych przeznaczony jest interfejs? Problem stanowi prędkość interfejsów BCI. Na chwilę obecną (i raczej nic nie wróży że będzie szybciej) predkośc przekazania informacji maszynie wynosi zaledwie kilka (około 8) znaków na minutę!




Istnieje wiele metod rejestracji sygnału pochodzącego z mózgu jednak najczęściej wykorzystywany jest sygnał EEG (stosunkowo tania i nieinwazyjna metoda). Interfejsy mózg-komputer wykorzystuje kilka tak zwanych potencjałów. Najczęsciej sa to potencjały wywołane: P300 , SSVEP lub potencjał skojarzony z ruchem tzw. ERD/ERS. Ja zajmuję sie konkretnie analizą sygnału EEG a dokładniej, generowaniem cech (inaczej ekstrakcją cech) oraz slekecja cech (wybraniem najlepszych cech), które potem interpretuje komputer. Interfejsy BCI wykorzystuja potencjały wywołane, które moga być wielokrotnie uśredniane. Celem mojej pracy jest analiza zaledwie jednej sekundy sygnału EEG. Osoba sparaliżowana wyobraża sobie pewien ruch i na podstawie tylko 1 sekundy sygnału EEG komputer ma "odgadnąć" o jakim ruchu myślała osoba.



Poniżej podaję linki do pierwszych stron artykułów na temat BCI, które powstały w naszym zespole.
Całości artykułów można zamówić tutaj.


Publikacje:

1. Kołodziej M., Rak R., Zastosowanie analizy częstotliwościowej sygnału EEG w interfejsach mózg-komputer. Przegląd Elektrotechniczny 2008
2. Kołodziej M., Majkowski A., Rak R., Interfejs mózg-komputer – wybrane problemy rejestracji i analizy sygnału EEG, Przegląd Elektrotechniczny 2009
3. Kołodziej M., Majkowski A., Rak R., Matlab FE_Toolbox - an universal utility for feature extraction of EEG signals for Brain-Computer Interface realization. Przegląd Elektrotechniczny 2009
4. Olszewski D. Kołodziej M., Twardy M., A Novel Probabilistic Model for K-Means Algorithm, Przegląd Elektrotechniczny 2010
5. Kołodziej M., Majkowski A., Rak R., A new method of feature extraction from EEG signal for brain-computer interface design, Przegląd Elektrotechniczny 2010
6. Kołodziej M., Majkowski A., Wybrane problemy przetwarzania, analizy i klasyfikacji sygnału EEG na użytek interfejsu mózg-komputer. Metrologia dziś i jutro 2010
7. Kołodziej M., Majkowski A., Rak R., Implementation of genetic algorithms to feature selection for the use of brain-computer interface, International Conference Computational Problems of Electrical Engineering 2010
8. Kołodziej M., Majkowski A., Rak R, A New Method of EEG Classification for BCI with Feature Extraction Based on Higher Order Statistics of Wavelet Components and Selection with Genetic Algorithms, Adaptive and Natural Computing Algorithms
Lecture Notes in Computer Science, 2011
9. Rak. R, Kołodziej M., Majkowski A. 9 Rozdział. Metrologia w Medycynie, Interfesj-mózg-komputer. WAT 2011.
10. Kołodziej M., Majkowski A., Rak R, Optymalizacja doboru okien czasowych do przetwarzania sygnału EEG w interfejsach mózg-komputer, Przegląd Elektrotechniczny 2011.
11. Kołodziej M., Majkowski A., Rak R, Wykorzystanie t-statystyk do szybkiej selekcji cech sygnału EEG na użytek interfejsu mózg-komputer. Przegląd Elektrotechniczny 2011.

Więcej na ten temat: http://bcpw.bg.pw.edu.pl/dlibra/doccontent?id=3343&dirids=1

Zaraźliwe ziewanie, Ziewiający pies, NLP, EEG i interfejsy mózg-komputer

Chyba każdy z nas doświadczył zaraźliwego ziewania i nie raz złapał się na tym, że w towarzystwie osoby bliskiej sam szeroko otwiera usta, gdy owa osoba zacznie ziewać. Jeśli nawet nie doświadczasz tego często to na pewno słyszałeś o "zaraźliwym ziewaniu". Kiedyś nawet słyszałem, że owo ziewanie ma być bardziej zaraźliwe od grypy;) Ile w tym prawdy nie wiem, ale ostatnio natknąłem się na artykuł, który częściowo rozwiązał zagadkę: Dlaczego zarażamy się ziewaniem?

Nim przejdę jednak do sedna sprawy kilka faktów na temat ziieeeewaaaania..


Na wikipedi znajdziemy taką oto definicję: "Ziewanie to odruch polegający na wykonaniu głębokiego wdechu i wydechu związany ze zmęczeniem, brakiem pobudzenia lub potrzebą snu, jednak występuje także podczas niedotlenienia oraz przy wybudzaniu się. Ludzkie ziewanie jest silnym przekazem niewerbalnym, może posiadać różne znaczenia w zależności od sytuacji, w jakiej wystąpi. Przyczyny ziewania nie są dokładnie poznane. Jedna z teorii głosi, że ziewanie poprawia przepływ krwi i chłodzi mózg."

Doświadczenia pokazują, że nie tylko ludzie potrafią zarazić się ziewaniem. Ramiro M. Joly-Mascheroni, Atsushi Senju i Alex J. Shepherd (Dogs catch human yawns, Biol. Lett. (2008) 4, 446–448, ) przeprowadzili ciekawe badania, które pokazują, że ziewaniem zarazić się może również nasz pies. Co ciekawe, jak w podsumowaniu piszą badacze, zaraźliwość w przypadku pupila jest większe i wynosi 72% niż w przypadku ludzi 45-60%. Jak wyglądało badanie, można zobaczyć na filmie: http://gu.com/p/xztg2





Mam nadzieję, że jeszcze nie śpicie;) Sprawa "małpowania" odruchów, czy postawy ciała nie dotyczy tylko ziewania. Jak pewnie niektórzy wiedzą, osoby mające ze sobą "dobry kontakt" lub przyjacielską więż, często przyjmuja podobne postawy ciała a nawet oddychają w tym samym tempie. Jak wykorzystywać mowę ciała, można się dowiedzieć w książkach i kursach poświęconych NLP. Zresztą podobne techniki wykorzystuje się w hipnozie czy sugestii. Dlaczego podświadomie przejmujemy czyjeś postawy i zachowania? Pozostawało to dla mnie pewnego rodzaju zagadką. Jednak dlaczego tak się dzieje? Natknąłem się na ciekawe doświadczenie, które rozjaśnia nieco sprawę.

Od jakiegoś czasu znany jest fakt, że wykonanie ruchu (na przykład palcem) powoduje zmiany sygnału EEG (elektroencefalograficznego) w korze mózgowej. Znany jest również fakt, że samo wyobrażenie sobie ruchu powoduje pewne zmiany sygnału EEG podobne do tego, gdy wykonujemy samodzielnie ruch. Fakt ten jest często wykorzystywany przez interfejsy mózg-komputer. Osoba niepełnosprawna wyobraża sobie ruch, co powoduje zmiany potencjałów EEG a sprytny  komputer wykrywa te zmiany i steruje (na przykład) wózkiem inwalidzkim. Zmiany te nazywamy ERD/ERS, powrócimy do tego tematu na pewno w innym poście. Poniżej, możemy zobaczyć przykład tego, gdzie znajdują się obszary mózgu "odpowiedzialne" za dane fragmenty ciała.




Jednak doświadczenie wykonane w roku 1954! przez Pana Gastauta i jego zespół (Gastaut, H. J., & Bert, J. (1954). EEG changes during cinematographic presentation. Electroencephalogr. Clin. Neurophysiol., 6, 433-444) pokazało, że zachodzą zmiany w mózgu (zauważalne w sygnale EEG) jeśli patrzymy na ruch wykonywany przez zupełnie inną osobę! Zatem wystarczy, że obserwujemy wykonany ruch na przykład palcem wskazującym a nasz mózg (dla uściślenia fragment mózgu odpowiedzialny za ruch) zaczyna pracować podobnie jak mózg osoby która wykonuje ruch.

Teraz wystarczy poskładać fragmenty układanki i.. mamy całkiem ciekawe wyjaśnienie dlaczego ziewamy;) Oczywiście to dopiero początek, dodam, że doświadczenia te były zaczątkiem do stworzenia przez psychologów teorii o tak zwanych "neuronach lustrzanych".

Lego Mindstorms NXT 2.0+żyroskop HiTechnic+RobotC = Segway

Po kilku wieczorach wreszcie udało się skomponować (hardware i software) w całość i oto powstał Segway. Ponieważ już dostałem wiele pytań, jak zbudować takie cudo, przedstawię instrukcję budowy oraz co najważniejsze program Segwaya. Dodam tylko, że jest to wersja pierwsza a w zamierzeniu robot będzie sterowany za pomocą Bluetootha za pomocą telefonu z Windows Mobile i będzie poruszał się do przodu, do tyłu oraz skręcał.





Do zbudowania Segwaya, potrzebne będą:

Następnie należy połączyć dwa serwomoechanizmy, kostkę NXT oraz przypiąć nasz żyrokompas. Powinniśmy otrzymać coś takiego jak na poniższych zdjęciach:







Serwomotory podłączamy do wejść B i C. Żyroskop podłączamy do portu S1.

Teraz przechodzimy do najtrudniejszej części a mianowicie oprogramowania. Na początku próbowałem używać oprogramowania NXT-G dostarczonego przez firmę Lego w zestawie, ale było zbyt wolne i cały algorytm stawał się nieczytelny. Do napisania orpogramowania na Segway polecam programowanie NXC lub RobotC. Wykorzystałem oprogramowanie RobotC. 

Zaprogramowanie Sagwaya to nie taka prosta sprawa, jest wiele problemów z którymi należy się zmierzyć:

  • Pierwszy problem to odczyt wskazań z żyroskopu. Żyroskop to jednoosiowy czujnik obrotu  mierzy prędkość kątową do +/- 360° na sekundę a sam pomiar rejestruje do 300 razy na sekundę. Jednak sam żyroskop po podłączeniu do zestawu NXT, wskazuje już pewną wartość, nazwijmy tą wartość offsetem, u mnie było to około 608. Wartość ta (offset) jest zależny między innymi od temperatury otoczenia. A zatem jeśli zmieni się temperatura, nasz czujnik wskaże zupełnie inne wartości. Dalej opiszę jak sobie z tym radzić.

  • Kolejny problem to serwomechaznimy, otóż okazuje się, że szybkość obrotów zależy między innymi od naładowania baterii. Im lepsze baterie tym szybciej poruszają się serwomotory, musimy kompensować te zmiany.

  • Najważniejszy problem a zarazem wyzwanie to sama regulacja (sterowanie) samymi serwomotorami, tak aby robot zachowywał pozycję pionową. Będziemy "ustawiali" robota do pionu około 100 razy na sekundę.
  
 Poniżej przestawiam napisany program:

task main(){

int ng,gn=607,nw=0,rp=0,rg,lrp=0,rwi=0,md;

nMotorPIDSpeedCtrl[motorB] = mtrNoReg;
nMotorPIDSpeedCtrl[motorC] = mtrNoReg;
bFloatDuringInactiveMotorPWM=true;

// Wyliczenie offsetu i wpisanie go do zmiennej gn
int suma=0,i=0;
int srednia;
for (i=0; i<11; i++)
{
suma=suma+SensorRaw(S1);
}


srednia=suma/11;
gn=srednia;

nxtDisplayCenteredTextLine(1, "%d", gn); //wypisanie offsetu na ekranie


//glowna petla programu
while(true){

ng=SensorRaw(S1)-gn; nw+=ng; //wyliczenie kąta
rp=nMotorEncoder(B); //odczytanie pozycji koła

rg=rp-lrp; lrp=rp; rwi+=rg; //obliczenie prędkość koła
if (abs(rwi)>15){gn-=sgn(rwi); rwi=0;} //kompensacja zyrokompasu


md=(nw+ng*12+rp*5+rg*360)>>5; //kontroler PD dla (kół dużych RXC)
//md=(nw+ng*10+rp*4+rg*200)>>4; //kontroler PD (NXT dla kół małych)


md+=sgn(md)*48; //kompensacja tarcia/baterii

motor[motorB]=motor[motorC]=md; //ustawienie serwomotorów
wait1Msec(10); // pętla około 100 x na sekundę

}
} 

Myślę, że kod źródłowy wyjaśnia działanie programu. Oczywiście dla swojego Segwaya, powinieneś dobrać parametry dla regulatora PD oraz kompensację baterii.

Na koniec przedstawię jeszcze wynik działania programu wraz ze wszytkimi zmiennymi (wykres przy użyciu Matlaba).


Co mają wspolnego sok noni i białe myszki?

Przeglądając artykuły medyczne na temat skuteczności soku non (który pewnie zasłuży sobie jeszcze na osobnego posta), natknąłem się na "Evaluation of the ergogenic potential of noni juice". Po krotce.. autorzy artykułu sprawdzają działanie soku noni jako "eliksiru" dodającego energię, siłę, poprawiającego jakość życia.. itd. A oto w jaki sposób prze prowadzono badania. Otóż.. pojono nasze bohaterskie myszki sokiem noni w różnych dawkach i .. no właśnie!

Prze prowadzano testy: "Forced Swimming Test", jednym słowem wrzucano myszki i sprawdzano jak długo będą się broniły przed żywiołem wody.










Kolejnym testem był tak zwany test "rotarod test", czyli nasze białe myszki zmuszano tym razem do uczestnictwa w wyścigu.. tylko dokąd one biegną? Odpowiedź znajdziecie tutaj:









Pomijając, czy to ładnie tak bawić się biednymi, skądinąd jakże budzącymi sympatię zwierzakami sprawdźmy jakie były wyniki tej "zabawy". Okazało się, że owe myszki pojone sokiem noni, średnio  o 36% do 45% dłużej pływały i biegały o 59% do 128% dłużej, od tych, które nie dostawały eliksiru energii. Swoją drogą ciekawe jak by im poszło po dobrze znanym red-bullu?;)

Zadanie na słoneczne dni..

Słońce praży niesamowicie, leje się z nas pot, i od razu w mej głowie pojawiło się takie oto zadanko. Dodam tylko, że wszystkie dane są rzeczywiste.


Do pokoju na poddaszu o wymiarach 4 na 3 metry i wysokości 2.5 metra przez okno o wymiarach 2 na 1 metr wpadają promienie słońca o mocy 600 wat na metr kwadratowy. Zakładamy, że szyba przepuszcza 0.8 % promieniowania natomiast nagrzewa się tylko powietrze i nie ma oddawania energii do ścian czy też na zewnątrz budynku. Obliczyć, o ile wzrośnie temperatura powietrza w pokoju w ciągu 60 sekund. Gęstość powietrza: 1.168 kg/m^3. Ciepło właściwe dla powietrza: 1005 J/kg*K.
Podobne zadanie rozwiązywałem dla samochodu i wyniki okazują się zaskakujące.


Życzę powodzenia w rozwiązaniu i czekam na komentarze;)