多个部件的组装在几乎每个主要行业 (如制造、汽车、航空航天、电子和医疗设备) 中都发挥着关键作用。尽管机器人组装应用广泛,但它仍然是一项重大挑战。它涉及复杂的交互,机器人必须通过持续的物理接触来操纵物体,这需要较高的精度和准确性。如今的机器人装配系统长期以来一直受到固定自动化的限制。这些系统专为需要大量人工设计和部署的特定任务而构建,限制了其适应性和可扩展性。
机器人装配的未来在于灵活的自动化。未来的机器人必须快速适应新的部件、姿势和环境。将 机器人技术与仿真和 AI 集成 可以突破这些限制。多年来,NVIDIA 一直在 推进这一领域的研究 ,我们与 Universal Robots (UR) 的持续合作正在推动这一从研究创新到现实世界工业应用的转型。
在本文中,我们展示了 UR10e 机器人上齿轮组件任务的 零样本仿真到现实传输 。该任务在 NVIDIA Isaac Lab 中进行设计和训练,并使用 NVIDIA Isaac ROS 和 UR10e 低电平转矩接口进行部署。我们的目标是让任何人都能复制这项工作,并将 Isaac Lab 和 Isaac ROS 用于自己的仿真到现实应用。
Isaac Lab 是一个用于机器人学习的开源模块化训练框架。Isaac ROS 基于开源 ROS 2 软件框架构建,是加速计算包和 AI 模型的集合,为世界各地的 ROS 开发者带来 NVIDIA 加速。它为导航和感知等常见任务提供即用型软件包。
Isaac Lab 中的 Contact-rich 模拟
Isaac Lab 通过实现准确的物理特性和大规模的接触模拟 强化学习 (RL) 在数千个并行环境中反复试验或学习。曾经难以计算的东西,比如模拟复杂的交互,现在可以实现了。
Isaac Lab 包含来自 Factory 的 富有挑战性的工业任务 ,例如 peg 插入、gear meshing 和 nut-bolt 紧固。Isaac Lab 支持模仿学习 (mimicking 演示数据) 和 RL,可为任何 机器人化身 提供灵活的训练方法。

RL 是一种强大而有效的组装问题技术,因为它不需要人类演示,并且对于感知、控制和固定中的错误非常可靠。然而,现实差距(reality gap)——仿真与现实世界之间的差异——仍然是一项关键挑战。本文中介绍的工作流使用 IndustReal 的概念弥合了这一差距,IndustReal 是一套算法和工具,可实现强大的 RL 训练技能,从而从仿真转移到现实世界的机器人,以执行复杂的装配任务。
在 Isaac Lab 中训练齿轮装配任务
齿轮装配任务包括感知、抓取、运输和将所有齿轮插入到相应的轴上。图 2 显示了任务的不同状态,从一个齿轮的初始状态到目标状态。这需要三项核心技能:抓握生成、自由空间动作生成和插入。

抓握生成使用现成的抓握规划器来获取部件的可行抓握姿势。 动作生成 和插入使用 RL 来学习策略。虽然机械臂的运动生成已得到充分确认,并且可以使用传统的轨迹规划器实现,但在处理更具挑战性的插入任务之前,训练基于 RL 的运动生成策略可为策略学习框架提供有用的校准和调试步骤。
图 3 显示了使用 Isaac Sim 和 Isaac Lab 进行动作生成和插入任务的策略学习工作流。对于每个任务,资产和场景规范定义了 Isaac Sim 中的仿真环境,而 Isaac Lab 则提供训练环境。这两项任务的策略均依赖于 Isaac Lab 中实施的低电平阻抗控制器。

运动生成和插入技能分别表述为单独的强化学习问题,并独立学习,如图 3 所示。
- 动作生成:目标是让机器人从指定机器人工作空间内的随机初始关节角度开始,将其末端执行器移动到指定的目标姿势 (例如抓握姿势) 。 观察包括机器人的关节位置和目标末端执行器姿态,而动作空间由关节位置目标组成。奖励函数可最小化终端执行器与目标之间的距离,并对机器人突然或猛烈的动作进行惩罚。
- 插入:在机器人的抓手中初始化齿轮,并在目标轴附近以随机采样的姿态定位。目标是将齿轮移动到轴的底部。观察包括机器人的关节位置和目标轴姿态,而动作空间由关节位置目标组成。奖励函数可最小化齿轮和目标之间的距离,并对突然或激进的机器人动作再次施加惩罚。
对于这两种技能,joint position targets 以 60 Hz 的频率生成,由低级 impedance controller 执行。
该智能体使用各种随机配置进行训练,例如不同的初始 robot arm 姿态、机械手中的齿轮姿态、齿轮尺寸以及整个任务的各个阶段 (例如,尚未插入齿轮或插入了一些齿轮) 。为 促进 sim-to-real 传输 ,domain randomization 应用于机器人动力学 (关节摩擦和阻尼) 和控制器增益,以及策略观察噪声。训练在并行环境中进行,使智能体能够获得丰富而宝贵的经验,这些经验对于有效学习任务至关重要。
网络架构和 RL 算法详情
每个策略的结构均为具有 256 个单元的 Long Short-Term Memory (LSTM) 网络,然后是具有三层分别包含 256、128 和 64 个神经元的多层感知器 (MLP) 。这些策略使用 rl-games 库中的 Proximal Policy Optimization (PPO) 算法进行训练。训练在 Isaac Sim 4.5 和 Isaac Lab 2.1 上的 NVIDIA RTX 4090 GPU 中完成。
结果
图 4 显示了经过训练的策略在 UR10e 机器人上的实际应用,左侧为 motion generation,右侧为 insertion。


