• Nie Znaleziono Wyników

Algorytmy bioinspirowane

W dokumencie ROZPRAWA DOKTORSKA (Stron 149-161)

7. Koncepcja kształtowania sygnału zadanego z wykorzystaniem układów typu IS dla

7.6. Algorytmy bioinspirowane

7.6.1. Opis działania metody

Ostatnią z prezentowanych metod doboru nastaw układu kształtowania sygnału zadanego jest wykorzystywanie algorytmów bioinspirowalnych. W niniejszej pracy zdecydowano się na wykorzystanie algorytmu roju cząstek (PSO - ang. Particle Swarm Optimization). Układ prezentowany w niniejszym rozdziale jest jedynie prezentacją pewnej koncepcji oraz konkretnej aplikacji w celu zaznaczenia potencjału omawianej metody.

Często w rzeczywistych układach można spotkać się z sytuacją, w której zastosowanie algorytmów adaptacji czy programowania wzmocnienia nie jest możliwe z różnych przyczyn (takich jak na przykład ograniczenia programowe zastosowanego sterownika, brak odpowiednich sygnałów pomiarowych w trakcie pracy itp.). Sama zmiana parametrów układu w trakcie pracy również może być kłopotliwa, a wyniki uzyskane dzięki zastosowaniu algorytmów odpornych nie są zadowalające lub nie spełniają postawionych ograniczeń (założeń projektowych). Taka sytuacja wymaga zwykle przeprowadzenia dziesiątek prób i niejednokrotnie (dla złożonych układów) przeszukiwania metodą „prób i błędów” zbioru rozwiązań. Podejście takie jest bardzo pracochłonne i niewłaściwe z punktu widzenia optymalizacji działania układu (jakkolwiek może być skuteczne). W niniejszym rozdziale zaprezentowano rozwiązanie powyższego problemu z wykorzystaniem algorytmu roju cząstek.

Algorytm optymalizacji wykorzystujący rój cząstek został zaprezentowany w 1995 przez J. Kennedy’ego oraz R. Eberharta [74] jako rozwiązanie pozwalające na optymalizację funkcji nieliniowych. Koncepcja algorytmu została zainspirowana obserwacją zwierząt żyjących w roju – osobniki poszukują najlepszych dla siebie warunków bazując na swojej lokacji, swoim doświadczeniu oraz wiedzy o doświadczeniu swoich sąsiadów. W optymalizacji osobniki zastąpione zostały przez pozycje w przestrzeni rozwiązań, „optymalność lokalizacji” przez wartość funkcji optymalizacyjnej, a dane dotyczące doświadczenia osobnika i roju oznaczają ich najlepsze historycznie lokacje. Każda cząstka jest w ciągłym ruchu determinowanym przez trzy kierunki – inercyjny (zgodny z ruchem z poprzedniego kroku), w kierunku swojego historycznego maksimum oraz w kierunku maksimum dla swoich sąsiadów w kroku poprzednim (istnieją różne definicje sąsiedztwa – dla poniższych badań zastosowano model, w którym każda cząstka sąsiaduje z wszystkimi innymi).

Położenia i prędkości ruchu poszczególnych cząstek są jedynie opisem słownym wektorów. Takie obrazowanie pozwala na lepsze uzasadnienie nazwy PSO. Stosując się do odpowiednich zasad projektowania rozwiązania algorytmy PSO uruchomione kilkukrotnie (przy różnym zestawie parametrów początkowych) zawsze odnajdują rozwiązanie bliskie optymalnemu w sensie poszukiwanego ekstremum.

Inicjacja pierwszego położenia poszczególnych cząstek oraz ich kierunki ruchu (związane z inercją) są zwykle dobierane w sposób losowy. Cały algorytm został opisany przy pomocy pseudokodu przez M. Clerca oraz J. Kennedy’ego [29] i został zaprezentowany na rysunku 7.49.

Rysunek 7.49. Algorytm PSO. Oznaczenia: ri, vi – położenie i prędkość cząstki, φ1,φ2 – współczynniki wagowe prędkości, pid – najlepsza wartość dla cząstki, pgd – najlepsza wartość dla roju. Przyjęto, że funkcja jest

maksymalizowana.

Postępując zgodnie z algorytmem zachowanie cząstek powinno być analogiczne do zaprezentowanego w formie graficznej na rysunku 7.50 (za pracą J. Beckera [9]).

Rysunek 7.50. Zachowanie cząstek w algorytmie PSO – Gwiazdką oznaczono ekstremum, a punktami poszczególne cząstki (za [9]).

Znając ogólną ideę PSO można zdefiniować problem dla kształtowania sygnału zadanego. Definicje ogólnej struktury układu kształtowania sygnału przedstawia wzór (7.6).

Initialize population

,1 ,2 , 2 , 1 ,

Zgodnie ze wzorem zaprezentowanym powyżej do określenia parametrów układów kształtowania sygnału o j impulsach potrzebne jest podanie 2(j-1) parametrów. Pozostałe dwa parametry można obliczyć (amplitudy sumują się do wartości 1, a t0 zawsze przyjmuje się równe 0, gdyż inna wartość wprowadza niepotrzebne opóźnienia). Dla tak określonych parametrów układu kształtowania można zdefiniować wektor pozycji cząstki w roju ri zgodnie ze wzorem

Przy losowaniu cząstek w pierwszej iteracji należy zastosować algorytm zezwalający na generację tylko cząstek spełniających wymagania stawiane parametrom układu kształtowania sygnału zadanego. Zakładając, że rozkład zmiennej losowej jest równomierny w zakresie <0:1>

oraz znając maksymalny dozwolony czas opóźnienia impulsów można przyjąć, iż:

Ostatni krok przy optymalizacji metodą PSO stanowi samo zdefiniowanie zadania optymalizacji. Dla złożonych układów warto przyjąć, że funkcja celu jest maksymalizowana (w analizowanym może być na przykład zależna od odwrotności wskaźnika I9). Konieczne jest także zdefiniowanie ilości cząstek w każdej iteracji oraz dobranie warunków zakończenia algorytmu.

7.6.2. Wyniki badań symulacyjnych

Posługując się teorią zaprezentowaną w rozdziale 7.6.1 podjęto próbę optymalizacji pracy układu kształtowania sygnału zadanego w sterowaniu suwnicą. Analizując uzyskane wcześniej wyniki postanowiono zdefiniować funkcję celu w taki sposób, aby umożliwić układowi pracę z układem kształtowania sygnału zadanego o stacjonarnych parametrach, generującym 4 impulsy oraz zapewniając w całym zakresie pracy wartość wskaźnika I7 poniżej wartości 0,4. Zadanie takie nie zostało zrealizowane przez żaden wcześniejszy układ o parametrach stacjonarnych. Po zakończeniu optymalizacji PSO parametry układu będą stacjonarne.

Przyjęto, iż funkcja celu będzie zależna od odwrotności wskaźnika I9 i będzie

gdzie h przyjmuje wartości zależne od maksymalnej wartości znormalizowanego parametru I7. Dla prezentowanego układu kształtowania sygnału zadanego h zostało ustalone arbitralnie i jest obliczane zgodnie z (7.10):

gdzie pierwszy warunek odrzuca automatycznie rozwiązania dalekie od założonego celu projektowego oraz rozwiązania, w których układ nie osiąga wartości zadanej.

Przyjęto, iż maksymalny czas opóźnienia impulsu wynosi 10 sekund, a w każdej iteracji udział bierze 100 cząstek. Warunek zakończenia zdefiniowano jako 1000 iteracji lub osiągnięcie dla każdej cząstki maksymalnej wartości I7 nie większej niż 0,4 (założenie projektowe) i dla każdej cząstki wartości I7 różniącej się o nie więcej niż 0,02 od średniej z maksymalnych wartości I7 dla wszystkich cząstek (wyniki skupione w punkcie). Następnie cząstka o najwyższej wartości f(ri) z ostatniej iteracji została poddana próbie symulacyjnej analogicznej jak w poprzednich przykładach.

Poszukiwanie optymalnego rozwiązania trwało nieznacznie ponad 36 godzin ciągłych obliczeń systemu Matlab i zakończyło się w 126 iteracji (do symulacji wykorzystano komputer z procesorem IntelCore I5 3317U i 16 GB pamięci RAM). Warto zauważyć, że pierwsze rozwiązanie spełniające podstawowe założenia projektowe zostało odnalezione już w 6 iteracji po około 40 minutach. Pierwsze iteracje wykonywane były znacząco szybciej, gdyż jeśli dla symulowanej cząstki przy którejkolwiek długości liny spełniony był warunek h=0 to cała cząstka miała wartość zero i jej obliczanie było przerywane.

Aby zobrazować proces optymalizacji wykreślono wartości maksymalne, średnie i minimalne spośród max(I7) dla wszystkich ri, dla których wartość f(ri) była dodatnia w danej iteracji (rys 7.51).

Rysunek 7.51. Wartości maksymalne wskaźników I7 dla osobników w kolejnych iteracjach - wartości minimalne, średnie i maksymalne.

Po przeprowadzeniu procesu optymalizacji wybrany został osobnik spełniający wszystkie kryteria projektowe oraz posiadający maksymalną wartość I9. Parametry układu kształtowania sygnału zadanego dla tego osobnika wyniosły Ai=[0,09 0,27 0,30 0,34], ti=[0 3,69 6,19 7,78].

