Greetings, I would like to listen to some opinions and criticism about this project that I am working on. It is an autonomous boat running Rover 4.0 on a Pix32 with a Raspberry Pi as a companion computer; it uses a camera taking images of the front of the boat and with a convolutional neural network detects and classifies obstacles like on the following images:
It uses the classification capabilities to create a different method of evasion for each type, like, if it detects a bird, it will sound a horn and won’t evade since they move out of the way themselves, but if it detects a buoy or a boat, it will measure the width of the obstacle and evade it, if the obstacle is a rock, since they are bigger underwater and the boat could run aground, it will evade with additional security distance from the rock. The mean average precision of the object detector is 0.93. The speed is 1.2 FPS.
It uses two consecutive images of the obstacle and the thin lens equation to measure distance from the camera to the obstacle, it is not capable to detect obstacles moving towards it from the sides. The distance measurement has a mean absolute error of 34.3 cm (13.5 inches) and for the measurement of the width of the obstacle, has a mean absolute error of 8.2 cm (3.2 inches).
The method of evasion is made so it can return to the original path as soon as possible, because the boat is intended to be used for bathymetry. The process is to make a simple square, it will detect an obstacle and stop 1 meter before reaching it, then turn 90° right or left until it moves 1 meter plus the width of the obstacle, then turn 90° towards the original destination, at that point it will turn the camera towards the obstacle and check its presence while advancing, when the obstacle is left behind enough to not appear on the camera, the boat moves 90° degrees towards the original navigation line until it reaches it and finally turns towards the original destination, like on the following image:
Thanks for your time, I would really appreciate your feedback.