Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie LABORKA Piotr Ciskowski
ZASTOSOWANIA SIECI NEURONOWYCH IDENTYFIKACJA
zastosowania przegląd zastosowania sieci neuronowych: o identyfikacja określenie zbioru nieliniowych funkcji aproksymujących danych układ zbudowanie adaptacyjnego systemu uczącego się parametrów pracy obiektu w czasie pracy źródło rysunku: Żurada, Sztuczne sieci neuronowe
Zadanie 1 IDENTYFIKACJA OBIEKTU NIELINIOWEGO
zadanie 1. identyfikacja obiektu nieliniowego źródło: Korbicz, Obuchowicz, Uciński, przykład 7.2, str. 165 Obiekt podlegający identyfikacji jest opisany nieliniowym równaniem różnicowym postaci: (,,,, ) y = f y y y u u k + 1 k k 1 k 2 k k 1 gdzie nieznana funkcja nieliniowa f dana jest wzorem: (,,,, ) f x x x x x ( 1) x x x x x + x = 1 2 3 5 3 4 1 2 3 4 5 2 2 1+ x3 + x2 Zadanie identyfikacji obiektu polega na aproksymacji funkcji nieliniowej f przy pomocy sieci neuronowej o sieć: trójwarstwowa 5-20-10-1 o dane uczące: na wejściu układu sygnał losowy o rozkładzie równomiernym w przedziale [-1,1] próbkowany co 0,25s o uczenie: metodą propagacji wstecznej błędu, 100.000 kroków 2π k sin k 500 250 o testowanie: na wejściu układu taki sygnał uk = 2π k 2π k 0.8sin + 0.2sin k > 500 250 25
zadanie 1. identyfikacja obiektu nieliniowego źródło: Korbicz, Obuchowicz, Uciński, przykład 7.2, str. 165 yk + 1 = f ( yk, yk 1, yk 2, uk, uk 1 ) ( 1) (,,,, ) = f x x x x x x x x x x + x 1 2 3 5 3 4 1 2 3 4 5 2 2 1+ x3 + x2
zadanie 1. identyfikacja obiektu nieliniowego źródło: Korbicz, Obuchowicz, Uciński, przykład 7.2, str. 165
zadanie 1. identyfikacja obiektu nieliniowego źródło: Korbicz, Obuchowicz, Uciński, przykład 7.2, str. 165 sieć neuronowa do identyfikacji obiektu: x[n] obiekt y[n] x[n] x[n-1] z -1 x[n-1] z -1 y[n-1] x[n-2] sieć y[n] z -1 z -1 y[n-1] x[n-2] y[n-2] y[n-2]
Zadanie 2 IDENTYFIKACJA OBIEKTU NIELINIOWEGO WIENERA
zadanie 2. identyfikacja obiektu nieliniowego Wienera źródło: Osowski, str. 135 nauczyć sieć identyfikacji obiektu: obiekt: sieć: kaskadowe połączenie obiektu liniowego: filtru Butterwortha 6 rzędu oraz nieliniowego: x 3 MLP: 24-25-1 funkcja aktywacji: bipolarna wejścia: 12 opóźnionych próbek sygnału wejściowego 12 opóźnionych ostatnich odpowiedzi układu wyjście: predykcja odpowiedzi układu dane uczące: sygnał wejściowy do układu: losowy dane uczące można wygenerować skryptem MATLABa lub budując model w SIMULINKu dane testujące: wybrane przebiegi sygnału wejściowego: sygnał trójkątny gasnąca sinusoida itp.
zadanie 2. identyfikacja obiektu nieliniowego Wienera źródło: Osowski, str. 135 nauczyć sieć identyfikacji obiektu: obiekt: sieć: kaskadowe połączenie obiektu liniowego: filtru Butterwortha 6 rzędu oraz nieliniowego: x 3 MLP: 24-25-1 funkcja aktywacji: bipolarna wejścia: 12 opóźnionych próbek sygnału wejściowego 12 opóźnionych ostatnich odpowiedzi układu wyjście: predykcja odpowiedzi układu dane uczące: sygnał wejściowy do układu: losowy dane uczące można wygenerować skryptem MATLABa lub budując model w SIMULINKu dane testujące: wybrane przebiegi sygnału wejściowego: sygnał trójkątny gasnąca sinusoida itp.
ZASTOSOWANIA SIECI NEURONOWYCH STEROWANIE
sterowanie zadania kinematyki: równania kinematyczne proste: dane: kąty przegubów θ 1 i θ 2 długości ramion l 1 i l 2 obliczyć: pozycję chwytaka x 1 i x 2 ( ) x = l cosθ + l cos θ + θ 1 1 1 2 1 2 ( ) x = l sinθ + l sin θ + θ 2 1 1 2 1 2
sterowanie zadania kinematyki: równania kinematyczne odwrotne: dane: pozycja chwytaka x 1 i x 2 długości ramion l 1 i l 2 obliczyć: kąty przegubów θ 1 i θ 2 θ 2 2 2 2 2 x1 + x2 l1 l 2 = arccos 2 l1 l2 x 2 l2 sinθ 1 θ1 = arctg arctg x l + l cosθ 1 1 2 1 arccos funkcja niejednoznaczna dwa kąty dla jednej pozycji
zadanie 3. kinematyka robota - prosta źródło: Żurada, str. 307 nauczyć sieć rozwiązywania prostego zadania kinematyki: wariant I - dane uczące: dla założonych długości ramion, np. l 1 = 3 i l 2 = 2 9 wektorów uczących dla punktów leżących na okręgu: wejścia znormalizowane do zakresu 0-1 x = r cos β y = r sin β dla: r = 3, 5 o < β < 85 o wariant I - sieć: sieć MLP: 2 4 2 funkcja aktywacji: unipolarna wariant I - uczenie: wagi początkowe: losowe z zakresu od -0.5 do 0.5 BP z momentum - η = 0.9 - α = 0.9 (wypróbować inne parametry) wariant I - testowanie: punkty z okręgu (gęściej niż dla uczenia) dla: r = 3, 0 o < β < 90 o
zadanie 3. kinematyka robota - odwrotna źródło: Żurada, str. 307 nauczyć sieć rozwiązywania odwrotnego zadania kinematyki: wariant II - dane uczące: dla założonych długości ramion, np. l 1 = 3 i l 2 = 2 9 wektorów uczących dla punktów leżących na okręgu: wejścia znormalizowane do zakresu 0-1 x = r cos β y = r sin β dla: r = 3, 5 o < β < 85 o wariant II - sieć: sieć MLP: 2 4 4 2 funkcja aktywacji: unipolarna wariant II - uczenie: wagi początkowe: losowe z zakresu od -0.5 do 0.5 BP z momentum - η = 0.9 - α = 0.3 (wypróbować inne parametry) wariant II - testowanie: punkty z okręgu (gęściej niż dla uczenia) dla: r = 3, 0 o < β < 90 o
zadanie 3. kinematyka robota - prosta źródło: Żurada, str. 307 nauczyć sieć rozwiązywania prostego zadania kinematyki: wariant III - dane uczące: dla założonych długości ramion, np. l 1 = 3 i l 2 = 2 64 przykłady prawie wszystkie kombinacje kątów przegubów θ 1 i θ 2 w zakresie 0-90 o wariant III - sieci: sieć MLP: 2 10 2 sieć MLP: 2-10 10 2 sieć MLP: 2 8 2 z wejściami funkcyjnymi: sin θ 1, sin θ 2, cos θ 1, cos θ 2, sin ( θ 1 + θ 2 ), cos (θ 1 + θ 2 ) wejścia znormalizowane od 0 do 1, wyjścia nie znormalizowane funkcja aktywacji: unipolarna, w wyjściowych liniowa wariant III - uczenie: wagi początkowe: losowe z zakresu od -0.5 do 0.5 sieci MLP: BP η = 0.1 (wypróbować inne parametry) BP z momentum - η = 0.1 - α = 0.9 (wypróbować inne parametry) sieć funkcyjna: reguła delta - η = 0.4 wariant III - testowanie: 3 przebieg: θ ( ) ( ) dla 0 < t < 500 1 t = θ2 t = 3 10 t
Zadanie 4 MODELOWANIE TŁUMIKA DRGAŃ SEJSMICZNYCH
zadanie 4. modelowanie tłumika drgań sejsmicznych źródło: własne nauczyć sieć identyfikacji nastepującego nieliniowego obiektu - tłumika drgań sejsmicznych magnetorheological damper: model: B. Spencer Jr., S. Dyke, S. M., and J. Carlson, Phenomenological model for magnetorheological dampers Computer of Engineering mechanics, ASCE, 123(3):230 238, 1997
zadanie 4. modelowanie tłumika drgań sejsmicznych źródło: własne nauczyć sieć identyfikacji nastepującego nieliniowego obiektu - tłumika drgań sejsmicznych magnetorheological damper: model: B. Spencer Jr., S. Dyke, S. M., and J. Carlson, Phenomenological model for magnetorheological dampers Computer of Engineering mechanics, ASCE, 123(3):230 238, 1997
zadanie 4. modelowanie tłumika drgań sejsmicznych źródło: własne nauczyć sieć identyfikacji nastepującego nieliniowego obiektu - tłumika drgań sejsmicznych magnetorheological damper: model:
zadanie 4. modelowanie tłumika drgań sejsmicznych źródło: własne nauczyć sieć identyfikacji nastepującego nieliniowego obiektu - tłumika drgań sejsmicznych magnetorheological damper: model:
zadanie 4. modelowanie tłumika drgań sejsmicznych źródło: własne nauczyć sieć identyfikacji nastepującego nieliniowego obiektu - tłumika drgań sejsmicznych magnetorheological damper: model:
zadanie 4. modelowanie tłumika drgań sejsmicznych źródło: własne nauczyć sieć identyfikacji nastepującego nieliniowego obiektu - tłumika drgań sejsmicznych magnetorheological damper: model: B. Spencer Jr., S. Dyke, S. M., and J. Carlson, Phenomenological model for magnetorheological dampers Computer of Engineering mechanics, ASCE, 123(3):230 238, 1997
zadanie 4. modelowanie tłumika drgań sejsmicznych źródło: własne nauczyć sieć identyfikacji następującego nieliniowego obiektu - tłumika drgań sejsmicznych magnetorheological damper: model: bardzo skomplikowany dane uczące: model w SIMULINKu sieć: wejścia: x, napięcie wyjścia: F
zadanie 4. modelowanie tłumika drgań sejsmicznych źródło: własne model w simulinku źródło danych uczących dla sieci: aaaa 1 4 nr zrodla -przemieszczenie x z alfa(u) c0(u) x' du/dt alfa(u) z dot4 c0(u) x' c0(u) c1(u) 1./u odwr 1 c0(u) + c1(u) dot6 y ' 1/s integr y ' x x F x F ( x ) przemieszczenie - stale deriv x dot5 x' przemieszczenie - sinus x x x y x - y k0 (x - y) 46.9 k0 c1(u) y ' dot7 c1 y' x' F x ' F ( x' ) besself 9 nr zrodla - napiecie zrodla 1 do 6 po 1 s kazde wszystkie zrodla po 2 s kazde losowe zrodlo od 1 do 6 co 0.1s Out1 zrodla 0-2.25 V losowo przelaczane co 0.01s przemieszczenie opoznienie - zeby filtr -przemieszczenie 30Hz besself 3 Band-Limited ciut White Noise filtr wiecej -przemieszczenie - przemieszczenie 25Hz wybor zrodla - przemieszczenie nr zrodla 0 wybor zrodla 1. stale - napiecie - stale / zmienne 0.75 2. stale wybor zrodla 1.5 -napiecie 3. stale - okresowe 2.25 4. stale 2.5 5. stale 3.0 6. stale wybor zrodla -napiecie wybor zrodla - losowe - napiecie 7. sinus: 2V 4Hz - okresowe / losowe napiecie dot8 x' y ' z 1 alfa b1 x' - y' x' - y' u gamma x' - y' z z abs1 z 363 z z z u gamma abs2 z z dot1 dot2 do potegi n (tu: 2) z ^2 z ^ 2 ( x ' - y ' ) beta ( z ^2 ( x' - y' ) ) x' - y' 363 dot3 beta x' - y' A ( x' - y' ) 301 A c0(u) c1(u) alfa(u) du/dt deriv napiecie 140 alfa a u 695 0 alfa b 283 c1a u ' alfa b2 1/190 du/dt 1 / ni deriv u 2.95 z' z 1/s integr z ' alfa(u) c1(u) x x-x0 14.3 x0 alfa c1 5.0 k1 k1 (x-x0) 0 czas F F napiecie napiecie u u napiecie u u ( napiecie ) napiecie F F ( napiecie ) t x x' napiecie napiecie ' u u ' F F ' du/dt 2 deriv F Matrix Concatenation przebieg zapis przebiegu probkowanie: 2kHz przebieg1 zapis przebiegu probkowanie: 500 Hz przebieg2 zapis przebiegu probkowanie: 50 Hz 8. skok: do 2.25V po 0.6s besself c1b 21.0 c0a 3 9. losowe: Band-Limited White Noise - napiecie od -3V do 3V filtr - napiecie 25Hz 3.50 c0(u) c0 wybor zrodla - napiecie c0b
zadanie 4. modelowanie tłumika drgań sejsmicznych źródło: własne wejścia: wyjście:
zadanie 4. modelowanie tłumika drgań sejsmicznych źródło: własne
zadanie 4. modelowanie tłumika drgań sejsmicznych źródło: własne nauczyć sieć identyfikacji następującego nieliniowego obiektu - tłumika drgań sejsmicznych magnetorheological damper: model: bardzo skomplikowany dane uczące: model w SIMULINKu sieć: wejścia: x, napięcie wyjścia: F efekt: traditional 20-1 net model net voltage context-dependent 10-1 net model net voltage