Skip to content

RL environments and PPO training code to develop trajectory tracking controllers for various robot systems, written in Jax.

Notifications You must be signed in to change notification settings

PratikKunapuli/EQTrackingControl

Repository files navigation

EQ Tracking Control: Symmetry-Aware Trajectory Tracking Controllers with RL

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.

Installation

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 .

Example Results

main_results

main_rollouts

Checkpoints

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.

Citation

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}
}

About

RL environments and PPO training code to develop trajectory tracking controllers for various robot systems, written in Jax.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages