Inspiration
Mega-constellations are projected to increase the number of active orbital objects by an order of magnitude over the next decade. That growth materially increases collision probability and pushes the orbital environment closer to the cascading failure scenario commonly referred to as the Kessler Syndrome. The operational burden of conjunction screening, covariance propagation and manoeuvre assessment has historically been absorbed by major space agencies and tier-one operators with access to bespoke astrodynamics tooling. OrbitGuard was designed to narrow that capability gap. The objective is to provide small-to-midsize satellite operators with technically rigorous, defensible conjunction analysis and avoidance planning without requiring in-house flight dynamics teams.
What it does
OrbitGuard ingests Two-Line Element sets on a six-hour cadence and performs automated conjunction screening across tracked objects. An initial filtering pass identifies potential close approaches using computationally efficient propagation. Candidate events are then re-propagated using Cowell’s numerical integration framework with higher-order zonal harmonics J₂ through J₆ and atmospheric drag modelling to improve state vector fidelity. This layered approach enables sub-second resolution at time of closest approach while maintaining scalability across large catalogues.
Collision probability is quantified using multiple analytical and stochastic techniques. Probability of collision, Pc, is computed via Foster and Chan formulations for rapid analytical estimation, alongside Monte Carlo sampling to validate non-linear regimes and covariance distortions. This multi-method strategy reduces reliance on a single probabilistic model and allows cross-validation of high-risk events.
For avoidance planning, OrbitGuard formulates manoeuvres in the Radial-Transverse-Normal frame and solves for minimum-fuel burns consistent with mission constraints. Delta-v is derived using the Tsiolkovsky rocket equation, enabling operators to directly translate manoeuvre plans into propellant impact. Safety constraints such as minimum perigee altitude thresholds and re-entry margins are embedded into the optimisation routine to ensure manoeuvres remain operationally viable.
How we built it
The backend is implemented in FastAPI, providing asynchronous ingestion and processing pipelines. Numerical computation relies on NumPy and SciPy, with DOP853 selected as the high-order integrator for Cowell propagation due to its stability in stiff orbital regimes. The physics engine includes custom B-plane transformation modules to represent miss distance geometry in a collision-centric coordinate system. Covariance handling incorporates Higham’s 1988 nearest positive semi-definite matrix correction to stabilise propagated uncertainty matrices and avoid non-physical negative eigenvalues.
The frontend is built with Next.js, delivering a real-time dashboard that surfaces risk thresholds, time-to-TCA metrics and manoeuvre advisories. Visualisation is handled via Three.js, enabling interactive three-dimensional event replays of conjunction geometry, relative velocity vectors and projected miss distances. This allows operators to move beyond abstract covariance ellipsoids and inspect encounter dynamics visually.
Challenges we ran into
A primary engineering constraint was reconciling numerical precision with computational throughput. Full Cowell propagation with higher-order harmonics across thousands of catalogue objects is not tractable in real time. We therefore implemented a tiered engine: fast SGP4 for coarse filtering, followed by high-fidelity Cowell propagation only for shortlisted events. This architecture reduced computational load without materially degrading detection sensitivity.
Covariance modelling presented a second challenge. Public TLE data does not include formal uncertainty matrices, yet probability of collision computation requires a full 6×6 state covariance. We implemented a Vallado–Cefola approach to estimate covariance from orbital regime and propagation interval, then applied numerical conditioning to maintain physical plausibility after state transition mapping.
Optimisation also required careful constraint handling. Minimising delta-v alone can produce solutions that compromise long-term orbital safety, for example by lowering perigee excessively. We embedded altitude floor constraints above 100 km and included feasibility checks against mission design limits to ensure manoeuvre outputs were operationally acceptable.
Accomplishments that we are proud of
Validation testing against reference conjunction cases produced collision probability results within one per cent of benchmark solutions in critical Pc regimes. The time-of-closest-approach solver, implemented using Brent’s root-finding method, achieves approximately 0.01-second temporal resolution. Most significantly, the system operates as a fully automated pipeline, beginning with raw TLE ingestion and concluding with an actionable manoeuvre recommendation, removing manual analytical steps that traditionally slow response time.
What we learned
The development process required deeper engagement with B-plane geometry, perturbative forces such as Solar Radiation Pressure, and formal risk acceptance frameworks including NASA’s Conjunction Assessment Risk Analysis thresholds. The interplay between state uncertainty growth, non-linear encounter geometry and probabilistic collision modelling proved more sensitive than anticipated, particularly in low relative velocity encounters.
What is next for OrbitGuard
The next phase focuses on computational acceleration and data enrichment. While the GPU-based Monte Carlo sampling using JAX or CuPy is already implemented, it will be evaluated and used to support million-sample covariance simulations in near real time. We also plan to integrate live Conjunction Data Message feeds to replace TLE-derived covariance approximations with operator-supplied uncertainty states, enabling higher-confidence Pc estimation and more defensible manoeuvre planning decisions.
Built With
- astropy
- celestrakapi
- fastapi
- next.js
- numpy
- pydantic
- pytest
- python
- react-three-fibre
- scipy
- sgp4
- sqlalchemy
- sqlite
- three.js
- typescript
- uvicorn
Log in or sign up for Devpost to join the conversation.