使用 SimReady 资产构建机器人拾放仿真

本演练展示一个饮料罐拾放任务,该任务使用 UR17G 机械臂、Robotiq 2F-140 夹爪和饮料罐,在 Isaac Sim 中组合场景、检查其行为,并运行一个由智能体生成控制指令的拾放示例。
对于机器人工作流,SimReady 意味着 OpenUSD 资产已准备好定义仿真用例所需的属性,例如碰撞、质量、关节和关节驱动。SimReady Central 是 Hugging Face 上的开放资产库,可让你复用带有已编写仿真属性和配置文件验证证据的机器人和对象资产。有关该资产库及其发布的更多信息,请阅读发布公告博客。
是什么让机器人资产成为 SimReady?
SimReady Foundation 定义了 OpenUSD 资产在某个仿真用例中需要哪些功能。其规范连接三个层级:
- 配置文件:某个用例的一组功能,例如机器人本体。
- 功能:该用例所需的能力,例如可控制的关节。
- 要求:对每项功能所需设置的检查,例如关节的驱动设置。
对于此任务,这些属性包括机械臂和夹爪的关节,以及饮料罐资产的碰撞和质量。验证会根据配置文件的要求检查这些设置。仿真随后测试组装后的机器人能否使用这些设置拾取并移动饮料罐。
资产附带什么,你需要添加什么?
UR17G、Robotiq 2F-140 和饮料罐包包含模型及其仿真设置。你组装场景并添加任务代码,以定义机械臂-夹爪组件、工作表面、起始位置,以及移动机械臂和打开、闭合夹爪的控制。

图 2. SimReady Central 提供资产模型和仿真设置,示例场景和控制定义拾放任务。
运行拾放任务前应检查什么?
机器人在 Isaac Sim 中静止时看起来在视觉上正确,但仿真运行时可能会错误地移动或与对象交互。在运行拾放之前,测试其关节、运动和接触行为。你可以让智能体执行这些测试,也可以在 Isaac Sim 中手动执行。
- 关节设置:检查机械臂和夹爪的关节限位和驱动设置。
- 运动:测试小幅机械臂运动,并打开和闭合夹爪。
- 接触:确认饮料罐放置在工作表面上而不会穿过它掉落。
在拾放过程中,观察饮料罐在机械臂移动时是否保持在夹爪中。资产结构各不相同,因此请以已加载场景中的设置作为起点。我们将在下面的步骤中介绍下载资产和组合场景的整体流程。
在 Isaac Sim 中构建拾放仿真
本示例在 Isaac Sim 中组合 UR17G 机械臂、Robotiq 2F-140 夹爪和饮料罐。任务是抓取饮料罐、将其提起、移动到目标位置并释放。你还可以利用 SimReady Central Space 搜索服务端点查找 OEM 精选内容。
我们还将使用前沿 AI 模型来帮助在开放的 Isaac Sim 场景中创建和运行任务代码。对于本示例,我们使用 GPT-6 Sol,但如果另一种智能体和模型组合能够加载所需技能并针对 Isaac Sim 执行 Python,也可能可行(生成的代码和结果可能有所不同)。提示词提供了一个起点。在调整任务之前,检查生成的代码并查看结果行为。
所需软件:
- 安装 Isaac Sim 6.2(本示例使用的版本),并检查其系统要求。
- 设置一个你选择的 agent,使其能够使用 Isaac Sim 技能。按照 Agent Skills 文档使捆绑的技能可供你的 agent 使用。
- 仅当你选择命令行资源下载选项时,才安装 Hugging Face CLI。
- 使用 USD Search 端点。
步骤 1:下载机械臂、夹爪和饮料罐资源
打开 SimReady Central,找到此处使用的 UR17G 机械臂、Robotiq 2F-140 夹爪和饮料罐。在每个资源上选择 Download,然后使用 Save to folder 或提供的 Hugging Face 命令。保持所有三个完整资源文件夹不变,以便 Isaac Sim 能够找到它们的支持文件。
使用此示例中链接的资源版本,并向你的 agent 提供机械臂、夹爪和饮料罐的本地 USD 文件路径。下面显示了一个夹爪路径示例;你的下载位置可能不同。
~/ASSETS/hf/src/simready-assets-c7fa7615/Robotiq_2F_140/simready_usd/Robotiq_2F_140.usda

图 3. SimReady Central 搜索和交互式预览有助于识别此示例中使用的 Robotiq 2F-140 夹爪和饮料罐。

图 4. 饮料罐的下载选项包括将资源包保存到文件夹或使用 Hugging Face CLI。
资源验证能告诉你什么?
机械臂验证报告使用 Robot-Body 4.0.0 配置文件,夹爪验证报告使用 Robot-Gripper 3.0.0。两者都记录了通过的 PhysX 驱动关节检查,该检查会检查关节驱动设置。
SimReady 配置文件验证为复用这些资源提供了共享基线。然后,抓取放置运行测试机械臂、夹爪、罐子和控制器在组装场景中如何协同工作。
步骤 2:组装机器人并合成场景以进行抓取放置
资源下载完成后,使用具备 Isaac Sim 技能的 agent 来帮助组装机器人、运行验证工具并创建抓取放置控制。你也可以按照链接的文档手动执行这些步骤。
从 Isaac Sim 的安装目录启动 Isaac Sim,并启用远程 Python 服务器,以便 agent 可以通过 Python 与仿真交互:
./isaac-sim.sh --enable isaacsim.code_editor.python_server
如果你使用 agent,请确保从 Isaac Sim 目录启动它,以便它能够在执行以下步骤时访问所需的技能。
确认所有三个资源均出现且没有缺失文件错误。让 agent 检查机械臂和夹爪的关节限制和驱动设置,或者你自己在 Isaac Sim 中查看它们。机器人和夹爪包含物理关节,也可以在 Isaac Sim GUI 中测试和验证。我们现在将组装机械臂和夹爪,以便我们可以将组装体作为单个 articulation 进行控制。
你可以按照 Robot Assembler 教程进行手动组装。在这里,我们将让 agent 为我们完成组装并验证:
此示例中使用的示例提示:
Assemble the robot arm <local path to Simready ur17g robot usd>
with the gripper <local path to downloded simready Robotiq_2F_140 gripper usd>
using the Robot Assembly tutorial in Isaac Sim
https://docs.isaacsim.omniverse.nvidia.com/6.2.0/robot_setup/assemble_robots.html.
Validate the assembly on completion.
agent 最终使用 Isaac Sim 随附的 ‘isaac-sim-remote’ 和 ‘usd-articulation’ 技能来完成组装并验证机器人的物理属性。我们现在拥有运行抓取放置所需的所有资源;组装好的机器人和汽水罐。我们现在将继续工作流的最后部分。

图 5. Isaac Sim 中 UR17G 机械臂和 Robotiq 2F-140 夹爪的关节设置。
在场景中已组装好机器人并放置好罐子后,让智能体运行该任务。使用下一步中的检查项评估仿真行为。
第 3 步:测试控制并运行抓取放置
既然资产已包含仿真属性和配置文件验证,我们现在可以在已组装的场景和控制器中进行测试。控制器协调 UR17G 机械臂的运动与 Robotiq 2F-140 夹爪的开合。使用下面的行为检查项评估智能体生成的任务。要自行理解或调整控制器,请参阅《添加操作机器人》教程。
本示例使用的示例提示词:
Run pick and place with the assembled robot and soda can
<path to soda can USD from SimReady library> in Isaac Sim.
Ensure you do a contact based grasp for picking up the can and validate
the accuracy/placement error for the pick and place as well.
使用的技能:“isaac-sim-remote”、“manipulaiton-ik”和“physics-simulation”
完整任务测试夹爪在移动过程中是否保持住罐子,并在目标处释放。重置场景,然后运行接近、抓取、提升、保持、转移和释放序列。将你的运行结果与开头的视频和下面的成功标准进行比较。

图 6. 在 Isaac Sim 中,UR17G 机械臂和 Robotiq 2F-140 夹爪将饮料罐从黄色拾取标记移动到绿色目标。以 4× 速度显示。
如果你的运行结果不同,请记录序列失败的位置,并让智能体检查场景并生成控制。重试前将罐子和机器人重置到相同的起始状态,以便比较结果。
仿真假设:
- 固定设置:罐子从已知位置开始,机器人固定,工作空间干净且平坦。未使用视觉,碰撞检查也有限。
- 简化罐体:未对变形和液体运动建模,因此本示例不测试挤压。
- 脚本化抓取和运动:水平抓取使用通过仿真测试选定的 2 N·m 驱动力上限,并非根据指尖力校准,也不是制造商推荐值。机械臂沿固定路点移动且不重新规划时,通过接触和摩擦保持饮料罐。有关硬件夹持力规格,请参阅 Robotiq 产品数据表。
这些结果适用于此脚本化设置。它们不能证明对不确定物体位置、不同负载或真实硬件的鲁棒性。
使用 SimReady Assets 构建你的下一个仿真
使用来自 SimReady Central 的资产构建你自己的抓取放置任务,然后使用你选择的智能体帮助组装场景并在 Isaac Sim 中运行。
发现资产
- 查找机器人和物体:在 Hugging Face 上浏览 SimReady Central。
- 检查资产支持的功能:结合资产的验证报告,查看 SimReady Foundation 中的配置文件和需求。
构建抓取放置场景
- 设置仿真器:按照本示例所用版本的 Isaac Sim 安装指南操作。
- 连接你的智能体:按照 Isaac Sim Agent Skills 文档操作,使捆绑的技能可供你的智能体使用。
- 组装机器人:如果你希望手动连接机械臂和夹爪,请按照 Robot Assembler 教程操作。
准备并贡献内容
- 从 CAD 开始:按照《为机器人创建 SimReady 资产的 5 个步骤》准备你自己的机器人资产。
- 验证并提交资产:按照 SimReady Central 提交指南操作,使你的资产可供其他开发者使用。
如需灵感,探索 Michael Wagner 的语音控制 VR 演示。两者都展示了开发者如何在自己的项目中使用 SimReady 资产。
你会构建什么?在 Hugging Face 评论中分享你的场景和结果,包括你使用的资产和 Isaac Sim 版本。
构建愉快!