Robotics environments

Overview

Robotics environments

Details and documentation on these robotics environments are available in OpenAI's blog post and the accompanying technical report.

If you use these environments, please cite the following paper:

@misc{1802.09464,
  Author = {Matthias Plappert and Marcin Andrychowicz and Alex Ray and Bob McGrew and Bowen Baker and Glenn Powell and Jonas Schneider and Josh Tobin and Maciek Chociej and Peter Welinder and Vikash Kumar and Wojciech Zaremba},
  Title = {Multi-Goal Reinforcement Learning: Challenging Robotics Environments and Request for Research},
  Year = {2018},
  Eprint = {arXiv:1802.09464},
}

Fetch environments

FetchReach-v0: Fetch has to move its end-effector to the desired goal position.

FetchSlide-v0: Fetch has to hit a puck across a long table such that it slides and comes to rest on the desired goal.

FetchPush-v0: Fetch has to move a box by pushing it until it reaches a desired goal position.

FetchPickAndPlace-v0: Fetch has to pick up a box from a table using its gripper and move it to a desired goal above the table.

Shadow Dexterous Hand environments

HandReach-v0: ShadowHand has to reach with its thumb and a selected finger until they meet at a desired goal position above the palm.

HandManipulateBlock-v0: ShadowHand has to manipulate a block until it achieves a desired goal position and rotation.

HandManipulateEgg-v0: ShadowHand has to manipulate an egg until it achieves a desired goal position and rotation.

HandManipulatePen-v0: ShadowHand has to manipulate a pen until it achieves a desired goal position and rotation.

Comments
  • [Question] Observations meaning

    [Question] Observations meaning

    Hello!

    I would like to ask what do the observations in environments mean specifically? I'm especially interested in 'HandReach-v0' and there are 63 observables, however I could not find and information about their meaning.

    For example, the observations for OpenAI Gym are described here: https://github.com/openai/gym/wiki/CartPole-v0

    opened by Borzyszkowski 7
  • Mujoco bindings and update to gym v0.26

    Mujoco bindings and update to gym v0.26

    This PR makes the following changes:

    • Add new mujoco (v2.2.2) python bindings to latest version of the environments. Versions of environments that depend on mujoco_py have been kept.
    • Update environments to gym v0.26 API (step, render, reset)
    • Add pre-commit tests: black, pyright, pyupgrade, isort
    • Fixed py.Docker and tests for new environments
    • Rename Hand Touch Sensor environments to distinguish between Boolean Touch Sensor and Continuous Touch Sensor
    • Update README.md
    • Add utils for mujoco bindings and mujoco_py under utils/mujoco_py_utils.py and utils/mujoco_utils.py
    • Add compute_terminated and compute_truncated utility methods to GoalEnv as suggested by #16

    The new versions of the environments that depend on mujoco bindings were validated with respect to the old versions of mujoco_py. The benchmark was performed using TQC + HER (sb3 implementation) with the same hyperparameters for both environment versions. The results can be seen here: https://wandb.ai/rodrigodelazcano/gym_robotics/reports/Benchmark-Gym-Robotics-SB3--VmlldzoyMjc3Mzkw

    opened by rodrigodelazcano 4
  • [Proposal] Use mujoco bindings from deepmind instead of mujoco_py

    [Proposal] Use mujoco bindings from deepmind instead of mujoco_py

    Since mujoco_py is no longer maintained, and gym has also already updated its other mujoco envs to use deepmind's python bindings, gym-robotics needs to be updated as well.

    opened by arjun-kg 4
  • [Bug Report] error with 'pip install gym-robotics'

    [Bug Report] error with 'pip install gym-robotics'

    Describe the bug After pip install gym (version 0.22.0), pip install gym-robotics leads to the following error:

    Packages installed from PyPI cannot depend on packages which are not also hosted on PyPI.
    

    And when installing directly gym-robotics with pip (without a prior installation of gym): pip install gym-robotics, the import of gym_robotics returns the following error:

    File "<stdin>", line 1, in <module>
      File "/home/perrin/.conda/envs/p3/lib/python3.7/site-packages/gym_robotics/__init__.py", line 1, in <module>
        from gym.envs.registration import register
      File "/home/perrin/.conda/envs/p3/lib/python3.7/site-packages/gym/__init__.py", line 12, in <module>
        from gym.envs import make, spec, register
      File "/home/perrin/.conda/envs/p3/lib/python3.7/site-packages/gym/envs/__init__.py", line 10, in <module>
        _load_env_plugins()
      File "/home/perrin/.conda/envs/p3/lib/python3.7/site-packages/gym/envs/registration.py", line 725, in load_env_plugins
        fn = plugin.load()
      File "/home/perrin/.conda/envs/p3/lib/python3.7/site-packages/importlib_metadata/__init__.py", line 196, in load
        return functools.reduce(getattr, attrs, module)
    AttributeError: module 'gym_robotics' has no attribute 'register_robotics_envs'
    

    System Info Ubuntu 22.04 Tested with Python 3.7.7 and 3.9.9

    opened by perrin-isir 3
  • [Bug Report] double registration import issue

    [Bug Report] double registration import issue

    There are issues with importing gymnasium_robotics/__init__.py twice

    $ pip list | grep gym           
    gymnasium                     0.27.0
    

    when you import gymansium_robotics it appers that /__init__.py is called twice

    Git version

    ~/Gymnasium-Robotics]$ git pull           
    Already up to date
    
    ~/Gymnasium-Robotics]$ pip install . && py
    Defaulting to user installation because normal site-packages is not writeable
    Processing /home/master-andreas/Gymnasium-Robotics
      Installing build dependencies ... done
      Getting requirements to build wheel ... done
      Installing backend dependencies ... done
      Preparing metadata (pyproject.toml) ... done
    Requirement already satisfied: numpy<1.24.0,>=1.21.0 in /usr/lib/python3.10/site-packages (from gymnasium-robotics==1.1.0) (1.23.5)
    Requirement already satisfied: mujoco>=2.3.1.post1 in /home/master-andreas/.local/lib/python3/site-packages (from gymnasium-robotics==1.1.0) (2.3.1.post1)
    Requirement already satisfied: gymnasium>=0.26 in /home/master-andreas/.local/lib/python3/site-packages (from gymnasium-robotics==1.1.0) (0.27.0)
    Requirement already satisfied: jax-jumpy>=0.2.0 in /home/master-andreas/.local/lib/python3/site-packages (from gymnasium>=0.26->gymnasium-robotics==1.1.0) (0.2.0)
    Requirement already satisfied: typing-extensions>=4.3.0 in /usr/lib/python3.10/site-packages (from gymnasium>=0.26->gymnasium-robotics==1.1.0) (4.4.0)
    Requirement already satisfied: shimmy<1.0,>=0.1.0 in /home/master-andreas/.local/lib/python3/site-packages (from gymnasium>=0.26->gymnasium-robotics==1.1.0) (0.2.0)
    Requirement already satisfied: cloudpickle>=1.2.0 in /home/master-andreas/.local/lib/python3/site-packages (from gymnasium>=0.26->gymnasium-robotics==1.1.0) (2.2.0)
    Requirement already satisfied: gymnasium-notices>=0.0.1 in /home/master-andreas/.local/lib/python3/site-packages (from gymnasium>=0.26->gymnasium-robotics==1.1.0) (0.0.1)
    Requirement already satisfied: glfw in /home/master-andreas/.local/lib/python3/site-packages (from mujoco>=2.3.1.post1->gymnasium-robotics==1.1.0) (2.5.5)
    Requirement already satisfied: absl-py in /home/master-andreas/.local/lib/python3/site-packages (from mujoco>=2.3.1.post1->gymnasium-robotics==1.1.0) (1.3.0)
    Requirement already satisfied: pyopengl in /home/master-andreas/.local/lib/python3/site-packages (from mujoco>=2.3.1.post1->gymnasium-robotics==1.1.0) (3.1.6)
    Building wheels for collected packages: gymnasium-robotics
      Building wheel for gymnasium-robotics (pyproject.toml) ... done
      Created wheel for gymnasium-robotics: filename=gymnasium_robotics-1.1.0-py3-none-any.whl size=1485120 sha256=79a9063e315f99716b0f7ff51ba6ceb5e7d82534aea3f4b88936593645b42db1
      Stored in directory: /home/master-andreas/.cache/pip/wheels/fb/22/bd/db3af103b5ded132ca76abe0558b08910f496de990b605d1d8
    Successfully built gymnasium-robotics
    Installing collected packages: gymnasium-robotics
      Attempting uninstall: gymnasium-robotics
        Found existing installation: gymnasium-robotics 1.1.0
        Uninstalling gymnasium-robotics-1.1.0:
          Successfully uninstalled gymnasium-robotics-1.1.0
    Successfully installed gymnasium-robotics-1.1.0
    Python 3.10.8 (main, Nov  1 2022, 14:18:21) [GCC 12.2.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import gymnasium_robotics
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchSlide-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchSlide-v2 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchPickAndPlace-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchPickAndPlace-v2 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchReach-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchReach-v2 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchReach-v3 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchPush-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchPush-v2 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandReach-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandReach-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateZ-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateZ-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateZ_BooleanTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateZ_BooleanTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateZ_ContinuousTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateZ_ContinuousTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateParallel-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateParallel-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateParallel_BooleanTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateParallel_BooleanTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateParallel_ContinuousTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateParallel_ContinuousTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateXYZ-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateXYZ-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateXYZ_BooleanTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateXYZ_BooleanTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateXYZ_ContinuousTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateXYZ_ContinuousTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockFull-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockFull-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlock-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlock-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlock_BooleanTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlock_BooleanTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlock_ContinuousTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlock_ContinuousTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggRotate-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggRotate-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggRotate_BooleanTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggRotate_BooleanTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggRotate_ContinuousTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggRotate_ContinuousTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggFull-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggFull-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEgg-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEgg-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEgg_BooleanTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEgg_BooleanTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEgg_ContinuousTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEgg_ContinuousTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenRotate-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenRotate-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenRotate_BooleanTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenRotate_BooleanTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenRotate_ContinuousTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenRotate_ContinuousTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenFull-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenFull-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePen-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePen-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePen_BooleanTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePen_BooleanTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePen_ContinuousTouchSensors-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePen_ContinuousTouchSensors-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchSlideDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchSlideDense-v2 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchPickAndPlaceDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchPickAndPlaceDense-v2 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchReachDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchReachDense-v2 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchReachDense-v3 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchPushDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment FetchPushDense-v2 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandReachDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandReachDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateZDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateZDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateZ_BooleanTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateZ_BooleanTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateZ_ContinuousTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateZ_ContinuousTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateParallelDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateParallelDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateParallel_BooleanTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateParallel_BooleanTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateParallel_ContinuousTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateParallel_ContinuousTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateXYZDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateXYZDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateXYZ_BooleanTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateXYZ_BooleanTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateXYZ_ContinuousTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockRotateXYZ_ContinuousTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockFullDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockFullDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlockDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlock_BooleanTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlock_BooleanTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlock_ContinuousTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateBlock_ContinuousTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggRotateDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggRotateDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggRotate_BooleanTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggRotate_BooleanTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggRotate_ContinuousTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggRotate_ContinuousTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggFullDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggFullDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEggDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEgg_BooleanTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEgg_BooleanTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEgg_ContinuousTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulateEgg_ContinuousTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenRotateDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenRotateDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenRotate_BooleanTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenRotate_BooleanTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenRotate_ContinuousTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenRotate_ContinuousTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenFullDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenFullDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePenDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePen_BooleanTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePen_BooleanTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePen_ContinuousTouchSensorsDense-v0 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    /home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py:520: UserWarning: WARN: Overriding environment HandManipulatePen_ContinuousTouchSensorsDense-v1 already in registry.
      logger.warn(f"Overriding environment {new_spec.id} already in registry.")
    >>> 
    

    pip version

    ...
    $ pip uninstall gymnasium_robotics
    ...
    $ pip install gymnasium_robotics  
    ...
    [[email protected] ~]$ py                            
    Python 3.10.8 (main, Nov  1 2022, 14:18:21) [GCC 12.2.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import gymnasium_robotics
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/home/master-andreas/.local/lib/python3.10/site-packages/gymnasium_robotics/__init__.py", line 1, in <module>
        from gymnasium.envs.registration import register
      File "/home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/__init__.py", line 12, in <module>
        from gymnasium.envs.registration import make, spec, register, registry, pprint_registry
      File "/home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/__init__.py", line 352, in <module>
        load_env_plugins()
      File "/home/master-andreas/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py", line 309, in load_env_plugins
        fn = plugin.load()
      File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 173, in load
        return functools.reduce(getattr, attrs, module)
    AttributeError: partially initialized module 'gymnasium_robotics' has no attribute 'register_robotics_envs' (most likely due to a circular import)
    >>> 
    
    opened by Kallinteris-Andreas 2
  • [Bug Report] Minor User Warning : WARN: Overriding environment HandManipulateBlockRotateZ-v1 already in registry.

    [Bug Report] Minor User Warning : WARN: Overriding environment HandManipulateBlockRotateZ-v1 already in registry.

    Describe the bug Getting user warning UserWarning: WARN: Overriding environment HandManipulateBlockRotateZ-v1 already in registry. when importing Gym. Code example

    System Info Describe the characteristic of your environment: gym 0.26 python 3.10 windows

    • Python version

    Checklist

    image Updating the init file will fix it.

    opened by leonasting 2
  • [Question] Compatibility with stable-baselines3

    [Question] Compatibility with stable-baselines3

    Question

    Hi, how do I initialize a gymnasium-robotics environment such that it is compatible with stable-baselines3. E.g., I tried:

    def make_env():
        env = gymnasium.make('FetchSlide-v2')
        return env
    env = stable_baselines3.common.vec_env.DummyVecEnv([make_env])
    

    which returns an error:

      File "/path/to/stable-baselines3/stable_baselines3/common/vec_env/util.py", line 68, in obs_space_info
        assert not hasattr(obs_space, "spaces"), f"Unsupported structured space '{type(obs_space)}'"
    AssertionError: Unsupported structured space '<class 'gymnasium.spaces.dict.Dict'>'
    

    I found this repo from Rodrigo de Lazcano: validate-mujoco-bindings-gym-robotics. However, it seems to use an older version of gymnasium-robotics (gym-robotics). I couldn't find any more recent examples or documentation.

    opened by simonguist 1
  • Fix typos and codestyle in the README

    Fix typos and codestyle in the README

    Description

    Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

    Fixes # (issue)

    Type of change

    Please delete options that are not relevant.

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [x] This change requires a documentation update

    Screenshots

    Please attach before and after screenshots of the change if applicable.

    Checklist:

    • [ ] I have run the pre-commit checks with pre-commit run --all-files (see CONTRIBUTING.md instructions to set it up)
    • [ ] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [ ] New and existing unit tests pass locally with my changes
    opened by araffin 1
  • Update __init__.py

    Update __init__.py

    Update the init.py to remove the warning of duplicated registration of the environment MujocoHandBlockEnv Note: Very Minor change no major impact.

    Description

    Gym throws a user warning of duplicated registration of the environment.

    Fixes # (issue)

    Just removed duplicated code

    Please delete options that are not relevant.

    • [ X] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [ ] This change requires a documentation update

    Screenshots

    Please attach before and after screenshots of the change if applicable.

    Checklist:

    • [ ] I have run the pre-commit checks with pre-commit run --all-files (see CONTRIBUTING.md instructions to set it up)
    • [ ] I have commented my code, particularly in hard-to-understand areas
    • [ ] I have made corresponding changes to the documentation
    • [ ] My changes generate no new warnings
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [ ] New and existing unit tests pass locally with my changes
    opened by leonasting 1
  • [Bug Report] Gym 0.26 compatibility

    [Bug Report] Gym 0.26 compatibility

    I believe this is not yet compatible with the latest gym (0.26.0)

    I tried the following code with and without unwrapped, but render consistently returns None.

    env = EnvCompatibility(gym.make("FetchReach-v1").unwrapped, render_mode="rgb_array")
    

    Should we consider migrating to the new API if it's going to last?

    opened by vmoens 1
  • [Question] How can I change the distance_threshold in fetch task?

    [Question] How can I change the distance_threshold in fetch task?

    Question

    I want to change the distance_threshold value to improve the difficulty of the fetch task. Like handenv, I can use env = gym.make('HandReach-v0',distance_threshold=0.001), but env = gym.make('FetchReach-v1',distance_threshold=0.001) doesn't work. Then I try to use env.distance_threshold=0.001 to set the variable value, but the compute_reward function and the info['is_success'] returned by env.step function seem to use the default distance_threshold 0.05. So what should I do if I want to change the distance_threshold in fetch task?

    opened by undefinedcodezhong 1
  • Add sparse reward variants for Adroit hand environments

    Add sparse reward variants for Adroit hand environments

    Description

    This adds a sparse reward variant to the adroit hand environments. The dense reward environment is unchanged, but to enable sparse reward on, for example, AdroitHandPen-v0, we can now do AdroitHandPenSparse-v0.

    The sparse reward versions are intentionally very hard, and unlikely to work for status quo RL algorithms without prior heuristics.

    Obligatory Nice.

    opened by jjshoots 1
  • [Bug Report] HTML Doc Generation gives warnings

    [Bug Report] HTML Doc Generation gives warnings

    [~/Gymnasium-Robotics]$ cd docs              
    [~/Gymnasium-Robotics/docs]$ make dirhtml _build
    Running Sphinx v5.2.3
    loading pickled environment... done
    myst v0.18.1: MdParserConfig(commonmark_only=False, gfm_only=False, enable_extensions=[], disable_syntax=[], all_links_external=False, url_schemes=('http', 'https', 'mailto', 'ftp'), ref_domains=None, highlight_code_blocks=True, number_code_blocks=[], title_to_header=False, heading_anchors=None, heading_slug_func=None, footnote_transition=True, words_per_minute=200, sub_delimiters=('{', '}'), linkify_fuzzy_links=True, dmath_allow_labels=True, dmath_allow_space=True, dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, mathjax_classes='tex2jax_process|mathjax_process|math|output_area')
    building [mo]: targets for 0 po files that are out of date
    building [dirhtml]: targets for 0 source files that are out of date
    updating environment: 0 added, 3 changed, 0 removed
    reading sources... [100%] envs/hand_touch/index                                  
    /home/master-andreas/Gymnasium-Robotics/docs/envs/fetch/index.md:6: WARNING: Document headings start at H2, not H1 [myst.header]
    /home/master-andreas/Gymnasium-Robotics/docs/envs/fetch/index.md:15: CRITICAL: Problems with "raw" directive path:
    InputError: [Errno 2] No such file or directory: 'envs/fetch/list.html'.
    /home/master-andreas/Gymnasium-Robotics/docs/envs/fetch/index.md:19: WARNING: toctree contains reference to nonexisting document 'envs/fetch/FetchReach'
    /home/master-andreas/Gymnasium-Robotics/docs/envs/fetch/index.md:19: WARNING: toctree contains reference to nonexisting document 'envs/fetch/FetchSlide'
    /home/master-andreas/Gymnasium-Robotics/docs/envs/fetch/index.md:19: WARNING: toctree contains reference to nonexisting document 'envs/fetch/FetchPickAndPlace'
    /home/master-andreas/Gymnasium-Robotics/docs/envs/fetch/index.md:19: WARNING: toctree contains reference to nonexisting document 'envs/fetch/FetchPush'
    /home/master-andreas/Gymnasium-Robotics/docs/envs/hand/index.md:6: WARNING: Document headings start at H2, not H1 [myst.header]
    /home/master-andreas/Gymnasium-Robotics/docs/envs/hand/index.md:15: CRITICAL: Problems with "raw" directive path:
    InputError: [Errno 2] No such file or directory: 'envs/hand/list.html'.
    /home/master-andreas/Gymnasium-Robotics/docs/envs/hand/index.md:19: WARNING: toctree contains reference to nonexisting document 'envs/hand/HandReach'
    /home/master-andreas/Gymnasium-Robotics/docs/envs/hand/index.md:19: WARNING: toctree contains reference to nonexisting document 'envs/hand/HandBlock'
    /home/master-andreas/Gymnasium-Robotics/docs/envs/hand/index.md:19: WARNING: toctree contains reference to nonexisting document 'envs/hand/HandEgg'
    /home/master-andreas/Gymnasium-Robotics/docs/envs/hand/index.md:19: WARNING: toctree contains reference to nonexisting document 'envs/hand/HandPen'
    /home/master-andreas/Gymnasium-Robotics/docs/envs/hand_touch/index.md:20: CRITICAL: Problems with "raw" directive path:
    InputError: [Errno 2] No such file or directory: 'envs/hand_touch/list.html'.
    /home/master-andreas/Gymnasium-Robotics/docs/envs/hand_touch/index.md:24: WARNING: toctree contains reference to nonexisting document 'envs/hand_touch/HandBlockTouchSensors'
    /home/master-andreas/Gymnasium-Robotics/docs/envs/hand_touch/index.md:24: WARNING: toctree contains reference to nonexisting document 'envs/hand_touch/HandEggTouchSensors'
    /home/master-andreas/Gymnasium-Robotics/docs/envs/hand_touch/index.md:24: WARNING: toctree contains reference to nonexisting document 'envs/hand_touch/HandPenTouchSensors'
    looking for now-outdated files... none found
    pickling environment... done
    checking consistency... /home/master-andreas/Gymnasium-Robotics/docs/404.md: WARNING: document isn't included in any toctree
    /home/master-andreas/Gymnasium-Robotics/docs/README.md: WARNING: document isn't included in any toctree
    done
    preparing documents... done
    writing output... [100%] index                                                   
    generating indices... genindex done
    writing additional pages... search done
    copying images... [100%] _static/videos/fetch/FetchPickAndPlace.gif              
    copying static files... done
    copying extra files... done
    dumping search index in English (code: en)... done
    dumping object inventory... done
    build succeeded, 18 warnings.
    
    The HTML pages are in _build/dirhtml.
    Running Sphinx v5.2.3
    
    Sphinx error:
    Builder name _build not registered or available through entry point
    make: *** [Makefile:20: _build] Error 2
    
    
    opened by Kallinteris-Andreas 6
  • [Proposal] MinariDataset Generation

    [Proposal] MinariDataset Generation

    Proposal

    Up-to-date, re-runnable expert Minari datasets for offline learning.

    Motivation

    Minari is now at a stage where datasets can be made and uploaded for experimental use by others.

    Pitch

    • Have an expert policy perform 100k rollouts on each environment, save this buffer as a MinariDataset and upload it for public use.

    Alternatives

    If anyone thinks Minari needs to be improved before doing this, let me know.

    Additional context

    See https://github.com/Farama-Foundation/Minari/blob/main/tutorials/DatasetCreation/dataset_creation.py for an example of creating and uploading a MinariDataset.

    Checklist

    • [x] I have checked that there is no similar issue in the repo (required)
    opened by WillDudley 0
  • Add MaMuJoCo (Multi-agent mujoco) Environments

    Add MaMuJoCo (Multi-agent mujoco) Environments

    MaMuJoCo was first introduced in "FACMAC: Factored Multi-Agent Centralised Policy Gradients"

    I consider this version of the code to be:

    • ~~almost~~ feature complete
    - bug free (at least I have written extensive tests)
    
    • doc wise I was I written a bunch ( more is needed), ~~but I still not sure how the Docs should be structured, e.g. do we need 1 page per task, or 1 for the Gymnasium/MuJoCo Tasks and 1 per new task~~

    ~~requirements: (I have not added them to setup.py, because it is obvious to me, how it should be packaged, should it work with just pip install gymansium-robotics[MaMuJoCo] for example)~~

    demo (feel free to try other scenarios/agent_configurations)

    import numpy
    from gymnasium_robotics import mamujoco_v0
    
    if __name__ == "__main__":
        env = mamujoco_v0.parallel_env(scenario='Ant', agent_conf='2x4', agent_obsk=0, render_mode=None)
        # env = mamujoco_v0.parallel_env(scenario='Humanoid', agent_conf='9|8', agent_obsk=0, render_mode=None)
        # env = mamujoco_v0.parallel_env(scenario='Reacher', agent_conf='2x1', agent_obsk=1, render_mode=None)
        # env = mamujoco_v0.parallel_env(scenario='coupled_half_cheetah', agent_conf='1p1', agent_obsk=1, render_mode=None)
        # env = mamujoco_v0.parallel_env(scenario='Swimmer', agent_conf='2x1', agent_obsk=0, render_mode='human')
        # env = mamujoco_v0.parallel_env(scenario='manyagent_swimmer', agent_conf='2x1', agent_obsk=0, render_mode='human')
        # env = mamujoco_v0.parallel_env(scenario='coupled_half_cheetah', agent_conf='1p1', agent_obsk=0, render_mode='human')
        # env = mamujoco_v0.parallel_env(scenario='manyagent_swimmer', agent_conf='2x1', agent_obsk=0, render_mode='human')
    
        n_episodes = 1
        debug_step = 0
    
        for e in range(n_episodes):
            obs = env.reset()
            terminated = {'agent_0': False}
            truncated = {'agent_0': False}
            episode_reward = 0
    
            while not terminated['agent_0'] and not truncated['agent_0']:
                state = env.state()
    
                actions = {}
                for agent_id in env.agents:
                    avail_actions = env.action_space(agent_id)
                    action = numpy.random.uniform(avail_actions.low[0], avail_actions.high[0], avail_actions.shape[0])
                    actions[str(agent_id)] = action
    
                obs, reward, terminated, truncated, info = env.step(actions)
                print(reward)
                episode_reward += reward['agent_0']
    
            print("Total reward in episode {} = {}".format(e, episode_reward))
        env.close()
    

    Notes:

    • The Environments are fully Deterministic
    • ~~Does not include versioning (-v0) this will be added right before it is ready for inclusion in the project~~
    • Tested only on x64 Linux py3.7, py3.8, py3.9, py3.10, py3.11 (I do not have option to test on MAC & ARM)
    • Documentation is not complete, ~~I need some help with deciding the structure (Since there are effectively a lot of domains)~~
    • Has passed Black, isort, flake8, (in pre-commit)
    • ~~Not sure if it belongs in this repo, or it would be better as part of PettingZoo (your call)~~
    • This is my first PR into a 'serious' repo, please feel free to dish out any criticism

    TODO (not by me)

    • add Apache license to the enviroment
    opened by Kallinteris-Andreas 6
Releases(v1.0.1)
  • v1.0.1(Oct 3, 2022)

    What's Changed

    The PyPi package name for this repository will be changed in future releases and integration with Gymnasium. The new name will be gymnasium_robotics and installation will be done with pip install gymnasium_robotics instead of pip install gym_robotics.

    The code for gym_robotics will be kept in the repository branch gym-robotics-legacy

    Bug Fix

    • Remove the warning of duplicated registration of the environment MujocoHandBlockEnv @leonasting
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Sep 15, 2022)

    This new release comes with the following changes:

    • Compatibility with gym v0.26. Previous gym versions won't be compatible with this release. @rodrigodelazcano
    • Added new environment versions that depend on the new mujoco python bindings. @rodrigodelazcano
    • Old environment versions that depend on mujoco_py are still kept but will be unmaintained moving forward. @rodrigodelazcano
    • New utility methods for GoalEnv class as suggested in #16 . compute_terminated and compute_truncated @rodrigodelazcano

    The new versions of the environments that depend on mujoco bindings were validated with respect to the old versions of mujoco_py. The benchmark was performed using TQC + HER (sb3 implementation) with the same hyperparameters for both environment versions. The results can be seen here: https://wandb.ai/rodrigodelazcano/gym_robotics/reports/Benchmark-Gym-Robotics-SB3--VmlldzoyMjc3Mzkw

    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Feb 25, 2022)

    What's Changed

    • Change workflow name by @vwxyzjn in https://github.com/Farama-Foundation/gym-robotics/pull/4
    • Adopt gym>=0.22 reset signature by @vwxyzjn in https://github.com/Farama-Foundation/gym-robotics/pull/8
    • Use gym>=0.22 as the core dependency by @vwxyzjn in https://github.com/Farama-Foundation/gym-robotics/pull/9

    Installation Demo

    pip install gym-robotics
    pip install mujoco_py
    wget https://mujoco.org/download/mujoco210-linux-x86_64.tar.gz
    mkdir -p ~/.mujoco
    tar -xzf mujoco210-linux-x86_64.tar.gz -C ~/.mujoco
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.mujoco/mujoco210/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia
    

    asciicast

    Full Changelog: https://github.com/Farama-Foundation/gym-robotics/compare/v0.0.2...v0.1.0

    Source code(tar.gz)
    Source code(zip)
  • v0.0.2(Jan 7, 2022)

    What's Changed

    • Migrate robotics environments from OpenAI Gym by @seungjaeryanlee in https://github.com/Farama-Foundation/gym-robotics/pull/1
    • Use Gym plugin system by @JesseFarebro in https://github.com/Farama-Foundation/gym-robotics/pull/2
    • Setup github actions to publish on PyPi by @vwxyzjn in https://github.com/Farama-Foundation/gym-robotics/pull/3

    New Contributors

    • @seungjaeryanlee made their first contribution in https://github.com/Farama-Foundation/gym-robotics/pull/1
    • @JesseFarebro made their first contribution in https://github.com/Farama-Foundation/gym-robotics/pull/2
    • @vwxyzjn made their first contribution in https://github.com/Farama-Foundation/gym-robotics/pull/3

    Full Changelog: https://github.com/Farama-Foundation/gym-robotics/commits/v0.0.2

    Source code(tar.gz)
    Source code(zip)
Owner
Farama Foundation
The Farama Foundation is a host organization for the development of open source reinforcement learning software
Farama Foundation
efficient neural audio synthesis in the waveform domain

neural waveshaping synthesis real-time neural audio synthesis in the waveform domain paper • website • colab • audio by Ben Hayes, Charalampos Saitis,

Ben Hayes 169 Dec 23, 2022
A library for graph deep learning research

Documentation | Paper [JMLR] | Tutorials | Benchmarks | Examples DIG: Dive into Graphs is a turnkey library for graph deep learning research. Why DIG?

DIVE Lab, Texas A&M University 1.3k Jan 01, 2023
Voice Conversion Using Speech-to-Speech Neuro-Style Transfer

This repo contains the official implementation of the VAE-GAN from the INTERSPEECH 2020 paper Voice Conversion Using Speech-to-Speech Neuro-Style Transfer.

Ehab AlBadawy 93 Jan 05, 2023
cisip-FIRe - Fast Image Retrieval

Fast Image Retrieval (FIRe) is an open source image retrieval project release by Center of Image and Signal Processing Lab (CISiP Lab), Universiti Malaya. This project implements most of the major bi

CISiP Lab 39 Nov 25, 2022
A python interface for training Reinforcement Learning bots to battle on pokemon showdown

