LeRobot documentation
RoboTwin 2.0
RoboTwin 2.0
The commands below run the simulator locally. To keep its dependencies away from your policy's, serve it instead with `lerobot-env-server --config_path=docker/sim/configs/robotwin.yaml --sim.task=--docker=true`, where ` ` is the command's `--env.task`, and add `--env.server.endpoint=tcp/127.0.0.1:7448` to the command. A server runs the task it was started with (see [Simulation: local or served](./simulation)).
RoboTwin 2.0 là một benchmark thao tác hai cánh tay quy mô lớn được xây dựng trên engine vật lý SAPIEN. Nó cung cấp giao thức đánh giá chuẩn hóa cho các chính sách robot hai tay trên 50 tác vụ (tính đến main upstream) với randomization miền mạnh mẽ (đồ vật lộn xộn, ánh sáng, nền, chiều cao mặt bàn và chỉ dẫn ngôn ngữ).
- Bài báo: RoboTwin 2.0: Bộ tạo dữ liệu có khả năng mở rộng và bộ chuẩn với ngẫu nhiên hóa miền mạnh cho thao tác robot hai tay bền vững
- GitHub: RoboTwin-Platform/RoboTwin
- Bảng xếp hạng: robotwin-platform.github.io/leaderboard
- Bộ dữ liệu: lerobot/robotwin_unified

Tổng quan
| Thuộc tính | Giá trị |
|---|---|
| Nhiệm vụ | 50 thao tác thao tác bằng hai cánh tay |
| Robot | Aloha-AgileX hai tay (14 bậc tự do, 7 cho mỗi tay) |
| Không gian hành động | 14 chiều không gian khớp, liên tục trong [-1, 1] |
| Camera | head_camera, left_camera, right_camera |
| Simulator | SAPIEN (không phải MuJoCo) |
| Giao thức đánh giá | 100 tập/mỗi tác vụ, 50 demo_clean minh chứng |
| Cài đặt đánh giá | Dễ (demo_clean) và Khó (demo_randomized) |
Các tác vụ khả dụng
RoboTwin 2.0 cung cấp 50 thao tác điều khiển hai cánh tay trong thư mục envs/ của kho mã nguồn gốc. Danh sách chuẩn là bộ ROBOTWIN_TASKS trong src/lerobot/sim/integrations/robotwin.py, được sao chép nguyên văn từ kho mã nguồn gốc. Ví dụ về các thao tác:
| Nhiệm vụ | Tên CLI | Danh mục |
|---|---|---|
| Đánh khối bằng búa | beat_block_hammer | Sử dụng công cụ |
| Nhấp vào chuông / đồng hồ báo thức | click_bell | Ép chính xác |
| Xếp các khối (2 / 3) | stack_blocks_two/three | Xếp chồng |
| Xếp chồng bát (2 / 3) | stack_bowls_two/three | Xếp chồng |
| Khối bàn giao / micro | handover_block | Tọa độ hai tay |
| Nâng nồi | lift_pot | Nâng bằng hai tay |
| Lắc chai | shake_bottle | Chuyển động liên tục |
| Bật công tắc | turn_switch | Đối tượng có khớp |
| Con dấu | stamp_seal | Nơi đặt độ chính xác |
| Quét đối tượng | scan_object | Thao tác di động. |
Truyền một danh sách phân tách bằng dấu phẩy vào --env.task để chạy nhiều tác vụ trong một lượt đánh giá duy nhất.
`open_laptop` is currently broken upstream (its `check_success()` uses `self.arm_tag`, which is only set inside the scripted-expert `play_once()` path and therefore unavailable during normal policy eval). Avoid it until the upstream bug is fixed, or patch the task to default `self.arm_tag = "left"` in `load_actors()`.
Bộ dữ liệu
Bộ dữ liệu RoboTwin 2.0 có sẵn trên Hugging Face Hub ở định dạng LeRobot v3.0:
lerobot/robotwin_unified
Bộ dữ liệu này chứa hơn 100.000 quỹ đạo đã được thu thập trước đó cho tất cả 50 tác vụ (79,6 GB, giấy phép Apache 2.0). Không cần chuyển đổi định dạng — dữ liệu đã sẵn sàng theo đúng schema LeRobot v3.0 với quan sát video và nhãn hành động.
Bạn có thể tải trực tiếp bằng thư viện HF Datasets:
from datasets import load_dataset
ds = load_dataset("lerobot/robotwin_unified", split="train")Cài đặt
RoboTwin 2.0 yêu cầu Linux với GPU NVIDIA (SAPIEN render bằng Vulkan). Các planner của nó, CuRobo và pytorch3d, biên dịch mã CUDA đối với torch 2.7.1, không khớp với torch của LeRobot, do đó RoboTwin chạy trong môi trường riêng phía sau lerobot-env-server và phía policy chỉ cần LeRobot.
Hình ảnh được phục vụ (khuyến nghị)
lerobot-env-server --config_path=docker/sim/configs/robotwin.yaml --sim.task=beat_block_hammer --docker=trueChạy lần đầu sẽ xây dựng giai đoạn robotwin_native của docker/Dockerfile.sim (khoảng 20 phút, chủ yếu là pytorch3d và CuRobo). Trên máy cấu hình nhỏ, hãy tự xây dựng image trước với bộ nhớ có giới hạn; sau đó server sẽ tái sử dụng nó:
docker build -f docker/Dockerfile.sim --build-arg SIM=robotwin \
--build-arg MAX_JOBS=1 --build-arg CUROBO_CUDA_ARCHS=8.6 -t lerobot-sim-robotwin:local .trong đó 8.6 là khả năng tính toán của GPU của bạn. Thêm --env.server.endpoint=tcp/127.0.0.1:7448 vào các lệnh đánh giá bên dưới.
Môi trường bản địa
Để chạy server mà không dùng Docker, hãy tái tạo giai đoạn robotwin_native của docker/Dockerfile.sim trong một môi trường ảo riêng, đây là công thức đã được kiểm chứng: CUDA 12.8 nvcc, torch 2.7.1, commit và tài nguyên RoboTwin được cố định, CuRobo v0.7.8, cùng các bản vá mplib và SAPIEN của RoboTwin. Sau đó cài đặt LeRobot với --no-deps kèm docker/sim/requirements.txt, và bỏ --docker=true khỏi lệnh ở trên (xem Mô phỏng: cục bộ hoặc được phục vụ).
Đánh giá
Đánh giá tiêu chuẩn (khuyến nghị)
Đánh giá một chính sách trên một tác vụ duy nhất theo giao thức chính thức (100 tập):
lerobot-eval \
--policy.path="your-hf-policy-id" \
--env.type=robotwin \
--env.task=beat_block_hammer \
--eval.batch_size=1 \
--eval.n_episodes=100Kiểm tra nhanh tác vụ đơn
lerobot-eval \
--policy.path="your-hf-policy-id" \
--env.type=robotwin \
--env.task=beat_block_hammer \
--eval.batch_size=1 \
--eval.n_episodes=5Quét đa nhiệm
Đánh giá trên nhiều tác vụ trong một lần chạy:
lerobot-eval \
--policy.path="your-hf-policy-id" \
--env.type=robotwin \
--env.task=beat_block_hammer,click_bell,handover_block,stack_blocks_two \
--eval.batch_size=1 \
--eval.n_episodes=100Đánh giá toàn bộ (tất cả 50 tác vụ)
lerobot-eval \
--policy.path="your-hf-policy-id" \
--env.type=robotwin \
--env.task=adjust_bottle,beat_block_hammer,blocks_ranking_rgb,blocks_ranking_size,click_alarmclock,click_bell,dump_bin_bigbin,grab_roller,handover_block,handover_mic,hanging_mug,lift_pot,move_can_pot,move_pillbottle_pad,move_playingcard_away,move_stapler_pad,open_microwave,pick_diverse_bottles,pick_dual_bottles,place_a2b_left,place_a2b_right,place_bread_basket,place_bread_skillet,place_burger_fries,place_can_basket,place_cans_plasticbox,place_container_plate,place_dual_shoes,place_empty_cup,place_fan,place_mouse_pad,place_object_basket,place_object_scale,place_object_stand,place_phone_stand,place_shoe,press_stapler,put_bottles_dustbin,put_object_cabinet,rotate_qrcode,scan_object,shake_bottle,shake_bottle_horizontally,stack_blocks_three,stack_blocks_two,stack_bowls_three,stack_bowls_two,stamp_seal,turn_switch \
--eval.batch_size=1 \
--eval.n_episodes=100`open_laptop` is intentionally omitted above because of the upstream `self.arm_tag` bug (see the **Available tasks** section). Re-add it once the upstream fix lands.
Cấu hình camera
Mặc định, cả ba camera đều được bao gồm:
| Chìa khóa camera | Mô tả |
|---|---|
head_camera | Góc nhìn từ trên xuống gắn trên thân |
left_camera | Camera gắn cổ tay tay trái |
right_camera | Camera gắn cổ tay cánh tay phải |
Để sử dụng một tập con các camera, ghi đè --env.camera_names:
lerobot-eval \
--policy.path="your-hf-policy-id" \
--env.type=robotwin \
--env.task=beat_block_hammer \
--env.camera_names="head_camera,left_camera" \
--eval.batch_size=1 \
--eval.n_episodes=10Tham khảo cấu hình môi trường
Các tham số chính của RoboTwinEnvConfig:
| Tham số | Mặc định | Mô tả |
|---|---|---|
task | "beat_block_hammer" | Tên tác vụ (các) phân tách bằng dấu phẩy |
fps | 25 | FPS mô phỏng |
episode_length | 1200 | Số bước tối đa mỗi tập |
obs_type | "pixels_agent_pos" | "pixels" hoặc "pixels_agent_pos" |
camera_names | "head_camera,left_camera,right_camera" | Các camera đang hoạt động, phân tách bằng dấu phẩy |
observation_height | 240 | Chiều cao pixel của camera |
observation_width | 320 | Độ rộng pixel của camera |
Gửi bài dự thi lên bảng xếp hạng
Kết quả có thể được gửi đến bảng xếp hạng RoboTwin 2.0. Giao thức chính thức yêu cầu:
- Huấn luyện trên 50
demo_cleanví dụ minh họa cho mỗi tác vụ - Đánh giá 100 tập cho mỗi tác vụ
- Báo cáo tỷ lệ thành công riêng biệt cho các cài đặt Dễ (
demo_clean) và Khó (demo_randomized)
Để biết hướng dẫn nộp bài, hãy tham khảo tài liệu RoboTwin 2.0.
Update on GitHub