This repository replicates the result of the paper "Leveraging Gated Recurrent Units for Iterative Online Precise Attitude Control for Geodetic Missions".
Authors: Vrushabh Zinage, Shrenik Zinage, Srinivas Bettadpur, Efstathios Bakolas.
The code is structured as follows:
- data: Data for disturbances.
- src: Contains the Python codes required to implement the methodology.
- figures: Contains saved figures.
- main: Python code that implements the methodology.
Ensure that you have Python 3.8 or later installed on your system.
In addition to the common python packages (numpy
, matplotlib
, etc.), you will need to install jax to run the codes.
Note: If, while installing jax
on a Mac with an M1 chip, you run into the error saying something like
RuntimeError: This version of jaxlib was built using AVX instructions, which your CPU and/or operating system do not support. You may be able work around this issue by building jaxlib from source.
a workaround for now is to install jax
and jaxlib
via conda-forge, as mentioned in this comment.
conda install -c conda-forge jaxlib
conda install -c conda-forge jax
To install equinox
and optax
libraries type the following in the terminal:
pip install equinox
pip install optax
The requirements for the Python plotting scripts are (ignoring standard libraries):
- matplotlib
- seaborn
- texlive If you are on OS X and using homebrew, then run
If for some reason you cannot install texlive, you will need to manually edit the Python plotting scripts and comment out the lines:
brew install texlive
plt.rcParams['text.latex.preamble']=[r"\usepackage{lmodern}"] params = {'text.usetex' : True, 'font.size' : 9, 'font.family' : 'lmodern' }
Note: Due to the variability of the random seed with each execution of the code, the resulting figures may differ slightly from those presented in the paper. We chose not to fix the random seed to avoid a positive results bias, or ``hero'' runs.
If you use this work in your research, please cite:
@article{zinage2024leveraging,
title={Leveraging Gated Recurrent Units for Iterative Online Precise Attitude Control for Geodetic Missions},
author={Zinage, Vrushabh and Zinage, Shrenik and Bettadpur, Srinivas and Bakolas, Efstathios},
journal={arXiv preprint arXiv:2405.15159},
year={2024}
}