The pokemon showdown Python environment A Python interface to create battling pokemon agents. poke-env offers an easy-to-use interface for creating ru

Haris Sahovic 184 Dec 30, 2022
Code and data (Incidents Dataset) for ECCV 2020 Paper "Detecting natural disasters, damage, and incidents in the wild".

Incidents Dataset See the following pages for more details: Project page: IncidentsDataset.csail.mit.edu. ECCV 2020 Paper "Detecting natural disasters

Ethan Weber 67 Dec 27, 2022
High-resolution networks and Segmentation Transformer for Semantic Segmentation

High-resolution networks and Segmentation Transformer for Semantic Segmentation Branches This is the implementation for HRNet + OCR. The PyTroch 1.1 v

HRNet 2.8k Jan 07, 2023
Awesome Monocular 3D detection

Awesome Monocular 3D detection Paper list of 3D detetction, keep updating! Contents Paper List 2022 2021 2020 2019 2018 2017 2016 KITTI Results Paper

Zhikang Zou 184 Jan 04, 2023
R interface to fast.ai

R interface to fastai The fastai package provides R wrappers to fastai. The fastai library simplifies training fast and accurate neural nets using mod

113 Dec 20, 2022
PyTorch-centric library for evaluating and enhancing the robustness of AI technologies

Responsible AI Toolbox A library that provides high-quality, PyTorch-centric tools for evaluating and enhancing both the robustness and the explainabi

