Optimisation of time domain controllers for supply ships using genetic algorithms and genetic programming
The use of genetic methods for the optimisation of propulsion and heading controllers for marine vessels is presented in this thesis. The first part of this work is a study of the optimisation, using Genetic Algorithms, of controller designs based on a number of different time-domain control methodologies such as PID, Sliding Mode, H8, and Pole Placement. These control methodologies are used to provide the structure for propulsion and navigation controllers for a ship. Given the variety in the number of parameters to optimise and the controller structures, the Genetic Algorithm is tested in different control optimisation problems with different search spaces. This study presents how the Genetic Algorithm solves this minimisation problem by evolving controller parameters solutions that satisfactorily perform control duties while keeping actuator usage to a minimum. A variety of genetic operators are introduced and a comparison study is conducted to find the Genetic Algorithm scheme best suited to the parameter controller optimisation problem. The performance of the four control methodologies is also compared. A variation of Genetic Algorithms, the Structured Genetic Algorithm, is also used for the optimisation of the H8 controller. The H8 controller optimisation presents the difficulty that the optimisation focus is not on parameters but on transfer functions. Structured Genetic Algorithm incorporates hierarchy in the representation of solutions making it very suitable for structural optimisation. The H8 optimisation problem has been found to be very appropriate for comparing the performance of Genetic Algorithms versus Structured Genetic Algorithm. During the second part of this work, the use of Genetic Programming to optimise the controller structure is assessed. Genetic Programming is used to evolve control strategies that, given as inputs the current and desired state of the propulsion and heading dynamics, generate the commanded forces required to manoeuvre the ship. Two Genetic Programming algorithms are implemented. The only difference between them is how they generate the numerical constants needed for the solution of the problem. The first approach uses a random generation of constants while the second approach uses a combination of Genetic Programming with Genetic Algorithms. Finally, the controllers optimised using genetic methods are evaluated through computer simulations and real manoeuvrability tests in a laboratory water basin facility.