diff --git a/README.md b/README.md index 888be3f..f678a15 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@ [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit) # DeformableGym -This repository contains a collection of [gymnasium](https://github.com/Farama-Foundation/Gymnasium) environments built with [PyBullet](https://pybullet.org/). In these environments, the agent -needs to learn to grasp deformable object such as shoe insoles or pillows from sparse reward signals. +This 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). +In these environments, the agent needs to learn to grasp deformable 3D objects such as shoe insoles or pillows from sparse reward signals.
@@ -23,6 +23,22 @@ After cloning the repository, it is recommended to install the library in editab pip install -e . ``` +## Available environments + +| Environment Name | PyBullet | MuJoCo | +|---------------------------|:-------------------:|:------------------:| +| FloatingMiaGraspInsole | :heavy_check_mark: | :heavy_check_mark: | +| FloatingShadowGraspInsole | :heavy_check_mark: | :heavy_check_mark: | +| FloatingMiaGraspPillow | :heavy_check_mark: | :x: | +| FloatingShadowGraspPillow | :heavy_check_mark: | :x: | +| URMiaGraspInsole | :heavy_check_mark: | :x: | +| URShadowGraspInsole | :heavy_check_mark: | :x: | +| URMiaGraspPillow | :heavy_check_mark: | :x: | +| URShadowGraspPillow | :heavy_check_mark: | :x: | + + + + ### Known Issues If you use conda, you may experience the error below: @@ -100,7 +116,7 @@ pip install numpydoc sphinx sphinx-gallery sphinx-bootstrap-theme If 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 [pull request](https://github.com/dfki-ric/deformable_gym/pulls). The target branch for -merge requests is the development branch. The development branch will be merged to master for new releases. If you have +merge requests is the development branch. The development branch will be merged to main for new releases. If you have questions about the software, you should ask them in the discussion section. The recommended workflow to add a new feature, add documentation, or fix a bug is the following: @@ -133,7 +149,7 @@ url = {https://deformable-workshop.github.io/icra2023/}, ### Semantic Versioning -Semantic versioning must be used, that is, the major version number will be +[Semantic versioning](https://semver.org/) must be used, that is, the major version number will be incremented when the API changes in a backwards incompatible way, the minor version will be incremented when new functionality is added in a backwards compatible manner, and the patch version is incremented for bugfixes, diff --git a/deformable_gym/envs/mujoco/base_mjenv.py b/deformable_gym/envs/mujoco/base_mjenv.py index 4a22784..dfe0573 100644 --- a/deformable_gym/envs/mujoco/base_mjenv.py +++ b/deformable_gym/envs/mujoco/base_mjenv.py @@ -61,7 +61,7 @@ def __init__( obj_name: str, observable_object_pos: bool = True, max_sim_time: float = 5, - gui: bool = True, + gui: bool = False, init_frame: str | None = None, ): self.scene = AssetManager().create_scene(robot_name, obj_name) diff --git a/deformable_gym/envs/mujoco/grasp_env.py b/deformable_gym/envs/mujoco/grasp_env.py index 047f162..e1b29ae 100644 --- a/deformable_gym/envs/mujoco/grasp_env.py +++ b/deformable_gym/envs/mujoco/grasp_env.py @@ -20,7 +20,7 @@ def __init__( obj_name: str, observable_object_pos: bool = True, max_sim_time: float = 5, - gui: bool = True, + gui: bool = False, init_frame: Optional[str] = None, **kwargs, ): diff --git a/deformable_gym/envs/mujoco/mia_grasp.py b/deformable_gym/envs/mujoco/mia_grasp.py index 448b373..7753eed 100644 --- a/deformable_gym/envs/mujoco/mia_grasp.py +++ b/deformable_gym/envs/mujoco/mia_grasp.py @@ -9,7 +9,7 @@ def __init__( obj_name: str, observable_object_pos: bool = True, max_sim_time: float = 1, - gui: bool = True, + gui: bool = False, init_frame: str | None = None, **kwargs, ): diff --git a/deformable_gym/envs/mujoco/shadow_grasp.py b/deformable_gym/envs/mujoco/shadow_grasp.py index 72e5c53..bcd94a0 100644 --- a/deformable_gym/envs/mujoco/shadow_grasp.py +++ b/deformable_gym/envs/mujoco/shadow_grasp.py @@ -10,7 +10,7 @@ def __init__( obj_name: str, observable_object_pos: bool = True, max_sim_time: float = 1, - gui: bool = True, + gui: bool = False, init_frame: str | None = None, **kwargs, ): diff --git a/examples/mj_mia_example.py b/examples/mj_mia_example.py index 1a5d57d..619f1b3 100644 --- a/examples/mj_mia_example.py +++ b/examples/mj_mia_example.py @@ -7,11 +7,11 @@ episode = 0 n_episodes = 3 observation, info = env.reset() - env.render() + #env.render() while episode < n_episodes: action = env.action_space.sample() observation, reward, terminate, truncated, info = env.step(action) - env.render() + #env.render() if terminate: episode += 1 print(f"Episode {episode} finished with reward {reward}") diff --git a/examples/mj_shadow_example.py b/examples/mj_shadow_example.py index d77fc5f..cc21c92 100644 --- a/examples/mj_shadow_example.py +++ b/examples/mj_shadow_example.py @@ -7,11 +7,9 @@ episode = 0 n_episodes = 3 observation, info = env.reset() - env.render() while episode < n_episodes: action = env.action_space.sample() observation, reward, terminate, truncated, info = env.step(action) - env.render() if terminate: episode += 1 print(f"Episode {episode} finished with reward {reward}") diff --git a/setup.py b/setup.py index 120571e..85eab90 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ setup( name="deformable_gym", - version="0.4.0", + version="0.4.1", maintainer="Melvin Laux", maintainer_email="melvin.laux@uni-bremen.de", description="Gym environments for grasping deformable objects",