Marine Related

Float-E: Surface Water Oil-Collecting Robot

AP105

Janella Marie Cu (De La Salle University)

Apr 03, 2022 1538 views

Float-E: Surface Water Oil-Collecting Robot

The potential risk for large-scale oil spills to occur can lead to devastating results, causing both environmental and economic damages that can take several years to clean up and recover. With the existence of offshore rigs and the constant transportation of oil around the world each year, more autonomous and efficient ways of handling these impacts were explored. This project proposes a semi-autonomous robot to alleviate the problem, exploring the use of image processing to locate and collect these hazardous spills; making use of a pump to collect and store these spills into an oil container; coconut husk as a more cost-effective solution to filtering the oil from excess water. In addition, the fabrication method touches on 3D printable parts combined with PVC pipes that act as pontoons to keep the robot afloat.

Aside from utilizing the provided FPGA Cloud Connectivity Kit and Microsoft Azure IoT, a variety of software tools were used to ensure the feasibility of the robot’s main components; SolidWorks, to calculate and guarantee the proper buoyancy and stability of the design; CoppeliaSim, to demonstrate the robot's pathfinding and obstacle avoidance through three environments, no obstacles, static objects, and dynamic obstacles; Arduino, for the actuation and mobility of the robot; Python in designing the oil detection system using HSV color space and Haar Cascade; user interface platform, created in PyQt5, to enable user interaction in controlling the oil detection and manual movements of the device. The coordinates of the oil are sent to the Arduino via serial communication; once the Arduino receives the data, it adjusts the DC and servo motors depending on the x and y values; this includes the LED light to simulate the vacuum. Moreover, experimentations made on coconut husks were to ensure that oil may be filtered out from the water. In the development of a semi-autonomous surface water oil-skimming robot through various means of simulation and experimentation, it can be utilized to substitute manual labor to clean a body of water by having the robot device collect and store the optimal amount of oil in a locomotive manner.

Demo Video

