This repository contains code for the environment and RL training implementations of the paper, Leveraging Symmetry to Accelerate Learning of Trajectory Tracking Controllers for Free-Flying Robotic Systems. All environments are written in Jax, with wrappers available for the standard Gymnasium interface. A custom PPO implementation, also written in Jax, is provided. Training takes approximately 4 mins for 10M env steps, running on an Nvidia RTX A5000.
This package was run on Python 3.10. Other python versions may work, but it has not been tested. Jax can be installed with backend support for GPU/TPU by following their installation instructions.
git clone [email protected]:PratikKunapuli/PointParticleEQ.git
cd PointParticleEQ
pip install -r requirements.txt
If you would like to use the ROS2 visualizations, ROS2 must be installed seperately. Then, the following line can be used to install the required ROS packages.
pip install -r requirements_ros2.txt
Finally, install the package locally for the relative imports to work
pip install -e .
Pretrained models are provided within the checkpoints
directory, for all systems. These models match the performance reported in the paper, and the individual hyperparameters used for each experiment are contained wihtin the config.txt
file of the individual experiments.
If you use this repository or paper please cite the following:
@misc{welde2024leveragingsymmetryacceleratelearning,
title={Leveraging Symmetry to Accelerate Learning of Trajectory Tracking Controllers for Free-Flying Robotic Systems},
author={Jake Welde and Nishanth Rao and Pratik Kunapuli and Dinesh Jayaraman and Vijay Kumar},
year={2024},
eprint={2409.11238},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2409.11238}
}