如何用 AI Agent 为仿真准备 3D 场景
Agentic AI 工作流可以用来为 物理 AI 系统准备并校验数字孪生。Agent 可以检查 3D 场景,在 OpenUSD 中编写仿真相关数据、添加物理属性、渲染预检视图,并依据仿真就绪(SimReady)要求校验结果。本文将带你走完整个流程:从 Blender 中的场景出发,最终交付给 NVIDIA Isaac Sim 或 NVIDIA Isaac Lab 一个仿真就绪的 OpenUSD 场景。
但在实践中,如果你在做机器人领域的 agent,这个工作流常常会卡住。人们很容易把问题归咎于 policy、模型或训练循环,但瓶颈往往出现在更早的环节:机器人没有一个仿真就绪的训练环境。而要把 3D 场景调整到这种状态,工作量大、耗时长,而且通常超出了机器人仿真工程师的职责范围。
本文介绍一个使用 NVIDIA Omniverse Libraries 将 Blender 场景准备为机器人仿真环境的 agent 工作流。由 OpenAI GPT-6 Astra 驱动的 Codex 负责统筹整体任务、解读结果并指导迭代。基于 Hermes agent harness 构建并通过 NVIDIA NemoClaw 部署的专用 subagent,则借助 Omniverse Libraries 检查场景、编写仿真元数据、配置物理属性并渲染视觉预检视图。
这些组件将推理、工具执行与校验串联起来,形成一套可重复的流程,最终交付仿真就绪的 OpenUSD 世界。
为什么为仿真准备 3D 场景颇具挑战?
场景确实存在——3D 艺术家在 Blender 中创建了所有资产——但它真的可用于仿真吗?以下准备工作是否已悉数完成?
- 物体是否已标记?
- 碰撞网格是否正确?
- 材质是否对仿真有意义?
- 传感器是否已放置并配置?
- 场景能否顺利导出为 USD?
- 机器人能否感知目标物体?
- 在进入 Isaac Sim 或 Isaac Lab 调试之前,场景能否通过验证?
这些准备工作枯燥、重复且易错。然而,这正是智能体系统应当协助的领域,前提是拥有合适的工具。在智能体工作流中使用 NVIDIA Omniverse Libraries 的目的,正是集成构建 SimReady 世界所需的工具。
智能体如何协助为仿真准备 3D 场景?
Codex(ChatGPT 版)或 Claude Cowork(Anthropic 版)等通用智能体可以查看 Blender 场景,并识别出需要进行仿真就绪改造。识别固然有用,但还不够。要真正帮助机器人开发者,智能体必须能对场景执行以下操作:
- 检查 Blender 场景
- 识别缺失的仿真元数据
- 添加语义标签
- 配置传感器
- 创建碰撞形状和物理属性
- 渲染视觉预检视图
- 运行 SimReady 验证
- 自动修复安全类问题
- 将模棱两可的决策上报给人类
“让 3D 场景具备仿真就绪能力”这一广泛需求,便转化为多智能体工程工作流。Codex 或 Claude 作为主智能体,协调场景准备仿真的整体任务。NVIDIA NemoClaw 提供了构建执行各项任务的专用子智能体的参考架构。这些子智能体可使用 Hermes、OpenClaw 或 LangChain 等开源智能体框架,并配置不同的 NVIDIA Nemotron 模型以处理视觉、推理和工具调用。
在 Astra 和 Hermes 的配置中,Codex 利用 Astra 将开发目标拆解为具体任务,识别依赖关系,并审查通过 NemoClaw 部署的专用 Hermes 子代理返回的结果。例如,让物体可被抓取,需要协调更新其语义标签、刚体配置以及碰撞几何。Astra 负责跨子代理串联这些需求,并确定工作流继续推进前需要执行哪些检查。 NVIDIA Omniverse 库提供了子代理操作场景所需的工具。OpenUSD 操作建立共享的场景结构,ovphysx 负责编写和检查物理属性,ovrtx 渲染可视化预检视图,SimReady 验证则评估生成的资产是否符合目标仿真配置。 每个子代理负责特定的任务及其验收标准。安全的机械性问题可以自动修复。涉及开发意图的决策(如不确定的语义标签或物理行为)会连同相关上下文和建议的下一步骤升级给人类处理。 该模式概括为:- Codex 或 Claude 负责协调
- NemoClaw 代理进行推理
- Omniverse 库执行操作
如何用 agent 为仿真准备 3D 场景
首先,为编排 agent 明确主要目标,包括输入、期望输出、目的地和验证标准。这样 Codex 或 Claude 就能获得足够的结构信息来统筹整个任务,把工作分配给各个专长的 NemoClaw 子 agent,并判断任务何时真正完成。
输入:Blender 场景 目标:将其准备为机器人仿真场景 输出:基于 USD 的可直接仿真环境 目的地:Isaac Sim 或 Isaac Lab 验证:视觉预检 + SimReady 验证
明确了主要目标后,任务就从简单的一句“把这个场景做得更好”变成了一个协调的 agent 工作流:Codex 或 Claude 负责管理整体请求,NemoClaw 子 agent 完成各自的专业任务,Omniverse Libraries 则提供修改、渲染、验证和准备环境的工具。
设定好目标之后,按以下步骤操作。
第 1 步:通过 Blender MCP 检查场景
第一个子智能体通过 Model Context Protocol (MCP) 服务器 连接 Blender,并借此盘点场景内容。MCP 为智能体提供了受控的工具接口:它无需通过截图猜测或依赖手动导出,就能调用工具来检查对象、集合、变换参数、材质、相机、灯光及场景元数据。这份场景清单将成为其他子智能体共享的上下文。
该子智能体需要回答:
- 有哪些对象?
- 存在哪些集合和层级结构?
- 分配了哪些材质?
- 有哪些相机和灯光?
- 哪些内容类似机器人的目标、障碍物、地面、货架或料箱?
- 缺少哪些仿真数据?
输出应按以下结构组织:
{
"objects": 142,
"materials": 37,
"missing": [
"semantic_labels",
"collision_meshes",
"camera_sensors",
"physics_materials"
]
}
这为其他子智能体提供了一个共享的起点。
Hermes 检查子智能体将结构化结果返回给 Codex。Astra 结合这份清单与开发者的机器人学目标,识别缺失信息并规划后续任务。例如,识别机器人的目标对象有助于确定哪些资产需要可动体属性,以及哪些传感器视角需要审查。随后,Codex 通过 NemoClaw 将这些任务委派给相应的 Hermes 子智能体,并明确验收标准,同时标记出需开发者介入解决的未定假设。
本文的工作流使用 Alex Trevino 的 The Junk Shop(原始概念来自 Anais Maamar)进行演示(图 2)。Codex 协调 NemoClaw,编排处理指定任务所需的子智能体。在此示例中,NemoClaw 正通过 Blender MCP 运行 The Junk Shop 场景,并盘点对象、材质、场景结构等内容。
第二步:以 USD 作为契约推动工作流
Blender 是创作环境。USD 是模拟的交接点,因为它为智能体(agents)和下游工具提供了世界的共享结构化表示。一旦场景被创作并转为 USD,子智能体就可以检查 prims、添加元数据、验证要求,并将同一世界传递给 Isaac Sim 或 Isaac Lab,而无需依赖脆弱的一次性导出。
USD 创作智能体使用 Omniverse Libraries 来保留层次结构、变换、材质、标签、物理元数据和传感器定义。
对智能体构建者的一条实用规则是:如果后续需要另一个智能体或模拟器依赖它,就将其创作进 USD。
USD 专为分层、非破坏性的场景组合而设计,因此智能体可以添加标签、物理元数据、传感器定义、材质和验证数据,而不会扁平化原始创意作品。这使得工作流不再是一组困在单一工具中的临时编辑,而是为每个下游步骤提供了共享的、可检查的事实来源。
第 3 步:添加语义标签
机器人需要的不仅是几何体,还需要含义。语义标注智能体会把匿名的网格变成具有任务语义的对象:货架、料箱、地面、障碍物、可抓取物品和机器人目标。通过把这些标签写入 USD,整个工作流为下游的智能体和机器人工具提供了统一的词汇表,可用于感知、验证、合成数据和训练配置。
语义标注智能体会用与任务相关的类别为 prim 打标签:
shelf(货架)bin(料箱)box(箱子)floor(地面)obstacle(障碍物)grabbable_object(可抓取物体)robot_target(机器人目标)no_go_zone(禁行区域)
智能体可以根据对象名称、层级结构、形状和上下文推断标签,但也应当标记出不确定的部分:
已标注 118 个 prim。 9 个标签需要人工审核。
图 4 展示了 Codex 如何编排 NVIDIA NemoClaw。NemoClaw 通过 Blender MCP 与子智能体协同工作,而 NVIDIA Omniverse Libraries 则是子智能体执行任务所依赖的工具。在此案例中,ovrtx 智能体通过该工作流检查 Blender 场景,并应用使场景具备机器人仿真准备就绪状态所需的语义分割和标签。
这一点至关重要,因为标签是连接场景内容与机器人工作流的桥梁,涵盖感知、任务设置、合成数据及验证等环节。
步骤 4:让材质支持仿真
在 Blender 中看起来不错的材质,对于仿真而言可能仍不完整。在视口中,货架看起来像金属或箱子看起来像塑料可能就够了。但在机器人工作流中,这些表面需要具备材质属性,以便下游系统用于渲染、感知、物理计算、域随机化及验证。材质智能体将视觉外观转化为对仿真有用的元数据。
材质 Agent 负责检查视觉材质,并创建与仿真相关的材质元数据。例如在仓库场景中,它需要识别金属货架、纸箱、塑料收纳箱、混凝土地面、橡胶轮子或玻璃面板。
目标并非让材质更好看,而是为仿真和验证提供更有用的信息。
步骤 5:尽早创建传感器
如果机器人需要感知外部世界,传感器就不能在训练环境里事后才补上。相机和激光雷达的配置决定了机器人能观察到什么、能生成哪些数据,以及训练场景是否真实还原了实际任务。尽早配置传感器,能让 agent 在场景进入 Isaac Sim 或 Isaac Lab 之前,先验证安装位置、视场角、量程、轮询频率、遮挡情况和目标可见性。
一个传感器子 agent 可以按以下参数把相机和激光雷达写入场景:
- 位置
- 朝向
- 视场角
- 轮询频率
- 量程
- 分辨率
- 目标坐标系
这种做法让工作流能在训练开始前就暴露出一些关键问题:
- 机器人能看到目标吗?
- 传感器是否被遮挡?
- 视场角设置是否合理?
- 从预期视角能否看到训练物体?
图 6 展示了 NemoClaw 调度子 agent 调用完成任务所需的工具 ovrtx。ovrtx 会加载一个已配置激光雷达的场景,预热传感器管线,渲染一帧点云,通过 count 通道读取有效点数据,输出统计摘要,并按强度着色来可视化这些点。
步骤 6:使用 ovphysx 确保物理就绪
此时,场景不再只是视觉呈现,而是成为了具备物理感知的数字孪生世界。对象不再是单纯的带材质网格;它们拥有碰撞体、质量、摩擦系数、刚体行为以及交互规则。这意味着箱子可以被拾取,货架可以阻挡运动,机器人可以在一个具有真实物理特性的世界中测试动作,而不仅仅是看起来正确。
ovphysx 子代理添加或验证以下内容:
- 碰撞网格
- 静态碰撞体
- 刚体
- 质量属性
- 摩擦系数
- 恢复系数
- 物理材质
- 可移动与固定对象
常见的故障恰恰是那些后期难以解决的繁琐问题:
46 个对象缺少碰撞网格。 12 个可抓取对象被标记为静态。 7 个碰撞网格过于复杂。 3 个道具悬浮在地板上方。
ovphysx 智能体负责这项任务。它会将上述分析结果转化为修复方案,自动执行安全的修正,并将模糊场景交由人工处理。
例如,该智能体可为静态道具生成简单的碰撞网格,将地板和货架标记为固定碰撞体,为可抓取对象赋予刚体属性,并对任何物理行为依赖于任务意图的对象进行标记。输出结果不仅是一个更整洁的场景,还是一份“物理就绪”报告,可供下游智能体和验证工具使用。
图 7 展示了 NemoClaw 编排一个子智能体调用使 3D 场景具备物理特性的相应工具 ovphysx。ovphysx 用于添加刚体属性、碰撞体、质量和摩擦系数,以确保场景在传输到 Isaac Sim 或 Isaac Lab 时具备模拟就绪状态。
第 7 步:使用 ovrtx 作为预检循环
为什么在仿真之前要先渲染?因为校验只能告诉 agent 场景在结构上是否合规,而渲染才能看出场景是否真正可用。ovrtx agent 可以生成机器人相机视角和审查视角,检查目标是否被遮挡、光照是否有问题、传感器是否被裁剪、材质是否损坏、物体是否难以辨认,并在浪费训练时间之前把问题派发给对应的修复 agent。
ovrtx agent 渲染审查视角和机器人视角,让工作流能够确认以下关键点:
- 目标物体是否可见?
- 可见物体上是否贴有标签?
- 材质渲染是否正确?
- 光照是否符合物理规律?
- 相机是否被遮挡或裁剪?
- 物体比例是否合理?
到这一步,ovrtx 相当于为 agent 流水线提供了视觉 QA。
Hermes 渲染子 agent 运行在 NemoClaw 环境中,它调用 ovrtx 生成审查图像,并连同相关场景元数据一起返回给 Codex。Astra 可以利用这些证据排查差异,并协调安排有针对性的后续任务。如果某个带标签的目标没有出现在机器人相机视角中,Codex 可以让传感器和场景检查子 agent 去核查相机朝向、裁剪设置以及可能的遮挡物。修正之后,渲染子 agent 会再生成一张视角图,以验证修复结果。这就把视觉审查接入了可执行的修复闭环。
步骤 8:运行 SimReady 验证
最后,验证 Agent 针对目标配置文件运行 SimReady 校验。这是 Agent 工作流的验收关卡。SimReady Foundation 定义了面向仿真就绪 USD 内容的标准与校验配置,验证 Agent 依据这些配置检查场景是否真正就绪。若校验失败,报告即转化为修复 Agent 的任务清单;若通过,场景即可移交 Isaac Sim 或 Isaac Lab。
报告应当具备可操作性:
校验失败:14 个问题 - 10 个可自动修复 - 4 个需人工审核
修复 Agent 可处理安全类问题,歧义类失败则上报人工。例如:“已自动修复 10 个校验问题。4 个需审核:2 个语义标签不确定、1 个可抓取对象物理设置冲突、1 个对象可能是障碍物也可能是目标。”人工确认预期行为后,Agent 执行修复并重新运行校验。
Hermes 校验子 Agent 将 SimReady 报告回传至 Codex,由 Astra 协助判定所需的修复与后续检查项。Codex 将相应任务委派给通过 NemoClaw 部署的 Hermes 子 Agent。移动传感器可能需再次执行 ovrtx 可见性检查,改变对象角色则可能需同步更新语义标签与物理属性。子 Agent 应用获批变更并复跑相关检查,Codex 最终向开发者汇总变更记录、校验证据及待决事项。
目标是产出符合仿真契约的场景,而非仅仅导出文件。
图 9 展示了 NemoClaw 调度调用 SimReady Blender 插件的子 Agent,用于按目标 SimReady 配置校验场景。若校验报告出现失败项,Agent 会标记需人工审核后方可继续。
开始为仿真准备 3D 场景
机器人训练并非从策略运行那一刻才开始,而是从世界准备就绪那一刻开始。而这远不止是场景看起来漂亮就行——它需要一个带有语义标签、仿真友好材质、传感器、物理属性的 USD 世界,还需要视觉预检,以及对照目标 profile 的验证。这些繁琐的胶水工作太多,不该全交给人工;但又太具体,单靠提示词也无法解决。
有效的模式是一组具备实际工具的子代理:
Blender MCP 检查场景。 Omniverse Libraries 构建世界。 USD 承载契约。 语义标签赋予意义。 传感器定义感知。 ovphysx 使其具备物理属性。 ovrtx 使其在视觉上可测试。 SimReady 验证使其符合要求。 Isaac Sim / Isaac Lab 使其可训练。
前进的道路是借助实际工具的代理化工程:由 Codex 或 Claude 负责编排,NemoClaw 协调子代理,NVIDIA Omniverse Libraries 让这些代理能够作用于场景。
推荐的系统包括:
- NVIDIA DGX Spark:本地原型的理想选择,拥有 128GB 一致统一系统内存。用它开发 NemoClaw 子代理,通过 MCP 连接 Blender,创建 USD,运行 SimReady 验证,并从桌面系统测试 ovrtx 或 ovphysx 循环。
- NVIDIA DGX Station:终极桌面 AI 超级计算机,由 NVIDIA GB300 Grace Blackwell Ultra 桌面超级芯片驱动,拥有高达 748 GB 的一致内存,用于本地 AI 开发、推理和代理工作流,可配置额外的 NVIDIA RTX PRO 6000 Blackwell 代工作站 GPU。当场景变大、本地模型需要更多内存、更多子代理并行运行,或仿真和可视化工作负载要求更高时,使用它。
- NVIDIA RTX PRO 服务器:最适合团队级流水线。用于共享代理工作流、批量场景准备、大型 OpenUSD 资源、合成数据生成和生产级验证运行。
- NVIDIA DGX 云:最适合云规模开发。当工作流需要弹性计算来处理大型训练任务、批量仿真,或超出本地硬件能力的大规模物理 AI 流水线时使用。
准备开始了吗?选择一个场景准备的瓶颈,交给子代理,连接到一个 Omniverse 工具,并添加一个验证关卡。
如需了解更多,请查阅以下资源:
- 在 Omniverse Labs GitHub 仓库中浏览更多 Omniverse 示例
- 探索 NVIDIA Omniverse Libraries,掌握可供智能体调用的 USD、渲染、物理、存储及校验工具
- 试用 SimReady Foundation,理解校验配置文件与仿真就绪的 USD 要求
- 朝着机器人学习方向构建,接入 Isaac Lab 或 Isaac Sim
- 学习 NemoClaw 如何帮助构建专用智能体
- 成为 OpenUSD 开发者,掌握代理式 3D 工作流的基础
请于太平洋时间 9 月 30 日上午 11:00 加入 OpenUSD 内部人员直播:结合 GPT-6 Astra 与 NVIDIA Omniverse Libraries 实时开发物理 AI 仿真。