Repository files navigation


KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills

Weiji Xie* 1,2, Jinrui Han* 1,2, Jiakun Zheng* 1,3, Huanyu Li1,4, Xinzhe Liu1,5, Jiyuan Shi1, Weinan Zhang2, Chenjia Bai†1, Xuelong Li1
* Equal Contribution † Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology 4Harbin Institute of Technology 5ShanghaiTech University

arXiv


KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control

Jinrui Han 1,2, Weiji Xie 1,2, Jiakun Zheng 1,3, Jiyuan Shi1, Weinan Zhang2, Ting Xiao2, Chenjia Bai†1,
† Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology

arXiv

Demo

demo

News

  • [2025-10] Release support for general motion tracking.
  • [2025-09] KungfuBot is accepted by NeurIPS 2025!
  • [2025-06] We release the code and paper for PBHC.

Contents

About

overview

This is the official implementation of the paper KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills, supporting general motion tracking of the paper KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control.

Our paper introduces a physics-based control framework that enables humanoid robots to learn and reproduce challenging motions through multi-stage motion processing and adaptive policy training.

This repository includes:

  • Motion processing pipeline
    • Collect human motion from various sources (video, LAFAN, AMASS, etc.) to a unified SMPL format (motion_source/)
    • Filter, correct and retarget human motion to the robot (smpl_retarget/)
    • Visualize and analyze the processed motions (smpl_vis/, robot_motion_process/)
  • RL-based motion imitation framework (humanoidverse/)
    • Train the policy in IsaacGym
    • Deploy trained policies in MuJoCo for sim2sim verification. The framework is designed for easy extension--custom policies and real-world deployment modules can be plugged in with minimal effort
  • Example data (example/)
    • Sample motion data in our experiments (example/motion_data/, you can visualize the motion data with tools in robot_motion_process/)
    • A pretrained policy checkpoint (example/pretrained_hors_stance_pose/)

Usage

  • Refer to INSTALL.md for environment setup and installation instructions.

  • Each module folder (e.g., humanoidverse, smpl_retarget) contains a dedicated README.md explaining its purpose and usage.

  • How to let your robot perform a new motion?

    • Collect the motion data from the source and process the motion data to the SMPL format (motion_source/).
    • Retarget the motion data to the robot (smpl_retarget/, choose Mink or PHC pipeline as you like).
    • Visualize the processed motion to check whether the motion quality is satisfiable (smpl_vis/, robot_motion_process/).
    • Train a policy for the processed motion in IsaacGym (humanoidverse/).
    • Deploy the policy in MuJoCo or real-world robot (humanoidverse/).

Folder Structure

  • description: provide description file for SMPL and G1 robot.
  • motion_source: docs for getting SMPL format data.
  • smpl_retarget: tools for SMPL to G1 robot retargeting.
  • smpl_vis: tools for visualizing SMPL format data.
  • robot_motion_process: tools for processing robot format motion. Including visualization, interpolation, and trajectory analysis.
  • humanoidverse: training RL policy
  • example: example motion and ckpt for using PBHC

Citation

If you find our work helpful, please cite:

@article{xie2025kungfubot,
title={KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills},
author={Xie, Weiji and Han, Jinrui and Zheng, Jiakun and Li, Huanyu and Liu, Xinzhe and Shi, Jiyuan and Zhang, Weinan and Bai, Chenjia and Li, Xuelong},
journal={Advances in Neural Information Processing Systems},
year={2025}
}
@article{han2025kungfubot2,
title={KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control},
author={Han, Jinrui and Xie, Weiji and Zheng, Jiakun and Shi, Jiyuan and Zhang, Weinan and Xiao, Ting and Bai, Chenjia},
journal={arXiv preprint arXiv:2509.16638},
year={2025}
}

License

This codebase is under CC BY-NC 4.0 license. You may not use the material for commercial purposes, e.g., to make demos to advertise your commercial products.

Acknowledgements

  • ASAP: We use ASAP library to build our RL codebase.
  • Beyondmimic: We incorporate Beyondmimic features into policy training.
  • RSL_RL: We use rsl_rl library for the PPO implementation.
  • Unitree: We use Unitree G1 as our testbed robot.
  • Maskedmimic: We use the retargeting pipeline in Maskedmimic, which based on Mink.
  • PHC: We incorporate the retargeting pipeline from PHC into our implementation.
  • GVHMR: We use GVHMR to extract motions from videos.
  • IPMAN: We filter motions based on IPMAN codebase.

Contact

Feel free to open an issue or discussion if you encounter any problems or have questions about this project.

For collaborations, feedback, or further inquiries, please reach out to:

We welcome contributions and are happy to support the community in building upon this work!

About

Official Implementation of "KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills"

Resources

Stars

1.1k stars

Watchers

27 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation


KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills

