AI-powered drone for real-time hazard detection, autonomous navigation, and situational awareness in disaster zones
ResQ-AI is an autonomous disaster response system that deploys a simulated drone in NVIDIA Isaac Sim to survey disaster-affected urban environments. The drone uses:
- YOLOv8 for real-time fire and hazard detection
- NVIDIA Cosmos Reason 2 (Vision-Language Model) for autonomous flight decisions and navigation
- Thermal imaging for heat signature analysis
- 3D semantic segmentation for structural assessment
The system follows a SURVEY β INVESTIGATE β RETURN state machine, autonomously prioritizing fire zones, tracking civilians, and generating mission reports β all without human intervention.
ResQ-AI end-to-end pipeline. AIDER aerial imagery trains the YOLOv8 fire detector, which feeds into an NVIDIA Isaac Sim urban disaster simulation. NVIDIA Cosmos Reason 2 VLM processes fused sensor data to autonomously navigate the drone. Results are streamed to a real-time tactical dashboard.
Figure 1. ResQ-AI system architecture. Aerial disaster imagery trains the YOLOv8 detector, deployed in NVIDIA Isaac Sim with Cosmos Reason 2 VLM for autonomous drone navigation and real-time fire zone prioritization.
| Feature | Description |
|---|---|
| π₯ Fire Detection | YOLOv8 detects fires with bounding boxes, confidence scores, and 3D world-coordinate projection |
| π§ AI Navigation | Cosmos Reason 2 VLM analyzes the scene and generates autonomous waypoints based on fire priority scoring |
| π‘οΈ Thermal Imaging | Synthetic thermal camera renders heat maps to identify fire intensity and spread |
| π Mission Reports | Auto-generated JSON reports with fire zones, civilian status, urgency levels, and recommended actions |
| πΊοΈ Tactical Dashboard | Real-time web UI with video feeds, AI reasoning log, telemetry, and fire situation display |
| π₯ Civilian Tracking | Monitors civilian positions relative to fire zones and tracks safe/danger status |
ResQ-AI/
βββ orchestrator/ # AI decision-making & VLM integration
β βββ main.py # Orchestrator entry point
β βββ vlm_server.py # Cosmos VLM server (NIM / vLLM / mock backends)
β βββ orchestrator_bridge.py # Bridge between sim and orchestrator
β βββ logic_gates.py # Decision logic and state transitions
β βββ generate_map.py # Hazard map generation
β
βββ sim_bridge/ # Isaac Sim simulation interface
β βββ headless_e2e_test.py # Full end-to-end simulation pipeline
β βββ yolo_detector.py # Dual YOLO fire & person detection
β βββ cosmos_navigator.py # Cosmos VLM navigation controller
β βββ drone_controller.py # Drone flight controller
β βββ fire_system.py # Fire spawning & spread simulation
β βββ spawn_drone.py # Drone setup with sensors (RGB, Depth, Semantic, IMU)
β βββ generate_urban_scene.py# Procedural urban scene generation
β βββ thermal_processor.py # Synthetic thermal image processing
β βββ thermal_sim.py # Thermal simulation engine
β βββ civilian_tracker.py # Civilian position & status tracking
β βββ projection_utils.py # 2Dβ3D coordinate projection
β βββ report_generator.py # Mission report generation
β βββ render_aerial_view.py # Aerial view rendering
β βββ api_server.py # REST API for dashboard
β βββ demo_flight.py # Demo flight path controller
β
βββ frontend/ # Web dashboard UI
β βββ index.html # Mission Control dashboard
β βββ page3.html # Aerial Fire Detection view
β βββ page4.html # Full Mission Dashboard
β
βββ Phase1_SituationalAwareness/ # YOLO training & inference
β βββ train_yolo.py # YOLOv8 training script
β βββ export_trt.py # TensorRT export
β βββ live_inference.py # Real-time inference
β βββ run_on_colab.ipynb # Google Colab training notebook
β
βββ Phase2_StructuralSegmentation/ # Semantic segmentation
β βββ rescuenet_download.py # RescueNet dataset downloader
β βββ live_inference_seg.py # Segmentation inference
β βββ run_phase2_colab.ipynb # Colab/Kaggle notebook
β
βββ Phase3_Reasoning/ # VLM reasoning setup
β βββ setup_cosmos.py # Cosmos model setup
β βββ requirements.txt # Phase 3 dependencies
β
βββ scripts/ # Shell scripts
β βββ run_demo.sh # Launch demo
β βββ run_e2e_test.sh # Run full E2E test
β βββ run_headless.sh # Headless simulation
β
βββ run_orchestrator.py # Main orchestrator launcher
βββ run_cosmos_pipeline.py # Cosmos VLM pipeline
βββ generate_flight_data.py # Flight data generation
βββ render_aerial_fires.py # Aerial fire rendering
βββ Dockerfile # Docker container setup
βββ docker-compose.yml # Multi-service Docker config
βββ requirements.txt # Python dependencies
βββ setup_isaac_sim.sh # Isaac Sim installation script
βββ setup_brev.py # Brev cloud instance setup
βββ resqai_urban_disaster.usda # 3D urban disaster scene (USD)
- NVIDIA Isaac Sim 5.1 (requires NVIDIA GPU with RTX)
- Python 3.10+
- NVIDIA API Key (for Cosmos VLM via NIM)
Download these packs from https://docs.omniverse.nvidia.com/usd/latest/usd_content_samples/downloadable_packs.html and unzip them into the following folders:
- Rigged Characters Asset Pack (891 MB) β
assets/Characters/ - Extensions Sample Asset Pack (159 MB) β
assets/Particles/ - Base Materials Pack (8.2 GB) β
assets/BaseMaterials/ - Environments Skies Pack (8.9 GB) β
assets/Environments/ - AEC Demo Assets Pack (2.0 GB) β
assets/Architecture/
### 2. Configure Environment
Create a `.env` file in the project root:
```env
NVIDIA_API_KEY=your_nvidia_api_key_here
VLM_BACKEND=nim # Options: nim, vllm, mock
RESQAI_COSMOS_MODEL=nvidia/cosmos-reason2-2b
RESQAI_VLLM_URL=http://localhost:8000
# Run the end-to-end simulation pipeline
bash scripts/run_e2e_test.sh
# Or run directly
python sim_bridge/headless_e2e_test.py# Serve the frontend
cd /path/to/ResQ-AI
python3 -m http.server 8080
# Open in browser
# http://localhost:8080/frontend/page3.html β Aerial Fire Detection
# http://localhost:8080/frontend/page4.html β Full Mission Dashboarddocker-compose up --buildThe system procedurally generates an urban disaster scene in Isaac Sim with buildings, roads, fire zones, and civilians.
A drone is spawned at altitude with multiple sensors:
- RGB Camera β Visual feed for YOLO detection
- Depth Camera β 3D spatial awareness
- Semantic Segmentation Camera β Object classification
- IMU β Inertial measurements for flight control
Each frame is processed through:
- YOLOv8 fire detection (confidence-scored bounding boxes)
- Thermal processing (synthetic heat map generation)
- 3D projection (2D detections β world coordinates)
The Cosmos Reason 2 VLM receives:
- Current drone position and telemetry
- Detected fire zones with positions, intensity, and area
- Civilian status and positions
It outputs:
- Target waypoint (x, y, z coordinates)
- Priority score (0-10)
- Reasoning text (human-readable explanation)
- Flight state (SURVEY / APPROACH / FOCUS / TRACKING)
Mission reports are generated every 5 seconds containing:
- Active fire count, total burn area, spread rate
- Civilian breakdown (safe, in danger, rescued)
- YOLO detection log
- Urgency level and recommended actions
| Phase | Status | Description |
|---|---|---|
| Phase 1: Situational Awareness | β Complete | YOLOv8 fire/hazard detection trained on AIDER dataset |
| Phase 2: Structural Segmentation | β Complete | Pixel-level segmentation using RescueNet |
| Phase 3: Autonomous Navigation | β Complete | Cosmos VLM-driven autonomous drone navigation in Isaac Sim |
| Component | Technology |
|---|---|
| Simulation | NVIDIA Isaac Sim 5.1 (USD/PhysX) |
| AI Navigation | NVIDIA Cosmos Reason 2 (VLM) |
| Object Detection | YOLOv8 (Ultralytics) |
| Segmentation | RescueNet / YOLOv8-Seg |
| Drone Control | PegasusSimulator / Custom MPC |
| Frontend | Vanilla HTML/CSS/JS (Tokyo Night theme) |
| Backend | FastAPI / Python |
| Deployment | Docker, NVIDIA NIM |
| Cloud Training | Google Colab, Kaggle |
Built for the NVIDIA Cosmos Cookoff Hackathon by:
- Aditya β AdityaP9116
- Anshul β AMMistry18
- Asteya β AsteyaLaxmanan
- Sriram β SriramV739
This project was developed as part of a hackathon submission. See LICENSE for details.
