跳转到内容

SimplerEnv 评测

SimplerEnv 是一个基于 ManiSkill 的仿真评测环境,使用 WidowX 机械臂执行桌面操作任务(如抓取、放置、开关抽屉等)。它被广泛用于评测在 Open X-Embodiment(OXE)数据集上训练的 VLA 模型。

本文档提供在 SimplerEnv 上复现我们实验结果的操作指南。评测流程主要包含两部分:

  1. 配置 simpler_env 环境与依赖。
  2. 分别在 starVLAsimpler_env 环境中启动服务并运行评测。

我们已在 NVIDIA A100RTX 4090 上验证该流程可稳定运行。


MethodStepsPut Spoon on TowelPut Carrot on PlateStack Green Block on Yellow BlockPut Eggplant in Yellow BasketAverage
RT-1-X-0.04.20.00.01.1
Octo-Base-15.812.50.041.717.5
Octo-Small-41.78.20.056.726.7
OpenVLA-4.20.00.012.54.2
CogACT-71.750.815.067.551.3
SpatialVLA-16.725.029.2100.042.7
π₀-29.10.016.662.527.1
π₀-FAST-29.121.910.866.648.3
GR00T N1.5-75.354.357.061.361.9
Magma-37.531.012.760.535.8
StarVLA-FAST (Qwen3-VL)15K18.831.34.271.931.6
StarVLA-OFT (Qwen3-VL)65K90.338.529.7100.064.6
StarVLA-π (Qwen3-VL)40K78.146.930.288.560.9
StarVLA-GR00T (Qwen3-VL)20K83.059.418.8100.065.3
StarVLA-OFT (Cosmos-Predict2-2B)30K66.862.625.390.261.2
StarVLA-π (Cosmos-Predict2-2B)30K81.455.225.173.058.7
StarVLA-GR00T (Cosmos-Predict2-2B)30K80.465.420.080.661.6
MethodPick Coke CanMove NearOpen/Close DrawerOpen Top Drawer and Place AppleAverage
RT-185.744.273.06.552.4
RT-1-X56.731.759.721.342.4
RT-2-X78.777.925.03.746.3
OpenVLA18.056.363.00.034.3
CogACT91.385.071.850.974.8
SpatialVLA86.077.957.4-75.1
π₀72.765.338.3-58.8
π₀-FAST75.367.542.9-61.9
GR00T N1.5*51.754.027.87.435.2
Magma83.765.456.06.452.9
StarVLA-OFT95.375.068.866.176.0
MethodPick Coke CanMove NearOpen/Close DrawerOpen Top Drawer and Place AppleAverage
RT-189.850.032.32.643.7
RT-1-X49.032.329.410.130.2
RT-2-X82.379.235.320.654.4
OpenVLA60.867.728.80.039.3
CogACT89.680.828.346.661.3
SpatialVLA88.082.541.8-70.7
π₀75.263.725.6-54.8
π₀-FAST77.668.231.3-59.0
GR00T N1.569.368.735.84.044.5
Magma68.865.753.418.551.6
StarVLA-OFT91.375.155.059.470.2

Note: All StarVLA Google Robot results use Qwen3-VL-4B as backbone. Numbers marked with * denote our reimplementation.


请先参考官方 SimplerEnv 仓库 安装基础 simpler_env 环境。

随后,在 simpler_env 环境中安装以下依赖:

Terminal window
conda activate simpler_env
pip install tyro matplotlib mediapy websockets msgpack
pip install numpy==1.24.4 # 降级 numpy 是因为仿真环境对 numpy 版本有严格兼容性要求

常见问题: 在 NVIDIA A100 上测试 SimplerEnv 时,可能会遇到以下错误: libvulkan.so.1: cannot open shared object file: No such file or directory 可参考此链接修复:安装指南 – Vulkan 部分

我们提供了一个最小化的环境验证脚本:

Terminal window
python examples/SimplerEnv/test_your_simplerEnv.py

如果看到 ”✅ Env built successfully” 消息,说明 SimplerEnv 已正确安装并可以使用。


请在 starVLA 主仓库根目录使用两个独立终端运行评测(每个环境一个终端)。

  • starVLA 环境:运行策略推理服务。
  • simpler_env 环境:运行仿真评测代码。

下载检查点:Qwen3VL-GR00T-Bridge-RT-1

Step 1. 启动服务端(starVLA 环境)

Section titled “Step 1. 启动服务端(starVLA 环境)”

在第一个终端中,激活 starVLA conda 环境并运行:

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

注意:请打开 examples/SimplerEnv/eval_files/run_policy_server.sh,找到 your_ckpt 变量,将其改为你实际的 checkpoint 路径,例如 results/Checkpoints/Qwen3VL-GR00T-Bridge-RT-1/checkpoints/steps_50000_pytorch_model.pt


Step 2. 启动仿真(simpler_env 环境)

Section titled “Step 2. 启动仿真(simpler_env 环境)”

在第二个终端中,激活 simpler_env conda 环境并运行:

Terminal window
export MODEL_PATH=.../checkpoints/steps_50000_pytorch_model.pt
bash examples/SimplerEnv/start_simpler_env.sh ${MODEL_PATH}

此脚本会自动启动 WidowX 机器人评测任务,复现上述基准测试结果。

注意:请打开 examples/SimplerEnv/start_simpler_env.sh,找到 SimplerEnv_PATH 变量,将其改为你的 SimplerEnv 仓库克隆路径(如 /path/to/SimplerEnv)。

常见问题: 运行策略服务器时如果遇到 NotImplementedError: Framework QwenGR00T is not implemented,这通常是因为 Framework 尚未被正确注册到 Python 的 import 路径中。请先运行冒烟测试来触发正确的注册:

Terminal window
python starVLA/model/framework/QwenGR00T.py

如果冒烟测试通过,再重新启动策略服务器即可。


步骤:

  1. 下载 LeRobot 格式的 OXE 数据集:

  2. modality.json 放入每个 *lerobot/meta/modality.json

    • bridge modality - 重命名为 modality.json 并放入 bridge_orig_lerobot/meta/modality.json
    • fractal modality - 重命名为 modality.json 并放入 fractal20220817_data_lerobot/meta/modality.json
  3. config.yaml 中添加数据集路径:

    datasets:
    vla_data:
    dataset_py: lerobot_datasets
    data_root_dir: playground/Datasets/OXE_LEROBOT_DATASET
    data_mix: bridge_rt_1

我们提供了一个简单的方式来检查你的数据加载器。确保可以加载批次数据:

Terminal window
python starVLA/dataloader/lerobot_datasets.py --config_yaml examples/SimplerEnv/train_files/starvla_cotrain_oxe.yaml

在运行之前,需要确保你的框架可以使用 fake data 进行 forwardpredict_action

尝试以下命令:

Terminal window
python starVLA/model/framework/QwenGR00T.py --config_yaml examples/SimplerEnv/train_files/starvla_cotrain_oxe.yaml

准备就绪后,使用我们提供的脚本开始训练:

Terminal window
bash ./examples/SimplerEnv/train_files/run_oxe_train.sh

注意:确保脚本明确使用经过验证的配置路径。如果尚未传递,请添加 --config_yaml 参数。