Skip to content

🔭 Autonomous satellite anomaly detection using time-series telemetry with onboard AI. Developed and presented at ActInSpace 2026 hackathon.

Notifications You must be signed in to change notification settings

curiousvlxd/sentinel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sentinel

Onboard autonomous anomaly detection and response. Sentinel is an end-to-end platform that lets satellites detect, understand, and react to anomalies in orbit without waiting for ground contact. Raw telemetry is turned into context; risks are identified and mitigated in real time.

Why it matters

A large share of satellites never complete their mission. Anomalies that are detected too late lead to degraded systems, cascade failures, and lost value. Telemetry is high-volume and continuous, while the link to ground is narrow and delayed. Operators cannot monitor hundreds of streams around the clock. The result is slow reaction, limited scalability, and cost tied to moving data instead of acting on it.

Sentinel shifts detection and response onboard: the satellite analyses time-series, evaluates criticality with explainable logic, and can take corrective actions as soon as an issue appears. When the link is available, the ground receives concise reports instead of raw floods. Detection works even when there is no link to Earth.

Architecture

flowchart TB
  subgraph UI["Frontend (Ground UI)"]
    A[React, Vite, Tailwind, Leaflet<br/>ground-ui-service]
  end
  subgraph API["Ground API (orchestration)"]
    B[.NET Aspire<br/>Sentinel.Ground.Api, Sentinel.AppHost]
  end
  G[(Ground PostgreSQL)]
  subgraph Satellite["Satellite instance (per sat)"]
    C[Satellite Service<br/>.NET simulator, healthcheck]
    D[Onboard-AI<br/>ML anomalies, Python]
    E[(TimescaleDB<br/>telemetry, infra/sql)]
  end
  UI -->|HTTP/SSE| API
  API --> G
  API -->|start/stop sim, commands| C
  API -->|execute command, first instance| D
  C -->|publish events| API
  C --> E
  C --> D
Loading

Repository layout

Path Description
src/ground-ui-service Ground UI: React SPA (missions, satellites, telemetry, commands, mission map). Runs on port 5180 by default.
src/satellite-autonomy-service .NET solution: Ground API (Aspire host), Core/Infrastructure, Satellite simulator service.
src/onboard-ai-service Python service: ML anomaly detection (e.g. Isolation Forest), simulates onboard-style scoring.
infra/ SQL init, hypertables, retention; scripts (e.g. reset DB volumes).
docs/ui UI documentation screenshots (generated by Playwright).
volumes/ Runtime volumes (e.g. DB data).

Main capabilities

  • Mission assurance - Missions and satellites, attach/detach, command queue and templates.
  • Ground segment - .NET API, time-series storage (PostgreSQL/TimescaleDB), real-time event stream (SSE) per mission and satellite.
  • Onboard-style ML - Anomaly scoring on telemetry (e.g. Isolation Forest), explainable decisions, healthcheck events (mlResult + decision) pushed to ground.
  • Commands - Data-driven command types, priority, TTL; execution and status.
  • UI - Mission map (satellite positions from telemetry), satellite dashboard (telemetry bucket, ML panel, Healthcheck feed, commands, simulator).

Tech stack

  • Ground: .NET (Aspire), PostgreSQL (TimescaleDB).
  • Satellite/simulator: .NET service (simulates spacecraft and link).
  • Onboard-AI (simulated): Python (time-series anomaly detection).
  • Frontend: React, Vite, Tailwind, Leaflet (mission map).

Onboard flight software is out of scope; a separate edge agent (C++/Rust/Python) would integrate with the Ground API.

Running the project

Prerequisites: .NET SDK and Docker (AppHost runs PostgreSQL, TimescaleDB, Ground UI, Onboard-AI and Satellite Service as containers).

dotnet run --project src/satellite-autonomy-service/Sentinel.AppHost

Collaborators

Project Path Contributors
Backend src/satellite-autonomy-service curiousvlxd
UI src/ground-ui-service curiousvlxd, AndriiS1
AI module src/onboard-ai-service kravchenkodiana07-art

UI showcase

Home

Home

Landing page.

Missions list

Missions list

List of missions.

Mission form

Mission form

Create or edit mission.

Mission details - Satellites tab

Mission details Satellites

Satellites in mission, attach/detach.

Mission details - Map tab

Mission details Map

Mission map and details in one view (no scroll); satellite positions from telemetry.

Mission details - Command queue tab

Mission details Commands

Command queue for the mission.

Mission details - Activity tab

Mission details Activity

Activity feed for the mission.

Satellites list

Satellites list

List of satellites.

Satellite form

Satellite form

Create or edit satellite.

Satellite page - Activity tab (top)

Satellite page Activity 1

Activity tab, scroll at top - Telemetry, ML panel, Healthcheck feed, Telemetry feed.

Satellite page - Activity tab (scrolled)

Satellite page Activity 2

Activity tab, scrolled halfway - lower part of the activity content.

Satellite page - Activity tab (bottom)

Satellite page Activity 3

Activity tab, component scroll at bottom - end of Healthcheck/Telemetry feed.

Satellite page - Commands tab (top)

Satellite page Commands 1

Commands tab, scroll at top - Commands and command templates.

Satellite page - Commands tab (scrolled)

Satellite page Commands 2

Commands tab, scrolled halfway - lower part of the commands content.

Satellite page - Simulator tab

Satellite page Simulator

Simulator scenario (Normal/Mixed/Anomaly).

About

🔭 Autonomous satellite anomaly detection using time-series telemetry with onboard AI. Developed and presented at ActInSpace 2026 hackathon.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published