Project page · Paper · Video · Datasets
Generate procedural kitchens, compose mobile-manipulation tasks from reusable skills, and build robot-action and grounded visual-question-answering datasets. This is the research code behind SimVLA's zero-shot sim-to-real mobile-manipulation work.
Full step-by-step instructions live in docs/installation.md. The hash-locked kitchen, Anubis, RB-Y1, and AI Worker assets are available as a separate SimVLA-assets download. For an existing research checkout, the verified staging recipe validates and links the source trees without duplicating the large asset corpus.
python -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[scenes]'
simvla demo --output-dir outputs/quickstartGenerate one of five procedural layouts on a CPU:
simvla scene --layout l_shaped --seed 1 --output outputs/kitchen.glbFor USD generation with Isaac Sim, see Kitchen Scene Generation.
Build task JSON from registered skill APIs, validate it, and bind it to a kitchen:
simvla skills
simvla init-task --from bowl_to_drawer --name my_task --output outputs/my_task.json
simvla validate outputs/my_task.jsonSee task authoring and Goal Generation, including instructions for adding skills and using AI Worker.
Fit robot stiffness and damping against a real recording.
See Hybrid System Identification.
Collect synchronized robot actions and multi-view observations in IsaacLab.
See SimAction Generation.
Convert captured RGB and segmentation observations into grounded questions and answers:
simvla vqa examples/vqa --output outputs/questions.jsonlSee SimVQA Generation.
The paper uses SimAction and SimVQA pre-training followed by SimAction and SimDeploy post-training. The training recipe and checkpoint are not included in this repository. See the reproducibility map.
SimDeploy generates deployment-oriented simulator data for post-training. Its public training adapter and checkpoint are not included. See Training and SimDeploy.
Run a physics and camera smoke test before evaluation:
KITCHEN_NUMBER=99001 # choose a kitchen excluded from training
SUB_NUMBER=00 # one of its generated variants
simvla run smoke --repo-root . -- \
--task "Isaac-Kitchen-v${KITCHEN_NUMBER}-${SUB_NUMBER}" --seed 0 --headlessTask IDs follow Isaac-Kitchen-v<kitchen_number>-<sub_number>. For zero-shot evaluation, choose a kitchen number excluded from training. See Evaluate in IsaacLab.
If you use SimVLA in your research, please cite:
@misc{baik2026simvla,
title={SimVLA: Zero-Shot Sim-to-Real VLA Learning for Mobile Manipulation},
author={Kyoungin Baik and Youngwoon Lee},
year={2026},
eprint={2610.11248},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2610.11248},
}See LICENSE.
See CONTRIBUTING.md.