图 4。在 Isaac Lab 模拟运动生成 (左) 和插入 (右) 中,在 UR10e 机器人上测试了经过训练的策略
图 5 展示了所学技能的组合。借助所学到的技能,机器人能够通过重复抓握规划器和所学到的技能,组装随机放置的三个齿轮。这些策略对齿轮组装顺序和齿轮的初始姿态十分可靠。


图 5。经过训练的 RL 策略经过排序,可在一个循环中执行多个机器人装配步骤:移动到 gear 1 → 抓取 → 插入 → 移动到 gear 2 → 抓取 → 插入,以此类推
UR 扭矩控制接口,支持 sim-to-real 传输
这项工作采用 impedance control 技术,使机器人能够与物体进行安全且合规的 (软) 交互。虽然 position controllers 具有很高的准确性,但其刚度会因感知或现实世界的对齐挑战而限制适应性,最终造成巨大的意外作用力。 impedance control 提供了一种更灵活的替代方案。
与工业机器人中常见的刚位置控制器不同,阻抗控制需要直接的 torque 命令,而这在工业机器人中并不常见。 UR 现在提供对其直接 torque 控制接口的抢先体验 ,以实现此类控制。
NVIDIA 团队与 UR 合作,使用 Isaac Lab 和论文《 IndustReal:Transferring Contact-Rich Assembly Tasks from Simulation to Reality 》中的方法来训练策略,并使用 Isaac ROS 和 UR torque 接口在 UR10e 机器人上部署策略。使用了 Isaac ROS 的 Segment Anything 和 FoundationPose 软件包。
使用 Isaac ROS 和 UR torque 接口在 UR10e 上实现 Sim-to-real 转移
图 6 显示了在部署 Isaac Lab 中经过训练的策略时使用的 sim-to-real 传输框架。工作流始于感知工作流,将 RGB 图像输入 Segment Anything ,然后输出 segmentation mask。然后,该遮罩与深度图像一起传递给 FoundationPose ,以估计齿轮塞的 6D 姿态。

“UR 关节编码器的齿轮姿态和关节位置构成观察结果,这些观察结果将传递至策略,以预测增量关节位置。增量关节位置转换为绝对目标关节位置,并作为阻抗控制器的输入。使用 URScript 制作的自定义低级阻抗控制器以 500 Hz 频率运行,并计算控制 UR 机器人执行任务所需的关节转矩。结果如 Video 1 所示。”
开始使用
本文展示了 UR10e 机器人上齿轮组件任务的零样本仿真到现实传输。该任务在 NVIDIA Isaac Lab 中进行设计和训练,并使用 NVIDIA Isaac ROS 和 UR10e 低电平转矩接口进行部署。
准备好开始为机器人装配任务开发您自己的 contact-rich 的操作策略了吗?查看以下资源:
- 下载 Isaac Sim 和 Isaac Lab ,探索训练接触丰富的环境。
- 详细了解本文中介绍的算法,请参阅 IndustReal:将接触量丰富的装配任务从仿真转移到现实 ,并 将工业机器人装配任务从仿真转移到现实 。
- 请参阅 Isaac ROS 文档 。
- 通过 Direct Torque Command 从 UR 下载抢先体验版机器人软件 。
- 阅读 NVIDIA 机器人研发摘要 (R²D²) ,详细了解机器人装配领域接触密集型操作方面的突破。
请持续关注 Isaac Lab 环境和训练代码,让任何人都能测试这些策略并训练自己的策略,以及支持您在自己的 UR 机器人上部署这些策略的参考工作流。
订阅我们的时事通讯,并在 LinkedIn、Instagram、X 和 Facebook 上关注 NVIDIA Robotics,及时了解最新动态。探索 NVIDIA 文档和 YouTube 频道,并加入 NVIDIA Developer Robotics 论坛。要开启您的机器人开发之旅,请立即注册我们的免费 NVIDIA Robotics Fundamentals 课程。
开始使用 NVIDIA Isaac 库和 AI 模型 开发物理 AI 系统。
致谢
我们要感谢 Yashraj Narang 和 Buck Babich 为开发 UR sim-to-real 演示提供建议。我们感谢 Universal Robots 的 Rune Søe-Knudsen 为新开发的 direct torque control 接口提供技术支持。我们还要感谢 Bingjie Tang、Michael A. Lin、Iretiayo Akinola、Ankur Handa、Gaurav S. Sukhatme、Fabio Ramos、Dieter Fox 和 Yashraj Narang 主导撰写本次演示所依据的 IndustReal 论文。