Kernel of ECOBOT is the AI/ML model that allows the robot to Monitor, Quantify, Detect marine debris, using a hardware model described in details in "section ECOBOT the swarm" .
Our model is created using different images collected from Nasa resources provided to us on the challenge page. a total number of 2035 images were collected and model was trained using Convolutional Neural network, we chose CNN because it's high accuracy in image classification.
Ecobot is based on SWARM Intelligence and is divided into two main parts also it operates in two cases:
1st case: is what we called the Loose case, where there is no special environmental condition for the Swarm to operate in.The USV scans a specific area relying on an assigned mission after completion of mission the USV sends a CSV file of the report it had using the AI/ML model and sends it to the visualization database.
2nd case: is the disaster Alarm case what we call a SWAT CALL, the SWAT is every Special Weapons And Tactics, The SWARMs scans different areas to cover more range and get more data.
Based on Swarm intelligence every swarm has a master that the rest of the group follows, so for our case the USVs has their master and they communicate with each others using Zigbee protocol, we chose this protocol because it's a long range in order for the group not lose communication with eatch other or with the master.
Same applied to the UAVs Swarm.
The Purpose of using the UAV swarm in Disaster cases, is for two reasons:
1.For a wider range of view and also different field of view "FOV" and covering more ares then the USV since it's a Special case we should cover more areas than Loose case of using USV swarms.
2.It supports the USV in disaster case through its mission in order not expose the USV to be it self a debris if collided with a large objects.
Finally after the SWARM finish their mission they communicat with the cloud visualization database to update the report.
The hardware kernel is the processing unit of the whole system, we decided to use Cluster computing for processing the whole system which is composed of Four main parts
Practical model
ECOBOT GUI
AI MODEL
Database Visualization
We are using the cluster for the processing practical model for two main reasons:
1: to help us train the model faster, as it's well known that the larger the dataset the model trained on the better performance we will get.
2:After impelementing the whole system of USV mission controlling modes we will need to fast handle the signals of the swarm master and run the swarm intelligence so we will need the processing unit to be fast and efficient also scalable if we wan to future add any feature to our system.
*We didn't use the Raspberry pi 4 cluster, we intended to use it to train a large model but we did not manage to find a big dataset in time so we only used CNN & Transfare learning to train more than one model and chose one of them.
WE used transfer learning using mobilenetV2 to improve our accuracy and fasten our learning process, but we tend to build more models and compare performances and accuracy.
Our transfer learning model accuracy is 89%, we didn't want to overfit the model so we will continue on the learning by applying the model on playground.
The Unmanned Surface Viechle USV single unit is holding the components of the block diagram:
First off the Processing unit as mentioned previously, and its role to revive signals from Cameras & thermal camera,
which we are using for detecting if the debris is attached to a living creature to report about it, also for this purpose we trained our model on pictures of animals attached to debris in order not to confuse the USV and don't collect the debris attached to the living creature.
A thermal camera will give us a thermal image to tell us if there's a living creature to avoid collecting the debris attached to it.
A normal camera is used to take pictures with time lapses to create a frame of photos to save it for later in external storage attached to the cluster. Maybe use it for other purposes to train other models.
The depth sensor & temperature sensor are one industrial sensor allow us to measure the barometric pressure under the surface of the water, the temperature sensor allows us to measure the water temperature and that measure is important to use due to main 2 reasons:
1: the battery can not perform under a certain temperature value, otherwise the USV will probably stop.
2: some sensors have performing temperature for example -20 C under which its measures are accurate.
The 6 ultrasonic is distributed as explained in the ECOBOT allow the USV to avoid obstacles.
The sonar sensor we add to measure the distance to a wide range of objects regardless of shape, color, or surface texture we added it in some big designs like the Disaster case design.
GPS, Global positioning sensor is used as the main part of our project it's aim to determine our current position, it
Allows us to manage the missions, follow the modes and apply it, MAIN target to know the position of the debris
anywhere and record it with the type of debris, finally save it and send it to the visualization database.
We designed the system of sensors and processing units with the GPS with a separate battery because they draw less current, the other battery is larger for the motors and they are explained in detail in ECOBOT The swam.
Magnetometers is used to detect orientation with respect to the Earths magnetic field. Same manner as compass. We can tell which way is North, and thus correct for motion calculation errors and absolute orientation.
Magnetometers have to measure a very small magnetic field of 35-65 uTesla, in a world full of magnets. And there's some offset when they are manufactured and pick and placed.
Of all the other sensors needs calibrations, magnetometers are the most essential to calibrate! Unless you're detecting strong magnets, there's no way for a magnetometer to work unless you perform a hard iron offset calculation. Once this is done, you will get rid of any strong magnetic offset values and be able to find magnetic North.
All of our sensors must be calibrated , it comes with calibration from factory but for compass we should tell the North from south and East from West.
We aim to complete our Desktop application to complete a whole dedicated system to solve this problem.