In this repository, a simple Multi-layer Perceptron (MLP) network is implemented for approximating optimal low-thrust transfers. The main reference for this project is [1]. The authors have shared the datasets that can be downloaded from Zenodo.
To work with this repository, one should have Python version that is 3.10, since Pytorch is employed. To install it, one should look at the main page of Pytorch and run the installation depending upon the operating system and local setup.
Then, one goes to this and download the fuel_optimal_db.txt
file. Then, paste this into a folder called:
datasets/fuel_optimal_db.csv
Finally, one can install the required packages via:
pip install -r requirements.txt
The main script is space_traj_mlp_pytorch.ipynb, and shows how to create a MLP with 2 hidden layers with 64 and 32 neurons, respectively.
The model is then trained over a small number of epochs, and the results are plotted. The notebook is commented and should be very intuitive.
Currently, only invited developers can contribute to the repository.
The work is under license CC BY-NC-SA 4.0, that is an Attribution Non-Commercial license.
[1] Acciarini, G., Beauregard, L., & Izzo, D. (2024). Computing low-thrust transfers in the asteroid belt, a comparison between astrodynamical manipulations and a machine learning approach. https://www.researchgate.net/publication/380974504_Computing_low-thrust_transfers_in_the_asteroid_belt_a_comparison_between_astrodynamical_manipulations_and_a_machine_learning_approach.