Weiji Xie* 1,2, Jinrui Han* 1,2, Jiakun Zheng* 1,3, Huanyu Li1,4, Xinzhe Liu1,5, Jiyuan Shi1, Weinan Zhang2, Chenjia Bai†1, Xuelong Li1
* Equal Contribution † Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology 4Harbin Institute of Technology 5ShanghaiTech University

arXiv


KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control

Jinrui Han 1,2, Weiji Xie 1,2, Jiakun Zheng 1,3, Jiyuan Shi1, Weinan Zhang2, Ting Xiao2, Chenjia Bai†1,
† Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology

arXiv

Demo

demo

News

  • [2025-10] Release support for general motion tracking.
  • [2025-09] KungfuBot is accepted by NeurIPS 2025!
  • [2025-06] We release the code and paper for PBHC.

Contents

About

overview

This is the official implementation of the paper KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills, supporting general motion tracking of the paper KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control.

Our paper introduces a physics-based control framework that enables humanoid robots to learn and reproduce challenging motions through multi-stage motion processing and adaptive policy training.

This repository includes:

  • Motion processing pipeline
    • Collect human motion from various sources (video, LAFAN, AMASS, etc.) to a unified SMPL format (motion_source/)
    • Filter, correct and retarget human motion to the robot (smpl_retarget/)
    • Visualize and analyze the processed motions (smpl_vis/, robot_motion_process/)
  • RL-based motion imitation framework (humanoidverse/)
    • Train the policy in IsaacGym
    • Deploy trained policies in MuJoCo for sim2sim verification. The framework is designed for easy extension--custom policies and real-world deployment modules can be plugged in with minimal effort
  • Example data (example/)
    • Sample motion data in our experiments (example/motion_data/, you can visualize the motion data with tools in robot_motion_process/)
    • A pretrained policy checkpoint (example/pretrained_hors_stance_pose/)

Usage

  • Refer to INSTALL.md for environment setup and installation instructions.

  • Each module folder (e.g., humanoidverse, smpl_retarget) contains a dedicated README.md explaining its purpose and usage.

  • How to let your robot perform a new motion?

    • Collect the motion data from the source and process the motion data to the SMPL format (motion_source/).
    • Retarget the motion data to the robot (smpl_retarget/, choose Mink or PHC pipeline as you like).
    • Visualize the processed motion to check whether the motion quality is satisfiable (smpl_vis/, robot_motion_process/).
    • Train a policy for the processed motion in IsaacGym (humanoidverse/).
    • Deploy the policy in MuJoCo or real-world robot (humanoidverse/).

Folder Structure

  • description: provide description file for SMPL and G1 robot.
  • motion_source: docs for getting SMPL format data.
  • smpl_retarget: tools for SMPL to G1 robot retargeting.
  • smpl_vis: tools for visualizing SMPL format data.
  • robot_motion_process: tools for processing robot format motion. Including visualization, interpolation, and trajectory analysis.
  • humanoidverse: training RL policy
  • example: example motion and ckpt for using PBHC

Citation

If you find our work helpful, please cite:

@article{xie2025kungfubot,
title={KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills},
author={Xie, Weiji and Han, Jinrui and Zheng, Jiakun and Li, Huanyu and Liu, Xinzhe and Shi, Jiyuan and Zhang, Weinan and Bai, Chenjia and Li, Xuelong},
journal={Advances in Neural Information Processing Systems},
year={2025}
}
@article{han2025kungfubot2,
title={KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control},
author={Han, Jinrui and Xie, Weiji and Zheng, Jiakun and Shi, Jiyuan and Zhang, Weinan and Xiao, Ting and Bai, Chenjia},
journal={arXiv preprint arXiv:2509.16638},
year={2025}
}

License

This codebase is under CC BY-NC 4.0 license. You may not use the material for commercial purposes, e.g., to make demos to advertise your commercial products.

Acknowledgements

  • ASAP: We use ASAP library to build our RL codebase.
  • Beyondmimic: We incorporate Beyondmimic features into policy training.
  • RSL_RL: We use rsl_rl library for the PPO implementation.
  • Unitree: We use Unitree G1 as our testbed robot.
  • Maskedmimic: We use the retargeting pipeline in Maskedmimic, which based on Mink.
  • PHC: We incorporate the retargeting pipeline from PHC into our implementation.
  • GVHMR: We use GVHMR to extract motions from videos.
  • IPMAN: We filter motions based on IPMAN codebase.

Contact

Feel free to open an issue or discussion if you encounter any problems or have questions about this project.

For collaborations, feedback, or further inquiries, please reach out to:

We welcome contributions and are happy to support the community in building upon this work!

About

Official Implementation of "KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills"

Resources

Stars

1.1k stars

Watchers

27 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation


KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills

Weiji Xie* 1,2, Jinrui Han* 1,2, Jiakun Zheng* 1,3, Huanyu Li1,4, Xinzhe Liu1,5, Jiyuan Shi1, Weinan Zhang2, Chenjia Bai†1, Xuelong Li1
* Equal Contribution † Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology 4Harbin Institute of Technology 5ShanghaiTech University

arXiv


KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control

Jinrui Han 1,2, Weiji Xie 1,2, Jiakun Zheng 1,3, Jiyuan Shi1, Weinan Zhang2, Ting Xiao2, Chenjia Bai†1,
† Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology

arXiv

Demo

demo

News

  • [2025-10] Release support for general motion tracking.
  • [2025-09] KungfuBot is accepted by NeurIPS 2025!
  • [2025-06] We release the code and paper for PBHC.

Contents

About

overview

This is the official implementation of the paper KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills, supporting general motion tracking of the paper KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control.

Our paper introduces a physics-based control framework that enables humanoid robots to learn and reproduce challenging motions through multi-stage motion processing and adaptive policy training.

This repository includes:

  • Motion processing pipeline
    • Collect human motion from various sources (video, LAFAN, AMASS, etc.) to a unified SMPL format (motion_source/)
    • Filter, correct and retarget human motion to the robot (smpl_retarget/)
    • Visualize and analyze the processed motions (smpl_vis/, robot_motion_process/)
  • RL-based motion imitation framework (humanoidverse/)
    • Train the policy in IsaacGym
    • Deploy trained policies in MuJoCo for sim2sim verification. The framework is designed for easy extension--custom policies and real-world deployment modules can be plugged in with minimal effort
  • Example data (example/)
    • Sample motion data in our experiments (example/motion_data/, you can visualize the motion data with tools in robot_motion_process/)
    • A pretrained policy checkpoint (example/pretrained_hors_stance_pose/)

Usage

  • Refer to INSTALL.md for environment setup and installation instructions.

  • Each module folder (e.g., humanoidverse, smpl_retarget) contains a dedicated README.md explaining its purpose and usage.

  • How to let your robot perform a new motion?

    • Collect the motion data from the source and process the motion data to the SMPL format (motion_source/).
    • Retarget the motion data to the robot (smpl_retarget/, choose Mink or PHC pipeline as you like).
    • Visualize the processed motion to check whether the motion quality is satisfiable (smpl_vis/, robot_motion_process/).
    • Train a policy for the processed motion in IsaacGym (humanoidverse/).
    • Deploy the policy in MuJoCo or real-world robot (humanoidverse/).

Folder Structure

  • description: provide description file for SMPL and G1 robot.
  • motion_source: docs for getting SMPL format data.
  • smpl_retarget: tools for SMPL to G1 robot retargeting.
  • smpl_vis: tools for visualizing SMPL format data.
  • robot_motion_process: tools for processing robot format motion. Including visualization, interpolation, and trajectory analysis.
  • humanoidverse: training RL policy
  • example: example motion and ckpt for using PBHC

Citation

If you find our work helpful, please cite:

@article{xie2025kungfubot,
title={KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills},
author={Xie, Weiji and Han, Jinrui and Zheng, Jiakun and Li, Huanyu and Liu, Xinzhe and Shi, Jiyuan and Zhang, Weinan and Bai, Chenjia and Li, Xuelong},
journal={Advances in Neural Information Processing Systems},
year={2025}
}
@article{han2025kungfubot2,
title={KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control},
author={Han, Jinrui and Xie, Weiji and Zheng, Jiakun and Shi, Jiyuan and Zhang, Weinan and Xiao, Ting and Bai, Chenjia},
journal={arXiv preprint arXiv:2509.16638},
year={2025}
}

License

This codebase is under CC BY-NC 4.0 license. You may not use the material for commercial purposes, e.g., to make demos to advertise your commercial products.

Acknowledgements

  • ASAP: We use ASAP library to build our RL codebase.
  • Beyondmimic: We incorporate Beyondmimic features into policy training.
  • RSL_RL: We use rsl_rl library for the PPO implementation.
  • Unitree: We use Unitree G1 as our testbed robot.
  • Maskedmimic: We use the retargeting pipeline in Maskedmimic, which based on Mink.
  • PHC: We incorporate the retargeting pipeline from PHC into our implementation.
  • GVHMR: We use GVHMR to extract motions from videos.
  • IPMAN: We filter motions based on IPMAN codebase.

Contact

Feel free to open an issue or discussion if you encounter any problems or have questions about this project.

For collaborations, feedback, or further inquiries, please reach out to:

We welcome contributions and are happy to support the community in building upon this work!

About

Official Implementation of "KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills"

Resources

Stars

1.1k stars

Watchers

27 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation


KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills

Weiji Xie* 1,2, Jinrui Han* 1,2, Jiakun Zheng* 1,3, Huanyu Li1,4, Xinzhe Liu1,5, Jiyuan Shi1, Weinan Zhang2, Chenjia Bai†1, Xuelong Li1
* Equal Contribution † Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology 4Harbin Institute of Technology 5ShanghaiTech University

arXiv


KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control

Jinrui Han 1,2, Weiji Xie 1,2, Jiakun Zheng 1,3, Jiyuan Shi1, Weinan Zhang2, Ting Xiao2, Chenjia Bai†1,
† Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology

arXiv

Demo

demo

News

  • [2025-10] Release support for general motion tracking.
  • [2025-09] KungfuBot is accepted by NeurIPS 2025!
  • [2025-06] We release the code and paper for PBHC.

Contents

About

overview

This is the official implementation of the paper KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills, supporting general motion tracking of the paper KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control.

Our paper introduces a physics-based control framework that enables humanoid robots to learn and reproduce challenging motions through multi-stage motion processing and adaptive policy training.

This repository includes:

  • Motion processing pipeline
    • Collect human motion from various sources (video, LAFAN, AMASS, etc.) to a unified SMPL format (motion_source/)
    • Filter, correct and retarget human motion to the robot (smpl_retarget/)
    • Visualize and analyze the processed motions (smpl_vis/, robot_motion_process/)
  • RL-based motion imitation framework (humanoidverse/)
    • Train the policy in IsaacGym
    • Deploy trained policies in MuJoCo for sim2sim verification. The framework is designed for easy extension--custom policies and real-world deployment modules can be plugged in with minimal effort
  • Example data (example/)
    • Sample motion data in our experiments (example/motion_data/, you can visualize the motion data with tools in robot_motion_process/)
    • A pretrained policy checkpoint (example/pretrained_hors_stance_pose/)

Usage

  • Refer to INSTALL.md for environment setup and installation instructions.

  • Each module folder (e.g., humanoidverse, smpl_retarget) contains a dedicated README.md explaining its purpose and usage.

  • How to let your robot perform a new motion?

    • Collect the motion data from the source and process the motion data to the SMPL format (motion_source/).
    • Retarget the motion data to the robot (smpl_retarget/, choose Mink or PHC pipeline as you like).
    • Visualize the processed motion to check whether the motion quality is satisfiable (smpl_vis/, robot_motion_process/).
    • Train a policy for the processed motion in IsaacGym (humanoidverse/).
    • Deploy the policy in MuJoCo or real-world robot (humanoidverse/).

Folder Structure

  • description: provide description file for SMPL and G1 robot.
  • motion_source: docs for getting SMPL format data.
  • smpl_retarget: tools for SMPL to G1 robot retargeting.
  • smpl_vis: tools for visualizing SMPL format data.
  • robot_motion_process: tools for processing robot format motion. Including visualization, interpolation, and trajectory analysis.
  • humanoidverse: training RL policy
  • example: example motion and ckpt for using PBHC

Citation

If you find our work helpful, please cite:

@article{xie2025kungfubot,
title={KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills},
author={Xie, Weiji and Han, Jinrui and Zheng, Jiakun and Li, Huanyu and Liu, Xinzhe and Shi, Jiyuan and Zhang, Weinan and Bai, Chenjia and Li, Xuelong},
journal={Advances in Neural Information Processing Systems},
year={2025}
}
@article{han2025kungfubot2,
title={KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control},
author={Han, Jinrui and Xie, Weiji and Zheng, Jiakun and Shi, Jiyuan and Zhang, Weinan and Xiao, Ting and Bai, Chenjia},
journal={arXiv preprint arXiv:2509.16638},
year={2025}
}

License

This codebase is under CC BY-NC 4.0 license. You may not use the material for commercial purposes, e.g., to make demos to advertise your commercial products.

Acknowledgements

  • ASAP: We use ASAP library to build our RL codebase.
  • Beyondmimic: We incorporate Beyondmimic features into policy training.
  • RSL_RL: We use rsl_rl library for the PPO implementation.
  • Unitree: We use Unitree G1 as our testbed robot.
  • Maskedmimic: We use the retargeting pipeline in Maskedmimic, which based on Mink.
  • PHC: We incorporate the retargeting pipeline from PHC into our implementation.
  • GVHMR: We use GVHMR to extract motions from videos.
  • IPMAN: We filter motions based on IPMAN codebase.

Contact

Feel free to open an issue or discussion if you encounter any problems or have questions about this project.

For collaborations, feedback, or further inquiries, please reach out to:

We welcome contributions and are happy to support the community in building upon this work!

About

Official Implementation of "KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills"

Resources

Stars

1.1k stars

Watchers

27 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation


KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills

Weiji Xie* 1,2, Jinrui Han* 1,2, Jiakun Zheng* 1,3, Huanyu Li1,4, Xinzhe Liu1,5, Jiyuan Shi1, Weinan Zhang2, Chenjia Bai†1, Xuelong Li1
* Equal Contribution † Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology 4Harbin Institute of Technology 5ShanghaiTech University

arXiv


KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control

Jinrui Han 1,2, Weiji Xie 1,2, Jiakun Zheng 1,3, Jiyuan Shi1, Weinan Zhang2, Ting Xiao2, Chenjia Bai†1,
† Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology

arXiv

Demo

demo

News

  • [2025-10] Release support for general motion tracking.
  • [2025-09] KungfuBot is accepted by NeurIPS 2025!
  • [2025-06] We release the code and paper for PBHC.

Contents

About

overview

This is the official implementation of the paper KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills, supporting general motion tracking of the paper KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control.

Our paper introduces a physics-based control framework that enables humanoid robots to learn and reproduce challenging motions through multi-stage motion processing and adaptive policy training.

This repository includes:

  • Motion processing pipeline
    • Collect human motion from various sources (video, LAFAN, AMASS, etc.) to a unified SMPL format (motion_source/)
    • Filter, correct and retarget human motion to the robot (smpl_retarget/)
    • Visualize and analyze the processed motions (smpl_vis/, robot_motion_process/)
  • RL-based motion imitation framework (humanoidverse/)
    • Train the policy in IsaacGym
    • Deploy trained policies in MuJoCo for sim2sim verification. The framework is designed for easy extension--custom policies and real-world deployment modules can be plugged in with minimal effort
  • Example data (example/)
    • Sample motion data in our experiments (example/motion_data/, you can visualize the motion data with tools in robot_motion_process/)
    • A pretrained policy checkpoint (example/pretrained_hors_stance_pose/)

Usage

  • Refer to INSTALL.md for environment setup and installation instructions.

  • Each module folder (e.g., humanoidverse, smpl_retarget) contains a dedicated README.md explaining its purpose and usage.

  • How to let your robot perform a new motion?

    • Collect the motion data from the source and process the motion data to the SMPL format (motion_source/).
    • Retarget the motion data to the robot (smpl_retarget/, choose Mink or PHC pipeline as you like).
    • Visualize the processed motion to check whether the motion quality is satisfiable (smpl_vis/, robot_motion_process/).
    • Train a policy for the processed motion in IsaacGym (humanoidverse/).
    • Deploy the policy in MuJoCo or real-world robot (humanoidverse/).

Folder Structure

  • description: provide description file for SMPL and G1 robot.
  • motion_source: docs for getting SMPL format data.
  • smpl_retarget: tools for SMPL to G1 robot retargeting.
  • smpl_vis: tools for visualizing SMPL format data.
  • robot_motion_process: tools for processing robot format motion. Including visualization, interpolation, and trajectory analysis.
  • humanoidverse: training RL policy
  • example: example motion and ckpt for using PBHC

Citation

If you find our work helpful, please cite:

@article{xie2025kungfubot,
title={KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills},
author={Xie, Weiji and Han, Jinrui and Zheng, Jiakun and Li, Huanyu and Liu, Xinzhe and Shi, Jiyuan and Zhang, Weinan and Bai, Chenjia and Li, Xuelong},
journal={Advances in Neural Information Processing Systems},
year={2025}
}
@article{han2025kungfubot2,
title={KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control},
author={Han, Jinrui and Xie, Weiji and Zheng, Jiakun and Shi, Jiyuan and Zhang, Weinan and Xiao, Ting and Bai, Chenjia},
journal={arXiv preprint arXiv:2509.16638},
year={2025}
}

License

This codebase is under CC BY-NC 4.0 license. You may not use the material for commercial purposes, e.g., to make demos to advertise your commercial products.

Acknowledgements

  • ASAP: We use ASAP library to build our RL codebase.
  • Beyondmimic: We incorporate Beyondmimic features into policy training.
  • RSL_RL: We use rsl_rl library for the PPO implementation.
  • Unitree: We use Unitree G1 as our testbed robot.
  • Maskedmimic: We use the retargeting pipeline in Maskedmimic, which based on Mink.
  • PHC: We incorporate the retargeting pipeline from PHC into our implementation.
  • GVHMR: We use GVHMR to extract motions from videos.
  • IPMAN: We filter motions based on IPMAN codebase.

Contact

Feel free to open an issue or discussion if you encounter any problems or have questions about this project.

For collaborations, feedback, or further inquiries, please reach out to:

We welcome contributions and are happy to support the community in building upon this work!

About

Official Implementation of "KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills"

Resources

Stars

1.1k stars

Watchers

27 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation


KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills

Weiji Xie* 1,2, Jinrui Han* 1,2, Jiakun Zheng* 1,3, Huanyu Li1,4, Xinzhe Liu1,5, Jiyuan Shi1, Weinan Zhang2, Chenjia Bai†1, Xuelong Li1
* Equal Contribution † Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology 4Harbin Institute of Technology 5ShanghaiTech University

