Collision avoidance for multiple autonomous surface vehicles considering information exchange – A multi-agent deep reinforcement learning approach
Master thesis
Date
2022Metadata
Show full item recordCollections
- Institutt for marin teknikk [3499]
Abstract
Autonome overflatefartøy har vært et tema som har vært under intense studier på det maritime feltet, fordi autonomi gir et godt potensiale for å redusere kostnader, øke sikkerhet, pålitelighet, effektivitet og bærekraft. De siste årene, med fremskritt innen maskinlæring, spesielt dyp læring, har det blitt oppnådd stor suksess i noen tidligere antatt umulige problemer. Det store løftet fra disse fremskrittene utløste en bølge av dype forsterkende læringsapplikasjoner. I denne oppgaven brukes et generelt rammeverk som bruker en avansert dyp forsterkningslæringsalgoritme kalt twin delayed deep deterministic policy gradient (TD3).
Hovedoppgaven til dette prosjektet er å designe et stiplanleggersystem, som kan generere optimale kollisjonsfrie stier i scenarier med flere skip. For å oppnå dette målet bygges et skalerbart miljø, og deretter modifiseres TD3-algoritmen for multiagentkravet. I henhold til definisjonen av forskjellige scenarier, blir fartøyer som bruker denne modifiserte algoritmen lagt til miljøet slik at de kan utforske, lære og ta avgjørelser selv. Samspillet mellom agenten og miljøet må oppnås gjennom noen belønningsfunksjoner, som fokuserer på noen kollisjonsunngående metoder eller regler som Closest Point of approach (CPA) og Convention on the International Regulations for Preventing Collisions at Sea (COLREGs) . I tillegg er det gitt en normaliseringsmetode for å kombinere både posisjoner og kurs på skip som tilstander til denne multiagent TD3 og forbedre ytelsen til denne algoritmen.
Denne TD3-algoritmen og flerskipsmiljøet er implementert av programmeringsspråket Python. I tillegg ble PyTorch-biblioteket brukt for å bygge nettverk og utføre automatisk differensiering, og Numpy-biblioteket for å utføre matematikkfunksjoner. På grunn av egenskapene til PyTorch, må beregningen av handlingsverdifunksjonen $Q$ endres. Denne modifikasjonen er gitt i vedlegget, sammen med den detaljerte introduksjonen til TD3. Noen andre modifikasjoner forårsaket av egenskapene til Python, som valg av koordinatsystemer, er forklart og implementert i denne oppgaven.
Dette designet systemet og den modifiserte algoritmen er verifisert på et sett med simulerte scenarier. Resultatene fra enkeltskipsscenarioet brukes for å bevise bruken av den nevnte normaliseringsmetoden, deretter viser resultatene fra dobbeltskipsscenarier at skip på grunn av belønningsfunksjoner kan iverksette handlinger som er i samsvar med COLREGs. Til slutt vil denne stiplanleggeren testes i flerskipsscenarier der antallet skip er mer enn to. Resultater fra disse scenariene viser at agenter kan lære seg det komplekse miljøet ved å prøve og feile, og noen kollisjonsfrie baner kan også genereres.
Testene ovenfor illustrerer potensialet denne multi-agent TD3-algoritmen har for å løse kompliserte oppgaver. Baneplanleggeren basert på denne algoritmen, som en del av veiledningsmodulen, kan generere noen optimale stier uten kollisjon i et komplekst miljø, og disse resultatene kan brukes som referanser for kontrollmodulen. Denne planleggeren kan videreutvikles og testes ved å kommunisere med kontrollmodulen, som inkluderer den sanne prosessanleggsmodellen. Autonomous surface vessels have been a subject undergoing intense study in the maritime field, because autonomy provides good potential regarding reducing cost, increasing safety, reliability, efficiency and sustainability. In recent years, with the advancement of machine learning, especially deep learning, great success has been achieved in some previously thought impossible problems. The great promise from these advances sparked a wave of deep reinforcement learning applications. In this thesis, a general framework using an advanced deep reinforcement learning algorithm named twin delayed deep deterministic policy gradient(TD3) is utilized.
The main task of this project is to design a path planner system, which can generate optimal collision-free paths in multi-ship scenarios. To achieve this goal, a scalable environment is built, and then, the TD3 algorithm is modified for the multi-agent requirement. Thus, according to the definition of different scenarios, vessels using this modified algorithm are added to the environment so that they can explore, learn and make decisions themselves. The interaction between the agent and the environment needs to be achieved through some reward functions, which focus on some collision-avoiding methods or rules like the Closest point of approach(CPA) and Convention on the International Regulations for Preventing Collisions at Sea (COLREGs). In addition, a normalization method is provided for combining both positions and headings of ships as states of this multi-agent TD3 and improving this algorithm’s performance.
This TD3 algorithm and the multi-ship environment are implemented by the Python programming language. Additionally the PyTorch library for building networks and performing automatic differentiation, and the Numpy library for performing mathematics functions were used. Owing to the characteristics of PyTorch, the calculation of action-value function Q needs to modify. This modification is given in the appendix, along with the detailed introduction to TD3. Some other modifications caused by the characteristics of Python, like the choice of coordinate systems, are explained and implemented in this thesis.
This designed system and the modified algorithm are verified on a set of simulated scenarios. The results from the single ship scenario are used to prove the usage of the mentioned normalization method, then the results from double ship scenarios show that owing to reward functions, ships could take actions which comply with COLREGs. Finally, this path planner will be tested in multi-ship scenarios where the number of ships is more than two. Results from these scenarios show that agents could learn the complex environment by trial and error and some collision-free trajectories could be generated as well.
The above tests illustrate the potential this multi-agent TD3 algorithm has in solving complicated tasks. The path planner based on this algorithm, as a part of the guidance module, could generate some optimal paths without collision in a complex environment and these results could be used as references for the control module. This planner can be further developed and tested by communicating with the control module, which includes the true process plant model.