Zum Inhalt springen

SimplerEnv-Evaluation

SimplerEnv ist eine ManiSkill-basierte Simulationsumgebung, die den WidowX-Roboterarm fuer Tischmanipulationsaufgaben (Greifen, Platzieren, Schubladenoperationen usw.) verwendet. Sie wird haeufig eingesetzt, um VLA-Modelle zu evaluieren, die auf dem Open X-Embodiment (OXE)-Datensatz trainiert wurden.

Dieses Dokument enthaelt Anweisungen zur Reproduktion unserer experimentellen Ergebnisse mit SimplerEnv.

Der Evaluationsprozess besteht aus zwei Hauptteilen:

  1. Einrichten der simpler_env-Umgebung und Abhaengigkeiten.
  2. Ausfuehren der Evaluation durch Starten von Diensten in sowohl der starVLA- als auch der simpler_env-Umgebung.

Wir haben verifiziert, dass dieser Workflow erfolgreich auf NVIDIA A100 und RTX 4090 GPUs laeuft.


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.


Um die Umgebung einzurichten, folgen Sie zunaechst dem offiziellen SimplerEnv-Repository, um die Basis-simpler_env-Umgebung zu installieren.

Installieren Sie danach innerhalb der simpler_env-Umgebung die folgenden Abhaengigkeiten:

Terminal-Fenster
conda activate simpler_env
pip install tyro matplotlib mediapy websockets msgpack
pip install numpy==1.24.4 # Downgrade numpy fuer Kompatibilitaet mit der Simulationsumgebung

Haeufige Probleme: Beim Testen von SimplerEnv auf NVIDIA A100 kann folgender Fehler auftreten: libvulkan.so.1: cannot open shared object file: No such file or directory Loesungshinweise finden Sie hier: Installationsanleitung — Vulkan-Abschnitt

Wir stellen ein minimales Skript zur Umgebungsverifizierung bereit:

Terminal-Fenster
python examples/SimplerEnv/test_your_simplerEnv.py

Wenn Sie die Meldung ”✅ Env built successfully” sehen, bedeutet dies, dass SimplerEnv korrekt installiert und einsatzbereit ist.


Fuehren Sie die Evaluation vom Stammverzeichnis des starVLA-Repositorys aus, unter Verwendung von zwei separaten Terminals, eines fuer jede Umgebung.

  • starVLA-Umgebung: fuehrt den Policy-Inferenz-Server aus.
  • simpler_env-Umgebung: fuehrt den Simulations-Evaluationscode aus.

Laden Sie den Checkpoint herunter: Qwen3VL-GR00T-Bridge-RT-1

Aktivieren Sie im ersten Terminal die starVLA-Conda-Umgebung und fuehren Sie aus:

Terminal-Fenster
bash examples/SimplerEnv/eval_files/run_policy_server.sh

Hinweis: Oeffnen Sie examples/SimplerEnv/eval_files/run_policy_server.sh, suchen Sie die Variable your_ckpt und setzen Sie sie auf Ihren tatsaechlichen Checkpoint-Pfad, z. B. results/Checkpoints/Qwen3VL-GR00T-Bridge-RT-1/checkpoints/steps_50000_pytorch_model.pt.


Schritt 2. Simulation starten (simpler_env-Umgebung)

Abschnitt betitelt „Schritt 2. Simulation starten (simpler_env-Umgebung)“

Aktivieren Sie im zweiten Terminal die simpler_env-Conda-Umgebung und fuehren Sie aus:

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

Dieses Skript startet automatisch die WidowX-Robot-Evaluationsaufgaben und reproduziert die oben genannten Benchmark-Ergebnisse.

Hinweis: Oeffnen Sie examples/SimplerEnv/start_simpler_env.sh, suchen Sie die Variable SimplerEnv_PATH und setzen Sie sie auf den Pfad Ihres SimplerEnv-Repository-Klons (z. B. /path/to/SimplerEnv).

Haeufige Probleme: Falls der Fehler NotImplementedError: Framework QwenGR00T is not implemented beim Starten des Policy-Servers auftritt, bedeutet dies in der Regel, dass das Framework nicht korrekt im Python-Importpfad registriert wurde. Fuehren Sie zuerst den Schnelltest aus, um die korrekte Registrierung auszuloesen:

Terminal-Fenster
python starVLA/model/framework/QwenGR00T.py

Falls der Schnelltest erfolgreich ist, starten Sie den Policy-Server neu.


Schritte:

  1. Laden Sie einen OXE-Datensatz im LeRobot-Format herunter:

  2. Fuegen Sie modality.json in jedes *lerobot/meta/modality.json ein:

    • bridge modality - Umbenennen in modality.json und ablegen als bridge_orig_lerobot/meta/modality.json
    • fractal modality - Umbenennen in modality.json und ablegen als fractal20220817_data_lerobot/meta/modality.json
  3. Fuegen Sie Ihren Datensatzpfad zur config.yaml hinzu:

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

Wir bieten eine einfache Moeglichkeit, Ihren Dataloader zu ueberpruefen. Stellen Sie sicher, dass Sie gebatchte Daten laden koennen:

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

Vor der Ausfuehrung muessen Sie sicherstellen, dass Ihr Framework forward und predict_action mit einem Testdatenbeispiel ausfuehren kann.

Versuchen Sie folgenden Befehl:

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

Sobald alles bereit ist, verwenden Sie unser bereitgestelltes Skript, um das Training zu starten:

Terminal-Fenster
bash ./examples/SimplerEnv/train_files/run_oxe_train.sh

Hinweis: Stellen Sie sicher, dass das Skript explizit den validierten Konfigurationspfad verwendet. Falls noch nicht uebergeben, fuegen Sie das Argument --config_yaml hinzu.