dc.contributor.advisor | Johansen, Tor Arne | |
dc.contributor.author | Stene Sømliøy, Vegard | |
dc.date.accessioned | 2021-09-23T17:58:59Z | |
dc.date.available | 2021-09-23T17:58:59Z | |
dc.date.issued | 2020 | |
dc.identifier | no.ntnu:inspera:56990118:22656932 | |
dc.identifier.uri | https://hdl.handle.net/11250/2780868 | |
dc.description | Full text available on 2023-06-01 | |
dc.description.abstract | Må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.abstract | The 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.publisher | NTNU | |
dc.title | Development of a Low-Cost Dynamic Positioning System | |
dc.type | Master thesis | |