自主机器

使用 NVIDIA Isaac 的新型仿真方法推进机器人装配

 

NVIDIA 机器人技术和仿真研究人员在 2022 年机器人技术:科学与系统( RSS )会议上介绍了 工厂:机器人装配的快速接触 。这项工作是机器人研究中普遍存在的接触丰富交互的模拟和学习方面的一个新突破。其目的是大大加快机器人装配的研究和开发,并作为一个强大的工具,用于任何类型的接触丰富的仿真。

机器人装配:什么、为什么和挑战

装配在汽车、航空航天、电子和医疗行业中至关重要。示例包括拧紧螺母和螺栓、焊接、插销和电缆布线。

然而,机器人装配仍然是机器人技术中最古老、最具挑战性的任务之一。由于物理复杂性、高可靠性、零件可变性和高精度要求,自动化变得异常困难。

在工业中,机器人装配方法可能实现高精度、高精度和高可靠性,但通常需要昂贵的设备和定制夹具,这些设备和夹具的设置和维护非常耗时(例如,预编程轨迹和仔细调整)。涉及对变化(零件类型、外观和位置)鲁棒性和复杂操作的任务通常使用人工完成。

研究方法可以实现更低的成本、更高的自适应性和更好的鲁棒性,但通常可靠性较低,速度较慢。

仿真:解决机器人装配挑战的工具

几十年来,仿真一直用于验证、验证和优化机器人设计和算法。这包括确保部署这些算法的安全性。它还被用于生成用于深度学习的大规模数据集,执行系统识别,以及开发规划和控制方法。

在强化学习( RL )研究中,我们最近看到了如何将仿真结果转移到真实系统。精确的物理模拟对于机器人发展的重要性无论怎样强调都不为过。

GIF of multiple walking robots on the wheel training in Isaac Gym.
图 1 。 NVIDIA ISAAC Gym 中的 ANYmal 演示训练,这是一种用于机器人学习的高性能 GPU 加速物理模拟器

基于物理的模拟器,如 MuJoCo NVIDIA ISAAC Gym 已用于训练虚拟代理执行操作和移动任务,例如求解魔方或使用 ANYmal 在不平坦地形上行走。这些政策已经成功地转移到现实世界的机器人上。

然而,快速准确的模拟器的能力并没有对机器人装配产生实质性影响。为具有不同变化和运动的复杂物体开发此类模拟器是一项困难的任务。

例如,一个简单的螺母和螺栓组件需要的不仅仅是纯螺旋运动。螺母和螺栓的螺纹之间有有限间隙,允许螺母以六个自由度移动。即使是人类也需要一定程度的小心,以确保螺母与螺栓具有适当的初始对准,并且在拧紧过程中不会卡住。

然而,用传统方法模拟任务可能需要使用数万个三角形的网格。检测这些网格之间的碰撞、生成接触点和法线以及求解非穿透约束是主要的计算挑战。

尽管世界上有大量的螺纹紧固件,但没有任何现有的机器人模拟器能够以与基本物理动力学相同的速率实时模拟单个螺母和螺栓组件。

在工厂里,研究人员开发了一些方法来克服机器人装配和其他接触丰富的交互中的挑战。

什么是工厂?

Factory (机器人装配的快速接触)是一套物理模拟方法和机器人学习工具,用于实现广泛接触丰富交互的实时和快速模拟。工厂应用之一是机器人装配。

工厂提供以下核心贡献:

  • 一套 methods ,用于通过基于 GPU 的符号距离函数( SDF )碰撞合成、接触减少和高斯 – 赛德尔解算器,快速、准确地物理模拟富含接触的相互作用。
  • 机器人学习套件 包括:
    • 60 项高质量资产,包括一台 Franka 机器人和 NIST 装配任务委员会 1 的所有刚体装配, NIST 装配任务委员会 1 是机器人装配的既定基准
    • 用于机器人装配的三种 ISAAC 健身房式学习环境
    • 七种经典机器人控制器
  • 概念验证强化学习策略 用于执行接触丰富任务的机器人(模拟 Franka 机器人在 NIST 板、螺母和螺栓组件上解决最多接触丰富任务)

工厂论文中的物理模拟方法已集成到 ISAAC Gym 使用的 PhysX 物理引擎中。最新版本的 ISAAC Gym 和 ISAAC Gym 环境 GitHub 回购。 Omniverse ISAAC Sim 模拟器中也提供了模拟方法,今年夏天晚些时候将提供强化学习示例。

模拟方法和结果

使用基于 GPU 的物体 SDF 碰撞快速实现、用于减少 SDF 碰撞接触的接触减少算法和自定义数值求解器,研究人员不仅能够实时模拟单个 M16 螺母和螺栓,而且能够在并行环境中实时模拟 1024 个。这基本上比现有技术快 200000 倍。

研究人员演示了模拟器在各种具有挑战性的场景中的性能,包括以下场景:

  • 512 个碗在同一环境中落成一堆
  • 一堆螺母被送入进料器机构,以 60 Hz 的频率振动
  • Franka 机器人执行手动脚本轨迹以抓取螺母并将其拧紧到螺栓上,该环境的 128 个实例实时执行
GIF of 1,024 ZM16 nut-and-bolt parallel assembly.
图 2:M16 螺母和螺栓组件场景,由实时执行的 1024 个平行螺母和螺栓交互组成
GIF of robot hands retrieving nuts from a vibratory feeder and tightening them onto a bolt.
图 3 。 Franka robot plus M16 螺母和螺栓组件场景,由 128 个平行 Franka 机器人组成,从振动给料机机构中检索螺母并将其拧紧到螺栓上
GIF of 1,024 bowls falling into a pile in the same environment.
图 4 。 1024 个碗在同一环境中落成一堆,实时执行

