NVIDIA发布SimReady指南:用Isaac Sim构建机器人抓取模拟

NVIDIA发布SimReady指南,演示在Isaac Sim中构建机器人抓取模拟。该流程基于UR17G机械臂与Robotiq夹爪,涵盖场景搭建、行为检查及代理生成控制代码,解析了OpenUSD资产的合规性层级要求。

基于 SimReady 资产构建机器人抓取与放置模拟

NVIDIA 发布了一篇技术指南,演示如何利用 UR17G 机械臂、Robotiq 2F-140 夹爪及饮料模型,在 Isaac Sim 中构建并运行一个完整的物体抓取与放置(Pick-and-Place)任务。该流程涵盖了场景搭建、行为检查以及通过代理生成控制代码来执行任务的全过程。

SimReady资产验证关节驱动参数

SimReady 资产标准解析

在机器人工作流中,“SimReady”指代那些已预定义好模拟所需关键属性(如碰撞体、质量、关节及驱动器配置)的 OpenUSD 资产。Hugging Face 上托管的 SimReady Central 是一个开放资产库,旨在促进机器人与对象资产的复用。

根据 SimReady 基金会规范,OpenUSD 资产的合规性需满足三个层级的要求:

  • 配置文件(Profiles):针对特定用例的特征组,例如“机器人机身”。
  • 特性(Features):用例所需的功能实现,例如“可控关节”。
  • 要求(Requirements):验证每个特性的具体设置,例如连接器的驱动参数。

在本案例中,相关属性包括机械臂与夹爪的关节配置,以及饮料模型的碰撞和质量数据。验证过程确保这些设置符合配置文件要求,随后通过模拟测试组装后的机器人能否正常执行抓取与移动操作。

资产构成与场景搭建

UR17G、Robotiq 2F-140 和饮料包提供了基础模型及其模拟设置。开发者需自行组装场景,并编写任务代码以定义手臂与夹爪的组合、工作面位置、起始姿态,以及控制手臂运动和夹爪开合的逻辑。

图 2:SimReady Central 提供资产模型与模拟设置,示例场景与控制代码则定义了具体的抓取与放置任务。

模拟前的关键检查项

即便机器人在 Isaac Sim 中静态显示正确,运行时仍可能出现运动异常或交互错误。因此,需在正式运行前对关节、运动及接触行为进行测试。开发者可借助 AI 代理自动执行这些检查,或在 Isaac Sim 中手动验证:

  • 关节设置:核查手臂和夹爪的关节限位及驱动参数。
  • 运动测试:执行小幅度的手臂移动及夹爪开合动作。
  • 接触检测:确认物体能稳定停留在工作面上,无穿透现象。

在抓取过程中,需重点观察饮料是否在手臂移动时保持在夹爪内。以下步骤将详述从下载资产到创建场景的完整流程。

在 Isaac Sim 中构建抓取与放置模拟

本示例结合 UR17G 机械臂、Robotiq 2F-140 夹爪和饮料模型,任务是抓住子、抬起、移至目标点并放下。开发者还可利用 SimReady Central 的空间搜索端点查找 OEM 策划的内容。

通过在开放的 Isaac Sim 场景中创建并运行任务代码来实现这一目标。文中使用 GPT-6 Sol 作为代理模型,但其他能够加载必要技能并对 Isaac Sim 执行 Python 操作的代理组合亦可适用。提示词仅提供起点,建议在执行前审查生成的代码并验证其行为结果。

所需软件环境:

  • 安装 Isaac Sim 6.2 版本(本示例所用版本),并确认系统要求。
  • 选择一个支持 Isaac Sim 技能的代理,并按照代理技能文档配置,使代理能访问捆绑技能。
  • 若选择命令行下载资产,需安装 Hugging Face CLI。
  • 配置 USD 搜索端点。

第一步:下载机器人手臂、夹爪和饮料资产

访问 SimReady Central,找到 UR17G 机械臂、Robotiq 2F-140 夹爪及饮料资产。点击“下载”,选择“保存到文件”或使用附带的 Hugging Face 命令。请保持所有三个完整资产文件的结构不变,以确保 Isaac Sim 能找到其支持文件。

使用示例中链接的资产版本,并将本地 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 获取。

资产验证的作用

手臂验证报告基于“机器人机身 4.0.0”配置文件,夹爪验证报告基于“机器人夹爪 3.0.0”。两者均记录了通过 PhysX 驱动关节检查的结果,重点验证关节驱动设置。

SimReady 配置文件验证为资产复用建立了共同基准,随后需测试手臂、夹爪及控制器在组装场景中的协同工作能力。

第二步:组装机器人并编写场景

下载资产后,可使用智能代理组装机器人并运行验证工具,也可参考链接文件手动执行。

启动 Isaac Sim 并启用远程 Python 服务器,以便代理通过 Python 与模拟交互:

./isaac-sim.sh --enable isaacsim.code_editor.python_server

若使用代理,请确保从 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 技能完成组装并验证机器人物理属性。此时已具备运行抓取与放置任务所需的所有资产:组装好的机器人和苏打罐。

图 5:Isaac Sim 中 UR17G 手臂和 Robotiq 2F-140 夹爪的关节设置。

在现场组装机器人和苏打罐后,指示代理执行任务,并利用下一步的检查评估模拟行为。

第三步:测试控制并运行抓取与放置

现在可以在组装的场景和控制器中进行测试。控制器协调 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, manipulation-ik 和 physics-simulation。

全任务测试需验证夹爪在移动时是否稳固持有物体,并在到达目标时释放。重置场景后,依次执行接近、抓取、举起、保持、转移和释放序列。将运行结果与开头视频及下述成功标准进行对比。

图 6:UR17G 手臂和 Robotiq 2F-140 夹爪在 Isaac Sim 中将饮料从黄色拾取标记移至绿色目标(4 倍速播放)。

若运行结果不符,定位失败环节,要求代理检查现场并重新生成控制代码。在重试前将场景和机器人重置至相同初始状态,以便比较结果。

模拟假设:

  • 固定设置:罐子从已知位置开始,机器人安装稳固,工作空间平坦清晰。视觉和碰撞检查有限。
  • 简化模型:未建模变形和液体运动,因此不测试压缩情况。
  • 脚本化抓取与运动:水平抓取使用经模拟测试选定的 2N·m 驱动力上限,未校准指尖力或由制造商推导。触摸和摩擦使饮料保持在沿固定路点移动的手臂中,无需重新规划。硬件握力规格请参考 Robotiq 产品说明书。

上述结果仅适用于此脚本设置,不能代表对不确定物体位置、不同有效载荷或真实硬件鲁棒性的保证。

利用 SimReady 资产构建下一个模拟

开发者可利用 SimReady Central 的资源构建自己的抓取与放置任务,并使用选定的代理辅助组装场景并在 Isaac Sim 中运行。

发现资产:

  • 在 Hugging Face 上浏览 SimReady Central。
  • 检查资产支持内容:结合 SimReady Foundation 中的配置文件和要求查看资产验证报告。

构建抓取与放置场景:

  • 设置模拟器:遵循本示例所用版本的 Isaac Sim 安装指南。
  • 连接代理:按照 Isaac Sim Agent Skills 文档配置,使代理可用捆绑技能。
  • 组装机器人:若偏好手动连接手臂和夹爪,请遵循机器人组装教程。

准备与贡献内容:

  • 从 CAD 开始:遵循《为机器人创建 SimReady 资产的 5 个步骤》准备自有机器人资产。
  • 验证并提交资产:遵循 SimReady Central 提交指南,向其他开发者共享资产。

作为灵感参考,可探索 Michael Wagner 的语音控制 VR 演示。这两个案例展示了开发者如何在各自项目中使用 SimReady 资产。

评论 0

0/500

评论需审核后展示,请文明发言

💬
还没有评论,来说两句

相关阅读