sterow

 

 

Ogólnie w teorii sterowania adaptacyjnego znane są dwa różniące się podejścia:
(1) sterowanie bezpośrednie oraz (2) sterowanie pośrednie.

Sterowanie bezpośrednie

Struktura układu sterowania bezpośredniego

 

W strategii sterowania bezpośredniego parametry regulatora są bezpośrednio dostrajane w taki sposób, aby zredukować przyjętą normę błędu wyjściowego układu.

Struktura neuronowego układu sterowania bezpośredniego

 

Blok linii opóźnień pozwala na pamiętanie odpowiednich sygnałów, które następnie z opóźnieniem są wykorzystywane przez neuronowe regulatory lub identyfikatory.
    Zgodnie ze strukturą układu przedstawionego na powyższym rysunku, nie jest możliwe bezpośrednie dostrojenie parametrów regulatora neuronowego na podstawie błędu wyjściowego e c. Wynika to przede wszystkim z faktu nieliniowości zarówno obiektu, jak i regulatora. Nawet metoda propagacji wstecznej nie może być tutaj zastosowana bezpośrednio, ponieważ obiekt jest nieznany i stąd nie może być wykorzystany do generowania wymaganych pochodnych cząstkowych (wzorców uczących). Dlatego z punktu widzenia zastosowań, neuronowe sterowanie adaptacyjne nieliniowymi obiektami dynamicznymi może być realizowane jedynie zgodnie ze strategią sterowania pośredniego.

 Sterowanie pośrednie

Struktura układu sterowania pośredniego

 

W strukturze układu sterowania pośredniego najpierw przeprowadzana jest identyfikacja parametryczna obiektu, a następnie na jej podstawie wyznacza się wektor parametrów regulatora. Należy zauważyć, że nawet w przypadku liniowego modelu obiektu układ sterowania adaptacyjnego jest układem nieliniowym.

Struktura neuronowego układu sterowania pośredniego.

 

Zgodnie ze strategią sterowania pośredniego, obiekt sterowania jest parametryzowany poprzez przyjęcie odpowiedniej struktury modelu, którego parametry są uaktualnione na podstawie błędu identyfikacji e i. Następnie parametry regulatora dostraja się z wykorzystaniem propagowanego wstecz błędu  (pomiędzy identyfikowanym modelem, a modelem odniesienia) poprzez identyfikowany model. Taka propagacja błędu jest możliwa, gdy identyfikator realizowany jest przy pomocy sieci neuronowej.

Zarówno algorytmy identyfikacji, jak i sterowania mogą być wykonywane w każdej chwili próbkowania sygnałów lub po przetworzeniu danych z pewnego skończonego przedziału. W przypadku braku zewnętrznych zaburzeń i/lub zakłóceń,  wskazanym jest synchroniczne dostrajanie parametrów regulatora oraz identyfikatora. Inna strategia postępowania powinna obowiązywać w przypadku występowania zaburzeń zewnętrznych i zakłóceń. Wówczas algorytm identyfikacji wykonuje się w każdej chwili próbkowania, a parametry regulatora uaktualnia się w każdej chwili czasu. Taka procedura postępowania zapewnia odporność układu, rozumianą jako poprawne działanie układu w warunkach zaburzeń zewnętrznych i zakłóceń.

Sterowanie predykcyjne

Istotnym elementem w układach sterowania predykcyjnego jest generowanie przyszłych (z zadanym horyzontem czasowym) zachowań obiektu, na podstawie których wyznacza się sterowania obiektu. Uwzględniając zastosowanie sieci neuronowej do predykacji przyszłych zachowań obiektu z zadanym horyzontem czasowym, struktura układu sterowania predykcyjnego ma postać przedstawioną na rys.

Struktura neuronowego układu sterowania predykcyjnego

 

Sygnał predykacji wygenerowany na wyjściu modelu neuronowego przesyła się do optymalizatora układu.

