Skip to content

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

 
 
 

Contributors