Laboratorium nr 2. Identyfikacja systemu i detekcja uszkodzeń na podstawie modelu

Podobne dokumenty
Algorytmy sztucznej inteligencji

Dokumentacja Końcowa

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Zastosowania sieci neuronowych

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Wprowadzenie do analizy dyskryminacyjnej

Identyfikacja obiektów dynamicznych za pomocą sieci neuronowych

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

Stochastyczne Metody Analizy Danych. PROJEKT: Analiza kluczowych parametrów turbin wiatrowych

Sieci neuronowe w Statistica

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Kultywator rolniczy - dobór parametrów sprężyny do zadanych warunków pracy

Sieci Komputerowe 2 / Ćwiczenia 1

7. Identyfikacja defektów badanego obiektu

Zadanie Tworzenie próbki z rozkładu logarytmiczno normalnego LN(5, 2) Plot Probability Distributions

1 Moduł Neuronu Analogowego SM

Wstęp do teorii niepewności pomiaru. Danuta J. Michczyńska Adam Michczyński

Podstawy MATLABA, cd.

Instrukcja realizacji ćwiczenia

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Ćwiczenie 12. Metody eksploracji danych

Analityczne metody detekcji uszkodzeń

OPROGRAMOWANIE DEFSIM2

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Katedra Elektrotechniki Teoretycznej i Informatyki

Nazwisko i imię: Zespół: Data: Ćwiczenie nr 11: Moduł Younga

Testowanie modeli predykcyjnych

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Diagnostyka pamięci RAM

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Wykład 4: Statystyki opisowe (część 1)

Wprowadzenie do środowiska

1 Moduł Modbus ASCII/RTU 3

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

Prawdopodobieństwo i rozkład normalny cd.

Spis treści. 1 Moduł Modbus TCP 4

Sterowanie wielkością zamówienia w Excelu - cz. 3

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

WSKAZÓWKI DO WYKONANIA SPRAWOZDANIA Z WYRÓWNAWCZYCH ZAJĘĆ LABORATORYJNYCH

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

Monitorowanie i Diagnostyka w Systemach Sterowania na studiach II stopnia specjalności: Systemy Sterowania i Podejmowania Decyzji

Laboratorium Cyfrowego Przetwarzania Obrazów

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

LABORATORIUM ELEKTRONIKA. I. Scalony, trzykońcówkowy stabilizator napięcia II. Odprowadzanie ciepła z elementów półprzewodnikowych

Metody eksploracji danych Laboratorium 2. Weka + Python + regresja

PODSTAWY BIOSTATYSTYKI ĆWICZENIA

Ocena błędów systematycznych związanych ze strukturą CCD danych astrometrycznych prototypu Pi of the Sky

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

Rysunek 8. Rysunek 9.

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Ćwiczenie Stany nieustalone w obwodach liniowych pierwszego rzędu symulacja komputerowa

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji

Automatyczna klasyfikacja zespołów QRS

CECHOWANIE TERMOELEMENTU Fe-Mo I WYZNACZANIE PUNKTU INWERSJI

1. Opis okna podstawowego programu TPrezenter.

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia

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

WEKA klasyfikacja z użyciem sztucznych sieci neuronowych

Instrukcja użytkownika ARSoft-WZ3

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Podstawy Sztucznej Inteligencji

Badanie współczynników lepkości cieczy przy pomocy wiskozymetru rotacyjnego Rheotest 2.1

Regulacja dwupołożeniowa.

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Metody systemowe i decyzyjne w informatyce

SENSORY i SIECI SENSOROWE

Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

O co chodzi z tym MATLAB'em?!

Regulacja dwupołożeniowa (dwustawna)

Sposoby opisu i modelowania zakłóceń kanałowych

System obsługi wag suwnicowych

BADANIE WŁAŚCIWOŚCI KOMPUTEROWEGO SYSTEMU POMIAROWO-DIAGNOSTYCZNEGO

g) wartość oczekiwaną (przeciętną) i wariancję zmiennej losowej K.

Arkusz kalkulacyjny MS EXCEL ĆWICZENIA 4

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut.

Rozpoznawanie obrazów

8. Neuron z ciągłą funkcją aktywacji.

UWAGA. Wszystkie wyniki zapisywać na dysku Dane E: Program i przebieg ćwiczenia:

Spis treści. Laboratorium III: Testy statystyczne. Inżynieria biomedyczna, I rok, semestr letni 2013/2014 Analiza danych pomiarowych

Łączenie liczb i tekstu.

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Układy i Systemy Elektromedyczne

Zastosowania sieci neuronowych

Analiza korelacyjna i regresyjna

Ćw. 0: Wprowadzenie do programu MultiSIM

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

4. Średnia i autoregresja zmiennej prognozowanej

POMIARY TEMPERATURY I

Multimetr cyfrowy MAS-345. Instrukcja instalacji i obsługi oprogramowania DMM VIEW Ver 2.0

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Ćwiczenie 1. Parametry statyczne diod LED

Transkrypt:

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Diagnostyka procesów i systemów Prowadzący: Marcel Luzar 1 Laboratorium nr 2 Identyfikacja systemu i detekcja uszkodzeń na podstawie modelu 1 Cel ćwiczenia Celem podstawowym jest zapoznanie się z przybornikiem ntstool środowiska Matlab, przy pomocy którego dokonywana jest identyfikacja systemu na podstawie danych wejściowych i wyjściowych. Dane pomiarowe zostały zebrane w firmie MAZEL i opisują działanie układu 2 zbiorników (Rys. 1). Rysunek 1: Schemat działania systemu 2 zbiorników 1 Marcel Luzar, Instytut Sterowania i Systemów Informatycznych, Uniwersytet Zielonogórski, ul. Podgórna 50, 65-246 Zielona Góra, Poland. Email: m.luzar@issi.uz.zgora.pl 1

2 Program ćwiczenia 1. Należy wczytać do przestrzeni roboczej dane z pomiarów pracy układu dwóch zbiorników, udostępnione przez prowadzącego. 2. Następnie wpisać w linię komend Matlaba polecenie ntstool, które uruchomi przybornik mogący służyć do identyfikacji dynamicznych systemów nieliniowych z wykorzystaniem sztucznych sieci neuronowych (Rys. 2). Rysunek 2: Przybornik do identyfikacji systemów przy pomocy SSN 3. Ponieważ opisywany system jest dynamiczny, należy wybrać strukturę sieci neuronowej ze sprzężeniem od stanu. W przyborniku jest ona przedstawiona jako sieć NARX. 4. W kolejnym oknie należy podać, które pomiary są pomiarami wejściowymi a które wyjściowymi. W pierwszej kolejności dokonamy identyfikacji pracy czujników pomiarowych. Zatem jako wejście podajemy pomiary z pracy pompy nr 1, tj. U1, a jako wyjście pomiar z pierwszego czujnika Y1. Ponieważ dane pomiarowe zostały zebrane w postaci kolumny, należy wybrać w polu Select the time series format opcję Matrix row. (Rys. 3). 5. W kolejnym oknie należy wybrać wartości próbek, które posłużą za dane uczące sieci neuronowej a które za dane testujące. W pierwszej próbie uczenia sieci należy pozostawić wartości domyślne, tj. Training 70%, Validation 15%, Testing 15%. W przypadku, gdy sieć neuronowa źle dobierze swoje parametry, należy przeprowadzić próbę ponownie zmieniając wyżej wymienione wartości (Rys. 4). 2

Rysunek 3: Okno wyboru danych Rysunek 4: Okno ustalenia wartości próbek uczących i testujących 3

6. Kolejne okno umożliwia dobór odpowiedniej struktury sieci neuronowej, tzn. ile neuronów będzie w poszczególnej warstwie sieci. Wartość Number of Hidden Neurons oznacza liczbę neuronów w warstwie ukrytej, natomiast Number of delays d: określa stopień opóźnienia sprzężenia, który jest równoznaczny z rzędem identyfikowanego systemu. W tym przypadku, rząd układu 2 zbiorników wynosi 2. Liczbę neuronów w warstwie ukrytej dobierz dowolnie, z przedziału 5-15. (Rys. 5). Rysunek 5: Dobór struktury sieci 7. Po utworzeniu sieci i przejściu do kolejnego okna jest możliwość uczenia sieci. Przycisk Next nie jest dostępny. Należy wybrać przycisk Train, aby sieć modelowała proces na podstawie tylko danych wejściowych i wyjściowych (Rys. 6). 8. Po nauczeniu sieci wyświetli się okno pokazujące proces uczenia (Rys. 7). Wartości te mogą się różnić od pokazanych na rysunku w zależności od liczby użytych neuronów oraz podziału na próbki uczące i testujące. 9. Wracając do okna pokazanego na Rys. 6, po nauczeniu sieci, możemy wybrać opcję narysowania wykresu przedstawiającego dopasowanie odpowiedzi sieci neuronowej do oryginalnych danych wejściowych. W tym celu należy wybrać przycisk Plot response. Na rysunku (Rys. 8), oprócz porównania wyjść sieci i wyjść rzeczywistego systemu, możemy zaobserwować wartość błędu uczenia w poszczególnych chwilach czasu. 10. W kolejnym oknie (Rys. 9) można wybrać powtórzenie uczenia sieci w przypadku, gdy wynik nie jest zadowalający. Również w tym momencie można zwiększyć rozmiary sieci dodając 4

Rysunek 6: Uczenie sieci neuronowej Rysunek 7: Wyświetlenie postępu uczenia sieci neuronowej 5

Rysunek 8: Odpowiedzi sieci i rzeczywistego systemu oraz błąd stanowiący różnicę między jednym a drugim nowe neurony oraz załadować większą ilość danych pomiarowych. Natomiast jeżeli błąd uczenia pokazany na Rys. 8 oscyluje blisko wartości zerowej, należy przejść do następnego okna klikając przycisk Next. 11. Kolejne okno służy do zapisu danych otrzymanych przy pomocy przybornika ntstool. Do detekcji uszkodzeń czujnika pomiarowego potrzebne są tylko odpowiedzi sieci. Należy zatem odznaczyć wszystkie pola z wyjątkiem Save outputs to MATLAB matrix named: i podać nazwę wyjścia. Nazwiemy je nety1. (Rys. 10). Wciskamy przycisk Save Results i kończymy pracę z przybornikiem przyciskiem Finish. 12. W przestrzeni roboczej pojawiła się nowa zmienna nety1, która ma odzwierciedlać odczyty z czujnika poziomu cieczy nr 1. Należy narysować jej przebieg. Ponieważ jest ona typu komórkowego Cell, należy ją najpierw przekonwertować na typ macierzowy. Do tego celu służy polecenie cell2mat. Należy napisać poniższy skrypt : nety1=cell2mat(nety1); nety1=[nety1, 0, 0]; Pokazane polecenia zamieniają wartości z typu cell na typ double, który może być wyrysowany metodą plot. Dodanie dwóch wartości zerowych na końcu powoduje, że zmienna nety1 będzie zawierać taką samą ilość próbek jak zmienna Y1 i będzie można je wyrysować 6

Rysunek 9: Ponowne uczenie sieci Rysunek 10: Zapisywanie rezultatów pracy przybornika ntstool 7

na jednym wykresie. Dlaczego wyjścia sieci dały nam zmienną, której długość jest pomniejszona o 2 w odniesieniu do zmiennej oryginalnej? Ponieważ do sieci neuronowej są podawane 2 opóźnienia. Jeżeli więc jest np. 500 próbek, nie ma informacji o próbce 501 i 502. Dlatego ostatnią estymowaną próbką jest próbka 498, do obliczenia której pobierana jest informacja z próbki 499 i 500. 13. Aby porównać odpowiedz sieci z oryginalnym wyjściem, należy skorzystać z polecenia plot. Generowanie wykresu przedstawia kolejny skrypt: figure(1) plot(y1, Linewidth, 1); hold on plot(nety1, r, Linewidth, 1); legend( System output 1, Model output 1, Location, Southeast ); 14. Na narysowanym wykresie (Rys. 11) można zaobserwować różnice pomiędzy wyjściem z systemu a wyjściem z modelu. Rysunek 11: Porównanie wyjść z systemu oraz z modelu 15. Aby wyrysować sygnał residuum na wykresie, czyli różnicę pomiędzy wyjściem z systemu a wyjściem z modelu, należy zaimplementować poniższy skrypt, który najpierw tę różnicę obliczy, a następnie przedstawi ją na wykresie. figure(2) 8

res=y1 -nety1; plot(res) 16. Wyrysowany wykres (Rys. 12) przedstawia sygnał residuum, który w idealnym przypadku powinien być równy 0. Niestety, w związku z istniejącą tzw. niepewnością modelu, sygnał ten nigdy tej wartości nie osiągnie. Jednak wartości bliskie zeru oznaczają dobre dopasowanie modelu do rzeczywistego systemu. Rysunek 12: Sygnał residuum 17. W tym momencie należy zdecydować, w jaki sposób na podstawie sygnału residuum wykryć uszkodzenie. Przyjmijmy w tym celu, jako metodę detekcji uszkodzeń, metodę stałego progu decyzyjnego. Polega ona na wyznaczeniu górnego i dolnego progu, pomiędzy którymi powinien się mieścić sygnał residuum. Przekroczenie któregokolwiek z tych progów, oznacza wystąpienie uszkodzenia. 18. Aby odpowiednio dobrać wartości górnego i dolnego progu decyzyjnego, można skorzystać z reguł statystycznych, a konkretnie z metody trzech sigm. Reguła trzech sigm (odchyleń standardowych) mówi, że dla rozkładu normalnego 68,3% wartości cechy leży w odległości jednego odchylenia standardowego od średniej arytmetycznej; 95,5% wartości cechy leży w odległości dwóch odchyleń od średniej; a 99,7% wartości cechy leży w odległości trzech odchyleń standardowych od średniej arytmetycznej (Rys. 13), gdzie: x- średnia arytmetyczna, S - odchylenie standardowe. 9

