Go to file
2024-01-23 17:15:24 +01:00
.github Made check for wether tagged commit is on master more robust 2023-10-29 17:28:45 +01:00
docs Remove font dependence from namelogo svg and fix ALR URL 2024-01-23 16:49:17 +01:00
fancy_gym Removed one last .md hiding in the code part of the repo 2024-01-19 11:00:29 +01:00
test Bring to parity with dev-branch 2023-11-23 21:14:11 +01:00
.gitignore update .gitignore 2023-09-05 09:59:02 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2023-10-11 15:26:13 +02:00
CONTRIBUTING.md Create CONTRIBUTING.md 2023-10-11 15:37:18 +02:00
icon.svg A fancy icon for fancy gym 2023-06-27 21:39:03 +02:00
LICENSE Create LICENSE 2023-10-11 14:17:02 +02:00
MANIFEST.in Make sure the icon is always loaded from GitHub 2023-10-12 16:46:45 +02:00
pyproject.toml Version Increment 2023-10-29 17:29:22 +01:00
README.md Mimimized README 2024-01-23 17:15:24 +01:00
setup.py Merge branch '81_fix_docs_mp' into pypi-package 2023-11-23 20:56:55 +01:00




Fancy Gym

Built upon the foundation of Gymnasium (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 environments (Panda Box Pushing, Table Tennis, etc.) that present a higher degree of difficulty, pushing the boundaries of reinforcement learning research.
  • 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 Control and Metaworld, whether you want 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 guide will assist you. We encourage and highly appreciate submissions via PRs to integrate these environments into fancy_gym.

Quickstart Guide

| We recommend installing fancy_gym into a virtual environment as provided by venv, Poetry or Conda.

Install via pip (or use an alternative installation method <guide/installation.html>__)

    pip install 'fancy_gym[all]'

Try out one of our step-based environments (or explore our other envs <envs/fancy/index.html>__)

   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>__)

   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()

Documentation

Documentation for fancy_gym can be found here; Usage Examples can be found here.

Citing the Project

To cite this repository in publications:

@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 icon as can be found here.