Konstrukcja i zastosowanie interaktywnego robota terapeutycznego Koala

Wielkość: px
Rozpocząć pokaz od strony:

Download "Konstrukcja i zastosowanie interaktywnego robota terapeutycznego Koala"

Transkrypt

1 Konstrukcja i zastosowanie interaktywnego robota terapeutycznego Koala Krzysztof Arent 18 czerwca 2007 Marek Wnuk 1 Wstęp Interaktywne roboty społeczne, w dzisiejszym życiu codziennym, nie są powszechnie obecne. Jednak w wielu placówkach badawczych całego świata prowadzone są intensywne badania nad ich zastosowaniem w różnrodnych dziedzinach życia. Bardzo ciekawy przegląd takich robotów, z dyskusją rozmaitych zagadnień związanych z interaktywnością i aspektem społecznym, przedstawiono w pracy [24]. Wśród potencjalnych zastosowań interaktywnych robotów społecznych, które przybrały formę dziedzin badawczych, jest wspomaganie terapii dzieci autystycznych. Zagadnienie to podjęto w ramach projektu AuRoRA w roku 1998 [9]. Obecną postać problemu badawczego wraz z hipotezami sformułowano w pracy [21]. Prosty w swoim kształcie i zachowaniach, społecznie interaktywy robot, powinien być łatwiej akceptowalny przez dziecko autystyczne, w porównaniu z człowiekiem, którego wyrazy twarzy są często zbyt skomplikowane do odczytania. Poprzez odpowiedni dobór zachowań interaktywnych robota, i stopniowe zwiększanie ich spektrum, należy zachęcać dziecko do wchodzenia w interakcje i poszerzać ich różnorodność. Dotychczas prowadzone badania koncentrowały się na poszukiwaniu właściwej konstrukcji robota, odpowiedniego sposobu przeprowadzenia eksperymentu z dziećmi, oraz techniki zapisu i analizy wyników [33, 21]. Badania prowadzono głównie w ramach projektu AuRoRA na Uniwersytecie Hertfordshire w Wielkiej Brytanii oraz na Uniwersytecie Sherbrooke w Kanadzie. W pierwszym przypadku badania były ukierunkowane na cele terapeutyczne i opierały siȩ o teorie psychologiczne, pedagogiczne oraz o metody sztucznej inteligencji, robotyki i technologii asystywnej. W drugim przypadku centralną rolę odgrywały aspekty inżynierskie projektowania robotów. Podczas prac wykorzystano kilkanaście konstrukcji robotów. Część z nich powstała na bazie istniejących platform, np. Labo 1 [19], Pekee [22, 17, 18], bądź też została skonstruowana od podstaw: Robota 2 [15], Roball 1, Roball 2 [32, 30, 29], Tito [33]. Roboty te różniły się między sobą kształtem (od prostych kul do humanoidalnych lalek) oraz zachowaniem. W kontekście zadań robotów, szereg czynników odgrywało pierwszoplanową rolę. W szczególności: kształt, wygląd, trwałość, a przede wszystkim zdolność do reakcji na szerokie spektrum pobudzeń (włączając Instytut Informatyki, Automatyki i Robotyki, Politechnika Wrocławska, ul. Z. Janiszewskiego 11/17, Wrocław, {krzysztof.arent marek.wnuk}@pwr.wroc.pl 1

2 siłę, prędkość, ciśnienie, głos, obraz) rozmaitymi zachowaniami (ruchem, głosem, światłem). Ważne, by zachowanie robota było dostosowane do indywidualnych cech dziecka, aktualnych potrzeb i zainteresowań. Równolegle z rozwojem konstrukcji prowadzono intensywne prace nad rozwojem metod prowadzenia i analizy eksperymentów robotów z dziećmi [19, 35, 16, 34, 31]. Na szczególną uwagę zasługują ilościowe metody analizy [20] i ich jakościowe uzupełnienie. Uzyskane dotychczas wyniki bardziej precyzują obszar badań niż dostarczają ukształtowane metody projektowania robotów użytecznych w terapii autyzmu. Wyniki te są jednak dobrą podstawą i mocną przesłanką do podjęcia dalszych badań. W roku 2004 w Zakładzie Podstaw Cybernetyki i Robotyki na Politechnice Wrocławskiej przystąpiono do prac nad nowym interaktywnym robotem społecznym dedykowanym wspomaganiu terapii dzieci autystycznych. W procesie konsultacji z pedagogami i terapeutami z Dolnośląskiej Wyższej Szkoły Edukacji we Wrocławiu oraz Centrum Neuropsychiatrii i Rechabilitacji w Mikoszowie sformułowano ramową specyfikację takiego robota. W szczególnośc robot miał reagować na dotyk, ruch, siłę działania i głos dziecka kolorowym światłem, dźwiękiem i melodią (lub komunikatem głosowym). Robot miał być przeznaczony dla dzieci młodszych (w wieku od 2 do 6-ciu lat), w pełni obsługiwany i programowany przez terapeutę i powinien być użyteczny w codziennej praktyce, w szczególności powinien pozwalać dziecku na swobodną, niczym nieograniczoną interakcję z dzieckiem. Z punktu widzenia dziecka robot miał być prostą i bezpieczną zabawką, za którą uznano piłkę. Na tej podstawie sformułowano wstępną techniczną specyfikację robota terapeutycznego, który z czasem przyjął nazwę Sharic. W [4] sformułowano i uzasadniono założenia interfejsu robot - terapeuta, w [39] przeanalizowano rozmaite aspekty sterowania robotem i zaproponowano odpowiedni układ, natomiast w [28] sformułowano założenia co do układów sensorycznych i wykonawczych robota. W [6] zebrano wyniki prac nad konstrukcją, programowaniem i sterowaniem robota Sharic. W pracach [12, 13] opisano rozmaite aspekty prototyu interfejsu terapeuty dla robota Sharic. W [40], przedstawiono konstrukcję wersji rozwojowej Sharica - robota Koala. Zagadnienia sterowania i programowania Koali omówiono w [7]. W [8] przedyskutowano rozmaite aspekty symulatora zachowania robota Koala. W pracy [10] dokonano przeglądu wyników dotyczących robotów dedykowanych terapii autyzmu. Na koniec, w pracy [23] przedstawiono pierwszą realizację interfejsu terapeuty dla Sharica i Koali, oraz rozwinięto idee z pracy [8] na temat symulatora robota w środowisku Matlab/Simulink. Celem niniejszego raportu jest zebranie wyników i przedstawienie aktualnego stanu prac nad kulistym robotem terapeutycznym Koala. Konstrukcja robota omówiona jest w rozdziale 2. Zagadnienia związane z programowaniem robota zebrane są w rozdziale 3. Interfejs terapeuty przedstawiono w rozdziale 4. Wybrane zagadnienia związane z planowanym eksperymentem przedyskutowano w rozdziale 5. Wnioski i kierunki dalszych badań zamieszczono w rozdziale 6. 2 Sterownik robota Zgodnie z założeniami przyjętymi po konsultacjach ze specjalistami w zakresie terapii autyzmu u dzieci młodszych, akcje dziecka są bodźcami wejściowymi dla robota, a jedgo reakcje mają na dziecko oddziaływać w sposób założony przez terapeutę. Zasadę budowy sterownika przedstawiono na rys. 1. Robot Koala jest wyposażony 2

3 DZIECKO KOALA SENSORY STEROWNIK EFEKTORY PREPROCESOR FUNKCJA STATYCZNA POSTPROCESOR ROZMYWANIE WNIOSKOWANIE WYOSTRZANIE TERMY WEJ. REGULY TERMY WYJ. Rysunek 1: Struktura układu sterowania w sensory (przyspieszenia, prędkości obrotowej, siły nacisku i powierzcni dotyku). Sygnały pomiarowe z czujników są przetwarzane przez sterownik na sygnały wyjściowe, które wysterowują efektory (źródła światła barwnego i dźwięku). Sterownik ma postać Mamdaniego [41] z dynamicznym preprocesorem, statyczną funkcją odwzorowującą wejścia w wyjścia i dynamicznym postprocesorem. Filtry wejściowe i wyjściowe zapewniają dynamiczne zachowanie sterownika o charakterze całkującym (pamięć historii) i różniczkującym (wykrywanie zmian). Statyczna funkcja przejścia jest realizowana przez rozmytą maszynę wnioskującą (Fuzzy Engine) w trzech etapach (rozmywanie fuzzification, wnioskowanie inference i wyostrzanie defuzzification). Baza wiedzy zawiera definicje termów wejściowych i wyjściowych oraz reguły wnioskowania w formie zdań if then. Programowanie zachowania robota Koala przez terapeutę polega na podaniu zbioru reguł wnioskowania wchodzących w skład bazy wiedzy. W szczególnych przypadkach można też zmieniać definicje funkcji przynależności dla poszczególnych termów wejściowych i wyjściowych. 2.1 Konstrukcja elektroniczna Sterownik robota Koala zbudowano w oparciu o mikrokontroler MC9S12C32, który jest odporny na zkłócenia, wstrząsy i zmiany temperatury. 16 bitowa jednostka centralna udostępnia instrukcje pozwalające na efektywne implementowanie wnioskowania rozmytego [14]. Bogate wyposażenie w układy peryferyjne (8 kanałowy, 10 bitowy przetwornik A/Ć, 6 kanałów PWM, układ transmisji szeregowej SCI i inne) umożliwiło znaczne zredukowanie układów elektronicznych robota, co ma dodatni wpływ na cenę i niezawodność. Schemat blokowy sterownika przedstawiono na rys. 2. Sensory są podłączone bezpośrednio do wejść przetwornika A/C. Trzy kanały wykorzystano do odczytu przyspieszeń liniowych z trzyosiowego akce- 3

4 akcelerometr 3D MMA xBC640 dioda RGB (6) zyroskop (3) czujnik cisnienia czujnik dotyku ENC03JA ENC03JA ENC03JA MPXV7025 MC PA A/C MC9S12C32 PWM SCI 2 BC640 BC639 8xNiMH glosnik (2) PC ZASILACZ elektroda (8) Rysunek 2: Konstrukcja elektroniczna sterownika lerometru MMA7260Q [25] o zakresie pomiarowym ±1.5g 6g. Dalsze trzy kanały służą do odczytywania prędkości kątowych względem trzech wzajemnie prostopadłych osi. Sygnały te pochodzą z żyroskopów piezoelektrycznych ENC03JA [3]. Siłę nacisku na powierzchnię robota można oceniać na postawie pomiaru ciśnienia w pneumatycznej powłoce robota (czujnik ciśnienia MPXV7025G [2] przyłączony do siódmego kanału przetwornika A/C). Ostatni kanał przetwornika służy do pomiaru powierzchni dotykanej przez dziecko. Wykorzystano układ MC33794 [26], pozwalający mierzyć upływność generowanego sygnału sinusoidalnego (120kHz) spowodowaną przez pasożytniczą pojemność powstającą przy zbliżaniu ręki do elektrody. Układ obsługuje osiem elektrod rozmieszczonych równomiernie pod wierzchnią warstwą powłoki robota. Elektrody są przełączane sygnałami z portu równoległego PA mikrokontrolera. Świecące elementy wykonawcze stanowi 6 trójkolorowych diod LED o dużej wydajności. Są one sterowane za pośrednictwem kluczy tranzystorowych przez 3 kanały bloku PWM. Średnie natężenie składowych RGB jest zadawane przez odpowiednie wypełnienie przebiegów prostokątnych generowanych w tych kanałach. Dźwięk jest wytwarzany w czawartym kanale PWM jako fala prostokątna o wypełnieniu 50% i programowalnym okresie. Zakres częstotliwości przekracza 3 oktawy. Natężenie dźwięku jest regulowane przy pomocy piątego kanału PWM, który pracuje z częstotliwością ponadakustyczną i zmiennym wypełnieniem. Oba te kanały, za pośrednictwem kluczy tranzystorowych, wysterowują dwa głośniki dynamiczne 8Ω//1.5W. Komunikacja z komputerem nadrzędnym, wykorzystywana przy przeprogramowywaniu zachowania robota lub badaniu jego charakterystyk, jest zapewniona przez blok SCI. Szeregowa transmisja asynchroniczna (115 kb) pozwala wykorzystać dostępne oprogramowanie [37, 1] do komunikacji z mikrokontrolerem w celu zaprogramowania pamięci FLASH. Przez złącze służące do transmisji można również ładować akumulatory NiMH, które zapewniają zasilanie robota. Dodatkowo, w prototypowej wersji badawczej, umieszczono (niepokazaną na rys. 2) pamięć EEPROM AT24C512. Jest ona dostępna przez interfejs szeregowy IIC i służy do rejestrowania pomiarów sygnałów z czujników. Niezbędny jest również pomocniczy interfejs pomiędzy komputerem nadrzędnym i robotem, który zapewnia: 4

5 komunikację przewodową przez port szeregowy RS232C, wprowadzanie sterownika w tryb programowania, ładowania akumulatorów robota, sieciowe zasilanie robota w trybie programowania lub transmisji. Urządzenie takie zostało przedstawione na rys. 3. Przycisk P (prawy górny róg płyty Rysunek 3: Wygląd interfejsu Koala PC czołowej) służy do włączania trybu programowania. 2.2 Budowa mechaniczna Poniższy opis dotyczy prototypowej wersji robota, która została zrealizowana bez korzystania z zaawansowanych technologii (w warunkach domowych). Docelowa wersja (seria próbna) wymaga zaangażowania zewnętrznych podwykonawców (wykonanie dedykowanych płytek drukowanych, obudowy części elektronicznej, elementów pneumatycznych i powłoki). Elektroniczne układy robota są zmontowane na płytkach drukowanych i wmontowane do sześciennej obudowy o boku 100mm. W prototypie zastosowano moduł mikrokontrolera opracowany do celów laboratoryjnych [38]. Akcelerometr i trzy żyroskopy zamontowano na dwóch oddzielnuch płytkach jako moduły. Podobnie zmontowano układ czujnika dotyku (MC33794Q). Wszystkie te moduły połączono w całość na uniwersalnej płytce drukowanej o rozmiarach 90mm x 45mm. (rys. 4). 1 Jest ona zamocowana w sześcianie tak, by akcelerometr znalazł się w jego środku. 1. Takie rozwiązanie było podyktowane prototypowym charakterem konstrukcji. Zastosowanie specjalnie zaprojektowanej płytki drukowanej pozwoli zmniejszyć gabaryty sterownika o połowę. 5

