家庭和工业环境中的大多数物体都由多个必须组装的部件组成。虽然人类工人通常会进行装配,但在某些行业(如汽车行业)中,机器人装配非常普遍。
大多数这些机器人旨在执行高度重复性的任务,在精心设计的设置中处理特定部件。 在高混杂度、低批量制造(即生产各种产品的小批量过程)中,机器人还必须适应多样化的部件、姿势和环境。同时保持高精度和准确性,并实现这种适应能力是机器人领域面临的一项重大挑战。
得益于 NVIDIA 最近在对具有丰富接触性的交互进行比实时更快的模拟方面取得的进展,现在机器人装配任务(例如插入)的模拟已经成为可能,详情请参阅使用 NVIDIA Isaac 通过新型模拟方法推进机器人装配。这使得使用数据密集型学习算法来训练模拟的机器人代理成为可能。
机器人装配的 Sim 到 Real Transfer 的后续工作提出了使用强化学习(RL)在模拟中解决少量装配任务的算法,以及在现实世界中成功部署所学到的技能的方法。有关详细信息,请参阅《将工业机器人装配任务从模拟转移到现实》。
本文介绍了 AutoMate,这是一种新型框架,用于训练专家和多面手策略,以便使用机械臂组装几何上不同的部件。它演示了训练策略的零样本模拟到真实转换,即在模拟中学习的组装技能可以直接应用于真实环境,而无需进行额外的调整。
什么是 AutoMate?
AutoMate 是首款基于仿真的框架,可用于学习各种组件的专家(特定部件)和通用(统一)装配技能。它也是首个展示在此类范围内从零开始仿真到真实转换的系统。这项工作是南加州大学和 NVIDIA 西雅图机器人实验室之间的密切合作。
具体来说,AutoMate 的主要贡献在于:
- 包含 100 个 assembly 和即用型模拟环境的数据集。
- 一种新的算法组合,可以在模拟中有效地训练模拟机器人,以解决各种装配任务。
- 有效合成学习方法,将多种专业组装技能中的知识提炼为一种常规组装技能,并借助强化学习(RL)进一步提高常规组装技能的性能。
- 一个真实的系统,可以在感知初始化的工作流程中部署经过模拟训练的装配技能。
数据集和模拟环境
AutoMate 提供了一个由 100 个组件组成的数据集,这些组件与仿真兼容,可以在现实世界中进行 3D 打印。同时,AutoMate 还为所有 100 个组件提供了并行仿真环境。这些 100 个组件基于 Autodesk 的大型组件数据集。在这项工作中,术语 plug 是指必须插入的部件 (图 3,以白色表示),而 socket 是指与插件配合的部件 (图 3,以绿色表示)。
针对不同几何图形的学习专家
尽管 NVIDIA 之前的工作 IndustReal 表明,仅 RL 的方法可以解决具有丰富接触性的装配任务,但只能解决一小部分组件。仅 RL 的方法无法解决 AutoMate 数据集中的大多数 100 个组件。然而,模仿学习使机器人能够通过观察和模仿演示来获得复杂的技能。AutoMate 引入了一种新颖的算法组合,将 RL 与模仿学习相结合,从而为广泛的装配任务实现有效的技能获取。
要通过模仿学习增强强化学习(RL),需要应对三个挑战:
- 生成装配演示
- 将模仿学习目标集成到强化学习(RL)中
- 选择要在学习期间使用的演示
以下各节将探讨如何解决这些挑战。
通过反向组装生成演示程序
装配的运动学是一个窄通道问题,机器人必须操纵部件穿过受限或紧密的空间,而不会与障碍物碰撞。这是一个非常困难的问题,因为使用运动规划器自动收集装配演示是极其困难的。此外,要收集人类演示,还需要高度熟练的人类操作人员和先进的远程操作界面,这可能成本很高。
受“Assembly-by-disassembly”(通过拆解物体的过程,首先了解如何拆解物体)概念的启发,我们收集拆解演示,然后反向进行组装。在模拟中,机器人被命令从插槽中拆解插件,并记录 100 次成功的拆解演示,每个组件都记录一次。
具有模仿目标的 RL
在 RL 中,奖励是向智能体发出的信号,用于指示智能体在任何给定步骤中的表现如何。这一奖励信号充当反馈,指导智能体学习和调整其行动,以最大限度地提高累积奖励,从而导致任务成功。受 DeepMimic 等角色动画中工作的启发,我们在奖励函数中加入了一个模仿术语,以增强 RL。这一模仿目标鼓励机器人在学习过程中模仿演示。每步模仿奖励定义为给定装配的所有演示的最大奖励。
除了模仿术语,奖励表述还包括以下几个术语:
- 惩罚目标距离
- 惩罚模拟错误
- 奖励任务难度
这与之前的 IndustReal 工作一致。
选择具有动态时间扭曲的演示示例
为了确定要模仿的演示(即,哪个演示在当前时间步长提供最大奖励),第一步是计算每个演示与当前机器人终端执行程序路径之间的距离。然后,以最小距离模拟路径。演示路径可能具有航点分布不均和不同数量的航点,相比机器人终端执行程序路径,这使得确定演示路径中的航点与机器人终端执行程序路径之间的对应关系变得困难。
动态时间曲线(Dynamic Time Warping)是一种算法,用于测量两个时序序列之间的相似性,这两个序列可能具有不同的速度。在这项工作中,我们使用动态时间曲线(DTW)来寻找机器人终端执行程序路径和每个演示路径之间的映射,以便最小化终端执行程序路径中每个航点与演示路径上匹配航点之间的距离总和(Figure 6)。然后,根据动态时间曲线(DTW)返回的距离,我们将为每个演示路径计算模拟奖励,并选择提供最高模拟奖励的演示路径。
在模拟中,专家策略在 80 个不同的组件上取得了约 80% 或更高的成功率,在 55 个不同的组件上取得了约 90% 或更高的成功率。在现实世界中,专家策略在 20 个组件上的平均成功率为 86.5%,与在模拟中部署这些组件相比,仅下降了 4.2%(图 7)。
学习一般组装技能
为了训练可以解决多个装配任务的通才技能,我们的目标是重复使用已训练的专业技能中的知识,然后使用基于课程的 RL 来进一步提高性能。该方法包括三个阶段:
- 首先,应用标准行为克隆(BC),其中包括从已经训练的专业技能中收集演示,这些演示用于监督多面手技能的训练。
- 其次,DAgger(数据集聚合)用于细化多面手,通过执行多面手技能,并在多面手访问的状态下主动查询专家技能,以获取专家预测的行动,从而提供监督。
- 最后,对多面手执行 RL 微调阶段。在微调阶段,从 IndustReal 工作中应用基于采样的课程,随着多面手的任务成功率提高,部件的初始参与度逐渐减少。
使用拟议的三阶段方法对多面手进行训练,涵盖 20 个组件。在模拟中,多面手策略可以联合求解 20 个组件,成功率达到 80.4%。在现实世界中,对同一组组件的测试表明,多面手策略的平均成功率为 84.5%,相比模拟中的部署提高了 4.1%(图 9)。
真实世界设置和感知初始化的工作流程
现实世界的设置包括 Franka Panda 机械臂、一台安装在手柄上的 Intel RealSense D435 摄像头、一个 3D 打印的插件和插座,以及一个用于固定插槽的 Schunk EGK40 抓手。在感知初始化工作流程中:
- 将插头随意放置在泡沫块上,将插座随意放置在 Schunk 抓手器内。
- RGB-D 图像通过腕部安装的摄像头捕获,然后对零件进行六维姿态估计(FoundationPose).
- 机器人抓住插件,将其传输到插槽,并部署经过仿真训练的装配技能。
在感知初始化工作流程中,对专家和多面手进行评估。对于专家,平均成功率为 90.0%。对于多面手,成功率为 86.0%。这些结果表明,通过将 6-DOF 姿态估计、把握优化和拟议学习专家和多面手策略的方法有效结合,可以使用研究级硬件在真实条件下实现可靠的组装。
总结
AutoMate 是利用学习方法和模拟来解决各种装配问题的首次尝试。通过这项工作,NVIDIA 的研究人员逐渐建立了工业机器人的大型模型范式,同时保持在现实世界部署中的实践基础。
未来的步骤专注于解决多部件组件,这些组件需要高效的序列规划,即决定下一步组装哪个部件,并进一步提高技能以满足行业竞争性能规范。
如需了解 NVIDIA 先前的工作,请阅读 Factory 和 IndustReal 的论文。访问 AutoMate 项目页面,阅读该论文并查看摘要视频。请持续关注 AutoMate 即将与新发布的 NVIDIA Isaac Lab 集成的消息。
与作者 Bingjie Tang、Iretiayo Akinola、Jie Xu、Bowen Wen、Ankur Handa、Karl Van Wyk、Dieter Fox、Gaurav S. Sukhatme、Fabio Ramos 和 Yashraj Narang 一起参加 2024 年 7 月举行的机器人:科学和系统 (RSS) 大会,他们将在大会上发表论文《AutoMate:专家和通用组装策略 over 多样几何》在 Robotics: Science and Systems (RSS) 大会上。