Skip to content

Advanced satellite collision detection with ML, physics-informed models, CCSDS CDM data integration, SHAP explainability, and maneuver planning for orbital safety. Built with Python.

License

Notifications You must be signed in to change notification settings

Anand0295/Satellite-Collision-Detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Satellite-Collision-Detection

Advanced satellite collision detection and avoidance system using machine learning, physics-informed models, and standardized orbital data formats (CCSDS CDM, TLE), with explainable AI and optimized maneuver planning.

What's New (Nov 2025)

  • Fixed nested folder issue by introducing a flat, well-named structure for explainability code: src/explainability/
  • Integrated datasets and formats used in Erik Cupsa's On-Orbit Collision Predictor, including CCSDS CDM sample data
  • Added datasets documentation with usage examples and source acknowledgments (datasets/README_DATASETS.md)
  • Enhanced About section and project description for clarity

Project Structure

  • src/explainability/
    • shap_explainer.py — SHAP-based explainability utilities for model predictions
  • datasets/
    • ccsds_cdm_sample.json — sample CCSDS CDM file (Erik Cupsa format)
    • sample_tle_data.csv — sample TLE elements
    • parse_tle.py — helper to parse TLE data
    • README_DATASETS.md — datasets and formats documentation
  • models/ — ML and physics-informed models (PINNs, LSTMs, GNNs)
  • maneuver_planning/ — delta-V optimization and avoidance planning
  • visualization/ — 3D/AR visualization and dashboards

Data Formats and Sources

  • CCSDS CDM (Conjunction Data Message)
    • File: datasets/ccsds_cdm_sample.json
    • Fields: TCA, miss distance, relative state, covariance, collision probability, object metadata
    • Source pattern: aligned with Erik Cupsa's repository data format
  • TLE (Two-Line Element)
    • Files: datasets/sample_tle_data.csv, parser datasets/parse_tle.py
    • Sources: NORAD/Space-Track, CelesTrak

See datasets/README_DATASETS.md for details, examples, and references.

Explainable AI

This project includes an explainability toolkit to increase operator trust in automated alerts:

  • SHAP waterfall and force plots for per-prediction insights
  • Global summary plots for feature importance
  • Feature ranking by mean |SHAP| value
  • Module: src/explainability/shap_explainer.py

Installation

Prerequisites

  • Python 3.8+
  • Docker (optional for containerized runs)
  • Access to telemetry or simulation data (optional)

Setup

# Clone
git clone https://github.com/Anand0295/Satellite-Collision-Detection
cd Satellite-Collision-Detection

# (Optional) Build container
docker build -t satellite-collision-detector .

Usage

Data

  • Place additional CCSDS CDM files under datasets/
  • Load TLEs with datasets/parse_tle.py

Explainability quick start

import json
import numpy as np
from src.explainability.shap_explainer import SHAPExplainer

# Example model stub with predict(X) -> y_proba
class DummyModel:
    def predict(self, X):
        # Return a probability-like score for demonstration
        return np.clip(0.5 + 0.1 * np.random.randn(len(X)), 0, 1)

model = DummyModel()
background = np.random.randn(100, 10)
explainer = SHAPExplainer(model, background)
X = np.random.randn(5, 10)
feature_names = [f"f{i}" for i in range(X.shape[1])]
ex = explainer.explain_prediction(X, feature_names)
rank = explainer.get_feature_importance_ranking(ex)
print(rank.head())

Project Overview

The project aims to provide accurate, timely conjunction risk assessment and maneuver planning by combining:

  • Multi-source data fusion (radar, optical, TLE, CCSDS CDM)
  • Advanced ML and physics-informed modeling
  • Real-time processing at scale
  • Explainable AI for trustworthy decision support
  • Operator-focused visualization and APIs for safe maneuver execution

Acknowledgments

License

MIT — see LICENSE.

About

Advanced satellite collision detection with ML, physics-informed models, CCSDS CDM data integration, SHAP explainability, and maneuver planning for orbital safety. Built with Python.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published