0. RESEARCH & DEVELOPER OVERVIEW
Project Intent: SATALAI was engineered strictly for research purposes to demonstrate GPU-accelerated Space Situational Awareness (SSA), satellite conjunction evaluation, dynamic covariance modeling, and autonomous maneuver optimization.
Developer Contact:
1. PURPOSE & INDUSTRY PROBLEM STATEMENT
The Problem in Space Traffic Management (STM): Low Earth Orbit (LEO) is experiencing exponential growth. Operators receive hundreds of Conjunction Data Messages (CDMs) weekly, leading to operator fatigue, uncoordinated maneuvers, and massive fuel waste.
The Solution: SATALAI provides statistical decision support to test avoidance algorithms and forecast Kessler fragmentation cascades under accelerated time scales.
3. GLOBE, POV & TIMELINE CONTROLS
POV / Mission Viewer Mode: Locks camera orientation to the active satellite. Computes the angular velocity vector and orbital plane normal to rotate its local Up-Vector without gimbal lock.
Time Engine: Scrub timeline from -60 to +50 years. Adjust logarithmic time scaling from 1 s/s to 5 y/s. Click the UTC timestamp to input exact dates.
4. MISSION DESIGNER & LIFESPAN FINDER
Time-Integrated 100% Survival Orbit Finder: Executes an asynchronous search across altitude, inclination, and RAAN ranges (Ω). Integrates J₂ nodal precession and atmospheric orbit decay month-by-month to find optimal initial states that guarantee mission survival.
5. ORBITAL PHYSICS & KESSLER SIMULATION
Earth Oblateness (J₂ Perturbation): Continuous secular nodal precession (Ω̇) and apsidal precession (ω̇):
Ω̇ = -1.5 · J₂ · (RE / p)² · n · cos(i)
ω̇ = 0.75 · J₂ · (RE / p)² · n · (5 · cos²(i) - 1)
Atmospheric Drag Decay: LEO objects (h < 1000 km) experience drag causing semi-major axis reduction:
da/dt = -1.0×10⁻⁵ · ρ · √(μ / a)
6. RTN FRAME, CHAN Pc & ALGORITHM API
Radial-Tangential-Normal (RTN) Local Frame: Maneuvers are defined in the satellite's local frame:
R̂ = r / |r| | N̂ = (r × v) / |r × v| | T̂ = N̂ × R̂
Chan's Analytical 2D Collision Probability: Projects 3D covariances onto the encounter plane:
Pc = e-v/2 · [ (1 - e-u/2) + (v/2) · (1 - e-u/2 · (1 + u/2)) ]
7. TLE DATA PIPELINE & PRE-PROCESSING
Because processing 30,000+ SGP4 iterations in JavaScript at 60 FPS is physically impossible for web browsers, SATALAI offloads initial propagation to a Python ingestion script.
- Ingestion: Fetches public Space-Track standard Two-Line Elements (TLEs).
- SGP4 Propagation: Calculates ECI position and velocity vectors for exactly `Date.now()`.
- Osculating Elements: Converts Cartesian state vectors back into Keplerian elements (a, e, i, Ω, ω, M).
- Client Handoff: The browser receives these optimized Keplerian elements and performs deterministic analytical propagation, achieving O(1) mathematical complexity per satellite per frame.
8. SPATIAL HASHING COLLISION ALGORITHM
Checking collisions between 30,000 objects requires ~450,000,000 distance checks per frame ($O(N^2)$ complexity). To achieve 60 FPS in JavaScript, SATALAI utilizes a Spatial Hash Grid.
How it works:
- ECI Space is divided into 3D voxel cubes. The cube width is exactly `2 * Collision Threshold`.
- Every satellite computes its grid coordinates `(x/size, y/size, z/size)` and stores itself in a Map dict (the Hash Table).
- For collision checking, an object only queries its own voxel and the 26 immediately adjacent neighbor voxels.
This reduces the algorithmic complexity to $O(N)$, allowing the engine to process thousands of Kessler fragments intersecting with mega-constellations simultaneously without dropping frames.