Rysunek 13: Ilustracja reguły trzech sigm 19. Aby obliczyć wartość górnego i dolnego progu w Matlabie, należy zaimplementować poniższy skrypt: prog dol=ones(1,800)*mean(res)-3*std(res); prog gora=ones(1,800)*mean(res)+3*std(res); plot(prog gora, --r ) plot(prog dol, --r ) Powyższy skrypt, po uruchomieniu, powinien wygenerować wykres przedstawiony na Rys. 14. 20. W Rys. 14 możemy odnaleźć momenty, w których sygnał residuum przekracza progi decyzyjne, a więc mówimy, że wtedy wystąpiło uszkodzenie. Nasuwa się jednak pytanie, dlaczego w naszym przykładzie wykryto uszkodzenie, mimo tego, że jeszcze go nie zasymulowaliśmy? Jest to związane z wcześniej wspomnianą niepewnością modelu. Stałe progi decyzyjne nie są odporne na to zjawisko, przez co mogą występować fałszywe alarmy, które właśnie zaobserwować można na Rys. 14. Istnieją metody, które są odporne na to zjawisko, np. adaptacyjne progi decyzyjne, jednak ta metoda jest bardziej skomplikowana i jest pominięta w niniejszej instrukcji. 21. W tym kroku celowo zasymulujemy wystąpienie uszkodzenia czujnika pomiarowego. Załóżmy, że czujnik uległ całkowitemu uszkodzeniu, także każdy odczyt z czujnika będzie wska- 10

Rysunek 14: Sygnał residuum ograniczony przez górny i dolny próg decyzyjny zywał wartość 0. Aby zasymulować takie uszkodzenie w czujniku, właściwe wartości wyjść z systemu należy podmienić na wartości zerowe. W tym celu należy wykonać poniższy skrypt: uszkodzenie=zeros(100,1); Y1 uszkodzenie=[y1(1:500); uszkodzenie; Y1(601:800)]; figure(3) plot(y1, Linewidth, 2); hold on plot(y1 uszkodzenie, r, Linewidth, 1); 22. Dzięki temu uzyskamy wykres przedstawiony na Rys. 15, który przedstawia sygnał wyjściowy bez uszkodzenia i z uszkodzeniem. Widać wyraźnie, że w momencie próbkowania równym 500 czujnik wskazuje wartość 0. W punkcie próbkowania równym 600 czujnik powraca do prawidłowego działania. 23. Po wprowadzeniu uszkodzenia, należy wygenerować sygnał residuum, porównując wyjście z modelu z wyjściem uszkodzonego systemu. W tym celu należy napisać następujący skrypt: residuum uszkodzenie=nety1-y1 uszkodzenie ; plot(residuum uszkodzenie, Linewidth, 1); hold on 11

Rysunek 15: Sygnał wyjściowy bez uszkodzenia (niebieski) i z uszkodzeniem (czerwony) plot(prog gora, --r ) plot(prog dol, --r ) 24. Wykonanie skryptu spowoduje przedstawienie graficzne sygnału residuum oraz progi decyzyjne. Analizując Rys. 16, widać wyraźnie moment, w którym sygnał residuum znacznie przekracza wartość progu decyzyjnego i pozostaje poza tym obszarem przez dłuższy czas, niż to ma miejsce w przypadku fałszywych alarmów. Dzięki temu, możemy jednoznacznie określić, czy mamy do czynienia z uszkodzeniem czy z fałszywym alarmem. 3 Podsumowanie Przeprowadzone ćwiczenie jednoznacznie przedstawia sposób wykorzystania modelu systemu do diagnostyki uszkodzenia urządzeń wykonawczych. Dzięki sygnałowi residuum uzyskanym jako różnicę pomiędzy wyjściem systemu a wyjściem modelu można jednoznacznie stwierdzić, czy wystąpiło uszkodzenie. 4 Sprawozdanie Sprawozdanie należy przygotować w postaci pliku.pdf oraz dołączyć skrypt Matlaba (rozszerzenie *.m) wraz z niezbędnymi zmiennymi potrzebnymi do jego wykonania. Wszystkie pliki, skompre- 12

Rysunek 16: Sygnał residuum uszkodzonego czujnika sowane w archiwum WinRar, należy wysłać drogą mailową na adres prowadzącego zajęcia. Zadanie: Przeprowadzić analizę uszkodzenia czujnika pomiarowego nr 2 oraz urządzenia wykonawczego w sposób podobny, jak to było robione w zadaniach na laboratorium, tj. utworzyć model neuronowy systemu, zasymulować uszkodzenie, obliczyć progi decyzyjne metodą 3 sigm, dokonać detekcji uszkodzenia. 13