Skip to content

Commit

Permalink
task sheets
Browse files Browse the repository at this point in the history
  • Loading branch information
StoneT2000 committed Jan 23, 2024
1 parent 3d6a75b commit 4bae958
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 0 deletions.
8 changes: 8 additions & 0 deletions mani_skill2/envs/tasks/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# All new ManiSkill tasks

To add a new task, create either a standalone python file your_task_name.py or folder (useful if you use some custom assets). We recommend using the mani_skill2/envs/template.py file to get started and filling out the code in there and following the comments.

Moreover, each task is required to come along with a "Task Sheet" which quickly describes some core components of the task, namely
- Randomization: how is the task randomized upon each environment reset?
- Success Conditions: when is the task considered solved?
- Visualization: Link to a gif / video of the task being solved


Difficulty rankings (training on 4090 GPU):
1 - PPO takes < 2 minutes to train?
2 - PPO takes < 5 minutes
Expand Down
2 changes: 2 additions & 0 deletions mani_skill2/envs/tasks/pick_cube.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
@register_env("PickCube-v1", max_episode_steps=100)
class PickCubeEnv(BaseEnv):
"""
Task Description
----------------
A simple task where the objective is to grasp a cube and move it to a target goal position.
Randomizations
Expand Down
2 changes: 2 additions & 0 deletions mani_skill2/envs/tasks/push_cube.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@
@register_env("PushCube-v0", max_episode_steps=50)
class PushCubeEnv(BaseEnv):
"""
Task Description
----------------
A simple task where the objective is to push and move a cube to a goal region in front of it
Randomizations
Expand Down
17 changes: 17 additions & 0 deletions mani_skill2/envs/template.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,23 @@
# register the environment by a unique ID and specify a max time limit. Now once this file is imported you can do gym.make("CustomEnv-v0")
@register_env(name="CustomEnv-v0", max_episode_steps=200)
class CustomEnv(BaseEnv):
"""
Task Description
----------------
Add a task description here
Randomizations
--------------
- how is it randomized?
- how is that randomized?
Success Conditions
------------------
- what is done to check if this task is solved?
Visualization: link to a video/gif of the task being solved
"""

# in the __init__ function you can pick a default robot your task should use e.g. the panda robot
def __init__(self, *args, robot_uid="panda", robot_init_qpos_noise=0.02, **kwargs):
self.robot_init_qpos_noise = robot_init_qpos_noise
Expand Down

0 comments on commit 4bae958

Please sign in to comment.