Uncertainty and Quality metrics specifically designed for VLA models for robotic manipulation tasks
Pablo Valle1, Chengjie Lu2, Shaukat Ali2, Aitor Arrieta1
Mondragon Unibertsitatea1, Simula Research Laboratory2
Our generated testing scenes is provided under data/ in json files. To reproduce our experiment results, one can proceed to the following installation and replication guides. We also provide all the results in the folloing Zenodo Package
Clone this repo:
git clone https://github.com/pablovalle/VLA_UQ.git
Each VLA needs it's own dependencies and libraries, so we opted to generate a virtual environment for each of them. First, follow the following steps that are common for all the environments.
Create an anaconda environment:
conda create -n <env_name> python=3.10 (any version above 3.10 should be fine)
conda activate <env_name>
Install numpy<2.0 (otherwise errors in IK might occur in pinocchio):
pip install numpy==1.24.4
Install ManiSkill2 real-to-sim environments and their dependencies:
cd {this_repo}/ManiSkill2_real2sim
pip install -e .
Install this package:
cd {this_repo}
pip install -e .
sudo apt install ffmpeg
pip install tensorflow==2.15.0
pip install -r requirements_full_install.txt
pip install tensorflow[and-cuda]==2.15.1 # tensorflow gpu support
Install simulated annealing utils for system identification:
pip install git+https://github.com/nathanrooy/simulated-annealing
Install torch dependencies:
pip install torch==2.3.1 torchvision==0.18.1 timm==0.9.10 tokenizers==0.15.2 accelerate==0.32.1
pip install flash-attn==2.6.1 --no-build-isolation
Proceed with specific installation for each model in our evaluation:
Activate the conda environment:
conda activate <env_name>
Install the transformers (v.4.40.1) library in this repo:
cd {this_repo}/transformers-4.40.1
pip install -e .
Download the model:
cd {this_repo}/checkpoints
python download_model.py openvla/openvla-7b
Update the modeling_prismatic.py:
cd {this_repo}/checkpoints
cp modeling_prismatic openvla-7b
Activate the conda environment:
conda activate <env_name>
Install the lerobot environment and its packages:
cd {this_repo}/lerobot
pip install -e .
Install the correct version of numpy, since it was changed:
pip install numpy==1.24.4
Install pytest to avoid possible errors:
pip install pytest
Install the transformers (v.4.48.1) library in this repo:
cd {this_repo}/transformers-4.48.1
pip install -e .
Download the model:
cd {this_repo}/checkpoints
python download_model.py HaomingSong/lerobot-pi0-bridge
python download_model.py HaomingSong/lerobot-pi0-fractal
Activate the conda environment:
conda activate <env_name>
Install spatialVLA's requirements:
pip install -r spatialVLA_requirements
Install the transformers (v.4.48.1) library in this repo:
cd {this_repo}/transformers-4.48.1
pip install -e .
Download the model:
cd {this_repo}/checkpoints
python download_model.py IPEC-COMMUNITY/spatialvla-4b-mix-224-pt
Update the modeling_spatialvla.py:
cd {this_repo}/checkpoints
cp modeling_spatialvla spatialvla-4b
To reproduce experiment results with our same scenes (data/) follow the next steps:
cd experiments
./run_UQ_exp.sh <env_name> <model_name> #available models : openvla-7b, pi0, spatialvla-4b
Inside result_analysis folder we provide all the scripts we used to analyze the results for each of our RQs.
RuntimeError: vk::Instance::enumeratePhysicalDevices: ErrorInitializationFailed
Some required Vulkan extension is not present. You may not use the renderer to render, however, CPU resources will be still available.
Segmentation fault (core dumped)
Follow this link to troubleshoot the issue. (Even though the doc points to SAPIEN 3 and ManiSkill3, the troubleshooting section still applies to the current environments that use SAPIEN 2.2 and ManiSkill2).
TypeError: 'NoneType' object is not subscriptable
Please also refer to the original repo or vulkan_setup if you encounter any problems.
tensorflow-2.15.0 conflicts with tensorflow-2.15.1?
The dlimp library has not been maintained for a long time, so the TensorFlow version might be out of date. A reliable solution is to comment out tensorflow==2.15.0 in the requirements file, install all other dependencies, and then install tensorflow==2.15.0 finally. Currently, using tensorflow==2.15.0 has not caused any problems.
If you found our paper/code useful in your research, please consider citing:
@misc{valle2025evaluatinguncertaintyqualityvisual,
title={Evaluating Uncertainty and Quality of Visual Language Action-enabled Robots},
author={Pablo Valle and Chengjie Lu and Shaukat Ali and Aitor Arrieta},
year={2025},
eprint={2507.17049},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2507.17049},
}
For any related question, please contact Pablo Valle ([email protected]) , Chengjie Lu ([email protected]) , Shaukat Ali ([email protected]) , and Aitor Arrieta ([email protected])
Uncertainty and Quality metrics specifically designed for VLA models for robotic manipulation tasks
Pablo Valle1, Chengjie Lu2, Shaukat Ali2, Aitor Arrieta1
Mondragon Unibertsitatea1, Simula Research Laboratory2
Our generated testing scenes is provided under data/ in json files. To reproduce our experiment results, one can proceed to the following installation and replication guides. We also provide all the results in the folloing Zenodo Package
Clone this repo:
git clone https://github.com/pablovalle/VLA_UQ.git
Each VLA needs it's own dependencies and libraries, so we opted to generate a virtual environment for each of them. First, follow the following steps that are common for all the environments.
Create an anaconda environment:
conda create -n <env_name> python=3.10 (any version above 3.10 should be fine)
conda activate <env_name>
Install numpy<2.0 (otherwise errors in IK might occur in pinocchio):
pip install numpy==1.24.4
Install ManiSkill2 real-to-sim environments and their dependencies:
cd {this_repo}/ManiSkill2_real2sim
pip install -e .
Install this package:
cd {this_repo}
pip install -e .
sudo apt install ffmpeg
pip install tensorflow==2.15.0
pip install -r requirements_full_install.txt
pip install tensorflow[and-cuda]==2.15.1 # tensorflow gpu support
Install simulated annealing utils for system identification:
pip install git+https://github.com/nathanrooy/simulated-annealing
Install torch dependencies:
pip install torch==2.3.1 torchvision==0.18.1 timm==0.9.10 tokenizers==0.15.2 accelerate==0.32.1
pip install flash-attn==2.6.1 --no-build-isolation
Proceed with specific installation for each model in our evaluation:
Activate the conda environment:
conda activate <env_name>
Install the transformers (v.4.40.1) library in this repo:
cd {this_repo}/transformers-4.40.1
pip install -e .
Download the model:
cd {this_repo}/checkpoints
python download_model.py openvla/openvla-7b
Update the modeling_prismatic.py:
cd {this_repo}/checkpoints
cp modeling_prismatic openvla-7b
Activate the conda environment:
conda activate <env_name>
Install the lerobot environment and its packages:
cd {this_repo}/lerobot
pip install -e .
Install the correct version of numpy, since it was changed:
pip install numpy==1.24.4
Install pytest to avoid possible errors:
pip install pytest
Install the transformers (v.4.48.1) library in this repo:
cd {this_repo}/transformers-4.48.1
pip install -e .
Download the model:
cd {this_repo}/checkpoints
python download_model.py HaomingSong/lerobot-pi0-bridge
python download_model.py HaomingSong/lerobot-pi0-fractal
Activate the conda environment:
conda activate <env_name>
Install spatialVLA's requirements:
pip install -r spatialVLA_requirements
Install the transformers (v.4.48.1) library in this repo:
cd {this_repo}/transformers-4.48.1
pip install -e .
Download the model:
cd {this_repo}/checkpoints
python download_model.py IPEC-COMMUNITY/spatialvla-4b-mix-224-pt
Update the modeling_spatialvla.py:
cd {this_repo}/checkpoints
cp modeling_spatialvla spatialvla-4b
To reproduce experiment results with our same scenes (data/) follow the next steps:
cd experiments
./run_UQ_exp.sh <env_name> <model_name> #available models : openvla-7b, pi0, spatialvla-4b
Inside result_analysis folder we provide all the scripts we used to analyze the results for each of our RQs.
RuntimeError: vk::Instance::enumeratePhysicalDevices: ErrorInitializationFailed
Some required Vulkan extension is not present. You may not use the renderer to render, however, CPU resources will be still available.
Segmentation fault (core dumped)
Follow this link to troubleshoot the issue. (Even though the doc points to SAPIEN 3 and ManiSkill3, the troubleshooting section still applies to the current environments that use SAPIEN 2.2 and ManiSkill2).
TypeError: 'NoneType' object is not subscriptable
Please also refer to the original repo or vulkan_setup if you encounter any problems.
tensorflow-2.15.0 conflicts with tensorflow-2.15.1?
The dlimp library has not been maintained for a long time, so the TensorFlow version might be out of date. A reliable solution is to comment out tensorflow==2.15.0 in the requirements file, install all other dependencies, and then install tensorflow==2.15.0 finally. Currently, using tensorflow==2.15.0 has not caused any problems.
If you found our paper/code useful in your research, please consider citing:
@misc{valle2025evaluatinguncertaintyqualityvisual,
title={Evaluating Uncertainty and Quality of Visual Language Action-enabled Robots},
author={Pablo Valle and Chengjie Lu and Shaukat Ali and Aitor Arrieta},
year={2025},
eprint={2507.17049},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2507.17049},
}
For any related question, please contact Pablo Valle ([email protected]) , Chengjie Lu ([email protected]) , Shaukat Ali ([email protected]) , and Aitor Arrieta ([email protected])