Zadaniem optymalizatora jest wyznaczenie sygnału sterowania u’ minimalizującego kwadratowy wskaźnik jakości

Z uwzględnieniem ograniczeń w postaci równań modelu dynamicznego obiektu. W powyższym wyrażeniu stałe N1, N2 oznaczają horyzonty czasowe, w których śledzony jest błąd modelowania oraz przyrosty sterowań. Ponadto wartości współczynników l j są wagami przyrostów sterowań.

Zgodnie ze strukturą układu przedstawioną na rysunku problem uczenia regulatora neuronowego polega na doprowadzeniu do odtwarzania zachowań w pętli optymalizacyjnej. Inaczej, regulator neuronowy w wyniku procesu uczenia powinien generować taki sam sygnał sterowania u, dla danego sygnału wyjściowego obiektu y i sygnału odniesienia r, jak sygnał u’ w pętli optymalizacyjnej. Niewątpliwą zaletą neuronowego układu sterowania predykcyjnego jest to, że zewnętrzna pętla układu zawierająca model obiektu oraz optymalizator jest odłączona po zakończeniu procesu uczenia regulatora neuronowego.

Układ z emulatorem obiektu

Standardowa struktura układu sterowania procesem dyskretnym z regulatorem neuronowym może być przedstawiona tak jak na rys.


Obiekt i regulator neuronowy

 

Nieliniowa funkcja F[ ] odwzorowuje aktualne sterowanie u(k) i stan obiektu y(k) w następnym stan obiektu y(k+1). W szczególnym przypadku obiektu liniowego możemy zapisać

gdzie A i B są macierzami o odpowiednich wymiarach.

Podstawowym zadaniem układu sterowania obiektem nieliniowym jest generowanie takiego sygnału u(k), który zapewni przejście obiektu ze stanu początkowego y0, do zadanego stanu końcowego yd. Typowe podejście stosowane przy rozwiązywaniu tego typu zadań nieliniowych polega na dokonaniu linearyzacji modelu obiektu wokół pewnego wybranego punktu pracy, zbudowaniu liniowego modelu obiektu w przestrzeni stanów oraz zbudowaniu regulatora. Taka procedura projektowania układu sterowania jest stosunkowo prosta w swoich założeniach, lecz praktyczne stosowanie jest złożone obliczeniowo i wymaga znacznego nakładu pracy. Alternatywnym rozwiązaniem jest zastosowanie układu z regulatorem neuronowym.

Podstawowy problem związany z zastosowaniem regulatorów neuronowych polega na opracowaniu odpowiedniej strategii uczenia regulatora neuronowego. Na przykład w układzie sterowania pośredniego model obiektu jest nieznany, a procedura identyfikacji modelu stanowi część algorytmu uczenia regulatora neuronowego. Inna dwuetapowa strategia uczenia została zaproponowana przez Nguyena i Widrowa. Na pierwszym etapie buduje się neuronowy emulator obiektu nieliniowego, którego zadaniem jest pełne odwzorowanie charakterystyk dynamicznych obiektu. Na drugim etapie neuronowy regulator uczy się sterować emulatorem obiektu. Następnie samouczący się regulator wykorzystuje się do sterowania rzeczywistym obiektem.

 

Emulator obiektu.

  Neuronowy emulator obiektu tworzony jest niezależnie od neuronowego regulatora, a jego zadaniem jest odwzorowanie zachowań obiektu rzeczywistego. Proces uczenia neuronowego emulatora jest w zasadzie procesem identyfikacji, który w danym przypadku sprowadza się do automatycznego wyznaczenia współczynników wag w przyjętej strukturze sieci neuronowej.

