fancy_gym/docs/source/index.rst

167 lines
4.9 KiB
ReStructuredText
Raw Normal View History

2023-12-05 18:16:47 +01:00
Fancy Gym
=========
2023-12-05 15:47:17 +01:00
2024-01-18 17:42:14 +01:00
.. raw:: html
<div style="text-align: center;">
<img src="_static/imgs/fancy_namelogo.svg" style="margin: 5%; width: 80%;"></a>
</div>
<style>
2024-01-19 10:45:25 +01:00
/* Little Hack: We don't want to show the title (ugly), but need to define it since it also sets the pages metadata (for titlebar and stuff) */
2024-01-18 17:42:14 +01:00
h1 {
display: none;
}
</style>
2023-12-05 18:16:47 +01:00
Built upon the foundation of
`Gymnasium <https://gymnasium.farama.org/>`__ (a maintained fork of
OpenAIs renowned Gym library) ``fancy_gym`` offers a comprehensive
collection of reinforcement learning environments.
Key Features
------------
- **New Challenging Environments**: ``fancy_gym`` includes several new
2024-01-19 10:45:25 +01:00
environments (`Panda Box Pushing <envs/fancy/mujoco.html#box-pushing>`_,
`Table Tennis <envs/fancy/mujoco.html#table-tennis>`_,
`etc. <envs/fancy/index.html>`_) that present a higher degree of
difficulty, pushing the boundaries of reinforcement learning research.
2023-12-05 18:16:47 +01:00
- **Support for Movement Primitives**: ``fancy_gym`` supports a range
of movement primitives (MPs), including Dynamic Movement Primitives
(DMPs), Probabilistic Movement Primitives (ProMP), and Probabilistic
Dynamic Movement Primitives (ProDMP).
- **Upgrade to Movement Primitives**: With our framework, its
straightforward to transform standard Gymnasium environments into
environments that support movement primitives.
- **Benchmark Suite Compatibility**: ``fancy_gym`` makes it easy to
access renowned benchmark suites such as `DeepMind
2024-01-18 16:43:20 +01:00
Control <envs/dmc.html>`__
and `Metaworld <envs/meta.html>`__, whether you want
2023-12-05 18:16:47 +01:00
to use them in the regular step-based setting or using MPs.
- **Contribute Your Own Environments**: If youre inspired to create
custom gym environments, both step-based and with movement
primitives, this
2024-01-18 16:43:20 +01:00
`guide <guide/upgrading_envs.html>`__
2023-12-05 18:16:47 +01:00
will assist you. We encourage and highly appreciate submissions via
PRs to integrate these environments into ``fancy_gym``.
2024-01-18 22:46:25 +01:00
Quickstart Guide
----------------
2024-01-19 10:45:25 +01:00
Install via pip (`or use an alternative installation method <guide/installation.html>`__)
2024-01-18 22:46:25 +01:00
.. code:: bash
pip install 'fancy_gym[all]'
Try out one of our step-based environments (`or explore our other envs <envs/fancy/index.html>`__)
.. code:: python
import gymnasium as gym
import fancy_gym
import time
env = gym.make('fancy/BoxPushingDense-v0', render_mode='human')
observation = env.reset()
env.render()
for i in range(1000):
action = env.action_space.sample() # Randomly sample an action
observation, reward, terminated, truncated, info = env.step(action)
time.sleep(1/env.metadata['render_fps'])
if terminated or truncated:
observation, info = env.reset()
Explore the MP-based variant (`or learn more about Movement Primitives (MPs) <guide/episodic_rl.html>`__)
.. code:: python
import gymnasium as gym
import fancy_gym
env = gym.make('fancy_ProMP/BoxPushingDense-v0', render_mode='human')
env.reset()
env.render()
for i in range(10):
action = env.action_space.sample() # Randomly sample MP parameters
observation, reward, terminated, truncated, info = env.step(action) # Will execute full trajectory, based on MP
observation = env.reset()
2023-12-05 18:16:47 +01:00
.. toctree::
:maxdepth: 3
:caption: User Guide
guide/installation
guide/episodic_rl
guide/basic_usage
guide/upgrading_envs
2023-12-13 15:52:44 +01:00
.. toctree::
:maxdepth: 3
:caption: Environments
envs/fancy/index
envs/dmc
envs/meta
envs/open_ai
2023-12-05 18:16:47 +01:00
.. toctree::
:maxdepth: 3
:caption: Examples
examples/general
examples/dmc
examples/metaworld
examples/open_ai
examples/movement_primitives
examples/mp_params_tuning
2023-12-13 15:52:44 +01:00
examples/pd_control_gain_tuning
2023-12-05 18:16:47 +01:00
examples/replanning_envs
2023-12-05 15:47:17 +01:00
.. toctree::
2023-12-05 18:16:47 +01:00
:maxdepth: 3
:caption: API
2023-12-05 15:47:17 +01:00
api
2023-12-05 18:16:47 +01:00
Citing the Project
------------------
2024-01-23 17:34:59 +01:00
To cite `fancy_gym` in publications:
2023-12-05 18:16:47 +01:00
.. code:: bibtex
@software{fancy_gym,
title = {Fancy Gym},
author = {Otto, Fabian and Celik, Onur and Roth, Dominik and Zhou, Hongyi},
abstract = {Fancy Gym: Unifying interface for various RL benchmarks with support for Black Box approaches.},
url = {https://github.com/ALRhub/fancy_gym},
organization = {Autonomous Learning Robots Lab (ALR) at KIT},
}
Icon Attribution
----------------
The icon is based on the
`Gymnasium <https://github.com/Farama-Foundation/Gymnasium>`__ icon as
can be found
`here <https://gymnasium.farama.org/_static/img/gymnasium_black.svg>`__.
=================
.. raw:: html
2023-12-05 15:47:17 +01:00
2024-01-19 10:45:25 +01:00
<div style="text-align: center; background: #f8f8f8; border-radius: 10px;">
<a href="https://alr.iar.kit.edu/"><img src="_static/imgs/alr.svg" style="margin: 5%; width: 20%;"></a>
2023-12-05 18:16:47 +01:00
<a href="https://www.kit.edu/"><img src="_static/imgs/kit.svg" style="margin: 5%; width: 20%;"></a>
<a href="https://uni-tuebingen.de/"><img src="_static/imgs/uni_tuebingen.svg" style="margin: 5%; width: 20%;"></a>
</div>
2024-01-18 16:43:20 +01:00
<br>