Altitude Control of an Underwatervehicle Based on Computer Vision - Pedro Miguel Flores Rodrigues (2018)
The desire of improving and developing new technologies targeting the ocean's supervision is continuously increasing. Since underwater tasks might involve hostile environments far too hazardous for human, it is typical to resort to system based on Remotely Operated Vehicles (ROVs) and/or Autonomous Underwater Vehicles (AUVs). During the extraction of information, the position control of the vehicle is critical. Specifically, the distance between the vehicle and the sea floor must be warily controlled to ensure its safety and the reliability of the missions that require proximity to the object of interest. Commonly, to deal with the altitude control, a system based on sonar technology is used. Although this solution simplifies the problem and is effective in most cases, it carries a lot of disadvantages in some underwater conditions and in some vehicles with certain specifications. Particularly the sensors based on acoustic waves, like the sonar, might present difficulties on the interpretation of the signals received when the vehicle is too close to the obstacle, requiring a minimum distance to retrieve valuable and reliable information. Furthermore, the inclusion of the sonar sensor demands an increase on the energetic cost of the system that in the case of vehicles powered by an external source through a cable like the ROVs is not a problem, but in AUVs, it might be valuable to avoid it since these vehicles are powered by batteries. Lastly, sometimes the space occupation of the sonar sensor represents a problem in some vehicles with meticulous limits relative to space usage, a common problem found in AUVs.In order to overcome these problems, the acquirement of the distance measurement can be accomplish through image processing using a system based on a camera and laser pointer devices. Since several underwater vehicles already have an embedded camera and it is common the existence of laser pointer devices as a scale, this approach is opportune and can accomplish the task with high reliability and efficiency.In this work it is presented a module capable of measuring the distance based on computer vision (Sensor module) and a module able to filter the data gathered though the use of Kalman Filter and capable of using this data to control the distance of the vehicle using a velocity and position controller that are adaptable to the mission characteristics (Filtering and Control module). The vehicle used in order to test the modules created was a profiler developed in \cite{Monteiro}. The Sensor module was implemented based on two laser pointer devices placed parallel to one another beside a CCD camera. In order to calculate the distance of the vehicle towards the obstacle was used the laser triangulation principle. Furthermore, the Sensor module is capable of retrieving information about the quality of the measurements and apply mathematical operations like circular average. It allows the user to fully configure the information that is gathered and what type of operations are performed through an configuration file. The communication with the Sensor module is made through UDP. In order to characterize and test the module, the laser triangulation principle was analyzed and a series of experimental tests were performed to know the error induced through the utilization of non ideal components and possible software limitations. The Filtering and Control module is responsible for the interface between the Sensor module and the vehicle, and the control of the thruster's actuation. It receives the data gathered, filters it through a Kalman filter that is tuned using the quality factor of the measurements, and then makes the information available through a shared memory block to the vehicle's software. The solution adopted regarding the control stands on the switching of two controllers, a velocity controller (based on a PI controller approach), and a position controller (based on a PID controller approach). The mathematical model of the vehicle was used in order to design the parameters of the controllers to accomplish certain temporal demands of the mission. The designed controllers were validated using the simulink toolbox from Matlab.In order to validate the systems created in a real environment, a series of operational tests were performed where the profiler is commanded to different altitudes. These tests were realized on a tank where the environment conditions are controllable and the results can be compared to the exact values.