6 Rysunek 4: Widok płytki sterownika Na środkach ścian obudowy są zamocowane trójkolorowe diody LED. Z wierzchołków sześcianu są wyprowadzone ekranowane przewody zasilające elektrody sensora dotyku. Elastyczne elektrody są wykonane z folii metalowej laminowanej obustronnie taśmą samoprzylepną. Przewód do komunikacji i ładowania akumulatorów (zakończony złączem) jest wyprowadzony na środku jednej z krawędzi sześcianu wraz z zaworem pneumatycznym służącym do pompowania powłoki. Na rys. 5 pokazano etapy montażu podzespołów prototypy w obudowie. Zewnętrzna warstwa powłoki stanowi sferę o średnicy ok. 200mm wykonaną z dwóch płatów przejrzystej, elastycznej tkaniny (o kształcie inspirowanym konstrukcją piłek tenisowych) 2. Przestrzeń pomiędzy sześcianem a sferą jest wypełniona sześcioma komorami pneumatycznymi wykonanymi z tkaniny i balonów lateksowych. Są one połączone elastycznymi rurkami poprzez rozdzielacz z wentylem i czujnikiem ciśnienia zamontowanym na głównej płytce sterownika. 2.3 Oprogramowanie wbudowane sterownika W pamięci FLASH jest umieszczone oprogramowanie i stałe dane, nie podlegające modyfikacjom w trakcie eksploatacji robota. Procedury inicjalizacji sprzętu zapewniają ustawienie parametrów pracy jednostki centralnej i układów peryferyjnych (wektory przerwań, parametry transmisji, kierunki portów równoległych itd.). Zasadnicza praca sterownika odbywa się przez cykliczne wykonywanie procedur realizujących odczyt i wstępne przetwarzanie sygnałów wejściowych na bodźce (preprocesor), realizację zadanego zachowania (z wykorzystaniem Fuzzy Engine i bazy wiedzy) oraz wtórnego przetwarzania reakcji na sygnały wyjściowe (postprocesor). Wywoływanie tych funkcji jest realizowane w procedurze obsługi przerwania od timer-a. Istotnym blokiem jest komunikacja z terapeutą umożliwiająca zmianę definicji zachowania robota (wprowadzenie nowej bazy reguł wnioskowania). Odbywa się ona przez przewodowe łącze szeregowe, które trzeba dołączyć do robota na czas programowania. Reguły wnioskowania znajdują się w pamięci FLASH o adresie 0x8000 i wielkości 16kB), którą można przeprogramowywać do razy. Oprogramowanie sterownika w wersji prototypowej pozwala na zarejestrowanie sekwencji zmiennych wejściowych dla bloku wnioskowania o czasie trwania 20s 2. W rozwiązaniu docelowym należy zapewnić wykonanie odpowiedniej powłoki z elastycznego tworzywa sztucznego. 6

7 Rysunek 5: Wybrane elementy i etapy montażu prototypu 7

8 oraz przesłanie pomiarów do komputera nadrzędnego. Rejestracja może się odbywać bez połączenia z komputerem (w normalnym trybie pracy robota, z zasilaniem bateryjnym). Przesłanie pomiarów wymaga połączenia przy pomocy kabla transmisji szeregowej. W trakcie normalnej pracy cykl sterownika polega na wykonaniu sekwencji przetwarzania sygnałów wejściowych na wyjściowe: preprocesor przetwarza bieżące wartości pomiarów (przyspieszenia, predkości obrotowej, dotyku, dźwięku itd.) na bodźce; programowalny blok realizujący zachowanie robota przetwarza bodźce na reakcje; postprocesor wytwarza bieżące wartości sygnałów wyjściowych (prądu zasilającego diody LED, częstotliwości migotania, amplitudy i częstotliwości wibracji itd.) na podstawie reakcji. Z trzech bloków realizujących działanie sterownika, dwa (preprocesor i postprocesor) mają charakter dynamiczny, a jeden (zachowanie) jest blokiem statycznym o wielu wejściach i wielu wyjściach. Bloki dynamiczne są silnie powiązane ze sprzętem realizującym pomiary i generującym sygnały wyjściowe i zostaną opisane w niniejszym rozdziale. Blok zachowania (opisany dalej) jest praktycznie niezależny od sprzętu, dzięki czemu można go przeprogramowywać bez specjalnego przygotowania technicznego. Programowanie zachowania wymaga jedynie opisania zależności pomiędzy reakcjami a bodźcami. 2.4 Preprocesor Przetwarzanie sygnałów z sensorów odbywa się w bloku preprocesora. W każdym cyklu pracy sterownika, na podstawie chwilowych wartości składowych wektora przyspieszenia mierzonych akcelerometrem trzyosiowym, jest wyliczany wypadkowy sygnał reprezentujący przyspieszenie, jakiemu robot jest poddawany przez dziecko. Ponieważ zastosowane akcelerometry mierzą rownież stałą składową przyspieszenia ziemskiego g, wynikowy sygnał jest poddawany kompensacji tak, by robot pozostający w bezruchu odbierał zerową wartość tego bodźca (zmienna lingwistyczna acc): a = a 2 x + a 2 y + a 2 z g Podobnie, na podstawie prędkości obrotowych mierzonych trzema żyroskopami, jest wyliczany wypadkowy sygnał prędkości obrotowej (rot): ω = ωx 2 + ω2 y + ω2 z O nacisku wywieranym na powłokę robota świadczy sygnał ciśnienia p i mierzonego w dętkach (press). Ze względu na możliwość występowania powolnego spadku ciśnienia na skutek minimalnych nieszczelności, zastosowano kroczącą autokalibrację pomiaru do najmniejszego zanotowanego ciśnienia p 0 : p = p i p 0, gdzie p 0 = min{p i }. Wszystkie sygnały z czujników mają widmo ograniczone do nie więcej niż 250Hz. Próbkowanie sygnałów pomiarowych a, ω, p odbywa się w obsłudze przerwania cyklicznego o okresie τ p =1ms, co zapewnia ich prawidłową dyskretyzację. Z drugiej strony, ze względu na niewielką szybkość zmian otoczenia, przyjęto jako 8

9 dlugość cyklu pracy sterownika τ c =10ms. Wykorzystując nadmiar danych pomiarowych w stosunku do potrzeb, zastosowano mieszaną filtrację pozycyjno liniową. Łączy ona zalety filtracji liniowej (uśrednianie, zwiększanie rozdzielczości) oraz pozycyjnej (skuteczne tłumienie zakłóceń impulsowych ang. shot noise). W sterowniku przyjęto, jako graniczne, kwantyle rzędu 0.1 i 0.9, co daje prosty algorytm filtracji: ( 9 ) x = 1 x i max{x i } min{x i }. 8 i=0 Sygnał dotyku s nie jest filtrowany. Pomiary chwilowe z 8 elektrod są sumowane w celu uzyskania informacji o łącznej powierzchni dotyku w danym cyklu (touch). Do określania reguł zachowania robota przydatna jest znajomość nie tylko chwilowych wartości sygnałów, ale również ich historii i tendencji zmian. W tym celu dla wszystkich sygnałów (a, ω, p, s) w każdym cyklu sterowania są wyliczane sygnały wtórne (ia, da, iω, dω, ip, dp, is, ds). Algorytmy ich wyliczania podano poniżej, zastępując nazwę sygnału pierwotnego przez x. Mają one postać: oraz: ix n = (1 ε)ix n 1 + εx n dx n = x n ix n. Pierwszy z nich reprezentuje odpowiedź członu inercyjnego o stałej czasowej: τ c T = ln(1 ε), zaś drugi przedstawia trend zmiany. W wyniku pracy preprocesora otrzymujemy następujące zmienne wejściowe opisujące bodźce (akcje dziecka): bodziec czujnik symbol zmienna przyspieszenie akcelerometr 3D a acc MMA7260 rotacja 3 żyroskopy ω rot ENC03JA nacisk czujnik ciśnienia p press MPXV7025 dotyk czujnik zbliżeniowy s touch MC Rejestracja bodźców Czujniki robota Koala zostały zbadane pod kątem skuteczności działania, a zwłaszcza możliwości rozpoznawania stanu robota na podstawie ich sygnałów. Na 6 przedstawiono wybrane wykresy. Skala czasu jest wyrażona w cyklach sterownika (τ c =10ms). Oddziaływania na czujniki robota Koala polegały na: odbijaniu od podłogi ( ), obracaniu w rękach ( ), 9

10 250 acc rot press touch Rysunek 6: Wykresy zarejestrowanych pomiarów z czujników robota Koala obejmowaniu i przytulaniu robota ( ), energicznym potrząsaniu ( ). Zarejestrowane wartości sygnałów inercyjnych (rys. 7) pozwalają określić warunki dla odpowiednich klasyfikatorów tych bodźców. Na przykład potrząsanie charakteryzuje się dużymi wartościami przyspieszenia (iacc) i nacisku (ipress) przy średniej wartości rotacji irot). Z kolei przytulanie daje dużę wartości nacisku (ipress) i dotyku (itouch) przy malych wartościach przyspieszenia (iacc). W pewnych sytuacjach mogą być przydatne sygnały przyrostowe (rys. 8). Spadek aktywności dziecka jest natychmiast widoczny jako ujemne wartości sygnału przyspieszenia (dacc) - por. okres ( ). 2.6 Postprocesor Robot może oddziaływać na dziecko przy pomocy dwóch podstawowych bodźców (światło i dźwięk) 3. Oba zaimplementowane efektory (trójkolorowe diody LED i głośniki) pozwalają na sterowanie kilkoma parametrami emitowanych sygnałów. Wprowadzona w postprocesorze dynamiczna korekcja sygnałów wyjściowych dodatkowo zwiększa możliwości ekspresji robota. Światlo jest emitowane przez diody sterowane w przestrzeni barw RGB (co wynika z konstrukcji LED). Taki system parametryzacji nie jest wygodny dla terapeuty. W robocie zastosowano jeden ze znanych sposobów parametryzacji koloru, zaproponowany w [36]. System HSV (odcień hue, nasycenie sat i jasność val) 3. Ze względu na założenia odnośnie odporności i niskiej ceny robota, świadomie zrezygnowano z wyposażenia go w możliwości ruchowe. 10