arXiv


KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control

Jinrui Han 1,2, Weiji Xie 1,2, Jiakun Zheng 1,3, Jiyuan Shi1, Weinan Zhang2, Ting Xiao2, Chenjia Bai†1,
† Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology

arXiv

Demo

demo

News

  • [2025-10] Release support for general motion tracking.
  • [2025-09] KungfuBot is accepted by NeurIPS 2025!
  • [2025-06] We release the code and paper for PBHC.

Contents

About

overview

This is the official implementation of the paper KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills, supporting general motion tracking of the paper KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control.

Our paper introduces a physics-based control framework that enables humanoid robots to learn and reproduce challenging motions through multi-stage motion processing and adaptive policy training.

This repository includes:

  • Motion processing pipeline
    • Collect human motion from various sources (video, LAFAN, AMASS, etc.) to a unified SMPL format (motion_source/)
    • Filter, correct and retarget human motion to the robot (smpl_retarget/)
    • Visualize and analyze the processed motions (smpl_vis/, robot_motion_process/)
  • RL-based motion imitation framework (humanoidverse/)
    • Train the policy in IsaacGym
    • Deploy trained policies in MuJoCo for sim2sim verification. The framework is designed for easy extension--custom policies and real-world deployment modules can be plugged in with minimal effort
  • Example data (example/)
    • Sample motion data in our experiments (example/motion_data/, you can visualize the motion data with tools in robot_motion_process/)
    • A pretrained policy checkpoint (example/pretrained_hors_stance_pose/)

Usage

  • Refer to INSTALL.md for environment setup and installation instructions.

  • Each module folder (e.g., humanoidverse, smpl_retarget) contains a dedicated README.md explaining its purpose and usage.

  • How to let your robot perform a new motion?

    • Collect the motion data from the source and process the motion data to the SMPL format (motion_source/).
    • Retarget the motion data to the robot (smpl_retarget/, choose Mink or PHC pipeline as you like).
    • Visualize the processed motion to check whether the motion quality is satisfiable (smpl_vis/, robot_motion_process/).
    • Train a policy for the processed motion in IsaacGym (humanoidverse/).
    • Deploy the policy in MuJoCo or real-world robot (humanoidverse/).

Folder Structure

  • description: provide description file for SMPL and G1 robot.
  • motion_source: docs for getting SMPL format data.
  • smpl_retarget: tools for SMPL to G1 robot retargeting.
  • smpl_vis: tools for visualizing SMPL format data.
  • robot_motion_process: tools for processing robot format motion. Including visualization, interpolation, and trajectory analysis.
  • humanoidverse: training RL policy
  • example: example motion and ckpt for using PBHC

Citation

If you find our work helpful, please cite:

@article{xie2025kungfubot,
title={KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills},
author={Xie, Weiji and Han, Jinrui and Zheng, Jiakun and Li, Huanyu and Liu, Xinzhe and Shi, Jiyuan and Zhang, Weinan and Bai, Chenjia and Li, Xuelong},
journal={Advances in Neural Information Processing Systems},
year={2025}
}
@article{han2025kungfubot2,
title={KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control},
author={Han, Jinrui and Xie, Weiji and Zheng, Jiakun and Shi, Jiyuan and Zhang, Weinan and Xiao, Ting and Bai, Chenjia},
journal={arXiv preprint arXiv:2509.16638},
year={2025}
}

License

This codebase is under CC BY-NC 4.0 license. You may not use the material for commercial purposes, e.g., to make demos to advertise your commercial products.

Acknowledgements

  • ASAP: We use ASAP library to build our RL codebase.
  • Beyondmimic: We incorporate Beyondmimic features into policy training.
  • RSL_RL: We use rsl_rl library for the PPO implementation.
  • Unitree: We use Unitree G1 as our testbed robot.
  • Maskedmimic: We use the retargeting pipeline in Maskedmimic, which based on Mink.
  • PHC: We incorporate the retargeting pipeline from PHC into our implementation.
  • GVHMR: We use GVHMR to extract motions from videos.
  • IPMAN: We filter motions based on IPMAN codebase.

Contact

Feel free to open an issue or discussion if you encounter any problems or have questions about this project.

For collaborations, feedback, or further inquiries, please reach out to:

We welcome contributions and are happy to support the community in building upon this work!

About

Official Implementation of "KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills"

Resources

Stars

1.1k stars

Watchers

27 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation


KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills

Weiji Xie* 1,2, Jinrui Han* 1,2, Jiakun Zheng* 1,3, Huanyu Li1,4, Xinzhe Liu1,5, Jiyuan Shi1, Weinan Zhang2, Chenjia Bai†1, Xuelong Li1
* Equal Contribution † Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology 4Harbin Institute of Technology 5ShanghaiTech University

