利用前沿AI模型创建机器人仿真SimReady资产的5个步骤
为机器人仿真准备 CAD 资产,不只是把几何体转换成 OpenUSD 那么简单:在测试机器人行为之前,开发者还需要配置并验证材质、碰撞几何体、关节等物理属性。
NVIDIA Omniverse 库在 SimReady Foundation 规范和 NVIDIA 智能体技能的指引下,提供了一套结构化的工作流,用于转换和验证仿真就绪(SimReady)资产。前沿 AI 模型可以在每个阶段协助开发者解读参考资料并代为调用 Omniverse 工具,减少手动准备工作。
本文将介绍如何借助 SimReady Foundation 和 NVIDIA Omniverse 工具,将 ABB Robotics YuMi 机器人准备就绪用于仿真,其中 GPT-6 Astra 就是能够协助这一流程的前沿 AI 模型之一。整个工作流包括五个步骤:STEP 文件转换、外观验证、物理配置、SimReady 验证,最后在 NVIDIA Isaac Sim 中用双臂和夹爪完成一次 pick-and-place 任务。
什么是 SimReady?它为什么对仿真很重要?
SimReady 定义了针对特定仿真场景准备 OpenUSD 资产所需的各项要求。开发者根据用途选择相应的 SimReady 配置文件,并依据其要求对资产进行验证。针对不同配置文件的检查会验证资产的结构、材质和物理属性,标记出问题,供开发者修复后重新检查。
一个机器人模型看起来没问题,但缺少仿真属性时在仿真中仍可能失败。例如,缺少碰撞几何体会让物体直接穿过夹爪,关节配置错误则会导致无法协调运动。质量和摩擦等物理属性更是直接决定了抓取是否稳定。
以下技术和工具为这一工作流提供支持:
- OpenUSD 用统一的资产表示方式来描述几何体、装配结构、材质和物理属性。
- SimReady Foundation 提供了关于如何准备仿真就绪资产的技术规范与验证指南。
- NVIDIA Omniverse 库 赋予开发者和 AI Agent 转换、检查和准备 OpenUSD 内容的能力。
- NVIDIA Isaac Sim 提供用于配置物理参数并测试机器人行为的环境。
- NVIDIA Omniverse AI Agent 技能(例如 CAD-to-SimReady 技能)指导 Agent 完成资产转换、材质与物理属性赋值以及验证工作。
SimReady 机器人工作流:ABB YuMi 机器人示例
本教程通过 ABB YuMi 机器人 演示了五步 SimReady 工作流。这里使用 GPT-6 Astra 作为前沿 AI 模型的一个示例,它有助于编写 Python 代码以在每个阶段调用 NVIDIA Omniverse 库;但此工作流适用于多种模型和机器人系统。
示例中配置并使用了双臂和夹爪。在第 5 步中,立方体和 Sharpie 马克笔被用作演示对象。基于相机的感知功能可以在单独的工作流中添加。
开始之前:
- 安装 Isaac Sim
- 安装前沿 AI 模型
- 在本工作流示例中,我们使用的是GPT-6 Astra。
- 在 Isaac Sim 目录下启动 Codex CLI
- 务必在 Isaac Sim 目录下启动 Codex,这样代理才能找到工作流所需的相关技能模块。
在本工作流示例中,我们使用 Isaac Sim 6.1 和 Codex CLI,并将 Isaac Sim 以窗口模式启动。
在当前激活的 Codex CLI 中使用以下示例提示词来启动 Isaac Sim:
以窗口模式启动 Isaac Sim,并启用远程 Python 服务器。请使用一个全新的终端窗口执行此操作。Isaac Sim 中的远程 Python 服务器允许代理通过 Python 与运行中的 Isaac Sim 应用进行交互。继续之前,请确认连接正常。
在每一步骤中,根据任务在前沿 AI 代理中调整示例提示词,然后审查仿真结果和验证反馈,以识别问题并优化资产。
1. 从 STEP 文件导入机器人
作为该工作流的第一步,我们将把参考文件夹中的机器人从 STEP 文件导入。
在本示例中,请在 Isaac Sim 目录下的参考文件夹中提供以下输入:
| 示例输入 | 用途 |
| ABB Robotics YuMi 机器人的STEP 文件。 | 用于转换为 OpenUSD 的源几何数据。 |
| 来自 ABB Robotics 的参考图片和视频。本示例工作流使用了 ABB Robotics 官方的视频和图片。 | 用于指导资产的外观和材质指定。 |
| SimReady Foundation 规范仓库 注意:Isaac Sim 6.1 也已内置 simready-foundation-tier-core | 提供机器人需求、相关技能和验证指导。 |
| CAD-to-SimReady skill | 提供 CAD 转换、材质与物理属性指定以及 SimReady 验证的指导。 |
注意:Isaac Sim 6.1 已内置 simready-foundation-tier-core。
让 agent 使用上述输入,引导其完成到 OpenUSD 的转换并导入 Isaac Sim。
示例提示词:
使用参考文件夹中的 STEP 文件以及 CAD-to-SimReady skill(https://github.com/NVIDIA/skills/tree/main/skills/omniverse-cad-to-simready),将该机器人导入 Isaac Sim。请确保同时导入两个夹爪,并将它们放置到机器人机械臂上正确的安装位置。
使用的 NVIDIA Skills:omniverse-cad-to-simready、omniverse-cad-to-usd 和 isaac-sim-remote
继续前检查:机器人资产已成功导入,可供检查。任务及提供的需求已被理解,缺失的信息也已识别。
2. 匹配视觉外观
下一步是检查导入的机器人,确认预期的材质和纹理已存在并正确加载。请将资产与提供的 ABB 图片和视频进行对比,以检查比例、方向及部件位置。
让智能体根据这些参考资源添加或完善材质和纹理。
示例提示词:
使用参考文件夹中的 ABB 图片和视频,将导入机器人的外观与实体机器人匹配。添加或调整材质和纹理,并报告任何视觉差异或缺失的参考信息。
假设:智能体通过调整颜色、金属响应度和粗糙度来匹配机器人材质,同时保持 CAD 几何形状和安装变换不变。材质设置基于目测估计,未使用测量得出的材质重建或 AI 生成的纹理。
使用的 NVIDIA 技能:isaac-sim-remote, usd-pipeline
继续前检查:机器人具备预期的比例、方向、部件和外观。任何缺失的材质、纹理或其他视觉差异均已记录在案。
3. 配置物理属性
在此阶段,OpenUSD 资产已包含机器人的视觉几何信息,但关节、刚体及碰撞几何尚未配置。要求智能体配置并验证双臂及夹爪的物理属性。参考文件夹中的数据表将被智能体使用,以确保关节范围和速度限制与模拟机器人一致。
若制造商数据不完整,可要求智能体识别缺失参数,并查阅技术手册或该确切型号的可用 URDF 机器人描述文件。对于仍无法获取的质量属性,可基于文档中记录的密度或质量分布假设,结合几何形状进行估算,遵循 NVIDIA 的质量属性指导原则。例如,在上下文不足时,我们观察到智能体会获取该机器人的公共 URDF,并据此识别正确的关节轴和零位配置。
示例提示词:
构建物理系统,并验证 YuMi 双臂及夹爪的物理属性。检查关节定义、轴线及限位、质量与惯性、碰撞几何、底座安装方式以及夹爪运动。
![]()
图 3. 第 3 步中带有碰撞几何和关节轴的 YuMi 物理配置
初始姿态可能有所不同。
图 4. 物理配置完成后的 YuMi 姿态
该工作流中的仿真假设如下:
- 关节配置:智能体获取了该机器人的公开 URDF 文件,并用它来确定关节轴向和零位配置。
- 各连杆质量:根据 STEP 几何体的体积估算,并归一化到厂商给定的总质量:机器人整体 38 kg,每个夹爪 0.28 kg。
- 质心与惯性:按均匀密度的实心零件计算;内部电机、减速器和线缆未单独建模。
- 接触属性:假定静摩擦系数为 0.8,动摩擦系数为 0.6,恢复系数为 0。
- 碰撞几何与外观:凸包碰撞体、表面粗糙度和材质响应均为近似处理。
- 校准:这些参数未对照物理 YuMi 设备的实际测量数据进行校准。
使用的 NVIDIA Skills:usd-articulation、physics-simulation、isaac-sim-validator、isaac-sim-remote
继续之前请确认:关节沿预期轴向运动且不超出限位。基座安装和夹爪运动符合配置。估算属性及所有校验失败项均已记录在案。
4. 验证 SimReady 属性
下一步是验证机器人 OpenUSD 资产是否满足目标仿真任务的 SimReady 要求。让 Agent 运行所选的 SimReady Foundation 检查项,审查发现的问题,并根据需要修改资产。
示例提示词:
在 Isaac Sim 中验证最终的 YuMi 资产。查找适用于机器人的 SimReady 资产验证工具,将 SimReady schema(https://github.com/nvidia/simready-foundation)应用到 usd 文件,并调用该仓库中的相关功能。
此工作流中的验证结果包括:
- SimReady Foundation:已对照 SimReady Foundation 要求,检查 YuMi 资产的单位、资产依赖、几何结构、材质、刚体、关节、驱动器及关节组合。
- Isaac Sim 资产检查:通过 Isaac Sim 内部的验证引擎,核实了比例、朝向、部件放置、夹爪安装、材质覆盖率,并解析了纹理依赖关系。
- 质量与惯性:全部 21 个刚体均具有正质量及物理上可接受的惯性张量;运行时数值与定义数值一致。
- 关节:检查了轴、参考系、限位、驱动器、手指模仿行为以及固定基座安装情况。
- 运行时行为:测试了手臂和夹爪在测试轨迹下的运动、接触、释放及碰撞情况。
这些检查验证了仿真实现的有效性。但它们并未确证仿真结果与真实世界机器人动力学的一致性,也无法保证在所有可能的姿态下碰撞安全。
继续前检查:流程符合既定验收标准,且所选 SimReady 检查项通过。调参变更、估算属性及任何未解决的失败项均已有记录。
5. 机器人仿真的最终任务
在 Isaac Sim 中执行最终验证,将视觉、物理和 SimReady 检查与抓取放置任务结合进行。
示例 1:方块抓取与放置
要求智能体在测试场景中添加颜色目标和一个盒子,并定义目标位置和颜色元数据,利用场景元数据选取匹配的颜色目标。
示例提示词:
使用双臂和夹爪执行方块的抓取和放置。在测试场景中添加颜色目标和盒子,并定义它们的位置以及目标的彩色元数据。执行完整的抓取、提升、保持、转移和释放序列。利用场景元数据为每个方块选取对应的颜色目标。同时测试将方块放入盒子的过程。
检查尺寸、朝向、部件位置、材质、纹理、关节轴及限位、碰撞几何体和夹爪行为。运行选定的 SimReady Foundation 验证检查。
模拟假设:
- 假设无单位的接触摩擦系数为静态 0.8、动态 0.6。抓取测试在这些设置下通过,但系数未针对手指-物体物理接触进行测量或标定。
- 本示例使用 45 mm、40 g 的测试方块,并遵循步骤 3 中描述的模拟假设。
已演示的抓取放置结果:
- 完成周期:双臂和夹爪在 122.2 秒的物理模拟中共完成四次抓取放置周期。
- 任务序列:每只手臂抓起其对应的方块,将其提升、保持两秒、转移,然后释放到匹配的颜色目标上。随后每只手臂再次抓起该方块并放入盒子内。
- 接触行为:依靠手指接触和摩擦力搬运方块,模拟过程中未使用连接关节、运动学保持或方块位姿直接更新。
- 验收标准:所有周期均通过了定义的抓取、保持、转移、释放和放置标准。
- 录制:MP4 和 GIF 文件由此次模拟生成。
图 6. 使用彩色立方体和目标标记的 YuMi 抓取与放置仿真
示例 2:使用从图像生成的物体进行抓取与放置
另一个演示中,智能体根据一张 Sharpie 记号笔的参考图像生成 3D 资产,再由机器人完成抓取。
- 仿真假设:智能体估算记号笔的尺寸为 140mm、质量为 10 克,质心位于笔的几何中心。笔帽、笔身和尾部堵头采用圆柱体近似碰撞几何。
- 演示结果:在 Isaac Sim 中,YuMi 的夹爪成功将记号笔从桌面抬起,放入蓝色托盘中。
仿真测试成功说明在所测试的条件下模型表现符合预期。实际结果可能因所用的前沿 AI 模型和提示词而有所不同。
用到的 NVIDIA Skills:manipulation-ik、physics-simulation、isaac-sim-validator、isaac-sim-remote、isaac-sim-rendering
体验工作流程
SimReady Foundation 和 NVIDIA Omniverse 工具协助开发者将 CAD 文件和参考资料转换为可配置、可验证、可测试的仿真资产。使用 OpenUSD、SimReady Foundation 以及 NVIDIA Omniverse 的工具和技能,为你的机器人仿真任务准备资产。
YuMi 教程展示了如何使用前沿 AI 模型 GPT-6 Astra 来执行 SimReady 机器人工作流程的一个示例。若要适应其他机器人或前沿 AI 模型,请确认所需的工具和技能权限,提供相关的参考资料,并重复执行资产和任务验证。最终结果可能因模型、推理力度和提示词的不同而有所差异。
试用 ABB Robotics 示例流程
- 从 SimReady Foundation 仓库和 CAD-to-SimReady 技能 开始,以指导资产准备。
- ABB Robotics YuMi 机器人 的 STEP 文件、参考视频和图片可供你跟随本教程操作使用。
了解更多
- 通过 Isaac Sim 和 Isaac Lab 探索机器人仿真。
- 通过免费的 OpenUSD 学习路径 学习组装 OpenUSD 场景。
- 通过免费的 Physical AI 课程 学习机器人技术和数字孪生技能。
2026 年 10 月 20 日至 22 日,欢迎参加在柏林举办的 NVIDIA GTC,探索 Physical AI 与机器人 领域的最新进展,并与开发者、研究人员和行业领袖交流。