Dla tak dostrojonego układu przeprowadzono serię badań symulacyjnych analogicznych jak w poprzednich rozdziałach. Zarejestrowane zostały przebiegi położenia ciężaru, odchylenia liny od pionu, sygnału zadanego przed i za blokiem kształtującym oraz zależność wybranych wskaźników jakości od długości liny. Wymienione zależności zaprezentowano na rysunkach 7.52-7.57. Wartości liczbowe wskaźników jakości zaprezentowano w tabeli 7.10.

Rysunek 7.52.Ruch ciężaru w kierunku X przy sterowaniu PI z kształtowaniem o stałych parametrach optymalizowanych z użyciem PSO przy zmiennej długości liny

przy ograniczeniach.

Rysunek 7.53. Ruch ciężaru w kierunku X przy sterowaniu PI bez kształtowania sygnału zadanego oraz z kształtowaniem o stałych parametrach optymalizowanych z użyciem PSO

Rysunek 7.54. Odchylenie przy sterowaniu PI z kształtowaniem o stałych parametrach optymalizowanych z użyciem PSO przy zmiennej długości liny

przy ograniczeniach.

Rysunek 7.55. Odchylenie ciężaru przy sterowaniu PI bez kształtowania sygnału zadanego oraz z kształtowaniem o stałych parametrach optymalizowanych z użyciem PSO

przy linie o długości 10m przy ograniczeniach – porównanie.

Rysunek 7.56. Działanie układu kształtowania na sygnał zadany z kształtowaniem o stałych parametrach optymalizowanych z użyciem PSO przy zmiennej

długości liny przy ograniczeniach.

Rysunek 7.57. Odporność sterowania PI wykorzystującego kształtowanie sygnału o stałych parametrach optymalizowanych z użyciem PSO przy zmiennej długości liny

przy ograniczeniach.

Wskaźnik jakości

Tabela 7.10. Znormalizowane wskaźniki jakości sterowania przy wykorzystaniu układu kształtowania sygnału o parametrach stacjonarnych optymalizowanego przez algorytm PSO przy ograniczeniach.

Dokonując analizy zaprezentowanych wykresów oraz wartości przedstawionych w tabeli 7.10 można jednoznacznie stwierdzić, iż optymalizacja układu kształtowania sygnału zadanego z wykorzystaniem PSO doprowadziła do spełnienia założeń projektowych – wartość wskaźnika I7 dla żadnej długości liny nie przekracza 0,4. Zasadność tego wniosku potwierdzają przede wszystkim przebiegi zaprezentowane na rysunku 7.52.

Jednocześnie należy zwrócić uwagę na fakt pogorszenia się właściwości dynamicznych obiektu oraz (w konsekwencji) wartości całkowych wskaźników jakości sterowania.

Optymalizacja jakości sterowania była jednak wymaganiem podrzędnym względem ograniczeń stawianych przed oscylacjami układu.

Zaprezentowane wyniki świadczą o poprawnej konstrukcji rozwiązania oraz prawidłowym działaniu układu optymalizacji. Należy zauważyć, iż formułując inaczej funkcję celu oraz dodając inne ograniczenia możliwym byłoby dostrojenie układów kształtowania pod dowolne inne realizowalne fizycznie zadanie.

Optymalizacja metodami bioinspirowalnymi może być z powodzeniem stosowana w szczególności w układach, w których dostrojenie parametrów bloku kształtowania sygnału jest trudne do realizacji metodami analitycznymi oraz automatycznego strojenia. Złożoność

obliczeniowa oraz konieczna liczba symulacji znacząco ogranicza możliwość zastosowania omawianego algorytmu optymalizacji w układach rzeczywistych.

7.7. Podsumowanie wyników

W prezentowanym rozdziale podjęto próby doboru układu kształtowania sygnału zadanego dla obiektu o zmiennej (w dość szerokim zakresie) charakterystyce częstotliwościowej.

Przebadane zostały powszechnie znane układy bez kształtowania sygnału zadanego, z kształtowaniem prostym o parametrach stacjonarnych, z kształtowaniem odpornym oraz super-odpornym. Zaprezentowano i przeanalizowano metody doboru parametrów układów kształtowania sygnału opracowane na potrzeby badań nad niniejszą rozprawą – z algorytmami samostrojenia, z programowalną zmianą parametrów bloku kształtującego oraz adaptacji.

W ostatnim podrozdziale zaprezentowano także metodę optymalizacji nastaw układu kształtowania sygnału w oparciu o bioinspirowalny algorytm PSO.

Należy zauważyć, iż każdy z opracowanych oraz zaprezentowanych algorytmów kształtowania sygnału zadanego spełnił swoją zasadniczą rolę oraz doprowadził do redukcji oscylacji układu. Układy proste, odporne oraz super-odporne okazały się niewystarczające do zapewnienia pracy układu przy niewielkich oscylacjach w całym zakresie badań. Układy automatycznego strojenia działały bardzo skutecznie w pobliżu punktu linearyzacji, jednak wraz z oddalaniem się od założonej częstotliwości projektowej ich skuteczność malała.

