How srey5/drone-risk works
This is a Streamlit UAS ground-risk analyzer and flight planner. Operators configure a drone and wind, place start/end markers, and request a risk map and risk-weighted route. The app delegates risk-grid generation and pathfinding to the engine, then renders the results on the map. A planned route can also be sent to the simulation API for telemetry and a summary; mission context can be sent to the Gemini co-pilot. The README documents live building ingestion, rasterization, GPU-accelerated risk convolution, and multi-objective A*. Simulation internals and some UI wiring are only partially sampled, so uncertain links are omitted.
Main entry points: app/main.py Mission Planner UI · interface.py Risk and Path Interface · sim_api/main.py Simulation API · omni_runner.py Flight Simulation Runner
Components 13
Mission UI
- Mission Planner UI
app/main.py - Map and Overlays
app/main.py
Risk and Routing
- Risk and Path Interface
core/engine/interface.py - Building Data Raster
core/engine/interface.py - Risk Convolution Kernel
core/engine/physics.py - Weighted A*
core/engine/pathfinding.py
Flight Simulation
- Simulation API
sim_api/main.py - Flight Simulation Runner
sim_api/omni_runner.py
Mission Co-pilot
- Co-pilot Context and Client
core/agent/gemini_copilot.py
Other components
- Operator
- OpenStreetMap Buildings
- Isaac Lab
- Gemini API
Connections 13
- Operator → Mission Planner UI: sets mission
- Mission Planner UI → Map and Overlays: renders map
- Mission Planner UI → Risk and Path Interface: requests risk grid
- Risk and Path Interface → Building Data Raster: fetches and rasterizes
- Building Data Raster → OpenStreetMap Buildings: queries buildings
- Risk and Path Interface → Risk Convolution Kernel: computes convolution
- Mission Planner UI → Risk and Path Interface: requests route
- Risk and Path Interface → Weighted A*: runs weighted search
- Mission Planner UI → Simulation API: posts flight path
- Simulation API → Flight Simulation Runner: runs simulation
- Flight Simulation Runner → Isaac Lab: uses physics runtime
- Mission Planner UI → Co-pilot Context and Client: sends query and context
- Co-pilot Context and Client → Gemini API: generates response