This project extends the original Human2Humanoid framework and adds full training support for the Unitree G1 humanoid robot (21 DoF).
This document provides a complete guide for environment setup, dataset preparation, and training both teacher and student policies.
This project is part of the FRoM-W1: Towards General Humanoid Whole-Body Control with Language Instructions project. If you find this work useful, please cite H2O/OmniH2O and this work in the following way:
H2O and OmniH2O Bibtex
@inproceedings{he2024learning,
title={Learning human-to-humanoid real-time whole-body teleoperation},
author={He, Tairan and Luo, Zhengyi and Xiao, Wenli and Zhang, Chong and Kitani, Kris and Liu, Changliu and Shi, Guanya},
journal={arXiv preprint arXiv:2403.04436},
year={2024}
}
@inproceedings{he2024omnih2o,
title={OmniH2O: Universal and Dexterous Human-to-Humanoid Whole-Body Teleoperation and Learning},
author={He, Tairan and Luo, Zhengyi and He, Xialin and Xiao, Wenli and Zhang, Chong and Zhang, Weinan and Kitani, Kris and Liu, Changliu and Shi, Guanya},
journal={arXiv preprint arXiv:2406.08858},
year={2024}
}FRoM-W1 Bibtex
@article{DBLP:journals/corr/abs-2601-12799,
author = {Peng Li and
Zihan Zhuang and
Yangfan Gao and
Yi Dong and
Sixian Li and
Changhao Jiang and
Shihan Dou and
Zhiheng Xi and
Enyu Zhou and
Jixuan Huang and
Hui Li and
Jingjing Gong and
Xingjun Ma and
Tao Gui and
Zuxuan Wu and
Qi Zhang and
Xuanjing Huang and
Yu{-}Gang Jiang and
Xipeng Qiu},
title = {FRoM-W1: Towards General Humanoid Whole-Body Control with Language
Instructions},
journal = {CoRR},
volume = {abs/2601.12799},
year = {2026},
url = {https://doi.org/10.48550/arXiv.2601.12799},
doi = {10.48550/ARXIV.2601.12799},
eprinttype = {arXiv},
eprint = {2601.12799},
timestamp = {Tue, 24 Mar 2026 08:45:06 +0100},
biburl = {https://dblp.org/rec/journals/corr/abs-2601-12799.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}-
Create a virtual environment and install PyTorch:
conda create -n omnih2o python=3.8 conda activate omnih2o pip3 install torch torchvision torchaudio
-
Install Isaac Gym: Download from: https://developer.nvidia.com/isaac-gym
Extract the package and install it via pip:
cd isaacgym/python && pip install -e .
-
Install
phc,legged_gym,rsl_rl, and other dependencies:pip install -r requirements.txt
We use data from the AMASS dataset (https://amass.is.tue.mpg.de).
We also provide preprocessed training datasets for Unitree G1 and Unitree H1 (TODO: Add download links).
After downloading the dataset, rename it to: motion_data.pkl and place it under:legged_gym/resources/motions/(g1 | h1).
For example:
- For training the H1 teacher model, place it in
legged_gym/resources/motions/h1 - For training the G1 teacher model, place it in
legged_gym/resources/motions/g1
Use the following command to start training the teacher policy:
python legged_gym/scripts/train_hydra.py --config-path="../cfg/{robot_config_name}"Here, {robot_config_name} refers to the configuration folder for your robot.
For example, to train the teacher policy for H1:
python legged_gym/scripts/train_hydra.py --config-path="../cfg/cfg_h1"For playing, run:
python legged_gym/scripts/train_hydra.py --config-path="../cfg/cfg_h1" --config-name=config_playBefore training a student policy, update the following fields in: legged_gym/legged_gym/cfg/{robot_config_name}/cfg_sim2real.yaml. Modify these entries to match the teacher model's training run:
load_run_daggercheckpoint_dagger
After updating the configuration, start training the student model:
python legged_gym/scripts/train_hydra.py --config-path="../cfg/{robot_config_name}" --config-name=config_sim2realFor playing, run:
python legged_gym/scripts/train_hydra.py --config-path="../cfg/cfg_h1" --config-name=config_play_student