AI 3D建模工具: Tripo 3D | Meshy AI
Isaac Lab 3.0 现在可以完全不装 Isaac Sim 就训练机器人策略——这是 v3.0.0(2026-10-20 GA)最实在的变化。同一份任务代码,physics=newton_mjwarp 跑 Newton,physics=ovphysx 跑独立打包的 PhysX,physics=isaacsim_physx 才回到完整 Isaac Sim。
代价写在迁移指南里,只有一页,但很贵:所有四元数从 (w, x, y, z) 改成 (x, y, z, w)。它不会抛异常,不会报 shape mismatch,训练照样跑完——只是策略是歪的。
本文依据 Isaac Lab v3.0.0 官方发布说明(GitHub Releases,28 KB 全文)、官方迁移指南、Newton 仓库 README 与 mjlab 文档/仓库 逐条核对。我们未在本地复现:手边没有能跑 Newton 的 NVIDIA GPU,所有数字均为官方自述,边界写在文末。
一、3.0 拆的是哪一层
拆之前:任务代码 → Isaac Sim(内含 PhysX + RTX + Kit 工具链),物理引擎和渲染器都藏在应用里面,换不了。
拆之后:任务代码 → 后端无关的资产/传感器/场景/环境 → 工厂分发到你选的那个实现。
# 只装 Newton:物理 + 渲染 + 轻量可视化,全都不需要 Isaac Sim
uv run isaaclab train --rl_library rsl_rl --task Isaac-Cartpole \
--viz newton_gl physics=newton_mjwarp
# 独立 OV 库:OVPhysX 做物理,OVRTX 做渲染
uv run --extra ov isaaclab train --rl_library rsl_rl --task Isaac-Cartpole-Camera \
--viz newton_gl physics=ovphysx renderer=ovrtx presets=rgb
# 完整 Isaac Sim:需要 ROS bridge、XR、livestreaming、Kit 工具链时才走这条
uv run --extra isaacsim isaaclab train --rl_library rsl_rl --task Isaac-Cartpole \
--viz kit physics=isaacsim_physx
物理、渲染、可视化是三个独立选项。可以 Newton 物理 + Newton Warp 相机渲染,同时用 Rerun 或 Viser 在浏览器里看。但可用组合是逐任务的,得自己查:
uv run isaaclab list_envs --show_presets
uv run isaaclab train --task <TASK_NAME> --help
这条 list_envs --show_presets 是本文最值得记住的一行。官方文档明确写了"supported combinations remain task-specific"——意思是别指望 physics=ovphysx 对你手上任何任务都成立。
二、不装 Isaac Sim 到底能跑什么
发布说明列了六条 kit-less 能力:
| 能力 | 具体内容 |
|---|---|
| Newton 物理 | MuJoCo-Warp、VBD、MPM、耦合求解器,以及实验性的 Kamino 求解器 |
| 相机渲染 | Newton Warp 相机渲染(不是 RTX 路径追踪) |
| 轻量可视化 | Newton GL;实验性的 Newton RTX |
| 浏览器可视化 | Viser、Rerun |
| OV 库 | OVPhysX / OVRTX 走 optional extras |
| 刚性/柔性/粒子 | 表面与体积可形变体,schema 片段可组合 |
反过来说,必须装完整 Isaac Sim 的只有五类:Isaac Sim PhysX 或 Isaac Sim RTX、ROS bridge、XR 遥操作、livestreaming、Kit 工具链。
一个容易被忽略的细节:官方那 17 个交互 demo 是把 Newton 编译成 WebAssembly 在浏览器 CPU 上跑的,不需要 GPU 也不需要安装。换句话说 Newton 的可移植边界比"GPU 物理引擎"这个标签宽——它已经能落到纯前端。
三、数据层:.data.* 不再是 tensor
3.0 里资产和传感器的 .data.* 返回 ProxyArray,要显式选后端:
joint_pos_torch = robot.data.joint_pos.torch
joint_pos_warp = robot.data.joint_pos.warp
零拷贝是卖点(PyTorch 与 Warp 共享同一块 GPU 内存,官方说法是减少 Python 与 tensor 转换开销),但写法必须改。下面这些旧写法全部失效:
robot.data.root_pos_w.clone() # ✗
torch.zeros_like(robot.data.joint_pos) # ✗
robot.data.root_pos_w.torch.clone() # ✓
torch.zeros_like(robot.data.joint_pos.torch) # ✓
写操作也变严了:模糊的资产写入要换成显式的 index / mask 变体(write_root_pose_to_sim_index(...))。
四、四元数:这次翻转不会报错
迁移指南里这一节只有十几行,但它是整个 3.0 里唯一"跑得通但结果错"的改动:
Isaac Lab 2.x: (w, x, y, z)
Isaac Lab 3.0: (x, y, z, w)
单位四元数:(1, 0, 0, 0) → (0, 0, 0, 1)
为什么危险:四元数的两种排列形状相同、类型相同、取值范围相同(都是 4 个 float,都归一化)。任何 torch.tensor([1.0, 0, 0, 0]) 在 3.0 里都是合法输入——只是它从"无旋转"变成了"绕 x 轴 180°"。
官方点名要复查的六处:硬编码旋转、reset 状态、目标位姿、控制器目标、观测、自定义数学。
一份可执行的查法,按代价从低到高:
# 1) 全仓搜硬编码的单位四元数
grep -rnE "1\.0?,\s*0\.0?,\s*0\.0?,\s*0\.0?" --include=*.py .
# 2) 搜所有显式构造 4 元组的旋转
grep -rnE "quat|orientation" --include=*.py . | grep -E "\[.*,.*,.*,.*\]"
再逐项过一遍:初始关节角里带旋转的、reset_root_state 传的朝向、目标物体摆放、控制器里的参考姿态、观测里的姿态分量、以及自己写的旋转工具函数(很多项目会抄一份 quat_from_euler 进来,那份一定还是老顺序)。
判据:迁移后先跑一个姿态已知的用例(比如把物体绕 z 轴转 90°),肉眼确认方向和角度都对,再开训练。不要用 loss 曲线当验收——四元数反了 loss 一样会降。
五、版本钉死表:3.0 锁的是哪一套
GA 相对 EA(09-16)升了一轮依赖,这就是 3.0 的实际环境基线:
| 组件 | 3.0 GA | 相对 EA 的变化 |
|---|---|---|
| Isaac Sim | 6.2 | 6.1 → 6.2 |
| NVIDIA Warp | 1.17 | 1.16 → 1.17 |
| Newton | 1.6.1 | 1.5.2 → 1.6.1 |
| RSL-RL | 5.5.1 | 5.4.1 → 5.5.1 |
| OpenUSD | 26.08(usd-exchange 3.0.1) |
25.05 → 26.08 |
| OVRTX | 0.5.1 | — |
| OVPhysX | 0.6.4 | — |
| Python / PyTorch | 3.12 / 2.11 + CUDA 13.0 | — |
RL 库一次接进六个:RSL-RL、RL-Games、skrl(PyTorch 或 JAX)、Stable-Baselines3、RLinf、TorchRL。checkpoint 参数统一成 --checkpoint,支持 latest / best / pretrained / 显式路径。
从 EA 迁过来的还要注意一个 API 级改动:AppLauncher 只剩有限兼容,新脚本要用 launch_simulation。被移除的包括 AppLauncher.is_available / has_gui / has_window / device、SettingsManager.instance() 与四个 setter、isaaclab.sim.utils.update_stage、隐藏的 --cpu(改用 --device cpu)。
六、真正在动的不是 Isaac Lab,是"框架和引擎解耦"
3.0 发布说明里 Newton 只占一段,但它才是这半年的变量。
Newton 由 Disney Research、Google DeepMind、NVIDIA 共同发起,现为 Linux Foundation 项目,Apache-2.0。它扩展 Warp 里已被弃用的 warp.sim,把 MuJoCo Warp 当主后端,强调 GPU 计算、OpenUSD 支持、可微分与用户自定义扩展。
mjlab 是同一件事的另一半:把 Isaac Lab 那套 manager-based API 直接搬到 MuJoCo Warp 上。一条命令就能跑:
uvx --from mjlab --refresh demo
uv run train Mjlab-Velocity-Flat-Unitree-G1 --env.scene.num-envs 4096
它钉的是 MuJoCo Warp 3.16.0,主打"依赖少、启动快、直接拿到原生 MjModel/MjData、PyTorch 张量与 GPU 内存零拷贝"。nightly 基准在 RTX 5090 上跑 4096 并行环境、Unitree G1 动作模仿 1024 次试验。
量级(2026-11-06 取数):
| 项目 | GitHub 星标 | PyPI 月下载 |
|---|---|---|
| Isaac Lab | 8,580 | — |
| Newton | 5,896 | 284,017 |
| mjlab | 3,343 | 60,015 |
| warp-lang(底座) | — | 1,078,315 |
Newton 建仓是 2025-04,mjlab 是 2025-06,两个都还在每天 push。三个项目的版本号已经不对齐:Isaac Lab 3.0 钉 Newton 1.6.1,而 Newton 自己已经发到 1.7.0(10-14)和 1.8.0rc1(11-04)。这就是"后端解耦"的第一张账单——版本矩阵开始爆炸。
七、我们的整理:选哪条路,先回答三个问题
官方没给决策表,我们按"要不要相机 / 要不要真机接口 / 要不要跨引擎对照"排了一版:
| 你的情况 | 建议后端 | 理由 |
|---|---|---|
| 只想验证任务逻辑、跑通 RL | newton_mjwarp + --viz newton_gl |
不用装 Isaac Sim,起得最快 |
| 训练要视觉观测(RGB / 深度) | newton_mjwarp + renderer=ovrtx 或 renderer=newton_renderer |
先用轻量渲染确认管线,再换 RTX 对比 |
| 要 ROS bridge / XR / livestream | isaacsim_physx + --viz kit |
这几项只在完整 Isaac Sim 里 |
| 要和 MuJoCo 生态或别人的 mjlab 结果对照 | mjlab(独立项目) | 同一套 manager API,物理换 MuJoCo Warp |
| 要 PhysX ↔ Newton 互迁策略 | 官方有专门教程 | 3.0 新增双向策略迁移指引 |
四步迁移清单(照这个顺序,别跳):
- 钉版本:
git clone --branch v3.0.0,环境按上表对齐;下游项目把 Isaac Lab 当 Python 依赖装时也要钉。 - 查四元数:按第四节的两个 grep 扫一遍,重点是自己抄进来的旋转工具函数。
- 换 ProxyArray:所有
.data.*后面补.torch或.warp;模糊写入换_index/_mask变体。 - 验组合:
uv run isaaclab list_envs --show_presets确认你要的 physics × renderer × viz 三元组真的被支持。
机器人仿真里最贵的一类 bug 从来不是算法,而是资产的尺度和朝向——单位是米还是毫米、up 轴是 Y 还是 Z。这类问题在进 task 配置之前就该看见。手上如果有机器人的 GLB / FBX / OBJ 网格,先丢进在线 3D 查看器看一眼尺度和朝向,比在仿真里调半天 reset 状态便宜。
八、边界
- 未复现:本文所有数字来自官方发布说明、迁移指南、仓库 README 与 PyPI 统计;我们没有 GPU 环境跑 Newton,也没有做吞吐对比。
- 官方自述:17 个交互 demo 走 WebAssembly、
ProxyArray的零拷贝收益、nightly 基准的帧率与吞吐,均为项目方说法。 - 实验性功能:Kamino 求解器、Newton RTX 可视化、部分耦合求解器在发布说明里标为 experimental,别当稳定 API 用。
- 不构成选型建议:三个项目的版本节奏不同步,落地前请以你钉的那个 tag 的文档为准。
Sources
- Isaac Lab v3.0.0 发布说明:https://github.com/isaac-sim/IsaacLab/releases/tag/v3.0.0(2026-10-20)
- 迁移指南《Migrating To 3.0》:https://isaac-sim.github.io/IsaacLab/main/source/isaaclab/migrating.html
- Newton 仓库与 README:https://github.com/newton-physics/newton
- mjlab 文档与仓库:https://mujocolab.github.io/mjlab/、https://github.com/mujocolab/mjlab
- 版本与下载量取数日:2026-11-06(GitHub API / PyPI Stats)
同主题阅读
本文属于「数字孪生」专题。BimAnt 编译整理,转载请注明出处。文中数字均为官方自述,未经本站复现。