仿真是帮助机器人学习感知(从摄像机图像中了解世界)、规划(制定解决问题的行动序列)和控制(产生改变机器人位置和方向的电机指令)等新技能的一个必要工具。
机器人装配在汽车、航空航天、电子和医疗设备行业中无处不在。设置机器人执行装配任务是一个耗时且昂贵的过程,需要一整支团队来设计机器人的轨迹并仔细划定边界。
在其他机器人技术领域,仿真已经成为不可或缺的工具,尤其是在发展 AI 的过程中。但机器人装配涉及几何复杂的紧密公差零件之间的高精度接触。长期以来,仿真此类接触紧密的活动在计算上的难度极高。
(资料图)
NVIDIA 近期在机器人装配方面取得了进展,这使得超实时仿真成为可能。这种高速仿真能够使用强大、先进的强化学习(RL)技术。借助 RL,虚拟机器人能够探索仿真环境、获得丰富的经验,并通过智能试错来学习有用的技能。将 RL 用于机器人装配,可以最大限度地减少对操作者专业知识的需求、增加对变化的鲁棒性并减少硬件磨损。sim-to-real 一词指的就是将仿真环境中的技能转移到现实世界。
将 RL 用于机器人装配的最大挑战之一,是机器人在仿真中学习的技能通常不能有效地转移到现实世界的机器人上。出现这个问题是因为仿真器与现实世界之间存在物理学、电机信号和传感器信号等方面的微妙差异。此外,现实世界的机器人可能会遇到在仿真器中从未见过的情况。这些问题被统称为 reality gap(现实差距)。
什么是 IndustReal?
为了将 RL 用于具有挑战性的装配任务并解决现实差距问题,我们开发了 IndustReal。IndustReal 是一套用于帮助机器人解决仿真中的装配任务,并将这些能力转移到现实世界的算法、系统和工具。
IndustReal 主要提供:
一套使仿真机器人通过 RL 解决复杂装配任务的算法。
一种解决现实差距,并在现实世界中部署时稳定机器人所学技能的方法。
一个现实世界机器人系统,将在仿真中训练的装配技能端到端地转移到现实。
使研究人员和工程师能够复制该系统的软硬件工具套件。
IndustRealKit 是一套受 NIST Task Board 1(既定的机器人装配基准)启发的 3D 可打印资产 CAD 模型。
IndustRealLib 是一个轻量级的 Python 库,可将在 NVIDIA Isaac Gym 仿真器中学到的技能部署到现实世界的 Franka Emika Panda 机器人臂上。
图 1. 机器人在仿真中执行插入钉子
和装配齿轮的策略(上一行),
然后将这些策略部署到现实世界中(下一行)。
训练算法和部署方法
在这项工作中,我们提出了三种算法帮助机器人在仿真中使用 RL 学习装配技能。我们还提出了一种使现实世界的机器人能够执行这些技能的部署方法。
仿真感知策略更新
像 NVIDIA Isaac Gym 和 NVIDIA Isaac Sim 这样的机器人仿真器在满足现实世界的物理学同时,还要满足许多物理限制,其中最重要的一项是物体不能相互重叠,或者说“互穿”。在大多数仿真器中,物体之间的小规模互通不可避免,尤其是在实时执行时。
我们引入了仿真感知策略更新(SAPU),为仿真机器人提供关于仿真预测何时可靠或不可靠的认知。具体而言,在 SAPU 中,我们在 NVIDIA Warp 中实现了一个基于 GPU 的模块,从而在机器人学习如何使用 RL 装配零件时检查是否存在互穿。
当互穿规模小时,我们对机器人的仿真体验进行加权,而当互穿规模大时,我们就减少加权。该策略可以防止仿真机器人利用不准确的物理规则解决任务,进而导致无法将它学习的技能转移到现实世界中。
有向距离场奖励
为了使用 RL 解决任务,必须定义一个奖励信号(例如衡量机器人在解决任务方面取得了多少进展)。然而,在装配过程中,很难根据形状复杂零件的对齐情况来定义一个奖励信号。
于是我们引入了有向距离场(SDF)奖励,以便衡量仿真零件在装配过程中的对齐程度。SDF 是一个数学函数,它可以从一个物体上的点计算出到另一个物体表面的最短距离。这种自然、通用的方法可以描述零件之间的对齐情况,高度对称或不对称都不例外。
在 SDF 奖励中,我们将奖励信号定义为装配过程中一个零件的当前位置和目标位置之间的 SDF 距离。
颜色代表从指定的点到钉子表面的最短距离
基于样本的课程
课程学习是一种成熟的 RL 方法,可解决涉及到许多单独步骤或动作的问题。毕竟,机器人在学习过程中所面对的任务难度会逐渐增加。
在我们的装配任务中,机器人首先解决简单的装配问题(即零件已完成部分装配),然后再升级到更难的问题(即零件已被拆解)。
随着零件之间的初始接触逐渐减少,零件会在某个时刻不再有初始接触点。由于机器人的知识已过度偏向于部分装配的情况,这种难度上的陡增会导致性能崩溃。
我们为仿真机器人引入了一个基于样本的课程(SBC)来逐步学习复杂的装配任务。在课程的所有阶段都要求机器人解决各种难度范围内的抽样装配问题,但会逐渐删除问题分布中最简单的问题。在课程的最后阶段,各个零件在一开始就完全不接触。请看下面的可视化图。
图 3. 基于样本的课程的不同阶段。
任务难度从左到右随插头(黄色球体)
初始位置的分布远离插座(米色)而增加。
策略级行动整合器
在最常见的机器人 RL 应用中,通过对机器人的姿势(即其位置和方向)进行增量调整来产生机器人的动作。这些增量被应用于机器人的当前姿态,以产生一个瞬时的目标姿势。如果应用于现实世界中的机器人,由于实际机器人的复杂性,这种策略可能会导致机器人的最终姿势与其最终目标姿势之间产生差异。
我们还提出了一个策略级行动整合器(PLAI)。这是一种简单的算法,在现实世界的机器人上部署学习到的技能时,可以减少稳态(即长期的)错误。我们将增量调整应用于先前的瞬时目标姿势,以产生新的瞬时目标姿势。
在数学上(类似于经典 PID 控制器的积分项),这种策略产生的瞬时目标姿势是初始姿势和机器人随时间产生的动作之和。该技术即便在复杂的实际情况下,也可以使机器人的最终姿势与最终目标姿势之间的误差最小化。
机器人正试图移动到一个目标位置,期间我们比较了标准(标称)策略、PLAI 算法和经典的 PID 控制器在抵达任务上的表现。请看下面的可视化图。
图 4. 机器人使用标准策略、PLAI 算法和 PID 策略将其指尖移动到粉色球体目标的比较(上一行:在重力补偿不完全的情况下进行比较。下一行:在未建立关节处摩擦力模型的情况下进行比较)
系统和工具
通过 IndustReal 进行现实世界实验所使用的装置,包括一个 Franka Emika Panda 机器人臂、安装在机器人手上的英特尔 RealSense D435 摄像头,以及一个带有零件的装配平台。
IndustReal 提供用于复制本文中介绍的系统所需要的硬件(IndustRealKit)和软件(IndustRealLib)。
IndustRealKit 包含可 3D 打印的 20 个零件的 CAD 模型,涵盖了这项工作中使用到的所有零件。这些模型带有 6 个钉子支架、6 个钉子插座、3 个齿轮、1 个齿轮底座(带 3 个齿轮轴)以及 4 个 NEMA 连接器和插座支架,均使用美标插头和电源插座。
采购清单包括 17 个零件:6 个金属钉子(NIST 基准)、4 个 NEMA 连接器和插座、1 个光学平台以及紧固件。
图 6. IndustRealKit IndustRealLib 是一个轻量级库,包含了将在仿真中通过 RL 学到的技能部署到现实世界机器臂上所需要的代码。具体而言,我们为用户提供脚本,以便他们把在 NVIDIA Isaac Gym 仿真器中训练的控制策略(即将传感器信号映射到机器人行动的神经网络)迅速部署到 Franka Emika Panda 机器人上。
未来发展方向
IndustReal 展示了一条在机器人装配任务中充分发挥仿真潜力的路径。随着仿真变得更加精准和高效,以及更多仿真转现实的转移技术被源源不断地开发出来,我们已经预见到了将这项工作扩展到制造业其他任务(如螺丝紧固、电缆布线和焊接等)的众多可能性。我们有理由相信,有朝一日,每一个先进的工业制造机器人都将使用这种技术进行仿真训练,以便可以无缝、灵活地转移到现实世界。
我们的下一步是将该系统扩展到包括更多的对象、装配任务和复杂的环境。我们还打算开发更多的仿真转现实技术,以便更加经济、可靠、安全而顺利地转移学到的技能。
X 关闭
Copyright © 2015-2022 欧洲制鞋网版权所有 备案号:沪ICP备2022005074号-23 联系邮箱: 58 55 97 3@qq.com