ZhengyiLuo/UHC

机器人 3/5 🧩 软硬件结合 已发布
ZhengyiLuo 100 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/5
ZhengyiLuo/UHC

项目简介

Official Implementation of the Universal Humanoid Controller in Mujoco. Supports Kinpoly (NeurIPS 2021) and EmbodiedPose


UHC(Universal Humanoid Controller)是一个基于物理仿真的人形机器人控制器,核心目标是通过强化学习让虚拟人形角色模仿真实人类运动。它由ZhengyiLuo团队开发,曾用于EmbodiedPose、KinPoly和AgentDesign等多个研究项目。项目主要解决的是如何让虚拟人形角色在物理仿真环境中稳定、自然地执行各种人类动作,而不需要针对特定任务进行专门训练。UHC采用任务无关的设计,只需输入参考动作帧即可驱动角色运动,极大提升了控制器的通用性。技术栈方面,项目基于MuJoCo物理引擎,使用PyTorch进行强化学习训练,并依赖残差力控制(Residual Force Control)来维持角色稳定性。它支持SMPL、SMPL-H和SMPL-X三种人体模型,涵盖不同性别和体型,能够自动生成对应的MuJoCo XML模型文件。项目还提供了完整的AMASS数据集处理流程,方便用户训练和评估自己的模型。UHC的适用场景非常广泛,包括数字人动画生成、人机交互仿真、机器人运动规划的前期验证等。对于研究人员和开发者来说,它提供了一个开箱即用的基础框架,可以快速搭建基于物理仿真的人形运动控制系统,而无需从零开始构建仿真环境和训练算法。目前项目已发布多个预训练模型,并衍生出PHC-MJX和SMPLSim等更优化的版本,持续推动人形控制技术的发展。

标签

项目特点

**任务无关设计**:无需针对特定任务训练,只需输入参考动作帧即可驱动角色运动
**基于物理仿真**:使用MuJoCo物理引擎,确保运动在物理上真实可信
**强化学习驱动**:采用PyTorch进行强化学习训练,让角色学会模仿人类运动
**残差力控制**:利用残差力控制(Residual Force Control)技术提升运动稳定性和自然度
**高通用性**:可应用于多种研究项目,如EmbodiedPose、KinPoly和AgentDesign
**开源可复现**:代码完全开源,便于研究者复现和扩展

技术规格

物理引擎 MuJoCo
深度学习框架 PyTorch
控制器类型 残差力控制(Residual Force Control)
训练方法 强化学习(模仿学习)
输入格式 参考动作帧
输出 关节力矩/位置指令
支持平台 Linux(推荐)
编程语言 Python
依赖库 MuJoCo、PyTorch、NumPy等

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
MuJoCo物理引擎 1 用于物理仿真
PyTorch 1 深度学习框架
Python 3.x 1 编程环境
NumPy 1 数值计算库
参考动作帧数据 若干 用于训练和测试
预训练控制器模型 1 可选,用于快速部署

3D 模型

模型名称文件名文件
cone cone.stl
Chest Chest.stl
Head Head.stl
Hips Hips.stl
L Ankle L_Ankle.stl
L Elbow L_Elbow.stl
手 - L Hand L_Hand.stl
L Hip L_Hip.stl
L Index1 L_Index1.stl
L Index2 L_Index2.stl
L Index3 L_Index3.stl
L Knee L_Knee.stl
L Middle1 L_Middle1.stl
L Middle2 L_Middle2.stl
L Middle3 L_Middle3.stl
L Pinky1 L_Pinky1.stl
L Pinky2 L_Pinky2.stl
L Pinky3 L_Pinky3.stl
L Ring1 L_Ring1.stl
L Ring2 L_Ring2.stl
L Ring3 L_Ring3.stl
L Shoulder L_Shoulder.stl
L Thorax L_Thorax.stl
L Thumb1 L_Thumb1.stl
L Thumb2 L_Thumb2.stl
L Thumb3 L_Thumb3.stl
L Toe L_Toe.stl
L Wrist L_Wrist.stl
臂 - LeftArm LeftArm.stl
LeftChest LeftChest.stl
脚 - LeftFoot LeftFoot.stl
手 - LeftHand LeftHand.stl
腿 - LeftLeg LeftLeg.stl
LeftShoulder LeftShoulder.stl
LeftToe LeftToe.stl
腿 - LeftUpLeg LeftUpLeg.stl
LeftWrist LeftWrist.stl
convex 0 convex_0.stl
convex 1 convex_1.stl
convex 10 convex_10.stl
convex 100 convex_100.stl
convex 101 convex_101.stl
convex 102 convex_102.stl
convex 103 convex_103.stl
convex 104 convex_104.stl
convex 105 convex_105.stl
convex 106 convex_106.stl
convex 107 convex_107.stl
convex 108 convex_108.stl
convex 109 convex_109.stl

能力画像

**记忆与知识检索**:3/5 — 项目涉及运动数据和参考动作帧的存储与调用,但主要依赖外部数据源
**动手与操作**:2/5 — 纯软件项目,无需硬件操作,但需要配置仿真环境和运行训练脚本
**编程与算法**:5/5 — 核心依赖强化学习算法、物理仿真编程和Python开发能力
**设计与建模**:3/5 — 需要理解人形机器人运动学和动力学建模,但模型结构已由框架提供
**实验与调试**:4/5 — 训练过程需要大量实验调参,调试奖励函数和控制器参数
**协作与分享**:3/5 — 开源项目支持协作开发,但文档和社区互动相对有限
**学习与研究**:5/5 — 涉及强化学习、物理仿真、机器人控制等前沿研究领域
**系统集成**:3/5 — 需要将控制器与仿真环境、训练框架集成,但整体架构相对固定

所需技能

Python编程 强化学习基础(PPO、模仿学习等) 机器人运动学与动力学基础 MuJoCo物理引擎使用经验 PyTorch深度学习框架使用经验 人形机器人控制基础知识 数据处理与可视化能力 命令行操作与Git版本控制

适用场景

人形机器人运动控制研究
虚拟角色动画生成与仿真
强化学习在机器人领域的应用研究
运动模仿与迁移学习实验
人机交互中的虚拟角色控制
机器人技能学习与泛化研究
学术论文中的基准测试与对比实验
机器人控制器的通用性验证与评估