Vis enkel innførsel

dc.contributor.advisorNguyen, Dong Trong
dc.contributor.advisorHamre, Geir
dc.contributor.authorØvereng, Simen Sem
dc.date.accessioned2021-09-21T16:34:23Z
dc.date.available2021-09-21T16:34:23Z
dc.date.issued2020
dc.identifierno.ntnu:inspera:54166542:34098339
dc.identifier.urihttps://hdl.handle.net/11250/2780152
dc.descriptionFull text available on 2040-02-01
dc.description.abstractKlassiske metoder for Dynamisk Posisjonering (DP) av overflatefartøy består ofte av en kombinasjon av en bevegelseskontroller som regner ut ønskede krefter og moment på fartøyet, etterfulgt av en algoritme for kontrollallokering som oversetter disse til individuelle kommandoer til hver aktuator. Dagens metoder for kontrollallokering baserer seg ofte enten på utregningen av en pseudoinvers, eller ulike formuleringer av en objektivfunksjon som skal optimeres. Avhengig av formulering så kan optimeringsproblemene ha flere løsninger som tilfredsstiller de ønskede kreftene/momentene siden fartøyet er overaktuert, og flere objektivfunksjoner og/eller begrensninger kan legges til for å velge mellom disse løsningene. Dette kan skape utfordringer på grunn av at de fartøyene som utfører DP kan ha et bredt spekter av oppsett av ulike typer aktuatorer, som for eksempel roterbare propeller, propeller med eller uten justerbar stigning, tunnellpropellere, og propeller med ror bak, noe som kan gjøre optimeringsprogrammene tidkrevende å løse. Denne masteroppgaven tar for seg å utforske hvordan nyere tids metoder innen maskinlæring kan brukes for å trene opp en modell i simulering for utvikling av et kontrollsystem som er både nøyaktig og energieffektivt, og som unngår tunge beregninger i sanntid ombord i fartøyet under oppgaver som krever DP. Oppgaven ble skrevet i samarbeid med DNVGL, noe som ga tilgang på rådgivning, en simulator med en digital tvilling av en skipsmodell, samt den ekte skipsmodellen for fysisk testing av ulike algoritmer. Arbeidet i oppgaven bygger på en prosjektoppgave fra 2019. I den ble det konkludert at det å bruke Veiledet Læring til å løse kontrollallokering fungerte tilstrekkelig med tanke på avviket mellom ønskede og kommanderte krefter/moment. Det var derimot vanskelig å generere gode datasett som formulerte begrensninger på aktuatorene, som for eksempel å ivareta maksimal kraftproduksjon og rotasjonshastigheten av roterbare propeller. I denne oppgaven ble derimot Dyp Forsterkende Læring (DFL) brukt, ikke kun til kontrollallokering, men også som erstatning for bevegelseskontrolleren, noe som ble gjort gjennom at algoritmen trente seg selv i simulatoren ved å forsøke å maksimere gevinst over tid med hensyn til en ukjent belønningsfunksjon. Det betyr at DFL-modellen oversatte ønsket posisjon og retning på skipet direkte til individuelle aktuatorkommandoer. De nevrale nettverkene som representerte DFL-modellen ble trent på den digitale tvillingen av ReVolt ved å bruke en algoritme kalt Proximal Policy Optimization (PPO). Hele treningsregimet ble utviklet, og en (til forfatterens kjennskap) ny type belønningsfunksjon ble brukt for å belønne små posisjonsavvik: en multivariabel gauss-funksjon. Det opptrente kontrollsystemet ble testet mot klassiske metoder metoder. Det besto av en eksisterende implementasjon av en PID-regulator (Proporsjonal Integrasjon Derivasjon) med foroverkopling for bevegelseskontroll, samt to klassiske metoder for kontrollallokering. Den første algoritmen var en metode levert av DNVGL som baserte seg på å finne en pseudoinvers, mens den andre baserte seg på optimering av en kvadratisk objektivfunksjon som ble implementert av forfatteren. Alle metodene ble først testet mot hverandre i simulatoren for å teste nøyaktighet, robusthet og energibruk. I tillegg ble det utført en test der DFL-modellen ble testet med krefter fra vind, bølger og strøm fra mange ulike retninger for å evaluere nøyaktighet og robusthet under vanskelige forhold. Til slutt ble DFL-modellen, som kun ble trent i simulator, testet i en sjøprøve om bord den fysiske skipsmodellen av ReVolt for å evaluere ytelse fra simulator til virkelighet. Simuleringsresultatene viste at DFL-modellen var robust mot endringer i ønsket posisjon og kurs som var større enn det den hadde blitt trent med, og oppnådde større nøyaktighet i følging av referansesignalet enn de klassiske metodene. Testscenarioene uten ytre belastninger viste at DFL-modellen var mer nøyaktig i minimering av avvik fra referansesignalet, hadde lavere energibruk, samt lavere slitasje av aktuatorene sammenlignet med de klassiske metodene. Etter å aktivere ytre belastninger i form av en konstant havstrøm ble resultatene tilnærmet lik nøyaktighet i holding av posisjon og kurs, men DFL-modellen oppnådde lavere energiforbruk og mindre slitasje. Simuleringstester av posisjonsholding når både vind, bølger og havstrømmer var aktivert viste at DFL-modellen holdt referanseposisjon og -kurs med tilstrekkelig nøyaktighet, selv om modellen kun hadde blitt trent i stille vann uten ytre belastninger. Sjøprøven viste at DFL-modellen ga god nøyaktighet posisjonsmessig sammenlignet med en tilsvarende test i simulator. På grunn av problematikk i tilknytning til maskinvaren til baugpropellen var bevegelsene på skipsmodellen oscillerende, hvilket resulterte i høyere energiforbruk sammenlignet med i simulering ettersom modellen måtte kompensere for maskinvareproblemet. Oppgaven konkluderte med at potensialet til DFL til kontrolloppgaver med kontinuerlige kontrollsignal som krever nøyaktig posisjonskontroll samt lavt energiforbruk er realiserbart, både i form av god ytelse i alle tester i simulering, samt i form av samsvar mellom simulering og fysiske tester. Anbefalt videre arbeid ble delt i to grener. Den første tok sikte på å forbedre ytelsen i fysiske teseter ved å ta i bruk den opptrente modellen fra simulator, og gjennomføre overførende læring slik at algoritmen får mulighet til å lære seg detaljer omkring maskinvaren på den virkelige modellen som ikke har blitt modellert i den digitale tvillingen. Den andre grenen omhandlet å ta i bruk nyere metoder for å sørge for stabilitet og sikkerhet underveis i treningen av kontrollalgoritmer for å utvikle et mål på den verst mulige ytelsen av DFL-systemer.
dc.description.abstractClassic methods for Dynamic Positioning (DP) of surface vessels often consists of first calculating desired forces and moments to exert on the vessel by using a motion controller, followed by a thrust allocation scheme for translating these forces and moments into individual thruster commands. Common thrust allocation methods usually performs this translation by calculating a pseudoinverse matrix, or by using various formulations of an objective function for an optimization problem. In optimization, several solutions might exist that satisfies the desired forces/moments due to the vessels being overactuated, and additional objectives and/or constraints are usually added for finding a final solution at each time step. This can be challenging in terms of computationally demanding solvers due to the potentially complex configuration of actuators, including azimuth thrusters, variable pitch propellers, tunnel thrusters, rudders etc. This thesis was set to investigate how advances in machine learning could be used to train a machine learning model in simulation for the development a control scheme which was both positionally accurate and energy efficient, while avoiding heavy computations on board during DP operations. The thesis was written in collaboration with DNVGL, which gave access to technical advisory, in addition to both a simulation platform and a physical ship model on which testing of algorithms could be performed. This thesis built on work from a project thesis from 2019. There it was found that using supervised learning for thrust allocation could give adequate results in terms of accurate translation of desired forces and moments. It was however found that it was difficult to formulate the the constraints and boundaries on the azimuth thrusters' force production and angular rates using supervised learning. In this thesis, another type of machine learning called Deep Reinforcement Learning (DRL) was used. It replaced both the motion controller and the thrust allocation, translating a desired vessel pose directly into individual thruster commands. This was obtained by by training the DRL model in a simulator while attempting to maximize return over time from a reward function. The neural networks which were used for representing the DRL model were trained using the digital twin of the ReVolt ship model, and the Proximal Policy Optimization (PPO) algorithm. The entire training regimen for the DRL method was created, and a (to the author's knowledge) novel reward function was used for positional accuracy, being a multivariate, Gaussian reward function. The DRL method was tested against classic methods, using a Proportional-Integral-Derivative (PID) motion controller with feedforward, and two different thrust allocation methods. The first thrust allocation method was a proprietary method given by DNVGL based on calculating a pseudoinverse, while the other was a method based on Quadratic Programming (QP), implemented by the author. All methods were tested against each other in various test scenarios in the simulator for evaluation of accuracy, robustness and energy efficiency. In addition, a sea trial was performed on the physical ship model of ReVolt to evaluate the difference between performance in simulator and in real life. The simulation results showed that the DRL method was robust to changes in the desired pose which was larger than what it had been trained on while performing DP, and performed better positional accuracy than the classic methods while doing so. Test scenarios with no environmental loads enabled showed that the DRL method was both better in terms of positional accuracy, energy usage, and wear and tear than the classic methods. After enabling a constant ocean current, the resulting positional accuracy was similar among the methods, while the energy efficiency was lowest when using the DRL method. A station-keeping test with large wind, wave and current loads showed that the DRL method was able to maintain acceptable positional accuracy while station-keeping in a larger sea state than what the method had been trained on. In the sea trial, the DRL method's positional accuracy was found good, having comparable performance to the similar test in simulation. Due to hardware issues related to the ship model's bow propeller, the vessel movement was more oscillatory, resulting in a substantial increase of the energy usage when compared to the simulation since the method had to compensate for the hardware issue. The thesis concluded with that DRL's potential for solving tasks with continuous control signals which requires accuracy and energy efficiency is realizable both in terms of good performance in the simulated tests, as well as by performing well when transitioning from simulations to real life. Recommended future work was divided into two branches. The first aimed at improving real life performance by retraining the DRL model trained in simulation by using transfer learning on board the real ship model in order to learn details of the hardware which was not modeled in the digital twin. The second was to consider newer methods within the area of providing safety and stability guarantees during training of control policies in order to develop a notion of the worst case performance of DRL systems.
dc.language
dc.publisherNTNU
dc.titleDynamic Positioning using Deep Reinforcement Learning
dc.typeMaster thesis


Tilhørende fil(er)

FilerStørrelseFormatVis

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel