物理学在机器人仿真中起着关键作用,为机器人在现实环境中的行为与交互提供了精确的虚拟呈现基础。借助这些仿真工具,研究人员和工程师能够以更安全、高效且经济的方式,对机器人控制算法进行训练、开发、测试,并验证机器人原型设计。
然而,仿真通常难以完全还原现实,这一挑战被称为“仿真与现实之间的差距”。机器人开发者亟需一个统一、可扩展且可定制的解决方案,以准确模拟现实世界中的物理特性,并支持多种类型的求解器。
本文将介绍如何在 NVIDIA Isaac Lab 中基于 Newton 训练四足机器人实现从一个位置到另一个位置的移动,以及如何利用工业机械臂在多物理场仿真环境中完成衣物折叠任务。
什么是 Newton?
Newton 是一个开源且可扩展的物理引擎,由 NVIDIA、Google DeepMind 和 Disney Research 共同开发,并由 Linux 基金会 进行管理,致力于推动机器人学习与开发的进步。
Newton 基于 NVIDIA Warp 和 OpenUSD 构建,使机器人能够以更高的精度、速度和可扩展性学习处理复杂任务。该平台兼容多种机器人学习框架,如 MuJoCo Playground 和 Isaac Lab。通过 Newton Solver API,开发者可以接入包括 MuJoCo Warp 在内的多种物理引擎,实现对基于张量的数据模型的操作,从而便捷地集成至 Isaac Lab 的训练环境中。

Newton 的核心是求解器模块,用于数值积分和约束求解。该求解器支持基于约束或基于力的方法,可采用直接法或迭代法,并兼容最大坐标与约化坐标表示形式。
使用通用接口和共享数据模型后,无论您运行的是 MuJoCo Warp、Disney Research Kamino 求解器,还是自定义求解器,均可与 Newton 保持持续交互。这种模块化设计还能让您复用碰撞处理、逆运动学、状态管理以及时间步进等核心逻辑,而无需重复编写应用程序代码。
在训练方面,Newton 提供了基于张量的 API,能够将物理状态表示为与 PyTorch 和 NumPy 兼容的数组,从而实现高效的批处理,并与 Isaac Lab 等机器人学习框架无缝集成。通过 Newton Selection API,训练脚本可以查询关节状态、施加动作,并将结果反馈至学习算法,所有操作均通过统一的接口完成。
由 Google DeepMind 开发的 MuJoCo Warp 已完全集成 Newton 求解器,同时为 DeepMind 堆栈中的 MJX 和 Playground 提供支持。这使得模型和基准能够在 Newton、Isaac Lab 与 MuJoCo 环境之间顺畅迁移,摩擦显著降低。
Newton 及其相关求解器采用 Apache 2.0 许可证发布,便于社区成员自由使用、扩展并参与贡献。
Newton 测试版有哪些值得关注的特点?
Newton 测试版的亮点主要有:
- Newton 求解器 MuJoCo Warp 在运动模拟方面,速度比在 GeForce RTX 4090 上运行的 MJX 快 152 倍,在操作任务方面则快 313 倍。NVIDIA RTX PRO Blackwell 系列为 MuJoCo Warp 和 MJX 分别带来最高 44% 和 75% 的性能提升。
- 作为新一代 Isaac Lab 的后端,Newton Beta 相较于 PhysX,可将 MuJoCo Warp 在手动灵巧操作任务中的运行速度提升 65%。
- 此外,针对服装等薄型可变形体的 Vortex Block Descent(VBD)求解器,以及适用于颗粒状材料的隐式材质点法(MPM)求解器,在性能与稳定性方面也得到了进一步增强。
如何在 Isaac Lab 中基于 Newton 框架训练四足机器人的运动策略
Isaac Lab 中集成的新 Newton 物理引擎为机器人研发带来了更高效、更稳定的工作流程。
本节将展示一个端到端的示例,涵盖四足运动策略的训练、在模拟环境中的性能验证,以及为实际部署所做的准备工作。以 ANYmal 机器人为案例,我们将演示这一完整且高效的训练、验证与部署流程。
第一步:利用 Newton 训练运动策略
第一步是配置存储库,并利用 Isaac Lab 中的强化学习脚本从零开始训练策略。本示例采用 rsl_rl
框架,训练 ANYmal-D 机器人在平面刚性地形上实现行走。通过GPU 并行化技术,支持在数千个同步环境中进行训练,从而加快策略收敛速度。
要在无外设模式下启动训练以实现最佳性能,请执行以下命令:
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py
--task Isaac-Velocity-Flat-Anymal-D-v0 --num_envs 4096 --headless
借助 Newton 测试版,您现在可以使用全新的轻量级 Newton Visualizer 来监控训练进度,避免承担完整 Omniverse GUI 带来的性能开销。只需添加 --newton_visualizer
标志即可。
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py
--task Isaac-Velocity-Flat-Anymal-D-v0 --num_envs 4096 --headless
--newton_visualizer
完成训练后,您将获得一个策略检查点(.pt 文件),用于进入下一阶段。

