gymnasium-robotics
A collection of robotics simulation environments for reinforcement learning
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
3 of 32 committers (9.4%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.3%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
A collection of robotics simulation environments for reinforcement learning
Basic Info
- Host: GitHub
- Owner: Farama-Foundation
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://robotics.farama.org/
- Size: 373 MB
Statistics
- Stars: 752
- Watchers: 15
- Forks: 117
- Open Issues: 20
- Releases: 14
Topics
Metadata Files
README.md
This library contains a collection of Reinforcement Learning robotic environments that use the Gymnasium API. The environments run with the MuJoCo physics engine and the maintained mujoco python bindings.
The documentation website is at robotics.farama.org, and we have a public discord server (which we also use to coordinate development work) that you can join here: https://discord.gg/YymmHrvS
Installation
To install the Gymnasium-Robotics environments use pip install gymnasium-robotics
These environments also require the MuJoCo engine from Deepmind to be installed. Instructions to install the physics engine can be found at the MuJoCo website and the MuJoCo Github repository.
Note that the latest environment versions use the latest mujoco python bindings maintained by the MuJoCo team. If you wish to use the old versions of the environments that depend on mujoco-py, please install this library with pip install gymnasium-robotics[mujoco-py]
We support and test for Linux and macOS. We will accept PRs related to Windows, but do not officially support it.
Environments
Gymnasium-Robotics includes the following groups of environments:
- Fetch - A collection of environments with a 7-DoF robot arm that has to perform manipulation tasks such as Reach, Push, Slide or Pick and Place.
- Shadow Dexterous Hand - A collection of environments with a 24-DoF anthropomorphic robotic hand that has to perform object manipulation tasks with a cube, egg-object, or pen. There are variations of these environments that also include data from 92 touch sensors in the observation space.
- MaMuJoCo - A collection of multi agent factorizations of the Gymnasium/MuJoCo environments and a framework for factorizing robotic environments, uses the pettingzoo.ParallelEnv API.
The D4RL environments are now available. These environments have been refactored and may not have the same action/observation spaces as the original, please read their documentation:
- Maze Environments - An agent has to navigate through a maze to reach certain goal position. Two different agents can be used: a 2-DoF force-controlled ball, or the classic
Antagent from the Gymnasium MuJoCo environments. The environment can be initialized with a variety of maze shapes with increasing levels of difficulty. - Adroit Arm - A collection of environments that use the Shadow Dexterous Hand with additional degrees of freedom for the arm movement. The different tasks involve hammering a nail, opening a door, twirling a pen, or picking up and moving a ball.
- Franka Kitchen - Multitask environment in which a 9-DoF Franka robot is placed in a kitchen containing several common household items. The goal of each task is to interact with the items in order to reach a desired goal configuration.
WIP: generate new D4RL environment datasets with Minari.
Multi-goal API
The robotic environments use an extension of the core Gymnasium API by inheriting from GoalEnv class. The new API forces the environments to have a dictionary observation space that contains 3 keys:
observation- The actual observation of the environmentdesired_goal- The goal that the agent has to achievedachieved_goal- The goal that the agent has currently achieved instead. The objective of the environments is for this value to be close todesired_goal
This API also exposes the function of the reward, as well as the terminated and truncated signals to re-compute their values with different goals. This functionality is useful for algorithms that use Hindsight Experience Replay (HER).
The following example demonstrates how the exposed reward, terminated, and truncated functions can be used to re-compute the values with substituted goals. The info dictionary can be used to store additional information that may be necessary to re-compute the reward, but that is independent of the goal, e.g. state derived from the simulation.
```python import gymnasium as gym
env = gym.make("FetchReach-v3") env.reset() obs, reward, terminated, truncated, info = env.step(env.action_space.sample())
The following always has to hold:
assert reward == env.computereward(obs["achievedgoal"], obs["desiredgoal"], info) assert truncated == env.computetruncated(obs["achievedgoal"], obs["desiredgoal"], info) assert terminated == env.computeterminated(obs["achievedgoal"], obs["desired_goal"], info)
However goals can also be substituted:
substitutegoal = obs["achievedgoal"].copy() substitutereward = env.computereward(obs["achievedgoal"], substitutegoal, info) substituteterminated = env.computeterminated(obs["achievedgoal"], substitutegoal, info) substitutetruncated = env.computetruncated(obs["achievedgoal"], substitutegoal, info) ```
The GoalEnv class can also be used for custom environments.
Project Maintainers
Main Contributors: Rodrigo Perez-Vicente, Kallinteris Andreas, Jet Tai
Maintenance for this project is also contributed by the broader Farama team: farama.org/team.
Citation
If you use this in your research, please cite:
@software{gymnasium_robotics2023github,
author = {Rodrigo de Lazcano and Kallinteris Andreas and Jun Jet Tai and Seungjae Ryan Lee and Jordan Terry},
title = {Gymnasium Robotics},
url = {http://github.com/Farama-Foundation/Gymnasium-Robotics},
version = {1.4.0},
year = {2024},
}
Owner
- Name: Farama Foundation
- Login: Farama-Foundation
- Kind: organization
- Email: contact@farama.org
- Website: farama.org
- Twitter: FaramaFound
- Repositories: 49
- Profile: https://github.com/Farama-Foundation
The Farama foundation is a nonprofit organization working to develop and maintain open source reinforcement learning tools.
GitHub Events
Total
- Create event: 12
- Release event: 2
- Issues event: 21
- Watch event: 208
- Delete event: 10
- Issue comment event: 62
- Push event: 56
- Pull request review comment event: 15
- Pull request review event: 18
- Pull request event: 33
- Fork event: 33
Last Year
- Create event: 12
- Release event: 2
- Issues event: 21
- Watch event: 208
- Delete event: 10
- Issue comment event: 62
- Push event: 56
- Pull request review comment event: 15
- Pull request review event: 18
- Pull request event: 33
- Fork event: 33
Committers
Last synced: over 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Rodrigo de Lazcano | r****6@g****m | 64 |
| Kallinteris Andreas | k****s@p****m | 43 |
| Kallinteris Andreas | 3****s | 36 |
| Rodrigo de Lazcano Perez-Vicente | r****o@u****u | 27 |
| snow-fox | t****t@h****m | 26 |
| Seungjae Ryan Lee | s****e@g****m | 22 |
| Manuel Goulão | m****o@g****m | 13 |
| Jet | 3****s | 12 |
| Feng Gu | f****0@g****m | 7 |
| Jordan Terry | j****0@g****m | 7 |
| Martin Schuck | m****k@t****e | 7 |
| Costa Huang | c****g@o****m | 5 |
| J K Terry | j****y@g****m | 3 |
| Feng | 5****u | 3 |
| Mark Towers | m****s@g****m | 2 |
| Fangyuan | f****6@g****m | 2 |
| Timo Friedl | m****l@t****m | 1 |
| Seth Pate | s****e@i****m | 1 |
| Aziz | 4****e | 1 |
| Daniel CH Tan | d****7 | 1 |
| Edward Hu | 1****s | 1 |
| Jan Dohmen | 3****n | 1 |
| Quentin GALLOUÉDEC | g****n@g****m | 1 |
| Jesse Farebrother | j****o@g****m | 1 |
| Gautham Vasan | g****9@g****m | 1 |
| Frank Röder | f****g@p****e | 1 |
| David Leins | d****s@t****e | 1 |
| Ariel Kwiatkowski | a****i@g****m | 1 |
| Antonin RAFFIN | a****n@e****g | 1 |
| Andrew Tan | a****5@g****m | 1 |
| and 2 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 69
- Total pull requests: 164
- Average time to close issues: about 2 months
- Average time to close pull requests: 7 days
- Total issue authors: 57
- Total pull request authors: 28
- Average comments per issue: 3.23
- Average comments per pull request: 0.82
- Merged pull requests: 143
- Bot issues: 0
- Bot pull requests: 3
Past Year
- Issues: 19
- Pull requests: 36
- Average time to close issues: 15 days
- Average time to close pull requests: 5 days
- Issue authors: 19
- Pull request authors: 9
- Average comments per issue: 2.05
- Average comments per pull request: 0.22
- Merged pull requests: 26
- Bot issues: 0
- Bot pull requests: 3
Top Authors
Issue Authors
- Kallinteris-Andreas (5)
- llewynS (3)
- matinmoezzi (2)
- aalmuzairee (2)
- sebidoe (2)
- ekkooee7 (1)
- younik (1)
- AlexandreBrown (1)
- amacati (1)
- greg3566 (1)
- R-Liebert (1)
- ozhanozen (1)
- wxforvip (1)
- RayYoh (1)
- Rancho-zhao (1)
Pull Request Authors
- Kallinteris-Andreas (85)
- rodrigodelazcano (47)
- jjshoots (12)
- mgoulao (10)
- pseudo-rnd-thoughts (4)
- dependabot[bot] (3)
- xihuai18 (2)
- Josh00-Lu (2)
- mishmish66 (2)
- siddarth-c (2)
- timofriedl (2)
- RussTedrake (2)
- HridayM25 (2)
- Tanmay692004 (2)
- nicehiro (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 3
-
Total downloads:
- pypi 30,527 last-month
- Total docker downloads: 155
-
Total dependent packages: 6
(may contain duplicates) -
Total dependent repositories: 13
(may contain duplicates) - Total versions: 36
- Total maintainers: 3
pypi.org: gymnasium-robotics
RL Robotics environments with Gymnasium API.
- Homepage: https://farama.org
- Documentation: https://robotics.farama.org
- License: MIT License
-
Latest release: 1.4.1
published 7 months ago
Rankings
Maintainers (3)
proxy.golang.org: github.com/farama-foundation/gymnasium-robotics
- Documentation: https://pkg.go.dev/github.com/farama-foundation/gymnasium-robotics#section-documentation
- License: mit
-
Latest release: v1.3.1
published over 1 year ago
Rankings
proxy.golang.org: github.com/Farama-Foundation/Gymnasium-Robotics
- Documentation: https://pkg.go.dev/github.com/Farama-Foundation/Gymnasium-Robotics#section-documentation
- License: mit
-
Latest release: v1.4.1
published 7 months ago
Rankings
Dependencies
- cloudpickle >=1.2.0
- gym >=0.22
- mujoco_py >=1.50,<2.0
- numpy >=1.18.0
- cloudpickle >=1.2.0
- gym >=0.22
- importlib_metadata >=4.8.1
- numpy >=1.18.0
- pytest * test
- pytest-forked * test