Ir al contenido

Evaluación de SimplerEnv

SimplerEnv es un entorno de simulación basado en ManiSkill que utiliza el brazo robótico WidowX para tareas de manipulación sobre mesa (agarrar, colocar, operaciones con cajones, etc.). Se usa ampliamente para evaluar modelos VLA entrenados con el dataset Open X-Embodiment (OXE).

Este documento proporciona instrucciones para reproducir nuestros resultados experimentales con SimplerEnv.

El proceso de evaluación consta de dos partes principales:

  1. Configurar el entorno de simpler_env y sus dependencias.
  2. Ejecutar la evaluación lanzando servicios en ambos entornos starVLA y simpler_env.

Hemos verificado que este flujo de trabajo funciona correctamente tanto en GPUs NVIDIA A100 como RTX 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.


Para configurar el entorno, primero sigue el repositorio oficial de SimplerEnv para instalar el entorno base de simpler_env.

Después, dentro del entorno de simpler_env, instala las siguientes dependencias:

Ventana de terminal
conda activate simpler_env
pip install tyro matplotlib mediapy websockets msgpack
pip install numpy==1.24.4 # Degradar numpy para compatibilidad con el entorno de simulación

Problemas Comunes: Al probar SimplerEnv en NVIDIA A100, puedes encontrar el siguiente error: libvulkan.so.1: cannot open shared object file: No such file or directory Puedes consultar este enlace para solucionarlo: Guía de Instalación - Sección Vulkan

Proporcionamos un script mínimo de verificación del entorno:

Ventana de terminal
python examples/SimplerEnv/test_your_simplerEnv.py

Si ves el mensaje ”✅ Env built successfully”, significa que SimplerEnv está instalado correctamente y listo para usar.


Ejecuta la evaluación desde la raíz del repositorio starVLA usando dos terminales separadas, una para cada entorno.

  • Entorno starVLA: ejecuta el servidor de inferencia de políticas.
  • Entorno simpler_env: ejecuta el código de evaluación de la simulación.

Descarga el checkpoint: Qwen3VL-GR00T-Bridge-RT-1

Paso 1. Iniciar el servidor (entorno starVLA)

Sección titulada «Paso 1. Iniciar el servidor (entorno starVLA)»

En la primera terminal, activa el entorno conda starVLA y ejecuta:

Ventana de terminal
bash examples/SimplerEnv/eval_files/run_policy_server.sh

Nota: Abre examples/SimplerEnv/eval_files/run_policy_server.sh, busca la variable your_ckpt y configúrala con la ruta real de tu checkpoint, por ejemplo results/Checkpoints/Qwen3VL-GR00T-Bridge-RT-1/checkpoints/steps_50000_pytorch_model.pt.


Paso 2. Iniciar la simulación (entorno simpler_env)

Sección titulada «Paso 2. Iniciar la simulación (entorno simpler_env)»

En la segunda terminal, activa el entorno conda simpler_env y ejecuta:

Ventana de terminal
export MODEL_PATH=.../checkpoints/steps_50000_pytorch_model.pt
bash examples/SimplerEnv/start_simpler_env.sh ${MODEL_PATH}

Este script lanzará automáticamente las tareas de evaluación del robot WidowX, reproduciendo los resultados del benchmark reportados anteriormente.

Nota: Abre examples/SimplerEnv/start_simpler_env.sh, busca la variable SimplerEnv_PATH y configúrala con la ruta de tu clon del repositorio SimplerEnv (por ejemplo /path/to/SimplerEnv).

Problemas Comunes: Si encuentras NotImplementedError: Framework QwenGR00T is not implemented al ejecutar el servidor de políticas, esto generalmente significa que el Framework no se ha registrado correctamente en la ruta de importación de Python. Ejecuta primero la prueba de humo para activar el registro correcto:

Ventana de terminal
python starVLA/model/framework/QwenGR00T.py

Si la prueba de humo pasa, reinicia el servidor de políticas.


Pasos:

  1. Descarga un dataset OXE en formato LeRobot:

  2. Incluye modality.json en cada *lerobot/meta/modality.json:

    • bridge modality - Renombrar como modality.json y colocar en bridge_orig_lerobot/meta/modality.json
    • fractal modality - Renombrar como modality.json y colocar en fractal20220817_data_lerobot/meta/modality.json
  3. Agrega la ruta de tu dataset a config.yaml:

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

Proporcionamos una forma sencilla de verificar tu dataloader. Asegúrate de que puedas cargar datos por lotes:

Ventana de terminal
python starVLA/dataloader/lerobot_datasets.py --config_yaml examples/SimplerEnv/train_files/starvla_cotrain_oxe.yaml

Antes de ejecutar, necesitas asegurarte de que tu framework puede hacer forward y predict_action usando un ejemplo de datos ficticios.

Prueba el siguiente comando:

Ventana de terminal
python starVLA/model/framework/QwenGR00T.py --config_yaml examples/SimplerEnv/train_files/starvla_cotrain_oxe.yaml

Una vez que todo esté listo, usa nuestro script proporcionado para iniciar el entrenamiento:

Ventana de terminal
bash ./examples/SimplerEnv/train_files/run_oxe_train.sh

Nota: Asegúrate de que el script use explícitamente la ruta de configuración validada. Si aún no se pasa, agrega el argumento --config_yaml.