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
Scenic: A Jax Library for Computer Vision and Beyond

Scenic Scenic is a codebase with a focus on research around attention-based models for computer vision. Scenic has been successfully used to develop c

Google Research 1.6k Dec 27, 2022
masscan + nmap + Finger

说明 个人根据使用习惯修改masnmap而来的一个小工具。调用masscan做全端口扫描,再调用nmap做服务识别,最后调用Finger做Web指纹识别。工具使用场景适合风险探测排查、众测等。 使用方法 安装依赖 pip3 install -r requirements.txt -i https:/

Ryan 3 Mar 25, 2022
Preprocessed Datasets for our Multimodal NER paper

Unified Multimodal Transformer (UMT) for Multimodal Named Entity Recognition (MNER) Two MNER Datasets and Codes for our ACL'2020 paper: Improving Mult

76 Dec 21, 2022
KoRean based ELECTRA pre-trained models (KR-ELECTRA) for Tensorflow and PyTorch

KoRean based ELECTRA (KR-ELECTRA) This is a release of a Korean-specific ELECTRA model with comparable or better performances developed by the Computa

12 Jun 03, 2022
A full-fledged version of Pix2Seq

Stable-Pix2Seq A full-fledged version of Pix2Seq What it is. This is a full-fledged version of Pix2Seq. Compared with unofficial-pix2seq, stable-pix2s

peng gao 205 Dec 27, 2022
Tensors and neural networks in Haskell

Hasktorch Hasktorch is a library for tensors and neural networks in Haskell. It is an independent open source community project which leverages the co

hasktorch 920 Jan 04, 2023
Scenarios, tutorials and demos for Autonomous Driving

The Autonomous Driving Cookbook (Preview) NOTE: This project is developed and being maintained by Project Road Runner at Microsoft Garage. This is cur

Microsoft 2.1k Jan 02, 2023
The implementation code for "DAGAN: Deep De-Aliasing Generative Adversarial Networks for Fast Compressed Sensing MRI Reconstruction"

DAGAN This is the official implementation code for DAGAN: Deep De-Aliasing Generative Adversarial Networks for Fast Compressed Sensing MRI Reconstruct

TensorLayer Community 159 Nov 22, 2022
Julia package for contraction of tensor networks, based on the sweep line algorithm outlined in the paper General tensor network decoding of 2D Pauli codes

Julia package for contraction of tensor networks, based on the sweep line algorithm outlined in the paper General tensor network decoding of 2D Pauli codes

Christopher T. Chubb 35 Dec 21, 2022
This is a collection of our NAS and Vision Transformer work.

AutoML - Neural Architecture Search This is a collection of our AutoML-NAS work iRPE (NEW): Rethinking and Improving Relative Position Encoding for Vi

Microsoft 832 Jan 08, 2023
Personals scripts using ageitgey/face_recognition

HOW TO USE pip3 install requirements.txt Add some pictures of known people in the folder 'people' : a) Create a folder called by the name of the perso

Antoine Bollengier 1 Jan 06, 2022
Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising

Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising

Kai Zhang 1.2k Dec 29, 2022
Understanding Hyperdimensional Computing for Parallel Single-Pass Learning

Understanding Hyperdimensional Computing for Parallel Single-Pass Learning Authors: Tao Yu* Yichi Zhang* Zhiru Zhang Christopher De Sa *: Equal Contri

Cornell RelaxML 4 Sep 08, 2022
A python program to hack instagram

hackinsta a program to hack instagram Yokoback_(instahack) is the file to open, you need libraries write on import. You run that file in the same fold

2 Jan 22, 2022
Code for GNMR in ICDE 2021

GNMR Code for GNMR in ICDE 2021 Please unzip data files in Datasets/MultiInt-ML10M first. Run labcode_preSamp.py (with graph sampling) for ECommerce-c

7 Oct 27, 2022
EvoJAX is a scalable, general purpose, hardware-accelerated neuroevolution toolkit

EvoJAX: Hardware-Accelerated Neuroevolution EvoJAX is a scalable, general purpose, hardware-accelerated neuroevolution toolkit. Built on top of the JA

Google 598 Jan 07, 2023
The official codes of "Semi-supervised Models are Strong Unsupervised Domain Adaptation Learners".

SSL models are Strong UDA learners Introduction This is the official code of paper "Semi-supervised Models are Strong Unsupervised Domain Adaptation L

Yabin Zhang 26 Dec 26, 2022
Modified fork of Xuebin Qin's U-2-Net Repository. Used for demonstration purposes.

U^2-Net (U square net) Modified version of U2Net used for demonstation purposes. Paper: U^2-Net: Going Deeper with Nested U-Structure for Salient Obje

Shreyas Bhat Kera 13 Aug 28, 2022
Using a Seq2Seq RNN architecture via TensorFlow to predict future Bitcoin prices

Recurrent Bitcoin Network A Data Science Thesis Project About This repository contains the source code for implementing Bitcoin price prediciton using

Frizu 6 Sep 08, 2022
Distilling Motion Planner Augmented Policies into Visual Control Policies for Robot Manipulation (CoRL 2021)

Distilling Motion Planner Augmented Policies into Visual Control Policies for Robot Manipulation [Project website] [Paper] This project is a PyTorch i

Cognitive Learning for Vision and Robotics (CLVR) lab @ USC 6 Feb 28, 2022