arXiv


KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control

Jinrui Han 1,2, Weiji Xie 1,2, Jiakun Zheng 1,3, Jiyuan Shi1, Weinan Zhang2, Ting Xiao2, Chenjia Bai†1,
† Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology

arXiv

Demo

demo

News

  • [2025-10] Release support for general motion tracking.
  • [2025-09] KungfuBot is accepted by NeurIPS 2025!
  • [2025-06] We release the code and paper for PBHC.

Contents

About

overview

This is the official implementation of the paper KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills, supporting general motion tracking of the paper KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control.

Our paper introduces a physics-based control framework that enables humanoid robots to learn and reproduce challenging motions through multi-stage motion processing and adaptive policy training.

This repository includes:

  • Motion processing pipeline
    • Collect human motion from various sources (video, LAFAN, AMASS, etc.) to a unified SMPL format (motion_source/)
    • Filter, correct and retarget human motion to the robot (smpl_retarget/)
    • Visualize and analyze the processed motions (smpl_vis/, robot_motion_process/)
  • RL-based motion imitation framework (humanoidverse/)
    • Train the policy in IsaacGym
    • Deploy trained policies in MuJoCo for sim2sim verification. The framework is designed for easy extension--custom policies and real-world deployment modules can be plugged in with minimal effort
  • Example data (example/)
    • Sample motion data in our experiments (example/motion_data/, you can visualize the motion data with tools in robot_motion_process/)
    • A pretrained policy checkpoint (example/pretrained_hors_stance_pose/)

Usage

  • Refer to INSTALL.md for environment setup and installation instructions.

  • Each module folder (e.g., humanoidverse, smpl_retarget) contains a dedicated README.md explaining its purpose and usage.

  • How to let your robot perform a new motion?

    • Collect the motion data from the source and process the motion data to the SMPL format (motion_source/).
    • Retarget the motion data to the robot (smpl_retarget/, choose Mink or PHC pipeline as you like).
    • Visualize the processed motion to check whether the motion quality is satisfiable (smpl_vis/, robot_motion_process/).
    • Train a policy for the processed motion in IsaacGym (humanoidverse/).
    • Deploy the policy in MuJoCo or real-world robot (humanoidverse/).

Folder Structure

  • description: provide description file for SMPL and G1 robot.
  • motion_source: docs for getting SMPL format data.
  • smpl_retarget: tools for SMPL to G1 robot retargeting.
  • smpl_vis: tools for visualizing SMPL format data.
  • robot_motion_process: tools for processing robot format motion. Including visualization, interpolation, and trajectory analysis.
  • humanoidverse: training RL policy
  • example: example motion and ckpt for using PBHC

Citation

If you find our work helpful, please cite:

@article{xie2025kungfubot,
title={KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills},
author={Xie, Weiji and Han, Jinrui and Zheng, Jiakun and Li, Huanyu and Liu, Xinzhe and Shi, Jiyuan and Zhang, Weinan and Bai, Chenjia and Li, Xuelong},
journal={Advances in Neural Information Processing Systems},
year={2025}
}
@article{han2025kungfubot2,
title={KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control},
author={Han, Jinrui and Xie, Weiji and Zheng, Jiakun and Shi, Jiyuan and Zhang, Weinan and Xiao, Ting and Bai, Chenjia},
journal={arXiv preprint arXiv:2509.16638},
year={2025}
}

License

This codebase is under CC BY-NC 4.0 license. You may not use the material for commercial purposes, e.g., to make demos to advertise your commercial products.

Acknowledgements

  • ASAP: We use ASAP library to build our RL codebase.
  • Beyondmimic: We incorporate Beyondmimic features into policy training.
  • RSL_RL: We use rsl_rl library for the PPO implementation.
  • Unitree: We use Unitree G1 as our testbed robot.
  • Maskedmimic: We use the retargeting pipeline in Maskedmimic, which based on Mink.
  • PHC: We incorporate the retargeting pipeline from PHC into our implementation.
  • GVHMR: We use GVHMR to extract motions from videos.
  • IPMAN: We filter motions based on IPMAN codebase.

Contact

Feel free to open an issue or discussion if you encounter any problems or have questions about this project.

For collaborations, feedback, or further inquiries, please reach out to:

We welcome contributions and are happy to support the community in building upon this work!

About

Official Implementation of "KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills"

Resources

Stars

1.1k stars

Watchers

27 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation


KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills

Weiji Xie* 1,2, Jinrui Han* 1,2, Jiakun Zheng* 1,3, Huanyu Li1,4, Xinzhe Liu1,5, Jiyuan Shi1, Weinan Zhang2, Chenjia Bai†1, Xuelong Li1
* Equal Contribution † Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology 4Harbin Institute of Technology 5ShanghaiTech University

