LeRobot documentation

RoboTwin 2.0

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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ữ).

RoboTwin 2.0 benchmark overview

Tổng quan

Thuộc tínhGiá trị
Nhiệm vụ50 thao tác thao tác bằng hai cánh tay
RobotAloha-AgileX hai tay (14 bậc tự do, 7 cho mỗi tay)
Không gian hành động14 chiều không gian khớp, liên tục trong [-1, 1]
Camerahead_camera, left_camera, right_camera
SimulatorSAPIEN (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 CLIDanh mục
Đánh khối bằng búabeat_block_hammerSử dụng công cụ
Nhấp vào chuông / đồng hồ báo thứcclick_bellÉp chính xác
Xếp các khối (2 / 3)stack_blocks_two/threeXếp chồng
Xếp chồng bát (2 / 3)stack_bowls_two/threeXếp chồng
Khối bàn giao / microhandover_blockTọa độ hai tay
Nâng nồilift_potNâng bằng hai tay
Lắc chaishake_bottleChuyển động liên tục
Bật công tắcturn_switchĐối tượng có khớp
Con dấustamp_sealNơi đặt độ chính xác
Quét đối tượngscan_objectThao 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=true

Chạ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=100

Kiể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=5

Qué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 cameraMô tả
head_cameraGóc nhìn từ trên xuống gắn trên thân
left_cameraCamera gắn cổ tay tay trái
right_cameraCamera 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=10

Tham khảo cấu hình môi trường

Các tham số chính của RoboTwinEnvConfig:

Tham sốMặc địnhMô tả
task"beat_block_hammer"Tên tác vụ (các) phân tách bằng dấu phẩy
fps25FPS mô phỏng
episode_length1200Số 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_height240Chiều cao pixel của camera
observation_width320Độ 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_clean ví 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