Autonomous ship maneuvering with guaranteed safety
Master thesis
Date
2021Metadata
Show full item recordCollections
- Institutt for marin teknikk [3437]
Abstract
Autonome skip følger vanligvis en nominell bane under en reise. Denne banen planlegges gjerne før reisen begynner. Kjente, statiske hindringer kan unngås gjennom planleggingen av den nominelle banen, i motsetning til ukjente eller dynamiske hindringer. Slike hindringer kan derfor tvinge skipet til å divergere fra den nominelle banen, og typisk returnere til banen etter at hindringen er passert. Å returnere til banen er derimot ikke nødvendigvis optimalt. Å heller replanlegge banen kan hindre flere unnamanøvre hvis det for eksempel er mange hindringer i området. Ved å implementere en todimensjonal banevariabel med en langsgående banevariabel og en normal banevariabel, så kan den ønskede skipsposisjonen tolkes som et virtuelt skip. Ved å benytte kontroll barriere funksjoner for å begrense utviklingen til banevariabelen så kan banen det virtuelle skipet tenger ut gjøres trygg. For at banen skal være trygg for det autonome skipet så må banen i tillegg være mulig for skipet å følge. Derfor må banens gjennomførbarhet i forhold til skipets evne til å følge den undersøkes. En sammenligning av diverse metoder er verdifullt slik at man kan bestemme hvilke metoder som resulterer i gjennførbare baner, og eventuelt til hvilken grad.
Et system bestående av et virtuelt skip på guidance nivå sammen med en line-of-sight guidance lov ble designet. Tre virtuelle skipsmodeller fra literaturen ble også implementert. De var en partikkelmodell, en enhjulssykkelmodell og en potensialfunksjon. De virtuelle skipenes sikkerhetskritiske kontrollere benyttet seg av barriere funksjoner, referert til som kontroll barriere funksjoner (CBFer), samt kvadratisk programmering for å finne de trygge kontrollinputene. Simuleringene ble gjennomført i MATLAB, og derfor ble den innebygde funksjonen "quadprog" benyttet til å gjennomføre kvadratisk programmering. Forskjellige CBFer fra literaturen ble implementert, avhengig av den virtuelle skipsmodellen. Disse var både hybride of ikke-hybride CBFer. Line-of-sight guidance produserte en kursvinkel referanse for det autonome skipet basert på "cross-track" error til posisjonen til det virtuelle skipet. Det autonome skipet skulle gjennomføre banesporing. En manøvreringsmodell for et ideelt skip ble derfor implementert. Kontrolsystemet besto av en backsteppingkontroller. Kontrollallokering var utenfor omfanget av denne oppgaven.
Resultatene viste en variende grad av gjennomførbarhet for banene. Det mest lovende resultatet ble produsert av det virtuelle skipet modellert som en enhjulssykkelmodell med en ikke-hybrid CBF og en modifisert hindring i den sikkerthetskristiske kontrolleren. Denne konklusjonen er i stor grad basert på sporingsavikene i langsgående retning og normalt på banen, samt størrelse på og glatthet i kontrollinputene til det autonome skipet. Enhjulssykkelmodellen med en hybrid CBF utførte banesporing relativt bra, men med et par skifter frem og tilbake mellom CBFene under unnamanøveren som forårsaket uønskede transienter i systemet. Partikkelmodellen som benyttet seg av lineære hastigheter som kontrollinput, resulterte i en bane med skarpe svinger som skipet til en viss grad hadde vanskeligheter med å spore. Dette resulterte i sub-optimal oppførsel som ikke nødvendigvis er realistisk selv om skipet tilsynelatende klarte å spore det virtuelle skipet under simuleringene. Potensialfunksjonen krevde urealistisk høye krefter og moment for å gjennomføre banesporing.
Flere forslag til forbedringer diskuteres. Eksempler er å tune videre på individuelle parametere i de forskjellige metodene, og inkludere kontrollallokering i kontrollsystemet. I tillegg så forslås det å utvide fra banesporing til banefølging, samt legge til flere og dynamiske hindringer. Videre så består miljøkreftene kun av strøm. Flere miløkrefter ville derfor gjort miljøet mer realistisk. Dette krever en observer som var utenfor omfanget av dette arbeidet. During a voyage, autonomous ships usually follow a nominal path constructed prior to the voyage. Known, static obstacles can be avoided in the planning process, but unknown or dynamic obstacles cannot. Hence, such obstacles may force the vessel to deviate from the nominal path, and typically return to the path after an evasive maneuver is performed. However, it may be more advantageous to re-plan the desired path, particularly in situations with multiple obstacles. This could eliminate the need for several evasive maneuvers. By implementing a two-dimensional path variable with an along-path distance and a path normal distance, the desired vessel position can be interpreted as a virtual planar vessel. By employing control barrier functions to restrict the evolution of the path variable, the path traced out by the virtual vessel can be ensured safe. Yet, safety is only ensured for the autonomous ship if it is able to follow the path. Therefore, the feasibility of such paths must be investigated. A comparison of various methods is of value to determine which provides a feasible path or the most feasible path.
A system consisting of a virtual vessel at guidance level, along with a line-of-sight guidance law was created. Three virtual vessel models from literature have been implemented. These were a first order particle model, a unicycle model, and a potential function. The virtual vessels' safety-critical controllers employed barrier functions, referred to as control barrier functions (CBFs), and quadratic programming to produce safe control inputs to the virtual vessel models. The simulations were performed in MATLAB, and thus the MATLAB function "quadprog" was used to perform quadratic programming optimization. Different CBFs from literature were implemented depending on the virtual vessel model. These included both hybrid and non-hybrid CBFs. The line-of-sight guidance produced a course angle reference for the autonomous ship based on the cross-track error to the position of the virtual vessel. The autonomous ship should perform trajectory tracking of the virtual vessel. A maneuvering model for an idealized ship was therefore implemented. The control system consisted of a backstepping controller. A control allocation was outside the scope of the thesis.
The results showed a varying degree of feasibility of the paths traced out. The most promising result was produced by the unicycle virtual vessel model, with a non-hybrid CBF and a modified obstacle in the safety-critical controller. This conclusion is largely based on the along- and cross-track errors observed, and the magnitude and smoothness of the control inputs required to perform trajectory tracking. The unicycle model with a hybrid CBF performed fairly well, but experienced some switching back and forth between CBFs during the evasive maneuver. The switching between CBFs caused undesirable transient response in the system. The particle model, which employed linear velocities as control inputs, resulted in a path with sharp turns, that the ship struggled to track to a certain degree. This resulted in sub-optimal behavior, that may not be realistic, although the ship appeared to be able to track the virtual vessel during the simulations. The potential function required unrealistically high forces and moment for the ship to perform trajectory tracking. Hence, the path traced out was deemed infeasible.
Several improvements are discussed. Examples are further tuning of individual parameters in the different methods, and the inclusion of a control allocation in the control system. In addition, an extension into path following, and the addition of several, and potentially dynamic, obstacles are of interest in future work. Furthermore, only current forces were added in the simulations. Including more environmental forces is an important extension of the environment to make it more realistic. However, such an extension would require the inclusion of an observer, which was outside the scope of this thesis.