Part of the reason wildfires are so difficult to contain is the wind. With wind carrying embers up to 10 miles away from an ongoing fire, it can be nearly impossible to constantly monitor swaths of often deserted, dry neighborhoods for a new fire while trying to contain one nearby. Our project seeks to monitor deserted, high priority residential areas on the periphery of a wildfire to instantly alert first responders of a new fire starting.Project Goals:
- Create a drone that can effectively and autonomously report back the locations of new fires on the ground while following a predetermined flight path.
- Present live drone and fire locations in a straightforward way, understandable by someone with no technical background.
- Create all infrastructure in a scalable way such that adding new drones/users is simple, easy, and fast.
Howwe built it:-Design Choices:
As for many engineering tasks, there are many ways we could have accomplished the project goal. Here are some explanations for how we arrived at using the technology our project runs on:
Our main objective with our data handling is to create a scalable system. By passing all of the data we receive from the drone into a database, we have the infrastructure to have multiple people watching the map feedback of where the fires are, and multiple different drones simultaneously being tracked and sending back data about potential new fires.
React Frontend with MapBox API:
Writing a frontend in React brings our infrastructure to the web, meaning users can connect to it from any computer without needing to download software. Additionally, we chose to display all of our data in a map API to provide easily readable, real time data to the user.
Raspberry Pi 3 B:
The Raspberry Pi enables us to run image processing algorithms onboard the drone during its flight. This is an advantage over a system that doesn't perform onboard calculations because it is only sending the coordinates of interest back, rather than needing to send every image it takes to be analyzed elsewhere.-Hardware:Raspberry Pi 3:
We are using a Raspberry Pi 3 to run an image processing algorithm that looks for fires on the ground. This algorithm works by checking for colors that are indicative of a fire existing.Logitech C930:
We chose to use the Logitech C930 camera to perform the main image processing of the fires on the ground.-Software:Backend software:
We utilized Google Cloud’s “Firebase” to store all of the important information we need to effectively build our react app off of data we receive from the drone. Of the options for creating a database in Firebase, we chose to create a “Real Time Database" rather than a cloud Firestore, since this database can be written to directly from the Pi.
Within this database, we have two key data structures: drones, and fires. The below photo shows how this data is organized. There is a child “drones” that holds all of the individual drones that can be plotted to the map, and similarly one called “fires” that holds information about every fire that has been spotted by the drone(s). In this photo, we are showing the database holding 5 unique drones, with one fire icon. Each of these data points simply has a latitude and longitude value, and a unique 5 character ID that the frontend can use to reference it.
Our frontend is straightforward and simple: it displays a map filled with icons of Hovergames drones to inform the user exactly where each drone is according to its latitude/longitude fields in the database, and fire icons to show the user all of the locations where a drone decided there is a fire with its image detection algorithm.
Note: While we will not be showing the drone detecting a fire and placing its location on the map while flying due to some persistent hardware defects, the following demonstration serves to fully visualize the extent of our system’s capabilities with pre-recorded wildfires for the drone to provide live feedback on.
Here is a video demonstration of the drone detecting a fire with a live view of the camera feed:
Here is a demonstration of the drone detecting a fire using a stock video of a real wildfire.
Here is a video of the drone detecting a fire without any connections to an external source: