Making an aI powered ASV
Abstract
This thesis presents my master thesis project on creating an Autonomous Surface Vehicle that is designed to transport humans and goods.
The vessel itself is not designed to carry neither humans nor goods, but is used as a platform for developing methods that can be used for transportation tasks like passenger ferries or cargo ships.
The ASV developed in this project is mainly powered by Artificial Intelligence methods.
The project is divided into five key areas.
These are path planning, path following, obstacle detection, collision avoidance, and auto docking.
The path planning and collision avoidance methods are based on the A* algorithm, and the remaining use AI methods.
Different Deep Reinforcement Learning methods are tested for auto docking, and an Evolutionary Algorithm called NeuroEvolution of Augmenting Topologies is used for auto docking and path following.
A Computer Vision model called YOLOv5 is applied for obstacle detection.
To test and verify these methods, a simulation environment that can be used to both train and test AI models is designed and developed.
The base simulation environment was tweaked to make a special environment tailored for path following, and one for auto docking.
After training the AI models in the simulation environments, the models are deployed to an Otter USV (Unmanned Surface Vehicle), and tested in the waters at Filipstadkaia, Oslo.
The contributions of this project is twofold.
The first is creating a simulation environment that can be used to train and test AI models for controlling an Otter USV.
The second is showing that it is possible to control a maritime vessel using AI methods, more specifically Evolutionary Algorithms.
The Otter USV appears to be able to both follow a path and auto dock using the NEAT algorithm.
This is based on the results from the simulations.
When deploying the USV in the harbor, the behavior deviates from the simulations.
This may be caused by malfunctioning sensors, weather conditions, a poorly trained model because of the simulation environment, or a combination of these.