Agnieszka LAZAROWSKA Józef LISOWSKI Akademia Morska w Gdyni e-mail: aglaz@vega.am.gdynia.pl jlis@am.gdynia.pl Porównanie algorytmu mrówkowego oraz programowania dynamicznego do wyznaczania bezpiecznej trajektorii statku Streszczenie W artykule przedstawiono porównanie dwóch metod stosowanych do rozwiązywania problemu unikania kolizji statków: podejście oparte na algorytmie mrówkowym, zwanym również Optymalizacją Kolonią Mrówek (ang. Ant Colony Optimisation - ACO) oraz rozwiązanie wykorzystujące metodę programowania dynamicznego (ang. Dynamic Programming - DP). Metody te sklasyfikowane są do dwóch różnych grup: ACO należy do grupy algorytmów przybliżonych (ang. approximate algorithms), znanych również jako podejścia heurystyczne, natomiast DP należy do metod deterministycznych, nazywanych również algorytmami dokładnymi (ang. exact algorithms). W pracy zawarto syntetyczny opis obu metod oraz porównanie tych dwóch podejść, w szczególności porównanie wyników uzyskanych dla rzeczywistych sytuacjach nawigacyjnych zarejestrowanych na Morzu Bałtyckim. Słowa kluczowe: algorytm mrówkowy, automatyka, bezpieczne sterowanie statkiem, nawigacja morska, programowanie dynamiczne, symulacja komputerowa, unikanie kolizji na morzu. Bezpieczne sterowanie statkiem wymaga ciągłego analizowania dużej ilości informacji. Błędna ocena aktualnej sytuacji nawigacyjnej może prowadzić do sytuacji kolizyjnej. Według raportu Europejskiej Agencji do spraw Bezpieczeństwa na Morzu (ang. European Maritime Safety Agency - EMSA), opublikowanego w 2 roku [4], w latach 28-2 każdego roku ponad 5 statków brało udział w sytuacji kolizyjnej mającej miejsce na wodach Unii Europejskiej. Zapewnienie bezpiecznej żeglugi przy jednoczesnej minimalizacji kosztów eksploatacyjnych statku jest więc nadal bardzo istotną kwestią w transporcie morskim. W skład elektronawigacyjnego układu bezpiecznego sterowania statkiem wchodzą urządzenia i systemy elektronawigacyjne takie jak log, żyrokompas, GPS, radar z urządzeniem do automatycznego prowadzenia nakresów radarowych (ang. Automatic Radar Plotting Aid - ARPA), System Automatycznej Identyfikacji statków (ang. Automatic Identification System - AIS), system zobrazowania elektronicznej mapy i informacji nawigacyjnej (ang. Electronic Chart Display and Information System ECDIS) oraz autopilot. Nowoczesne urządzenia ARPA dają możliwość ręcznego i/lub automatycznego śledzenie do obiektów wykrytych za pomocą radaru. Urządzenie ARPA umożliwia symulację planowanego przez nawigatora manewru (ang. trial manoeuvre), ale nie wyznacza w sposób automatyczny bezpiecznej zmiany kursu i/lub prędkości statku. Rozwój nowoczesnych metod inteligencji obliczeniowej umożliwia opracowanie przy ich wykorzystaniu elektronawigacyjnego układu
bezpiecznego sterowania statkiem nie tylko przedstawiającego informacje i sprawdzającego skutki planowanego manewru, ale również proponującego rozwiązania. Opracowanie urządzenia eliminującego subiektywność człowieka przy podejmowaniu decyzji i zastosowanie takiego układu na statku przyczyni się do zwiększenia bezpieczeństwa żeglugi oraz efektywności transportu morskiego poprzez uwzględnienie kryterium optymalności w postaci najmniejszych strat drogi na wymijanie spotkanych statków. MODEL PROCESU BEZPIECZNEGO STEROWANIA STATKIEM Zadaniem elektronawigacyjnego układu bezpiecznego sterowania statkiem jest wyznaczanie bezpiecznej zmiany kursu i/lub prędkości statku albo sekwencji bezpiecznych zmian kursu i/lub prędkości statku, czyli bezpiecznej trajektorii statku. Cel ten realizowany jest za pomocą odpowiedniego algorytmu sterowania. Dane wejściowe algorytmu stanowią parametry opisujące aktualny stan procesu, do których należą: kurs i prędkość statku własnego, kurs i prędkość j-tego spotkanego obiektu, namiar na j-ty obiekt, odległość j-tego obiektu od statku własnego, dane dotyczące statycznych przeszkód nawigacyjnych (lądy, mielizny). Informacje te są wyznaczane przy użyciu urządzeń wchodzących w skład elektronawigacyjnego układu bezpiecznego sterowania statkiem. Pobieranie danych nawigacyjnych realizowane jest przy wykorzystaniu transmisji szeregowej asynchronicznej. Szczegóły realizacji takiej transmisji oraz algorytm służący do pobieranie danych nawigacyjnych został opisany w pracy [6]. Schemat układu bezpiecznego sterowania statkiem, opracowany na podstawie pracy [5], został przedstawiony na rys.. wiatr, falowanie, prądy morskie AIS GPS ECHOSONDA ECDIS D j N j V j Ψ j Algorytm wyznaczania bezpiecznej trajektorii Ψ b V b + + - - AUTOPILOT REGULATOR PREDKOŚCI OBROTOWEJ STATEK MASZYNA STEROWA SILNKI GŁÓWNY Ψ V sytuacja na morzu RADAR ARPA ŻYROKOMPAS LOG Rys.. Schemat blokowy układu bezpiecznego sterowania statkiem Bezpieczna trajektoria jest to trajektoria, która na żadnym z etapów poruszania się po niej statku własnego nie przekracza ograniczeń statycznych na przykład w postaci lądu czy mielizny oraz ograniczeń dynamicznych, czyli innych poruszających się w otoczeniu obiektów. Uwzględnienie ograniczeń dynamicznych może być realizowane poprzez wyznaczanie takich sterowań,
aby najmniejsza odległość zbliżenia Dj min była większa od określonej przez operatora odległości bezpiecznej Db: D j min = min (D j (t)) >D b Ograniczenia dynamiczne można też uwzględniać za pomocą domeny, czyli zgodnie z definicją wprowadzoną w pracy [5], obszaru wokół statku, który nawigator chce utrzymać wolnym od innych statków i obiektów stałych. Pod względem warunków końcowych zadania bezpiecznego sterowania statkiem dzieli się na takie, w których celem jest: uniknięcie kolizji i powrót do zadanego kursu ΨZ dla wód otwartych, uniknięcie kolizji i powrót do zadanego punktu końcowego trajektorii PZ(xZ,yZ) dla wód ograniczonych. W procesie wyznaczania bezpiecznej trajektorii statku oprócz informacji o ograniczeniach statycznych i dynamicznych należy uwzględniać: Międzynarodowe Przepisy o Zapobieganiu Zderzeniom na Morzu (ang. International Regulations for Preventing Collisions at Sea - COLREGs), własności dynamiczne statku własnego. ALGORYTM PROGRAMOWANIA DYNAMICZNEGO WYZNACZANIA BEZPIECZNEJ TRAJEKTORII STATKU Dynamika własnego statku jest uwzględniana w postaci następujących dyskretnych równań stanu: X k+ =X k +V k t k+ sin(ψ k ) Y k+ =Y k +V k t k+ cos(ψ k ) Ψ k+ =Ψ k +Ψ k t k+ Ψ k+=ψ k + -Ψ T k -a Ψ k Ψ k +a 2 θ k ) t k+ V k+ =V k +V k t k+ V k+=v k+ [-(T T 2 T 2 +T ) V k -V k +a n k ] t k+ t k+ =t k + t k+ Gdzie: (X, Y) - pozycja statku, V - prędkość statku, V - przyspieszenie statku, Ψ - kurs statku,ψ - prędkość kątowa zwrotu statku, θ - kąt wychylenia płetwy steru, n - prędkość obrotowa śruby napędowej, T, T2, T - stałe czasowe statku jako obiektu sterowania, a, a2, a - współczynniki charakterystyki statycznej sterowania. Ograniczenia wielkości sterujących wynikające z ograniczeń wielkości charakteryzujących proces są określone następującymi zależnościami: θ, n, Ψ Ψ θ max n max max, V V max, V V max Ograniczenia nawigacyjne uwzględniane są w postaci domen spotkanych statków o różnych kształtach.
Wyznaczanie bezpiecznej trajektorii statku polega na zastosowaniu zasady optymalności Bellmana. Drogi statku dzielona jest na k etapów. Następnie wyznaczane jest sterowanie na każdym z etapów w postaci zmiany kąta wychylenia płetwy steru i prędkości obrotowej śruby napędowej. Uwzględnienie ograniczeń polega na sprawdzeniu, czy zmienne stanu nie przekroczyły ograniczeń w rozpatrywanym węźle. Jeśli ograniczenia zostały przekroczone, dany węzeł zostaje usunięty []. Wskaźnik jakości sterowania jest określony jako najmniejsze możliwe straty drogi statku własnego na bezpieczne wymijanie spotkanych obiektów, co przy założeniu stałej prędkości statku własnego, stanowi sterowanie czasooptymalne. Wyznaczana jest zatem trajektoria o najkrótszym czasie przejścia. t k I= Vdt V dt min t ALGORYTM MRÓWKOWY WYZNACZANIA BEZPIECZNEJ TRAJEKTORII STATKU W algorytmie zastosowano kinematyczny model ruchu statku własnego i spotkanych statków, gdzie zmienne stanu i wielkości sterujące są zdefiniowane w następujący sposób: x= X, x2= Y, x2j+= Xj, x2j+2= Yj, u = Ψ, gdzie j =,2,..., m - ilość spotkanych ruchomych obiektów. Kinematyczny model ruchu statku własnego i spotkanych obiektów jest opisany następującymi równaniami: t k t x =V sin u(t)=v sin Ψ(t) x 2=V cos u(t) =V cos Ψ(t) x 2 j+=v j sin Ψ j (t) x 2 j+2=v j cos Ψ j (t) Własności dynamiczne statku własnego uwzględniane są za pomocą czasu manewru. Obliczenia bezpiecznej trajektorii statku własnego przy wykorzystaniu algorytmu mrówkowego składają się z: inicjalizacji danych, konstruowania rozwiązań, aktualizowania śladów feromonowych [2,,6]. Konstruowanie rozwiązań przez tzw. sztuczne mrówki (ang. artificial ants) polega na wyborze na każdym etapie sterowania kolejnego punktu zwrotu statku własnego spośród możliwych punktów zwrotu na podstawie prawdopodobieństwa opisanego zależnością: n P wpij (t)= [τ wpj (t)] α β [η wpij ] [τ wpl (t)] α [η wpil ] β l wp n i Gdy wszystkie mrówki w danej iteracji algorytmu zakończą konstruowanie swojej trajektorii, realizowane jest aktualizowanie śladu feromonowego, które składa się z:
wyparowywania śladu feromonowego (ang. pheromone evaporation), czyli zmniejszenia ilości śladu feromonowego we wszystkich możliwych punktach zwrotu o pewną stałą wartość ρ, osadzania śladu feromonowego (ang. pheromone deposit), podczas którego pewna wartość śladu feromonowego Δτ dodawana jest do wszystkich punktów zwrotu należących do trajektorii wyznaczonych przez mrówki w danej iteracji: τ wpj (t+)=(-ρ) τ wpj (t)+ n max n= τ n wpj (t) Rozwiązaniem jest trajektoria nie przekraczająca statycznych i dynamicznych ograniczeń o najmniejszej długości: N- I= (x i+ -x i ) 2 +(y i+ -y i ) 2 i= min PORÓWNANIE ALGORYTMÓW WYZNACZANIA BEZPIECZNEJ TRAJEKTORII STATKU Analizę porównawczą algorytmów wyznaczania bezpiecznej trajektorii statku ACO i DP przeprowadzono na podstawie kryteriów oceny wymienionych w tab.. Tabela. Porównanie algorytmu mrówkowego i programowania dynamicznego wyznaczania bezpiecznej trajektorii statku Algorytm Kryterium oceny ACO DP źródło danych wejściowych ARPA i AIS ARPA i AIS COLREG uwzględniane uwzględniane model procesu kinematyczny oraz czas manewru dynamiczny rodzaj manewru zmiana kursu zmiana kursu lub prędkości ograniczenia dynamiczne czas obliczeń domena (różne kształty) kilka kilkanaście sekund domena (różne kształty) kilka sekund Obie metody zostały zaimplementowane w języku programowania środowiska MATLAB. Badania symulacyjne przeprowadzono dla danych wejściowych opisujących rzeczywiste sytuacje nawigacyjne zarejestrowane na obszarze Morza Bałtyckiego. Na rys. 2-7 przedstawiono sytuacje mijania się własnego statku z dwoma, trzema i czterema spotkanymi statkami, zaś w tab. 2-4 dane nawigacyjne tych sytuacji.
Rys. 2. Graficzna prezentacja sytuacji nawigacyjnej zarejestrowanej na Morzu Bałtyckim 2 spotkane statki Tabela 2. Dane nawigacyjne sytuacji spotkania z 2 spotkanymi statkami na akwenie Morza Bałtyckiego Statek Kurs [ o ] Prędkość [w] Namiar [ o ] Odległość [Mm] 9, 252, 28 4, 2 252,2 49 2,7 Y [Mm] 9 ACO DP 8 7 6 5 4 2 - -6-5 -4 - -2-2 4 5 X[Mm] Rys.. Graficzna prezentacja wyznaczonych przez algorytm ACO i DP trajektorii dla sytuacji nawigacyjnej zarejestrowanej na Morzu Bałtyckim 2 spotkane statki
Y [Mm] 9 8 7 6 5 4 2 2 wp - -6-5 -4 - -2-2 4 5 X[Mm] Rys. 4. Graficzna prezentacja sytuacji nawigacyjnej zarejestrowanej na Morzu Północnym spotkane statki Tabela. Dane nawigacyjne sytuacji spotkania z spotkanymi statkami na akwenie Morza Północnego Statek Kurs [ o ] Prędkość [w] Namiar [ o ] Odległość [Mm] 247 4,4 22 7, 284,2 2 27 7,7 272,98 22 8,2 25 5,77 Y [Mm] 9 ACO DP 8 7 6 5 4 2 - -6-5 -4 - -2-2 4 5 X [Mm] Rys. 5. Graficzna prezentacja wyznaczonych przez algorytm ACO i DP trajektorii dla sytuacji nawigacyjnej zarejestrowanej na Morzu Północnym spotkane statki
Rys. 6. Graficzna prezentacja sytuacji nawigacyjnej zarejestrowanej na Morzu Bałtyckim 4 spotkane statki Tabela 4. Dane nawigacyjne sytuacji spotkania z 4 spotkanymi statkami na akwenie Morza Bałtyckiego Statek Kurs [ o ] Prędkość [w] Namiar [ o ] Odległość [Mm] 4 5, 69 2, 45 4, 2 25,2 4 7,8 2 5,7 46,8 4 25 2,2 46 2,5 Y [Mm] 9 ACO DP 8 7 6 5 4 2 - -6-5 -4 - -2-2 4 5 X[Mm] Rys. 7. Graficzna prezentacja wyznaczonych przez algorytm ACO i DP trajektorii dla sytuacji nawigacyjnej zarejestrowanej na Morzu Bałtyckim 4 spotkane statki
PODSUMOWANIE Z analizy porównawczej algorytmów wynikają następujące wnioski końcowe: rozwiązania otrzymane z wykorzystaniem obu algorytmów spełniają przepisy prawa drogi morskiej COLREG, obie metody zakładają ruch jednostajny prostoliniowy spotkanych statków, w przypadku zarejestrowania zmiany strategii spotkanych obiektów, trajektoria statku własnego jest wyznaczana ponownie na podstawie nowych danych określających aktualną sytuację nawigacyjną, co nie stanowi ograniczenia, ponieważ oba algorytmu umożliwiają wielokrotne wyznaczanie trajektorii statku własnego w bardzo krótkim czasie, w obu algorytmach spotkane statki modelowane są w postaci sześciokątnych domen, ale możliwe jest też zastosowanie w obu rozwiązaniach innego kształtu domeny (okrąg, elipsa, parabola), rozwiązanie algorytmu DP stanowi bezpieczną optymalną trajektorią składającą się ze zmian kursu lub prędkości statku własnego, rozwiązanie uzyskiwane przy zastosowaniu algorytmu ACO składa się tylko ze zmian kursu, rozwiązanie uzyskiwane przy użyciu algorytmu DP charakteryzuje się większymi zmianami kursu, które są wyznaczane na etapie sterowania, na którym zmienne stanu przekraczają ograniczenia, w algorytmie ACO manewr rozpoczyna się już na początku procesu sterowania, algorytm DP osiąga krótszy czas obliczeń, które nie przekracza kilku sekund, podczas gdy w algorytmie ACO zakres czasu obliczeń wynosi od kilku do kilkunastu sekund, oba algorytmy mogą być stosowane w rozszerzonej wersji systemu antykolizyjnego ARPA do automatycznego obliczania bezpiecznej optymalnej trajektorii statku w sytuacji kolizyjnej na morzu. LITERATURA [] Bellman, R.E.: Dynamic programming, Princeton University Press, New York, 957. [2] Bonabeau, E., Dorigo, M., Theraulaz, G.: Swarm Intelligence: From Natural to Artificial Systems, Oxford University Press, Inc., 999. [] Dorigo, M., Stützle, T.: Ant Colony Optimization, The MIT Press, 24. [4] European Maritime Safety Agency: Maritime Accident Review 2, http://www.emsa.europa.eu/. [5] Goodwin, E.: A Statistical Study of Ship Domains, Journal of Navigation, Vol. 28, Issue, p. 28 44, 975. [6] Solnon, C.: Ant Colony Optimization and Constraint Programming, ISTE Ltd and John Wiley and Sons, Inc., 2. COMPARISON OF THE ANT ALGORITHM AND DYNAMIC PROGRAMMING TO DETERMINE THE SHIP'S SAFE TRAJECTORY Summary The article presents a comparison of two methods used to solve the problem of ships collision avoidance: an approach based on the ant algorithm, also known as Ant Colony Optimization ACO and a solution using dynamic programming method - DP. These methods are classified
into two different groups: ACO belongs to the group of approximate algorithms, also known as heuristics, and DP is a deterministic method, called the exact algorithms. This paper contains a concise description of both methods and a comparison of the two approaches, in particular a comparison of the results obtained for real navigational situations registered in the Baltic Sea. Key words: ant algorithm, marine navigation, safe ship control, control engineering, dynamic programming, computer simulation, collision avoidance at sea.