Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
IGE-XAO
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Sterowanie ustami lub brodą dla osoby sparaliżowanej

batory79 06 Apr 2007 19:30 5998 40
  • #31
    fciesielski
    Level 11  
    submariner:
    No cóż jestem maniakiem komputerowym - to fakt, ale miałem także okazję programować 8051 i przyznam, że sprawiło mi to przyjemność.
    Co do niezawodności to jest w tym trochę racji, ale na co dzień widuje maszyny do obróbki sterowane sterownikiem na Windozie i głowy nikomu nie urwały. Faktem jest, że program sterujący współpracuje ze sterownikami wykonawczymi opartymi własnie na mikrokontrolerach, tak więc moim zdaniem taka hybryda jest to bardzo dobre rozwiązanie.

    Problem natomiast leży gdzie indziej niż rozważania komp czy sterownik - chodzi o szybkie uruchomnienie systemu, na razie do sterowania telewizorem i jego późniejszy rozwój, Jak już coś będzie zrobione i przetestowane to wtedy można poszaleć i wznieść się na wyżyny programowania zarówno kompów jak i kontrolerów. Takie jest moje podejście do projektów natomiast tak na prawdę istotne jest jak problem chce rozwiązać Andrzej.
    Istotne jest również nastawienie jego ojca do problemu (jak sam to opisał) tak więc niesprawdzonym skomplikowanym systemem, czy to na kontrolerze czy kompie można tylko "położyć" sprawę. Metoda małych kroków to podstawa sukcesu przy większości projektów.

    Jak już pisałem, jestem na etapie rysowania propozycji mechanicznego rozwiązania problemu platformy, manipulaora i czujnika ciśnienia. To czego tam nie będzie to elektronika. Niezależnie od tego czy te propozycje będą wykorzystane, jeżeli Andrzej wybierze koncepcje manipulatora, to i tak bedzie potrzebny sterownik podłączający manipluator i czujnik ciśnienia do kompa/kontrolera.
    Ze względu na siły i późniejszy rozwój manipulatora z wersji dyskretnej do analogowej planuje optyczny przetwornik wychyleń manipulatora, oparty na transoptorze szczelinowym.
    Niezbędne jest więc interfejs, który zamieni sygnał z takiego przetwornika na sygnały "komputerowe" na początku LPT ale może również RS232 lub USB. Docelowo najlepiej byłoby gdyby sterownik (masz swój sterownik :-) ) mógł symulować myszę na PS/2 - chyba nie trzeba tłumaczyć dlaczego.
    Jeżeli submariner (lub inni forumowicze) masz coś takiego lub możesz zaprojektować to może by już rozpocząć prace? Co o tym uważasz Andrzej ?

    Pozdrawiam
    Filip
    fciesielski
  • IGE-XAO
  • #32
    batory79
    Level 10  
    Cześć

    W poniedziałek będę u taty pogadam z nim i pomierzę łóżko tak żeby było wiadomo jakie przyjąć gabaryty ewentualnego uchwytu montażowego manipulatora.
    W czym rysujecie bo ja używam Autodesk Inventor 9.

    Mam już pomysł na ten uchwyt mocowany do ramy łóżka bęðę rysował po świętach.
    Pozdrawiam

    Andrzej
  • #33
    submariner
    Level 32  
    moja koncepcja to wlasnie nie mocowanie tego do lozka tylko podobnie jak sluchawki do glowy tak by zawsze bylo "pod reka" , jesli chodzi o interfejsy na mikrokontrolerach do kompa to nie ma po co komplikowac sprawy przetworniki game portow spokojnie wystarcza a awaryjnosc bedzie taka jak komputera :).
    Co do czasu realizacji najprostszej wersji projektu na mikrokontrolerach to 1 dzien i moze ze 100 zl jak wszystko trzeba bedzie kupic.
    Dalej jestem przekonany do mikrokontrolerow :).
  • IGE-XAO
  • #34
    batory79
    Level 10  
    Porozmawiam z rodzicami czy do głowy czy do łóżka ten manipulator. Tata jest regularnie karmiony dostaje leki, przychodzi codziennie rehabilitant, również regularnie tata jest myty i mama podaje mu dośc często napoje do picia.
    Moja wizja jest taka : gdyby można było przymocować to do ramy łóżka to mogłoby to być troszkę cięższe bo jeżeli do głowy to problemem jest też waga.

    Manipulator przybliżał by się po okręgu np ( mały silnik krokowy ) na sygnal na przykład czujnika pod ręką ( tata wykonuje lewą ręką ruch o kilka cm bez ruchu nadgarstka tylko w stawie łokciowym ) a oddalał by się np po przytrzymaniu dźwigni manipulatora w dolnym położeniu przez kilka sekund. Celem tego ruchu jest to by nie trzeba było tej dźwigni trzymać przez cały czas w ustach np podczas ogłądania filmu.

    Cały czas myślę o tych komendach głosowych bo faktycznie to metoda bezinwazyjna będę robił testy z laptopem.

    Pozdrawiam

    Andrzej
  • #35
    neo_dc
    Level 32  
    moim skromnym zdaniem do glowy niezbyt. Jezeli tacie np. zechce sie spac lub cos w tym stylu to po co ma kogos wolac zeby zdjac mu "helm" ? wystarczy ruch reka ( mowisz ze jakis twoj tata wykonuje ) i np. ramie z joyem odjezdza na bok )

    im wiecej samodzielnosci tym lepiej - wkurzylbym sie gdyby nie dosc ze mi costam zalozyli to jeszcze musze kogos wolac do obslugi.
  • #36
    swistak1
    Level 10  
    Zainteresował mnie ten temat i chciałbym przedstawić do rozważenia mój pomysł. Obok monitora komputerowego umieszczona tablica z czujnikami,a na oprawie okularów wskaźnik laserowy w taki sposób aby ruch głowy osoby patrzącej na monitor był symetryczny z przemieszczaniem światła lasera na tablicy.Nie jestem zawodowym elektronikiem,więc nie wiem do końca czy jest to realne do zrealizowania,ale proszę o komentarz fachowców.

    Dodano po 34 [minuty]:

    Tablica to może przesada ,ale kilka czujników o odpowiednim znaczeniu np. na ścianie pokoju?

    Dodano po 43 [minuty]:

    Laser może być np. na palcu

    Dodano po 21 [minuty]:

    a tablica np. z alfabetem odpowiednio daleko żeby ruchy np.palcem mogły być minimalne
  • #37
    fciesielski
    Level 11  
    Witam.

    Po pierwsze Wesoły Świąt.

    Taka szybka uwaga: jeżeli manipulator miałby postać jojysticka poruszanego ustami to jak miałbybyć poruszany będąc zamocowany do głowy, skoro to własnie rusza się głową aby manipulować joystickiem :-) .

    Andrzej: Jak wróce do domu po świętach to ok. środy wygrzebie program do sterowania głosem oraz spróbuje ściągnąć najnowszą wersję.
    Wymiary i konstrukcja łóżka (może jakieś zdjęcie - przynajmniej zagłówka bardzo by się przydały). Ja "maluje" w Solid Worksie 2003+. Jest to całkowicie parametryczne więc do moich projeków ostateczne wymiary mogę podac na końcu.
    Jeśli chodzi o manipulatory joystickowe to np. na wózkach dla osób sparaliżowanych są cały czas umieszczone w zasięgu ust. Wystarczy się lekko wychylić aby go dosięgnąć. Moja konstrukcja zakłada manipiulator wysuwany w małym zakresie - nieużywany znajduje się w wygodnej odległości od ust, aby go "uchwycić" należy lekko wysunąć głowe do przodu. Natomiast całe ramie ma możliwość odblokowania i obrócenia np o 90 stopni. Pozwala to raz ustawić pozycję platformy z manipulatorem (która musi być dość precyzyjnie ustawiona) i odsuwać bądź przysuwać na ustaloną pozycję w zależności od potrzeby. Użycie do tego silnika sugerowałbym zostawić sobie na później po uruchomieniu i sprawdzeniu koncepcji.

    submariner:
    ze względu iż nie wiadomo jak będzie zachowywać się przetwarzanie optyczne sygnału z transoptora wbudowanego w manipulator. Być może (ja myślę, że na pewno) będzie potrzebny interfejs pomiędzy transoptorami a gameportem normalizujący sygnały (także kalibrujący) chociaż podpięcie manipulatora pod rs lub lpt uważam za bardziej eleganckie i funkcjonalne.

    Pozdrawiam

    Filip
  • #38
    submariner
    Level 32  
    Weolych swiat wszystkim :)
    jojystick przy glowie to faktycznie nietypowy pomysl i nie bardzo wyobrazam sobie jego uzywanie , ale sensor reagujacy na nacisk (jak wczesniej opisalem) w poblizu ust - ustach to wg mnie idealne rozwiazanie jescze lepiej jak by mogl zblizac sie do ust np przy dmuchnieciu na tym samym mocowaniu-nie kasku :) a opaski lub podobnie jak niktore sluchawki zamocowany display z ledami lub jeszcze lepiej display od tel. komorkowego na wysiegniku tak by byl dobrze widocny.
  • #39
    fciesielski
    Level 11  
    Witam.

    Minęło trochę czasu ale udało mi się poszperać trochę w sieci i przetestować parę koncepcji rozwiązania problemu.

    Jeżeli chodzi o osoby sparaliżowane, mogące jednak poruszać szyją to manipulatory jojstickowe są sprawdzonym i działającym rozwiązaniem.
    Odpowiednie oprogramowanie przekształcające ruchy joysticka na ruchy myszy, oraz dołączone programy generujące klawiatury ekranowe (np. z dużymi klawiszami) pozwalają na pełną obsługę komputera i wszystkich urządzeń do niego podłączonych.

    Drugą odnogą urządzeń wspomagających osoby niepełnosprawne są programy śledzące ruchy głowy bądź twarzy i przekładające ten ruch na przesunięcia myszy.
    Wiele z nich potrafi rozpoznawać tzw. gesty czyli sekwencje ruchów głową powodujące wykonanie określonej czynności, np. klik lub dwuklik myszy.
    Niektóre z nich potrafią wykryć mrugnięcie okiem i zinterpretować to jako np. klik myszy.

    Innymi programami, na które udało mi się trafić w sieci są programy śledzące punkt wskaźnika laserowego na ekranie, czy to projekcyjnym, czy to monitorze. Mimo iż głównie przeznaczone są do ułatwienia korzystania z myszy w trakcie prezentacji, to moim zdaniem, idealnie sprawdzą się w przypadku osoby niepełnosprawnej. Niezbędna będzie wtedy "uprząż" na głowę, do której taki wskaźnik zostanie przymocowany.

    Oczywiście szukałem także programów do sterowania głosem. Interesowały mnie głównie takie gdzie można dodawać nowe komendy i "uczyć" komputer ich rozpoznawania.

    Testy z poszczególnych programów oraz linki będę zamieszczał w kolejnych postach. Wszystkie programy, które dały się uruchomić i dały jakiekolwiek obiecujące rezultaty umieściłem na swoim serwerze F T P. Jego dane to:
    adres: ftp://fciesielskiemuledom.dyndns.org
    port: 21
    user: 728977 (numer tego topica)
    hasło: projekt

    i kompletny link dla tych co będą używać przeglądarki www:
    @fciesielskiemuledom.dyndns.org:21" target="_blank" rel="noopener nofollow ugc" data-caption="" title="ftp://728977:projekt@fciesielskiemuledom.dyndns.org:21" class="postlink ">ftp://728977:projekt@fciesielskiemuledom.dyndns.org:21

    Na pierwszy ogień sterowanie głosem...cdn.

    Dodano po 44 [minuty]:

    Programy do sterowania głosem

    Na na początek program do sterowania głosem z możliwością "uczenia" Game Commander firmy MindMaker. Parę lat temu udało mi się w wersji 2 wrzucić kilkadziesiąt komend AutoCADa i kilkanaście dot. systemu i program działał rewelacyjnie, rozpoznawał 100-95% komend i nie mylił się. Jak dla mnie to lider w tym biznesie. Ma niestety też swoje wady. Polecenia wywoływane komendami głosowymi to głownie skróty bądź sekwencje klawiszy. Uruchomienie aplikacji wymaga utworzenia skrótu i przyporządkowania w nim sekwencji klawiszy, którą później wywoła Game Commander. Na szczęście obsługa klawiatury jest bardzo rozbudowana - jest funkcja pozwalająca na zmianę "wciskanych" przez Commandera klawiszy w zależności, które jest to wywołanie komendy z kolei, oraz wciśnięcie i przytrzymanie klawisza, lub tzw. autofire - wielokrotne wciskanie danego klawisza.

    Program posiada pomocną funkcję ładowania profilu czyli zestawu komend zależnego od aktywnej aplikacji. Powoduje to redukcję aktywnych w danym programie komend i mniejszą ilość błędów rozpoznania komendy. Także w różnych programach mogą istnieć te same komendy powodujące inne akcje.
    Dodanie komend "wciskających" poszczególne litery pozwoliłoby na powolne ale jednak pisanie np. adresów w w w.

    Jeżeli chodzi o wpływ zakłóceń zewnętrznych na działanie programu to obawiam się, że ze względu na czułość mikrofonów elektretowych w słuchawkach komputerowych mogą one być sporym problemem.
    Jeżeli testy bez zakłóceń wypadną pozytywnie to trzeba by to chyba rozpisać na osobny projekt, zaczynając od dynamicznego mikrofonu różnicowego.

    Na serwerze F T P znajdują się dwie wersje programów GC tj. 2 i 3. Wersja 2 ma upgrade do nieco wyższej wersji 2.1 czy coś w tym rodzaju.
    Niestety wersja 3 była u mnie całkowicie niestabilna i nie mogłem w pełni jej przetestować. Z tego co zauważyłem jednak nie ma w niej większych zmian w zakresie funkcjonalności, tak więc moim zdaniem wersja 2 jest wystarczająca.

    Sterowanie urządzeń zewnętrznych wymagać będzie dodatkowej aplikacji zamieniającej sekwencje klawiszy na dane słane do portu LPT. Prosta karta przekaźnikowa pozwoli na sterowanie np. pilotem (rozebranym). Do sterowania innymi urządzeniami domowymi, moim zdaniem, najlepsze byłyby lokalne sterowniki przekaźnikowe z elementami logiki, podpięte do PC-ta przez RS485.

    Na razie jednak potrzebne są testy Andrzeja u jego taty.

    Pozostałymi programami, które ściągnąłem i przetestowałem są:
    IVOS - Inteligent Voice Operating System
    Say Now
    VRCommander.

    Całkiem nieźle radził sobie Say Now. Poprawnie i bez błędów rozpoznawał wbudowane komendy głosowe. W stosunku do Game Commandrera był bardziej rozbudowany funkcjonalnie i posiadał funkcje obsługi myszy i uruchamiania aplikacji. Niestety wszystkie wbudowane funkcje są po angielsku.

    IVOS - działał dość dobrze jednak posiadał identyczną "wadę" jak poprzednik - tylko angielski. Miał jednak możliwość dodawania nowych komend i treningu rozpoznawania, jednak nie aż tak dopracowaną jak Game Commander - nie radził sobie zbyt dobrze z polskimi komendami - trzeba by to dotestować.
    Ciekawa jest w nim funkcja dyktowania - oczywiście po angielsku. Bzdury jakie czasami rozpoznawał były zabawne, ale być może miała na to wpływa moja "angielszczyzna".

    VRCommander - no cóż ten działał kiepsko ale aby to potwierdzić wymagane są testy z kilkoma mikrofonami, bo jest to element krytyczny tych systemów.
    Prawidłowy dobór mikrofonu, jego położenia, wzmocnienia karty i software'owego wzmocnienia w danym programie to największa trudność i słaby punkt tego rozwiązania.

    Podaje link bezpośredni do programów sterowania głosem:
    @fciesielskiemuledom.dyndns.org/Sterowanie glosem" target="_blank" rel="noopener nofollow ugc" data-caption="" title="ftp://728977:projekt@fciesielskiemuledom.dyndns.org/Sterowanie glosem" class="postlink ">ftp://728977:projekt@fciesielskiemuledom.dyndns.org/Sterowanie glosem

    Następne sterowanie ruchami głowy...cdn.

    Pozdrawiam

    Filip
  • #40
    fciesielski
    Level 11  
    Sterowanie ruchami głowy

    Z kilku programów, które znalazłem w sieci, najlepsze wyniki miał program QualiEYE. Program ten używając kamery (może być webcam - nie jest wymagana wysoka jakość obrazu), śledząc ruchy głowy (a w zasadzie twarzy) steruje myszką.
    Po odpowiednich ustawieniach (co zajmuje trochę czasu) możliwe jest bardzo łatwe i precyzyjne sterowanie myszką. Program posiada dodatkowo funkcje Gesture Commands - gesty. Po zatrzymaniu myszy na 1,5 s program przez 1 s oczekuje określonego gestu (np. ruch w dół i w górę), który to jest zamieniany na zdarzenie systemowe, np klik lub dwuklik myszy. Funkcja ta działa bardzo dobrze.

    Przetestowałem także możliwość zamocowania kamery na głowie. Ze względu na niemożliwą do przestawienia inwersje ruchów myszki w płaszczyźnie pionowej kamera musi być skierowania do tyłu, co może być utrudnieniem w przypadku taty Andrzeja, gdyż obraz śledzony przez kamerę musi być od niej trochę oddalony.

    Problemem, który pojawił się podczas testów jest ... zmęczenie mięśni głowy. Aby program dobrze funkcjonował musiałem ustawić dość duży zakres ruchów głową do sterowania myszką. Dodam, że steruje się bezwzględnie tj. odchylenie głowy od punktu odpowiadającego środkowi ekranu przekładane jest na bezwzględną pozycję myszy na ekranie. Dodatkowo wymagana precyzja powodowała stałe napięcie mięśni szyi co było stosunkowo męczące. Jednak po dłuższych testach (ok. 1 godz.) okazało się, że chyba się trochę przyzwyczaiłem i nie było to tak dokuczliwe jak na początku.

    Należałoby sprawdzić działanie programu z kamerami o różnej ogniskowej (zoomie) tak aby dobrać najlepsze (najwygodniejsze) parametry pracy.

    Podsumowując QualiEYE jest dość dobrą alternatywą dla manipulatora jojstickowego pod warunkiem, że będzie to odpowiadać tacie Andrzeja i pozwolą mu na to jego możliwości ruchowe.

    Słabym punktem tego rozwiązania jest:
    - wymagana precyzja ruchów
    - ew. duży zakres ruchów myszy
    - dokładność ustawienia kamery i na twarz

    I jeszcze link do programu:
    @fciesielskiemuledom.dyndns.org/QualiEYE" target="_blank" rel="noopener nofollow ugc" data-caption="" title="ftp://728977:projekt@fciesielskiemuledom.dyndns.org/QualiEYE" class="postlink ">ftp://728977:projekt@fciesielskiemuledom.dyndns.org/QualiEYE

    Następne śledzenie punktu wskaźnika laserowego...cdn.

    Pozdrawiam

    Filip

    Dodano po 28 [minuty]:

    śledzenie punktu wskaźnika laserowego

    Zdecydowanie najlepszym (najwygodniejszym) rozwiązaniem jakie testowałem jest sterowanie myszką za pomocą wskaźnika laserowego i kamery.
    Polega to na skierowaniu kamery na ekran projektora lub ekran komputera kamery, odpowiednie skalibrowanie programu (zakresu ekranu) i wskazaniu punktu, w którym ma się pojawić myszka wskaźnikiem laserowym.
    Wykryte przez algorytymy programu położenie punktu wskaźnika zamieniane są w trybie rzeczywistym na położenie myszki.

    Zaletami takiego rozwiązania jest to, że ruszając głową w bezpośredni sposób wskazujemy miejsce gdzie ma przesunąć się myszka. W zależności od umiejscowienia (odległości) ekranu od oczu można sterować zakresem ruchu głowy odpowiadającym zakresowi ekranu.

    Jedynym programem z kilku, które ściągnąłem, który w ogóle działał i pozwalał wybrać źródło sygnału wideo był PresenterMouse.
    Wymagane jest w nim dość dokładne ustawienie czułości urządzenia, co zajmuje kilka minut.

    Słabym punktem tego rozwiązania jest konieczność użycia dobrej (powyżej 10 fps przy rozdzielczości 640x480) gdyż niska jakość obrazu (np. 320x240) powoduje oscylacje kursora myszki w zakresie wskazanego wskaźnikiem punktu. Ja niestety dysponowałem kamerką 320x240@12fps co powodowało w/w zjawisko. Jednym z rozwiązań tego problemu jest zmniejszenie rozdzielczości ekranu do 800x600, zwiększenie wielkości ikon i użycie klawiatury ekranowej z dużymi klawiszami, ale mam nadzieję, że w 640x480 problem będzie minimalny.

    Odniosłem też wrażenie, że lepiej od ekranu monitora CRT sprawować się będzie ekran LCD.

    W przypadku ustawienia czułości "na styk" czerwone elementy na ekranie (ikony itp.) powodowały "gubienie się" programu. W przypadku wystąpienia takiego problemu rozwiązaniem mógłby być sprzężony, podwójny wskaźnik laserowy, mocowany do głowy. Jeden punkt służyłby do wskazywania na ekranie komputera punktu dla kursora myszki, a drugi przesunięty o kąt śledzony byłby przez kamerę programu PM, na jakimś jednolitym (np. białym) tle (ekran pomocniczy). Przy odpowiednim wyskalowaniu układu (głowa, wskaźniki, ekran komputera, ekran pomocniczy) sądzę, że rezultaty byłyby bardzo dobre.

    Słabym punktem tego rozwiązania jest:
    - konieczność dołożenia do zestawu, kamera, wskaźnik, ekran, program czujnika ciśnieniowego lub sterowania głosem do realizacji funkcji przycisków myszki (klik, dwuklik, prawy, lewy, środkowy, ew. kółko)
    - konieczność stosowania wysokiej jakości kamery (cena)

    Link do programu:
    @fciesielskiemuledom.dyndns.org/PresenterMouse" target="_blank" rel="noopener nofollow ugc" data-caption="" title="ftp://728977:projekt@fciesielskiemuledom.dyndns.org/PresenterMouse" class="postlink ">ftp://728977:projekt@fciesielskiemuledom.dyndns.org/PresenterMouse

    Następne joystick jako myszka...cdn.

    Pozdrawiam

    Filip

    Dodano po 12 [minuty]:

    Joystick jako myszka

    O ile wcześniej opisanych programów jest bardzo mało to programów zamieniających joystick na myszkę jest cała masa.

    Ja wybrałem cztery, które posiadają wiele opcji konfiguracyjnych, oraz poprawnie działają - myślę, że jest z czego wybrać.

    Dysponowałem joystickiem firmy Logitech Wingman Extreme 3D. Wszystkie programy działały poprawnie. Ważne są ustawienia dot. czułości, przyspieszania, nieliniowości i martwej strefy aby osiągnąć komfort użytkowania. Lekko denerwująca jest powolność przemieszczania kursora myszki, ale po pierwsze można to wyeliminować dobrymi w/w ustawieniami, a po drugie dla osoby w sytuacji taty Andrzeja to chyba najmniejszy problem.

    Dodam, że niektóre programy pozwalają na pozycjonowanie kursora myszy w trybie bezwzględnym czyli położenie zależy od wychylenia joysticka, ale wymagany jest do tego precyzyjny joystick, a mój Wingman chyba już tą precyzję utracił z wiekiem :-) .

    Link do testowanych programów:
    @fciesielskiemuledom.dyndns.org/Joy to mouse" target="_blank" rel="noopener nofollow ugc" data-caption="" title="ftp://728977:projekt@fciesielskiemuledom.dyndns.org/Joy to mouse" class="postlink ">ftp://728977:projekt@fciesielskiemuledom.dyndns.org/Joy to mouse

    Tyle udało mi się wyszukać i przetestować - czekam na opinie Andrzeja i innych forumowiczów dot. w/w programów i rozwiązań.

    Pozdrawiam

    Filip
pcbway logo