📅 2026-08-03 · 🏷️ 物理仿真 · 机器人 · GPU
项目概览
GitHub: newton-physics/newton · 语言: Python · 开源协议: Apache 2.0
Newton是NVIDIA在GTC 2026上发布的开源GPU加速物理仿真引擎,基于NVIDIA Warp框架构建,专为机器人学家和仿真研究人员设计。Newton 1.0 GA版本为灵巧操作和移动任务提供了加速且可投入生产的物理模拟基础。
与传统的CPU物理引擎不同,Newton充分利用GPU并行计算能力,在处理大规模机器人仿真时速度提升数十倍。
# 安装NVIDIA Warp
pip install warp-lang
# 安装Newton
pip install newton-physics
# 验证安装
python -c "import newton; print(newton.__version__)"
import warp as wp
import newton
wp.init()
# 创建仿真场景
scene = newton.Scene()
# 添加地面
ground = scene.add_ground_plane()
# 添加球体
ball = scene.add_sphere(
pos=(0.0, 5.0, 0.0),
radius=0.5,
mass=1.0
)
# 模拟100步
for i in range(100):
scene.step(dt=1.0/60.0)
print(f"Step {i}: ball position = {ball.get_position()}")
import newton
scene = newton.Scene()
# 加载URDF模型
robot = scene.add_urdf("path/to/franka_panda.urdf")
# 设置关节目标位置
robot.set_joint_targets([0.0, -0.5, 0.0, -1.5, 0.0, 1.5, 0.0])
# 添加接触力传感器
contacts = newton.Contacts(naconmax=100, 0, requested_attributes={"force"})
# 仿真
for i in range(1000):
scene.step(dt=1.0/120.0)
# 获取末端执行器接触力
if contacts.nacon > 0:
forces = contacts.force.numpy()
print(f"Contact forces: {forces}")
Newton与NVIDIA Isaac Lab深度集成,可以直接替换Isaac Lab的默认物理引擎:
# 在Isaac Lab中启用Newton
from omni.isaac.lab.app import AppLauncher
app = AppLauncher(headless=True, physics_engine="newton")
# 后续代码与正常Isaac Lab脚本一致
# Newton自动处理GPU并行计算
对于AI模型本地部署方面,如果你想了解如何用GPU跑大模型推理,可以参考vLLM本地部署教程。如果你对本地模型微调感兴趣,Unsloth本地模型训练教程是很好的入门。
| 引擎 | 并行环境数 | FPS | GPU利用 |
|---|---|---|---|
| Newton | 4096 | ~85000 | 95% |
| PhysX (CPU) | 64 | ~2000 | N/A |
| MuJoCo | 1024 | ~15000 | 30% |
Newton代表了物理仿真引擎的下一代方向——完全GPU原生、可微分、与AI训练管线无缝集成。对于做机器人强化学习的研究者和工程师,Newton是目前性能最强的开源选择之一。
GitHub: newton-physics/newton · 语言: Python · 开源协议: Apache 2.0
NVIDIA GPU(RTX 20系列及以上,推荐RTX 40/50系列)