| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Huayi Wang*,
Wentao Zhang*,
Runyi Yu*,
Tao Huang,
Junli Ren,
Feiyu Jia,
Zirui Wang,
Xiaojie Niu,
Xiao Chen,
Jiahe Chen,
Qifeng Chen†,
Jingbo Wang†,
Jiangmiao Pang†
*Equal Contributions †Corresponding Authors
conda create -n physhsi python=3.8
conda activate physhsi
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu118cd isaacgym/python && pip install -e .git clone https://github.com/InternRobotics/PhysHSI.git
cd PhysHSIcd rsl_rl && pip install -e .
cd ../legged_gym && pip install -e .cd .. && pip install -r requirements.txtPhysHSI supports six tasks for the Unitree G1 humanoid robot: CarryBox, SitDown, LieDown, StandUp, StyleLoco-Dinosaur, and StyleLoco-Highknee.
Reference motion data for each task can be found in the motion data folder. To visualize reference motion data, run:
cd legged_gym
python legged_gym/scripts/play.py --task [task_name] --play_datasetHere, [task_name] can be one of [carrybox, liedown, sitdown, standup, styleloco_dinosaur, styleloco_highknee].
Pre-trained checkpoints for each task are available in the checkpoint folder. To play a task using a checkpoint, run:
python legged_gym/scripts/play.py --task [task_name] --resume_path resources/ckpt/[task_name].ptFor example, to play the CarryBox task:
python legged_gym/scripts/play.py --task carrybox --resume_path resources/ckpt/carrybox.pt⚠️ Note:
During the first 1–2 episodes of play.py, you may observe slight interpenetration between the robot, the object, or the platform.
This issue only occurs in the initial episodes and does not affect training or subsequent performance.
CarryBox is a challenging long-horizon task. We train it in two steps:
Initial training: Use a relatively small AMP coefficient and relaxed termination conditions for easier learning. Run approximately 20k steps:
python legged_gym/scripts/train.py --task carrybox --headless Refined training: To better align with the data, manually increase the AMP coefficient and continue training for about 30~40k steps:
python legged_gym/scripts/train.py --task carrybox_resume --resume --resume_path [ckpt_path] --headlessHere, [ckpt_path] refers to the checkpoint from the first 20k-step training stage.
To play the final trained checkpoint:
python legged_gym/scripts/play.py --task carrybox --resume_path [ckpt_path]For the remaining five tasks, you can directly train them using:
python legged_gym/scripts/train.py --task [task_name] --headlessHere, [task_name] can be one of [liedown, sitdown, standup, styleloco_dinosaur, styleloco_highknee].
To play the final trained checkpoint for any task:
python legged_gym/scripts/play.py --task [task_name] --resume_path [ckpt_path]By default, PhysHSI uses TensorBoard for logging training metrics.
If you prefer to use Weights & Biases (wandb), please enable it in the corresponding [task_name]_config.py file and set the appropriate wandb_entity for your account.
This repository is built upon the support and contributions of the following open-source projects. Special thanks to:
If you find our work helpful, please cite:
@article{wang2025physhsi,
title = {PhysHSI: Towards a Real-World Generalizable and Natural Humanoid-Scene Interaction System},
author = {Wang, Huayi and Zhang, Wentao and Yu, Runyi and Huang, Tao and Ren, Junli and Jia, Feiyu and Wang, Zirui and Niu, Xiaojie and Chen, Xiao and Chen, Jiahe and Chen, Qifeng and Wang, Jingbo and Pang, Jiangmiao},
journal = {arXiv preprint arXiv:2510.11072},
year = {2025},
}The PhysHSI code is licensed under the CC BY-NC-SA 4.0 International License .
Commercial use is not allowed without explicit authorization.
| Back | FazBrowse Home | New Git URL |