GitHub Explorer

Newton 深度分析报告

GitHub: https://github.com/newton-physics/newton

一句话总结

NVIDIA + Google DeepMind + Disney Research 三方联合、捐赠给 Linux Foundation 的 GPU 加速统一物理仿真引擎——8 个求解器(XPBD/MuJoCo/VBD/MPM 等)共享一个 Python API,GPU 操作比 MJX 快 475 倍,OpenUSD 工业互操作是一等公民。

值得关注的理由

  1. 三大 AI/仿真巨头联合 + Linux Foundation 中立治理:NVIDIA(XPBD/Warp)、Google DeepMind(MuJoCo Warp)、Disney Research(VBD/Style3D 布料)三方核心技术在中立平台汇合——这在物理仿真领域史无前例。XPBD 论文原作者 Miles Macklin 担任技术指导,RSS 2021 Best Student Paper 得主 Eric Heiden 主导开发
  2. 业界首个将 8 种求解器统一到一个 Python API 的开源引擎:刚体/布料/绳索/颗粒/MPM/运动学闭链——一行代码切换后端(solver = newton.solvers.SolverMuJoCo(model)),直接解决了「每换一种物理就换一套工具链」的碎片化痛点
  3. 性能碾压 + 工业落地:GPU 操作比 MJX 快 475x,运动任务快 252x,灵巧操作训练比 Isaac Sim 快 65%。Skild AI(GPU 机架组装)、Samsung+Lightwheel(冰箱产线电缆操作)已在使用。OpenUSD 深度集成打通了产线工具链

项目画像

维度数据
GitHubhttps://github.com/newton-physics/newton
Star / Fork3,796 / 394
代码行数218,085 行 Python(求解器模块 136K 行占 62%)
项目年龄12.4 个月(首次提交 2025-03,公开 2025-04-22)
开发阶段v1.0.0 已发布,v1.1.0.dev0 开发中(月均 135 次 commit)
贡献模式企业团队驱动(~25 位贡献者,95% 工作日提交,100% PR 驱动)
热度定位中等热度(大会驱动增长——CoRL 2025 +741,GTC 2026 +1,191)
质量评级架构⭐⭐⭐⭐⭐ 工程实践⭐⭐⭐⭐⭐ 测试⭐⭐⭐⭐

作者视角:为什么存在这个项目

创始人/作者背景

Eric Heiden(核心开发者,494 commits),NVIDIA Research Scientist,USC 博士,RSS 2021 Best Student Paper(可微分仿真方向)。技术指导 Miles Macklin,NVIDIA 仿真技术总监,XPBD 论文原作者。团队几乎全部来自 NVIDIA 仿真部门,从 warp.sim(已标记 deprecated)演化而来。Google DeepMind 贡献了 MuJoCo Warp GPU 后端,Disney Research 贡献了 VBD 和 Style3D 布料求解器。

问题判断

物理仿真长期存在三大痛点:碎片化(刚体用 MuJoCo,布料用专用求解器,颗粒用 MPM——每换一种物理就换工具链)、性能瓶颈(传统引擎 CPU 为主,难以支撑 RL 所需的数千环境并行)、Sim-to-Real 断层(仿真不可微无法做端到端优化,USD 支持薄弱无法对接产线)。Eric 和 Miles 在各自研究中遇到同一个问题:做机器人策略训练时需要同时处理刚体关节、可变形电缆、布料遮挡等混合场景,但没有引擎能在 GPU 上同时高效处理。

解法哲学

三条贯穿整个代码库的设计原则:

  • 统一抽象,异构求解器:不追求「一个求解器解决所有物理」,而是为每种物理选最优算法——XPBD 做通用、MuJoCo 做关节、VBD 做布料绳索、MPM 做颗粒——统一到 Model → State → Solver.step() 接口
  • GPU 原生,不是 CPU 移植:所有内核用 @wp.kernel 定义直接 GPU 运行,支持 CUDA Graph capture 消除 CPU-GPU 同步
  • 工业互操作优先:OpenUSD 是一等公民,SchemaResolver 声明式映射 USD 属性到 Newton 数据

战略意图

