File size: 18,737 Bytes
ec0a9aa | 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 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | # Humanoid
## Run Multi-view Video Generation in DreamGen
This document provides instructions and examples on how to run multi-view video generation using the Cosmos-Predict2-Multiview model from the **root directory** (without `cd`).
## Environment Setup
To run DreamGen scripts from the root directory, you must add `models/dreamgen` to your `PYTHONPATH` so that internal imports like `from examples...` can be resolved:
```bash
# From the root: /pfss/mlde/workspaces/mlde_wsp_IAS_SAMMerge/VLA/doanh/video_world/video_gen_physics
export PYTHONPATH=$PYTHONPATH:$(pwd)/models/dreamgen
```
## Running the Multi-view Script
The multi-view pipeline generates **7 views** with **29 frames** at **720p**.
Here is the command to run multi-view inference from the root directory:
```bash
torchrun --nproc_per_node=1 --master_port=12341 \
-m examples.video2world_gr00t \
--model_size 14B \
--gr00t_variant droid \
--prompt "A multi-view video shows that a robot pick the lid and put it on the pot The video is split into four views: The top-left view shows the robotic arm from the left side, the top-right view shows it from the right side, the bottom-left view shows a first-person perspective from the robot's end-effector (gripper), and the bottom-right view is a black screen (inactive view). The robot pick the lid and put it on the pot" \
--input_path models/dreamgen/assets/sample_gr00t_dreams_droid/episode_000408.png \
--prompt_prefix "" \
--num_gpus 1 \
--disable_guardrail \
--save_path output/generated_video_droid.mp4
```
### Parameter Explanations
- `--model_size 2B`: Uses the 2-Billion parameter multi-view checkpoint.
- `--input_path`: Path to your initial image (relative to the root).
- `--num_conditional_frames 1`: Uses only the first frame (the image) as the condition.
- `--n_views 7`: Generates 7 different camera views.
- `--save_path`: The output location for the generated `mp4` video.
### Multi-GPU Support
To run with Context Parallelism using multiple GPUs:
```bash
torchrun --nproc_per_node=2 --master_port=12341 \
-m examples.video2world_gr00t \
--model_size 14B \
--gr00t_variant droid \
--prompt "A multi-view video shows that a robot pick the lid and put it on the pot The video is split into four views: The top-left view shows the robotic arm from the left side, the top-right view shows it from the right side, the bottom-left view shows a first-person perspective from the robot's end-effector (gripper), and the bottom-right view is a black screen (inactive view). The robot pick the lid and put it on the pot" \
--input_path models/dreamgen/assets/sample_gr00t_dreams_droid/episode_000408.png \
--prompt_prefix "" \
--num_gpus 2 \
--disable_guardrail \
--save_path output/generated_video_droid.mp4
```
# Đảm bảo đang ở thư mục root: /pfss/mlde/workspaces/mlde_wsp_IAS_SAMMerge/VLA/doanh/video_world/video_gen_physics
source models/DreamDojo/.venv/bin/activate
export PYTHONPATH=$PYTHONPATH:$(pwd)/models/dreamgen
torchrun --nproc_per_node=2 --master_port=12341 \
-m examples.video2world_gr00t \
--model_size 14B \
--gr00t_variant droid \
--prompt "A multi-view video shows that a robot picks up a pomegranate with its left hand and puts it in the storage box, then picks up a mango with its right hand and puts it in the storage box. The video is split into four views: top-left (front view), top-right (head view), bottom-left (wrist view), and bottom-right (black screen)." \
--input_path models/dreamgen/airbot_multiview_input.png \
--prompt_prefix "" \
--num_gpus 2 \
--disable_guardrail \
--save_path output/generated_video_airbot_droid.mp4
# Chạy tất cả 6 Airbot (5 episodes mỗi bộ, FPS=10)
NUM_GPUS=1 MAX_EPISODES=0 bash scripts/run_multiview_airbot_all.sh
# Hoặc override
MAX_EPISODES=3 FPS=8 bash scripts/run_multiview_airbot_all.sh
# Single-arm (datasets/single_arm/multiview)
Full-batch prep + DreamGen (`2×2` grid: `exterior_1_left`, `exterior_2_left`, `wrist_left`, black quadrant):
```bash
source models/dreamgen/.venv/bin/activate
export PYTHONPATH=$PYTHONPATH:$(pwd)/models/dreamgen
NUM_GPUS=2 bash scripts/run_single_arm_multiview_dreamgen_all.sh
```
One branch only (`makovian` or `non_makovian`):
```bash
DATASET_PATH=datasets/single_arm/multiview/makovian NUM_GPUS=2 \
bash scripts/run_single_arm_multiview_dreamgen_batch.sh
```
Pipeline chính (`scripts/run_single_arm_multiview_dreamgen_batch.sh`) gọi **`examples.video2world_gr00t`** và checkpoint **`Cosmos-Predict2-14B-Sample-GR00T-Dreams-DROID`** (resolve từ `CHECKPOINTS_DIR` trong `imaginaire/constants.py`). Để baseline **Video2World 2B** (không GR00T), ghi **`tmp/`** — script mặc định **`USE_LVG=1`** + **`NUM_CHUNKS=4`** (`examples.video2world_lvg`, 480p/16fps khớp `model-480p-16fps.pt`; xem `--resolution` / `--fps` trong `video2world_lvg.py`):
```bash
TMP_OUT=./tmp NUM_GPUS=2 \
BATCH_JSON=./sampling_dataset/dense/single_arm/input/multiview/dreamgen/makovian/batch_input.json \
bash scripts/run_single_arm_multiview_video2world_2b_tmp.sh
```
NUM_CHUNKS=3 NUM_GPUS=1 bash scripts/run_single_arm_multiview_video2world_2b_tmp.sh
Một clip ngắn (không nối chunk): `USE_LVG=0`. Ghi đè checkpoint: `DIT_PATH=...`. Đây là **`video2world_lvg` / `video2world`**, không phải `video2world_gr00t`.
**Độ dài video (số frame thật):** `examples.video2world_gr00t` **không** có cờ `--num_frames`; độ dài mỗi lần sinh do checkpoint / `state_t` cố định (tài liệu multiview: khoảng **29** frame @ 16fps training). Để **video dài hơn**, dùng **LVG** (nối nhiều chunk):
```bash
USE_LVG=1 NUM_CHUNKS=3 NUM_GPUS=1 \
DATASET_PATH=datasets/single_arm/multiview/makovian \
bash scripts/run_single_arm_multiview_dreamgen_batch.sh
```
`NUM_CHUNKS` càng lớn → clip càng dài (tốn GPU/time hơn). `--fps` trên bản **không**-LVG chỉ đổi tốc độ phát khi encode MP4; bản LVG hiện encode nội bộ **16 fps**.
**Tại sao trước đây có hàng loạt `[WARN] … missing video for exterior_1_left`?** Script cũ đi theo **toàn bộ** `episode_index` trong `meta/episodes.jsonl` (có thể hàng chục nghìn dòng), trong khi trên đĩa bạn chỉ có **một subset** file `episode_XXXXXX.mp4` (dataset chưa tải đủ / chỉ giữ shard). Index kiểu `005698` nằm trong meta nhưng **không có file** ⇒ cảnh báo. **Mặc định mới:** prepare dùng **`--episode_source disk`**: chỉ lấy các episode mà **đủ cả 3 camera** đều có mp4 dưới `videos/chunk-*/…` (khoảng 128 episode trong ví dụ makovian của bạn). Prompt vẫn lấy từ meta khi trùng index; thiếu dòng meta thì fallback câu generic. Nếu cố tình muốn đi theo đúng meta và chấp nhận skip + warn: `EPISODE_SOURCE=meta`.
**Gợi ý cũ (`MIN_EPISODE_INDEX`)** vẫn dùng được để giới hạn dải index sau khi đã lọc theo disk:
```bash
MAX_EPISODES=50 MIN_EPISODE_INDEX=1000 NUM_GPUS=2 \
DATASET_PATH=datasets/single_arm/multiview/makovian \
bash scripts/run_single_arm_multiview_dreamgen_batch.sh
```
Output mặc định: `sampling_dataset/dense/single_arm/input/multiview/dreamgen/<category>/` (grid PNG + `batch_input.json`) và `sampling_dataset/dense/single_arm/output/multiview/dreamgen/<category>/` (mp4). Thư mục `dense/` là tuyến video chuẩn (full steps); sau này có thể thêm các tuyến khác (vd. video tăng tốc / sparse) cạnh `dense/` — xem skill `sampling-dataset-structure`.
# Bimanual
## Aloha_robot
### DreamGen batch (2×2 grid, droid variant)
LeRobot tasks live under `datasets/bimanual/multiview/{makovian,non_makovian}/<task>/`.
Grid inputs and `batch_input.json` are written to `sampling_dataset/bimanual/input/multiview/dreamgen/<category>/<task>/`.
Generated videos default to `sampling_dataset/bimanual/output/multiview/dreamgen/<category>/<task>/`.
Prepare only (3 static+dynamic slots: high, low, left wrist + black quadrant):
```bash
python scripts/prepare_bimanual_multiview_dreamgen_batch.py \
--dataset_path datasets/bimanual/multiview/makovian/close_toolbox
```
Four live views (high, low, left wrist, right wrist):
```bash
python scripts/prepare_bimanual_multiview_dreamgen_batch.py \
--dataset_path /pfss/mlde/workspaces/mlde_wsp_IAS_SAMMerge/VLA/doanh/video_world/video_gen_physics/datasets/bimanual/multiview/non_makovian/fold_bath_towel \
--four_views
```
Single-task prepare + inference:
```bash
source models/DreamDojo/.venv/bin/activate
export PYTHONPATH=$PYTHONPATH:$(pwd)/models/dreamgen
DATASET_PATH=datasets/bimanual/multiview/makovian/close_toolbox \
bash scripts/run_bimanual_multiview_dreamgen_batch.sh
```
```bash
source models/dreamgen/.venv/bin/activate
export PYTHONPATH=$PYTHONPATH:$(pwd)/models/dreamgen
DATASET_PATH=datasets/bimanual/multiview/non_makovian/fold_bath_towel \
bash scripts/run_bimanual_multiview_dreamgen_batch.sh
```
### Tự động toàn bộ task
Script [scripts/run_bimanual_multiview_dreamgen_all.sh](scripts/run_bimanual_multiview_dreamgen_all.sh) lần lượt xử lý **mọi thư mục task** có `meta/episodes.jsonl` dưới `datasets/bimanual/multiview/makovian/*` và `.../non_makovian/*` (thứ tự tên thư mục). Mỗi task: (1) tạo lưới + `batch_input.json` dưới `sampling_dataset/bimanual/input/multiview/dreamgen/<category>/<task>/`, (2) chạy DreamGen lên batch đó.
Từ root repo (đã có venv trong script):
```bash
# Cả makovian + non_makovian, infer toàn episode, 2 GPU
NUM_GPUS=2 bash scripts/run_bimanual_multiview_dreamgen_all.sh
# Chỉ một nhánh
CATEGORY=makovian NUM_GPUS=2 bash scripts/run_bimanual_multiview_dreamgen_all.sh
# Bốn ô camera (không ô đen)
FOUR_VIEWS=1 NUM_GPUS=2 bash scripts/run_bimanual_multiview_dreamgen_all.sh
# Chỉ chuẩn bị batch + PNG (ffmpeg), không cần GPU — chạy infer sau
PREPARE_ONLY=1 bash scripts/run_bimanual_multiview_dreamgen_all.sh
# Batch đã có sẵn: chỉ infer
SKIP_PREPARE=1 NUM_GPUS=2 bash scripts/run_bimanual_multiview_dreamgen_all.sh
# Giới hạn episode mỗi task (test nhanh)
MAX_EPISODES=3 NUM_GPUS=1 bash scripts/run_bimanual_multiview_dreamgen_all.sh
```
Biến môi trường khác: `MULTIVIEW_ROOT`, `INPUT_DIR`, `OUTPUT_DIR_ROOT` (ghi đè thư mục video ra), `DYNAMIC_WRIST`, `MODEL_SIZE`, `MASTER_PORT`, `FPS`.
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ABQCFW5HLSyivpYQpzRsAgg/data/gr00t/brush_screws_into_dustpan_human_brush_left_hold?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AHgy4x95OLbl04yHDw7IqqI/data/gr00t/brush_screws_into_dustpan_left_brush_human_hold?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ACnI8RPDbWA9msMM0rX1_Xo/data/gr00t/close_cardboard_box?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AONAPYNvhZNtiKMuMOHvHJ4/data/gr00t/close_toolbox?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AONAPYNvhZNtiKMuMOHvHJ4/data/gr00t/close_toolbox?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ABhzbzBluSd85DYlgHT5B58/data/gr00t/find_hole_and_insert_into_gear?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AINcWNtzLGhS_FzI3Lf5MWI/data/gr00t/find_insert_large_gear_shaft?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AKkjdJU9oXcPF3LEFiDhhDw/data/gr00t/find_insert_small_gear_shaft?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AJRxziYsrEd7EHOC1r9BdBk/data/gr00t/fit_large_gear_shaft?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ADyb3_zrmEjmJ3W30IGuwTc/data/gr00t/fit_small_gear_shaft?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/APX3uyoq6RM9uVPVCcqrH08/data/gr00t/fold_bath_towel?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AIlA8EILMD-qArXYKTXU_IY/data/gr00t/fold_big_towel?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AHGRwiMtscgUoFF5bwucFMM/data/gr00t/fold_blue_towel?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AFfYrj8EiiPJrjRYKxPDK78/data/gr00t/fold_green_towel?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ANvXLKPkOPYUv1kiBQveORk/data/gr00t/fold_light_blue_towel?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AP_wBpVW5skU6g0u946MBAM/data/gr00t/fold_orange_towel?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ALJFsCCQEi9su0nxMIioJwE/data/gr00t/fold_towel_assist?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AA7cxdu5SwhzDeJ-FCBgxl4/data/gr00t/fold_towel_in_random_places?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AEZRF3x26iROaMlM0bkHl6c/data/gr00t/fold_yellow_towel?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ALMTPQGnShstWMSAAKzIvio/data/gr00t/handover_and_wipe_sponge?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ACGtaeyN40UK0-3LSxOkROo/data/gr00t/handover_clear_zip_bag_upright?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ACZOmKyuBDwR5T0JUTmRYZU/data/gr00t/handover_metallic_zip_bag_upright?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AM9LQZq43EHxl0W7k_HTihc/data/gr00t/hit_mark_with_hammer?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AG0WpnaOmp5j4z7X3tXWsm0/data/gr00t/hook_cable_8pin?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ADbEe5GDgrw6LnQ1mvic8r0/data/gr00t/hook_cable_narrow_8pin?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AC9UiUcRRXtEdY7sH_U9FQA/data/gr00t/hook_rubber_shaft?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AD5JRM8YqEMVZWOlvMwWz4M/data/gr00t/insert_gear_onto_shaft_sliding?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ADrhGfTGCDRY3Uzvm-A5jXQ/data/gr00t/insert_lan_cable_into_the_hub?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AE46iX-ZsUjAQO5uXcmaekE/data/gr00t/insert_large_gear_shaft?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/APbrrl5RFt3VnVD2MXW3_Jw/data/gr00t/insert_random_shaft_random_medium_gear?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ACEhPyU1hNfV4EY55W3uLLw/data/gr00t/insert_random_shaft_random_small_gear?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AIlPo-ooDKg4ZuWMvpvkGOE/data/gr00t/insert_rod_board?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AM94k3jyBMZ5xp9yRDfkuHQ/data/gr00t/insert_rod_moved_board?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AMLTcOVuZci-xNjnwp2AoeE/data/gr00t/insert_shaft_into_gear?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AP6Ueermvw4bDt6KyBQusmU/data/gr00t/insert_small_gear_shaft?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ABiQzdMEaR-7ZvkBBk1SWlM/data/gr00t/insert_usb_cable?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ADZih17xms9qLmda3U6sA1c/data/gr00t/insert_usb_cable_board?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AIdL9EvMO2gApRkgYTd9RDk/data/gr00t/insert_usb_cable_fix_parts?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AKwIgy3sl_JoZtNK0NhMHYE/data/gr00t/insert_usb_cable_fixed_by_robot?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AHyVCUFAc84GUtk7OAIyJ2U/data/gr00t/insert_usb_pcbox?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AH4mcBhwUDDoltT848Osl9s/data/gr00t/insert_usb_port_hub?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AFL7RqZu2OMTJX50cagxxG8/data/gr00t/insert_washer_shaft?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AKLXZKEpCH6kJuc8m3xXabs/data/gr00t/insert_washer_shaft_both_hands?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AMibO4nLGXVc9WnYvfPmgRA/data/gr00t/wipe_the_desk_with_a_blue_cloth?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AOJ6Ym5zCIDehwGr1NonQ8I/data/gr00t/wipe_the_desk_with_a_sponge?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/APIqxuoWkm6cQNwU_9M8pvY/data/gr00t/take_out_reel_clear_zip_bag?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ADnOB_uBb2pweSO-Uqg0P1o/data/gr00t/tape_closed_cardboard?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AAhtW5rPDugeOZ6eH27ek5A/data/gr00t/turn_towel_over?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/ALzSwJTUYhEFlCTlniaq6Dg/data/gr00t/spoon_yellow_block_bowl?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AOL52QGW3zMZ3XawKWV9SWU/data/gr00t/spoon_red_block_bowl?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AE1aieZSLWx-75Ca4qmjU64/data/gr00t/remove_box_from_case_right_arm?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AI1Ln8ryvKGEyNiKE1Q4qaA/data/gr00t/remove_box_from_case?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AJQO0XN02iDKRzz-Qf_Sg4Y/data/gr00t/put_tape_white_case_alternating_arms?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AK4Fz8EnnTiplbXtuVassz0/data/gr00t/put_cup_moved_red_handle_holder?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
https://www.dropbox.com/scl/fo/zumqdjhk47uk2k8kcefmu/AFGVgKQpj3R8NP98F8qFoJ0/data/gr00t/place_the_chinese_spoons_on_the_cloth?rlkey=bhkxfigxkt8fmbxb88qnq1og7&dl=0
|