[URL: https://youtu.be/O-IhAiq6PPg]

Project Proposal


1. High-level project introduction and performance expectation

Statement of the Problem
Faulty oil rigs, oil tankers, and refineries cause oil spills that produce hazardous properties in the ocean. This affects both an environmental and economic aspect, resulting in harming wildlife and extravagant ocean cleanup machines/tools. This project focuses on designing a semi-autonomous surface water oil skimmer robot meant to purify contaminated bodies of water. The overall mission is to collect waste more efficiently without the need for manual labor.
 

Significance of the Study
The oil carries different toxic compounds that can cause severe health problems such as heart damage, it can also affect the immune system, and even death. Depending on the type and kind of oil that was spilled as well as how much exposure one person can get affects their health [1]. From studying the effects of the 2010 Deepwater Horizon oil spill, the researchers were able to identify the possible effects of oil depending on the oil toxicity and exposure one gets, which can be applied to the environment that surrounds it [2]. With that being said, manual clean-up of oil spills poses great threats to the health of both humans and the surrounding living organisms. The semi-autonomous oil-collecting robot utilizes a wireless-guided detection system that can substitute manual labor to clean a body of water through the means of a floatation device that could optimally store oil in a locomotive manner. In addition, this project will benefit oil companies and government organizations by reducing their administrative clean-up expenses; for non-profit organizations, the device will help towards mitigating environmental damage. Moreover, this project may be utilized for further research that focuses on the development of an oil cleaning robot.


 

Intel FPGA Device Implementation
Utilization of Intel FPGA device will enable the synchronization of the semi-autonomous oil-collecting robot; this includes wireless assistance to the Arduino Uno microcontroller that operates the robot's mobility (either automatic and manual operation), and remote data collection that is done through Device Provisioning Service (DPS) in Microsoft Azure IoT Hub.  
 

General Objective
To substitute manual labor required to clean a body of water through the development of a semi-autonomous surface water oil collecting robot.

Why We Still Can't Stop Oil Spills From Damaging the Environment - Bloomberg

References

[1] “Oil Spills,” MedlinePlus, 11-Feb-2021. [Online]. Available: https://medlineplus.gov/oilspills.html. [Accessed: 24-May-2021].

[2] M. Ewald, “How Deepwater Horizon Spurred Advances in Oil Toxicity Science,” How Deepwater Horizon Spurred Advances in Oil Toxicity Science | NOAA's Office of Response & Restoration Blog, 14-Apr-2020. [Online]. Available: https://blog.response.restoration.noaa.gov/how-deepwater-horizon-spurred-advances-oil-toxicity-science. [Accessed: 23-May-2021].

2. Block Diagram

3. Expected sustainability results, projected resource savings

Specific Objectives

  • To simulate a floatation device to stabilize the robot’s overall weight (excluded electronics) using SolidWorks.

  • To design a detection system using Python to locate where the oil is present to simulate movement of the robot accordingly using Arduino.

  • To simulate using CoppeliaSim a locomotive system that can move the robot to the location of the detected oil.

  • To integrate a wireless-guided system to assist in the robot's mobility within a simulation.

  • To store the optimal amount of oil the robot can carry through virtual/simulation set up.

4. Design Introduction

This design aims to propose an oil-detecting robot that aids in cleaning ocean oil spills by increasing productivity in and reducing the need for manual labor. The research focuses on its 3D model design, and its buoyancy and stabilizing capabilities; Its feasibility in using coconut husk as a filtration method; Lastly, its oil-detection system and its use of image processing to control the robot's motors.

Scope

  • The study was demonstrated through various simulation applications: Fusion360, CATIA, CoppeliaSim, and SolidWorks.

  • The study was able to construct, and 3D print a bare prototype, using a plastic filament at 30% infill.

  • The study made use of HSV as the method for detecting the oil which would require manual adjustments to improve its accuracy, making it semi-autonomous.

  • The study utilized a camera that was connected to a laptop, accessible both through the webcam and an external camera connected.

  • The study made use of Python programming for oil detection. 

  • The study made use of materials and products readily available at home.

  • The study focused on Coconut Husks as the main filtration media.

  • The study made use of clean car oil.

  • The study made use of stable water.

 

Delimitations

  • The study was hindered in creating an actual prototype, with the correct materials, due to the circumstances of the Covid-19 pandemic.

  • The study conducted was not able to assemble all the different components together.

  • The study was not able to test the obstacle avoidance sensor.

  • The study is restricted for detection, areas where the color of the oil spill can be differentiated from the color of the ocean due to brightness and capability of OpenCV to accommodate a single hue.

  • This study may be affected by those eyesight problems and conditions due to their inability to differentiate color. 

  • The study made use of a camera that was not tested for connection limits, this is in terms of distance, height, or placement. 

  • The study was not able to implement obstacle avoidance due to lack of equipment and materials for testing.

  • The study was not able to test on an actual robot where the weight of the robot with electronic components and oil collected is accommodated. 

  • The study was not able to compare other filtration media other than Coconut Husks.

  • The study was not able to test the robot to collect "Mousse", an emulsified oil and water mixture; it is said that this substance may be found underwater due to its density.

  • The study made use of a user interface that is incapable of being used through other devices other than laptops.

  • The study was limited to the use of oil, which was not black in color.

  • The study was limited in the use of water; therefore, cloudy weather or murky waters may affect the accuracy of the robot.

  • The study was not tested in deep water conditions.

The robot's primary target will likely be private industry and government sectors that tackle the risk of oil-spills near bodies of water.

5. Functional description and implementation

Design and Collection Method

In the 3D modeling process the robot is designed for the purpose of having the following main components: a flotation system, an oil and filter container, a containment for electronics, and a containment for the collection system. During the final phase of the design, the robot makes use of two pontoons to maintain buoyancy and keeping the rest of the components between them, in a similar fasion as a Catamaran. The oil container is located at the center of the base and can be detached using handles, while the bottom of it contains a separate container meant to hold the coconut husk filter. In front of the oil container is a small rotary oil pump secured to the base of the robot that leads to a wide nozzle where the oil will be collected from. Behind the oil container there will be a tightly secured box which will be containing the rest of the electronic equipment as well as powering the robot's propulsion system.

The robot’s collection mechanism makes use of a vacuum-like design that will suction the intended oceanwater-oil substance. In the study, the vacuum was used above the surface and was used to filter solid waste [1]. For this paper, the vacuum will be submerged and lie just below the surface of the water to ensure that liquid will be engulfed. Moreover, to ensure that only oil will be filtered, the researchers added the use of coconut husk fibers, an abundant natural waste found in the Philippines. The fibers have been studied to be adsorbent to oil which will create a great filtration system to separate the oil from the water [2].

 

Oil Detection
To implement an oil detection system for the robot, an existing object detection OpenCV program that utilizes HSV color space will be fabricated and executed for the machine’s user interface and mobility procedure. To isolate oil from the rest of its surroundings, the use of sliders for image manipulation of hue, saturation, and brightness values, lower and/or upper HSV values were collected and arranged in an array manner; the program will return these numerical arrays using the bitwise and operation with the masked image of the targeted substance [3]. 

Control Systems
The robot makes use of serial communication between python and Arduino. The data from the python code is sent as a string and the Arduino converts it to integer values. The x and y coordinates are used to control the servo motors [4]. For the project, a similar concept can be used but instead of detecting faces, the Haar Cascade can be used to detect the HSV color space of the oil. This will allow the robot to follow or move to the location of the oil. Serial communication could also be used to allow the user to input commands to manually control the robot. 

 

 

User Interface
To allow a seamless connection between the user and the robot, a user interface will be created. The proponents will make use of PyQT5 and PyQt Designer to develop the application [5]. Although there are diverse ways to build the interface, the proponents decided to utilize PyQT5 to be able to fully incorporate the HSV sliders, Image and Video Processing, and Arduino controls into the python codes to be done. For the image and video processing, the videos will be connected to a live camera to ensure the user will be able to move and respond accordingly.

 

Simulation Systems
The different simulation system applications will allow the proponents to virtually analyze the functionality and performance of the created robot. In CATIA, the proponents will be able to design the robot’s body and other components. Throughout the study, the dimensions will be subject to changes which with the use of CATIA will be made possible. Through SolidWorks, the proponents will be able to identify the buoyancy and other necessary variables in this field. Although calculations will be done, SolidWorks would simultaneously be able to diagnose the robot virtually. Lastly, CoppeliaSim is another viable application to be used in this study. The proponents aim to determine the robot’s mobility across different environments.

[1] A. I. Bakry, “Experimental Approach to an Efficient and Versatile Water Filtration Vacuum Cleaner,” Chemical Engineering & Technology, vol. 40, no. 3, pp. 480–486, 2017.

[2] A. Osamor and Z. Momoh, “An evaluation of the adsorptive properties of coconut husk for oil spill cleanup,” International Conference on Advances in Applied science and Environmental Technology - ASET 2015, 2015.

[3] S. Canu, “Object detection using HSV Color space – OpenCV 3.4 with python 3 Tutorial 9,” Pysource, 02-Mar-2021. [Online]. Available: https://pysource.com/2018/01/31/object-detection-using-hsv-color-space-opencv-3-4-with-python-3-tutorial-9/. [Accessed: 11-Sep-2021].

[4] S. Santosh, “Face Tracker Using OpenCV and Arduino,” Arduino Project Hub, 02-Feb-2021.[Online].Available:https://create.arduino.cc/projecthub/Shubham santosh99/face-tracker-using-opencv-and-arduino-55412e. [Accessed: 11-Sep-2021].

[5] V. Siahaan and R. H. Sianipar, “LEARNING PyQt5: A Step-by-Step Tutorial to Develop MySQL-Based Applications,” Google Books, 06-Sep-2019. [Online]. Available:https://books.google.com.ph/books?hl=en&lr=&id=hnmtDwAAQBAJ&oi=fnd&pg=PA1&dq=pyqt5%2B&ots=cN3pTbwydI&sig=jg8wH_x717LWZl5w74mONLvIY8&redir_esc=y#v=onepage&q=pyqt5&f=false.[Accessed: 09-Sep-2021].

6. Performance metrics, performance to expectation

Performance parameters

  1. Ther design must be able to stay buoyant and stable when tilted to a certain degree.
  2. The coconut husk must be able to absorb and filter the oil from the water.
  3. The image processing must be able to distiguish the oil from the surrounding environment and properly actuate the locomotive system.

Buoyancy Test

Figure 1. Waterline of Final Design

Stability Test

 

 

Angle of Tilt (°)

Side-to-Side (in.)

Frontwards (in.)

Backwards (in.)

5

+74.343

+56.742

+48.137

10

+84.043

+49.272

+37.812

 

 

Table 1. Results of Stability Test and Graphical Analysis

Figure 2. Changes in Center of Buoyancy Based on Cutting Angle

Coconut Husk Results

Table 3. Filtration Experiment Pouring Angle: 90°

Figure 3. Pouring Angle: 90° Graph

Table 4. Filtration Experiment Pouring Angle: 180°

Figure 4. Pouring Angle: 180° Graph

 

Oil Detection and Arduino Simulations

The oil detection was able to capture and isolate at least beyond seventy percent (70%~) of the oil itself as it accommodates oil colour varieties, as demonstrated in Figure 5 - 8 below; as well as it is evident that the image processing method applied was successful through the Haar cascade frame found on the upper right of each image on the figure.

MapDescription automatically generated

Figure 5. Multiple Image Processing Oil Detection Test on Scenario # 1

 

MapDescription automatically generated with medium confidence

Figure 6. Multiple Image Processing Oil Detection Test on Scenario # 1

 

A picture containing timelineDescription automatically generated

Figure 7. Multiple Image Processing Oil Detection Test on Scenario # 1

 

A screenshot of a video gameDescription automatically generated with medium confidence

Figure 8. Multiple Image Processing Oil Detection Test on Scenario # 1

Figure 9 shows the reaction of the arduino to the distance of the object being detected. The speed of the dc motors increases as the distance increases. The robot is also able to slow down when the object gets closer, this will help prevent it from overshooting the collection area. 

Figure 9. PWM  Speed of DC Motors Based on Distance

Figure 10 shows the data collection that is attached to the robot prototype; based on the data below, it is clear that the robot is currently in a stable position, at a temperature of 32.49 Celsius, humidity at 60.20%, and so on. This will serve as a reference to the user in terms of the robot's condition when placed in open water.  

 

Figure 10. Device Telemetry and Events via Microsoft Azure Iot Hub

 

Benefits of Intel FPGA devices

FPGA will significantly improve the preformance of the design's image processing system, as well as the robot's capabilities to process the data received from detection and mobility.

7. Sustainability results, resource savings achieved

Final Robot Design

The final robot design was compiled and completed in Fusion360. The opacity of the top cover and back motor box cover was reduced to reveal their inner components. The parts that were imported from CATIA and converted into an STL file include the front oil-collecting nozzle, oil container, coconut husk container, and propeller; While the rest of the parts were 3D modeled in Fusion360 or imported from McMaster as 3D STEP files. The dimensions of all main components can be seen in the table below.

Figure 10. Full Robot

 

Robot Dimensions

Part/ Assembly

Length/ y-axis (mm)

Width/ x-axis (mm)

Height/ z-axis (mm)

Font Case

(Housing the Pump Nozzle)

380

510

155

Front Funnel

(Largest Opening)

-

461.029

61.996

Pontoon Pipes

(While Connected to Mount without End Caps)

980

275.809

275.809

Pontoon Pipe End Caps

60

295.809

295.809

Pontoon Pipe Mounts

70.8

315.809

315.809

Base Frame Pipes

50.8

800

50.8

Base

1000

500

160

Full Oil Container

(With Filtration and Handles)

152

355

256.4

Filtration Container

148

297

53.4

Complete Robot (Excluding Pump Hose)

1415.049

1253.714

499.085

Table 5. Dimensions of the Robot’s Main Components

 

Figure 11. Hardware Block Diagram

 

Figure 12. Oil Detection & Collection Software Flow

 

DiagramDescription automatically generated

Figure 13. User Interface Software Flow 

8. Conclusion

Conclusions
To be able to develop a semi-autonomous surface water oil-cleaning robot, specific objectives were set to allow the researchers to have the assurance that the various aspects of the robot work. Specifically for this study, five (5) specific objectives were established. 


The first specific objective, to simulate a floatation device to stabilize the robot’s overall weight (excluding electronics) using SolidWorks, ensures that the robot can float well above water. By changing the material of each part for SolidWorks to calculate the total weight of the initial design the diameter of the pontoons could then be calculated to ensure that the waterline will be at an ideal location. This changed the diameter of the pontoons to 275.809 mm which resulted in the waterline being at an appropriate level. The cutting tool and center of buoyancy coordinates given by SolidWorks also allowed for the graphical analysis of the metacenter’s value. Providing us with coordinates that were above the center of mass at up to 10 degrees of tilt about the x and y-axis, meaning that the robot is stable given these circumstances. After these various trials, the researchers have concluded that the robot can float on the surface of the water.


The second objective, to design a detection system using Python to locate where the oil is present to simulate the movement of the robot accordingly using Arduino, was obtained through HSV and haar cascade image and video processing programmed through python. Through the different tests, the researchers have concluded that the codes used were successful in locating where the oil is given a certain frame.


The third objective, to simulate using CoppeliaSim a locomotive system that can move the robot to the location of the detected oil, was achieved through programming the Arduino movements through python. While the python code was in connection with the Arduino components, such as servo motors, DC motors, and LED light bulbs, the researchers have observed that the Arduino reacts and moves accordingly. This objective was satisfied through the simulation, on CoppeliaSim, of the robot’s mobility. Exactly three environments were created, 1 - No Obstacles, 2 - Static Objects, and 3 - Dynamic Obstacles, to intensively analyze the robot’s responses and obstacle avoidance given different situations.


The fourth objective, to integrate a wireless-guided system to assist in the robot's mobility within a simulation, was accomplished through the creation of a user interface or an application that could collect and provide feedback to and from the robot. The interface was designed in PyQT5 and QT Designer in a way where users can easily navigate through the application. Similar to the other programming codes done, this user interface was programmed in python. The image and video processing along with the Arduino controls were integrated into the codes, having that said, the user interface is connected to live cameras and can manually move the robot around. Additionally, this study was able to test how user-friendly the user interface is through the System Usability Scale. Given the results, the researchers have concluded that the user interface created is effective.


The last objective, to store the optimal amount of oil the robot can carry through a virtual simulation setup, ensures that the robot can efficiently carry as much oil as possible. When the robot was designed, the largest container made could hold roughly 2.5 gallons (9.5 liters) of oil. In addition, the researchers conducted experiments with the coconut husk to find the most efficient combination of parameters that can best filter oil from water.


Throughout the whole process of researching, developing, and experimenting, it can be concluded that the researchers succeeded in the development of a semi-autonomous surface water oil-skimming robot through various means of simulation and experimentation. It can be utilized to substitute manual labor to clean a body of water by having the robot device collect and store the optimal amount of oil in a locomotive manner.

 

For further improvements, the researchers would recommend to fully utilize the DE10-Nano's FPGA and SoC capabilities in terms of parallel connection with the Arduino Uno microcontroller; implementation of battery monitoring system using the D2260A LTC6811-2 for the operation of the electronics and motors; Ladar sensor for obstacle avoidance; and user interface to be applied to other devices such smartphones, tablets, and so on.
 

0 Comments



Please login to post a comment.