arXiv


KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control

Jinrui Han 1,2, Weiji Xie 1,2, Jiakun Zheng 1,3, Jiyuan Shi1, Weinan Zhang2, Ting Xiao2, Chenjia Bai†1,
† Corresponding Author
1Institute of Artificial Intelligence (TeleAI), China Telecom 2Shanghai Jiao Tong University 3East China University of Science and Technology

arXiv

Demo

demo

News

  • [2025-10] Release support for general motion tracking.
  • [2025-09] KungfuBot is accepted by NeurIPS 2025!
  • [2025-06] We release the code and paper for PBHC.

Contents

About

overview

This is the official implementation of the paper KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills, supporting general motion tracking of the paper KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control.

Our paper introduces a physics-based control framework that enables humanoid robots to learn and reproduce challenging motions through multi-stage motion processing and adaptive policy training.

This repository includes:

  • Motion processing pipeline
    • Collect human motion from various sources (video, LAFAN, AMASS, etc.) to a unified SMPL format (motion_source/)
    • Filter, correct and retarget human motion to the robot (smpl_retarget/)
    • Visualize and analyze the processed motions (smpl_vis/, robot_motion_process/)
  • RL-based motion imitation framework (humanoidverse/)
    • Train the policy in IsaacGym
    • Deploy trained policies in MuJoCo for sim2sim verification. The framework is designed for easy extension--custom policies and real-world deployment modules can be plugged in with minimal effort
  • Example data (example/)
    • Sample motion data in our experiments (example/motion_data/, you can visualize the motion data with tools in robot_motion_process/)
    • A pretrained policy checkpoint (example/pretrained_hors_stance_pose/)

Usage

  • Refer to INSTALL.md for environment setup and installation instructions.

  • Each module folder (e.g., humanoidverse, smpl_retarget) contains a dedicated README.md explaining its purpose and usage.

  • How to let your robot perform a new motion?

    • Collect the motion data from the source and process the motion data to the SMPL format (motion_source/).
    • Retarget the motion data to the robot (smpl_retarget/, choose Mink or PHC pipeline as you like).
    • Visualize the processed motion to check whether the motion quality is satisfiable (smpl_vis/, robot_motion_process/).
    • Train a policy for the processed motion in IsaacGym (humanoidverse/).
    • Deploy the policy in MuJoCo or real-world robot (humanoidverse/).

Folder Structure

  • description: provide description file for SMPL and G1 robot.
  • motion_source: docs for getting SMPL format data.
  • smpl_retarget: tools for SMPL to G1 robot retargeting.
  • smpl_vis: tools for visualizing SMPL format data.
  • robot_motion_process: tools for processing robot format motion. Including visualization, interpolation, and trajectory analysis.
  • humanoidverse: training RL policy
  • example: example motion and ckpt for using PBHC

Citation

If you find our work helpful, please cite:

@article{xie2025kungfubot,
title={KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills},
author={Xie, Weiji and Han, Jinrui and Zheng, Jiakun and Li, Huanyu and Liu, Xinzhe and Shi, Jiyuan and Zhang, Weinan and Bai, Chenjia and Li, Xuelong},
journal={Advances in Neural Information Processing Systems},
year={2025}
}
@article{han2025kungfubot2,
title={KungfuBot2: Learning Versatile Motion Skills for Humanoid Whole-Body Control},
author={Han, Jinrui and Xie, Weiji and Zheng, Jiakun and Shi, Jiyuan and Zhang, Weinan and Xiao, Ting and Bai, Chenjia},
journal={arXiv preprint arXiv:2509.16638},
year={2025}
}

License

This codebase is under CC BY-NC 4.0 license. You may not use the material for commercial purposes, e.g., to make demos to advertise your commercial products.

Acknowledgements

  • ASAP: We use ASAP library to build our RL codebase.
  • Beyondmimic: We incorporate Beyondmimic features into policy training.
  • RSL_RL: We use rsl_rl library for the PPO implementation.
  • Unitree: We use Unitree G1 as our testbed robot.
  • Maskedmimic: We use the retargeting pipeline in Maskedmimic, which based on Mink.
  • PHC: We incorporate the retargeting pipeline from PHC into our implementation.
  • GVHMR: We use GVHMR to extract motions from videos.
  • IPMAN: We filter motions based on IPMAN codebase.

Contact

Feel free to open an issue or discussion if you encounter any problems or have questions about this project.

For collaborations, feedback, or further inquiries, please reach out to:

We welcome contributions and are happy to support the community in building upon this work!

About

Official Implementation of "KungfuBot: Physics-Based Humanoid Whole-Body Control for Learning Highly-Dynamic Skills"

Resources

Stars

1.1k stars

Watchers

27 watching

Forks

Releases

Packages

Contributors

Languages