How h-embodvis/turbovla works
TurboVLA is a vision-language-action model and benchmark workflow for training compact robot-manipulation policies and evaluating them on LIBERO and RoboTwin. The main path is benchmark data through dataset preparation and training into a shared vision-language-action model, then policy adaptation and simulator rollouts. The graph retains the distinct LIBERO and RoboTwin evaluation routes and the model’s encoder, fusion, and action-prediction layers. Some wiring is based on README descriptions because several entrypoints and model components were not sampled.
Main entry points: turbovla.py TurboVLA model · policy.py LIBERO policy · model2robotwin_interface.py Robot policy interface · trainer.py Training loop
Components 26
Data preparation
- LIBERO RLDS data
- RoboTwin datasets
- LIBERO loader
turbovla/data/libero_rlds.py - Mixed-suite loader
turbovla/data/mixed_suite.py - Suite statistics
turbovla/data/suite_stats.py - RoboTwin data config
experiments/robotwin/data_registry/data_config.py
TurboVLA model
- Model configuration
turbovla/models/configuration.py - Text encoder
turbovla/models/text_encoder.py - Vision encoder
turbovla/models/vision_encoder.py - Vision-language fusion
turbovla/models/components/fusion.py - TurboVLA model
turbovla/models/turbovla.py - Action head
turbovla/models/action_head.py
Training
- LIBERO training entry
experiments/libero/train.py - RoboTwin training entry
experiments/robotwin/train.py - Mixed training setup
turbovla/training/train_mixed.py - Training loop
turbovla/training/trainer.py
LIBERO evaluation
- LIBERO evaluation
experiments/libero/evaluate.py - LIBERO policy
turbovla/evaluation/policy.py - Suite policy adapter
turbovla/evaluation/suite_policy.py
RoboTwin evaluation
- RoboTwin evaluation
experiments/robotwin/evaluate.py - Robot policy interface
experiments/robotwin/evaluation/model2robotwin_interface.py
Other components
- LIBERO user
- RoboTwin user
- LIBERO simulator
- Websocket policy service
- RoboTwin simulator
Connections 27
- LIBERO RLDS data → LIBERO loader: loads episodes
- LIBERO loader → Mixed-suite loader: extends loader
- Suite statistics → Mixed-suite loader: normalizes samples
- RoboTwin datasets → RoboTwin data config: configures datasets
- LIBERO user → LIBERO training entry: starts training
- RoboTwin user → RoboTwin training entry: starts training
- LIBERO training entry → Mixed training setup: configures run
- RoboTwin training entry → Training loop: starts training
- Mixed training setup → Training loop: starts training
- Mixed-suite loader → Training loop: provides batches
- Training loop → TurboVLA model: optimizes
- Model configuration → TurboVLA model: configures
- TurboVLA model → Text encoder: encodes instructions
- TurboVLA model → Vision encoder: encodes images
- TurboVLA model → Vision-language fusion: fuses features
- TurboVLA model → Action head: predicts chunks
- LIBERO user → LIBERO evaluation: starts evaluation
- LIBERO evaluation → Suite policy adapter: runs policy
- Suite policy adapter → LIBERO policy: extends policy
- LIBERO policy → TurboVLA model: infers actions
- LIBERO simulator → LIBERO policy: sends observations
- LIBERO policy → LIBERO simulator: returns actions
- RoboTwin user → RoboTwin evaluation: starts evaluation
- RoboTwin evaluation → Robot policy interface: launches rollout
- Robot policy interface → Websocket policy service: requests actions
- RoboTwin simulator → Robot policy interface: sends observations
- Robot policy interface → RoboTwin simulator: returns actions