Skip to content

RoboTwin Evaluation

RoboTwin 2.0 is a dual-arm robot manipulation benchmark with 50 tasks at two difficulty levels (Easy / Hard with different scene randomization), covering grasping, stacking, tool use, and various other manipulation types.

This document provides instructions for reproducing our experimental results with RoboTwin 2.0.

The evaluation process consists of two main parts:

  1. Setting up the robotwin environment and dependencies.
  2. Running the evaluation by launching services in both starVLA and robotwin environments.

We have verified that this workflow runs successfully on NVIDIA 4090 GPUs.


RoboTwin 2.0 Benchmark Results over 50 Tasks:

Task NameQwenOFT EasyQwenOFT Hardπ0 Easyπ0 Hardπ0.5 Easyπ0.5 HardX-VLA EasyX-VLA HardMotus EasyMotus Hardlingbot-vla w/o depth Easylingbot-vla w/o depth Hardlingbot-vla w/ depth Easylingbot-vla w/ depth Hard
Adjust Bottle10099999510099100998993100100100100
Beat Block Hammer9392798496939288958887919289
Blocks Ranking RGB9998806392858383999792919291
Blocks Ranking Size798014549266774756366737670
Click Alarmclock585177689889999910010093269743
Click Bell23277148996610010010010032194336
Dump Bin Bigbin9194888392977977959197929797
Grab Roller100100989410010010010010010010099100100
Handover Block9793473166577337867380838395
Handover Mic98969797989700786394989499
Hanging Mug3429141118172327383832273453
Lift Pot1001008072968599100969910099100100
Move Can Pot9190684851558986347479848987
Move Pillbottle Pad98100674684617371939693949290
Move Playingcard Away1009874659684939810096969998100
Move Stapler Pad7490412456427873838574497448
Open Laptop981007181909693100959196969896
Open Microwave283943234777971959191759192
Pick Diverse Bottles8786693181715836909179868885
Pick Dual Bottles9193593793634736969082959990
Place A2B Left9095434787824849827986838985
Place A2B Right8895393487843636908774778080
Place Bread Basket9178624677648171919492939593
Place Bread Skillet8980664985667767868390899092
Place Burger Fries100100817694879494989895969894
Place Can Basket7575554662624952817668787572
Place Cans Plasticbox1009963459484979898949710010098
Place Container Plate99999792999597959899999999100
Place Dual Shoes9189595175757988938780838786
Place Empty Cup100100918510099100989998100100100100
Place Fan9495667187858075918791799287
Place Mouse Pad8794202060397070666882788679
Place Object Basket9394677080764439818790919088
Place Object Scale9393575286805274888584909088
Place Object Stand9998826891858688989797939388
Place Phone Stand8695495381818887878692939087
Place Shoe96100767692939695999799949999
Press Stapler9996443787839298939890888693
Put Bottles Dustbin9085655684797477817988929293
Put Object Cabinet8991736080794648887192868588
Rotate QRcode8890747089873433897393848682
Scan Object9491554272651436676691979296
Shake Bottle Horizontally10010098929999100100100981001009998
Shake Bottle1001009491999799100100979910010099
Stack Blocks Three948672529176610919592999695
Stack Blocks Two10010093799710092871009810010010099
Stack Bowls Three9591777577717686798772837177
Stack Bowls Two99100949595969693989892959097
Stamp Seal8690463379557682939276867477
Turn Switch6562414262544061847861656763
Average88.1888.3265.9258.4082.7476.7672.8072.8488.6687.0286.5085.3488.5686.68

Note: All 50 tasks are trained within a single model, using 50 clean and 500 randomized demonstrations per task for co-training.


To set up the environment, please first follow the official RoboTwin installation guide to install the base robotwin environment.

Then install additional requirements:

Terminal window
pip install -r examples/Robotwin/eval_files/requirements.txt

And edit ROBOTWIN_PATH in examples/Robotwin/eval_files/eval.sh.


Step 1. Start the server (starVLA environment)

Section titled “Step 1. Start the server (starVLA environment)”

In the first terminal, activate the starVLA conda environment and run:

Terminal window
bash examples/Robotwin/eval_files/run_policy_server.sh

Edit your checkpoint path in examples/Robotwin/eval_files/deploy_policy.yml and examples/Robotwin/eval_files/run_policy_server.sh.


Step 2. Start the simulation (robotwin environment)

Section titled “Step 2. Start the simulation (robotwin environment)”

In the second terminal, activate the robotwin conda environment and run:

Terminal window
conda activate robotwin
cd examples/Robotwin/eval_files
bash eval.sh task_name demo_clean my_test_v1 0 0

The eval.sh script takes 5 positional arguments:

PositionMeaningExample
1Task name (from the list below)adjust_bottle
2Data mode (demo_clean or demo_randomized)demo_clean
3Experiment name (for logging)my_test_v1
4Start episode index0
5GPU ID for the simulation0

All tasks in RoboTwin 2.0 include:

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_laptop, 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_horizontally, shake_bottle,
stack_blocks_three, stack_blocks_two, stack_bowls_three, stack_bowls_two,
stamp_seal, turn_switch

All modes include demo_clean and demo_randomized.