Inspiration
Our project was inspired to combat environmental pollution spills (such as fertilizer which can cause algae blooms, heavy metal contamination, etc.). To do so, we set out with the goal of creating an aquatic drone network that would be able to navigate these environments and then subsequently distribute themselves in such a way where the gradient of the analyte of interest can be easily revealed for remediation/restoration efforts. The particular endgoals were to be able to construct these aquatic drones which would contain multiple sensors for the analyte of choice enabling them to measure the local gradient through which they may use to travel towards any sources of pollution. After they locate the source, they would then distribute themselves across the diffused analyte (through a combination of following the flow of a particular environment or by descending the gradient through semi-random/directed algorithms). Then, drones would position themselves in any programmable matter (we hoped for a simple contour outline of each particle in terms of the concentration across a given space).
What it does
In the end, we were only able to achieve a simple gradient ascent or descent algorithm given a particular simulated environment (consisting of a given concentration space, vector field, and bounding geometry. We also were able to make a "prototype" frame for our drones, but it is not necessarily functional and is more taylored towards the limited resources we had (such as lack of various sensors).
How we built it
The simulated environment was not constructed through a single continuous workflow but rather we opted to do in various stages in separate programs and file transfers. Firstly, a geometry that was modeled after a branching river was constructed and we ran computational fluid dynamics to determine vector fields, flows, and various pressures. Using a simple approximation for diffusion of an analyte, we then created a rudimentary concentration map across the model. This information was compressed into image form with various colors mapping to particle values of concentration, which could then be imported and subsequently processed via our code. This would enable us to test out various search methods to get simulated drones to the source environment (we did not have much time for the distribution aspect of the algorithm unfortunately).
For the physical prototype, we 3D printed components after modeling on Solidworks and incorporated various parts such as Servo motors and Brushed motors, in addition to an ESP32 microcontroller. We were unable to incorporate other components like the water sensor. And ultimately, we could not finish the assembly into a working unit.
Challenges we ran into
Our challenges involved time management. We did not anticipate the amount of planning or time that would be required into the idea we chose. If given more time, we would have had more time for prototyping. Otherwise though, perhaps the biggest problem was that we bit off more than we could chew!
Accomplishments that we're proud of
For 2/3 of our teamates, it was their first times for hackathons (for the other his second) and we're just proud that we had fun making some product!
What we learned
Each being responsible for different aspect we all learned different things. Some of us we were able to learn the basics of Git and Github to help fascilitate the collaboration process which was super cool. Others learned some simple gradient descent and ascent algorithms as well as got some experience with fluid dynamics. But, we suppose that the challenges we ran too also were something we're going to learn from for the future.
What's next for Water Drone Sniffers
We hope to finish a full prototype for the next time if we were to continue with this project, and actually make it functional! We almost had all the parts, and with a little more time, this could've gone to fruition!

Log in or sign up for Devpost to join the conversation.