Noriaki Hirose1, 2, Catherine Glossop1, Dhruv Shah3, Sergey Levine1
1 UC Berkeley (Berkeley AI Research), 2 Toyota Motor North America, , 3 Princeton University
Please set up a conda environment (see instructions in SETUP.md).
- Download our checkpoints and place them in our directory.
git clone https://huggingface.co/NHirose/AsyncVLA_release - Run AsyncVLA using sample current images and 2D goal pose. You can view the generated trajectories in the output figure visualization_asyncvla.jpg. (Run BaseVLA and Edge adapter in same PC)
python inference/run_asyncvla.py - Run AsyncVLA to control the real robot. We split the AsyncVLA into the base VLA and the edge adapter. Then we run the base VLA in the remote workstation and run the edge adapter in the robot edge controller with ROS1. Details are shown in the paper appendix.
We provide training code that supports multiple public datasets. Before following the full training process, please first ensure that you can run the example training with the sample dataloader.
-
Downloading all datasets from the original website. (GNM, LeLaN, SACSoN(HuRoN)) Please verify that the downloaded datasets work properly in their original codebase.
-
Downloading the lerobot code base for the Frodobots dataset dataloader:
git clone https://github.com/huggingface/lerobot.git -
Edit the data path in config_nav/dataset_config.yaml:
In our training setup, we use 5 Nvidia H200 GPUs (140 GB each) across 5 nodes. The batch sizes are configured as [LeLaN, GNM, SACSoN] = [6, 6, 6], with gradient accumulation set to 2 steps.
We provide the training code along with a sample dataloader to help you quickly understand the required data loading structure. Since preparing the full training dataset is resource-intensive, we include this simplified code base for convenience.
-
Downloading MBRA project code base:
git clone https://github.com/NHirose/Learning-to-Drive-Anywhere-with-MBRA.git -
You can set the training mode at line 10 and 11 in vla-scripts/train_asyncvla.py.
-
You can configure visualization at line 12 in vla-scripts/train_asyncvla.py. During training, it should be set to False.
-
Training our policy from AsyncVLA checkpoints (Please fill X):
torchrun --standalone --nnodes 1 --nproc-per-node X vla-scripts/train_asyncvla.py --vla_path ./AsyncVLA_release --dataset_name asyncvla --wandb_entity "X" --wandb_project "asyncvla" --grad_accumulation_steps X
We implement our ideas and design choices on top of the pretrained checkpoints. Our work builds upon the OpenVLA-OFT, OmniVLA and ViNT codebases, with additional code added to create AsyncVLA. As such, our implementation leverages many components of these codebases. We sincerely appreciate the effort and contributions of the OpenVLA-OFT, OmniVLA and ViNT team!
@misc{hirose2026asyncvla,
title={AsyncVLA: An Asynchronous VLA for Fast and Robust Navigation on the Edge},
author={Noriaki Hirose and Catherine Glossop and Dhruv Shah and Sergey Levine},
year={2026},
eprint={2602.13476},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2602.13476},
}