11 iacc irot ipress itouch Rysunek 7: Wykresy sygnałów inercyjnych pozwala w intuicyjny sposób zadać parametry światła. Dodatkową jego zaletą jest przedziałowa linearyzacja zależności składowych RGB od odcienia, co pozwala na efektywną implementację konwersji HSV RGB. Odcienie dla danej jasności są definiowane jako kierunki wewnątrz sześciokąta rozpiętego przez barwy podstawowe i dopełniające (Red Yellow Green Cyan Blue Magenta). Barwie czerwonej odpowiada kierunek 0 o, żółtej 60 o itd. Nasycenie jest reprezentowane przez odległość punktu od środka sześciokąta (któremu odpowiada światło białe). Dźwięk jest określony przez dwie wartości chwilowe (wysokość ton i głośność vol). Wysokość jest związana z okresem generowanej fali prostokątnej o wypełnieniu 50%. W robocie Koala przyjęto parametryzację tonu w zakresie dającą przybliżenie skali logarytmicznej w zakresie ponad 3 oktaw (od 300Hz do 3326Hz). Głośność jest sterowana liniowo przez zmianę wypełnienia przebiegu kluczującego głośniki z częstotliwością około 47kHz. Wszystkie parametry reakcji robota są poddawane korekcji dynamicznej (całkowaniu). W rezultacie, wynikowa wartość sygnału y zależy od dwóch zmiennych wyjściowych: wartości bieżącej i przyrostu dy. Wyliczona przez blok wnioskowania wartość zmiennej wyjściowej jest w postprocesorze zwiększana o wyliczoną wartość przyrostu: y += dy. W przypadku, gdy w czasie wnioskowania nie została uruchomiona żadna reguła definiująca w swym następniku y, wartość zmiennej jest modyfikowana tylko przez postprocesor. Pozwala to na definiowanie w bazie reguł wolnozmiennych sygnalów dźwiękowych i świetlnych ( zanikanie, mienienie się tęczowo itp.). Zmienne wyjściowe bloku wnioskowania (dostarczane postprocesorowi są na- 11

12 dacc drot dpress dtouch Rysunek 8: Wykresy sygnałów przyrostowych stępujące: reakcja efektor parametr zmienna światło barwne 6 RGB LED odcień hue nasycenie jasność sat val dźwięk 2 głośniki wysokość ton głośność vol 3 Implementacja rozmytej maszyny wnioskującej z wykorzystaniem CPU12 Zachowanie robota interaktywnego jest definiowane przez podanie statycznej funkcji wielu zmiennych. Ze względu na konieczność dostosowywania zachowania kuli do indywidualnych cech dziecka, w trakcie procesu terapii musi istnieć możliwość określania tej funkcji przez terapeutę. Co więcej, nie jest znany model obiektu, z którym robot pozostaje w interakcji (dziecka) a zatem nie jest możliwe dokonanie syntezy sterownika na tej podstawie. Koncepcja sterowania rozmytego opartego na bazie wiedzy zbudowanej na 12

13 podstawie doświadczenia ekspertów wydaje się znajdować w naszym przypadku szczególnie dobre zastosowanie. Sterownik rozmyty w sensie Mamdaniego [11] składa się z dynamicznego preprocesora, dynamicznego postprocesora oraz statycznego odwzorowania zrealizowanego przy pomocy bloku wnioskowania rozmytego (rys. 9). SURJUDPRZDQLH ]DFKRZDQLD %$=$:,('=< IXQNFMH SU]\QDOH* QRFL ZHMü UHJXá\ ZQLRVNRZDQLD UR]P\WHJR IXQNFMH SU]\QDOH* QRFL Z\Mü V\JQDá\ ZHMFLRZH PRE- PROCESOR ERG(FH 52=0<:$1,( WNIOSKOWANIE ROZMYTE :<2675=$1,( UHDNFMH POST- PROCESOR V\JQDá\ Z\MFLRZH )8==<(1*,1( Rysunek 9: Sterownik rozmyty wedlug Mamdaniego. Algorytm sterowania jest pamiętany w postaci zestawu reguł o charakterze if then. Reguły te operują na zmiennych lingwistycznych wartościowanych przy pomocy rozmytych funkcji przynależności, którym nadaje się nazwy potoczne odpowiadające intuicji eksperta. Wykonanie jednego kroku algorytmu wymaga: rozmycia (fuzzification) ostrych wartości bodźców (określenia stopnia przynależności dla poszczególnych wartości zmiennych lingwistycznych opisujących bodźce), wnioskowania (inference) na podstawe reguł zawartych w bazie wiedzy i uzyskanych rozmytych wartości bodźców, co prowadzi do rozmytych wartości reakcji, wyostrzenia (defuzzification) wartości reakcji (określenia ostrych wartości reprezentujących wyniki wnioskowania). Informacje niezbędne do przeprowadzenia wszystkich powyższych etapów znajdują się w bazie wiedzy. Rozmywanie bodźców i wyostrzanie reakcji są zdefiniowane przez podanie funkcji przynależności dla odpowiednich zmiennych lingwistycznych i mają ścisły związek ze sprzętową realizacją akwizycji sygnałów i programowym przetwarzaniem odpowiednich zmiennych (nie są przewidziane do definiowania przez terapeutę). Możliwe jest jedynie pewne uelastycznienie tych etapów przez udostępnienie terapeucie, w ograniczonym zakresie, skalowania wartości sygnałów. 3.1 Model zachowania robota w FCL Język opisu programu sterownika rozmytego został ujednolicony w ramach standardu IEC 1131 PROGRAMMABLE CONTROLLERS [27]. W części 7. tej normy, zatytułowanej Fuzzy Control Programming, opisano składnię i zasady 13

14 stosowania języka FCL (ang. Fuzzy Control Language). Dostosowanie się do tego standardu zapewnia ujednolicenie nazewnictwa, standaryzację składni i przenośność oprogramowania. W celu zamodelowania zachowania terapeutycznego robota kulistego w języku FCL zadeklarowano wejściowe i wyjściowe zmienne lingwistyczne (por. 2.4, 2.6): FUNCTION_BLOCK koala VAR_INPUT acc: REAL; rot: REAL; press: REAL; touch: REAL; iacc: REAL; irot: REAL; ipress: REAL; itouch: REAL; dacc: REAL; drot: REAL; dpress: REAL; dtouch: REAL; END_VAR VAR_OUTPUT vol: REAL; ton: REAL; hue: REAL; sat: REAL; val: REAL; dvol: REAL; dton: REAL; dhue: REAL; dsat: REAL; dval: REAL; mvol: REAL; mton: REAL; mhue: REAL; msat: REAL; mval: REAL; END_VAR W dalszym ciągu następują bloki rozmywania (definicje termów dla poszczególnych zmiennych wejściowych): FUZZIFY acc TERM zero := ( 0.00,0.0) ( 0.00,1.0) ( 0.01,1.0) ( 0.05,0.0); TERM small := ( 0.01,0.0) ( 0.05,1.0) ( 0.10,1.0) ( 0.12,0.0); TERM medium := ( 0.10,0.0) ( 0.12,1.0) ( 0.20,1.0) ( 0.25,0.0); TERM large := ( 0.20,0.0) ( 0.25,1.0) ( 1.00,1.0) ( 1.00,0.0); TERM any := ( 0.00,0.0) ( 0.01,1.0) ( 0.90,1.0) ( 1.00,0.0); END_FUZZIFY FUZZIFY iacc TERM zero := ( 0.00,1.0) ( 0.01,1.0) ( 0.05,0.0); TERM small := ( 0.01,0.0) ( 0.05,1.0) ( 0.10,1.0) ( 0.12,0.0); TERM medium := ( 0.10,0.0) ( 0.12,1.0) ( 0.20,1.0) ( 0.25,0.0); 14

15 TERM large := ( 0.20,0.0) ( 0.25,1.0) ( 1.00,1.0) ( 1.00,0.0); END_FUZZIFY FUZZIFY dacc TERM n_large := ( -1.00,0.0) ( -1.00,1.0) ( -0.60,0.0); TERM zero := ( -0.40,0.0) ( 0.00,1.0) ( 0.40,0.0); TERM large := ( 0.60,0.0) ( 1.00,1.0) ( 1.00,0.0); TERM n_medium := ( -0.90,0.0) ( -0.50,1.0) ( -0.10,0.0); TERM medium := ( 0.10,0.0) ( 0.50,1.0) ( 0.90,0.0); END_FUZZIFY FUZZIFY rot TERM zero := ( 0.00,1.0) ( 0.01,1.0) ( 0.05,0.0); TERM small := ( 0.01,0.0) ( 0.05,1.0) ( 0.10,1.0) ( 0.12,0.0); TERM medium := ( 0.10,0.0) ( 0.12,1.0) ( 0.20,1.0) ( 0.25,0.0); TERM large := ( 0.20,0.0) ( 0.25,1.0) ( 1.00,1.0) ( 1.00,0.0); END_FUZZIFY FUZZIFY irot TERM zero := ( 0.00,1.0) ( 0.01,1.0) ( 0.05,0.0); TERM small := ( 0.01,0.0) ( 0.05,1.0) ( 0.10,1.0) ( 0.12,0.0); TERM medium := ( 0.10,0.0) ( 0.12,1.0) ( 0.20,1.0) ( 0.25,0.0); TERM large := ( 0.20,0.0) ( 0.25,1.0) ( 1.00,1.0) ( 1.00,0.0); END_FUZZIFY FUZZIFY drot TERM n_large := ( -1.00,0.0) ( -1.00,1.0) ( -0.60,0.0); TERM zero := ( -0.40,0.0) ( 0.00,1.0) ( 0.40,0.0); TERM large := ( 0.60,0.0) ( 1.00,1.0) ( 1.00,0.0); TERM n_medium := ( -0.90,0.0) ( -0.50,1.0) ( -0.10,0.0); TERM medium := ( 0.10,0.0) ( 0.50,1.0) ( 0.90,0.0); END_FUZZIFY FUZZIFY press TERM zero := ( 0.00,1.0) ( 0.01,1.0) ( 0.05,0.0); TERM small := ( 0.01,0.0) ( 0.05,1.0) ( 0.10,1.0) ( 0.12,0.0); TERM medium := ( 0.10,0.0) ( 0.12,1.0) ( 0.20,1.0) ( 0.25,0.0); TERM large := ( 0.20,0.0) ( 0.25,1.0) ( 1.00,1.0) ( 1.00,0.0); END_FUZZIFY FUZZIFY ipress TERM zero := ( 0.00,1.0) ( 0.01,1.0) ( 0.05,0.0); TERM small := ( 0.01,0.0) ( 0.05,1.0) ( 0.10,1.0) ( 0.12,0.0); TERM medium := ( 0.10,0.0) ( 0.12,1.0) ( 0.20,1.0) ( 0.25,0.0); TERM large := ( 0.20,0.0) ( 0.25,1.0) ( 1.00,1.0) ( 1.00,0.0); END_FUZZIFY FUZZIFY dpress TERM n_large := ( -1.00,0.0) ( -1.00,1.0) ( -0.60,0.0); TERM zero := ( -0.40,0.0) ( 0.00,1.0) ( 0.40,0.0); TERM large := ( 0.60,0.0) ( 1.00,1.0) ( 1.00,0.0); TERM n_medium := ( -0.90,0.0) ( -0.50,1.0) ( -0.10,0.0); TERM medium := ( 0.10,0.0) ( 0.50,1.0) ( 0.90,0.0); END_FUZZIFY FUZZIFY touch TERM zero := ( 0.00,1.0) ( 0.01,1.0) ( 0.05,0.0); TERM small := ( 0.01,0.0) ( 0.05,1.0) ( 0.10,1.0) ( 0.12,0.0); 15

16 TERM medium := ( 0.10,0.0) ( 0.12,1.0) ( 0.20,1.0) ( 0.25,0.0); TERM large := ( 0.20,0.0) ( 0.25,1.0) ( 1.00,1.0) ( 1.00,0.0); END_FUZZIFY FUZZIFY itouch TERM zero := ( 0.00,1.0) ( 0.01,1.0) ( 0.05,0.0); TERM small := ( 0.01,0.0) ( 0.05,1.0) ( 0.10,1.0) ( 0.12,0.0); TERM medium := ( 0.10,0.0) ( 0.12,1.0) ( 0.20,1.0) ( 0.25,0.0); TERM large := ( 0.20,0.0) ( 0.25,1.0) ( 1.00,1.0) ( 1.00,0.0); END_FUZZIFY FUZZIFY dtouch TERM n_large := ( -1.00,0.0) ( -1.00,1.0) ( -0.60,0.0); TERM zero := ( -0.40,0.0) ( 0.00,1.0) ( 0.40,0.0); TERM large := ( 0.60,0.0) ( 1.00,1.0) ( 1.00,0.0); TERM n_medium := ( -0.90,0.0) ( -0.50,1.0) ( -0.10,0.0); TERM medium := ( 0.10,0.0) ( 0.50,1.0) ( 0.90,0.0); END_FUZZIFY Bloki wyostrzania definiują termy (w postaci singletonów), metodę wyostrzania, domyślną wartość zmiennej i zakres jej zmienności: Powyższa część modelu jest ustalona dla robota i nie podlega ingerencji użytkownika (wynika z konstrukcji sensorów i układów wykonawczych). Blok reguł jest tworzony przez użytkownika robota (terapeutę). Podane poniżej reguły należy traktować jedynie jako ilustrację składni języka FCL: RULEBLOCK No1 AND : MIN; OR : MAX; ACCU : MAX; ACT : MIN; RULE 1 : IF iacc IS zero AND irot IS zero AND ipress IS zero AND itouch IS zero THEN ( dvol IS n_small ), ( mvol IS limit ), ( mton IS limit ),( dton IS n_small ) WITH 1.00; RULE 2 : IF irot IS NOT small THEN ( hue IS yellow ),( dval IS small ), ( dton IS small ) WITH 1.00; RULE 3 : IF press IS medium THEN ( sat IS large ) WITH 1.00; RULE 4 : IF press IS NOT medium THEN ( dval IS small ),(mval IS toggle) WITH 1.00; RULE 5 : IF acc IS any THEN ( mval IS toggle ),( msat IS limit ), ( mhue IS cycle ),( mton IS cycle ), ( mvol IS toggle) WITH 1.00; END_RULEBLOCK OPTION END_OPTION 16

17 END_FUNCTION_BLOCK W celu uzyskania zachowania robota terapeutycznego zamodelowanego powyżej, należy przetworzyć model z języka FCL na struktury danych dopasowane do zaimplementowanej w sterowniku rozmytej maszyny wnioskującej (Fuzzy Engine) i załadować je do pamięci sterownika. 3.2 CPU12 a rozmyta maszyna wnioskująca (Fuzzy Engine Rozmyta maszyna wnioskująca (Fuzzy Engine) została napisaną w asemblerze CPU12 [14], [5]. Rodzina MC9S12 jest dogodna do implementowania sterowników rozmytych dzięki specjalnym instrukcjom maszynowym: MEM (MEMbership function evaluation) pozwala w 5 taktach zegara określić stopień przynależności dla funkcji trapezowej określonej przez dwa punkty i dwa nachylenia zboczy. REV (Rule EValuation) służy do ewaluacji reguł na zasadzie min-max (koniunkcja jest realizowana przez minimum, a alternatywa przez maksimum funkcji przynależności poprzedników reguły). Czas wykonania instrukcji zależy od liczby poprzedników i następników (3 takty na poprzednik i następnik). Dostępny jest również jej wariant REVW pozwalający zadawać wagi dla poszczególnych reguł. WAV (Weighted AVerage) realizuje wyostrzanie wartości wyjściowych. Wylicza ona SOP (Sum Of Products) i SOW (Sum Of Weights) i umieszcza je w rejestrach tak, by następująca po niej instrukcja dzielenia (EDIV) pozwalała uzyskać ostateczny wynik. Ich wykorzystanie pozwala efektywnie oprogramować rozmywanie zmiennych wejściowych, wnioskowanie rozmyte i wyostrzanie zmiennych wyjściowych, pod warunkiem odpowiedniego zorganizowania bazy wiedzy oraz zmiennych wejściowych, wyjściowych i roboczych. Fuzy Engine korzysta z bazy wiedzy, zapisanej jako struktura zawierająca: deskryptory trapezów dla wejść, reguły wnioskowania w normalnej postaci dysjunktywnej oraz deskryptory singletonów dla wyjść. Konstruowanie bazy wiedzy zostało znacznie uproszczone dzięki opracowaniu programu fcl2kb12 konwertującego definicję sterownika rozmytego napisaną w FCL (Fuzzy Control Language) [27] do postaci wymaganej przez CPU12. Język FCL stanowi standard w programowaniu sterowników rozmytych, dzięki czemu oprogramowanie robota Koala jest zgodne z obowiązującymi normami. Wygenerowana baza wiedzy ma postać modułu w języku C. Należy ją skompilować i sprowadzić do postaci binarnej (użyto narzędzi GNU dla HC11//12). 3.3 Generowanie bazy wiedzy na podstawie FCL Definicja zachowania robota opisana w języku FCL (plik kb.fcl) jest konwertowana na postać binarną zgodną z wymogami maszyny wnioskującej opartej na CPU12 w dwóch etapach: translacji do języka C (plik kb.c): fcl2kb12 kb.fcl kb.c > kb.1 2> kb.2 kompilacji do postaci S-rekordów (plik kb.s19): m6811-elf-gcc -mshort -c kb.c m6811-elf-objcopy -O srec kb.o kb.s19 Translator (fcl2kb12) przetwarza postać źródłową rozmytej bazy wiedzy w języku FCL (por. 3.1) na moduł w języku C zawierający: 17

18 definicje stałych: #define USE_WEIGHTS 0 /* WITH flag */ #define USE_NOTS 1 /* NOT flag */ #define IN_VAR_N 12 /* number of input variables */ #define IN_TERMS_N 53 /* number of input terms */ #define IN_VAR_O sizeof(t_base_param) #define INPUTS_O IN_VAR_O+sizeof(t_var_info)*IN_VAR_N #define OUT_VAR_N 15 /* number of output variables */ #define OUT_TERMS_N 87 /* number of output terms */ #define OUT_VAR_O INPUTS_O+sizeof(t_term_info)*IN_TERMS_N #define OUTPUTS_O OUT_VAR_O+sizeof(t_var_info)*OUT_VAR_N #define RULES_N 5 /* number of rules */ #define WEIGHTS_O OUTPUTS_O+OUT_TERMS_N #define RULES_O WEIGHTS_O+(USE_WEIGHTS?RULES_N:0) pomocnicze parametry rozmytej bazy wiedzy: const t_base_param BaseParam = { USE_WEIGHTS, /* UseWeights */ USE_NOTS, /* UseNots */ IN_VAR_N, /* InVarN */ IN_TERMS_N, /* InTermsN */ IN_VAR_O, /* InVarOff */ INPUTS_O, /* InputsOff */ OUT_VAR_N, /* OutVarN */ OUT_TERMS_N, /* OutTermsN */ OUT_VAR_O, /* OutVarOff */ OUTPUTS_O, /* OutputsOff */ RULES_N, /* RulesN */ WEIGHTS_O, /* WeightsOff */ RULES_O /* RulesOff */ tablicę parametrów wejść: const t_var_info InpVar[IN_VAR_N] = { { 5, 0, 1 }, /* acc */ { 4, 0, 1 }, /* rot */ { 4, 0, 1 }, /* press */ { 4, 0, 1 }, /* touch */ { 4, 0, 1 }, /* iacc */ { 4, 0, 1 }, /* irot */ { 4, 0, 1 }, /* ipress */ { 4, 0, 1 }, /* itouch */ { 5, -1, 1 }, /* dacc */ { 5, -1, 1 }, /* drot */ { 5, -1, 1 }, /* dpress */ { 5, -1, 1 } /* dtouch */ tablice definicji trapezoidalnych funkcji przynależności (termów) dla wejść: /* acc */ const t_term_info InVar0 [5] = { 18

19 { 0, 13, 0, 26 }, /* zero */ { 3, 31, 26, 51 }, /* small */ { 26, 64, 51, 20 }, /* medium */ { 51, 255, 20, 0 }, /* large */ { 0, 255, 85, 10 } /* any */ /* rot */ const t_term_info InVar1 [4] = { { 0, 13, 0, 26 }, /* zero */ { 3, 31, 26, 51 }, /* small */ { 26, 64, 51, 20 }, /* medium */ { 51, 255, 20, 0 } /* large */ /* press */ const t_term_info InVar2 [4] = { { 0, 13, 0, 26 }, /* zero */ { 3, 31, 26, 51 }, /* small */ { 26, 64, 51, 20 }, /* medium */ { 51, 255, 20, 0 } /* large */ /* touch */ const t_term_info InVar3 [4] = { { 0, 13, 0, 26 }, /* zero */ { 3, 31, 26, 51 }, /* small */ { 26, 64, 51, 20 }, /* medium */ { 51, 255, 20, 0 } /* large */ /* iacc */ const t_term_info InVar4 [4] = { { 0, 13, 0, 26 }, /* zero */ { 3, 31, 26, 51 }, /* small */ { 26, 64, 51, 20 }, /* medium */ { 51, 255, 20, 0 } /* large */ /* irot */ const t_term_info InVar5 [4] = { { 0, 13, 0, 26 }, /* zero */ { 3, 31, 26, 51 }, /* small */ { 26, 64, 51, 20 }, /* medium */ { 51, 255, 20, 0 } /* large */ /* ipress */ const t_term_info InVar6 [4] = { { 0, 13, 0, 26 }, /* zero */ 19

20 { 3, 31, 26, 51 }, /* small */ { 26, 64, 51, 20 }, /* medium */ { 51, 255, 20, 0 } /* large */ /* itouch */ const t_term_info InVar7 [4] = { { 0, 13, 0, 26 }, /* zero */ { 3, 31, 26, 51 }, /* small */ { 26, 64, 51, 20 }, /* medium */ { 51, 255, 20, 0 } /* large */ /* dacc */ const t_term_info InVar8 [5] = { { 0, 51, 0, 5 }, /* n_large */ { 76, 179, 5, 5 }, /* zero */ { 204, 255, 5, 0 }, /* large */ { 13, 115, 5, 5 }, /* n_medium */ { 140, 242, 5, 5 } /* medium */ /* drot */ const t_term_info InVar9 [5] = { { 0, 51, 0, 5 }, /* n_large */ { 76, 179, 5, 5 }, /* zero */ { 204, 255, 5, 0 }, /* large */ { 13, 115, 5, 5 }, /* n_medium */ { 140, 242, 5, 5 } /* medium */ /* dpress */ const t_term_info InVar10 [5] = { { 0, 51, 0, 5 }, /* n_large */ { 76, 179, 5, 5 }, /* zero */ { 204, 255, 5, 0 }, /* large */ { 13, 115, 5, 5 }, /* n_medium */ { 140, 242, 5, 5 } /* medium */ /* dtouch */ const t_term_info InVar11 [5] = { { 0, 51, 0, 5 }, /* n_large */ { 76, 179, 5, 5 }, /* zero */ { 204, 255, 5, 0 }, /* large */ { 13, 115, 5, 5 }, /* n_medium */ { 140, 242, 5, 5 } /* medium */ tablicę parametrów wyjść: const t_var_info OutVar[OUT_VAR_N] = 20

21 { { 5, 0, 1 }, /* vol */ { 5, 0, 1 }, /* ton */ { 7, 0, 360 }, /* hue */ { 5, 0, 1 }, /* sat */ { 5, 0, 1 }, /* val */ { 9, -1, 1 }, /* dvol */ { 9, -1, 1 }, /* dton */ { 9, -1, 1 }, /* dhue */ { 9, -1, 1 }, /* dsat */ { 9, -1, 1 }, /* dval */ { 3, -1, 1 }, /* mvol */ { 3, -1, 1 }, /* mton */ { 3, -1, 1 }, /* mhue */ { 3, -1, 1 }, /* msat */ { 3, -1, 1 } /* mval */ tablice definicji singletonowych funkcji przynależności (termów) dla wyjść: /* vol */ const unsigned char OutVar0 [5] = { 0, /* zero */ 128, /* medium */ 255, /* large */ 191, /* big */ 64 /* small */ /* ton */ const unsigned char OutVar1 [5] = { 0, /* zero */ 128, /* medium */ 255, /* large */ 191, /* big */ 64 /* small */ /* hue */ const unsigned char OutVar2 [7] = { 0, /* redy */ 43, /* yellow */ 85, /* green */ 128, /* cyan */ 170, /* blue */ 213, /* magenta */ 255 /* redm */ /* sat */ const unsigned char OutVar3 [5] = { 0, /* zero */ 21

22 128, /* medium */ 255, /* large */ 191, /* big */ 64 /* small */ /* val */ const unsigned char OutVar4 [5] = { 0, /* zero */ 128, /* medium */ 255, /* large */ 191, /* big */ 64 /* small */ /* dvol */ const unsigned char OutVar5 [9] = { 0, /* n_large */ 128, /* zero */ 255, /* large */ 223, /* big */ 32, /* n_big */ 64, /* n_medium */ 96, /* n_small */ 159, /* small */ 191 /* medium */ /* dton */ const unsigned char OutVar6 [9] = { 0, /* n_large */ 128, /* zero */ 255, /* large */ 223, /* big */ 32, /* n_big */ 64, /* n_medium */ 96, /* n_small */ 159, /* small */ 191 /* medium */ /* dhue */ const unsigned char OutVar7 [9] = { 0, /* n_large */ 128, /* zero */ 255, /* large */ 223, /* big */ 32, /* n_big */ 64, /* n_medium */ 96, /* n_small */ 22

23 159, /* small */ 191 /* medium */ /* dsat */ const unsigned char OutVar8 [9] = { 0, /* n_large */ 128, /* zero */ 255, /* large */ 223, /* big */ 32, /* n_big */ 64, /* n_medium */ 96, /* n_small */ 159, /* small */ 191 /* medium */ /* dval */ const unsigned char OutVar9 [9] = { 0, /* n_large */ 128, /* zero */ 255, /* large */ 223, /* big */ 32, /* n_big */ 64, /* n_medium */ 96, /* n_small */ 159, /* small */ 191 /* medium */ /* mvol */ const unsigned char OutVar10 [3] = { 0, /* toggle */ 128, /* limit */ 255 /* cycle */ /* mton */ const unsigned char OutVar11 [3] = { 0, /* toggle */ 128, /* limit */ 255 /* cycle */ /* mhue */ const unsigned char OutVar12 [3] = { 0, /* toggle */ 128, /* limit */ 255 /* cycle */ 23

24 /* msat */ const unsigned char OutVar13 [3] = { 0, /* toggle */ 128, /* limit */ 255 /* cycle */ /* mval */ const unsigned char OutVar14 [3] = { 0, /* toggle */ 128, /* limit */ 255 /* cycle */ listę reguł w jednej z dwóch form (w zależności od wartości USE WEIGHTS): dla instrukcji REVW: #if USE_WEIGHTS const unsigned char Weights[RULES_N] = { 255, 255, 255, 255, 255 const unsigned int Rules[] = { /* IF */ TERMS_BASE+0x000A, /* iacc IS zero */ TERMS_BASE+0x0024, /* irot IS zero */ TERMS_BASE+0x003E, /* ipress IS zero */ TERMS_BASE+0x0058, /* itouch IS zero */ 0xFFFE, /* THEN */ TERMS_BASE+0x0075, /* dvol IS n_small */ TERMS_BASE+0x0079, /* mvol IS limit */ TERMS_BASE+0x008A, /* mton IS limit */ TERMS_BASE+0x0086, /* dton IS n_small */ 0xFFFE, /* IF */ TERMS_BASE+0x0027, /* irot IS NOT small */ 0xFFFE, /* THEN */ TERMS_BASE+0x008D, /* hue IS yellow */ TERMS_BASE+0x00BC, /* dval IS small */ TERMS_BASE+0x0087, /* dton IS small */ 0xFFFE, /* IF */ TERMS_BASE+0x003A, /* press IS medium */ 0xFFFE, /* THEN */ TERMS_BASE+0x00A1, /* sat IS large */ 0xFFFE, 24

25 /* IF */ TERMS_BASE+0x003B, /* press IS NOT medium */ 0xFFFE, /* THEN */ TERMS_BASE+0x00BC, /* dval IS small */ TERMS_BASE+0x00BE, /* mval IS toggle */ 0xFFFE, /* IF */ TERMS_BASE+0x0008, /* acc IS any */ 0xFFFE, /* THEN */ TERMS_BASE+0x00BE, /* mval IS toggle */ TERMS_BASE+0x00AE, /* msat IS limit */ TERMS_BASE+0x009E, /* mhue IS cycle */ TERMS_BASE+0x008B, /* mton IS cycle */ TERMS_BASE+0x0078, /* mvol IS toggle */ 0xFFFF dla instrukcji REV: #else /* USE_WEIGHTS */ const unsigned char Rules[] = { /* IF */ 0x0A, /* iacc IS zero */ 0x24, /* irot IS zero */ 0x3E, /* ipress IS zero */ 0x58, /* itouch IS zero */ 0xFE, /* THEN */ 0x75, /* dvol IS n_small */ 0x79, /* mvol IS limit */ 0x8A, /* mton IS limit */ 0x86, /* dton IS n_small */ 0xFE, /* IF */ 0x27, /* irot IS NOT small */ 0xFE, /* THEN */ 0x8D, /* hue IS yellow */ 0xBC, /* dval IS small */ 0x87, /* dton IS small */ 0xFE, /* IF */ 0x3A, /* press IS medium */ 0xFE, /* THEN */ 0xA1, /* sat IS large */ 0xFE, /* IF */ 0x3B, /* press IS NOT medium */ 0xFE, /* THEN */ 0xBC, /* dval IS small */ 0xBE, /* mval IS toggle */ 0xFE, 25

26 /* IF */ 0x08, /* acc IS any */ 0xFE, /* THEN */ 0xBE, /* mval IS toggle */ 0xAE, /* msat IS limit */ 0x9E, /* mhue IS cycle */ 0x8B, /* mton IS cycle */ 0x78, /* mvol IS toggle */ 0xFF /* End Of Rules */ #endif /* USE_WEIGHTS */ Pomocnicze struktury danych są zdefiniowane w stałym pliku nagłówkowym kb12.h zawierającym: definicję struktury opisującej zmienną (we lub wy): typedef struct { unsigned char terms_nbr; short val_min; short val_max; } t_var_info; definicję struktury opisującej trapezoidalną funkcję przynależności: typedef struct { unsigned char point1; unsigned char point2; unsigned char slope1; unsigned char slope2; } t_term_info; złożonej z dwóch punktów podstawy i dwóch nachyleń boków trapezu definicję struktury opisującej parametry bazy wiedzy niezbędne do pracy maszyny wnioskującej: typedef struct { const char UseWeights; const char UseNots; const short InVarN; const short InTermsN; const short InVarOff; const short InputsOff; const short OutVarN; const short OutTermsN; const short OutVarOff; const short OutputsOff; const short RulesN; const short WeightsOff; const short RulesOff; } t_base_param; gdzie InVarN i OutVarN są liczbami wejść i wyjść, InTermsN i OutTermsN są łącznymi liczbami termów wejściowych i termów wyjściowych, RulesN jest liczbą reguł w wy- 26

27 nikowej bazie wiedzy, InVarOff, InputsOff,OutVarOff, OutputsOff, WeightsOff są względnymi adresami odpowiednich struktur w bazie, UseWeights jest flagą decydującą o wyborze formatu reguł (dla REV lub REVW), UseNots oznacza występowanie w poprzednikach negacji. Plik ten jest wspólny dla fcl2kb12 i maszyny wnioskującej. Dodatkowo fcl2kb12 generuje statystykę zajętości pamięci dla wytworzonej bazy: Summary: # KB12 RAM Params: Terms In: Terms Out: Inputs: Outputs: Rules: Total: Do kompilacji wytworzonego przez fcl2kb12 pliku źródłowego można wykorzystać dowolny kompilator ANSI C pozwalający wytworzyć moduł binarny w postaci szesnastkowej (tzw. S-rekordy). W opisywanym przypadku uzyto pakietu m6811- elf-gnu-toolchain dostępnego na zasadach licencji GPL (GNU). Kompilacja do pliku relokowalnego typu.o wykonywana jest poleceniem: m6811-elf-gcc -m short -c kb.c gdzie opcja -m short zapewnia spakowaną do bajtów postać tablic i sruktur. Przetworzenie pliku relokowalnego (typu.o) na postać binarną (.s19) wykonywane jest poleceniem: m6811-elf-objcopy -O srec kb.o kb.s19 gdzie opcja -O srec zapewnia format pliku wyjściowego (S-rekordy), który zawiera informacje o adresie ładowania danych do pamięci mikrokontrolera oraz sumy kontrolne pozwalające weryfikować poprawność transmisji. Do wpisania bazy do pamięci FLASH mikrokontrolera MC9S12C32 należy użyć polecenia: hc12mem -i sm -t mc9s12c32 -o 8MHz -p ttys0 -Z -E -H kb.s19 Program hc12mem [1] współpracuje przez port szeregowy z monitorem [37] rezydującym w zabezpieczonym przed skasowaniem obszarze pamięci FLASH (0xF800-0xFFFF). Przed uruchomieniem hc12mem należy zapewnić połączenie robota Koala z komputerem za pośrednictwem interfejsu (rys. 3) oraz wprowadzenie go w tryb programowania (włączenie zasilania przy wciśniętym przycisku P). Po zakończeniu programowania włączenie zasilania bez naciskania przycisku P powoduje uruchomienie robota w trybie normalnym. 4 Interfejs terapeuty Postulat pełnej obsługi i programowania robota przez terapeutę bez udziału robotyka, [4] implikuje konieczność stworzenia dedykowanego oprogramowania interfejsu nauczyciel - robot terapeutyczny. Głównym zadaniem interfejsu jest definiowanie zachowań robota, z jednej strony w bardzo szerokim zakresie, z drugiej strony w sposób możliwie najprostszy. 27

28 Przyjęto, że interfejs powinny tworzyć dwa zasadnicze moduły: profilu dziecka i programowania. W [4] proponowane jest również rozszerzenie o moduł symulacji/animacji robota. Prototyp interfejsu został zrealizowany w środowisku Matlab, [12, 13]. Kolejna wersja, zarysowana w niniejszym rozdziale, została napisana napisana w języku C++ przy użyciu biblioteki graficznej Qt [23]. Należy podkreślić, że jest to środowisko darmowe i dostępne dla wielu platform (w tym dla Linuksa), dzięki czemu realizowany jest postulat niskich kosztów robota. 4.1 Moduł profilu dziecka Moduł profilu dziecka jest tym elementem interfejsu, który ma być używany przez terapeutę w trakcie pracy z konkretnym dzieckiem. Rysunek 10: Okno główne interfejsu: moduł profilu dziecka Moduł zawiera listę dzieci, z którymi pracuje terapeuta przy użyciu robota. Dla każdego dziecka zapamiętana jest informacja na jego temat, użyteczna dla terapeuty. W szczególności: dane osobowe: imię i nazwisko, data urodzenia, zdjęcie, typ upośledzenia, forma komunikacji; programy lista wcześniej utworzonych programów, definiujących zachowanie robota, dedykowanych dziecku; parametry skalowania Przystępując do pracy z dzieckiem, terapeuta może w łatwy i szybki sposób za pośrednictwem interfejsu przypomnieć sobie podstawowe dane o dziecku, wybrać i załadować program do pamięci sterownika robota, a następnie przejść do czynności terapeutycznych. Ewentualna zmiana programu jest równie szybka. Może się zdarzyć, że na skutek rozmaitych czynników (zmęczenie dziecka, przeziębienie), postaci funkcji przynależności stowarzyszonych z poszczególnymi zmiennymi lingwistycznymi powinne ulec zmianie. Przykładowo funkcje mały, średni, duży stowarzyszone ze zmienną lingwistyczną acc powinne przyjmować niezerowe wartości na przedziałach argumentów przesuniętych nieco w lewo względem ustawień wyjściowych. Nietrudno zauważyć analizując rysunek 10, że dzięki zakładkom, 28

29 suwakowi i rozwijanemu menu w obszarze wrażliwośc robota ograniczone skalowanie jest umożliwione. 4.2 Moduł programowania Moduł programowania umożliwia definiowanie zachowania robota regułami logiki rozmytej. Rysunek 11: Moduł programowania: okno edycji zachowania robota Za jego pośrednictwem definiowany jest blok reguł, RULEBLOCK, w modelu robota, który został omówiony w rozdziale 3. Programowanie może odbywać się na dwóch poziomach: elementarnym i terapeuty. Do tego celu służy szereg okien, m.in. edycji zachowania robota (rys. 11), edycji reguły (rys. 12) listy słów - aliasów (rys. 13). W oknie edycji zachowania wyświetlane są wszystkie reguły edytowanego programu, wprowadzone za pośrednictwem okna edycji reguły. Na poziomie programowania elementarnego warunek reguły może być jedynie koniunkcją. Przykładowe zachowanie robota w postaci świecenia czerwonym światłem w przypadku toczenia może być opisane następującym zbiorem reguł: IF (rot IS small) AND (itouch IS small) THEN hue is large IF (rot IS small) AND (itouch IS medium) THEN hue is large IF (rot IS medium) AND (itouch IS small) THEN hue is large IF (rot IS medium) AND (itouch IS medium) THEN hue is large IF (rot IS large) AND (itouch IS small) THEN hue is large IF (rot IS large) AND (itouch IS medium) THEN hue is large Programowanie na poziomie podstawowym pozwala wykorzystać wszystkie udostępnione możliwości maszyny wnioskującej, ale jest mało efektywne. Wymaga od nauczyciela opanowania szeregu informacji związanych konstrukcją robota i problematyką logiki rozmytej. Problem ten rozwiązano wprowadzając możliwość definiowania aliasów (słów), tj. zmiennych, pod którymi zapamiętuje się podwyrażenia warunku bądź konkluzji. Przykładowo, nawiązując do reguły (1) zdefiniujmy dwa aliasy: toczy i czerwony: toczy := ((rot IS small) OR (rot IS medium) OR (rot IS large)) AND czerwony :=hue IS large ((itouch IS small) OR (itouch IS medium)) (1) 29

30 Rysunek 12: Moduł programowania: okno edycji reguły Rysunek 13: Moduł programowania: okno listy słów - aliasów 30

31 Posługując się tymi aliasam można zapisać układ reguł (1) w zwięzłej formie: IF toczy THEN czerwony (2) Aliasy są ważnym elementem programowania zachowania robota na poziomie terapeuty. W zamyśle ich nazwy mają nawiązywać do zawodowej terminologii nauczycieli, wyrażać akcje i reakcje robota. Reguły z użyciem aliasów tworzy się przy pomocy okna edycji reguły programowania. Warunek reguły może zawierać, oprócz wyrażeń dopuszczalnych na poziomie podstawowym, aliasy, funktory: AND, OR i NOT oraz nawiasy. Podobnie jest w przypadku konkluzji reguły, przy czym negacja i funktor OR są niedozwolone. Nietrudno zauważyć, że jeśli zbiór aliasów będzie wystarczająco bogaty, programowanie będzie odbywało się przy użyciu wyrażeń podobnych do (2), nawet bez potrzeby odwoływania się do zmiennych lingwistycznych. W ten sposób programowanie zachowania robota zostało bardzo uproszczone, a reguły przyjęły postać zbliżoną do języka naturalnego. Rysunek 14: Testowanie interfejsu terapeuty 5 Plan eksperymentu i analiza wyników Budowa robota Koala jest projektem interdyscyplinarnym. Przyjęte założenia przed wdrożeniem powinne być zweryfikowane poprzez eksperyment przeprowadzony przez terapeutów. Potencjalna modyfikacja konstrukcji robota w oparciu o wnioski płynące z eksperymentu i jej dalszy rozwój wymaga od konstruktorów pewnej wiedzy o sposobie prowadzenia eksperymentu, wykorzystywanych narzędziach, metodach zbierania i analizy otrzymanych wyników. Eksperymenty mające na celu badanie interakcji dzieci autystycznych i interaktywnych robotów społecznych były przeprowadzane na Uniwersytecie Hertfordshire w Wielkiej Brytanii oraz na Uniwersytecie Sherbrooke w Kanadzie. Ich opis i uzyskane wyniki można znaleźć w pracach [19, 35, 16, 34, 31]. Na podstawie powyższych publikacji w rozdziale 5.1 zostaną zamieszczone informacje, istotne z punktu widzenia konstruktora robota terapeutycznego. Następnie, w rozdziale 5.2 w celu ilustracji stwierdzeń z rozdziału 5.1 zostanie przytoczony eksperyment z udziałem lalki Robota opisany szczegółowo w pracy [16]. 31

32 5.1 Wybrane zagadniena Wszystkie eksperymenty opisane w literaturze odbywały się w szkołach lub ośrodkach, w którch one na codzień przebywały i dobrze się czuły. W eksperymentach brała udział grupa uważnie wyselekcjonowanych przez wychowawcę dzieci w liczbie około 4-5. Wybierano pomieszczenie dobrze znane, umożliwiające maksymalną redukcję czynników zewnętrznych (i wewnętrznych) potencjalnie dekoncentrujących dzieci.do rejestracji eksperymentu używano przynajmniej dwóch kamer wideo, tak by w każdym momencie można było obserwować interakcje pomiędzy dzieckiem i robotem. W szczególności mowa tutaj o możliwości stwierdzenia wodzenia wzrokiem, dotyku, imitacji oraz innych zachowań istotnych dla eksperymentatora. Próby trwają do momentu wykazania przez dziecko oznak znudzenia robotem, zwykle od 1 5 minut. Przeprowadzana jest cała seria prób, np. raz w tygodniu przez półtora miesiąca. W przypadku każdego eksperymentu formułuje się cel, hipotezę i uważnie układa scenariusz. Czasami dla porównania scenariusz przewidziany jest zarówno dla robota interaktywnego jak i podobnej zwykłej zabawki. Nagrane kamerą wyniki poddawane są analizie ilościowej i jakościowej. W przypadku analizy ilościowej analizuje się nagrania z okresem co sekundę, stwierdza fakt zajścia danego zachowania (np. dotyku) i wylicza całkowity względny czas trwania tego zachowania. Następnie sporządzany jest wykres tych czasów dla poszczególnych dni eksperymentów (por. rys. 15). W oparciu o takie wykresy otrzymane dla różnych zachowań i dzieci formułuje się wnioski. W przypadku analizy jakościowej, tworzy się tabelę kolejnych zdarzeń (zachowań dziecka i robota, jak np. w tablicy 1), opisanych słownie i na tej podstawie formułuje wnioski. Wyniki analizy ilościowej i jakościowej zwykle się uzupełniają. 5.2 Przykład: sesja terapeutyczna z wykorzystaniem lalki robotycznej Robota Próby opisane w publikacji [16] odbyły się w szkole podstawowej w Bentfield w Essex, w Wielkiej Brytanii. w badaniach wzięła czwórka dzieci w wieku 5 10 lat, wybrana przez wychowawcę. Przed przystąpieniem do prób wychowawcy określili poziom rozwoju swoich podopiecznych. Wybrane dzieci miały problemy z nawiązywaniem kontaktu z innymi osobami. Były jednak zdolne do interakcji przy wsparciu opiekuna Przygotowanie Eksperymentu Eksperymenty zostały przeprowadzone w pokoju zabaw, w którym badane dzieci zwykle mają zajęcia. Ważne było, aby uwaga dzieci nie była rozpraszana przez czynniki zewnętrzne, dlatego wybrano taki pokój, który nie posiadał okien wychodzących na plac zabaw. Pomieszczenie było o wymiarach 5.5 x 4.5 metra, posiadało jedne drzwi. Lalka robotyczna Robota została zaprogramowana w dwóch różnych trybach pracy: tańcząca zabawka i marionetka. W pierwszym z wymienionych trybów robot poruszał rękoma, nogami i głową w rytm odtwarzanej muzyki. Po konsultacji z wychowawcą zostały użyte trzy rodzaje muzyki: dziecięce rytmy, wybijanie rytmów oraz muzyka poważna. W drugim trybie wychowawca przy pomocy specjalnego programu komputerowego porusza kończynami robota. Robot został umieszczony na stole, stojącym przy jednej ze ścian pokoju. 32

33 Do rejestracji przebiegu eksperymentu użyto dwóch stacjonarnych kamer wideo. Pierwsza została umieszczona przed robotem, aby była w stanie zapisać zachowanie dziecka, a druga z tyłu, aby zarejestrować jego mimikę twarzy. Za radą wychowawcy zrezygnowano z zastosowania dodatkowych aparatów fotograficznych, ponieważ otoczenie mogłoby się stać dla dziecka zbyt przytłaczające. Przez cały czas trwania eksperymentu robot był podłączony do laptopa. Umożliwiało to sterowanie nim oraz rejestrację sygnałów płynących z czujników zewnętrzych. Celem eksperymentu była obserwacja następujących zachowań dzieci autystycznych, wynikających z teorii umysłu i naśladowania, świadczących o nawiązywaniu interakcji i kontaktu z robotem: wodzenie wzrokiem rejestracja momentów, w których dziecko spogląda w kierunku robota; dotyk gdy dziecko dotknęło którąkolwiek część robota; imitacja naśladowanie ruchów robota, obserwacja opóźnienia w imitacji, próba naśladowania; bliskość osiągnięcie przez dziecko dostatecznej bliskości z robotem oraz utrzymanie jej Przebieg sesji terapeutycznej Przed wprowadzeniem dziecka do pokoju zostało przygotowane miejsce pracy: uruchomiono robota, wczytano odpowiedni program, uruchomieno urządzenia rejestrujące (kamery). Każde dziecko z osobna zostało wprowadzone przez wychowawcę do pokoju. Próby trwały tak długo, aż dziecko trwale wykazywało brak zainteresowania robotem. Średni czas wyniósł trzy minuty. Zdarzało się, że dziecko było zainteresowane robotem aż pięć minut, w innym przypadku czas wyniósł niecałą minutę. Eksperyment został podzielony na trzy etapy. Etap pierwszy miał charakter przedstawienia, robot został umieszczony na mini scenie teatralnej. Robota poruszała się w rytm odtwarzanej muzyki (tryb tańczącej zabawki). W tym przypadku nie występowała żadna interakcja z robotem. Etap miał za zadanie zwrócenie uwagi na niego. Wychowawca nie wydawał żadnych poleceń, jedynie starał się zwrócić uwagę dziecka na robota, o ile nie potrafiło go dostrzec. Część dzieci szukała miejsca gdzie mogłyby usiąść, inne starały się być w pobliżu lalki. Opiekunowie pilnowali jedynie, aby któreś dziecko nie uszkodziło robota. Etap drugi scena została usunięta, robot w dalszym ciągu znajdował się na stole. W tym przypadku robot był zaprogramowany w trybie marionetki. Osoba sterująca pracą robota była odizolowana, dzięki czemu dziecko mogło odebrać ruchy robota jako autonomiczne. Wychowawca strał się aktywnie zachęcić dziecko do zabawy z robotem. Razem z podopiecznym stał blisko robota i ruszając jego kończynami przedstawiał, w jaki sposób dziecko ma się bawić zabawką. Ważne było zaprezentowanie, w jaki sposób robot potrafi imitować ruchy dziecka. Etap trzeci w tym przypadku dziecko musiało samodzielnie współdziałać z robotem, wychowawca nie stosował żadnej zachęty. Zadaniem operatora robota było prawidłowe reagowanie na ruchy dziecka oraz jego zachowanie. Robot w dalszym ciągu pracował w trybie marionetki. Eksperymenty były prowadzone codziennie, przez okres stu dni. 33

34 Rysunek 15: [16] Przykład wyników analizy ilościowej w eksperymencie z udziałem lalki Robota dla dziecka A Analiza wyników Wszystkie zapisane sekwencje wideo zostały uważnie przeanalizowane. Wprowadzono dwa kryteria oceny: Analiza ilościowa określa zmiany w zachowaniu dziecka w kolejnych dniach prowadzenia eksperymentu. Każdego dnia mierzono czas określonego zachowania dziecka. Wyniki uśredniono oraz zeskalowano tak, aby wartość jeden przyporządkować temu zachowaniu, które konkretnego dnia występowało przez cały czas prowadzenia zajęć. Wykonane zostały specjalne przebiegi czasowe zmiany zachowań, przytoczone na rysunku 15. Z otrzymanych wykresów stwierdzono, że u większości dzieci największe zainteresowanie robotem dla realizacji badanych zachowań występowało w pierwszych dniach. W kolejnych dniach dzieci zachowywały się różnie. U jednych zainteresowanie wzrastało (rys. 15), u innych pozostawało bez zmian, lub, jak to miało miejsce w przypadku dziecka C, oscylowało. Całkowicie odmiennie od reszty zachowywało się dziecko B, które dopiero po pięćdziesięciu dniach zajęć zaczęło wykazywać jakiekolwiek zainteresowanie robotem. Podczas analizy ilościowej należy pamietać, iż zachowanie dzieci autystycznych jest mało przewidywalne. Dlatego też niewskazane jest uogólnianie otrzymanych wyników. Każde dziecko musi być rozważane indywidualnie, określenie poziomu rozwoju społecznego musi być analizowane oddzielnie dla każdego pacjenta. Do wad analizy ilościowej należy fakt, iż nie może ona ukazać pewnych istotnych aspektów zdolności do społecznej interakcji (naśladowanie, odwracanie, zamiana rolami) oraz pewnej umiejętności komunikacyjnej, którą dzieci przejawiają podczas prób. Szerszą dyskusję na temat ilościowych metod analizy interakcji robot człowiek można znaleźć w pracy [20]. Analiza jakościowa pozwala, na podstawie zapisu wideo, na określenie tych zachowań dziecka, w których nastąpił rozwój. Należy do zadań złożonych, ponieważ wymaga uważnej obserwacji współdziałania dziecka z robotem. W tablicy 1 zamieszczono obserwacje 32 sekundowego fragmentu eksperymentu, z udziałem jednego dziecka, dwa dni przed zakończeniem testów. Fragment ten wskazuje na zdolność do interakcji. 34

35 L.p. Akcja Odpowiedź 1 Robot podnosi lewe ramię. Dziecko podnosi prawe ramię (zachowanie lustrzane). 2 Robot podnosi lewe ramię. Dziecko podnosi prawe ramię (zachowanie lustrzane). 3 Robot podnosi lewe ramię. Dziecko podnosi prawe ramię (zachowanie lustrzane). 4 Robot podnosi prawe ramię. Dziecko podnosi lewe ramię (zachowanie lustrzane). 5 Robot podnosi prawe ramię. Dziecko podnosi lewe ramię (zachowanie lustrzane). 6 Pauza. Pauza. 7 Dziecko podnosi prawe ramię. Robot podnosi lewe ramię (zachowanie lustrzane). 8 Robot podnosi lewe ramię. Dziecko zaczyna podnosić lewe ramię, szybko je opuszcza i podnosi prawe ramię. 9 Dziecko podnosi lewe ramię. Robot podnosi prawe ramię (zachowanie lustrzane). 10 Robot przekręca głową w prawo. Dziecko przekręca głową w lewo (zachowanie lustrzane). 11 Robot przekręca głową w prawo. Dziecko przekręca głową w lewo (zachowanie lustrzane). 12 Dziecko potrząsa głową Robot przekręca głowę w lewo. do góry i na dół. 13 Dziecko pauzuje. 14 Robot podnosi prawe ramię. Dziecko rozpoczyna podnosić prawe ramię, szybko je opuszcza i podnosi lewe ramię. Tablica 1: [16] Fragment przebiegu eksperymentu z udziałem lalki Robota Na podstawie otrzymanych obserwacji stwierdzono, iż dziecko wykazywało następujące społeczne zdolności do interakcji: bezpośrednią imitację ruchów rozmaitych części ciała; korektę imitacji, gdy uświadomiło sobie, że popełniło błąd inicjalizację interakcji, jako część imitacji, zabawy w złap i oddaj, bez żadnych wcześniej określonych wskazówek; spowodowało to zamianę roli (interakcja 7, 9); próbę zainicjalizowania interakcji nowym ruchem, np. potrząsając głowę do góry i na dół. Dziecko zaznaczyło wszechstronność, ruch ten jest ponad zdolnościami robota (interkacja 13). Zdolności wykazywane tutaj nie są mozliwe do wyłonienia w czysto ilościowej analizie. 6 Podsumowanie W raporcie przedstawiono aktualny stan prac nad kulistym robotem terapeutycznym Koala. Nietrudno zauważyć, że przy budowie robota starano się postępować zgodnie zasadą określaną w literaturze jako user centered design. Przed przystą- 35

36 Rysunek 16: Przymiarka aparatury do badań eksperymentalnych interakcji dziecka z Koalą. pieniem do projektu nawiązano współpracę z terapeutami i pedagogami, i przy ich udziale sformułowano wstępne założenia robota. Robot nie był projektowany pod abstakcyjne zadanie ale z myślą o konkretnej i w miarę rozpoznanej grupie użytkowników (obejmujących zarówno dzieci jak i terapeutów). Uwzględniając uwarunkowania tej grupy przyjęto kształt robota, określono zbiór sensorów i efektorów, wzięto pod uwagę takie wymagania jak niski koszt i trwałość urządzenia. W porównaniu do istniejących robotów dedykowanych wspomaganiu terapii autyzmu Koala nie miał być wyłącznie urządzeniem eksperymentalnym. Między innymi z tego powodu dużą wagę przyłożono do interfejsu terapeuty i sposobu programowania zachowania robota. Przyjęte rozwiązania: programowanie zachowania w języku logiki rozmytej, specyfikacja i realizacja interfejsu, uwzględniają obserwacje poczynione podczas bezpośrednich kontaktów konstruktorów robota z terapeutami. Prace nad interaktywnym robotem społecznym są projektem interdyscyplinarnym, w którym powinni uczestniczyć psycholodzy, pedagodzy specjalni, robotycy i informatycy. Zrealizowany przez inżynierów robot musi być zweryfikowany w praktyce przez terapeutów. Wydaje się, że wszyscy członkowie zespołu badawczego powinni uczestniczyć we wszystkich fazach projektu, oczywiście w różnym stopniu. Konstruktorzy robota powinni mieć wiedzę o prawidłowym sposobie przeprowadzenia eksperymentu i o sposobie rejestracji danych i analizy wyników. Z tego powodu w niniejszym raporcie poświęcono tej tematyce trochę uwagi, zwracając szczególną uwagę na te elementy, które mają znaczenie dla płynnej współpracy inżynierów i terapeutów. Literatura [1] HC12MEM. HC12 memory reader/writer. [2] MPX4200A Integrated Silicon Pressure Sensor. catalogue card. [3] Piezoelectric Vibrating Gyroscopes (GYROSTAR). catalogue card. 36

KOALA: interaktywny robot kulisty do wspomagania terapii dzieci autystycznych. Marek Wnuk

KOALA: interaktywny robot kulisty do wspomagania terapii dzieci autystycznych. Marek Wnuk INSTYTUT INFORMATYKI AUTOMATYKI I ROBOTYKI POLITECHNIKI WROCŁAWSKIEJ Raport serii PRE nr 21/2006 Na prawach r ekopisu KOALA: interaktywny robot kulisty do wspomagania terapii dzieci autystycznych Marek

Bardziej szczegółowo

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 6 SYSTEMY ROZMYTE TYPU MAMDANIEGO

Bardziej szczegółowo

Politechnika Wrocławska

Politechnika Wrocławska Politechnika Wrocławska Instytut Cybernetyki Technicznej Wizualizacja Danych Sensorycznych Projekt Kompas Elektroniczny Prowadzący: dr inż. Bogdan Kreczmer Wykonali: Tomasz Salamon Paweł Chojnowski Wrocław,

Bardziej szczegółowo

Implementacja rozmytych systemów wnioskujących w zdaniach regulacji

Implementacja rozmytych systemów wnioskujących w zdaniach regulacji Metody Sztucznej Inteligencji w Sterowaniu Ćwiczenie 5 Implementacja rozmytych systemów wnioskujących w zdaniach regulacji Przygotował: mgr inż. Marcin Pelic Instytut Technologii Mechanicznej Politechnika

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Opis stanowiska laboratoryjnego do projektowania i weryfikacji algorytmów sterujących autonomicznych pojazdów

Bardziej szczegółowo

Generator przebiegów pomiarowych Ex-GPP2

Generator przebiegów pomiarowych Ex-GPP2 Generator przebiegów pomiarowych Ex-GPP2 Przeznaczenie Generator przebiegów pomiarowych GPP2 jest programowalnym sześciokanałowym generatorem napięć i prądów, przeznaczonym do celów pomiarowych i diagnostycznych.

Bardziej szczegółowo

Temat: Model SUGENO. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Temat: Model SUGENO. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Temat: Model SUGENO Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl 1 Wprowadzenie Pierwszym rodzajem modelowania

Bardziej szczegółowo

Programowanie i konstrukcja kulistego robota społecznego. dzieci autystycznych. Krzysztof Arent Marek Kabała Marek Wnuk

Programowanie i konstrukcja kulistego robota społecznego. dzieci autystycznych. Krzysztof Arent Marek Kabała Marek Wnuk INSTYTUT INFORMATYKI, AUTOMATYKI I ROBOTYKI POLITECHNIKI WROCŁAWSKIEJ Raport serii SPR nr 3/05 Na prawach r ekopisu Programowanie i konstrukcja kulistego robota społecznego wspomagajacego terapie dzieci

Bardziej szczegółowo

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy Ćwiczenie V LABORATORIUM MECHATRONIKI IEPiM Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy Zał.1 - Działanie i charakterystyka sterownika PLC

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA WYKŁAD 10. WNIOSKOWANIE W LOGICE ROZMYTEJ Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska WNIOSKOWANIE W LOGICE DWUWARTOŚCIOWEJ W logice

Bardziej szczegółowo

ĆWICZENIE 4 ZASTOSOWANIE METOD I NARZĘDZI LOGIKI ROZMYTEJ DO KLASYFIKACJI DANYCH I APROKSYMACJI ODWZOROWAŃ STATYCZNYCH

ĆWICZENIE 4 ZASTOSOWANIE METOD I NARZĘDZI LOGIKI ROZMYTEJ DO KLASYFIKACJI DANYCH I APROKSYMACJI ODWZOROWAŃ STATYCZNYCH Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE 4 ZASTOSOWANIE METOD I NARZĘDZI LOGIKI ROZMYTEJ DO KLASYFIKACJI DANYCH I APROKSYMACJI ODWZOROWAŃ STATYCZNYCH Pracownia

Bardziej szczegółowo

Ćwiczenie 3 Badanie własności podstawowych liniowych członów automatyki opartych na biernych elementach elektrycznych

Ćwiczenie 3 Badanie własności podstawowych liniowych członów automatyki opartych na biernych elementach elektrycznych Ćwiczenie 3 Badanie własności podstawowych liniowych członów automatyki opartych na biernych elementach elektrycznych Cel ćwiczenia Celem ćwiczenia jest poznanie podstawowych własności członów liniowych

Bardziej szczegółowo

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie

Bardziej szczegółowo

Inżynieria Wiedzy i Systemy Ekspertowe. Logika rozmyta. dr inż. Michał Bereta Politechnika Krakowska

Inżynieria Wiedzy i Systemy Ekspertowe. Logika rozmyta. dr inż. Michał Bereta Politechnika Krakowska Inżynieria Wiedzy i Systemy Ekspertowe Logika rozmyta dr inż. Michał Bereta Politechnika Krakowska http://torus.uck.pk.edu.pl/~beretam/ beretam@torus.uck.pk.edu.pl 1 Wyostrzanie Ostateczna, ostra wartość

Bardziej szczegółowo

Biomonitoring system kontroli jakości wody

Biomonitoring system kontroli jakości wody FIRMA INNOWACYJNO -WDROŻENIOWA ul. Źródlana 8, Koszyce Małe 33-111 Koszyce Wielkie tel.: 0146210029, 0146360117, 608465631 faks: 0146210029, 0146360117 mail: biuro@elbit.edu.pl www.elbit.edu.pl Biomonitoring

Bardziej szczegółowo

Temat: Model TS + ANFIS. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Temat: Model TS + ANFIS. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Temat: Model TS + ANFIS Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl 1 Wprowadzenie Pierwszym rodzajem modelowania

Bardziej szczegółowo

dokument DOK 02-05-12 wersja 1.0 www.arskam.com

dokument DOK 02-05-12 wersja 1.0 www.arskam.com ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania

Bardziej szczegółowo

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej. Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Konstrukcje i Technologie w Aparaturze Elektronicznej Ćwiczenie nr 5 Temat: Przetwarzanie A/C. Implementacja

Bardziej szczegółowo

TERMINAL DO PROGRAMOWANIA PRZETWORNIKÓW SERII LMPT I LSPT MTH-21 INSTRUKCJA OBSŁUGI I EKSPLOATACJI. Wrocław, lipiec 1999 r.

TERMINAL DO PROGRAMOWANIA PRZETWORNIKÓW SERII LMPT I LSPT MTH-21 INSTRUKCJA OBSŁUGI I EKSPLOATACJI. Wrocław, lipiec 1999 r. TERMINAL DO PROGRAMOWANIA PRZETWORNIKÓW SERII LMPT I LSPT MTH-21 INSTRUKCJA OBSŁUGI I EKSPLOATACJI Wrocław, lipiec 1999 r. SPIS TREŚCI 1. OPIS TECHNICZNY...3 1.1. PRZEZNACZENIE I FUNKCJA...3 1.2. OPIS

Bardziej szczegółowo

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

Bardziej szczegółowo

WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI. Robot do pokrycia powierzchni terenu

WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI. Robot do pokrycia powierzchni terenu WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI Robot do pokrycia powierzchni terenu Zadania robota Zadanie całkowitego pokrycia powierzchni na podstawie danych sensorycznych Zadanie unikania przeszkód

Bardziej szczegółowo

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22) O autorze (9) Podziękowania (10) Wstęp (11) Pobieranie przykładów (12) Czego będę potrzebował? (12) Korzystanie z tej książki (12) Rozdział 1. Programowanie Arduino (15) Czym jest Arduino (15) Instalacja

Bardziej szczegółowo

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania 1. Opis aplikacji Interfejs programu podzielony jest na dwie zakładki. Wszystkie ustawienia znajdują się w drugiej zakładce, są przygotowane do ćwiczenia i nie można ich zmieniac bez pozwolenia prowadzącego

Bardziej szczegółowo

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet Głównym elementem jest mikrokontroler PIC18F67J60, który oprócz typowych modułów sprzętowych, jak port UART czy interfejs I2C, ma wbudowany kompletny moduł kontrolera Ethernet. Schemat blokowy modułu pokazano

Bardziej szczegółowo

Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011

Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011 Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011 1 Spis treści 1 Charakterystyka projektu. 3 2 Schematy układów elektronicznych. 3 2.1 Moduł czujników.................................

Bardziej szczegółowo

1 Moduł Neuronu Analogowego SM

1 Moduł Neuronu Analogowego SM 1 Moduł Neuronu Analogowego SM Moduł Neuronu Analogowego SM daje użytkownikowi Systemu Vision możliwość obsługi fizycznych urządzeń Neuronów Analogowych podłączonych do Sterownika Magistrali. Dzięki temu

Bardziej szczegółowo

Parametryzacja przetworników analogowocyfrowych

Parametryzacja przetworników analogowocyfrowych Parametryzacja przetworników analogowocyfrowych wersja: 05.2015 1. Cel ćwiczenia Celem ćwiczenia jest zaprezentowanie istoty działania przetworników analogowo-cyfrowych (ADC analog-to-digital converter),

Bardziej szczegółowo

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Modułowy programowalny przekaźnik czasowy firmy Aniro. Modułowy programowalny przekaźnik czasowy firmy Aniro. Rynek sterowników programowalnych Sterowniki programowalne PLC od wielu lat są podstawowymi systemami stosowanymi w praktyce przemysłowej i stały

Bardziej szczegółowo

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 STM32Butterfly2 Zestaw STM32Butterfly2 jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity

Bardziej szczegółowo

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści Arduino dla początkujących. Kolejny krok Autor: Simon Monk Spis treści O autorze Podziękowania Wstęp o Pobieranie przykładów o Czego będę potrzebował? o Korzystanie z tej książki Rozdział 1. Programowanie

Bardziej szczegółowo

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT. WYDZIAŁ: GEOLOGII, GEOFIZYKI I OCHRONY ŚRODOWISKA KIERUNEK STUDIÓW: INFORMATYKA STOSOWANA RODZAJ STUDIÓW: STACJONARNE I STOPNIA ROK AKADEMICKI 2014/2015 WYKAZ PRZEDMIOTÓW EGZAMINACYJNYCH: I. Systemy operacyjne

Bardziej szczegółowo

Interfejs analogowy LDN-...-AN

Interfejs analogowy LDN-...-AN Batorego 18 sem@sem.pl 22 825 88 52 02-591 Warszawa www.sem.pl 22 825 84 51 Interfejs analogowy do wyświetlaczy cyfrowych LDN-...-AN zakresy pomiarowe: 0-10V; 0-20mA (4-20mA) Załącznik do instrukcji obsługi

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA SYSTEMY ROZMYTE Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii Biomedycznej Laboratorium

Bardziej szczegółowo

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2 LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2 1. Cel ćwiczenia Celem ćwiczenia jest pokazanie budowy systemów opartych na układach Arduino. W tej części nauczymy się podłączać różne czujników,

Bardziej szczegółowo

Programowalne Układy Cyfrowe Laboratorium

Programowalne Układy Cyfrowe Laboratorium Zdjęcie opracowanej na potrzeby prowadzenia laboratorium płytki przedstawiono na Rys.1. i oznaczono na nim najważniejsze elementy: 1) Zasilacz i programator. 2) Układ logiki programowalnej firmy XILINX

Bardziej szczegółowo

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy. Przebieg ćwiczenia

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy. Przebieg ćwiczenia Ćwiczenie VI LABORATORIUM MECHATRONIKI IEPiM Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy Przebieg ćwiczenia 1. Rozpoznać elementy modelu układu

Bardziej szczegółowo

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR zestaw UNO R3 Starter Kit zawiera: UNO R3 (Compatible Arduino) x1szt. płytka stykowa 830 pól x1szt. zestaw 75 sztuk kabli do płytek stykowych

Bardziej szczegółowo

6. Zagadnienie parkowania ciężarówki.

6. Zagadnienie parkowania ciężarówki. 6. Zagadnienie parkowania ciężarówki. Sterowniki rozmyte Aby móc sterować przebiegiem pewnych procesów lub też pracą urządzeń niezbędne jest stworzenie odpowiedniego modelu, na podstawie którego można

Bardziej szczegółowo

LUZS-12 LISTWOWY UNIWERSALNY ZASILACZ SIECIOWY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, kwiecień 1999 r.

LUZS-12 LISTWOWY UNIWERSALNY ZASILACZ SIECIOWY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, kwiecień 1999 r. LISTWOWY UNIWERSALNY ZASILACZ SIECIOWY DOKUMENTACJA TECHNICZNO-RUCHOWA Wrocław, kwiecień 1999 r. 50-305 WROCŁAW TEL./FAX (+71) 373-52-27 ul. S. Jaracza 57-57a TEL. 602-62-32-71 str.2 SPIS TREŚCI 1.OPIS

Bardziej szczegółowo

BEZDOTYKOWY CZUJNIK ULTRADŹWIĘKOWY POŁOŻENIA LINIOWEGO

BEZDOTYKOWY CZUJNIK ULTRADŹWIĘKOWY POŁOŻENIA LINIOWEGO Temat ćwiczenia: BEZDOTYKOWY CZUJNIK ULTRADŹWIĘKOWY POŁOŻENIA LINIOWEGO 1. Wprowadzenie Ultradźwiękowy bezdotykowy czujnik położenia liniowego działa na zasadzie pomiaru czasu powrotu impulsu ultradźwiękowego,

Bardziej szczegółowo

LDPY-11 LISTWOWY DWUPRZEWODOWY PRZETWORNIK POŁOŻENIA DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, czerwiec 1997 r.

LDPY-11 LISTWOWY DWUPRZEWODOWY PRZETWORNIK POŁOŻENIA DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, czerwiec 1997 r. LISTWOWY DWUPRZEWODOWY PRZETWORNIK POŁOŻENIA DOKUMENTACJA TECHNICZNO-RUCHOWA Wrocław, czerwiec 1997 r. 50-305 WROCŁAW TEL./FAX (+71) 373-52-27 ul. S.JARACZA 57-57A TEL. 0-602-62-32-71 str.2 SPIS TREŚCI

Bardziej szczegółowo

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń Instrukcja do ćwiczenia nr 10 Transmisja szeregowa sieciami energetycznymi I. Cel ćwiczenia poznanie praktycznego wykorzystania standardu RS232C

Bardziej szczegółowo

Laboratorium Komputerowe Systemy Pomiarowe

Laboratorium Komputerowe Systemy Pomiarowe Jarosław Gliwiński, Łukasz Rogacz Laboratorium Komputerowe Systemy Pomiarowe ćw. Programowanie wielofunkcyjnej karty pomiarowej w VEE Data wykonania: 15.05.08 Data oddania: 29.05.08 Celem ćwiczenia była

Bardziej szczegółowo

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej Politechnika Łódzka Instytut Systemów Inżynierii Elektrycznej Laboratorium komputerowych systemów pomiarowych Ćwiczenie 8 Wykorzystanie modułów FieldPoint w komputerowych systemach pomiarowych 1. Wprowadzenie

Bardziej szczegółowo

Temat: Projektowanie sterownika rozmytego. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Temat: Projektowanie sterownika rozmytego. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Temat: Projektowanie sterownika rozmytego Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl 1 Wprowadzenie Sterowanie

Bardziej szczegółowo

W celu obliczenia charakterystyki częstotliwościowej zastosujemy wzór 1. charakterystyka amplitudowa 0,

W celu obliczenia charakterystyki częstotliwościowej zastosujemy wzór 1. charakterystyka amplitudowa 0, Bierne obwody RC. Filtr dolnoprzepustowy. Filtr dolnoprzepustowy jest układem przenoszącym sygnały o małej częstotliwości bez zmian, a powodującym tłumienie i opóźnienie fazy sygnałów o większych częstotliwościach.

Bardziej szczegółowo

SML3 październik

SML3 październik SML3 październik 2005 16 06x_EIA232_4 Opis ogólny Moduł zawiera transceiver EIA232 typu MAX242, MAX232 lub podobny, umożliwiający użycie linii RxD, TxD, RTS i CTS interfejsu EIA232 poprzez złącze typu

Bardziej szczegółowo

Statyczne badanie wzmacniacza operacyjnego - ćwiczenie 7

Statyczne badanie wzmacniacza operacyjnego - ćwiczenie 7 Statyczne badanie wzmacniacza operacyjnego - ćwiczenie 7 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi zastosowaniami wzmacniacza operacyjnego, poznanie jego charakterystyki przejściowej

Bardziej szczegółowo

Temat: Projektowanie sterownika rozmytego. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Temat: Projektowanie sterownika rozmytego. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Temat: Projektowanie sterownika rozmytego Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl 1 Wprowadzenie System

Bardziej szczegółowo

Ćw. 7 Przetworniki A/C i C/A

Ćw. 7 Przetworniki A/C i C/A Ćw. 7 Przetworniki A/C i C/A 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z zasadami przetwarzania sygnałów analogowych na cyfrowe i cyfrowych na analogowe poprzez zbadanie przetworników A/C i

Bardziej szczegółowo

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach.

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach. Terminal TR01 Terminal jest m, umożliwiającym odczyt i zmianę nastaw parametrów, stanów wejść i wyjść współpracujących z nim urządzeń automatycznej regulacji wyposażonych w port komunikacyjny lub i obsługujących

Bardziej szczegółowo

Touch button module. Moduł przycisku dotykowy z podświetleniem LED

Touch button module. Moduł przycisku dotykowy z podświetleniem LED Touch button module Moduł przycisku dotykowy z podświetleniem LED 1 S t r o n a 1. Opis ogólny Moduł dotykowy został zaprojektowany jako tania alternatywa dostępnych przemysłowych przycisków dotykowych.

Bardziej szczegółowo

CHARAKTERYSTYKI BRAMEK CYFROWYCH TTL

CHARAKTERYSTYKI BRAMEK CYFROWYCH TTL CHARAKTERYSTYKI BRAMEK CYFROWYCH TTL. CEL ĆWICZENIA Celem ćwiczenia jest poznanie zasad działania, budowy i właściwości podstawowych funktorów logicznych wykonywanych w jednej z najbardziej rozpowszechnionych

Bardziej szczegółowo

Laboratorium Komputerowe Systemy Pomiarowe

Laboratorium Komputerowe Systemy Pomiarowe Jarosław Gliwiński, Łukasz Rogacz Laboratorium Komputerowe Systemy Pomiarowe ćw. Generator cyfrowy w systemie z interfejsem IEEE-488 Data wykonania: 24.04.08 Data oddania: 15.05.08 Celem ćwiczenia było

Bardziej szczegółowo

Sterowniki Programowalne (SP)

Sterowniki Programowalne (SP) Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Modularny system I/O IP67

Modularny system I/O IP67 Modularny system I/O IP67 Tam gdzie kiedyś stosowano oprzewodowanie wielożyłowe, dziś dominują sieci obiektowe, zapewniające komunikację pomiędzy systemem sterowania, urządzeniami i maszynami. Systemy

Bardziej szczegółowo

Transformacja wiedzy w budowie i eksploatacji maszyn

Transformacja wiedzy w budowie i eksploatacji maszyn Uniwersytet Technologiczno Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy Wydział Mechaniczny Transformacja wiedzy w budowie i eksploatacji maszyn Bogdan ŻÓŁTOWSKI W pracy przedstawiono proces

Bardziej szczegółowo

Laboratorium Procesorów Sygnałowych

Laboratorium Procesorów Sygnałowych Laboratorium Procesorów Sygnałowych Moduł STM32F407 Discovery GPIO, C/A, akcelerometr I. Informacje wstępne Celem ćwiczenia jest zapoznanie z: Budową i programowaniem modułu STM32 F4 Discovery Korzystaniem

Bardziej szczegółowo

7. Zagadnienie parkowania ciężarówki.

7. Zagadnienie parkowania ciężarówki. 7. Zagadnienie parkowania ciężarówki. Sterowniki rozmyte Aby móc sterować przebiegiem pewnych procesów lub też pracą urządzeń niezbędne jest stworzenie odpowiedniego modelu, na podstawie którego można

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

KA-NUCLEO-UniExp. Wielofunkcyjny ekspander dla NUCLEO i Arduino z Bluetooth, MEMS 3DoF, LED-RGB i czujnikiem temperatury

KA-NUCLEO-UniExp. Wielofunkcyjny ekspander dla NUCLEO i Arduino z Bluetooth, MEMS 3DoF, LED-RGB i czujnikiem temperatury Wielofunkcyjny ekspander dla NUCLEO i Arduino z Bluetooth, MEMS 3DoF, LED-RGB i czujnikiem temperatury jest uniwersalnym ekspanderem dla komputerów NUCLEO oraz Arduino, wyposażonym w analogowy czujnik

Bardziej szczegółowo

Xelee Mini IR / DMX512

Xelee Mini IR / DMX512 Xelee Mini IR / DMX512 Sterowniki LED do modułów napięciowych Xelee Mini IR to trzykanałowy sterownik przystosowany do pracy z napięciowymi modułami LED, takimi jak popularne taśmy LED. Wbudowany układ

Bardziej szczegółowo

INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Temat: Podstawowe pojęcia z logiki rozmytej Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl 1 Wprowadzenie Sterowanie

Bardziej szczegółowo

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu Jakub Stanisz 19 czerwca 2008 1 Wstęp Celem mojego projektu było stworzenie dalmierza, opierającego się na czujniku PSD. Zadaniem dalmierza

Bardziej szczegółowo

STANDARDOWE FUNKCJE PRZYNALEŻNOŚCI. METODY HEURYSTYCZNE wykład 6. (alternatywa dla s) (zdef. poprzez klasę s) GAUSSOWSKA F.

STANDARDOWE FUNKCJE PRZYNALEŻNOŚCI. METODY HEURYSTYCZNE wykład 6. (alternatywa dla s) (zdef. poprzez klasę s) GAUSSOWSKA F. METODY HEURYSTYCZNE wykład 6 STANDARDOWE FUNKCJE PRZYNALEŻNOŚCI 2 GAUSSOWSKA F. PRZYNALEŻNOŚCI F. PRZYNALEŻNOŚCI KLASY s środek; a określa szerokość krzywej 3 4 F. PRZYNALEŻNOŚCI KLASY π F. PRZYNALEŻNOŚCI

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS) Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS) Temat: Budowa pętli sprzętowej (ang. Hardware In the Loop) w oparciu

Bardziej szczegółowo

Rejestratory Sił, Naprężeń.

Rejestratory Sił, Naprężeń. JAS Projektowanie Systemów Komputerowych Rejestratory Sił, Naprężeń. 2012-01-04 2 Zawartość Typy rejestratorów.... 4 Tryby pracy.... 4 Obsługa programu.... 5 Menu główne programu.... 7 Pliki.... 7 Typ

Bardziej szczegółowo

Cel projektu: Wymogi dotyczące sprawozdania:

Cel projektu: Wymogi dotyczące sprawozdania: W ramach zajęć proszę wykonać sprawozdanie z logiki rozmytej. Sprawozdanie powinno realizować zadanie wnioskowania rozmytego. Cel projektu: Student projektuje bazę wiedzy wnioskowania rozmytego (kilka,

Bardziej szczegółowo

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ ELEMETY ELEKTRONIKI LABORATORIUM Kierunek NAWIGACJA Specjalność Transport morski Semestr II Ćw. 1 Poznawanie i posługiwanie się programem Multisim 2001 Wersja

Bardziej szczegółowo

DTR.AT.01. APLISENS PRODUKCJA PRZETWORNIKÓW CIŚNIENIA I APARATURY POMIAROWEJ DOKUMENTACJA TECHNICZNO-RUCHOWA

DTR.AT.01. APLISENS PRODUKCJA PRZETWORNIKÓW CIŚNIENIA I APARATURY POMIAROWEJ DOKUMENTACJA TECHNICZNO-RUCHOWA DTR.AT.01. APLISENS PRODUKCJA PRZETWORNIKÓW CIŚNIENIA I APARATURY POMIAROWEJ DOKUMENTACJA TECHNICZNO-RUCHOWA EKONOMICZNY GŁOWICOWY PRZETWORNIK TEMPERATURY TYPU AT WARSZAWA, LUTY 2004r. 1 DTR.AT.01 SPIS

Bardziej szczegółowo

Temat: Sterowanie mobilnością robota z wykorzystaniem algorytmu logiki rozmytej

Temat: Sterowanie mobilnością robota z wykorzystaniem algorytmu logiki rozmytej Wrocław, 13.01.2016 Metody sztucznej inteligencji Prowadzący: Dr hab. inż. Ireneusz Jabłoński Temat: Sterowanie mobilnością robota z wykorzystaniem algorytmu logiki rozmytej Wykonał: Jakub Uliarczyk, 195639

Bardziej szczegółowo

LSPT-01 LISTWOWY MIKROPROCESOROWY PRZETWORNIK TEMPERATURY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, maj 2002 r.

LSPT-01 LISTWOWY MIKROPROCESOROWY PRZETWORNIK TEMPERATURY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, maj 2002 r. LISTWOWY MIKROPROCESOROWY PRZETWORNIK TEMPERATURY DOKUMENTACJA TECHNICZNO-RUCHOWA Wrocław, maj 2002 r. 50-305 WROCŁAW TEL./FAX (+71) 373-52-27 ul. S.JARACZA 57-57A TEL. 0-602-62-32-71 str.2 SPIS TREŚCI

Bardziej szczegółowo

Wstęp...9. 1. Architektura... 13

Wstęp...9. 1. Architektura... 13 Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości

Bardziej szczegółowo

LSPX-21 LISTWOWY MODUŁ WEJŚĆ ANALOGOWYCH DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, październik 2003 r.

LSPX-21 LISTWOWY MODUŁ WEJŚĆ ANALOGOWYCH DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, październik 2003 r. LISTWOWY MODUŁ WEJŚĆ ANALOGOWYCH DOKUMENTACJA TECHNICZNO-RUCHOWA Wrocław, październik 2003 r. 50-305 WROCŁAW TEL./FAX (+71) 373-52-27 ul. S.JARACZA 57-57A TEL. 0-602-62-32-71 str.2 SPIS TREŚCI 1.OPIS TECHNICZNY...3

Bardziej szczegółowo

Ile wynosi całkowite natężenie prądu i całkowita oporność przy połączeniu równoległym?

Ile wynosi całkowite natężenie prądu i całkowita oporność przy połączeniu równoległym? Domowe urządzenia elektryczne są często łączone równolegle, dzięki temu każde tworzy osobny obwód z tym samym źródłem napięcia. Na podstawie poszczególnych rezystancji, można przewidzieć całkowite natężenie

Bardziej szczegółowo

Opis techniczny koncentratora wejść impulsowych KWI-1. APATOR SA,

Opis techniczny koncentratora wejść impulsowych KWI-1. APATOR SA, Opis techniczny koncentratora wejść impulsowych KWI-1 APATOR SA, www.apator.eu 1 SPIS TREŚCI STRONA 1. Funkcja KWI-1...3 2. Opis KWI-1...3 2.1. Wejścia impulsowe...3 2.2. Praca sieciowa M Bus...3 3. Stałe

Bardziej szczegółowo

NX70 PLC www.atcontrol.pl

NX70 PLC www.atcontrol.pl NX70 PLC NX70 Właściwości Rozszerzalność, niezawodność i łatwość w integracji Szybki procesor - zastosowanie technologii ASIC pozwala wykonywać CPU proste instrukcje z prędkością 0,2 us/1 krok Modyfikacja

Bardziej szczegółowo

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu

Bardziej szczegółowo

Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl

Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl Systemy wbudowane Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie definicja, zastosowania, projektowanie systemów wbudowanych Mikrokontrolery AVR Programowanie mikrokontrolerów

Bardziej szczegółowo

Jeśli przeszkoda jest blisko to przyhamuj

Jeśli przeszkoda jest blisko to przyhamuj Rozmyte systemy regułowe Informacja, którą przetwarzają ludzie często (prawie zawsze) jest nieprecyzyjna, a mimo to potrafimy poprawnie wnioskować i podejmować decyzję, czego klasyczne komputery nie potrafią.

Bardziej szczegółowo

Układy logiki rozmytej. Co to jest?

Układy logiki rozmytej. Co to jest? PUAV Wykład 14 Co to jest? Co to jest? Logika rozmyta (fuzzy logic) jest to dział matematyki precyzyjnie formalizujący nieprecyzyjne, nieformalne ludzkie rozumowanie. Co to jest? Logika rozmyta (fuzzy

Bardziej szczegółowo

ALGORYTM PROJEKTOWANIA ROZMYTYCH SYSTEMÓW EKSPERCKICH TYPU MAMDANI ZADEH OCENIAJĄCYCH EFEKTYWNOŚĆ WYKONANIA ZADANIA BOJOWEGO

ALGORYTM PROJEKTOWANIA ROZMYTYCH SYSTEMÓW EKSPERCKICH TYPU MAMDANI ZADEH OCENIAJĄCYCH EFEKTYWNOŚĆ WYKONANIA ZADANIA BOJOWEGO Szybkobieżne Pojazdy Gąsienicowe (2) Nr 2, 24 Mirosław ADAMSKI Norbert GRZESIK ALGORYTM PROJEKTOWANIA CH SYSTEMÓW EKSPERCKICH TYPU MAMDANI ZADEH OCENIAJĄCYCH EFEKTYWNOŚĆ WYKONANIA ZADANIA BOJOWEGO. WSTĘP

Bardziej szczegółowo

oznaczenie sprawy: CRZP/231/009/D/17, ZP/66/WETI/17 Załącznik nr 6 I-III do SIWZ Szczegółowy opis przedmiotu zamówienia dla części I-III

oznaczenie sprawy: CRZP/231/009/D/17, ZP/66/WETI/17 Załącznik nr 6 I-III do SIWZ Szczegółowy opis przedmiotu zamówienia dla części I-III oznaczenie sprawy: CRZP/231/009/D/17, ZP/66/WETI/17 Załącznik nr 6 I-III do SIWZ Szczegółowy opis przedmiotu zamówienia dla części I-III Część I zamówienia Dostawa urządzeń na potrzeby modernizacji stolika

Bardziej szczegółowo

2.2 Opis części programowej

2.2 Opis części programowej 2.2 Opis części programowej Rysunek 1: Panel frontowy aplikacji. System pomiarowy został w całości zintegrowany w środowisku LabVIEW. Aplikacja uruchamiana na komputerze zarządza przebiegiem pomiarów poprzez

Bardziej szczegółowo

ТТ TECHNIKA TENSOMETRYCZNA

ТТ TECHNIKA TENSOMETRYCZNA ТТ TECHNIKA TENSOMETRYCZNA Wzmacniacz pomiarowy AT1-8... 64 АТ1 - wielokanałowy cyfrowy wzmacniacz typu tensometrycznego, przeznaczony do wzmacniania, konwersji na cyfrowy kod i przesyłania sygnałów tensometrów

Bardziej szczegółowo

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy. SigmaDSP jest niedrogim zestawem uruchomieniowym dla procesora DSP ADAU1701 z rodziny SigmaDSP firmy Analog Devices, który wraz z programatorem USBi i darmowym środowiskiem

Bardziej szczegółowo

Ćwiczenie 2a. Pomiar napięcia z izolacją galwaniczną Doświadczalne badania charakterystyk układów pomiarowych CZUJNIKI POMIAROWE I ELEMENTY WYKONAWCZE

Ćwiczenie 2a. Pomiar napięcia z izolacją galwaniczną Doświadczalne badania charakterystyk układów pomiarowych CZUJNIKI POMIAROWE I ELEMENTY WYKONAWCZE Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych 90-924 Łódź, ul. Wólczańska 221/223, bud. B18 tel. 42 631 26 28 faks 42 636 03 27 e-mail secretary@dmcs.p.lodz.pl http://www.dmcs.p.lodz.pl

Bardziej szczegółowo

Licznik rewersyjny MD100 rev. 2.48

Licznik rewersyjny MD100 rev. 2.48 Licznik rewersyjny MD100 rev. 2.48 Instrukcja obsługi programu PPH WObit mgr inż. Witold Ober 61-474 Poznań, ul. Gruszkowa 4 tel.061/8350-620, -800 fax. 061/8350704 e-mail: wobit@wobit.com.pl Instrukcja

Bardziej szczegółowo

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu. Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu. Maciek Słomka 4 czerwca 2006 1 Celprojektu. Celem projektu było zbudowanie modułu umożliwiającego wizualizację stanu czujników

Bardziej szczegółowo

LDPS-11ME LISTWOWY DWUPRZEWODOWY PRZETWORNIK SYGNAŁOWY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, kwiecień 2003 r.

LDPS-11ME LISTWOWY DWUPRZEWODOWY PRZETWORNIK SYGNAŁOWY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, kwiecień 2003 r. LISTWOWY DWUPRZEWODOWY PRZETWORNIK SYGNAŁOWY DOKUMENTACJA TECHNICZNO-RUCHOWA Wrocław, kwiecień 2003 r. 50-305 WROCŁAW TEL./FAX (+71) 373-52-27 ul. S.JARACZA 57-57A TEL. 602-62-32-71 str.2 SPIS TREŚCI 1.OPIS

Bardziej szczegółowo

LDPS-12ME LISTWOWY DWUPRZEWODOWY PRZETWORNIK SYGNAŁOWY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, marzec 2003 r.

LDPS-12ME LISTWOWY DWUPRZEWODOWY PRZETWORNIK SYGNAŁOWY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, marzec 2003 r. LISTWOWY DWUPRZEWODOWY PRZETWORNIK SYGNAŁOWY ME DOKUMENTACJA TECHNICZNO-RUCHOWA Wrocław, marzec 2003 r. 50-305 WROCŁAW TEL./FAX (+71) 373-52-27 ul. S. Jaracza 57-57a TEL. 0-602-62-32-71 str.2 SPIS TREŚCI

Bardziej szczegółowo

Laboratoryjne zasilacze programowalne AX-3003P i AX-6003P

Laboratoryjne zasilacze programowalne AX-3003P i AX-6003P 1 Laboratoryjne zasilacze programowalne AX-3003P i AX-6003P Laboratoryjne zasilacze programowalne AX-3003P i AX-6003P Od zasilaczy laboratoryjnych wymaga się przede wszystkim regulowania napięcia i prądu

Bardziej szczegółowo

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC ZL28ARM Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC Zestaw ZL28ARM jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów AT91SAM7XC. Dzięki wyposażeniu w szeroką gamę układów peryferyjnych

Bardziej szczegółowo

Teoria światła i barwy

Teoria światła i barwy Teoria światła i barwy Powstanie wrażenia barwy Światło może docierać do oka bezpośrednio ze źródła światła lub po odbiciu od obiektu. Z oka do mózgu Na siatkówce tworzony pomniejszony i odwrócony obraz

Bardziej szczegółowo

Rzeczywistość rozszerzona: czujniki do akwizycji obrazów RGB-D. Autor: Olga Głogowska 207 505 AiR II

Rzeczywistość rozszerzona: czujniki do akwizycji obrazów RGB-D. Autor: Olga Głogowska 207 505 AiR II Rzeczywistość rozszerzona: czujniki do akwizycji obrazów RGB-D Autor: Olga Głogowska 207 505 AiR II Czujniki w robotyce coraz większego znaczenia nabierają systemy pomiarowe umożliwiające interakcję robota

Bardziej szczegółowo

Ciśnieniomierz typ AL154AG08.P

Ciśnieniomierz typ AL154AG08.P 1. O P I S O G Ó L N Y C I Ś N I E N I O M I E R Z A A L 1 5 4 A G 0 8. P 2 Przyrząd umożliwia pomiar, wyświetlenie na wyświetlaczu, zapamiętanie w wewnętrznej pamięci oraz odczyt przez komputer wartości

Bardziej szczegółowo

NX700 PLC www.atcontrol.pl

NX700 PLC www.atcontrol.pl NX700 PLC NX700 Podstawowe cechy Rozszerzalność, niezawodność i łatwość w integracji Szybki procesor - zastosowanie technologii ASIC pozwala wykonywać CPU proste instrukcje z prędkością 0,2 us/1 krok Modyfikacja

Bardziej szczegółowo

Przyrząd do grania bluesa Projekt zaliczeniowy z przedmiotu Programowanie Mikrokontrolerów

Przyrząd do grania bluesa Projekt zaliczeniowy z przedmiotu Programowanie Mikrokontrolerów Przyrząd do grania bluesa Projekt zaliczeniowy z przedmiotu Programowanie Mikrokontrolerów Artem Poliszczuk 1 Opis działania urządzenia W ramach projektu skonstruowano urządzenie pozwalające na granie

Bardziej szczegółowo

Laboratoria badawcze

Laboratoria badawcze rok założenia: 1989 ZAKŁAD PRODUKCJI METALOWEJ ul. Martyniaka 14 10-763 Olsztyn tel./faks: (0-89) 524-43-88, 513-68-18 biuro@zpm.net.pl www.zpm.net.pl Laboratoria badawcze Spis treści 1. Wielokrotne otwieranie

Bardziej szczegółowo