Features & Architecture

Every component of the A.U.R.A. system — from raw sensor ingestion to AI-generated recommendations

Full-Stack Web Application

FastAPI backend + WebSocket streaming + single-page frontend — no installation, browser only

Technology Stack

A.U.R.A. runs as a FastAPI web server with an asyncio background loop that generates and ingests sensor data every second, runs the full ML pipeline, and broadcasts results to all connected browsers via WebSocket simultaneously — no polling.

Data is persisted to SQLite (WAL journal mode, foreign keys enforced) with a normalized schema: faults → locations → time-series readings. The frontend is a vanilla JS SPA with zero framework overhead.

Backend

FastAPIWebSocketSQLite WALscikit-learnPyTorchasyncio

Frontend

Vanilla JSChart.jsThree.jsSVGCSS Custom Properties
System ArchitectureFastAPI · WS · SQLite
SENSOR INPUTS (7 ISS MODULES · 20 PARAMS)
JLP&JPM Node 2 Columbus US Lab Node 1 Cupola Airlock
FASTAPI BACKEND
asyncio · WebSocket broadcast · SQLite WAL
ML PIPELINE
ISO FOREST
Anomaly Score
RAND FOREST
Fault Class
LSTM
RUL · Prob
DQN
Action Rec.
BROWSER FRONTEND (WebSocket)
Twin Dashboard Trends Alerts AI Analyst Maintenance
AURA
Digital Twin Dashboard Sensor Detail Trends Alerts
● NOMINAL
Module Status
US Lab
Node 1
Node 2
Columbus
Cupola
Airlock
JLP&JPM

Digital Twin

An SVG-based schematic of the International Space Station rendered live in the browser. Each of the 7 modules displays a color-coded health indicator driven by real-time WebSocket data: green = nominal, amber = warning, red = critical fault active.

Clicking any module navigates to Sensor Detail pre-filtered to that location. A Three.js 3D mode provides an alternative spatial view of the ISS structure.

Capabilities

  • SVG ISS schematic scales across all window sizes
  • Module health indicators update via WebSocket — no page reload
  • Click-through to per-location sensor detail
  • Fault latch display — active fault name shown at affected module
  • Three.js 3D mode alongside the 2D schematic

Real-Time Dashboard

The Dashboard aggregates all 20 sensor parameters from all 7 ISS locations into a unified view, organized by ECLSS subsystem so operators can scan by system rather than raw parameter name.

Each cell displays the current value, unit, nominal range, and a status indicator. The historical queue buffers 10,000+ rows for fast trend lookups without database round-trips.

Subsystems Covered

  • Atmosphere Revitalization System (O₂, CO₂, Humidity)
  • Oxygen Generation System (output rate, purity)
  • Water Recovery System (TOC purity, production rate)
  • Temperature & Humidity Control
  • Trace Contaminant Control (NH₃, H₂, CO)
  • Air Circulation / Ventilation (airflow rate)
  • Pressure Control (cabin pressure)
  • Microbial Monitoring (bacterial/fungal count)
  • Mass Spectrometer Module (N₂, O₂, CO₂, CH₄, H₂O)
AURA
Digital Twin Dashboard Sensor Detail Trends Alerts
⚠ FAULT
ECLSS System Overview Refresh
US LAB NOMINAL
O2 PP
20.87
CO2 PP
0.38
Humidity
52.1%
Temp
21.5°C
DQN: No Action Needed (96%) LSTM: NOMINAL
COLUMBUS FAULT
⚠ Detected: CO₂ Scrubber Failure
CO2 PP
1.31
Temp
24.8°C
DQN: Replace CO₂ Filter (89%) LSTM: CRITICAL
AURA
Dashboard Sensor Detail Trends Alerts AI Analyst
● NOMINAL
Location
US Lab ▾
Parameter
O₂ Partial Pressure ▾
Points
100 ▾
Load
20.87 %vol ● NOMINAL range 19.5–23.1
IF SCORE 0.08 FAIL PROB 2.1% RUL — hrs
23.1 21.3 19.5 -100 -50 now

Sensor Detail & Trends

Sensor Detail provides a deep-dive into a single location: all 20 parameters with current value, nominal range, deviation score, and ML classification confidence. The Trends tab plots parameter history as interactive Chart.js line charts with nominal range overlays.

Analysis Capabilities

  • Per-parameter historical charts (up to 10,000 data points)
  • Nominal range band overlay on all trend charts
  • Isolation Forest anomaly score displayed per reading
  • LSTM failure probability and Remaining Useful Life (hours)
  • Export to CSV for external analysis tools
  • Auto-selects most anomalous parameter on fault detection

Two-Tier Alert System

A.U.R.A. uses two distinct alert levels to prevent alarm fatigue. Critical alerts fire only when the ML pipeline is highly confident (Random Forest confidence >85%, sustained for configurable consecutive ticks). Warning alerts fire when parameters drift toward limits.

⬤ Critical

Active fault detected. RF confidence above threshold for N consecutive readings. Immediate action required.

⬤ Warning

Parameter approaching limit. Fault not yet confirmed. Monitor closely, schedule inspection.

Alert Features

  • Configurable cooldown window (default 600 s) prevents alert spam
  • Alert badge on nav tab shows unacknowledged count
  • Fault latch — clears only after sustained nominal readings resume
  • All 8 fault types verified — zero false positives in 1,000 nominal samples
AURA
Sensor Detail Trends Alerts 2 AI Analyst Maintenance
⚠ FAULT
Alert History Refresh Ack All
CRITICAL
Cabin Leak (97.3%) — Node 1
2025-01-01 14:23:01
Ack
CRITICAL
NH₃ Coolant Leak (91.5%) — Node 2
2025-01-01 14:18:44
Acked
WARNING
CO₂ Rising — Columbus
2025-01-01 14:09:04
Ack
AURA
Trends Alerts AI Analyst Maintenance ⚙ Settings
● NOMINAL
AI Analyst
Scope
All Locs ▾
Ollama (local)
Live Anomalies
All nominalNOMINAL
Give me a status summary.
All 7 ISS modules nominal. O₂ PP at 20.87%, CO₂ PP 0.38 mmHg. IF scores below 0.1 across all locations. DQN: No Action Needed (96%).
Ask about anomalies, faults…

AI Analyst

The AI Analyst integrates a large language model to synthesize all model outputs — Isolation Forest scores, Random Forest classification and confidence, LSTM failure probability, LSTM Remaining Useful Life, and DQN action recommendation — into natural-language situational reports.

Operators get a plain-English explanation of what's wrong, why the system believes it, and what to do next. The analyst can be queried interactively for deeper investigation.

What the Analyst Reports

  • Active faults with confidence scores from each model
  • Predicted time to failure — LSTM RUL in hours
  • Top recommended corrective action from the DQN
  • Which parameters are most anomalous and by how much
  • Historical context: has this fault pattern appeared before?

Maintenance Planner

The Maintenance tab surfaces the DQN Recommender's output: a ranked list of corrective actions for the current system state. Each recommendation includes the target fault, the suggested procedure, and the model's confidence score.

When Random Forest confidence exceeds 92%, the system bypasses the DQN and applies the direct fault-to-action mapping from the knowledge base — highest-confidence path first.

Supported Remediation Actions

  • No Action Needed (nominal state confirmed)
  • Use Sealant to Close Leak
  • Remove gas bubbles from O₂ generator
  • Close Oxygen Isolation Valve
  • Remove and Replace Air Selector Valves
  • Flush and replace water processor filter
  • Replace trace contaminant filter cartridge
  • Inspect and reseal NH₃ coolant lines
  • 3 additional fault-specific procedures
AURA
AI Analyst Maintenance ⚙ Settings
● NOMINAL
Mission Elapsed: 142.3 d Refresh
CO₂ Scrubber
CONDITION WARNING
LiOH Canisters — Atmospheric Revitalization
78% life used2.1 wk remaining
MTBF 6.0 wk · Elapsed 4.7 wk
ACTION: Replace LiOH canister cartridge
HEPA Filter
CALENDAR OK
42% life used5.8 wk remaining
ACTION: Inspect and replace filter element
Sensor Calibration
Parameter Drift/wk Cumul. Status
CO₂ PP mmHg 0.8%/wk
65%
WARN
O₂ PP %vol 0.4%/wk
32%
OK

Four-Model Pipeline

Each model passes its output downstream — raw sensor noise becomes an actionable recommendation in under a second

🌲
Isolation Forest
Unsupervised outlier detection on scaled sensor vectors. Assigns an anomaly score to every incoming reading. Trained with configurable contamination threshold. Retrainable as spacecraft operational patterns evolve. Output feeds the Random Forest classifier.
scikit-learnStandardScalerUnsupervised
🌳
Random Forest Classifier
Multi-class classifier: input = anomalous sensor vector, output = one of 8 fault types plus confidence score. When confidence exceeds 92%, result maps directly to remediation action without DQN inference.
scikit-learn8 classesSupervised
🧠
LSTM Predictor
3-layer LSTM with multi-head self-attention. Input: 60-step sliding window of 20 parameters. Dual output heads: failure_prob (0–1) and rul (remaining useful life in hours). Enables proactive scheduling.
PyTorchAttentionseq_len=60
🎯
DQN Recommender
Deep Q-Network: state = 32-dimensional vector (20 sensor params + 8 fault one-hots + 4 scalar ML outputs). Action space = 11 corrective procedures. Trained via reinforcement learning on simulated fault episodes.
PyTorchReinforcement Learning11 actions

Settings & Configuration

Every threshold that drives alert behavior is configurable at runtime through the Settings page. Changes persist to a JSON config file and take effect on the next server tick — no restart needed.

Configurable Parameters

  • alert_min_consecutive — ticks of anomaly before alert fires (default: 10)
  • alert_cooldown_seconds — minimum time between repeat alerts (default: 600)
  • alert_critical_rf_gate — RF confidence threshold for critical alert (default: 0.85)
  • latch_threshold — RF confidence to latch fault state (default: 0.95)
  • latch_min_consecutive — ticks to confirm fault latch (default: 3)
  • Data generation interval and random seed for reproducible scenarios
AURA
AI Analyst Maintenance ⚙ Settings
● NOMINAL
Data Alerts Generation Faults ML Security
Alert Thresholds
alert_min_consecutive10
130
alert_cooldown_seconds600
01800
alert_critical_rf_gate0.85
0.51.0
latch_threshold0.95
0.51.0
SAVE
RESTORE DEFAULTS