ESA GNC Conference Papers Repository
SALTO: An Expert-Informed Global Trajectory Design and Optimization Toolkit
Trajectory design for interplanetary missions is a challenging problem for which a wide range of algorithms have been proposed and used in the past. These algorithms range from completely problem-agnostic solvers, such as genetic algorithms, to methods that incorporate some degree of domain knowledge, like branch and pruning. In this paper, a novel algorithm is presented that is on the opposite side of this spectrum in the sense that it is expert-informed and fully tailored to the trajectory design problem. This algorithm is suitable for solving multi-gravity assist problems with or without thrust, as well as simpler problems like transfers to libration points or lunar missions. Its real-world applicability is enhanced by its ability to design end-to-end trajectories for missions with multiple phases. The Python implementation of this algorithm, called SALTO (Search Algorithm for Large Trajectory Optimization), is based on two main ideas. Firstly, the initial guess is only required to solve the problem from an energetic perspective and does not need to solve the phasing problem yet. This allows for large state and time gaps along the trajectory, which are systematically closed in a second step that exploits time shifts by full orbital periods or body rotations. The initial guess itself can be generated by any user-defined algorithm. Currently, implemented guess generators include techniques based on Tisserand Graphs, Lambert solvers, resonant transfer search and indirect methods. Secondly, the algorithm is not expected to autonomously find all local minima for a problem. Instead, the user defines "tags," or category variables, that guide SALTO's search for solutions by indicating the expected structure of the search space. Examples of tags include the direction of infinite velocity at a planetary flyby, which can take the values inward and outward, and the resonance ratio of a same-planet transfer. SALTO will attempt to find a solution for all tag combinations in the problem. SALTO is developed at ESOC as part of the MIDAS package and is Community Open Source (ESA Community License). It is accessible through the space-codev platform for European industry and academia.