机器人学习工具

机器人装配最为成熟的基准是 NIST 装配任务委员会 ,自 2017 年以来,这是年度机器人竞赛的焦点。 NIST 任务委员会 1 由 38 个独特部分组成。然而,由于缺乏真实的间隙、零件之间的干涉、手动测量等,所提供的 CAD 模型并不适合物理模拟。现实的模型很难找到。

Image for assembly components such as nut-and-bolt, USB, and Wi-Fi connector .
图 5 。真正的 NIST 任务委员会 1与图 6 中的模拟板进行比较

工厂使用 60 个高质量、模拟就绪的零件模型,每个模型具有一个 Onshape CAD 模型、一个或多个 OBJ 网格、 URDF 描述和符合国际标准( ISO 724 、 ISO 965 和 ISO 286 )或基于制造商提供的模型的估计材料特性。这些模型包括 NIST 装配任务委员会 1 上的所有零件,其尺寸变化跨越真实世界的公差带。零件之间的间隙范围从 0 到最大 2.66 mm ,许多零件在 0.1-0.5 mm 范围内。

Image for simulated assembly components such as nut-and-bolt, USB, and Wi-Fi connector
图 6 。呈现模拟 NIST 任务板 1 ,演示提供的资产

工厂为 ISAAC 健身房提供了三个机器人装配场景,可用于开发规划和控制算法、收集模拟传感器数据以进行监督学习以及训练 RL 代理。每个场景都包含一个 Franka 机器人和 NIST 任务板 1 中分解的组件。

资产可以在所有环境中的类型和位置上随机化。所有场景都在 NVIDIA RTX 3090 GPU 上进行了多达 128 个同时环境的测试。场景如下:

Images of a robot arm for different assembly tasks such as robot arm plus nut-and-bolt, robot arm plus USB connector, and robot arm plus gears
图 7 。工厂机器人装配环境

学习环境中可用的七个机器人控制器包括关节空间逆微分运动学( IK )运动控制器、关节空间逆动力学( ID )控制器、任务空间阻抗控制器、操作空间运动控制器、开环力控制器、闭环比例力控制器和混合力运动控制器。

研究人员希望模型、环境和控制器随着他们和社区的贡献而不断增长。

概念验证 RL 政策

工厂采用 GPU 加速策略 RL 来解决 NIST 任务板 1 上接触最多的任务:将螺母组装到螺栓上。像许多装配任务一样,这样的过程是一个漫长的过程,并且很难进行端到端的学习。问题分为三个阶段:

  1. 拾取:机器人从工作表面上的随机位置用平行钳口抓取螺母。
  2. 位置:机器人将螺母运输到固定在表面的螺栓顶部。
  3. 螺钉:机器人使螺母与螺栓接触,啮合配合螺纹,并拧紧螺母,直到其接触螺栓头的底座。
GIF of trained robot arm picking up a nut.
图 8 。一个经过训练的机器人手臂捡起一个螺母,这是 FrankaNutBoltEnv 经过训练的子政策所达到的目标状态之一
GIF of trained robot arm placing a nut onto a bolt.
图 9 。经过训练的机器人手臂将螺母放在螺栓上,这是 FrankaNutBoltEnv 经过训练的子策略实现的目标状态之一
GIF of trained robot arm screwing a nut onto a bolt.
图 10 。一个经过训练的机器人手臂将螺母拧到螺栓上,这是 FrankaNutBoltEnv 经过训练的子政策实现的目标状态之一

培训在单个 GPU 上完成。对对象的初始位置和方向应用大随机性,同时使用近端策略优化( PPO )训练一批 3-4 个策略。每个批次需要 1-1.5 小时的训练,每个子策略在 128 多个环境中进行训练,最多 1024 个策略更新用于快速实验。试验时的成功率为 98.4% 。

最后,为了评估模拟到真实传输的潜力(将在模拟中学习到的策略传输到真实世界的机器人系统),研究人员将在模拟中这些交互过程中产生的接触力与在真实世界中使用扳手执行相同任务的人测得的接触力进行了比较。有关更多信息,请参阅 R-PAL 日常交互操作( DIM )数据集

下图显示,模拟紧固螺母的直方图位于真实紧固螺母直方图的中间,这表明与真实值具有很强的一致性。

Graph showing histogram of real and simulated contact forces
图 11 。螺钉子策略执行期间的模拟接触力与 每日交互式操作( DIM )数据集 中的模拟真实接触力的比较

结论和未来方向

虽然 Factory 开发时将机器人装配作为一种激励应用,但在机器人内使用这些方法执行完全不同的任务没有限制,例如在家庭环境中抓取复杂的非凸形状,在不平坦的室外地形上移动,以及对物体集合进行不可抓取的操作。

这项工作的未来方向是实现复杂物理交互的完整端到端仿真,包括有效地将训练好的策略转移到真实机器人系统的技术。这可能会将成本和风险降至最低,提高安全性,并实现高效行为。

有朝一日,每一个先进的工业制造机器人都可能会使用这些技术进行模拟训练,以便无缝地转移到现实世界中。

为此, NVIDIA 开发人员正在努力完善工厂研究所使用的物理模拟方法,以便可以在 Omniverse ISAAC Sim 中使用。有限的功能已经存在,并将随着时间的推移变得更加强大。

开始使用 Factory

Factory RL 环境也将在未来版本的中提供 Omniverse ISAAC Gym 环境 对于 ISAAC 是的。

 

Tags