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
Spectralformer: Rethinking hyperspectral image classification with transformers

The code in this toolbox implements the "Spectralformer: Rethinking hyperspectral image classification with transformers". More specifically, it is detailed as follow.

Danfeng Hong 104 Jan 04, 2023
Pretrained SOTA Deep Learning models, callbacks and more for research and production with PyTorch Lightning and PyTorch

Pretrained SOTA Deep Learning models, callbacks and more for research and production with PyTorch Lightning and PyTorch

Pytorch Lightning 1.4k Jan 01, 2023
Tensorforce: a TensorFlow library for applied reinforcement learning

Tensorforce: a TensorFlow library for applied reinforcement learning Introduction Tensorforce is an open-source deep reinforcement learning framework,

Tensorforce 3.2k Jan 02, 2023
PyTorch Implementation of Region Similarity Representation Learning (ReSim)

ReSim This repository provides the PyTorch implementation of Region Similarity Representation Learning (ReSim) described in this paper: @Article{xiao2

Tete Xiao 74 Jan 03, 2023
Cascading Feature Extraction for Fast Point Cloud Registration (BMVC 2021)

Cascading Feature Extraction for Fast Point Cloud Registration This repository contains the source code for the paper [Arxive link comming soon]. Meth

7 May 26, 2022
Hierarchical Uniform Manifold Approximation and Projection

HUMAP Hierarchical Manifold Approximation and Projection (HUMAP) is a technique based on UMAP for hierarchical non-linear dimensionality reduction. HU

Wilson Estécio Marcílio Júnior 160 Jan 06, 2023
This is the official source code for SLATE. We provide the code for the model, the training code, and a dataset loader for the 3D Shapes dataset. This code is implemented in Pytorch.

SLATE This is the official source code for SLATE. We provide the code for the model, the training code and a dataset loader for the 3D Shapes dataset.

Gautam Singh 66 Dec 26, 2022
Pytorch implementation of U-Net, R2U-Net, Attention U-Net, and Attention R2U-Net.

pytorch Implementation of U-Net, R2U-Net, Attention U-Net, Attention R2U-Net U-Net: Convolutional Networks for Biomedical Image Segmentation https://a

leejunhyun 2k Jan 02, 2023
Physics-informed convolutional-recurrent neural networks for solving spatiotemporal PDEs

PhyCRNet Physics-informed convolutional-recurrent neural networks for solving spatiotemporal PDEs Paper link: [ArXiv] By: Pu Ren, Chengping Rao, Yang

Pu Ren 11 Aug 23, 2022
DGL-TreeSearch and the Gurobi-MWIS interface

Independent Set Benchmarking Suite This repository contains the code for our maximum independent set benchmarking suite as well as our implementations

Maximilian Böther 19 Nov 22, 2022
Unofficial Implementation of MLP-Mixer in TensorFlow

mlp-mixer-tf Unofficial Implementation of MLP-Mixer [abs, pdf] in TensorFlow. Note: This project may have some bugs in it. I'm still learning how to i

Rishabh Anand 24 Mar 23, 2022
Implementation of Convolutional LSTM in PyTorch.

ConvLSTM_pytorch This file contains the implementation of Convolutional LSTM in PyTorch made by me and DavideA. We started from this implementation an

Andrea Palazzi 1.3k Dec 29, 2022
PyVideoAI: Action Recognition Framework

This reposity contains official implementation of: Capturing Temporal Information in a Single Frame: Channel Sampling Strategies for Action Recognitio

Kiyoon Kim 22 Dec 29, 2022
Code for DeepXML: A Deep Extreme Multi-Label Learning Framework Applied to Short Text Documents

DeepXML Code for DeepXML: A Deep Extreme Multi-Label Learning Framework Applied to Short Text Documents Architectures and algorithms DeepXML supports

Extreme Classification 49 Nov 06, 2022
VM3000 Microphones

VM3000-Microphones This project was completed by Ricky Leman under the supervision of Dr Ben Travaglione and Professor Melinda Hodkiewicz as part of t

UWA System Health Lab 0 Jun 04, 2021
根据midi文件演奏“风物之诗琴”的脚本 "Windsong Lyre" auto play

Genshin-lyre-auto-play 简体中文 | English 简介 根据midi文件演奏“风物之诗琴”的脚本。由Python驱动,在此承诺, ⚠️ 项目内绝不含任何能够引起安全问题的代码。 前排提示:所有键盘在动但是原神没反应的都是因为没有管理员权限,双击run.bat或者以管理员模式

御坂17032号 386 Jan 01, 2023
The code for the NeurIPS 2021 paper "A Unified View of cGANs with and without Classifiers".

Energy-based Conditional Generative Adversarial Network (ECGAN) This is the code for the NeurIPS 2021 paper "A Unified View of cGANs with and without

sianchen 22 May 28, 2022
Customer Segmentation using RFM

Customer-Segmentation-using-RFM İş Problemi Bir e-ticaret şirketi müşterilerini segmentlere ayırıp bu segmentlere göre pazarlama stratejileri belirlem

Nazli Sener 7 Dec 26, 2021
Official Python implementation of the 'Sparse deconvolution'-v0.3.0

Sparse deconvolution Python v0.3.0 Official Python implementation of the 'Sparse deconvolution', and the CPU (NumPy) and GPU (CuPy) calculation backen

Weisong Zhao 23 Dec 28, 2022
InsCLR: Improving Instance Retrieval with Self-Supervision

InsCLR: Improving Instance Retrieval with Self-Supervision This is an official PyTorch implementation of the InsCLR paper. Download Dataset Dataset Im

Zelu Deng 25 Aug 30, 2022