Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ManiSkill-HAB to docs #759

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions docs/generate_task_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,22 @@

"mobile_manipulation": """# Mobile Manipulation Tasks

These are tasks where a mobile manipulator is used to manipulate objects. This cateogry primarily uses robots with mobile bases like Fetch or Stretch robots""",
These are tasks where a mobile manipulator is used to manipulate objects. This cateogry primarily uses robots with mobile bases like Fetch or Stretch robots.

For additional tasks, including scene-level mobile manipulation, please check out the [community contributions page](../community_contributions/index.md).
""",

"quadruped": """# Quadruped Tasks

These are tasks where a quadruped robot is used for locomotion and/or manipulation. This cateogry primarily uses robots with four legs like the ANYmal or Unitree go robots""",
These are tasks where a quadruped robot is used for locomotion and/or manipulation. This cateogry primarily uses robots with four legs like the ANYmal or Unitree go robots.""",

"control": """# Control Tasks

These are classic control tasks where the objective is to control a robot to reach a particular state, similar to the [DM Control suite](https://github.com/deepmind/dm_control) but with GPU parallelized simulation and rendering""",
These are classic control tasks where the objective is to control a robot to reach a particular state, similar to the [DM Control suite](https://github.com/deepmind/dm_control) but with GPU parallelized simulation and rendering.""",

"drawing": """# Drawing Tasks

These are tasks where the robot is controlled to draw a specific shape or pattern""",
These are tasks where the robot is controlled to draw a specific shape or pattern.""",
}
import urllib.request
import mani_skill.envs
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
96 changes: 96 additions & 0 deletions docs/source/tasks/community_contributions/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<!-- THIS IS ALL GENERATED DOCUMENTATION. DO NOT MODIFY THIS FILE -->
[asset-badge]: https://img.shields.io/badge/download%20asset-yes-blue.svg
[dense-reward-badge]: https://img.shields.io/badge/dense%20reward-yes-green.svg
[sparse-reward-badge]: https://img.shields.io/badge/sparse%20reward-yes-green.svg
[no-dense-reward-badge]: https://img.shields.io/badge/dense%20reward-no-red.svg
[no-sparse-reward-badge]: https://img.shields.io/badge/sparse%20reward-no-red.svg
[demos-badge]: https://img.shields.io/badge/demos-yes-green.svg
# Community Contributed Projects
arth-shukla marked this conversation as resolved.
Show resolved Hide resolved

These are tasks and external libraries contributed by the community, built in ManiSkill.
The document here has both a high-level overview/list of each project in a table as well as detailed task cards with video demonstrations after.

## Task Table
Table of all tasks/environments in this category. Task column is the environment ID, Preview is a thumbnail pair of the first and last frames of an example success demonstration. Max steps is the task's default max episode steps, generally tuned for RL workflows.
<table class="table">
<thead>
<tr class="row-odd">
<th class="head"><p>Task</p></th>
<th class="head"><p>Preview</p></th>
<th class="head"><p>Dense Reward</p></th>
<th class="head"><p>Success/Fail Conditions</p></th>
<th class="head"><p>Demos</p></th>
<th class="head"><p>Max Episode Steps</p></th>
</tr>
</thead>
<tbody>
<tr class="row-odd">
<td><p><a href="https://arth-shukla.github.io/mshab/" target="_blank">ManiSkill-HAB</a></p></td>
<td><div style='display:flex;gap:4px;align-items:center'><img style='min-width:min(50%, 200px);max-width:200px;height:auto' src='../../_static/env_thumbnails/ManiSkill-HAB_rt_thumb.png' alt='ManiSkill-HAB'></td>
<td><p>✅</p></td>
<td><p>✅</p></td>
<td><p>✅</p></td>
<td><p>Full Task: 1200-2000<br /><br />Subtasks: 200</p></td>
</tr>
</tbody>
</table>

## ManiSkill-HAB

**[Paper](https://arxiv.org/abs/2412.13211)** | **[Website](https://arth-shukla.github.io/mshab)** | **[Code](https://github.com/arth-shukla/mshab)** | **[Models](https://huggingface.co/arth-shukla/mshab_checkpoints)** | **[Dataset](https://arth-shukla.github.io/mshab/#dataset-section)**

![dense-reward][dense-reward-badge]
![sparse-reward][sparse-reward-badge]
![demos][demos-badge]
:::{dropdown} Task Card
:icon: note
:color: primary

**Task Description:**

ManiSkill-HAB contains 3 long-horizon tasks:
- **TidyHouse**: Move 5 target objects to different open receptacles (e.g. table, counter, etc).
- **PrepareGroceries**: Move 2 objects from the opened fridge to goal positions on the counter,
then 1 object from the counter to the fridge.
- **SetTable**: Move 1 bowl from the closed drawer to the dining table and 1 apple from the
closed fridge to the same dining table.

These tasks are split into 4 subtasks: Pick Place, Open, and Close.

**Randomizations:**
- Target object/articulation/goal (depending on subtask)
- Base x/y position and z rotation, arm and torso qpos noise

**Success Conditions:**
- Pick: Object grasped, end-effector at rest position, robot static
- Place: Object within 15cm of goal position, end-effector at rest position, robot static
- Open: Articulation open, end-effector at rest position, robot static
- Close: Articulation closed, end-effector at rest position, robot static

**Fail Conditions:**
- Robot exceeds cumulative collision force threshold (5000N for Pick, 7500N for Place, 10,000N for Open/Close)

**Citation**
```latex
@article{shukla2024maniskillhab,
author = {Arth Shukla and Stone Tao and Hao Su},
title = {ManiSkill-HAB: A Benchmark for Low-Level Manipulation in Home Rearrangement Tasks},
journal = {CoRR},
volume = {abs/2412.13211},
year = {2024},
url = {https://doi.org/10.48550/arXiv.2412.13211},
doi = {10.48550/ARXIV.2412.13211},
eprinttype = {arXiv},
eprint = {2412.13211},
timestamp = {Mon, 09 Dec 2024 01:29:24 +0100},
biburl = {https://dblp.org/rec/journals/corr/abs-2412-13211.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
```
:::

<div style="display: flex; justify-content: center;">
<video preload="none" controls="True" width="100%" style="max-width: min(100%, 512px);" poster="../../_static/env_thumbnails/ManiSkill-HAB_rt_poster.png">
<source src="https://github.com/haosulab/ManiSkill/raw/main/figures/environment_demos/ManiSkill-HAB_rt.mp4" type="video/mp4">
</video>
</div>
2 changes: 1 addition & 1 deletion docs/source/tasks/control/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
[demos-badge]: https://img.shields.io/badge/demos-yes-green.svg
# Control Tasks

These are classic control tasks where the objective is to control a robot to reach a particular state, similar to the [DM Control suite](https://github.com/deepmind/dm_control) but with GPU parallelized simulation and rendering
These are classic control tasks where the objective is to control a robot to reach a particular state, similar to the [DM Control suite](https://github.com/deepmind/dm_control) but with GPU parallelized simulation and rendering.
The document here has both a high-level overview/list of all tasks in a table as well as detailed task cards with video demonstrations after.

## Task Table
Expand Down
2 changes: 1 addition & 1 deletion docs/source/tasks/drawing/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
[demos-badge]: https://img.shields.io/badge/demos-yes-green.svg
# Drawing Tasks

These are tasks where the robot is controlled to draw a specific shape or pattern
These are tasks where the robot is controlled to draw a specific shape or pattern.
The document here has both a high-level overview/list of all tasks in a table as well as detailed task cards with video demonstrations after.

## Task Table
Expand Down
1 change: 1 addition & 0 deletions docs/source/tasks/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,5 @@ mobile_manipulation/index
dextrous/index
digital_twins/index
drawing/index
community_contributions/index
```
5 changes: 4 additions & 1 deletion docs/source/tasks/mobile_manipulation/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@
[demos-badge]: https://img.shields.io/badge/demos-yes-green.svg
# Mobile Manipulation Tasks

These are tasks where a mobile manipulator is used to manipulate objects. This cateogry primarily uses robots with mobile bases like Fetch or Stretch robots
These are tasks where a mobile manipulator is used to manipulate objects. This cateogry primarily uses robots with mobile bases like Fetch or Stretch robots.

For additional tasks, including scene-level mobile manipulation, please check out the [community contributions page](../community_contributions/index.md).

The document here has both a high-level overview/list of all tasks in a table as well as detailed task cards with video demonstrations after.

## Task Table
Expand Down
2 changes: 1 addition & 1 deletion docs/source/tasks/quadruped/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
[demos-badge]: https://img.shields.io/badge/demos-yes-green.svg
# Quadruped Tasks

These are tasks where a quadruped robot is used for locomotion and/or manipulation. This cateogry primarily uses robots with four legs like the ANYmal or Unitree go robots
These are tasks where a quadruped robot is used for locomotion and/or manipulation. This cateogry primarily uses robots with four legs like the ANYmal or Unitree go robots.
The document here has both a high-level overview/list of all tasks in a table as well as detailed task cards with video demonstrations after.

## Task Table
Expand Down
Binary file added figures/environment_demos/ManiSkill-HAB_rt.mp4
Binary file not shown.