DERC Salotech developed the MagTrack cleaning robot that can clean the sides of ships and oil tanks. By using high pressure water, it strips away paint from from the outside of ships or cleans oil from the inside of large tanks. The MagTrack uses strong permanent magnets to cling to the walls so it can clean. In the current situation the cleaning is done manually and to prevent missing a part of the surface, there is an overlap of 20 to 50 percent between cleaning lanes. This inefficiency leads to a considerable time loss when cleaning. Thus, Derc Salotech asked the group to automate the cleaning and turning process. The scope of this project is limited to the cleaning of ships using a MagTrack with blastcan.
Our two goals are to decrease the overlap between the laps the cleaning robot makes and to create an automated turning sequence.
To reduce the overlap, we use two cameras. One camera faces forward, and one faces backwards. One camera is used to detect the cleaned surface, the other the edge between cleaned and painted, which camera does what depends on the direction the MagTrack is going. By comparing the similarity between the image arrays, a heatmap can be created. From the heatmap, a binary image can be generated which is used to generate a line. The line should show the edge between the cleaned and painted area.
With this approach the vision is adaptable to difference coloured surfaces under different lighting conditions.
To automate the turning sequence the MagTrack needs to know in what orientation it is. To do this the choice was made to use an Inertial Measuring Unit or IMU. We can get the angle of the MagTrack from the IMU. We had to check the IMU with the magnet since the magnet could have unexpected results on certain sensors in the IMU. We were able to put the IMU behind a metal plate, so the magnet had no effect on the IMU.
The MagTrack itself uses a Siemens S7-1200 PLC to control the movement so a data communication link had to be set up between the raspberry pi and the PLC. This was done using the python library snap7. The PLC starts reacting to the code from the raspberry pi when a button is pressed on the controller.
The angle of the edge that gets determined from the cameras is the input for the PID-controller that determines how much power needs to go to the motors. A PID-controller makes sure that the robot does not overshoot its target and start oscillating.
DERC Salotech requested that the operators are still engaged with the process because of safety reasons. For this reason, we can not automate when the MagTrack should turn, this choice should still be made by the operators.
In the future
This project proves that this concept is possible. To implement this in the future the lane switching must be more robust and reliable and should be tested with more edge cases. The lane following also should be tested more, especially with different weather conditions, at night, and in real life places for other variables we did not consider.
A special thanks goes out to Dennis van der Wielen, Stef Mulder, Robert Slingerland from the company, DERC Salotech, who were involved in our project. Another special thanks goes to Thijs Brilleman, Mathijs van der Vegt and Guus Paris from the university.