智能体AI工作流可用于为物理AI系统准备并验证数字孪生体。智能体能够检查3D场景、在OpenUSD中编写仿真相关数据、添加物理属性、渲染预检视图,并根据仿真就绪(SimReady)要求验证结果。本文将介绍从Blender中的场景到面向NVIDIA Isaac Sim或NVIDIA Isaac Lab的仿真就绪OpenUSD交付这一完整流程。
然而在实践中,如果你正在为机器人构建智能体,工作流往往会卡住。人们容易把难点归咎于策略、模型或训练循环,但瓶颈其实经常出现得更早:机器人没有一个可供训练的仿真就绪世界。将3D场景处理到该状态所需的额外工作既繁琐又耗时,而且常常超出机器人仿真工程师的职责范围。
本文将介绍一个使用NVIDIA Omniverse Libraries为机器人仿真准备Blender场景的智能体工作流。由OpenAI GPT-6 Astra驱动的Codex负责协调整体任务、解释结果并指导迭代。基于Hermes智能体框架构建、并通过NVIDIA NemoClaw部署的专用子智能体,则利用Omniverse Libraries检查场景、编写仿真元数据、配置物理属性并渲染视觉预检视图。
这些组件共同将推理、工具执行与验证连接成一个可重复的流程,用于交付仿真就绪的OpenUSD世界。
为何为仿真准备3D场景具有挑战性
场景已经存在——资产由3D艺术家在Blender中创建完成——但它能否用于仿真?以下这些准备工作是否已经完成?
物体是否已标注?
碰撞网格是否正确?
材质对仿真是否有意义?
传感器是否已放置并配置?
场景能否顺利导出为USD?
机器人能否感知目标物体?
场景能否在你花时间在Isaac Sim或Isaac Lab中调试之前通过验证?
这些准备工作繁琐、重复,且容易出错。这恰恰是智能体系统在具备正确工具的情况下应该能够提供帮助的领域。在智能体工作流中使用NVIDIA Omniverse Libraries的意义,正是为智能体整合构建仿真就绪世界所需的工具。
智能体如何帮助为仿真准备3D场景
像ChatGPT的Codex或Anthropic的Claude Cowork这样的通用智能体,可以查看Blender场景并识别出它需要变为仿真就绪状态。识别是有用的,但还不够。要真正帮助机器人开发者,智能体必须能够对场景采取行动:
检查Blender场景
识别缺失的仿真元数据
添加语义标签
配置传感器
编写碰撞形状和物理属性
渲染视觉预检视图
运行SimReady验证
自动修复安全问题
将有歧义的决策上报给人类
一个让3D场景为仿真做好准备的宽泛请求,就变成了一个多智能体工程工作流。Codex或Claude作为主智能体,协调准备场景以供仿真的整体任务。NVIDIA NemoClaw提供了一个参考架构,用于构建执行各项具体工作的专用子智能体。这些子智能体可以使用Hermes、OpenClaw或LangChain等开源智能体框架,并配置不同的NVIDIA Nemotron模型用于视觉、推理和工具使用。
在使用Astra和Hermes的配置中,Codex利用Astra将开发者的目标转化为具体任务、识别依赖关系,并审查通过NemoClaw部署的专用Hermes子智能体返回的结果。例如,让一个物体可被抓取,需要对其语义标签、刚体配置和碰撞几何体进行协同更新。Astra有助于在各子智能体之间连接这些需求,并确定工作流继续推进前需要进行哪些检查。
NVIDIA Omniverse Libraries提供了子智能体用来对场景进行操作的工具。OpenUSD操作建立共享的场景结构,ovphysx编写并检查物理属性,ovrtx渲染视觉预检视图,SimReady验证则根据目标仿真配置文件评估生成的资产。
每个子智能体负责一项具体工作及其验收标准。安全的、机械性的问题可以自动修复。而依赖于开发者意图的决策——例如不确定的语义标签或物理行为——则会连同相关背景信息和建议的下一步操作,上报给人类。
这种模式是:
Codex或Claude负责协调
NemoClaw智能体负责推理
Omniverse Libraries负责执行
这些层级共同将“让这个场景变得仿真就绪”这一提示,转变为一个由工具驱动的工作流,其中包含专门的任务分工、持久的场景状态、验证关卡,以及在需要判断力的地方进行人类审核。
如何使用智能体为3D场景准备仿真
首先要为协调智能体明确主要目标,包括输入、期望输出、目标终点和验证标准。这为Codex或Claude提供了足够的结构,使其能够协调整体任务、在各专用NemoClaw子智能体之间分配工作,并判断任务何时真正完成。
输入:Blender场景 目标:为机器人仿真做好准备 输出:基于USD的仿真就绪世界 终点:Isaac Sim或Isaac Lab 验证:视觉预检 + SimReady验证
通过明确主要目标,任务从简单的“让这个场景变得更好”变为一个协调有序的智能体工作流。Codex或Claude管理整体请求,NemoClaw子智能体针对专门工作进行推理,而Omniverse Libraries则提供修改、渲染、验证和准备世界所需的工具。
设定好目标后,请按照以下步骤操作。
第一步:通过Blender MCP检查场景
第一个子智能体通过模型上下文协议(MCP)服务器连接到Blender,并用它对场景进行清点。MCP为智能体提供了进入Blender的受控工具接口:智能体无需从截图中猜测或依赖手动导出,而是可以调用工具来检查物体、集合、变换、材质、摄像机、灯光和场景元数据。这份场景清单成为其余子智能体所使用的共享上下文。
该子智能体应回答以下问题:
存在哪些物体?
存在哪些集合和层级结构?
分配了哪些材质?
存在哪些摄像机和灯光?
哪些看起来像机器人目标物、障碍物、地面、货架或箱子?
缺失哪些仿真数据?
输出应结构化如下:
{ "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则是仿真交付格式,因为它为智能体和下游工具提供了一个共享的、结构化的世界表示形式。一旦场景被编写为USD,子智能体就可以检查prim、添加元数据、验证需求,并将同一个世界原封不动地传递给Isaac Sim或Isaac Lab,而不必依赖脆弱的一次性导出流程。
USD编写智能体使用Omniverse Libraries来保留层级结构、变换、材质、标签、物理元数据和传感器定义。
对智能体构建者而言,一条有用的规则是:如果其他智能体或仿真器之后需要依赖某项数据,就应该将其编写进USD中。
USD专为分层、非破坏性的场景合成而设计,因此智能体可以添加标签、物理元数据、传感器定义、材质和验证数据,而不会破坏原始的创作成果。这使得整个工作流不会沦为一堆困在单一工具内的临时编辑,并为每个下游步骤提供了一个共享的、可检查的真实来源。
第三步:添加语义标签
机器人不仅需要几何形状,更需要含义。语义标注智能体将匿名网格转变为具有任务意识的物体:货架、箱子、地面、障碍物、可抓取物品和机器人目标物。通过将这些标签编写进USD,该工作流为下游智能体和机器人工具提供了一套共享的词汇体系,用于感知、验证、合成数据和训练设置。
语义标注智能体为prim打上与任务相关的类别标签:
货架
箱子
盒子
地面
障碍物
可抓取物体
机器人目标物
禁入区域
智能体可以根据物体名称、层级结构、形状和上下文推断标签。但它也应该标记出不确定性:
已标注118个prim,其中9个标签需要审查。
图4展示了Codex编排NVIDIA NemoClaw的过程。NemoClaw通过Blender MCP与子智能体协调。NVIDIA Omniverse Libraries是子智能体用来完成任务的工具。在此实例中,ovrtx智能体通过该工作流检查Blender场景,并应用场景成为机器人仿真就绪状态所需的语义分割和标签。
这一点很重要,因为标签成为了场景内容与机器人工作流之间的桥梁:感知、任务设置、合成数据和验证。
第四步:让材质具备仿真意识
在Blender中看起来正常的材质,对仿真而言可能仍不完整。在视口中,货架看起来像金属、箱子看起来像塑料可能就已经足够。但在机器人工作流中,这些表面需要下游系统可用于渲染、感知、物理运算、域随机化和验证的材质属性。材质智能体将视觉外观转化为对仿真有用的元数据。
材质智能体应检查视觉材质,并编写与仿真相关的材质元数据。在一个仓库场景中,这可能意味着识别金属货架、纸箱、塑料箱、混凝土地面、橡胶轮子或玻璃面板。
目标不是让材质更美观,而是为仿真和验证提供更有用的信息。
第五步:提前编写传感器
如果机器人需要感知世界,那么传感器就不应该在训练环境中被后置处理。摄像机和激光雷达的配置决定了机器人能够观察到什么、会生成什么数据,以及训练场景是否能反映真实任务。提前编写传感器可以让智能体在场景进入Isaac Sim或Isaac Lab之前,验证放置位置、视场角、探测范围、轮询频率、遮挡情况以及目标可见性。
传感器子智能体可以在场景中编写摄像机和激光雷达传感器,配置以下参数:
位置
朝向
视场角
轮询频率
探测范围
分辨率
目标坐标系
这种方法使工作流能够在训练开始前提出有用的问题:
机器人能否看到目标物?
传感器是否被遮挡?
视场角是否有用?
训练物体是否能从预期视角被观察到?
图6展示了NemoClaw编排一个子智能体来调用所需工具ovrtx完成这项工作。ovrtx加载一个包含已配置激光雷达的场景,预热传感器管线,渲染一帧点云,使用计数通道读取有效点数据,打印汇总统计信息,并以基于强度的颜色可视化这些点。
第六步:使用ovphysx实现物理就绪
至此,场景不再仅仅是视觉呈现,而是变成了一个具有物理意识的数字孪生世界。这些物体不再只是带有材质的网格,它们拥有碰撞形状、质量、摩擦力、刚体行为以及相互作用的规则。这意味着箱子可以被拾起,货架可以阻挡运动,机器人可以在一个表现真实物理行为而非仅仅看起来正确的世界中测试动作。
ovphysx子智能体添加或验证以下内容:
碰撞网格
静态碰撞体
刚体
质量属性
摩擦力
恢复系数
物理材质
可移动物体与固定物体
常见的失误恰恰是那些在后期难以处理的繁琐问题:
46个物体缺失碰撞网格;12个可抓取物体被标记为静态;7个碰撞网格过于复杂;3个道具悬浮在地面之上。
ovphysx智能体负责此项工作。它将这些发现转化为修复计划,自动应用安全的修复措施,并将有歧义的情况交由人类处理。
例如,该智能体可以为静态道具生成简单的碰撞网格,将地面和货架标记为固定碰撞体,为可抓取物体分配刚体属性,并标记出物理行为取决于任务意图的任何情况。输出结果不仅是一个更干净的场景,更是一份下游智能体和验证工具可以使用的物理就绪度报告。
图7展示了NemoClaw编排一个子智能体调用所需工具ovphysx,以使3D场景具备物理属性。ovphysx用于添加刚体属性、碰撞体、质量和摩擦力属性,以确保场景在转交给Isaac Sim或Isaac Lab时已具备仿真就绪状态。
第七步:使用ovrtx进行预检循环
为什么要在仿真之前进行渲染?因为验证可以告诉智能体场景在结构上是否可接受,但渲染才能显示场景是否真正可用。ovrtx智能体可以生成机器人摄像机视角和审查视图,检查隐藏的目标物、糟糕的光照、被裁切的传感器、损坏的材质或无法辨认的物体,并在浪费训练时间之前将问题反馈给正确的修复智能体。
ovrtx智能体渲染审查视角和机器人视角,以便工作流检查以下关键点:
目标物体是否可见?
标签是否附着在可见的物体上?
材质渲染是否正确?
光照是否物理上合理?
摄像机是否被遮挡或裁切?
物体比例看起来是否合理?
此时,ovrtx正在为智能体流水线提供视觉质检。
在NemoClaw环境中运行的Hermes渲染子智能体调用ovrtx生成审查图像,并将其与相关场景元数据一起返回给Codex。Astra可以利用这些证据调查差异,并协调有针对性的后续任务。如果标注的目标物在机器人摄像机视图中不可见,Codex可以要求传感器和场景检查子智能体检查摄像机朝向、裁切设置以及可能的遮挡物。修正后,渲染子智能体会生成另一个视图以供检查。这将视觉审查连接到了一个可执行的修复循环中。
第八步:运行SimReady验证
最后,验证智能体根据目标配置文件运行SimReady验证。这是智能体工作流的验收关卡。SimReady Foundation为仿真就绪的USD内容定义了标准和验证配置文件,验证智能体利用这些配置文件检查场景是否真正准备好进入下一步。如果验证失败,报告就会变成修复智能体的任务清单。如果验证通过,场景就已准备好交付给Isaac Sim或Isaac Lab。
报告应具有可操作性:
验证失败:14个问题——10个可自动修复——4个需要人工审查
修复智能体可以修复安全的问题。有歧义的失败情况会上报给人类。例如:“我自动修复了10个验证问题。有4个需要审查:两个不确定的语义标签,一个物理设置冲突的可抓取物体,以及一个可能是障碍物也可能是目标物的物体。”人类确认预期行为后,智能体应用修复并重新运行验证。
Hermes验证子智能体将SimReady报告返回给Codex,Astra在此帮助确定需要哪些修复和后续检查。Codex将这些任务分派给通过NemoClaw部署的相关Hermes子智能体。移动传感器可能需要另一次ovrtx可见性检查,而改变物体角色可能需要同时更新语义标签和物理属性。子智能体应用已批准的更改并重新运行相关检查,Codex则为开发者总结变更内容、验证证据以及未解决的决策事项。
目标是获得一个符合仿真契约的场景,而不仅仅是一次文件导出。
图9展示了NemoClaw编排所需的子智能体调用SimReady Blender插件,该插件用于根据目标SimReady配置文件验证场景。如果验证报告出现任何失败,智能体会在继续之前标记出来供人类审查。
开始为仿真准备3D场景
机器人训练并非从策略运行开始,而是从世界准备就绪开始,而这需要的远不止一个看起来不错的场景。它需要一个包含语义标签、具备仿真意识的材质、传感器、物理属性、视觉预检以及针对目标配置文件的验证的USD世界。这些繁琐的粘合性工作太多,不能完全交给人类完成,但又太具体,无法仅靠提示词来解决。
一种有效的模式是配备真实工具的一组子智能体:
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桌面超级芯片,配备高达748GB的一致性内存,用于本地AI开发、推理和智能体工作流,可另外配置NVIDIA RTX PRO 6000 Blackwell架构工作站GPU。当场景变大、本地模型需要更多内存、更多子智能体需要并行运行,或仿真和可视化工作负载变得更加繁重时,可使用该系统。
NVIDIA RTX PRO服务器:最适合团队规模的流水线。可用于共享智能体工作流、批量场景准备、大型OpenUSD资产、合成数据生成以及生产级验证运行。
NVIDIA DGX Cloud:最适合云规模开发。当工作流需要弹性计算能力来处理超出本地硬件能力的大型训练任务、批量仿真或规模化物理AI流水线时,可使用该服务。
准备好开始了吗?选一个场景准备环节中的瓶颈问题,交给一个子智能体处理,将其连接到Omniverse工具,并添加一个验证关卡。
如需了解更多信息,请查阅以下资源:
在Omniverse Labs GitHub仓库中浏览更多Omniverse示例
探索NVIDIA Omniverse Libraries,了解跨USD、渲染、物理、存储和验证的可供智能体调用的工具
试用SimReady Foundation,了解验证配置文件和仿真就绪USD的要求
构建面向Isaac Lab或Isaac Sim的机器人学习方案
了解NemoClaw如何帮助构建专用智能体
成为OpenUSD开发者,学习智能体3D工作流的基础
太平洋时间9月30日上午11点,欢迎加入我们的OpenUSD Insider直播:与GPT-6 Astra和NVIDIA Omniverse Libraries一起实时开发物理AI仿真。
Q&A
Q1:什么是SimReady验证?它有什么作用?
A:SimReady验证是指根据SimReady Foundation定义的标准和验证配置文件,检查3D场景是否真正达到仿真就绪状态。如果验证失败,报告会列出需要修复的问题清单,其中部分可自动修复,部分需人工审查后才能交付给Isaac Sim或Isaac Lab。
Q2:NVIDIA NemoClaw在这个工作流中起什么作用?
A:NemoClaw提供了一个参考架构,用于构建专用的子智能体,这些子智能体负责检查场景、编写语义标签、配置物理属性、渲染预检视图等具体工作。Codex或Claude负责整体协调,NemoClaw则协调各子智能体调用NVIDIA Omniverse Libraries中的工具来执行任务。
Q3:为什么Blender场景不能直接用于机器人仿真训练?
A:因为Blender场景通常只完成了视觉创作,缺少仿真所需的语义标签、碰撞网格、物理属性和传感器配置等信息。如果不经过这些准备工作和SimReady验证,直接导入Isaac Sim或Isaac Lab会导致机器人无法正确感知和交互,浪费大量调试时间。
