TIPE: Keeping the JWST on its orbit around L2
Python · NumPy · SciPy · MatplotlibGroup project, theme "Cycles, boucles". Question: how can the position of the James Webb Space Telescope be adjusted so that it stays on its orbit around the Sun–Earth L2 point, an orbit that is unstable by nature? I wrote the whole simulation in Python from scratch (about 60 pages of code in the report's appendix).
- Circular restricted three-body problem in the rotating frame, with a Runge-Kutta 4 integrator I wrote myself after testing and rejecting the Rebound library, for lack of control over its methods. Validated by checking that the Jacobi constant is conserved, then compared with an inertial N-body simulation
- Reference orbit: third-order Richardson approximation, refined into a periodic halo orbit by differential correction (single shooting with Newton iterations on the state transition matrix), a method suggested by the mathematician Emmanuel Trélat when we consulted him
- Station-keeping: monodromy matrix, stable and unstable eigenvectors propagated along the orbit, and a velocity correction computed every 21 days
- Result: starting from a 100 km error, the corrections keep the position error at a few hundred km for about 650 days (roughly three halo periods), against up to 10⁸ km without them. After that the reference orbit itself drifts, which is the main limit of the work
- Other limits identified: the model ignores the Moon, solar radiation pressure and the seasonal variation of Earth's orbit