Schemat uczenia neuronowego emulatora

 

 W przypadku zastosowania sieci wielowarstwowej typu perceptronowego, liczba elementów w warstwie wyjściowej powinna odpowiadać liczbie zmiennych stanu obiektu (wymiar wektora y(k+1)), a liczba elementów w warstwie wejściowej odpowiednio sumie liczb zmiennych stanu y(k) oraz sygnałów wejściowych (wymiar wektora u(k)). Problem wyboru liczby warstw ukrytych oraz liczby elementów w poszczególnych warstwach nie jest sformalizowany i rozwiązuje się go metodą prób i błędów z uwzględnieniem stopnia nieliniowości obiektu.

Zgodnie ze schematem, proces uczenia rozpoczyna się z dowolnego wybranego stanu początkowego obiektu przyjmując, że ciąg sterowań u(k) jest generowany w sposób losowy. Na przykład k-tej chwili, wejście emulatora tworzy aktualny stan obiektu y(k) oraz wejście obiektu u(k). Przy pomocy algorytmu uczenia (np. propagacji wstecznej) sieć neuronowa uczy się predykcji kolejnego stanu obiektu y’(k+1), korzystając z faktu, że rzeczywisty stan obiektu y(k+1) jest nam znany. Iterakcje procedury uczenia powtarza się wielokrotnie dla kolejnych dyskretnych chwil czasu k, a w rezultacie jej zakończenia otrzymamy sieć neuronową emulującą rzeczywisty obiekt.

Neuronowy regulator

Zgodnie z procedurą projektowania neuronowego układu sterowania , proces uczenia regulatora neuronowego przeprowadza się z wykorzystaniem emulatora neuronowego obiektu sterowania. Polega to na uczeniu regulatora sterowania emulatorem obiektu w taki sposób, aby przejście ze stanu początkowego y0 od stanu zadanego yd było wykonane w K krokach czasowych. Proces uczenia powtarzany jest wielokrotnie, startując za każdym razem ze stanu początkowego y0 i osiągając stan końcowy yK. Celem procesu uczenia sieci neuronowej realizującej regulator jest wyznaczenie zbioru wag, które minimalizują funkcję błędu J

Schemat procesu uczenia regulatora; R - regulator; E - emulator

 

 Proces ten zaczyna się z losowo wybranego stanu początkowego y0. Ponieważ regulator początkowo jest „nie nauczony”, więc generuje błędny sygnał u0 do sterowania emulatorem obiektu, i po takim wymuszeniu na wyjściu emulatora otrzymuje się sygnał wyjściowy y1. Kontynuując ten proces K razy ostatecznie otrzymamy stan końcowy yK, który różni się od zadanego stanu yd.

Na danym etapie uczenia należy tak zmodyfikować współczynniki wag w sieci regulatora, aby kwadrat normy błędu był mniejszy po zakończeniu kolejnej iteracji. Aby można było spełnić taki warunek, wymagana jest znajomość błędu sygnału sterownia dla każdego kroku k=0, 1, 2 ..., K-1. Niestety znany jest tylko błąd dla końcowego stanu obiektu (yd-yK). Korzystając jednak z faktu, że emulator jest siecią neuronową, możliwe jest propagowanie wstecz błędu końcowego (yd-yK) poprzez tę sieć, otrzymując w ten sposób błędy uogólnione dla regulatora na K krokach. Posiadając błędy uogólnione dla każdego kroku można dokonać modyfikacji współczynników wag sieci zgodnie z algorytmem propagacji wstecznej błędu. Oczywiście, w trakcie tego procesu modyfikowane są tylko wagi połączeń w sieci realizującej regulator. Na tym etapie współczynniki wag neuronowego regulatora nie są zmieniane. Po nauczeniu regulatora przeprowadzania obiektu ze stanu y0 do stanu yd cały cykl uczenia jest wielokrotnie powtarzany dla innych, najczęściej wybieranych losowo, stanów początkowych. Z przedstawionej procedury uczenia regulatora neuronowego wynika potrzeba realizacji emulatora neuronowego pozwalającego na propagację błędu (yd-yK) wstecz. Obiekt rzeczywisty nie może być wykorzystany do takich celów, gdyż w takim przypadku nie jest możliwa propagacja błędu.