Układy z programową zmianą parametrów wykorzystujące wiedzę o obserwowalnym sygnale stanu obiektu działały w sposób bardzo skuteczny, eliminując oscylacje występujące w niemal całym badanym spektrum częstotliwości rezonansowych układu. Niestety nie w każdej aplikacji możliwe jest wyprowadzenie zależności łączącej wartość bieżącą obserwowalnego stanu obiektu z częstotliwością i tłumieniem drgań własnych. Z tego powodu możliwość zastosowania omawianego algorytmu jest bardzo ograniczona.

Układ adaptacyjnego doboru parametrów kształtowania sygnału zadanego działał w sposób skuteczny, jednak nie tak precyzyjny jak programowa zmiana parametrów (w szczególności dla bardziej zaszumionego sygnału wyjściowego z obiektu). Znaczącą zaletą układu adaptacyjnego jest możliwość jego zastosowania w niemal dowolnym układzie.

Na końcu przebadano możliwość zastosowania algorytmu roju cząstek w celu optymalizacji parametrów układu kształtowania sygnału zadanego przy wprowadzonych ograniczeniach. Układ sterowania został dostrojony w sposób poprawny, a założenia projektowe zostały spełnione. Należy podkreślić jednak, iż czas obliczeń był niewspółmiernie dłuższy od wszystkich prezentowanych wcześniej algorytmów (warto zauważyć, iż ta metoda optymalizacji

W tabeli 7.11 zaprezentowano porównanie przedstawionych wcześniej wyników – zdecydowano się na uwzględnienie jedynie kluczowych wskaźników jakości sterowania – zbiorczego wskaźnika obliczonego przez WPM - I9 oraz wskaźników prostych I7 – wartości minimalnej, maksymalnej oraz średniej dla każdej strategii sterowania,

Wskaźnik jakości sterowania I9 min(I7) mid(I7) max(I7)

Strategia kształtowania sygnału

Bez kształtowania 0,52 0,37 0.75 1,01

Kształtowanie proste, strojone ręcznie 0,72 0,05 0,42 0,83 Kształtowanie odporne, strojone ręcznie 1,65 0,48 0,65 0,74 Kształtowanie super-odporne, strojone ręcznie 0,57 0,09 0,44 0,76 Kształtowanie strojone analitycznie 0,66 0,13 0,41 0,76

Kształtowanie strojone z FFT 0,46 0,29 0,41 0,54

Kształtowanie z programowaniem parametrów 0,17 0,00 0,02 0,05 Kształtowanie strojone adaptacyjnie 0,45 0,00 0,10 0,54 Kształtowanie proste, strojone PSO 2,05 0,17 0,31 0,39

Tabela 7.11. Porównanie strategii kształtowania sygnału zadanego dla układów niestacjonarnych.

Analizując wartości zaprezentowane w tabeli 7.11 można zauważyć zgodność przytoczonych wcześniej wniosków z wynikami. Dla wszystkich układów wartość średnich oraz maksymalnych oscylacji została znacząco zmniejszona. W większości przypadków układy wykorzystujące kształtowanie zadane cechują się maksymalnymi oscylacjami (których miernik stanowią przeregulowania) na poziomie niższym niż średnie oscylacje bez kształtowania sygnału zadanego. Należy także podkreślić, iż najlepsze wyniki uzyskano stosując programową zmianę wzmocnienia (dla tego układu oscylacje właściwie nie występują).

Warto zauważyć, iż samo porównywanie wartości wskaźników I9 nie jest do końca miarodajne ze względu na różny charakter poszczególnych prób symulacyjnych (występuje tylko jeden układ z nałożonymi ograniczeniami, a prezentowane wyniki dla większości strategii można znacząco zmienić na korzyść wybranej metody zmieniając na przykład punkt linearyzacji).

Stwierdzono, iż prezentacja złożonych, wieloelementowych wykresów jest bezcelowa, gdyż wykresy zaprezentowane we wcześniejszych podrozdziałach można ze sobą łatwo porównywać (starano się zachować jednakowe skalowanie osi oraz rozmiary rysunków).

Prezentacja kilkunastu przebiegów na jednym wykresie spowodowałaby znaczącą nieczytelność prezentowanych danych.

Należy stwierdzić, iż algorytmy zaprezentowane w powyższym rozdziale działają poprawnie oraz jednocześnie stanowią symulacyjne potwierdzenie tez cząstkowych postawionych we wstępie do pracy.

8. W ERYFIKACJA EKSPERYMENTALNA WYBRANYCH METOD I

W dokumencie ROZPRAWA DOKTORSKA (Stron 149-161)