Inspiration

We were inspired by videos of multiple drones flying through dense forests, as well as search-and-rescue teams moving through forests in single file while systematically sweeping an area for a missing person. These scenarios raised a question: what if a fleet of autonomous drones could coordinate the same search process while adapting to the environment in real time?

What It Does

When a natural disaster occurs or a person goes missing, search-and-rescue teams, authorities, and volunteers may need to enter dangerous or difficult-to-navigate environments to locate survivors. Our project is a demonstration of a multi-drone search-and-rescue system designed to locate people across a given environment while intelligently allocating search tasks among a fleet of drones. Currently, the system supports:

  • Multi-drone mission planning and task allocation
  • Real-time knowledge sharing across the drone fleet
  • Frontier-based search prioritization
  • A* pathfinding around buildings and other obstacles
  • Population, hazard, urgency, and information-gain scoring
  • Battery management and automated recharging logic
  • Flood- and hazard-triggered loss-of-life risk modelling
  • Mission metrics including area coverage, survivor discovery, drone utilization, and mission completion We also included an interactive game mode where users can manually take control of a drone and search the environment themselves.

How We Built It

We combined geospatial, elevation, Earth observation, and OpenStreetMap data with offline local-area data bundles to provide the drone fleet with information about its environment. This information is used to evaluate different areas and dynamically adjust the weights used by the search and prioritization algorithms.

Technologies

  • JavaScript
  • TypeScript
  • SQL
  • Snowflake
  • Gemini

Challenges We Ran Into

Handling Large Location Data

We initially planned to use Snowflake to store information about each location. However, the JavaScript files containing the location data became too large, resulting in timeouts when retrieving the data.

Scaling Search Beyond a Few Locations

We also planned to use Gemini Deep Search to retrieve environmental information dynamically. Our goal was to allow users to provide coordinates anywhere in the world and have the retrieved information automatically update the search weights used by the drone system. However, the Deep Research process consumed more tokens than anticipated, and we exhausted our available budget before the first search could be completed. As a result, we constrained Gemini's Deep Research usage to a smaller set of locations and relied more heavily on preprocessed and offline data for the demonstration.

Accomplishments that we're proud of

Although we weren't able to complete the full scope of the demo, we were able to produce a foundation for a future platform that will aid the protection, safety and security of millions of people worldwide.

What We Learned

Through this project, we learned that building an autonomous search-and-rescue system is much more than simply finding the shortest path from one point to another. A useful system needs to continuously balance competing factors such as coverage, urgency, hazards, battery life, information gain, and coordination between drones. We learned how different types of geographic and environmental data can be combined to influence autonomous decision-making. Population density, elevation, hazards, and map data can all change which areas a drone should prioritize. We also learned the challenges of working with real-world data. Data that looks manageable individually can become difficult to retrieve, process, and share at scale. Our experience with Snowflake and Gemini Deep Research showed us the importance of designing around data size, retrieval latency, token usage, and resource constraints from the beginning. Most importantly, we learned that multi-agent systems are fundamentally about coordination and information sharing. A fleet of drones can accomplish more than independent drones searching randomly, but only if they can communicate what they have already discovered and continuously adjust their plans based on new information. This project gave us a better understanding of how AI, geospatial data, pathfinding, and autonomous decision-making can work together to solve a real-world problem.

What's next for Search And Rescue Drone Swarm

Our next step is to optimize search behavior and enable searching to occur in any given location by world coordinates before moving towards a system that can operate with real-world drone and sensor data. We would like to:

  • Integrate real drone telemetry and flight-control systems
  • Use computer vision to detect people, vehicles, fires, and other hazards from drone cameras
  • Incorporate live satellite, weather, and emergency data
  • Improve the multi-agent coordination system so drones can dynamically redistribute tasks as new information is discovered
  • Develop more realistic battery, flight-time, and charging models
  • Expand the system to support larger and more complex environments
  • Test the algorithms in realistic simulations before eventually deploying them on physical drones Long term, our goal is to build a system where a rescue coordinator can provide an area and mission objective, and the drone swarm can plan, coordinate, search, and adapt autonomously while keeping human operators in control of critical decisions.

Built With

Share this project:

Updates

Submission history