Fast and simple implementation of RL algorithms, designed to run fully on GPU.
Go to file
Lukas Schneider 7ce11711d4
Update setup.py package versions
2024-03-24 12:12:03 -07:00
docs added rewrite of rsl_rl for supporting additional algorithms 2023-12-12 18:32:21 +01:00
examples added rewrite of rsl_rl for supporting additional algorithms 2023-12-12 18:32:21 +01:00
licenses/dependencies Updates RSL-RL to version 2.0 (#14) 2023-11-02 00:43:02 +01:00
rsl_rl added rewrite of rsl_rl for supporting additional algorithms 2023-12-12 18:32:21 +01:00
tests added rewrite of rsl_rl for supporting additional algorithms 2023-12-12 18:32:21 +01:00
.flake8 Updates RSL-RL to version 2.0 (#14) 2023-11-02 00:43:02 +01:00
.gitignore added rewrite of rsl_rl for supporting additional algorithms 2023-12-12 18:32:21 +01:00
.pre-commit-config.yaml Updates RSL-RL to version 2.0 (#14) 2023-11-02 00:43:02 +01:00
CONTRIBUTORS.md added rewrite of rsl_rl for supporting additional algorithms 2023-12-12 18:32:21 +01:00
LICENSE Updates RSL-RL to version 2.0 (#14) 2023-11-02 00:43:02 +01:00
README.md Added citation to README 2024-01-30 11:15:48 -08:00
pyproject.toml Updates RSL-RL to version 2.0 (#14) 2023-11-02 00:43:02 +01:00
setup.py Update setup.py package versions 2024-03-24 12:12:03 -07:00

README.md

RSL RL

Fast and simple implementation of RL algorithms, designed to run fully on GPU.

Currently, the following algorithms are implemented:

  • Distributed Distributional DDPG (D4PG)
  • Deep Deterministic Policy Gradient (DDPG)
  • Distributional PPO (DPPO)
  • Distributional Soft Actor Critic (DSAC)
  • Proximal Policy Optimization (PPO)
  • Soft Actor Critic (SAC)
  • Twin Delayed DDPG (TD3)

Maintainer: David Hoeller, Nikita Rudin
Affiliation: Robotic Systems Lab, ETH Zurich & NVIDIA
Contact: Nikita Rudin (rudinn@ethz.ch), Lukas Schneider (lukas@luschneider.com)

Citation

If you use our code in your research, please cite us:

@misc{schneider2023learning,
  archivePrefix={arXiv},
  author={Lukas Schneider and Jonas Frey and Takahiro Miki and Marco Hutter},
  eprint={2309.14246},
  primaryClass={cs.RO}
  title={Learning Risk-Aware Quadrupedal Locomotion using Distributional Reinforcement Learning}, 
  year={2023},
}

Installation

To install the package, run the following command in the root directory of the repository:

$ pip3 install -e .

Examples can be run from the examples/ directory. The example directory also include hyperparameters tuned for some gym environments. These are automatically loaded when running the example. Videos of the trained policies are periodically saved to the videos/ directory.

$ python3 examples/example.py

To run gym mujoco environments, you need a working installation of the mujoco simulator and mujoco_py.

Tests

The repository contains a set of tests to ensure that the algorithms are working as expected. To run the tests, simply execute:

$ cd tests/ && python -m unittest

Documentation

To generate documentation, run the following command in the root directory of the repository:

$ pip3 install sphinx sphinx-rtd-theme
$ sphinx-apidoc -o docs/source . ./examples
$ cd docs/ && make html

Contribution Guidelines

We use black formatter for formatting the python code. You should configure black with VSCode or you can manually format files with:

$ pip install black
$ black --line-length 120 .