Our team consists of people interested in computer engineering, computer science, electrical and mechanical engineering and mechatronics. We realized the devastating effects of natural disasters across the globe and how early detection and containment can reduce the damages of these incidents. Some of these jobs also pose too big a risk for humans to consistently work; we thought, why don't we see what we can do with autonomy and internet of things to divide and conquer and attack the problem?
What it does
Two Arduino vehicles communicate with a central computer the data collected in the field; this information is shared between the two Arduino robots to better inform their future navigation routes and plotted visually for the user to observe.
How we built it
The project was divided into a cyber and physical component.
Cyber The cyber component required communications, navigation and data storage and analysis. This required three distinct sets of software and firmware, written in Python and C respectively. The communications portion was the toughest part. We consulted a PennApps mentor who recommended we use a protocol called MQTT. This is a "publish-subscribe" internet protocol that was more useful and lightweight in how we could synchronize our internet of things applications. This enabled us to send strings to each other using "topics", which were like tags to identify our data sets. We leveraged an online free broker that buffered our data from one module to the next.
Regarding navigation, we emulated our environment with a grid system and modeled the physical component with functions that numerically valued our motions. Using this, we were able to discretize our location and movement.
This motion is represented through data which is then represented in our GUI. On our left side, we have a graph that demonstrates the actual emergency situation and severity and on the right is the graph that represents information collected by our drones. This was also built in Python.
Physical We leveraged MLH hardware, laser cutting, and soldering to build our two chassis and vehicle. The vehicle consists of parts including two motors, four wheels, and an Arduino 101.
Challenges we ran into
We originally set out to use Bluetooth, but due to recent changes in serial ports and Arduino technology, we were unable to find a suitable framework online that successfully leveraged our code and hardware configurations.
Accomplishments that we're proud of
We're very proud of everything that we've learned along this way and all of the people that we've met. In our hands are two hacked together robots that didn't exist nearly 36 hours ago.
What we learned
We learned a lot about computer networks, Python, GUI design, hardware, mechanical engineering, ideation and team work. It was such an enriching engineering experience in how all of us were able to build something real and meaningful. We also all had enriching discussions with each other regarding technical requirements and strategy. It was an intimate environment and we all absorbed technical knowledge from each other in all of our respective duties to this team.
What's next for Drone Swarm
We hope to continue building cyber-physical systems and IOT projects. This project has opened many doors for us and introduced us to many ideas between the four of us on this multi-disciplinary team. We have more confidence in getting hands on and building meaningful products that have real world value , impacting real-world people.