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

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 资产。





