Show simple item record

dc.contributor.advisorJohansen, Tor Arne
dc.contributor.authorStene Sømliøy, Vegard
dc.date.accessioned2021-09-23T17:58:59Z
dc.date.available2021-09-23T17:58:59Z
dc.date.issued2020
dc.identifierno.ntnu:inspera:56990118:22656932
dc.identifier.urihttps://hdl.handle.net/11250/2780868
dc.descriptionFull text available on 2023-06-01
dc.description.abstractMålet med denne masteroppgaven er å videreføre tidligere utført fordypningsemne (Sømliøy, 2019) og en praktisk implementasjon av et Dynamic Positioning (DP) kontrollsystem prototype ment for mindre skip i størrelsesordenen 10 til 24 meter i oppdrettsindustrien, ved å benytte enkle, lettvektet, men effektive algoritmer som kan kjøres på billig hyllevare som en PLS. Pratisk implementasjon av DP systemet har blitt gjort på en Wago PFC200 PLS som i bunn kjører Linux med en sanntidspatchet Kernel for multi-threaded applikasjoner. Forslag har blitt gjort på komponentnivå og programvarenivå for å oppnå tilfredsstillende ytelse for et lettvekts DP system, i tillegg til å holde kostnaden samt eventuell fremtidig utviklingskostander på et lavt nivå Flere programvareakritekturer har blitt diskutert i oppgaven, mens DP systemet ble utviklet til å kjøre i en egen Docker-konteiner, i et eget miljø, noe som gjør det enkelt å «porte» applikasjonen til en annen platform på et senere tidspunkt hvis det skulle være nødvendig. I hovedsak har det blitt implementert algorithmer for tredjeordens referansemodeller, bølgefiltrering ved å benytte bandstopp/(«notch») filtre, en ulineær PID regulator med 3 frihetsgrader for regulering av posisjon og heading, samt en thrust-allokeringsalgorithme basert på «redistributed» pseudoinverse. DP systemet har mulighet til å kontrollere alle 3 frihetsgradene, alternativt kan båten kontrolleres ved å benytte en treakset joystick. I tillegg are et brukergrensesnitt blitt utviklet i Qt som kommuniserer med PLSen ved å benytte den stadi mer populære OPC UA standarden. En kombinasjon av C++, QML og OpenGL har blit benyttet i utviklingen av brukergrensesnittet. Brukergrensesnittet har blitt utviklet med tanke på at det skal være berøringsvennlig slik at det er mulig å kontrollere DP systemet uten andre eksterne komponenter annet enn en joystick. En alarmserver- og klient har også blitt implementert slik at operatøren kan varsles ved mulige feilsituasjoner. Basert på tidligere fordypningsemne (Sømliøy, 2019), er tuning av regulator blitt gjort ved å benytte polplassering basert på en grov model av en 15 meters oppdrettsbåt, som har to tunnelthrustere og én CPP hovedpropell. Båten ble benyttet i en Hardware-In-the-Loop (HIL) setting, kjørt i Simulink, som kommuniserte med PLSen ved hjelp av OPC UA standarden. Dette tillot å gjøre tester på DP systemet uten å være avhengig av en virkelig båt. Flere simuleringer ble utført med fokus på kodeytelse og faktisk regulator ytelse, der skipet ble simulert ved å gjøre enkele sprangresponser og mer kompliserte simulering som involverer koblede bevegelser. Enkle modeller av bølger og strøm ble benyttet i simuleringen. Tilfredsstillende ytelsen på både kode og regulatorer ble oppservert ved simuleringene. Korrekt oppførsel ble også opservert ved manuell kontroll med joystick. Forslag for videre arbeid er gitt for å gjøre DP systemet egnet for implementasjon og testing på virkelig skip.
dc.description.abstractThe aim of this master’s thesis is to do a practical development and implementation of a Dynamic Positioning (DP) control system prototype ment for smaller vessels in the range of 10 to 24 meters in the fish farming industry, by means of simple, lightweight, yet effective algorithms which can be run of cheap off the shelf hardware such as a PLC. The practical implementation of the DP controller has been done on a Wago PFC200 PLC which runs Linux with a real-time patched kernel for multi-threaded applications. Suggestions has been done on hardware level and software level in order to achieve satisfactory performance of a light weight DP system, while additionally keeping the hardware and possible future software development cost at a low level. Several software architectures has been discussed in the thesis, but at the end the DP controller code is running in its own Docker container environment making application porting to another platform extremely easy, where Docker provides an abstraction layer to the operating system. The main DP controller algorithms implemented is third order reference models, wave filtering by means of notch filtering, 3 Degrees of Freedom (DOF) nonlinear PID controllers for position and attitude control and a thrust allocation algorithm based on «redistributed» pseudoinverse. The DP system has the ability to change between full 3 DOF position control or manual control by means of a joystick. Additionally a modern Graphical User Interface (GUI) has been developed using Qt which interfaces with the PLC using the evolving OPC UA standard. A combination of C++, QML and OpenGL has been used in the process of the user interface development. The GUI has been developed with a touch friendly user interface in mind such that it is possible to operate the DP system without any external components other than possibly a joystick. A alarm server and client has also been implemented allowing the operator to be alerted in case of any abnormalities. Based on a earlier conducted project (Sømliøy, 2019), tuning of the controllers was done by using pole placement based on a rough model of a 15 meter fish farming vessel along with two tunnel thrusters and a Controllable Pitch Propeller (CPP) as the main actuator. The vessel model was used in a Hardware-In-the-Loop (HIL) setting, running in Simulink which were communicating with the PLC using the OPC UA standard allowing to do testing of the DP system without a real vessel. Several simulations were conducted with focus on code performance and actual controller performance where the vessel was simulated by doing simple step responses and more complicated simulations involving coupled movements. The simulations was conducted with simplified models of environmental loads such as waves and currents, simulating a light sea state. Satisfactory performance by the DP controller was observed as well as correct control of the vessel using the joystick. Suggestions for future work has been made in order to make the DP system viable for testing on a real vessel.
dc.language
dc.publisherNTNU
dc.titleDevelopment of a Low-Cost Dynamic Positioning System
dc.typeMaster thesis


Files in this item

FilesSizeFormatView

This item appears in the following Collection(s)

Show simple item record