figure-01-pick-and-place-highlight

本演练展示了一个饮料罐拾放任务,该任务使用UR17G 机械臂,Robotiq 2F-140 夹爪,以及饮料罐在 Isaac Sim 中搭建场景、检查其行为,并运行一个由智能体生成控制指令的拾放示例。

对于机器人工作流,SimReady 意味着一个OpenUSD资产已经准备好,具备特定仿真用例所需的属性,例如碰撞、质量、关节和关节驱动。SimReady Central是 Hugging Face 上的一个开放资产库,让你可以复用带有已编写仿真属性和配置文件验证证据的机器人和物体资产。关于该库及其发布的更多信息,请阅读发布博客。

是什么让一个机器人资产成为 SimReady?

SimReady Foundation定义了 OpenUSD 资产在某个仿真用例中需要具备哪些特性。其规范连接了三个层级:

  • 配置文件:某个用例的一组特性,例如机器人本体。
  • 特性:该用例所需的能力,例如可控制的关节。
  • 要求:对每项特性所需设置的检查,例如关节的驱动设置。

对于此任务,这些属性包括机械臂和夹爪的关节,以及饮料罐资产的碰撞和质量。验证会依据配置文件的要求检查这些设置。随后仿真会测试组装好的机器人能否利用它们拾取并移动罐子。

资产自带什么,你需要添加什么?

TheUR17G、Robotiq 2F-140和饮料罐软件包包含模型及其仿真设置。你需要组装场景并添加任务代码,以定义机械臂-夹爪组件、工作表面、起始位置,以及移动机械臂和开合夹爪的控制指令。

Figure 2

图 2. SimReady Central 提供资产模型和仿真设置,示例场景和控制指令则定义拾放任务。

在运行拾放任务之前应该检查什么?

机器人在 Isaac Sim 中静止时看起来可能视觉上正确,但仿真运行时却会错误地移动或与物体交互。在运行拾放之前,测试其关节、运动和接触行为。你可以让智能体执行这些测试,也可以在 Isaac Sim 中手动执行。

  • 关节设置:检查机械臂和夹爪的关节限位与驱动设置。
  • 移动:测试一次小幅机械臂移动,并开合夹爪。
  • 接触:确认易拉罐停放在工作台面上而不会穿透掉落。

在抓取放置过程中,观察机械臂移动时易拉罐是否能保持在夹爪中。资产结构各不相同,因此请以已加载场景中的设置为起点。在下面的步骤中,我们将完整走一遍下载资产并组装场景的流程。

在 Isaac Sim 中构建抓取放置仿真

本示例结合了UR17G机械臂、Robotiq 2F-140夹爪和易拉罐于 Isaac Sim 中。任务是抓取易拉罐、将其抬起、移动到目标位置并释放。你还可以利用SimReady Central Space搜索服务端点来查找 OEM 精选内容。

我们还将使用一个前沿 AI 模型来帮助在开放的 Isaac Sim 场景中创建并运行任务代码。本示例中我们使用 GPT-6 Sol,但其他智能体与模型的组合也可以,只要它能加载所需技能并针对 Isaac Sim 执行 Python(生成的代码和结果可能有所不同)。提示词提供了一个起点。在调整任务之前,请检查生成的代码并验证实际行为。

所需软件:

  • 安装Isaac Sim6.2(本示例使用的版本),并检查其系统要求。
  • 设置一个你选择的、能够使用 Isaac Sim 技能的智能体。按照Agent Skills 文档使捆绑技能对你的智能体可用。
  • 安装Hugging Face CLI仅当你选择命令行方式下载资产时才需要。
  • 使用USD Search 端点。

第 1 步:下载机械臂、夹爪和易拉罐资产

打开SimReady Central并找到此处使用的UR17G机械臂、Robotiq 2F-140夹爪和易拉罐。在每个资产上选择 Download,然后使用 Save to folder 或提供的 Hugging Face 命令。保持三个完整资产文件夹原样不变,以便 Isaac Sim 能找到它们的支持文件。

使用本示例中链接的资产版本,并向你的智能体提供机械臂、夹爪和易拉罐的本地 USD 文件路径。下面展示了一个夹爪路径示例;你的下载位置可能不同。

~/ASSETS/hf/src/simready-assets-c7fa7615/Robotiq_2F_140/simready_usd/Robotiq_2F_140.usda

