Inspiration
Wildfires demand fast coordination between many responders and clear situational awareness. We wanted to explore how multi-agent software—combining classic robotics stacks with LLM-assisted planning—could model a scout directing ground units over terrain and a spreading fire, in a setting we could run and visualize end-to-end for BeachHacks 2026.
What it does
FyrdUp is a multi-agent wildfire simulation: a scout coordinates N firefighter robots in Gazebo Harmonic with ROS 2 Humble. Fire evolves on a grid; robots move, spray water, and refill. Fetch uAgents carry commands and alerts between the scout and firefighters. A Google ADK-backed ScoutADKAgent uses Gemini for a fast streaming commentary loop and a slower tactical cycle (deterministic or JSON assignments). At startup, an aerial image seeds the world: Gemini infers fire shape, Depth Anything V2 builds terrain height. Foxglove Studio connects to two foxglove-sdk WebSockets (2D bird’s-eye + 3D scene and scout reasoning logs).
How we built it
We organized the repo as ROS 2 packages (wildfire_msgs, wildfire_gazebo, scout_robot, firefighter_robot, wildfire_agents), built with colcon and setup.sh. Python nodes implement the fire grid, world init, position/navigation controllers, ros_bridge (ROS ↔ uAgents), foxglove_viz and scene_publisher_3d, and the ADK scout. Gazebo runs headless through Vultr (gz sim -s -r); visualization uses embedded WebSocket servers instead of ros-humble-foxglove-bridge. Configuration flows through launch args, agent_config.yaml, fire_params.yaml, and environment variables.
Log in or sign up for Devpost to join the conversation.