Dynamic Position (DP) System is an important development in the history of marine vessels and has contributed to the development of various fields such as offshore oil and gas, offshore renewable energy, subsea pipelaying, offshore construction, and general marine research. The ability of a marine vessel to hold its position or track a predefined path has helped humans to tolerate ever-varying sea conditions and undertake marine operations with confidence.
A simple DP system consists of a motion controller that requests generalised forces and moments to thrust allocator that distributes the request into various actuators in the vessel. It is the constraints put on the thrust allocator that brings great improvement to the DP system. Constraints such as power minimisation, saturation constraints, and rate constraints are crucial to prevent blackout in the ship and to reduce wear and tear of the actuators. Classically this has been solved used techniques such as pseudo-inverse and other optimisation theory-based schemes.
In this thesis, a notion of using Deep Learning(DL) for thrust allocation is put to use. It is considered that a DL model, a subset of Machine Learning(ML) model that learns representation from data through the principle of optimisation can learn features from data and perform the role of a thrust allocator. The literature survey investigating this showed that fewer works have been done in this direction and especially in the maritime field. Researchers at NTNU Ålesund have been investigating this topic and this thesis builds on top of the foundation set by these researchers.
In the thesis, a thrust allocator based on Deep Autoencoder(DAE) network has been developed. The allocator has been designed for NTNU's R/V Gunnerus vessel-a fully actuated ship with two azimuth thrusters and a tunnel thruster. Using a DAE network solved the problem of training data for the ML model. By generating thruster commands for three actuators using pseudo-random numbers for a sample size of 3 million, the forces in Surge and Sway and moment in Yaw that would have been produced by the random combination of these commands were obtained using the thrust configuration matrix. This Surge, Sway, and Yaw are the input values of the encoder part of the network and the decoder part tries to reconstruct the input at the output. This network has simplified the process of having a previous allocator generate training data by logging forces and different command values.
In the DAE network, the commands for the thrusters are obtained in the latent code layer - a representation of input data in a different form. This latent code layer brings in the possibility to add power minimisation, saturation constraint for magnitude, rate constraint, and forbidden zone management through different loss functions and a custom layer in the encoder part of the network. Thus the developed DAE allocator has these features.
To compare the performance of the new allocator, a classic Sequential Quadratic programming(SQP) based allocator obeying the same constraints was made and put to test. The testing has been conducted in a Co-simulation setting. Co-simulation employs FMU(functional mockup units) for different components of the simulation and eases the process of data exchange. The decision to use co-simulation is based on the research strategy at NTNU Ålesund to promote co-simulation. Both the allocators have been made into FMU and simulated using the Vico co-simulation framework.
The allocators were put to test in three scenarios namely: a low-speed four corner test, stationkeeping test, and stationkeeping test with thruster failure. The DAE allocator has a comparable performance similar to the SQP allocator in the 4-corner test and has better performance in the Stationkeeping test. During a stationkeeping test with thruster failure, an azimuth thruster is turned off to imitate a thruster failure and both allocators fail to meet the requested force by the motion controller. Despite failing to meet the controller request, the SQP allocator returns the vessel to its origin position quite quickly whereas the DAE allocator has a jitter motion when it tries to return to the original position. Thus DAE allocator can be said to have inferior performance only in this case which is considered a future scope of the thesis. In all cases, the DAE allocator was seen to meet the constraints in a robust manner.
The future work of the thesis includes exploring a better data generation strategy different from pseudo-random numbers, improving the performance in thruster fail cases, and exploring a solution of fault - detection thrust allocation strategy. Extending the method to other actuators like rudders, Voith-Schneider propeller, etc. remains a new territory to be explored and validated. The use of hybrid allocation strategies combining DL and numerical approach or aiding numerical allocation using machine learning model can also be considered as future work.