Development of a Low-Cost Dynamic Positioning System
Master thesis
Permanent lenke
https://hdl.handle.net/11250/2780868Utgivelsesdato
2020Metadata
Vis full innførselSamlinger
Beskrivelse
Full text available on 2023-06-01
Sammendrag
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 prototypement for mindre skip i størrelsesordenen 10 til 24 meter i oppdrettsindustrien, ved å benytteenkle, lettvektet, men effektive algoritmer som kan kjøres på billig hyllevare som en PLS. Pratiskimplementasjon av DP systemet har blitt gjort på en Wago PFC200 PLS som i bunn kjørerLinux med en sanntidspatchet Kernel for multi-threaded applikasjoner. Forslag har blitt gjortpå komponentnivå og programvarenivå for å oppnå tilfredsstillende ytelse for et lettvekts DPsystem, i tillegg til å holde kostnaden samt eventuell fremtidig utviklingskostander på et lavtnivå
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» applikasjonentil en annen platform på et senere tidspunkt hvis det skulle være nødvendig. I hovedsakhar det blitt implementert algorithmer for tredjeordens referansemodeller, bølgefiltrering vedå benytte bandstopp/(«notch») filtre, en ulineær PID regulator med 3 frihetsgrader forregulering av posisjon og heading, samt en thrust-allokeringsalgorithme basert på «redistributed»pseudoinverse. DP systemet har mulighet til å kontrollere alle 3 frihetsgradene, alternativt kanbåten kontrolleres ved å benytte en treakset joystick.
I tillegg are et brukergrensesnitt blitt utviklet i Qt som kommuniserer med PLSen ved å benytteden stadi mer populære OPC UA standarden. En kombinasjon av C++, QML og OpenGL harblit benyttet i utviklingen av brukergrensesnittet. Brukergrensesnittet har blitt utviklet medtanke på at det skal være berøringsvennlig slik at det er mulig å kontrollere DP systemet utenandre eksterne komponenter annet enn en joystick. En alarmserver- og klient har også blittimplementert 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 totunnelthrustere 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. Dettetillot å 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 blesimulert ved å gjøre enkele sprangresponser og mer kompliserte simulering som involverer kobledebevegelser. Enkle modeller av bølger og strøm ble benyttet i simuleringen. Tilfredsstillendeytelsen 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. The aim of this master’s thesis is to do a practical development and implementation of a DynamicPositioning (DP) control system prototype ment for smaller vessels in the range of 10 to 24 metersin the fish farming industry, by means of simple, lightweight, yet effective algorithms which canbe run of cheap off the shelf hardware such as a PLC. The practical implementation of the DPcontroller has been done on a Wago PFC200 PLC which runs Linux with a real-time patchedkernel for multi-threaded applications. Suggestions has been done on hardware level and softwarelevel in order to achieve satisfactory performance of a light weight DP system, while additionallykeeping 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 controllercode is running in its own Docker container environment making application porting to anotherplatform extremely easy, where Docker provides an abstraction layer to the operating system.The main DP controller algorithms implemented is third order reference models, wave filteringby means of notch filtering, 3 Degrees of Freedom (DOF) nonlinear PID controllers for positionand 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 controlby means of a joystick.
Additionally a modern Graphical User Interface (GUI) has been developed using Qt whichinterfaces with the PLC using the evolving OPC UA standard. A combination of C++, QMLand OpenGL has been used in the process of the user interface development. The GUI has beendeveloped with a touch friendly user interface in mind such that it is possible to operate theDP system without any external components other than possibly a joystick. A alarm server andclient 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 usingpole placement based on a rough model of a 15 meter fish farming vessel along with two tunnelthrusters and a Controllable Pitch Propeller (CPP) as the main actuator. The vessel model wasused in a Hardware-In-the-Loop (HIL) setting, running in Simulink which were communicatingwith the PLC using the OPC UA standard allowing to do testing of the DP system without areal vessel.
Several simulations were conducted with focus on code performance and actual controllerperformance where the vessel was simulated by doing simple step responses and more complicatedsimulations involving coupled movements. The simulations was conducted with simplified modelsof environmental loads such as waves and currents, simulating a light sea state. Satisfactoryperformance by the DP controller was observed as well as correct control of the vessel using thejoystick.
Suggestions for future work has been made in order to make the DP system viable for testing ona real vessel.