{"id":42079622,"url":"https://github.com/dfki-ric/deformable_gym","last_synced_at":"2026-01-26T09:43:53.694Z","repository":{"id":157374904,"uuid":"624321096","full_name":"dfki-ric/deformable_gym","owner":"dfki-ric","description":"A collection of RL gymnasium environments for learning to grasp 3D deformable objects.","archived":false,"fork":false,"pushed_at":"2025-08-04T17:09:16.000Z","size":39888,"stargazers_count":46,"open_issues_count":4,"forks_count":2,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-01-09T03:28:06.964Z","etag":null,"topics":["deformable-object","gym-environments","gymnasium-environment","mujoco","pybullet","reinforcement-learning","robotic-manipulation","robotics"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dfki-ric.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-06T08:00:46.000Z","updated_at":"2026-01-08T03:42:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"6cf28825-386f-498d-98c2-eeba002240dc","html_url":"https://github.com/dfki-ric/deformable_gym","commit_stats":{"total_commits":70,"total_committers":4,"mean_commits":17.5,"dds":0.05714285714285716,"last_synced_commit":"3525ec6ec3d475cc00d9a5d013eb9d3e2e71a0e8"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dfki-ric/deformable_gym","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfki-ric%2Fdeformable_gym","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfki-ric%2Fdeformable_gym/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfki-ric%2Fdeformable_gym/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfki-ric%2Fdeformable_gym/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfki-ric","download_url":"https://codeload.github.com/dfki-ric/deformable_gym/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfki-ric%2Fdeformable_gym/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28773086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T09:42:00.929Z","status":"ssl_error","status_checked_at":"2026-01-26T09:42:00.591Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deformable-object","gym-environments","gymnasium-environment","mujoco","pybullet","reinforcement-learning","robotic-manipulation","robotics"],"created_at":"2026-01-26T09:43:52.998Z","updated_at":"2026-01-26T09:43:53.688Z","avatar_url":"https://github.com/dfki-ric.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Tests](https://github.com/dfki-ric/deformable_gym/actions/workflows/test.yaml/badge.svg)](https://github.com/dfki-ric/deformable_gym/actions/workflows/test.yaml)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)\n[![DOI](https://zenodo.org/badge/624321096.svg)](https://doi.org/10.5281/zenodo.15742434)\n\n# DeformableGym\n\nThis repository contains a collection of [gymnasium](https://github.com/Farama-Foundation/Gymnasium) environments built with [PyBullet](https://pybullet.org/) and [MuJoCo](https://github.com/google-deepmind/mujoco).\nIn these environments, the agent needs to learn to grasp deformable 3D objects such as shoe insoles or pillows from sparse reward signals.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc/source/_static/defgym.svg\"/\u003e\n\u003c/p\u003e\n\n## Installation\n\n### Install from PyPI\n\nThe easiest way to install deformable_gym is via PyPI:\n\n```bash\npip install deformable_gym\n```\n\n### Install from source\n\nAlternatively, e.g. if you want to develop extensions, you can also clone the \nrepository and then install it in editable mode:\n\n```bash\ngit clone git@github.com:dfki-ric/deformable_gym.git\npip install -e .\n```\n\n### Optional dependencies\n\nTo install the mujoco versions of the environments, use `pip install 'deformable_gym[mujoco]'`.\n\nTo install the development dependencies, use `pip install 'deformable_gym[dev]'.\n\nYou can install all optional dependencies using `pip install 'deformable_gym[all]'.\n\n## Available environments\n\n| Environment Name          |      PyBullet      |       MuJoCo       |\n| ------------------------- | :----------------: | :----------------: |\n| FloatingMiaGraspInsole    | :heavy_check_mark: | :heavy_check_mark: |\n| FloatingShadowGraspInsole | :heavy_check_mark: | :heavy_check_mark: |\n| FloatingMiaGraspPillow    | :heavy_check_mark: | :heavy_check_mark: |\n| FloatingShadowGraspPillow | :heavy_check_mark: | :heavy_check_mark: |\n| URMiaGraspInsole          | :heavy_check_mark: | :heavy_check_mark: |\n| URShadowGraspInsole       | :heavy_check_mark: | :heavy_check_mark: |\n| URMiaGraspPillow          | :heavy_check_mark: | :heavy_check_mark: |\n| URShadowGraspPillow       | :heavy_check_mark: | :heavy_check_mark: |\n\n\n## Example\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc/source/_static/grasp_grid.gif\" /\u003e\n\u003c/p\u003e\n\nHere is an example of how to run a random agent in the FloatingMiaEnv. More can be found in the `examples/` folder.\n\n```Python\nimport gymnasium\n\n\"\"\"\n=========\nFloating Mia Example\n=========\n\nThis is an example of how to use the FloatingMiaGraspEnv. A random policy is then\nused to generate ten episodes.\n\n\"\"\"\n\nenv = gymnasium.make(\"FloatingMiaGraspInsole-v0\")\n\nenv.reset()\nepisode_return = 0\nnum_episodes = 0\n\nwhile num_episodes \u003c= 10:\n\n    action = env.action_space.sample()\n\n    state, reward, terminated, truncated, _ = env.step(action)\n    episode_return += reward\n\n    if terminated or truncated:\n        print(f\"Episode finished with return {episode_return}!\")\n        num_episodes += 1\n\n        env.reset()\n\n```\n\n## Documentation\n\nThe documentation can be found in the directory doc. To build the documentation, run e.g. (on linux):\n\n```bash\ncd doc\nmake html\n```\n\nThe HTML documentation is now located at doc/build/html/index.html. You need the following packages to build the documentation:\n\n```bash\npip install numpydoc sphinx sphinx-gallery sphinx-bootstrap-theme\n```\n\n## Contributing\n\nIf you wish to report bugs, please use the [issue tracker](https://github.com/dfki-ric/deformable_gym/issues). If you would like to contribute to DeformableGym, just open an issue or a\n[pull request](https://github.com/dfki-ric/deformable_gym/pulls). The target branch for\nmerge requests is the development branch. The development branch will be merged to main for new releases. If you have\nquestions about the software, you should ask them in the discussion section.\n\nThe recommended workflow to add a new feature, add documentation, or fix a bug is the following:\n\n- Push your changes to a branch (e.g. feature/x, doc/y, or fix/z) of your fork of the deformable_gym repository.\n- Open a pull request to the latest development branch. There is usually an open merge request from the latest development branch to the main branch.\n- When the latest development branch is merged to the main branch, a new release will be made.\n\nNote that there is a checklist for new features.\n\nIt is forbidden to directly push to the main branch. Each new version has its own development branch from which a pull request will be opened to the main branch. Only the maintainers of the software are allowed to merge a development branch to the main branch.\n\n## Referencing\n\nIf you use DeformableGym in your research, please consider citing it. You may find the paper [here](https://deformable-workshop.github.io/icra2023/spotlight/03-Laux-spotlight.pdf).\n\n```\n@inproceedings{Laux2023,\ntitle = {Grasping 3D Deformable Objects via Reinforcement Learning: A Benchmark and Evaluation},\nbooktitle = {3rd Workshop on Representing and Manipulating Deformable Objects @ ICRA2023},\nauthor = {Melvin Laux and Chandandeep Singh and Alexander Fabisch},\nmonth = {May},\nyear = {2023},\nurl = {https://deformable-workshop.github.io/icra2023/},\n}\n```\n\n## Releases\n\n### Semantic Versioning\n\n[Semantic versioning](https://semver.org/) must be used, that is, the major version number will be\nincremented when the API changes in a backwards incompatible way, the minor\nversion will be incremented when new functionality is added in a backwards\ncompatible manner, and the patch version is incremented for bugfixes,\ndocumentation, etc.\n\n## Funding\n\nThis library has been developed initially at the\n[Robotics Innovation Center](http://robotik.dfki-bremen.de/en/startpage.html) of the\n[German Research Center for Artificial Intelligence (DFKI)](http://www.dfki.de) in Bremen together with the\n[Robotics Group](https://robotik.dfki-bremen.de/en/about-us/university-of-bremen-robotics-group.html) of the\n[University of Bremen](http://www.uni-bremen.de/en.html). At this phase, the work was supported through a grant from the European\nCommission (870142).\n\n\u003cp float=\"left\"\u003e\n    \u003cimg src=\"doc/source/_static/DFKI_Logo.png\" height=\"100px\" /\u003e\n    \u003cimg src=\"doc/source/_static/Uni_Logo.png\" height=\"100px\" /\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfki-ric%2Fdeformable_gym","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfki-ric%2Fdeformable_gym","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfki-ric%2Fdeformable_gym/lists"}