Skip to content

OpenHelix: An Open-source Dual-System VLA Model for Robotic Manipulation

License

Notifications You must be signed in to change notification settings

OpenHelix-robot/OpenHelix

Repository files navigation

License arXiv Python PyTorch Stars

🚀 OpenHelix: An Open-source Dual-System VLA Model for Robotic Manipulation

OpenHelix Team: Can Cui*, Pengxiang Ding*, Wenxuan Song, Shuanghao Bai, Xinyang Tong, Zirui Ge, Runze Suo and others.

This is our re-implementation of Helix.

We will provide long-term maintenance for this repository.

If you have any questions, please contact us via email!


🗞️ News

  • [2025/04] Initial release of OpenHelix codebase! 🎉
  • [2025/05] We released our paper on arXiv. 📄

📌 TODO list

  • Release checkpoints for reproduction (Scheduled Release Date: Mid-May, 2025)
  • Update the model until all effects on the robotic arm are satisfied. (Long-term maintenance)
  • Deploying on real robots.
  • Deploying on humanoid robots.
  • Realizing collaboration between humanoid robots.

🛠️ Installation

Create a conda environment with the following commands:

# Initiate conda env
conda update conda
conda create -n openhelix python=3.8 -y
conda activate openhelix

# Install CALVIN locally
git clone --recurse-submodules https://github.com/mees/calvin.git
export CALVIN_ROOT=$(pwd)/calvin
cd calvin
cd calvin_env; git checkout main
cd ..
pip install setuptools==57.5.0
./install.sh; cd ..

# Clone OpenHelix repo and install
git clone git@github.com:OpenHelix-robot/OpenHelix.git
cd OpenHelix
pip install -e .

# Install diffuser
pip install diffusers["torch"]

# Install DGL (https://www.dgl.ai/pages/start.html)
pip install  dgl -f https://data.dgl.ai/wheels/torch-2.2/cu118/repo.html

# Install FlashAttention (https://github.com/Dao-AILab/flash-attention#installation-and-features)
pip install packaging
pip install ninja
pip install flash-attn==2.5.9.post1 --no-build-isolation

📦 Data Preparation

Prepare data on CALVIN

  • Download the play demonstrations from Calvin repo.
> cd calvin/dataset
> sh download_data.sh ABC
  • Package the demonstrations for training
> python data_preprocessing/package_calvin.py --split training
> python data_preprocessing/package_calvin.py --split validation

Expected directory layout

./calvin/dataset/task_ABC_D
                     |------- training/
                     |------- validation/

./data/calvin/packaged_ABC_D
                     |------- training/
                     |            |------- A+0/
                     |            |          |------- ann_1.dat
                     |            |          |------- ...
                     |            |
                     |            |------- B+0/
                     |            |------- C+0/
                     |
                     |------- validation/
                                  |------- D+0/

🗂️ (Optional) Encode Language Instructions

We provide scripts for encoding language instructions with a CLIP Text Encoder on CALVIN.
Alternatively, you can directly download pre-encoded instructions from here.

# Encode validation instructions
python data_preprocessing/preprocess_calvin_instructions.py \
  --output instructions/calvin_task_ABC_D/validation.pkl \
  --model_max_length 16 \
  --annotation_path ./calvin/dataset/task_ABC_D/validation/lang_annotations/auto_lang_ann.npy

# Encode training instructions
python data_preprocessing/preprocess_calvin_instructions.py \
  --output instructions/calvin_task_ABC_D/training.pkl \
  --model_max_length 16 \
  --annotation_path ./calvin/dataset/task_ABC_D/training/lang_annotations/auto_lang_ann.npy

🎮 Getting Started

Train Openhelix on CALVIN:

> bash scripts/train_trajectory_lcb_pt_act_simple.sh

To evaluate pre-trained weights:

  • First, download the weights and place them under train_logs/.
  • Next, you can run the provided evaluation script.
> bash scripts/test_trajectory_lcb_pt_act_simple_asy10.sh

📚 Citation

If you find this code useful for your research, please consider citing our paper.

@article{cui2025openhelix,
  title={OpenHelix: A Short Survey, Empirical Analysis, and Open-Source Dual-System VLA Model for Robotic Manipulation},
  author={Cui, Can and Ding, Pengxiang and Song, Wenxuan and Bai, Shuanghao and Tong, Xinyang and Ge, Zirui and Suo, Runze and Zhou, Wanqi and Liu, Yang and Jia, Bofang and others},
  journal={arXiv preprint arXiv:2505.03912},
  year={2025}
}

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.


🙏 Acknowledgement

Parts of this codebase are adapted from:

About

OpenHelix: An Open-source Dual-System VLA Model for Robotic Manipulation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •