GraspVLA Simulation Environment
August 21, 2025 ยท View on GitHub
This repository provides simulation benchmarks for GraspVLA, featuring both the popular LIBERO benchmark and an enhanced playground environment built on top of it.
Features
Our playground environment offers the following capabilities:
- Diverse Objects: Randomly sample objects from the Objaverse dataset
- Diverse Layouts: Randomly generate initial scene configurations
- Diverse Environments: Randomly sample background styles and textures

Latest Updates
- [2025-08-21] To ensure the repository remains accessible to all users, we have migrated away from Git LFS due to bandwidth limitations from a recent surge in downloads. This required a complete rewrite of the git history.
Installation
Prerequisites
Install Git LFS (for large object and robot assets) and FFmpeg (for video conversion and visualization):
sudo apt install git-lfs ffmpeg
Step 1: Clone the Repository
git clone git@github.com:MiYanDoris/GraspVLA-playground.git
cd GraspVLA-playground
Step 2: Set Up Python Environment
Create and activate a conda environment with the required dependencies:
conda create -n playground python=3.9.0
conda activate playground
pip install -r requirements.txt
Step 3: Install Core Dependencies
Install the required third-party packages:
cd third_party/robosuite
pip install -e .
cd ../bddl
pip install -e .
cd ..
Step 4: Install cuRobo
Install cuRobo with appropriate CUDA and PyTorch versions. Note that PyTorch >= 1.10 is required, and installation takes approximately 20 minutes. We attach the command we used here for reference.
git clone https://github.com/NVlabs/curobo.git
cd curobo
export CUDA_HOME=/usr/local/cuda-11.8
pip install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/cu118
pip install -e . --no-build-isolation
cd ..
Step 5: Configure Robot Assets
Update the paths in assets/franka_with_extended_finger/franka.yml to use absolute paths for:
urdf_path: Path tofranka_with_extended_finger.urdfasset_root_path: Path tofranka_with_extended_fingerdirectorycollision_spheres: Path tocollision_spheres.yml
Usage
Starting the Model Server
Before running any simulations, you must start the model server. For detailed instructions, see the model server documentation.
To validate that the server is running correctly:
python validate_server.py --host 127.0.0.1 --port 6666 --timeout 5
A green checkmark indicates the server is ready for use.
Playground
Once the model server is active, launch the playground environment:
python playground.py
The playground is configured through config/playground.yaml. By default, it:
- Randomly samples 6 objects from the Objaverse dataset
- Randomly samples texture maps from
libero/libero/assets/texturesfor floors and walls - Runs 10 trials with different random seeds
You can customize seeds, object counts, and other parameters in the configuration file.
To calculate success rates after running experiments:
python misc/get_success_rate_per_object.py
Evaluate on LIBERO Benchmark
Once the model server is active, launch the LIBERO benchmark evaluation as shown below. Configuration options are available in config/evaluate_libero_tasks.yaml.
python evaluate_libero_tasks.py
For faster evaluation, run multiple environments in parallel. Adjust the parallel_env_num parameter in config/parallel_eval.yaml to control the number of concurrent environments. We highly recommend add compile flag when starting the model server to speed up the evaluation.
python parallel_eval.py
Citation
If you found this repository useful, please consider to cite the following works:
- Our paper:
@article{deng2025graspvla,
title={GraspVLA: a Grasping Foundation Model Pre-trained on Billion-scale Synthetic Action Data},
author={Shengliang Deng and Mi Yan and Songlin Wei and Haixin Ma and Yuxin Yang and Jiayi Chen and Zhiqi Zhang and Taoyu Yang and Xuheng Zhang and Heming Cui and Zhizheng Zhang and He Wang},
year={2025},
eprint={2505.03233},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2505.03233}
}
- LIBERO benchmark:
@article{liu2023libero,
title={LIBERO: Benchmarking Knowledge Transfer for Lifelong Robot Learning},
author={Liu, Bo and Zhu, Yifeng and Gao, Chongkai and Feng, Yihao and Liu, Qiang and Zhu, Yuke and Stone, Peter},
journal={arXiv preprint arXiv:2306.03310},
year={2023}
}