Search and Rescue Drone Swarm
I’m still editing this page…
For my senior design project, we are building an autonomous swarm platform for search and rescue missions.
This past summer, While I was sailing the Aegan sea I witnessed some terrible events. Due to conflicts in Syria there are many refugees fleeing to Europe. They often prefer a route that goes through the Aegean sea, often their ships sink while trying to reach Europe and they loose their lives, even thought the coast guards come to the rescue, finding 200 people in the middle of the night with one boat is quite challenging.
I came up with the idea to find the stranded victims in the sea using machine learning, machine vision and drones.
My solution would include drones which are equipped with day and thermal cameras. The drones would search a desired area using the cameras and it would process the data with the on board ML models to see if it detects a victim. If the drone thinks that it is seeing a victim, it alerts the operator. With this technology a single operator can launch several drones and he would not have to watch the video feeds nor pilot the drones. While he is dealing with other stuff, the drones can find the victims. Basically we are empowering humans with robots and AI
When I came back to U.S. in August, I mentioned this to my friends, and we decided to implement it for our junior design project.
We have several different platforms/environments, that we are working on for the project. They are mainly: Drone, Server and the user interface.
The server has two different servers, one is for the web application (an HTTP server), and the other one is for the drones. The web application is a flask server with ngnix and PostgreSQL.
The tunnel server, which is communicating with the drones is a raw TCP socket server that I implemented from scratch. It uses threading and raw sockets to communicate
with the drones. The packets are in json.
At the moment I’m developing an API to interact different processes (HTTP server and the tunnel server)
Our front end is a Vue application at the moment, me and one other teammate decided to use Vue framework because the learning curve is quite small and it is ideal for
inexperienced teams. I’m actively monitoring our front end dev and providing guidance when needed. There are several design criterias that we want to implement
- Would require the least user interaction to get a task done.
- Would help the user to get as much as information in least amount of clutter.
- Would not require any drone piloting skills are advanced technical knowledge to use.Would allow multi user interaction.
- Everything must be as robust as possible.
These design criterias are quite logical since this will be for emergency use.
Our first prototype for this project is a multicopter, even though it is not suitable for strong winds and long ranges, it meets our needs for th first prototype and proof of concept. We are 3D printing the whole frame in order to be as flexible and custom as possible. The only downside of doing that is the print time at the moment. (Assuming that we won’t have any problems with the design). The manufacturing and the design process has multiple factors that I have to be careful about. Those are:
Time/ and easiness of 3D printing
The first iteration of the design is right now being printed, with multiple printers, I can print one drone in 7 hours. I did not calculate the time for just one printer. The total weight is going to be about 1200grams, which is similar to the DJI Phantom series. I couldn’t get lighter than that without using carbon fiber. Sadly it is not waterproof yet, I will worry about that in near future.
The drones connect to the server through 4G or custom radios if they are operating in a place where there is no cell reception. We are also planning to implement mesh connection options for rural areas where there is no cell reception.
There are several computer boards on the drone, they are mainly used for machine vision applications and overall mission command. We might add some nvidia boards if we need more processing power. I’m so excited about the drone! So far I’ve spent at least 32 hours on the physical design. I expect to finish at 40 hours.
If we compare our project to other in class projects I might say that this is much more than anything that is expected or being implemented for the junior design class,
We are working on this project really hard and passionately because we actually believe that what we are doing can make a difference, and it is cool and fun as hell.
Who knows? This might become a company.