The open-source astrodynamics Tudatpy software – overview for planetary mission design and science analysis
- 1Delft University of Technology, Faculty of Aerospace Engineering, Astrodynamics and Space Missions Section, Delft, Netherlands
- 2DLR Institute of Planetary Research, Berlin, Germany
- 3Department of Mechanical and Aerospace Engineering, Sapienza University of Rome, Rome, Italy
Introduction
The Tudat software was created at the Astrodynamics & Space Missions Section (AS) at TU Delft, as a generic C++ tool for astrodynamics research and education. Since 2020, a Python interface named Tudatpy, has been developed. The core of the software is numerical state propagation and estimation functionality. It has been used for research publications over a wide range of topics, and is embedded in the TU Delft Spaceflight M.Sc. curriculum. The software is released as a conda package. Tudat is hosted on GitHub (https://github.com/tudat-team/), under open-source BSD 3-clause license, with its functionality covered by >200 unit tests.
Example applications for planetary missions
We start by showing three illustrative examples of past and ongoing work with Tudatpy:
- Small body orbit design and optimization using fully numerical modeling
The dynamical environment around small bodies is highly non-linear. In addition, the uncertainty of the gravity field complicates the search for stable spacecraft orbits. In this context, Tudat has been used for several projects, such as the design of a quasi-stable orbit (QSO) around Phobos (Fig. 1), the optimization of an orbit (for maximum coverage/minimum distance) around an asteroid, and the design of robustly stable spacecraft orbits under uncertainties in the asteroid gravity field.
Fig. 1 QSO orbits around Phobos designed using Tudatpy and Pygmo [1]
- Galilean satellite ephemerides determination from JUICE tracking data
The JUICE mission will provide data on the dynamics of the Galilean moons to unprecedented accuracy. Using a simulated set of radio tracking data, Tudat has been used to simulate uncertainty of the ephemerides of the Galilean satellites during and after the JUICE mission (see Fig. 2). This analysis will be extended to provide a flexible tool to analyze the potential for a global inversion of Earth- and space-based radio and optical data for satellite ephemerides.
Fig. 2 Galilean satellite ephemeris uncertainty obtained from covariance analysis in a coupled estimation, using simulated JUICE radio tracking data [2]
- Interplanetary trajectory design using multiple gravity assists (MGA), deep space maneuvers (DSM), and shape-based low-thrust
Tudat includes a framework for interplanetary trajectory design (see Fig. 3 for example), where the typical MGA-DSM functionality is enhanced with shape-based (spherical shaping and hodographic shaping) legs. Although the interplanetary trajectory is evaluated/optimized using a (semi-)analytical inner loop, the numerical propagatio of Tudat allows for a direct verification of the final trajectory under perturbations and for the use of differential correction to generate a high-fidelity transfer orbit.
Fig. 3 Earth-Mercury transfer using EEVM sequence, one DSM per leg, in patched conic approximation(taken from one of the examples on the Tudatpy website)
Functionality
Tudat functionality falls into the following broad categories:
- Numerical propagation of dynamics, with modular setup and options for solar system bodies, accelerations, propagation schemes, etc. In addition to translation state, it can combine different types of dynamics for any number of bodies, including coupled orbital-rotational motion. No fundamental distinction is made between natural and artificial bodies, and the propagation is capable of both single- and multi-arc (or a combination). Tudat has a broad set of outputs (‘dependent variables’) that it can generate during numerical propagation that are useful for visualization/post-processing.
- State and parameter estimation: Tudat contains a large amount of functionality for performing (simulated) state and parameter estimation/covariance analysis from observational data. The framework is set up in a modular fashion, allowing for a combined analysis of a diverse set of types of observations and parameters. It has been used in a large number of simulation studies, with work ongoing to extend the functionality to processing DSN tracking data. It has been applied to the orbit determination of LRO, as well as to preliminary Doppler/VLBI data analysis of Mars and Venus Express.
- Mission design and optimization: Modules containing mission design tools, such as Lambert targeters and multiple gravity-assist transfers, are included in Tudat. Additionally, Tudat provides an interface to the Pagmo2 optimization software.
Documentation and development
In 2020, development of a Python interface, named TudatPy, was initiated. This has now become the default interface for Tudat and associated documentation, including:
- An installation and top-level user guide, supported by a growing set of example applications (https://docs.tudat.space/)
- Documentation for the Application Programmer Interface (API) of TudatPy (https://py.api.tudat.space/)
Both parts of the documentation now cover the core aspects of the functionality, and are being continuously expanded. At the time of writing, some C++ functions have yet to be exposed to Python, while other functions are missing their API documentation.
If you are interested in using or developing Tudat(py), you are most welcome to do so! Any questions about its functionality or suggestions for future implementation are always welcome, and can be addressed to the first author of this abstract. Tudat discussions primarily take place over Slack, open to any potential interested parties.
[1] Plumaris et al. (2022). "Cold Atom Interferometry for enhancing the Radio Science
gravity experiment: a Phobos case study" Remote Sensing, (submitted)
[2] Fayolle et al. (2022). "Decoupled and coupled moons’ ephemerides estimation strategies
Application to the JUICE mission" Planetary and Space Science, (revision submitted)
How to cite: Dirkx, D., Fayolle, M., Garrett, G., Avillez, M., Cowan, K., Cowan, S., Encarnacao, J., Fortuny Lombrana, C., Gaffarel, J., Hener, J., Hu, X., van Nistelrooij, M., Oggionni, F., and Plumaris, M.: The open-source astrodynamics Tudatpy software – overview for planetary mission design and science analysis, Europlanet Science Congress 2022, Granada, Spain, 18–23 Sep 2022, EPSC2022-253, https://doi.org/10.5194/epsc2022-253, 2022.