Multi-Agent Tracking (MAT) & Disasters
Relevant source files
The following files were used as context for generating this wiki page:
The Multi-Agent Tracking (MAT) system, also referred to as the Mass Casualty Assessment Tool, detects and locates survivors in disaster environments using WiFi Channel State Information (CSI). It provides search and rescue teams with real-time triage classification and localization of individuals trapped in rubble or debris without requiring line-of-sight or wearable devices.
The system integrates high-performance Rust crates for backend logic, a CLI for field operations, and cross-platform mobile and WebAssembly (WASM) dashboards for visualization. It utilizes the START (Simple Triage and Rapid Treatment) protocol to prioritize rescue efforts based on detected vital signs and movement patterns.
Sources: v2/crates/wifi-densepose-mat/README.md, ui/mobile/README.md
System Architecture
The MAT architecture follows Domain-Driven Design (DDD) principles with event sourcing to ensure reliable state management during disaster response. It is organized into bounded contexts for detection, localization, and alerting.
Core Components
| Component | Responsibility |
|---|---|
| Detection | Classifies breathing patterns, heartbeat signatures, and movement levels. |
| Localization | Performs 3D position estimation via triangulation and depth estimation through debris. |
| Alerting | Generates priority-based alerts and dispatches triage notifications. |
| ML Layer | Models debris penetration and signal attenuation for uncertainty-aware vital signs. |
Sources: v2/crates/wifi-densepose-mat/README.md:12-25, v2/crates/wifi-densepose-mat/src/lib.rs:35-50
Data Flow Diagram
The following diagram illustrates the flow of CSI data from hardware sensors through the MAT processing pipeline to the end-user interfaces.
The DisasterResponse coordinator manages the lifecycle of a disaster event, including zone management and the scanning loop.
Sources: v2/crates/wifi-densepose-mat/README.md:46-60, ui/mobile/README.md:145-175
Triage & Detection Logic
MAT automates survivor classification using the START protocol. The system evaluates vital signs extracted from WiFi perturbations to assign one of four primary triage statuses.
Triage Classifications
| Status | Color | Priority | Description |
|---|---|---|---|
| Immediate | Red | 1 | Life-threatening conditions; requires instant care. |
| Delayed | Yellow | 2 | Serious but stable conditions. |
| Minor | Green | 3 | Walking wounded; non-life-threatening. |
| Deceased | Black | 4 | No signs of life detected (breathing/heartbeat). |
| Unknown | Gray | 5 | Insufficient signal for reliable classification. |
Sources: v2/crates/wifi-densepose-wasm/src/mat.rs:72-105, v2/crates/wifi-densepose-cli/README.md
Detection Modalities
The system employs an ensemble classifier that combines three primary signal signatures:
- Breathing Patterns: Detected between 6–30 BPM using bandpass filtering (0.1–0.5 Hz).
- Heartbeat Signatures: Detected between 40–120 BPM (0.8–2.0 Hz).
- Movement Classification: Identifies large-scale shifts or tremors in debris.
Sources: plugins/ruview/skills/ruview-applications/SKILL.md:13-25, v2/crates/wifi-densepose-mat/README.md:20-25
Operational Interfaces
Command-Line Interface (CLI)
The wifi-densepose mat command group allows operators to manage scans and export data in JSON or CSV formats.
# Start a continuous scan in a specific zone
wifi-densepose mat scan rubble-alpha --disaster-type earthquake --sensitivity 0.8 --continuous
# List detected survivors sorted by triage priority
wifi-densepose mat survivors --sort-by triage --format table
Sources: plugins/ruview/skills/ruview-cli-api/SKILL.md:15-35, v2/crates/wifi-densepose-cli/README.md
Mobile Dashboard
The mobile application (React Native/Expo) provides a specialized MAT screen for mass casualty assessment. It includes:
- Survivor Counter: Aggregates counts by triage status.
- Alert List: Scrollable notifications sorted by priority.
- Zone Scan Tracking: Visual progress of active search areas on an SVG floor plan.
Sources: ui/mobile/README.md:238-250
WebAssembly (WASM) Dashboard
The MatDashboard WASM class enables browser-based disaster response. It supports direct rendering to HTML5 Canvas.
const dashboard = new MatDashboard();
dashboard.addRectangleZone('Search Zone A', 0, 0, 200, 150);
dashboard.onSurvivorDetected((survivor) => {
console.log('New detection:', survivor.triage_status);
});
Sources: v2/crates/wifi-densepose-wasm/src/mat.rs:320-350, v2/crates/wifi-densepose-wasm/README.md
Data Models
Survivor Schema
The system tracks survivors as aggregate roots with the following core fields:
| Field | Type | Description |
|---|---|---|
id | UUID | Unique identifier for the tracked agent. |
zone_id | UUID | Reference to the scan zone where detection occurred. |
triage_status | Enum | START protocol classification. |
confidence | f64 | Detection confidence (0.0 to 1.0). |
depth | f64 | Estimated depth in meters (negative values indicate burial). |
is_deteriorating | bool | Flag indicating worsening vital signs over time. |
Sources: v2/crates/wifi-densepose-wasm/src/mat.rs:118-155, python/wifi_densepose/mat.py:20-25
Summary
MAT & Disasters is a critical subsystem of RuView that repurposes WiFi sensing for search and rescue. By combining non-line-of-sight CSI processing with the START triage protocol, the system enables efficient mass casualty assessment in environments where traditional sensors fail. State is maintained through an event-sourced architecture, ensuring search history and survivor locations persist across multi-agent coordination efforts.
Sources: v2/crates/wifi-densepose-mat/README.md, v2/crates/wifi-densepose-mat/src/lib.rs