捐赠给 Linux Foundation 是深思熟虑的选择:让三方技术在中立平台汇合避免厂商锁定,Apache-2.0 降低工业界采用门槛,通过 newton-usd-schemas 推动物理仿真 USD 扩展的标准化。Newton 的生态位是 NVIDIA Warp(底层 GPU 编程)和上层应用(Isaac Lab 机器人训练、工业仿真)之间的「仿真操作系统」。

核心价值提炼

创新之处

  1. 多求解器统一架构(新颖度 4/5 | 实用性 5/5 | 可迁移性 4/5) 8 个物理求解器共享 SolverBase 接口和 Model→State→Control→Contacts→Solver.step() 流水线。用户一行代码切换后端。业界首次将 MuJoCo Warp、XPBD、VBD、MPM、投影动力学统一到一个 Python API。Custom Attributes 机制让每个求解器声明自己的额外数据而不修改核心结构。

  2. SDF 纹理碰撞 + 水弹性接触(新颖度 4/5 | 实用性 4/5 | 可迁移性 3/5) 用 3D 纹理替代 NanoVDB 做 Mesh-Mesh SDF 碰撞,结合水弹性模型(借鉴 Drake)通过 SDF 等值面八叉树细化生成分布式接触力。解决工业场景中复杂几何体碰撞的精度和性能平衡。

  3. Custom + Extended Attributes 二层扩展(新颖度 3/5 | 实用性 5/5 | 可迁移性 5/5) Custom Attributes 允许求解器声明自定义数据(14 种频率维度),Extended Attributes 提供按需分配的衍生量。使新增求解器或传感器无需修改核心数据结构——声明式属性注册模式可直接迁移到任何可扩展框架。

  4. SchemaResolver USD 映射(新颖度 4/5 | 实用性 4/5 | 可迁移性 4/5) 声明式的 USD 属性到 Newton 数据的映射系统,支持 7 种 Prim 类型和第三方扩展。在开源物理引擎中 USD 集成最深。

  5. Multi-World GPU 批量仿真(新颖度 3/5 | 实用性 5/5 | 可迁移性 4/5) 一个 Model 内包含数千独立 world,通过 world index 分组,GPU 内核一次处理所有 world。builder.replicate(sub_builder, world_count=1024) 一行代码创建 1024 个并行环境。

可复用的模式与技巧

  1. 双缓冲 State 交换:state_0, state_1 = state_1, state_0 避免每步分配内存,支持 CUDA Graph capture——任何迭代更新状态的 GPU 计算都适用
  2. Builder-Finalize 两阶段构建:Python list 做增量构建,finalize() 一次性转 GPU 数组——解决「方便构建」vs「高效运行」的矛盾
  3. 位掩码通知机制:SolverNotifyFlags 位掩码通知求解器只刷新受影响的缓冲区——避免全量重建
  4. 声明式属性注册:求解器通过 register_custom_attributes() 自我描述需要的数据——插件式扩展不污染核心
  5. CUDA Graph Capture:wp.ScopedCapture() 录制仿真循环,后续 wp.capture_launch(graph) 消除 CPU 调度开销

关键设计决策

  1. 8 个求解器共享接口而非单一通用求解器:为每种物理选最优算法——代价是求解器模块 136K 行(62%),但换来了每种物理的最优性能
  2. ModelBuilder 10.5K 行的「God Class」:承载所有实体创建和格式导入——方便用户但可维护性受限(作者已知的技术债)
  3. NVIDIA Warp 作为唯一 GPU 后端:获得原生 NVIDIA 优化——代价是对 AMD/Intel GPU 的支持受限
  4. MuJoCo 作为求解器之一而非竞品:6,275 行桥接层集成 MuJoCo Warp GPU 后端——让 MuJoCo 用户零迁移成本获得 GPU 加速

竞品格局与定位

竞品对比矩阵

维度NewtonMuJoCo/MJXDrakeBraxIsaac Sim
多物理8 种求解器统一单求解器刚体+水弹性仅刚体多物理但闭源
GPU✅ NVIDIA WarpMJX 用 JAXCPU 为主✅ JAX✅ PhysX
开源Apache-2.0Apache-2.0BSD-3Apache-2.0专有
USD原生深度集成❌有限❌Omniverse 原生
可微部分求解器MJX 全可微有限全可微❌
治理Linux FoundationGoogle DeepMindMIT TRIGoogleNVIDIA
布料/绳索VBD+Style3D+XPBD有限❌❌PhysX
性能GPU 475x over MJXMJX 较快CPU 慢JAX 快PhysX 快
工业案例Skild/Samsung学术广泛Toyota学术NVIDIA 生态

差异化护城河

唯一的开源多求解器统一引擎——没有其他项目能在一个 Python API 下提供 8 种求解器。MuJoCo Warp 桥接使 MuJoCo 用户零成本获得 GPU 加速。OpenUSD 工业互操作在开源物理引擎中最深。Linux Foundation 中立治理让 NVIDIA/Google/Disney 三方技术持续汇合。

竞争风险

  • MJX 和 Brax 的全可微优势明显,Newton 的可微支持仍不完整
  • MuJoCo 十余年积累和海量论文验证的成熟度优势
  • macOS 仅 CPU 支持对 Apple Silicon 用户不友好

生态定位

物理仿真的「Linux 时刻」——三大巨头技术在中立平台汇合,从碎片化走向统一。在 NVIDIA Warp 和上层应用(Isaac Lab/工业仿真)之间的「仿真操作系统」层。

套利机会分析

  • 信息差: 有显著信息差——3.8K Stars 对于 NVIDIA+DeepMind+Disney 联合、Linux Foundation 治理、v1.0 已发布的项目严重偏低。「物理仿真的 Linux 时刻」「XPBD 原作者做的引擎」「比 MJX 快 475 倍」都是极强的叙事钩子
  • 技术借鉴: 多求解器统一接口(策略模式 + Custom Attributes)、双缓冲 State 交换、Builder-Finalize 两阶段构建、位掩码通知、SchemaResolver 声明式映射——五个高可迁移性模式
  • 生态位: 填补了「开源多物理 GPU 统一仿真引擎」的空白。v1.0 发布标志着从研究原型走向工业可用
  • 趋势判断: 大会驱动增长(CoRL/GTC),v1.1 开发中,Kamino 求解器 beta 阶段。随着具身 AI 热度持续上升,Newton 的增长动力将持续

风险与不足

  1. 可微分支持不完整:仅 Featherstone/SemiImplicit 有基础支持,MJX/Brax 的全可微优势明显
  2. ModelBuilder God Class:10.5K 行承载所有实体创建和格式导入,需要拆分
  3. NVIDIA GPU 绑定:Warp 后端限制了对 AMD/Intel GPU 的支持
  4. 生态成熟度:MuJoCo 十余年积累 vs Newton 一年多,论文验证和社区经验差距大
  5. macOS 仅 CPU:Apple Silicon 用户无法使用 GPU 加速
  6. Kamino 求解器 Beta:运动学闭链求解器尚未稳定

行动建议

  • 如果你要用它: 适合需要混合物理仿真(刚体+布料+绳索)的机器人 RL 研究者和工业仿真工程师。pip install newton-physics[sim] 安装,需要 NVIDIA GPU + CUDA。对比 MuJoCo(更成熟但单求解器)和 Isaac Sim(更完整但闭源),Newton 的核心优势在多物理统一 + 开源中立
  • 如果你要学它: 重点关注 newton/_src/solvers/solver.py(SolverBase 统一接口)、newton/_src/solvers/mujoco/(6,275 行的 MuJoCo 桥接,展示了如何集成外部求解器)、newton/_src/geometry/collision_pipeline.py(工业级碰撞检测流水线)、newton/_src/sim/builder.py(Builder-Finalize 模式)
  • 如果你要 fork 它: 改进方向——扩展可微分支持到更多求解器、拆分 ModelBuilder 的导入逻辑为独立 Importer 模块、增加 AMD ROCm 后端支持

知识入口

资源链接
DeepWikideepwiki.com/newton-physics/newton
Zread.ai未收录
官方文档newton-physics.github.io/newton
关联论文Eric Heiden RSS 2021 Best Student Paper(可微分仿真)
在线 Demo无(需 NVIDIA GPU)
GTC 2026 演讲Newton v1.0 发布公告
PyPIpypi.org/project/newton-physics

相关报告