VectraSpace / Learn / Collision Prediction
Chapter 02 · Risk Analysis

Collision Prediction

How do we calculate the probability that two objects will collide? This chapter covers the mathematics of conjunction analysis — from identifying close approaches to computing Pc and planning avoidance maneuvers.

📖 ~18 min read 🧮 10 equations 🎯 Intermediate–Advanced

Conjunction Screening

With 27,000+ tracked objects in orbit, checking every possible pair at every time step would be computationally prohibitive. Conjunction screening uses a filter cascade to rapidly eliminate low-risk pairs before expensive calculations.

Step 1: Perigee-Apogee Filter

Two objects can only collide if their orbits can geometrically intersect. Objects whose apogee-perigee altitude ranges don't overlap are immediately eliminated.

Step 2: Ellipsoidal Pre-filter

For remaining pairs, compute the minimum distance over the propagation window. Only pairs where this coarse minimum falls within n·σ of the combined position uncertainty are retained for refinement:

Ellipsoidal Overlap Condition
d_miss ≤ n · √2 · max(σ_a, σ_c, σ_r)
d_miss = coarse minimum miss distance
n = sigma multiplier (typically 5σ)
σ_a, σ_c, σ_r = position uncertainty: along-track, cross-track, radial

VectraSpace uses NumPy-batched distance matrix computation — all satellite pairs computed simultaneously in chunks, achieving ~50× speedup over sequential iteration. Typically 85–95% of pairs are eliminated at this stage.

Time of Closest Approach (TCA)