figure-05-find-robotiq

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

figure-04-download-assets

图 4。饮料罐的下载选项包括将资产包保存到文件夹,或使用 Hugging Face CLI。

资产验证能告诉你什么?

该机械臂验证报告使用 Robot-Body 4.0.0 配置文件,而夹爪验证报告使用 Robot-Gripper 3.0.0。两者都记录了通过的PhysX 驱动关节检查,这些检查会检查关节驱动设置。

SimReady 配置文件验证为复用这些资产提供了共享基线。随后,抓取放置运行会测试机械臂、夹爪、罐子和控制器在组装场景中如何协同工作。

第 2 步:组装机器人并搭建抓取放置场景

下载资产后,使用具备 Isaac Sim 技能的智能体来帮助组装机器人、运行验证工具并创建抓取放置控制。你也可以使用链接的文档手动执行这些步骤。

从安装目录启动 Isaac Sim,并启用远程 Python 服务器,以便智能体可以通过 Python 与仿真交互:

./isaac-sim.sh --启用 isaacsim.code_editor.python_server

如果你使用智能体,请确保从 Isaac Sim 目录启动它,以便在执行以下步骤时能够访问所需的技能。

确认所有三个资产均出现且没有缺失文件错误。让智能体检查机械臂和夹爪的关节限制与驱动设置,或者你自己在 Isaac Sim 中查看。机器人和夹爪包含物理关节,也可以在 Isaac Sim GUI 中测试和验证。我们现在将组装机械臂和夹爪,以便将整个装配体作为单个关节结构进行控制。

你可以按照机器人组装器教程进行手动组装。这里我们将让智能体为我们完成组装并进行验证:

本示例中使用的示例提示词:

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.

智能体最终使用 Isaac Sim 随附的 'isaac-sim-remote' 和 'usd-articulation' 技能来完成组装并验证机器人的物理属性。我们现在拥有运行抓取放置所需的所有资产:组装好的机器人和汽水罐。接下来我们将继续工作流的最后部分。

figure-05-joint-settings

图 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’

完整任务测试夹爪在移动过程中是否抓稳易拉罐,并在目标处释放。重置场景,然后运行接近、抓取、抬起、保持、转移和释放序列。将你的运行结果与开场视频及下方的成功标准进行对比。

figure-06-pick-and-place-landscape

图 6. 在 Isaac Sim 中,UR17G 机械臂和 Robotiq 2F-140 夹爪将饮料罐从黄色拾取标记移动到绿色目标。以 4 倍速显示。

如果你的运行结果不同,请记录序列失败的位置,并让智能体检查场景并生成控制。重试前将易拉罐和机器人重置到相同的起始状态,以便对比结果。

仿真假设:

  • 固定设置:易拉罐从已知位置开始,机器人固定,工作区平坦且无障碍。未使用视觉,碰撞检查有限。
  • 简化易拉罐:未建模形变和液体运动,因此本示例不测试压扁。
  • 脚本化抓取与运动:水平抓取使用通过仿真测试选定的 2 N·m 驱动力上限,未根据指尖力进行校准,也非制造商推荐值。机械臂沿固定路点运动且不重新规划,依靠接触和摩擦抓持饮料罐。有关硬件抓取力规格,请参阅Robotiq 产品数据表。

这些结果适用于此脚本化设置。它们不能证明对不确定的物体位置、不同负载或真实硬件的鲁棒性。

用 SimReady 资产构建你的下一个仿真

使用来自以下来源的资产构建你自己的抓取放置任务SimReady Central,然后使用你选择的智能体来帮助组装场景并在 Isaac Sim 中运行。

发现资产

  • 查找机器人和物体:浏览SimReady Central在 Hugging Face 上。
  • 查看资产支持的功能:查看以下文档中的配置文件和需求说明SimReady Foundation以及该资产的验证报告。

构建抓取放置场景

准备并贡献内容

如需灵感,可探索Michael Wagner 的语音控制 VR 演示或Maziyar Panahi 的 Microduck 仿真。两者都展示了开发者如何在自己的项目中使用 SimReady 资产。

你会构建什么?在 Hugging Face 评论中分享你的场景和结果,包括你使用的资产和 Isaac Sim 版本。

构建愉快!