Article · AI translation
本操作指南展示了一项饮料罐抓取与放置任务:使用 UR17G 机械臂、Robotiq 2F-140 夹爪和饮料罐在 Isaac Sim 中搭建场景,检查它们的行为,并通过智能体生成的控制代码运行抓取与放置示例。
在机器人工作流程中,SimReady 意味着 OpenUSD 资产已具备特定仿真用例所需的属性,例如碰撞、质量、关节和关节驱动。SimReady Central 是 Hugging Face 上的开放资产库,可让你复用带有预设仿真属性和配置文件验证依据的机器人及物体资产。有关该资产库及其发布的更多信息,请阅读发布公告博客文章。
什么样的机器人资产才算 SimReady?
SimReady Foundation 定义了 OpenUSD 资产针对某个仿真用例需要具备的特性。其规范关联了 3 个层级:
配置文件:针对某个用例的一组特性,例如机器人本体。
特性:用例所需的能力,例如可控关节。
要求:对每项特性所需设置的检查,例如关节的驱动设置。
对于这项任务,这些属性包括机械臂和夹爪的关节,以及饮料罐资产的碰撞和质量属性。验证会根据配置文件的要求检查这些设置。随后,仿真会测试组装好的机器人能否利用这些属性抓起并移动饮料罐。
资产自带什么,你又需要添加什么?
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,并检查其系统要求。
设置一个能够使用 Isaac Sim 技能的自选智能体。按照 Agent Skills 文档,使智能体能够使用随附的技能。
仅当你选择通过命令行下载资产时,才需安装 Hugging Face CLI。
使用 USD Search 端点。
步骤 1:下载机械臂、夹爪和饮料罐资产
打开 SimReady Central,找到此处使用的 UR17G 机械臂、Robotiq 2F-140 夹爪和饮料罐。对每项资产选择“下载”,然后使用“保存到文件夹”或提供的 Hugging Face 命令。保留全部 3 个完整的资产文件夹,以便 Isaac Sim 找到其支持文件。
使用本示例链接的资产版本,并向你的智能体提供机械臂、夹爪和饮料罐的本地 USD 文件路径。下方展示了一个夹爪路径示例;你的下载位置可能不同。
图 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 技能的智能体来帮助组装机器人、运行验证工具并创建拾取和放置控制。你也可以按照链接的文档手动完成这些步骤。
从 Isaac Sim 的安装目录启动它,并启用远程 Python 服务器,以便智能体通过 Python 与仿真交互:
如果你使用智能体,请确保从 Isaac Sim 目录启动它,使其在执行以下步骤时能够访问所需技能。
确认全部 3 项资产均正常显示,且没有文件缺失错误。请智能体检查机械臂和夹爪的关节限位及驱动设置,或者你自己在 Isaac Sim 中查看。机器人和夹爪都包含物理关节,也可以在 Isaac Sim GUI 中测试和验证。接下来我们将组装机械臂和夹爪,以便将组装体作为单个关节结构进行控制。
你可以按照 Robot Assembler 教程手动组装。这里我们将请智能体完成组装并替我们验证:
本示例使用的提示词示例:
智能体最终使用 Isaac Sim 随附的“isaac-sim-remote”和“usd-articulation”技能完成组装,并验证机器人的物理特性。现在,运行拾取和放置任务所需的资产已全部具备:组装后的机器人和汽水罐。接下来我们将进入工作流程的最后部分。
图 5。Isaac Sim 中 UR17G 机械臂和 Robotiq 2F-140 夹爪的关节设置。
将组装后的机器人和饮料罐放入场景后,请智能体运行任务。使用下一步中的检查项评估仿真行为。
步骤 3:测试控制并运行拾取和放置任务
既然资产已包含仿真属性并通过配置文件验证,我们现在可以在组装后的场景中测试,并测试控制器。控制器协调 UR17G 机械臂的运动与 Robotiq 2F-140 夹爪的开合。使用下方的行为检查项评估智能体生成的任务。若要自行了解或调整控制器,请参阅 Adding a Manipulator Robot 教程。
本示例使用的提示词示例:
使用的技能:“isaac-sim-remote”、“manipulaiton-ik”和“physics-simulation”
完整任务会测试夹爪能否在移动过程中握住饮料罐,并在目标位置松开。重置场景,然后运行接近、抓取、抬起、保持、转移和释放的流程。将你的运行结果与开头的视频及下方的成功标准进行比较。
图 6。UR17G 机械臂和 Robotiq 2F-140 夹爪在 Isaac Sim 中将饮料罐从黄色拾取标记移动到绿色目标位置。画面以 4× 速度播放。
如果你的运行结果不同,请记录序列在哪一步失败,并让智能体检查场景并生成控制指令。重试前,将易拉罐和机器人重置到相同的初始状态,以便比较结果。
仿真假设:
固定设置:易拉罐从已知位置开始,机器人固定在原位,工作空间平坦且无障碍。未使用视觉功能,碰撞检查也有限。
简化的易拉罐:未对形变和液体运动进行建模,因此此示例不测试压扁易拉罐的情况。
预设的抓取和运动:水平抓取使用 2 N·m 的驱动作用力上限,该值通过仿真测试选定,既未根据指尖作用力校准,也不是制造商的建议值。机械臂沿固定路径点运动时,接触力和摩擦力使其保持握住饮料罐,过程中不重新规划路径。有关实体硬件的夹持力规格,请参阅 Robotiq 产品资料。
这些结果仅适用于这一预设设置。它们不能证明该方法能够稳健应对物体位置不确定、负载不同或真实硬件等情况。
使用 SimReady 资产构建下一个仿真
使用 SimReady Central 的资产构建自己的抓取放置任务,然后借助你选择的智能体组装场景,并在 Isaac Sim 中运行。
发现资产
查找机器人和物体:在 Hugging Face 上浏览 SimReady Central。
查看资产支持哪些功能:结合资产的验证报告,查阅 SimReady Foundation 中的配置文件和要求。
构建抓取放置场景
设置仿真器:按照本示例所用版本的 Isaac Sim 安装指南操作。
连接你的智能体:按照 Isaac Sim Agent Skills 文档操作,让你的智能体能够使用随附的技能。
组装机器人:如果你更愿意手动连接机械臂和夹爪,请按照 Robot Assembler 教程操作。
准备并贡献内容
从 CAD 开始:按照《5 Steps to Create SimReady Assets for Robotics》准备自己的机器人资产。
验证并提交资产:按照 SimReady Central 提交指南操作,让其他开发者能够使用你的资产。
如需获取灵感,可以探索 Michael Wagner 的语音控制 VR 演示。两者都展示了开发者如何在自己的项目中使用 SimReady 资产。
你会构建什么?请在 Hugging Face 评论区分享你的场景和结果,并注明所用的资产及 Isaac Sim 版本。
祝你构建顺利!