Monte Carlo Collision Simulation
Monte Carlo pipeline to estimate collision probability between two orbiting objects (satellites/debris) using Conjunction Data Message (CDM) inputs and orbital propagation.
Problem
As orbital density increases in Low Earth Orbit (LEO), probabilistic conjunction assessment is essential for mission safety. Nominal miss distance alone is insufficient — state uncertainty must be incorporated to characterize collision risk.
Approach
CDM parsing: Extracts nominal state vectors, 6×6 covariance, TCA, and reference frame from standard conjunction data messages.
Uncertainty sampling: Assumes Gaussian state uncertainty. Uses Cholesky decomposition on the covariance matrix to draw samples: x_sample = x_nom + Lz where C = LL^T and z ~ N(0,I).
Propagation: Each sampled state is propagated to TCA using SGP4 (TLE-driven) or optional numerical integration. Batch-processed for efficiency.
Collision criterion: At TCA, collision if miss distance ≤ combined hard-body radius. P_collision ≈ N_hits / N_samples with binomial confidence intervals.
Tech Stack
Python, SGP4, NumPy, vectorized propagation.
How to Reproduce
python -m src.jspoc_monte \
--cdm data/example_cdm/case1.xml \
--samples 100000 \
--propagator sgp4 \
--out results/run1.json