File size: 4,035 Bytes
7399b6f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f84c4af
7399b6f
000b008
 
 
 
7399b6f
 
 
 
000b008
7399b6f
9b8bfbc
7399b6f
000b008
7399b6f
 
000b008
f84c4af
 
9b8bfbc
000b008
 
 
 
 
 
 
 
 
7399b6f
 
000b008
7399b6f
000b008
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# vfm-dexmimicgen

# Rebase to IsaacLab External 

[Updated 07/22/2026]

## Installation

1. Install [IsaacLab](https://isaac-sim.github.io/IsaacLab/release/3.0.0-beta2/index.html) 's `release 3.0.0-beta2`

Activate your `env_isaaclab`
```bash
# e.g.
source <your_path_to>/env_isaaclab/bin/activate

## e.g. 
# source /home/yizhou/Projects/IsaacLab/env_isaaclab/bin/activate

```

2. Install repo

```bash

# install
python -m pip install -e .

## or 
# uv pip install -e .
```

## Usage

1. List env
```bash
python scripts/list_envs.py
```

2.zero-agent
```bash
python scripts/zero_agent.py --task Template-Sdg-Mimic-Gen-v0 --viz kit
```

3. link asset
```bash
ln -s /path/to/dexmimicgen_custom_assets ./custom_assets

##  e.g. 
# ln -s /home/yizhou/Downloads/dexmimicgen_custom_assets ./custom_assets
```

## Teleop

Install [Isaac Teleop]() under any python env

```bash
# From PyPI
pip install 'isaacteleop[cloudxr,retargeters]~=1.3.131' --extra-index-url https://pypi.nvidia.com
```

Start
```bash
python -m isaacteleop.cloudxr --accept-eula
```

Open the [Web Client](https://nvidia.github.io/IsaacTeleop/client/v1.3.131/#/sim)


Activate CloudXR environment in another terminal in your IsaacLab env: 
```bash
source ~/.cloudxr/run/cloudxr.env
## e.g.
# source /home/yizhou/.cloudxr/run/cloudxr.env
```


```bash
python scripts/teleop_se3_agent_bimanual_xr.py \
  --task Template-YAM-Play-v0 \
  --teleop_device motion_controllers \
  --enable_cameras \
  --viz kit \
  --num_envs 1 \
  --enable_gripper \
  --xr 

# python scripts/teleop_se3_agent_bimanual_xr.py \
#   --task Template-UR10-Play-v0 \
#   --teleop_device motion_controllers \
#   --enable_cameras \
#   --viz kit \
#   --num_envs 1 \
#   --xr \
#   --reverse_rotation_yz
```

---

# YAM bimanual task suite (30 tasks)

Scripted bimanual manipulation tasks for the YAM arm in Isaac Lab, laid out the way ManiSkill
lays out its tasks: one registered class per task file, with the environment, the solvers and the
motion planner as separate layers. Built on RoboTwin 2.0 assets. Every task ships a scripted
solver, so it generates demonstrations *and* a pass/fail signal — not a policy.

![task overview](outputs/frames/overview.png)

```bash
export ROBOTWIN_USD=./robotwin_usd
export OMNI_KIT_ACCEPT_EULA=YES

python scripts/yam_task.py --list
python scripts/yam_task.py --task grape_box --seed 3 --video outputs/tasks/grape_box.mp4 \
    --kit_args="--/rtx/verifyDriverVersion/enabled=false"

python scripts/generate.py --tasks passing --episodes 100    # scale up to a dataset
```

```
source/bimanual/yam/
  motion/     how the robot MOVES      arm.py · planner.py · recorder.py
  envs/       the world a task runs in  base_env.py · scene.py · config.py
  solvers/    scripted skills           pick_place · multi_pick · insert · stack · dual_lift ·
                                        push · handover · tool_use · pour · pull · sort ·
                                        shelf · articulate · rope
  tasks/      ONE FILE PER TASK, registered by name;  configs/ one YAML each
  registry.py · conditions.py
scripts/      runners · asset converters · generation · verification
```

## Documentation

| | |
|---|---|
| [`doc/capabilities.md`](doc/capabilities.md) | what the suite supports — skill families, randomization, articulations |
| [`doc/setup.md`](doc/setup.md) | environment, configuration, running a task |
| [`doc/generation.md`](doc/generation.md) | scaling up to a demonstration dataset |
| [`doc/tasks.md`](doc/tasks.md) | all 30 tasks, current pass/fail, and how they differ from RoboTwin's |
| [`doc/assets.md`](doc/assets.md) | asset conversion pipeline and licence |
| [`doc/verification.md`](doc/verification.md) | agent-in-the-loop visual verification |
| [`DIAGNOSTICS.md`](DIAGNOSTICS.md) | **every non-obvious failure and the measurement that settled it — read this before debugging a new asset** |
| [`source/bimanual/yam/README.md`](source/bimanual/yam/README.md) | architecture and how to write a task |