Skip to content

humanoidintelligence/human2humanoid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Human2Humanoid Training (Unitree H1 and G1)

Introduction

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}
}

Environment Setup

  1. Create a virtual environment and install PyTorch:

    conda create -n omnih2o python=3.8
    conda activate omnih2o
    pip3 install torch torchvision torchaudio
  2. 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 .
  3. Install phc, legged_gym, rsl_rl, and other dependencies:

    pip install -r requirements.txt

Preparing Training Data

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

Training the Teacher Policy

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_play

Training the Student Policy

Before 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_dagger
  • checkpoint_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_sim2real

For playing, run:

python legged_gym/scripts/train_hydra.py --config-path="../cfg/cfg_h1" --config-name=config_play_student

About

Human2Humanoid Training, Supporting Unitree H1 and G1

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages