待补充
NVlabs/ProtoMotions
机器人
3/5
🧩 软硬件结合
已发布
项目简介
ProtoMotions is a GPU-accelerated simulation and learning framework for training physically simulated digital humans and
ProtoMotions 是由 NVIDIA 实验室推出的 GPU 加速仿真与学习框架,专为训练物理模拟的数字人类和人形机器人而设计。其核心使命是为动画、机器人学和强化学习领域的研究者提供一个快速原型开发平台,弥合不同社区之间的技术鸿沟。该框架以模块化、可扩展性和可伸缩性为设计基石,采用 Apache-2.0 开源许可,鼓励社区共建。
标签
项目特点
**大规模运动学习**:支持从整个公共 AMASS 人类动画数据集(40+小时)训练物理模拟角色,在 4 个 A100 GPU 上 12 小时内完成。
**可扩展的多GPU训练**:支持多 GPU 训练,每个 GPU 处理一部分运动数据,已成功使用 24 个 A100 和 13K 个运动进行训练。
**一键式运动重定向**:使用内置的 PyRoki 优化器,通过一个命令将整个 AMASS 数据集重定向到目标机器人。
**训练任意机器人**:通过更改一个命令行参数,即可训练机器人执行 AMASS 运动技能。
**Sim2Sim 测试**:一键在不同物理引擎(NVIDIA Newton、MuJoCo)之间测试机器人控制策略。
**Sim2Real 部署**:训练一个通用跟踪策略,直接零样本部署到真实硬件(如 Unitree G1 人形机器人),并导出单个 ONNX 模型。
**高保真渲染**:支持在 IsaacSim 5.0+ 中加载高斯泼溅背景进行测试。
**运动创作与 Kimodo**:与 NVIDIA 的文本到运动生成模型 Kimodo 集成,从文本提示生成运动并训练物理策略。
**程序化场景生成**:程序化生成场景,用于可扩展的合成数据生成。
**生成式策略**:训练生成式策略(如 MaskedMimic),使其能自主选择动作完成任务。
**地形导航**:训练机器人在复杂地形上行走。
**自定义环境**:使用模块化组件构建新任务,无需庞大的环境类。
**新RL算法**:利用模块化设计,用约 50 行代码实现新 RL 算法。
**自定义仿真器**:通过实现 API 接口,支持使用自定义仿真器。
**添加自定义机器人**:通过添加 MuJoCo 规格文件和配置,轻松添加新机器人。
技术规格
| 框架名称 | ProtoMotions 3 |
|---|---|
| 主要用途 | 训练物理模拟的数字人类和类人机器人 |
| 核心特性 | GPU 加速、模块化、可扩展、社区驱动 |
| 支持的数据集 | AMASS, BONES-SEED, PHUMA, Kimodo 等 |
| 支持的仿真器 | NVIDIA Newton, IsaacLab, IsaacGym, MuJoCo, Genesis (未测试) |
| 支持的机器人 | SMPL, H1_2, G1 等 |
| 许可证 | Apache-2.0 |
| 文档 | https://protomotions.github.io/ |
| 依赖 | PyTorch, IsaacGym/IsaacLab, MuJoCo 等 |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| GPU (NVIDIA A100 或同等) | 4+ | — | 用于大规模训练 |
| 计算机 | 1 | — | 运行仿真和训练 |
| Unitree G1 人形机器人 | 1 | — | 用于 Sim2Real 部署(可选) |
| Linux 操作系统 | 1 | — | 推荐 Ubuntu 20.04+ |
| Python 3.8+ | 1 | — | 编程语言 |
| PyTorch | 1 | — | 深度学习框架 |
| IsaacGym / IsaacLab | 1 | — | 物理仿真引擎 |
| MuJoCo 3.0+ | 1 | — | 物理仿真引擎 |
| NVIDIA Newton | 1 | — | 物理仿真引擎(可选) |
| CUDA Toolkit | 1 | — | GPU 加速 |
能力画像
⚪ 记忆与知识检索: 1/5
🔵 逻辑推演: 5/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 1/5
🔵 数理与计算: 5/5
🔵 动手与操作: 3/5
🔵 狂热与坚持: 4/5
🔵 创造与创新: 5/5
项目图库
所需技能
🔧 **动手能力**:需要具备一定的硬件操作能力,特别是如果计划进行 Sim2Real 部署,需要能够设置和操作真实机器人(如 Unitree G1)。此外,可能需要进行一些基本的硬件组装和调试。
💻 **编程能力**:需要精通 Python 编程,熟悉 PyTorch 深度学习框架。需要能够阅读、修改和编写代码,特别是与强化学习、仿真和机器人控制相关的代码。了解 GPU 编程和 CUDA 会有帮助。
⚡ **电子电路**:如果进行 Sim2Real 部署,可能需要了解基本的电子电路知识,用于连接传感器和执行器。但框架本身主要关注软件层面。
适用场景
**学术研究**:用于研究人类运动模仿、强化学习、机器人控制、Sim2Real 迁移等课题。
**机器人开发**:用于快速原型设计和测试人形机器人的运动控制策略。
**动画制作**:用于生成物理上合理的角色动画,并可以将其部署到真实机器人上。
**游戏开发**:用于创建逼真的角色运动和交互。
**工业自动化**:用于训练机器人执行复杂的操作任务。