Closing the Gap Between SGP4 and High-Precision Propagation via Differentiable Programming
<|reference_start|>Closing the Gap Between SGP4 and High-Precision Propagation via Differentiable Programming: The Simplified General Perturbations 4 (SGP4) orbital propagation method is widely used for predicting the positions and velocities of Earth-orbiting objects rapidly and reliably. Despite continuous refinement, SGP models still lack the precision of numerical propagators, which offer significantly smaller errors. This study presents dSGP4, a novel differentiable version of SGP4 implemented using PyTorch. By making SGP4 differentiable, dSGP4 facilitates various space-related applications, including spacecraft orbit determination, state conversion, covariance transformation, state transition matrix computation, and covariance propagation. Additionally, dSGP4's PyTorch implementation allows for embarrassingly parallel orbital propagation across batches of Two-Line Element Sets (TLEs), leveraging the computational power of CPUs, GPUs, and advanced hardware for distributed prediction of satellite positions at future times. Furthermore, dSGP4's differentiability enables integration with modern machine learning techniques. Thus, we propose a novel orbital propagation paradigm, ML-dSGP4, where neural networks are integrated into the orbital propagator. Through stochastic gradient descent, this combined model's inputs, outputs, and parameters can be iteratively refined, surpassing SGP4's precision. Neural networks act as identity operators by default, adhering to SGP4's behavior. However, dSGP4's differentiability allows fine-tuning with ephemeris data, enhancing precision while maintaining computational speed. This empowers satellite operators and researchers to train the model using specific ephemeris or high-precision numerical propagation data, significantly advancing orbital prediction capabilities.<|reference_end|>
@article{acciarini2024closing,
    title={Closing the Gap Between SGP4 and High-Precision Propagation via
  Differentiable Programming},
    author={Giacomo Acciarini, At{i}l{i}m G"unec{s} Baydin, Dario Izzo},
    journal={arXiv preprint arXiv:2402.04830},
    year={2024},
    archivePrefix={arXiv},
    eprint={2402.04830},
    primaryClass={cs.LG astro-ph.EP}
}