-
contaminated sand on a beach
-
contaminated sand vs. clean sand (used for distinction in code)
-
this included a sprite can, incorrect batteries, and duct tape. here is thecompleted improvised battery
-
when faced with the challenge of not having access to the appropiate battery, we decided to create a usable one with what we had available.
-
the simulated "beach" we would test our project on
Inspiration
The theme for this Hackathon was the main inspiration for our project. However, I went further to select an issue that was not included in the video. The issue of contamination in beaches is something that anyone who has ever visited a popular beach has seen, but many people might not take it seriously enough considering the health risks it poses to humans, and the damage it does to the surrounding ecosystem. We began our project with some heavy duty research. There we learned that chronic exposure to some types of contaminated soil (agrochemicals, lead, petroleum) can cause birth defects. Exposure to coal tar and petroleum is associated with increased incidence of leukemia. Pesticides can cause increased incidence of kidney damage and various irreversible diseases. Hazardous chemicals can alter the metabolisms of the organisms of primary levels of the food chain, messing up the whole ecosystem. and ingestion of alien chemicals on primary levels will translate to more concentrated consumption in higher levels, effectively harming the whole food chain with even small levels of contamination. During that stage we went on to find tragic and horrifying images and a lack of action being taken against this pressing issue. The various methods of decontamination of the sand may be getting increasingly effective, but they mean nothing when the areas in need are not being identified effectively. Seeing this, we decided that this was an issue we must take on in our project.
What it does
Our project has many aspects and utilities. The main utility is the use of a camera to take pictures at one second increments. These pictures would go on to be uploaded to the computer and analyzed to check whether the sand in the picture is contaminated or not via vision analysis. This is then compiled into a textEdit file with 0s for clean and 1s for contaminated. This textEdit file is then read and converted to an array. This array will then be processed so that it calculates the percentage of the sand covered by the rover that was contaminated. Then, a graphic will be generated showing the mapping of the contamination along the beach. There is also a utility that ranks the logged beaches in order of severity.
How I built it
Our programming was all done in Java other than the programming for the rover that was in Arduino. We used an objects to have various characteristic for each beach, and used a linked list processed into an array to represent the data gathered. StdDraw was the basis for our graphic generator.
Challenges I ran into
As displayed in the photo gallery, we ran into the challenge of not having the correct batteries to power our rover. To solve this, we turned to the miscellaneous resources we had available to ourselves. In order to connect and ensure the correct voltage of the improvised battery, we strung together three of the incorrect batteries combined with the aluminum from a can of Sprite, and insulated the whole thing with duct tape, attaching wires to both ends.
We also faced the challenge of the lack of a library in which we could program our rover in. This challenge ultimately defeated us and rendered our robot useless. In an attempt to solve this, we tried to directly program the components through supplying power to the ports without the help of abstraction. This failed due to a lack of power available to us.
Accomplishments that I'm proud of
We are very proud of the battery innovation we had to do. Although it is not working completely consistently, given a bit more time we would be able to use the incorrect batteries in tandem with a Sprite can and duct tape to effectively power our rover.
We are also proud of our the graphic that we created to display the pattern of contamination on the beaches. A visual representation allows us to better picture the damage done to the beach and could potentially aid in the cleanup process as a sort of map for the most needful parts of the beach.
What I learned
Kaleb and I both learned a lot during this project. Kaleb can speak for his struggles and thought process on how exactly the vision analysis should work. The data processing involved in the collection of contamination level of the images was a new challenge for him that pushed him to new thinking and learning via a myriad of web searches.
I, Lucy, can mainly speak for the push for me to learn Java suddenly and effectively in order to create the percentage calculator and the graphic generator. While I had learned JavaScript thoroughly in the past, I am still in the process of taking a class on Java, and there were many tools and techniques I had to utilize that I had never seen before in order to have code that was compatible with Kaleb's. For the graphic generator, I used StdDraw, which was surprisingly simple, but something that I had only ever used briefly before.
What's next for Bituminous Sand Detecting Rover
We are interested in working further on this project and making it more realistic for real world implementation. This would include a rover with a more effective design for the purpose. In the case of prototyping for this project, we used the only driving robot available, but on a real beach this model would likely been destroyed by the sand being too difficult for its small wheels. A well thought out design of the rover could be our next step, as we also are lucky to have the materials to be able to pursue this as members of the robotics team at our school with access to a lab.
The less realistic big picture for our project is to manufacture these robots to be placed on beaches worldwide. The ranking system we made for organizing the beaches in order of severity of the contamination could serve as a system for international designation of the first beaches in line for cleanup.
Log in or sign up for Devpost to join the conversation.