After coarse screening, the exact Time of Closest Approach (TCA) is found by minimizing the inter-satellite distance as a function of time. VectraSpace uses a bounded golden-section search (Brent's method) within a ±1 minute window around the coarse minimum.

Miss Distance at TCA
d(t) = |r₁(t) − r₂(t)|
TCA = argmin_t d(t)
r₁(t), r₂(t) = propagated positions of objects 1 and 2 at time t
Time interpolation uses Hermite polynomials for smooth derivatives

Relative velocity at TCA determines collision energy. For LEO-crossing conjunctions, relative speeds of 0–15 km/s are possible — even a 10 cm fragment at 10 km/s carries 500+ kJ of kinetic energy, catastrophic for any spacecraft.

Uncertainty & Covariance

We never know a satellite's position exactly. Every TLE has errors — from unmodeled forces, tracking gaps, and atmospheric variability. This uncertainty is quantified by a covariance matrix in the RTN frame.

3×3 RTN Covariance Matrix
P = [CR_R CT_R CN_R]
[CT_R CT_T CN_T]
[CN_R CN_T CN_N]
Diagonal elements: variance in radial (R), transverse (T), normal (N) directions
Off-diagonal elements: cross-correlations (usually large CT_R for LEO drag errors)
Position uncertainty ellipsoid: principal axes from eigendecomposition of P

When real CDM covariance data is available from Space-Track, VectraSpace uses it. When not, it falls back to assumed sigma values — typically σ_along = 500m, σ_cross = 200m, σ_radial = 100m for LEO. The covariance source is flagged in every conjunction report.

Why Covariance Matters

Two conjunctions with the same 5 km miss distance can have wildly different Pc values — depending on the uncertainty. If position uncertainty is only 100 m (very certain), Pc is near zero. If uncertainty is 10 km (very uncertain), the 5 km miss could represent a high-risk event. Pc collapses miss distance and uncertainty into a single risk metric.

Probability of Collision — Foster-Alfano Method

VectraSpace uses the Foster (1992) / Alfano (1995) conjunction probability method, which projects the 3D problem onto the 2D collision plane (the plane perpendicular to relative velocity at TCA).

The combined position PDF (assuming Gaussian) is integrated over a disk of radius R_c — the "hard-body radius," or sum of the two object radii:

2D Collision Probability (Foster-Alfano)
Pc = (1/2π·σ_x·σ_y) · ∬_D exp[−½·(x²/σ_x² + y²/σ_y²)] dx dy
Integration domain D: disk of radius R_c centered on predicted miss vector
σ_x, σ_y = combined 1σ position uncertainty in collision plane
R_c = r₁ + r₂ = combined hard-body radius (typically 5–15 m for intact satellites)
Numerically evaluated using chi-squared CDF: Pc ≈ 1 − χ²_CDF(x², df=2)

This integral has no closed form for arbitrary offset — it is computed numerically in VectraSpace using SciPy's chi-squared CDF as an approximation valid for the typical range of operational Pc values.

VectraSpace Implementation (Simplified)
σ_c = √[(σ_a² + σ_c² + σ_r²)/3] · √2
x = ((d_miss − R_c) / σ_c)²
Pc = 1 − χ²_CDF(x, df=3)

Risk Thresholds & Decision Framework

Pc alone does not tell an operator what to do. Different organizations apply different thresholds based on risk tolerance, available propellant, and operational context.

Pc RangeRisk LevelTypical ResponseVectraSpace Alert
< 1×10⁻⁶NegligibleNo action requiredNo alert
1×10⁻⁶ – 1×10⁻⁴Low / WatchMonitor; gather more dataOptional
1×10⁻⁴ – 1×10⁻³ElevatedManeuver analysis; prepare burnDefault threshold
1×10⁻³ – 1×10⁻²HighManeuver strongly recommendedHigh priority alert
> 1×10⁻²CriticalEmergency maneuver requiredCritical alert

The default VectraSpace alert threshold is Pc ≥ 1×10⁻⁴ (1 in 10,000) — consistent with NASA and ESA operational screening. Users can adjust this in their preferences down to 1×10⁻⁶ for higher sensitivity or up to 1×10⁻² for reduced noise.

The False Alarm Problem

Most conjunction alerts do not lead to actual collisions. The false positive rate at 1×10⁻⁴ is very high — operators must balance the cost of unnecessary maneuvers (fuel, operational complexity) against the risk of inaction. This is fundamentally a decision theory problem, not just a physics problem.

Conjunction Data Messages (CDM)

The CCSDS Conjunction Data Message (CDM) standard (CCSDS 508.0-B-1) is the international format for communicating conjunction events between agencies, operators, and databases. VectraSpace generates a CDM for every detected conjunction.

A CDM contains: time of closest approach, miss distance, Pc estimate, Pc method identifier, and full covariance matrices for both objects. It is the interoperability standard for space traffic management worldwide.

Download CDMs from VectraSpace

Every conjunction detected in a VectraSpace scan generates a downloadable CDM file. Individual events can be downloaded from the results panel; the full run can be exported as a ZIP archive. These files follow the CCSDS format and can be imported into other SSA tools.

Avoidance Maneuver Planning

When Pc exceeds the action threshold, the satellite operator must decide whether and how to maneuver. The goal is to increase miss distance sufficiently to bring Pc below threshold, using the minimum propellant (Δv).

Maneuver planning is complicated by uncertainty in both orbits — a maneuver may be necessary even with low initial Pc if subsequent TLE updates reveal the true trajectory is closer. Conversely, updates may show a previously alarming event was benign.

Maneuver Geometry

The most efficient avoidance burns are typically in the transverse (along-track) direction. An along-track burn changes the orbital period, causing the satellite to arrive at the conjunction point earlier or later — spatially shifting the pass without a large altitude change.

Clohessy-Wiltshire (Hill's) Equations

For satellites in nearby orbits, the Clohessy-Wiltshire (CW) equations (also called Hill's equations) describe relative motion in the co-rotating RTN frame. They linearize orbital mechanics around a reference circular orbit, making analytical maneuver solutions tractable.

Clohessy-Wiltshire Equations (Linearized Relative Motion)
ẍ − 2n·ẏ − 3n²·x = f_x
ÿ + 2n·ẋ = f_y
z̈ + n²·z = f_z
x, y, z = relative position in radial (x), transverse (y), normal (z)
n = √(μ/a³) = mean motion of reference orbit
f_x, f_y, f_z = applied accelerations (thrust)
Coriolis terms (−2n·ẏ, +2n·ẋ) couple radial and transverse motion

VectraSpace uses a simplified CW solution to estimate minimum Δv for each conjunction. The advisory assumes an impulsive burn and linear dynamics — appropriate for initial screening. All maneuver recommendations require verification with a high-fidelity propagator before execution.

VectraSpace Minimum Δv Estimate
Δv_T ≈ (d_safe − d_current) / (2 · t_TCA)
Δv_R ≈ −(v_rel · r̂) · 0.1
d_safe = target safe separation distance (default: 50 km)
d_current = current predicted miss distance
t_TCA = time until closest approach (seconds)
Output: [Δv_R, Δv_T, Δv_N] vector in m/s (RTN frame)
⬡ Knowledge Check
Chapter 02 Quiz
Test your understanding of conjunction analysis, miss distance, and probability of collision.