第二步:通过 Sim2Sim 迁移验证策略
Sim2Sim 传输是一项关键的完整性检查,用于确保策略不会过拟合于某一特定物理引擎的特性。能够在不同模拟器(如 PhysX 和 Newton)之间成功迁移的策略,通常在真实物理机器人上也表现出更高的成功率。
一个关键挑战在于,不同的物理引擎在解析机器人的 USD 文件时,可能会以不同的顺序排列其关节。为解决这一问题,我们采用简单的 YAML 映射文件,对策略的观测和动作进行重新映射。
要运行在 Newton 上使用基于 PhysX 的 Isaac Lab 训练出的策略,请使用提供的迁移脚本:
./isaaclab.sh -p scripts/newton_sim2sim/rsl_rl_transfer.py \
--task=Isaac-Velocity-Flat-Anymal-D-v0 \
--num_envs=32 \
--checkpoint <PATH_TO_POLICY_CHECKPOINT> \
--policy_transfer_file
scripts/sim2sim_transfer/config/newton_to_physx_anymal_d.yaml
该传输脚本可通过 Isaac-Sim 或 IsaacLab 的 GitHub 代码库获取。
第 3 步:准备部署 Sim2Real 系统
工作流的最后阶段是将仿真训练得到的策略迁移到物理机器人上。
例如,在标准的 Isaac Lab 环境中,使用 Newton 后端为 ANYmal-D 机器人训练策略。训练过程仅依赖于物理机器人传感器所提供的观测数据,如 IMU 和关节编码器的信息,确保不使用任何特权信息。
随后,在苏黎世联邦理工学院机器人系统实验室(RSL)与 NVIDIA 合作伙伴的协助下,该策略被直接部署到其物理实体 ANYmal 机器人上。硬件测试结果表明,机器人成功实现了行走步态,验证了从 Isaac Lab 中的仿真训练到现实世界系统测试的直接迁移路径(视频 2)。
这一完整的训练、验证与部署流程,展示了 Newton 如何成功实现从仿真环境到现实世界机器人的应用落地。
采用Newton独立引擎的多物理场仿真
多物理场仿真能够在统一框架内捕捉刚体(如机器人手)与可变形物体(如布料)之间的耦合交互,有助于更真实地评估机器人的设计、控制策略及任务执行性能,并支持数据驱动的优化。
虽然 Newton 可与 Isaac Lab 配合使用,但开发者也能在独立模式下直接通过 Python 来模拟和测试复杂的物理系统。
该演示展示了 Newton 的一项关键特性:能够模拟包含多种物理属性的混合系统。我们将通过一个刚性机械臂操控可变形布料的示例,展示 Newton API 如何支持在单一实时仿真中无缝集成多个物理求解器,从而简化复杂场景的构建与交互。
第 1 步:启动交互式演示程序
Newton 自带一系列易于运行的示例。只需在 Newton 仓库的根目录下执行相应命令,即可启动 Franka 机械臂和布料模拟演示。
首先,确认环境已正确配置。
# Set up the uv environment for running Newton examples
uv sync --extra examples
现在,运行一个布料操作的示例:
# Launch the Franka arm and cloth demo
uv run -m newton.examples cloth_franka
这将启动一个交互式查看器,您可以在其中实时观察 GPU 加速的模拟过程。Franka-Cloth 演示采用了基于 GPU 的 VBD 布料求解器,在 RTX 4090 上以约 30 FPS 的帧率运行,并在整个模拟过程中保持稳定的无渗透接触效果。
与其他采用无渗透动力学的基于 GPU 的模拟器(例如基于 GPU 的增量势接触求解器 GPU-IPC)相比,该示例的性能提升了 300 倍以上,是目前公开的完全无渗透布料模拟演示中速度极为领先的一个。
第二步:认识多物理场耦合
该演示是多物理场耦合的典型范例,展示了具有不同动态特性的系统之间的相互作用。通过为各个组件分配专用的求解器,实现了高效的协同仿真。在查看 example_cloth_franka.py
文件时,可以清楚地了解求解器的初始化过程。
# Initialize a Featherstone solver for the robot
self.robot_solver = SolverFeatherstone(self.model, ...)
# Initialize a Vertex-Block Descent (VBD) solver for the cloth
self.cloth_solver = SolverVBD(self.model, ...)
只需将 SolverFeatherstone
更改为支持刚体仿真的其他求解器(例如 SolverMuJoCo
),即可轻松切换为适用于机器人的求解器。
仿真循环中实现了求解器之间的协调,从而产生了显著的效果。本示例采用单向耦合方式,即刚体影响可变形物体,但反向作用则被忽略。这种设定在布料操作的应用场景中是可接受的,因为布料对机器人动力学的影响通常可以忽略不计。仿真循环的逻辑十分简洁明了:
- 更新布料:
cloth_solver
用于模拟布料的运动,并对机器人产生的碰撞做出响应。 - 更新机器人:
robot_solver
可更新 Franka 机械臂的状态,使其作为运动学物体进行移动。 - 检测碰撞: 引擎将检测更新后的机器人位置与布料粒子之间是否存在碰撞。
# A simplified view of the simulation loop in example_cloth_franka.py
def simulate(self):
for _step in range(self.sim_substeps):
# 1. Step the robot solver forward
self.robot_solver.step(self.state_0, self.state_1, ...)
# 2. Check for contacts between the robot and the cloth
self.contacts = self.model.collide(self.state_0, ...)
# 3. Step the cloth solver, passing in robot contact information
self.cloth_solver.step(self.state_0, self.state_1, ..., self.contacts, ...)
这种由用户控制的显式循环充分展现了 Newton API 的强大功能,使研究人员能够对不同物理系统的耦合方式实现精细调控。
该团队计划通过更深入、更紧密的集成来扩展 Newton。具体而言,他们将探索在系统间动态影响显著的场景中实现双向耦合,例如机器人在土壤或泥浆等可变形介质上运动时,土壤不仅会影响机器人的运动状态,还会对刚体施加反作用力。此外,团队还设想为特定的求解器组合引入隐式耦合机制,以更高效、自动地管理不同系统之间的力交互。
生态系统如何应用牛顿定律?
Newton 开放式生态系统正在快速扩展,众多顶尖高校与企业纷纷集成专用求解器与工作流。从触觉感知到布料模拟,从灵巧操作到复杂地形下的运动,这些合作充分展现了 Newton 如何为推动机器人学习、弥合仿真与现实之间的差距提供统一的基础平台。
苏黎世联邦理工学院机器人系统实验室(RSL)长期致力于将 Newton 平台应用于土木工程中的多物理场仿真,特别是在重型设备自动化领域。该团队采用 Newton 中的隐式材质点法(MPM)求解器,有效模拟颗粒材料之间的相互作用,如土壤、沙石与刚性机械结构碰撞等复杂场景。
与此同时,ETH 已在机器人与图形学研究中更广泛地应用 Warp,涵盖可部署运动控制中的微分模拟、基于高斯点阵(FOCI)的轨迹优化,以及利用 GarmentCodeData 数据集实现的大规模 3D 服装建模。
Lightwheel 积极为 Newton 贡献力量,专注于 SimReady 资产的开发与求解器优化,尤其在多物理场景中针对土壤、电缆等可变形体的模拟方面表现突出。以下演示展示了在大规模环境中应用的隐式 MPM 求解器,可用于模拟由多种材料构成的非刚性地形上任意四足机器人的运动。
北京大学(PKU)正通过集成其基于 IPC 的求解器 Taccel,将 Newton 框架拓展至触觉领域,用于模拟机器人机械手的视觉化触觉感知。借助 Newton 基于 GPU 加速的可微分架构,研究人员能够对细粒度的接触交互进行建模,这对于实现高精度的触觉感知与可变形物体操作具有重要意义。
Style3D 正将其在布料与软体模拟领域的深厚技术积累引入 Newton,推动服装及复杂交互可变形物体的高保真建模。目前,一个简化版的 Style3D 求解器已集成至 Newton 平台,未来还将推出 API,支持高级用户运行包含数百万顶点的全尺寸模拟。
慕尼黑工业大学(TUM)正在利用 Newton 在仿真环境中运行经过训练的灵巧操作策略,这些策略已在真实机器人上得到验证,标志着我们在实现仿真与现实闭环方面迈出了关键的第一步。此外,目前已能够在 MuJoCo Warp 中通过 4000 个并行环境进行策略训练。下一个目标是将这些策略成功迁移至实际硬件,并结合具有空间分辨率的触觉皮肤,进一步将该框架拓展至精细操作任务。
了解 TUM AIDX 实验室 如何利用 Warp 加速其在触觉手持操作代理方面的机器人研究,以及如何通过 Newton 推动机器人学习研究的进展。
开始使用 Newton
Newton 物理引擎采用模块化、可扩展且与模拟器无关的设计,能够为机器人研究人员提供高保真的仿真能力,并可直接集成于机器人学习中的各类求解器。
作为一个由社区驱动的开源项目,Newton 支持开发者自由使用、分发和扩展,可添加自定义求解器,并为整个生态系统贡献力量。
- 如需开始使用独立的 Newton 测试版,请访问 newton-physics/newton GitHub 仓库。
- 想要试用 Newton,可前往 GitHub 查看 isaac-sim/IsaacLab 项目。
- 更多资源请访问 Newton 开发者 页面。
了解将于9月27日至10月2日在韩国首尔举行的CoRL与Humanoids大会所展示的研究成果。
此外,您还可以参与 2025 BEHAVIOR 挑战赛,这是一项机器人基准测试,旨在评估推理、运动与操作能力,涵盖 50 项家庭任务以及 10,000 次远程操作演示。
订阅我们的时事通讯并在 LinkedIn、Instagram、X 和 Facebook 上关注 NVIDIA Robotics,及时获取最新资讯。浏览 NVIDIA 文档 和 YouTube 频道,参与 NVIDIA 开发者机器人论坛。 立即注册免费的 NVIDIA 机器人开发基础课程,开启您的机器人开发之旅。