24 Dec 22, 2022
CSPML (crystal structure prediction with machine learning-based element substitution)

CSPML (crystal structure prediction with machine learning-based element substitution) CSPML is a unique methodology for the crystal structure predicti

8 Dec 20, 2022
LowRankModels.jl is a julia package for modeling and fitting generalized low rank models.

LowRankModels.jl LowRankModels.jl is a Julia package for modeling and fitting generalized low rank models (GLRMs). GLRMs model a data array by a low r

Madeleine Udell 183 Dec 17, 2022
AniGAN: Style-Guided Generative Adversarial Networks for Unsupervised Anime Face Generation

AniGAN: Style-Guided Generative Adversarial Networks for Unsupervised Anime Face Generation AniGAN: Style-Guided Generative Adversarial Networks for U

Bing Li 81 Dec 14, 2022
Third party Pytorch implement of Image Processing Transformer (Pre-Trained Image Processing Transformer arXiv:2012.00364v2)

ImageProcessingTransformer Third party Pytorch implement of Image Processing Transformer (Pre-Trained Image Processing Transformer arXiv:2012.00364v2)

61 Jan 01, 2023
Code for the paper: Audio-Visual Scene Analysis with Self-Supervised Multisensory Features

[Paper] [Project page] This repository contains code for the paper: Andrew Owens, Alexei A. Efros. Audio-Visual Scene Analysis with Self-Supervised Mu

Andrew Owens 202 Dec 13, 2022
The pure and clear PyTorch Distributed Training Framework.

The pure and clear PyTorch Distributed Training Framework. Introduction Requirements and Usage Dependency Dataset Basic Usage Slurm Cluster Usage Base

WILL LEE 208 Dec 20, 2022
Code for the paper Relation Prediction as an Auxiliary Training Objective for Improving Multi-Relational Graph Representations (AKBC 2021).

Relation Prediction as an Auxiliary Training Objective for Knowledge Base Completion This repo provides the code for the paper Relation Prediction as

Facebook Research 85 Jan 02, 2023
SAAVN - Sound Adversarial Audio-Visual Navigation,ICLR2022 (In PyTorch)

SAAVN SAAVN Code release for paper "Sound Adversarial Audio-Visual Navigation,IC

YinfengYu 10 Aug 30, 2022
Summary Explorer is a tool to visually explore the state-of-the-art in text summarization.

Summary Explorer Summary Explorer is a tool to visually inspect the summaries from several state-of-the-art neural summarization models across multipl

Webis 42 Aug 14, 2022
A PaddlePaddle version image model zoo.

Paddle-Image-Models English | 简体中文 A PaddlePaddle version image model zoo. Install Package Install by pip: $ pip install ppim Install by wheel package

AgentMaker 131 Dec 07, 2022