Skip to content

About

Satellite Collision Prediction-AODAP System

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🛰️ KesslerNET — Satellite Collision Prediction & Avoidance System

AODAP — Autonomous Orbital Debris Avoidance & Prediction

A real-time satellite collision prediction system that combines a Machine Learning backend with a 3D Unity simulation frontend to detect, assess, and visualize orbital debris collision risks.


📸 Screenshots

Home Screen High Risk Alert
Home Screen High Risk
Warning State Safe State
Warning Safe
Backend API Unity Editor
Backend Unity Editor

🏗️ Architecture

┌─────────────────────────────┐        HTTP POST          ┌──────────────────────────────┐
│   Unity 3D Simulation       │ ──── /predict_batch ───▶  │   FastAPI ML Backend        │
│   (Frontend)                │                            │                             │
│                             │ ◀── { max_risk,           │   • Logistic Regression     │
│   • Real-time orbital viz   │       danger_index } ──── │   • StandardScaler           │
│   • Debris tracking         │                           │   • 230K training samples    │
│   • Risk-level color coding │                           │                              │
└─────────────────────────────┘                           └──────────────────────────────┘

🔬 How It Works

  1. Data Collection — The system uses a dataset of 230,000+ simulated orbital encounters with features:

    • distance — Distance between satellite and debris (km)
    • rel_speed — Relative speed (km/s)
    • approach_rate — Rate of approach (km/s)
    • tca — Time to Closest Approach (seconds)
    • d_cpa — Distance at Closest Point of Approach (km)
  2. ML Model — A Logistic Regression classifier (with class-weight balancing) is trained to predict collision danger labels. Features are normalized using StandardScaler.

  3. Real-Time Prediction — The Unity frontend sends batches of debris orbital parameters to the FastAPI /predict_batch endpoint, which returns the maximum collision probability and the index of the most dangerous object.

  4. Visualization — The Unity 3D simulation renders risk levels in real-time with color-coded alerts (Safe → Warning → High Risk).


🚀 Getting Started

Prerequisites

  • Python 3.9+
  • Unity (for building/modifying the simulation)

Backend Setup

cd AODAP-ML-Backend

# Create virtual environment
python -m venv .venv

# Activate it
# Windows:
.venv\Scripts\activate
# macOS/Linux:
source .venv/bin/activate

# Install dependencies
pip install fastapi uvicorn joblib numpy scikit-learn pandas

# Run the server
uvicorn main:app --host 0.0.0.0 --port 8000

The API will be available at http://localhost:8000.

Re-train the Model (Optional)

cd AODAP-ML-Backend
python train_model.py

This regenerates satellite_collision_predictor.pkl and orbital_scaler_v1.pkl.


📡 API Endpoints

Method Endpoint Description
GET / Health check — returns {"status": "online"}
GET /health Health check — returns {"status": "online"}
POST /predict_batch Batch collision prediction

/predict_batch — Request Body

{
  "objects": [
    {
      "distance": 50.0,
      "rel_speed": 7.5,
      "approach_rate": -6.2,
      "tca": 5.0,
      "d_cpa": 2.1
    }
  ]
}

Response

{
  "max_risk": 0.92,
  "danger_index": 0
}

📂 Project Structure

KesslerNET/
├── AODAP-ML-Backend/
│   ├── main.py                            # FastAPI prediction server
│   ├── train_model.py                     # Model training script
│   ├── satellite_collision_predictor.pkl   # Trained ML model
│   ├── orbital_scaler_v1.pkl              # Feature scaler
│   └── dataset.csv                        # 230K orbital encounter records
├── ScreenShots/                           # Application screenshots
│   ├── HomeScreen.png
│   ├── High Risk.png
│   ├── Warning.png
│   ├── Safe.png
│   ├── Backend.png
│   └── Unity Editor.png
├── .gitignore
└── README.md

Note: The Unity simulation frontend is a compiled build and is not included in this repository due to file size constraints. Contact the maintainer for the Unity source project.


🛠️ Tech Stack

Component Technology
ML Model Scikit-learn (Logistic Regression)
Backend API FastAPI + Uvicorn
Data Processing Pandas, NumPy
Model Serialization Joblib
3D Simulation Unity Engine
Language Python 3.x, C# (Unity)

🧠 Model Performance

The model is trained on 230,000+ synthetic orbital encounter samples using:

  • Algorithm: Logistic Regression with balanced class weights
  • Features: 5 orbital mechanics parameters
  • Scaling: StandardScaler normalization
  • Split: 80/20 train/test

Run python train_model.py to see the full classification report.


📜 License

This project is open source. See the LICENSE file for details.


👤 Author

Yash Sahare — @yashsahare05


Protecting satellites from the Kessler Syndrome, one prediction at a time. 🚀

About

Satellite Collision Prediction-AODAP System

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages