Inspiration: The inspiration of this project came from the sickening thought of someone being stranded out at sea, being located, but has already drifted lost once support arrived.
What it does: Our project features a drone with face recognition technology that we programmed to follow a face wherever it goes, and we can apply this technology by sending it out ASAP to people stranded at sea who the drone may come across as it is scavenging the banks. This way, we can keep an eye on the location of people until more advanced support arrives.
How we built it: We brought in a DJI Ryze Tello drone with a camera and imported an ML-trained facial recognition library. Our code features the initial code which sets up the starting position of the drone after the run button is run, and then the main loop which is what follows the face once it recognizes it.
Challenges we ran into: The facial recognition library we imported was very buggy and did not want to cooperate with us on our end, but we persevered and took down one error after another, oftentimes taking multiple down in one go. There was not much information online about the other libraries we were using either so we had to dig deep down into the web to find the solutions to the problems we were facing. We had other unexpected problems arise too, one of these being when we were testing our drone. We lost control of our drone and it ran into the yellow caution tape, which caused one of the propellers to fly off. This definitely scared us, however, we were able to reattach the propeller easily. We also tried to add a 3D mapping feature using Unity to potentially add the ability for our drone to map rooms so it could be on autopilot and not run into obstacles in its way such as a lighthouse. We attempted with some success to add an obstacle avoidance feature with just a single camera and no special obstacle avoidance sensors on the drone. There were many bugs and errors that came up, and we ended up having to stay up overnight to debug our extra feature that used Unity. However, we, unfortunately, had to end up scrapping the idea due to time constraints.
Accomplishments that we're proud of: We overcame many of our challenges and persevered through errors that seemed impossible to fix. We stuck with the same original idea for our project and didn’t bail on the original design despite not even knowing if it would work in the very beginning. We were glad that we failed a bit so that we could learn a lot more, an example of this would be learning the IDE. No one in our group had ever used pyCharm before, however, we knew that pyCharm would run best with our Tello drone so we stuck with it, and it’s safe to say that we are a lot more comfortable with pyCharm now. Lastly, we ended up finishing the project which would make an impact on the world and save lives.
What we learned: We definitely learned and got a lot more familiar with the way IntelliJ IDE’s work, as we had obtained a myriad of experience with pyCharm as well as working with other parts of the IntelliJ software. We learned to fail and keep going instead of becoming discouraged, and taking breaks greatly helped with this. We learned more and gained a lot of experience with programming drones and AI, which also greatly enhanced our understanding of object-oriented programming. Over the course of this project, we had to make use of a large number of libraries, which helped us learn a lot about importing.
What's next for Stranded at Sea: We are planning to use global riptide charts and ocean current flow to simulate which areas have the highest risk of people who would be stranded. We would also drop a floatation device or life vest to the victim stranded at sea to help them conserve their energy until help arrives. Meanwhile, as the floatation device is being dropped, the drone would send live GPS Coordinates and information to emergency responders for them to arrive at the scene as quickly as possible.
Log in or sign up for Devpost to join the conversation.