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
Deploy tensorflow graphs for fast evaluation and export to tensorflow-less environments running numpy.

Deploy tensorflow graphs for fast evaluation and export to tensorflow-less environments running numpy. Now with tensorflow 1.0 support. Evaluation usa

Marcel R. 349 Aug 06, 2022
🐤 Nix-TTS: An Incredibly Lightweight End-to-End Text-to-Speech Model via Non End-to-End Distillation

🐤 Nix-TTS An Incredibly Lightweight End-to-End Text-to-Speech Model via Non End-to-End Distillation Rendi Chevi, Radityo Eko Prasojo, Alham Fikri Aji

Rendi Chevi 156 Jan 09, 2023
PyTorch implementation for the paper Pseudo Numerical Methods for Diffusion Models on Manifolds

Pseudo Numerical Methods for Diffusion Models on Manifolds (PNDM) This repo is the official PyTorch implementation for the paper Pseudo Numerical Meth

Luping Liu (刘路平) 196 Jan 05, 2023
TeST: Temporal-Stable Thresholding for Semi-supervised Learning

TeST: Temporal-Stable Thresholding for Semi-supervised Learning TeST Illustration Semi-supervised learning (SSL) offers an effective method for large-

Xiong Weiyu 1 Jul 14, 2022
Vision-Language Pre-training for Image Captioning and Question Answering

VLP This repo hosts the source code for our AAAI2020 work Vision-Language Pre-training (VLP). We have released the pre-trained model on Conceptual Cap

Luowei Zhou 373 Jan 03, 2023
Official implementation of deep-multi-trajectory-based single object tracking (IEEE T-CSVT 2021).

DeepMTA_PyTorch Officical PyTorch Implementation of "Dynamic Attention-guided Multi-TrajectoryAnalysis for Single Object Tracking", Xiao Wang, Zhe Che

Xiao Wang(王逍) 7 Dec 03, 2022
Unsupervised Semantic Segmentation by Contrasting Object Mask Proposals.

Unsupervised Semantic Segmentation by Contrasting Object Mask Proposals This repo contains the Pytorch implementation of our paper: Unsupervised Seman

Wouter Van Gansbeke 335 Dec 28, 2022
Beancount-mercury - Beancount importer for Mercury Startup Checking

beancount-mercury beancount-mercury provides an Importer for converting CSV expo

Michael Lynch 4 Oct 31, 2022
Multi-modal Vision Transformers Excel at Class-agnostic Object Detection

Multi-modal Vision Transformers Excel at Class-agnostic Object Detection

Muhammad Maaz 206 Jan 04, 2023
ROS-UGV-Control-Interface - Control interface which can be used in any UGV

ROS-UGV-Control-Interface Cam Closed: Cam Opened:

Ahmet Fatih Akcan 1 Nov 04, 2022
Variational Attention: Propagating Domain-Specific Knowledge for Multi-Domain Learning in Crowd Counting (ICCV, 2021)

DKPNet ICCV 2021 Variational Attention: Propagating Domain-Specific Knowledge for Multi-Domain Learning in Crowd Counting Baseline of DKPNet is availa

19 Oct 14, 2022
Code for CVPR2019 paper《Unequal Training for Deep Face Recognition with Long Tailed Noisy Data》

Unequal-Training-for-Deep-Face-Recognition-with-Long-Tailed-Noisy-Data. This is the code of CVPR 2019 paper《Unequal Training for Deep Face Recognition

Zhong Yaoyao 68 Jan 07, 2023
PySlowFast: video understanding codebase from FAIR for reproducing state-of-the-art video models.

PySlowFast PySlowFast is an open source video understanding codebase from FAIR that provides state-of-the-art video classification models with efficie

Meta Research 5.3k Jan 03, 2023
People movement type classifier with YOLOv4 detection and SORT tracking.

Movement classification The goal of this project would be movement classification of people, in other words, walking (normal and fast) and running. Yo

4 Sep 21, 2021
免费获取http代理并生成proxifier配置文件

freeproxy 免费获取http代理并生成proxifier配置文件 公众号:台下言书 工具说明:https://mp.weixin.qq.com/s?__biz=MzIyNDkwNjQ5Ng==&mid=2247484425&idx=1&sn=56ccbe130822aa35038095317

说书人 32 Mar 25, 2022
Code for "Human Pose Regression with Residual Log-likelihood Estimation", ICCV 2021 Oral

Human Pose Regression with Residual Log-likelihood Estimation [Paper] [arXiv] [Project Page] Human Pose Regression with Residual Log-likelihood Estima

JeffLi 347 Dec 24, 2022
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It can use GPUs and perform efficient symbolic differentiation.

============================================================================================================ `MILA will stop developing Theano https:

9.6k Jan 06, 2023
Irrigation controller for Home Assistant

Irrigation Unlimited This integration is for irrigation systems large and small. It can offer some complex arrangements without large and messy script

Robert Cook 176 Jan 02, 2023
Marine debris detection with commercial satellite imagery and deep learning.

Marine debris detection with commercial satellite imagery and deep learning. Floating marine debris is a global pollution problem which threatens mari

Inter Agency Implementation and Advanced Concepts 56 Dec 16, 2022
STBP is a way to train SNN with datasets by Backward propagation.

Spiking neural network (SNN), compared with depth neural network (DNN), has faster processing speed, lower energy consumption and more biological interpretability, which is expected to approach Stron

Ling Zhang 18 Dec 09, 2022