Trajectory optimisation in space mechanics with Julia
Résumé
We report on numerical computation of optimal trajectories in space mechanics using Julia code. The talk will address several examples including minimum time orbit transfert computation (CNES) and solar sail control (ESA). Direct transcription and indirect / shooting methods (based on Pontrjagin maximum principle) as well as techniques from convex optimisation will be illustrated on these examples. Current developments based on Julia control-toolbox will be discussed.
There is a strong trend to use Julia in scientific computing, so as to take advantage not only of the performance but also of the high level traits of the language. These features allow to cast problems and algorithms in a form close to their mathematical definitions. As powerful Julia libraries to solve ODE's and optimisation problems are now available, it is possible to attack efficiently optimal control problems. Space mechanics is a long-standing application of control theory, and we focus on this topic from the classic (though not so simple) maximum height Goddard problem [1] to modern applications stemming from collaborations with space agencies. More precisely, minimum time orbit transfer [2] (collaboration with CNES and Thales Alenia Space) and solar sailing [3] (collaboration with ESA) will be discussed. Several methods will be presented, including direct transcription and shooting. While the first approach consists in a brutal approximation of the infinite dimensional control problem by a nonlinear program with sparse constraints, the second one leverages Pontrjagin maximum principle to ensure a very precise computation of optimal controls. Rather than competing methods, these two approaches must be made to collaborate: direct codes capture the structure of the solution (typically made of bang and singular arcs), which then allows to devise and initialise a tailored shooting function. These points will be illustrated in the framework of ongoing developments of Julia packages from the control-toolbox [4] suite.
[1] Caillau, J.-B.; Ferretti, R.; Trélat, E.; Zidani, H. An algorithmic guide for finite-dimensional optimal control problems. Handbook of Numerical Analysis, in Numerical Control: Part B 24 (2023), 559-626.
[2] Caillau, J.-B.; Gergaud, J.; Noailles, J. 3D Geosynchronous Transfer of a Satellite: continuation on the Thrust. J. Optim. Theory Appl. 118 (2003), no. 3, 541-565.
[3] Herasimenka, A; Dell'Elce, L.; Caillau, J.-B.; Pomet, J.-B. Controllability properties of solar sails. J. Guidance Control Dyn. 46 (2023), no. 5, 900-909.
[4] https://control-toolbox.org/OptimalControl.jl/v0.12/juliacon2024.html