Software
HoST (Humanoid Standing-up Control)
By Intern Robotics, from github.com/InternRobotics/HoST (opens in a new tab)
- Humanoids and robot learning
- Framework
- MIT
PyTorch code for training humanoid robots to stand up from diverse postures, using reinforcement learning in simulation. It targets the Unitree G1 and H1 and was presented at RSS 2025.
- Closed core. It needs closed parts: NVIDIA Isaac Gym.
- Stale. No commit in 12 months: the newest is from 17 Jun 2025.
Facts
- GitHub stars
- 644read on 6 Nov 2026
- Last update
- 17 Jun 2025Newest commit on main
- Maintenance
- Staleno commit in 12 months
- Difficulty
- Advanced
- Hardware it needs, as the project states it
- Deployment targets a Unitree G1 or H1-2 robot.
Checked on GitHub on 6 Nov 2026.
Licenses
- Code
- MIT (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (MIT) at commit 70bb580 (opens in a new tab), on 4 Nov 2026.
- Commercial use
- Unknown
It needs closed parts under their own terms: read them before any commercial use.
One part it needs is closed
- Needs NVIDIA Isaac Gym: Training runs in Isaac Gym, a closed NVIDIA download (README).
Overview
What it does: Robotheca's summary
- Trains standing-up policies for the Unitree G1 across ground, platform, slope and wall terrains.
- Supports training from prone postures, and the learned policies can also handle side-lying postures.
- Includes scripts to evaluate success rate, feet movement distance, motion smoothness and consumed energy.
- Provides tools to visualize produced motion and plot 3D trajectories of keyframes.
- Gives guidance for adapting the approach to other humanoids, such as Unitree H1, H1-2 and High Torque Mini Pi.
- Offers tips for hardware deployment, such as higher knee and hip stiffness and a higher action rescaler.
Written by Robotheca from the project's README (opens in a new tab) at commit 70bb580, not by its creator.
The README
The creator's own README, copied as written: README.md by Intern Robotics, at commit 70bb580, under MIT (opens in a new tab). The original on GitHub (opens in a new tab).
Read the README here
HoST: Humanoid Standing-up Control
(opens in a new tab) (opens in a new tab) (opens in a new tab) (opens in a new tab) (opens in a new tab)
This is the official PyTorch implementation of the RSS conference paper "Learning Humanoid Standing-up Control across Diverse Postures (opens in a new tab)" by
Tao Huang (opens in a new tab), Junli Ren (opens in a new tab), Huayi Wang (opens in a new tab), Zirui Wang (opens in a new tab), Qingwei Ben (opens in a new tab), Muning Wen (opens in a new tab), Xiao Chen (opens in a new tab), Jianan Li (opens in a new tab), Jiangmiao Pang (opens in a new tab)

๐ Table of Contents
- ๐ฅ News
- ๐ TODO List
- ๐ ๏ธ Installation Instructions
- ๐ค Run HoST on Unitree G1
- ๐งญ Extend HoST to Other Humanoid Robots
- โ๏ธ Contact
- ๐ท๏ธ License
- ๐ Acknowledgments
- ๐ Citation
๐ฅ News
- [2025-06] HoST is selected as a Best Systems Paper Finalist at RSS 2025!
- [2025-05] DroidUp (opens in a new tab) is now supported by HoST! Code is coming soon.

- [2025-05] High Torque Mini Pi (opens in a new tab) is now supported by HoST! Code is available.
<span style="font-size: 0.9em;">IsaacGym</span>
</td>
<td align="center" style="width: 24%; padding: 2px;">

<span style="font-size: 0.9em;">Supine</span>
</td>
<td align="center" style="width: 24%; padding: 2px;">

<span style="font-size: 0.9em;">Prone</span>
</td>
<td align="center" style="width: 24%; padding: 2px;">

<span style="font-size: 0.9em;">Side</span>
</td>
</tr>
- [2025-04] We release traning code, evaluation scripts, and visualization tools.
- [2025-04] HoST was accepted to RSS 2025!
- [2025-02] We release the paper (opens in a new tab) and demos (opens in a new tab) of HoST.
๐ TODO List
- Training code of Unitree G1 across prone postures.
- Training code of Unitree H1.
- Joint training of supine and prone postures.
- Joint training over all terrains.
๐ ๏ธ Installation Instructions
Clone this repository:
git clone https://github.com/OpenRobotLab/HoST.git
cd HoST
Create a conda environment:
conda env create -f conda_env.yml
conda activate host
Install pytorch 1.10 with cuda-11.3:
pip3 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio==0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
Download and install Isaac Gym (opens in a new tab):
cd isaacgym/python && pip install -e .
Install rsl_rl (PPO implementation) and legged gym:
cd rsl_rl && pip install -e . && cd ..
cd legged_gym && pip install -e . && cd ..
Erorr Catching
Regarding potential installation errors, please refer to this document (opens in a new tab) for solutions.
๐ค Run HoST on Unitree G1
Overview of Main Simulation Motions
<span style="font-size: 0.9em;">Ground</span>
</td>
<td align="center" style="width: 24%; padding: 2px;">

<span style="font-size: 0.9em;">Platform</span>
</td>
<td align="center" style="width: 24%; padding: 2px;">

<span style="font-size: 0.9em;">Wall</span>
</td>
<td align="center" style="width: 24%; padding: 2px;">

<span style="font-size: 0.9em;">Slope</span>
</td>
</tr>
Policy Training
Train standing-up policies over different terrains:
python legged_gym/scripts/train.py --task g1_${terrain} --run_name test_g1 # [ground, platform, slope, wall]
After training, you may play the resulted checkpoints:
python legged_gym/scripts/play.py --task g1_${terrain} --checkpoint_path ${/path/to/ckpt.pt} # [ground, platform, slope, wall]
Policy Evaluation
We also provide the evaluation scripts to record success rate, feet movement distance, motion smoothness, and consumed energy:
python legged_gym/scripts/eval/eval_${terrain}.py --task g1_${terrain} --checkpoint_path ${/path/to/ckpt.pt} # [ground, platform, slope, wall]
Domain randomization is applied during the evaluation to make the results more generalizable.
Motion Visualization

First, run the following command to collect produced motion:
python legged_gym/scripts/visualization/motion_collection.py --task g1_${terrain} --checkpoint_path ${/path/to/ckpt.pt} # [ground, platform, slope, wall]
Second, plot the 3D trajectories of motion keyframes:
python legged_gym/scripts/visualization/trajectory_hands_feet.py --terrain ${terrain} # [ground, platform, slope, wall]
python legged_gym/scripts/visualization/trajectory_head_pelvis.py --terrain ${terrain} # [ground, platform, slope, wall]
Train from Prone Postures
<span style="font-size: 0.9em;">Left-side Lying</span>
</td>
<td align="center" style="width: 33%; padding: 3px;">

<span style="font-size: 0.9em;">Prone</span>
</td>
<td align="center" style="width: 33%; padding: 3px;">

<span style="font-size: 0.9em;">Right-side Lying</span>
</td>
</tr>
We also support the training from prone postures:
python legged_gym/scripts/train.py --task g1_ground_prone --run_name test_g1_ground_prone
The learned policies can also handle side-lying postures. However, when training from posture postures, harder constraints on hip joints and are necessary to prevent violent motions. This issue make the feasibility of joint training from prone and supine postures unclear currently. Address it would be valuable in the future.
๐งญ Extend HoST to Other Humanoid Robots: Tips
Lessons Learned from Unitree H1 and H1-2

To try other robots, these steps should be followed to work the algorithm:
- Add keyframes in urdf (opens in a new tab): It is suggested to add the same keyframes (including keypoints around ankles) as ours to strengthen the compatibility with new robots. These keyframes are designed for reward computation.
- Pulling force (opens in a new tab): ~60% gravity of the robot. Note that we have two torso link (one real, one virtual) in G1's urdf, so the force will be multiplied by 2 during training. Besides, you may modify the condition of applying force, e.g., remove the base orientation condition.
- Height for curriculum (opens in a new tab): ~70% height of the robot.
- Height for stage division (opens in a new tab): ~35% height of the robot for stage 1 and 2, and ~70% height of the robot for stage 3.
- Height for reward (opens in a new tab): ~75% for target_head_height. Regarding the target base height (opens in a new tab) after success a standing up, it depends on your preference.
- Joint deviation rewards (opens in a new tab): You can adjust the style reward functions, particularly the joint deviation penalties, to better constrain the motion style. Lightweight robots typically require narrower desired joint angle ranges, as they are more prone to reaching extreme joint angles.
- Reward group weights (opens in a new tab): For instance, improving the weight of style rewards may priotirize the optimization on the motion. This is helpful on learning H1-2 or across prone postures.
- Misc (opens in a new tab): You should also modify the default/target postures, PD controllers, observation/action spaces, body names, and etc.
As an example, we provied the training code of Unitree H1 and High Torque Mini Pi (opens in a new tab) over the ground:
python legged_gym/scripts/train.py --task h1_ground --run_name test_h1_ground
python legged_gym/scripts/train.py --task pi_ground --run_name test_minipi_ground
Potential Tips for Hardware Deployment

We found some useful tips for working G1 and H1-2 hardware systems:
- High stiffness for knee and hip joints: We found that improving the kp coefficients of these joints to 1.33x~1.5x of the simulation ones significantly helps. We posit that this is caused by the sim-to-real gap between the joint torques. See more analysis in the paper (opens in a new tab).
- High action rescaler: While default action rescaler (0.25) already produces good motions, we found that a slight improvement of this coefficient (0.3) can mitigate jerky motions noticeably.
- Check collision models: We found that using full meshes as the collision models for ankles will cause huge sim-to-real gap. To solve this issue, we use discrete points to approximate the collision, following the official code of Unitree (opens in a new tab). That being said, it is highly suggested to be more careful about collision models.
โ๏ธ Contact
For any questions, please feel free to email taou.cs13@gmail.com (opens in a new tab). We will respond to it as soon as possible.
๐ท๏ธ License
This repository is released under the MIT license. See LICENSE (opens in a new tab) for additional details.
๐ Acknowledgments
This repository is built upon the support and contributions of the following open-source projects. Special thanks to:
- legged_gym (opens in a new tab) and HIMLoco (opens in a new tab): The foundation for training and running codes.
- rsl_rl (opens in a new tab): Reinforcement learning algorithm implementation.
- walk these ways (opens in a new tab): Hardware code backbone.
- unitree_sdk2_python (opens in a new tab): Hardware communication interface.
- HoST-pytorch (opens in a new tab): We thank Phil Wang (opens in a new tab) for reproducing our codebase and point out some typos in the paper.
๐ Citation
If you find our work useful, please consider citing:
@article{huang2025learning,
title={Learning Humanoid Standing-up Control across Diverse Postures},
author={Huang, Tao and Ren, Junli and Wang, Huayi and Wang, Zirui and Ben, Qingwei and Wen, Muning and Chen, Xiao and Li, Jianan and Pang, Jiangmiao},
journal={arXiv preprint arXiv:2502.08378},
year={2025}
}
Files and versions
- Repository on GitHubgithub.com/InternRobotics/HoST (opens in a new tab)
- The version Robotheca read70bb580 (opens in a new tab)
- Latest releaseNone published on GitHub
Robotheca never hosts the code: each link goes to the creator's own page.
Use it
How to install it, in the creator's words: The project's website (opens in a new tab)
Robotheca doesn't review code. Read it before running it.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.