• Nie Znaleziono Wyników

Repository - Scientific Journals of the Maritime University of Szczecin - Ship Course Stabilization Based on...

N/A
N/A
Protected

Academic year: 2021

Share "Repository - Scientific Journals of the Maritime University of Szczecin - Ship Course Stabilization Based on..."

Copied!
13
0
0

Pełen tekst

(1)

ZESZYTY NAUKOWE NR 5(77)

AKADEMII MORSKIEJ

W SZCZECINIE

OBSŁUGIWANIE MASZYN I URZĄDZEŃ OKRĘTOWYCH O M i U O 2 0 0 5

Piotr Borkowski, Zenon Zwierzewicz

Stabilizacja kursu statku w oparciu o uproszczony

komputerowy model dynamiki

Słowa kluczowe: sterowanie statkiem, model komputerowy, zbiory rozmyte W artykule przedstawiono system stabilizacji kursu statku, działający w oparciu o sporządzony w pracy, komputerowy model jego dynamiki. Ujęcie takie narzuca nowy, oryginalny sposób konstrukcji algorytmu sterowania z wykorzystaniem teorii zbiorów rozmytych. Ze względu na wstępny charakter badań w komputerowym modelu statku nie uwzględniono dynamiki maszyny sterowej. Działanie algorytmu zostało sprawdzone symulacyjnie oraz dokonano porównania z regulatorm LQR.

Ship Course Stabilization Based on a Simplified

Computer Dynamics Model

Key words: ship control, computer model, fuzzy sets

This article describes a ship course stabilization system. It is based on the comput-er-borne dynamical model. Such an approach, which uses also the fuzzy sets theory, forms a new and original way of constructing a control algorithm. The computer ship model is simplified, i.e. it does not take into account the dynamics of the steering gear. The algorithm quality has been verified via simulations and compared to the LQR regu-lator.

(2)

Wstęp

Typową praktyką w celu zaprojektowania układu sterowania jest zbudowa-nie matematycznego modelu obiektu (lub procesu), na bazie którego dokonuje się syntezy układu sterowania (regulator, algorytm). To podejście zazwyczaj się sprawdza, jednakże pod warunkiem, że znamy ów model oraz że jego parametry nie zmieniają się w czasie. Jednak w przypadku wysoce złożonych obiektów uzyskanie wystarczająco dokładnego modelu jest praktycznie niemożliwe. Nie chodzi przy tym tylko o kwestię nieznanych parametrów lub postaci pew-nych funkcji występujących w modelu, ale o podstawową postać jego struktury, w szczególności dotyczy to systemów nieliniowych. Często w tej sytuacji algo-rytm sterowania uzyskiwany jest na podstawie liniowego modelu obiektu, co w konsekwencji pogarsza jakość sterowania. W takich sytuacjach trudną do przecenienia rolę zaczyna odgrywać komputer, zwłaszcza w połączeniu z metodami sztucznej inteligencji AI (artificial intelligence).

W obecnych czasach, nie tylko z przyczyn ekonomicznych, należy liczyć się z rosnącymi wymaganiami dotyczącymi dokładności sterowania ruchem statku w różnych zadaniach [3]. Odnosi się to w szczególności do torów wod-nych o intensywnym ruchu i ograniczonej głębokości, cieśnin, kanałów, a także do prowadzenia statku na bezpiecznej trajektorii w sytuacji kolizyjnej na otwar-tych akwenach. W takich sytuacjach można mówić o sterowaniu wzdłuż zadanej trajektorii, w którym to procesie do sterowania wykorzystywane są informacje z nowoczesnych systemów nawigacyjnych (np. GPS). Szczególnym przypad-kiem kierowania wzdłuż zadanej trajektorii jest stabilizacja kursu, i chociaż jest to jedno z łatwiejszych zadań automatycznego sterowania statkiem, to jednak ze względu na fakt, że właśnie statek jest obiektem o dużym stopniu złożoności (nieliniowość, niepewność wynikła zarówno z niedokładności modelu jak i z zakłóceń zewnętrznych etc.) problem ten nie jest błahy.

W artykule przedstawiono komputerowy model statku, który na obecnym etapie zbudowany jest w oparciu o zbiór sygnałów zebranych z nieliniowego modelu matematycznego, nie uwzględniającego dynamiki maszyny sterowej. Jednak w ostatecznej wersji (nie uproszczonej) sygnały będą mogły być reje-strowane z obiektu, co powinno ograniczyć rozbieżność pomiędzy modelowym a rzeczywistym stanem. Na bazie tego modelu i teorii zbiorów rozmytych spo-rządzony został algorytm stabilizacji kursu statku. Ominięto w ten sposób trud-ności, z jakimi mamy do czynienia przy klasycznych konstrukcjach algorytmów sterowania w przypadku złożonego modelu obiektu, uzyskując jednocześnie porównywalną jakość sterowania. Działanie algorytmu zostało sprawdzone sy-mulacyjnie oraz porównane z pracą regulatora LQR.

(3)

1. Opis systemu stabilizacji kursu statku

Ideę omawianego systemu stabilizacji kursu statku przedstawiono na rysun-ku 1.

Rys. 1. Struktura systemu stabilizacji kursu statku Fig. 1. System of ship course stabilization structure Objaśnienie wielkości na rysunku 1:

y = [r, ] – wyjście z obiektu (prędkość kątowa, odchyłka kursowa),

xz = z – wielkość zadana (kurs zadany),

u =  – zmienna sterująca (wychylenie płetwy sterowej),

 ] , , [ , y R y y Ψ

R Tab – wektor bazy danych dla wyjścia y.

1.1. Baza danych

W tej części omówiono budowę i proces tworzenia trzech macierzy R, ,

Tab (składających się na bazę danych), skonstruowanych na podstawie zbioru

sygnałów wejściowych (wychylenie steru, prędkość kątowa, odchyłka kursowa) oraz wyjściowych (prędkość kątowa, odchyłka kursowa). Wartości macierzy R, (przy użyciu liniowej interpolacji) tworzą komputerowy model dynamiki

ruchu statku. Wartości macierzy Tab będą zaś potrzebne do tego, aby proces sterowania mógł odbywać się na bieżąco (on line).

W macierzy R (rys. 2) zapisane są wartości prędkości kątowej po jednej jednostce czasowej (t), zaś w macierzy  (rys. 2) odchyłka kursowa po jednej jednostce czasowej (kurs jest ustalony na 0). Są one zbudowane w taki sposób, że poszczególne wiersze odpowiadają różniącym się o jednostkę (r)

warto-ściom początkowym prędkości kątowej, od minimalnej (rmin) po maksymalną (rmax = |rmin| – ustalana przez konstruktorów statku). Podobnie kolumny odpo-wiadają różnym wartościom wychylenia płetwy sterowej. W tym miejscu należy zaznaczyć, że w pracy nie uwzględniono dynamiki maszyny sterowej, zatem początkowe wychylenie płetwy sterowej nie jest brane pod uwagę. Oczywiście

(4)

w przypadku, gdy sygnały rejestrowane będą z wyjścia obiektu, powinno odby-wać się to przy jak najmniejszych zakłóceniach i takich samych warunkach pły-wania (prędkość statku, stan morza, rodzaj akwenu, głębokość wody, stan zała-dowania statku, zanurzenie etc.), co odpowiada sytuacji ustalonych parametrów w modelu matematycznym.                                                   max max min max min max min max max max min min min min min min max max min min min min min min , , , , , , , , ,                   n r r r n r r r r r r n r r r r r r r r r r r r       R                                                   max max min max min max min max max max min min min min min min max max min min min min min min , , , , , , , , ,                            n r r r n r r r r r r n r r r       Ψ

Rys. 2. Budowa macierzy R i  Fig. 2. Structure of matrixes R and

Definicja 1.

Niech iN,n1N,,niN oraz 0n1nmax,,0ninmax. Wów-czas przez wektor

rn1,,ni

tit

,n1,,ni

tit

należy rozumieć odpowiednio prędkość kątową i odchyłkę kursową obiektu po i jednostkach czasowych przy ciągu decyzji sterujących:

 

min 1 , 

min 2  ,,

t  ntt  n  

t

 

i1t

min ni .

Wykorzystując liniową interpolację, dynamikę statku można teraz opisać następująco (dla nN oraz 0nnmax):

   

 

 

  , floor , floor , ceil m in m in m in floor                                                                                n r t r r n r t r r n r t r r n r r t r r t r r r r t t r (1)

(5)

   

 

 

 

                                                                                       n r t r r n r t r r n r t r r n t r t r r t r r t t min min min , floor , floor , ceil floor (2) Definicja 2.

Niech kN. Domkniętym obszarem k-tym (Ok) będziemy nazywać

dwu-wymiarowy zbiór (pierwsza współrzędna elementu zbioru odpowiada możliwej prędkości kątowej, druga zaś odchyłce kursowej zawartej od – do ) wartości początkowych, dla których istnieje ciąg decyzji sterujących doprowadzający do obszaru zerowego (O0) w nie więcej niż k jednostek czasowych:

 

               

  0 , , , , , , 1 1 1 ; : , r t i t t i t O r O i i i n n n n k i N n n k      (3) gdzie:

 

r,  rmin,rmax  π,π – zakres zmiennych,

 

max( ) max( )

0 r, : r r O0 O0 O      – obszar zerowy, ) max( ) max(O0 , O0

r  – dodatnie wartości ustalone arbitralnie ( max( ) 0

O

r musi być tak dobrane, aby istniało iN takie, że rmax(O)rminir

0 ).

Definicja 3.

Przez kmax należy rozumieć najmniejszą liczbę naturalną, dla której zacho-dzi: π , π , max min max  r r   Ok (4)

Do procesu sterowania prócz zmiennych R i  potrzebna będzie jeszcze jedna macierz Tab (rys. 3). Jej wiersze, podobnie jak poprzednich odpowiadają wartościom prędkości kątowej, jeżeli zaś chodzi o kolumny, to w nieparzystych zapisana jest dolna (

k O r, min  ), w parzystych górna ( k O r, max  ) granica od-chyłki kursowej dla danych obszarów (def. 1). Jeżeli dla danej prędkości kąto-wej obszar nie istnieje to umownie obie granice przyjmują wartość 10 (zabieg techniczny). W sytuacji, gdy dolna granica jest większa od górnej, należy rozu-mieć to w taki sposób, że odchyłka kursowa może przyjmować wartości od

(6)

– do k O r, max  oraz od k O r, min

 do . Jeżeli, zaś odchyłka kursowa może być dowolna, to wpisywana jest wartość 0. Algorytm tworzenia macierzy Tab przedstawiony jest na rysunku 4.

         

 

 

   

 

 

                     

0 0 0 0 0 0 10 10 10 10 10 10 m ax 1 1 m ax 1 m ax 1 m in 1 m in 1 m in 1 m in 0 0 m ax 0 m ax 0 0 0 m ax 0 0 0 m ax 0 0 0 m ax 0 0 0 m ax 0 m in 0 m in 0 m in 0 m in pierwszy obszar , max , min , max , min , max , min zerowy obszar , max , min max , max max , min max , max max , min , max , min , max , min                                                                                                     k O O O O O O O r O r O r r O r r O r O r O O r O r O O r O O r O O r O O r O r r O r r O r O r                    

Rys. 3. Budowa macierzy Tab

Fig. 3. Structure of the matrix Tab

Zauważmy jeszcze, że z dynamiki obiektu wynika:

) , min( ) , max( ) , max( ) , min(rOk  rOk ,  rOk  rOk  (5)

dla rmin(Ok) rrmax(Ok), gdzie 0  k kmax oraz k N. Można zatem, aby

ograniczyć czas tworzenia macierzy Tab, obciąć

r r r     min pierwszych wier-szy w macierzy R (r powinna być tak dobrana, aby zachodziło rmin + ir = 0 dla i N).

Wszystkie trzy poznane macierze tworzą blok, który tutaj umownie nazwa-no bazą danych.

(7)

Rys. 4. Algorytm tworzenia macierzy Tab

Fig. 4. Algorithm of creating the matrix Tab

1.2. Regulator

Regulator omawianego systemu stabilizacji kursu statku nie jest zaprojek-towany na podstawie „klasycznego” modelu matematycznego (w postaci równań stanu), lecz regulacja wychyleniem płetwy sterowej opiera się na wartościach pobieranych z bazy danych.

(8)

Dla wyjścia z obiektu (statek) y

r

   

t, t

, czyli bieżącej prędkości

ką-towej oraz odchyłki kursowej, pobierane są z bazy danych wektory Ry, y:

                                                                                                                                                                          m ax m in m ax m in m in m in m ax m in m ax m in m in m in , , , , , , , , ; , , , ; , , , n r t r ceil r n r t r floor r r t r ceil r r t r floor r n r t r ceil r n r t r floor r r t r ceil r r t r floor r r r r r   (6)

Następnie korzystając z liniowej interpolacji wyznaczane są wartości pręd-kości kątowej oraz odchyłki kursowej po jednej jednostce czasowej (dla wychy-lenia płetwy sterowej od min do max co  ). Po tej czynności należy ustalić do jakich obszarów należy wektor

rn

tt

 

,n tt

dla poszczególnych n. Wartości macierzy Tab, które będą do tego potrzebne pobierane są na bieżąco z bazy danych (na rys. 1

y y,Ψ

R ab

T ). Proces ten opisuje algorytm przedstawio-ny na rysunku 6.

W celu przyśpieszenia pracy programu (sterowanie odbywa się przecież w trybie on line), wartość początkowa k powinna być wczytywana z informacji

   

rt; t

Ok (dla t0, k niech będzie równe kmax).

Poprzednie działania doprowadziły do wygenerowania wektora ] , , , [ max 1 0 k kn k

K  , minimalnych indeksów obszarów, możliwych do osiągnię-cia przez wyjście obiektu, w zależności od wychylenia płetwy sterowej. Oczy-wiście jest to informacja nieprecyzyjna, rozmyta [4], w związku z czym należa-łoby teraz określić funkcję przynależności dla poszczególnych wychyleń płetwy sterowej, trafienia przez wyjście obiektu do obszaru Omin K . Jej definicję

przedstawiono na rysunku 5, gdzie mmin(mmax) rozumiemy jako najmniejszy (największy) indeks i, dla którego zachodzi ki min

 

K . Wyboru wychylenia płetwy sterowej dokonujemy według wzoru:

(9)

 

 

2 d d max min min max min max min                  

m m (7)

Rys. 5. Funkcja przynależności wyjścia obiektu do obszaru Omin{K} Fig. 5. Function of object membership to the area Omin{K}

Rys. 6. Algorytm weryfikujący do jakiego obszaru należy wektor

rn

tt

 

,n tt

Fig. 6. Algorithm verifying to which area the vector

rn

tt

 

,ntt

belongs

(10)

2. Opis przeprowadzonych symulacji

Symulacje ruchu statku, wykonane za pomocą programu Matlab/Simulink [5, 6], były oparte na nieliniowym modelu de Witt-Oppe’go [1, 8] (jako obiekcie rzeczywistym) postaci: 3 4 3 4 1 6 2 4 5 5 3 4 4 4 4 3 3 6 3 5 2 3 6 3 5 1 cos sin sin cos x r x r x S Wx fx x cu bx ax x x x x x x x x x x x x x                      (8) gdzie

(x1, x2) = (x, y) – współrzędne kartezjańskie (położenie statku),

x3 =  – kurs (odchyłka kursowa),

x4 = r – prędkość kątowa,

x5 – prędkość wzdłużna,

x6 – prędkość boczna,

u =  – wychylenie płetwy sterowej,

S – współczynnik reprezentujący siłę naporu śruby, a, b, c, f, W, r1, r3 – współczynniki określone na podstawie badań

mode-lowych (różne dla różnych typów statków oraz wa-runków pływania)

Model ten posłużył również do wygenerowania bazy danych. Za współ-czynniki przyjęto parametry m.s. „Compass Island” [8]. Wówczas maksymalna prędkość kątowa i kąt wychylenia płetwy sterowej są równe odpowiednio

rmax = 0,0191 [rad/s] i max = 0,6 [rad]. Ponadto autorzy ustalili: rmax(O0) = 0,0001

[rad/s], max(O0) = 0,02 [rad], r = 0,00002 [rad/s],  = 0,02 [rad], t = 1 [s]. Po utworzeniu macierzy R, , Tab okazało się, że kmax = 208, czyli statek wróci na zadany kurs w nie więcej niż 208 sekund, o ile nie nastąpią nowe zakłócenia.

W celu sprawdzenia poprawnego działania opisanego systemu porównano go z liniowo-kwadratowym regulatorem LQR [3] sporządzonym na podstawie modelu Nomoto [3] oraz kwadratowego kryterium jakości sterowania postaci:

   0 2 2 dt J   (9)

(11)

gdzie współczynnik  interpretuje się jako kompromis między odchyłką kurso-wą, a wychyleniem steru, tutaj arbitralnie przyjęto  = 1.

W pierwszym doświadczeniu zbadano czas potrzebny na dotarcie do obsza-ru zerowego (prędkość kątowa i odchyłka kursowa bliska zeobsza-ru), czyli sprowa-dzenia statku na kurs zadany (z), dla przykładowych wartości początkowych (prędkości kątowej i odchyłki kursowej). Wyniki zgromadzono w tabeli 1. Jak się okazało, we wszystkich przypadkach regulator LQR działał wolniej niż sys-tem zaproponowany w niniejszej pracy.

Tabela 1 Rezultaty porównania czasu sprowadzenia na kurs zadany przez regulator LQR oraz regulator

opisywany

Comparison of times of returning to the preset course by both LQR regulator and the described one r [rad/s] 0,0191 0,01 0,01 0,0001 0,0001 0,055 0,055 0,002 [rad] –  0,03  9  0,1 0,01 czas [s] LQR 262,1 223,4 175,6 153,3 270 355,7 202,8 143,2 regulator omawiany 179 139 39 47 187 166 114 4

Rys. 7. Odpowiedź na skokową zmianę kursu zadanego: regulatora LQR (linia przerywana), technik zaproponowanych w pracy (linia ciągła)

Fig. 7. Response to a step change of the preset course: LQR regulator (dashed line), described regulator (solid line)

(12)

Kolejne doświadczenie polegało na porównaniu dwóch trajektorii ruchu statku w przypadku skokowej zmiany kursu zadanego z 0 na 60. Jedną z nich otrzymano za pomocą regulatora LQR (na rysunku 7 linia przerywana), drugą zaś przy użyciu technik opisanych w tym artykule (na rysunku 7 linia ciągła). Ze względu na to, iż układ z regulatorem LQR jest dobrze wystrojony, w obydwu sytuacjach jakość sterowania jest wysoka (brak przeregulowań, oscylacji), jed-nak łatwo się przekonać (rys. 7), że w drugim przypadku statek szybciej „wcho-dzi” na kurs zadany (krótszy okres przejściowy).

Podsumowanie

Przeprowadzone symulacje wskazują zalety zaproponowanej metody, nie-mniej jednak należy liczyć się z faktem, że w sytuacji, gdy mielibyśmy do czy-nienia z rzeczywistym obiektem, a nie jego wyidealizowanym modelem (model W-O), należałoby uwzględnić w konstrukcji algorytmu dynamikę maszyny ste-rowej, jak również rozwiązać problem rejestracji potrzebnych danych w obec-ności zakłóceń oraz dla różnych warunków pływania.

Wydaje się, że w kontekście proponowanego podejścia możliwe jest rozsze-rzenie zestawu technik oraz zadań sterowania, które można tu rozpatrywać. W szczególności zaś „wzbogacenie” algorytmu o adaptację, jak również zasto-sowanie ich do układu prowadzącego statek wzdłuż zadanej trajektorii (także w kontekście systemów antykolizyjnych).

Literatura

1. De Wit C., Oppe J., Optimal Collision Avoidance in Unconfined Waters, Journal of the Institute of Navigation, Vol. 26, no.4 1979-80, s. 296 – 303. 2. Kaczorek T., Teoria sterowania, PWN, Warszawa 1981.

3. Lisowski J., Statek jako obiekt sterowania automatycznego, Wydawnictwo Morskie, Gdańsk 1981.

4. Piegat A., Modelowanie i sterowanie rozmyte, Exit, Warszawa 1999.

5. Simulink Dinamic System Simulation for MATLAB, Using SIMULINK version 5, The Math Works Inc.

6. Using MATLAB version 6.5 The Math Works Inc.

7. Zwierzewicz Z., On the Ship Trajectory Tracking LQG Controller Design, 3rd Marine Technology Conference, ODRA '99, 11–13 October, Szczecin 1999, s. 399 – 406.

8. Zwierzewicz Z., Borkowski P., Adaptacyjny system stabilizacji kursu statku. Zeszyty Naukowe Akademii Morskiej w Szczecinie, nr 2(74), Szczecin 2004,

(13)

9. Zwierzewicz Z., Kijewska M., Borkowski P., Sterowanie inteligentne – fuzja

nowoczesnej teorii sterowania oraz metod sztucznej inteligencji. VIII Sesja

Naukowa Informatyki w Szczecinie, 2003, s. 429 – 432.

Wpłynęło do redakcji w styczniu 2005 r.

Recenzenci

dr hab. inż. Adam Łozowicki, prof. PS prof. dr hab. inż. Serguei Guerman-Galkine

Adresy Autorów

mgr Piotr Borkowski

Politechnika Szczecińska Wydział Informatyki

Instytut Sztucznej Inteligencji i Metod Matematycznych ul. Żołnierska 49, 71-210 Szczecin

dr hab. Zenon Zwierzewicz, prof. nadzw. AM Akademia Morska w Szczecinie

Instytut Matematyki, Fizyki i Chemii ul. Wały Chrobrego 1-2, 70-500 Szczecin

Cytaty

Powiązane dokumenty

Działania władz publicznych należy uznać za racjonalne, bowiem podatek od dochodów osób fizycznych jest w Irlandii najbardziej wydajnym źródłem dochodów podatkowych i

Efektem były raporty o postępie Progress Raports dotyczące siedmiu pierwszych państw, z którymi Bruksela podpisała plany działań, w tym wobec Mołdawii, i konkluzje, że z

Zjawisko to występuje szczególnie ostro w dużych przedsiębiorstwach, w których płace zarządu są porównywalne, choć efekty pracy są różne 2 • Nie jest to cecha

Wyznaczone Êrednie wartoÊci si∏y zrywajàcej i wzgl´dnego spadku si∏y zrywajàcej – tkanina bawe∏niana napawana 4% roztworem dichlorophenu Tkanina nie poddana symulacji

65 i nast.]: ––1 miesiąc po okresie ekspozycji – wykonanie opcji, jeśli indeks ≥ 110% ceny wykonania jednak indeks uwzględnia tylko 3 miesiące okresu ekspozycji, ––4

Wnioski Przeprowadzone badania wykazały, że biojogurt otrzymany na bazie mleka koziego jest wartościowym produktem spożywczym, zawierającym pożądaną z punktu widzenia

W szczególności dotyczą one: – zmian metod planowania zatrudnienia, które uwzględniają rozwiązania wypracowane w dziedzinie zarządzania strategicznego, a szczególnie

Źródło: obliczenia własne na podstawie źródła jak do tabeli 1... Administracja publiczna, obrona