分享

通过对抗强化学习学习精确的物理模拟器

 雨夜的博客 2022-02-22

视频介绍:通过对抗强化学习学习精确的物理模拟器

仿真使各种工程学科能够以最少的人力快速建立原型。在机器人技术中,物理模拟为机器人提供了一个安全且廉价的虚拟游乐场,可以通过深度强化学习(DRL)等技术获得物理技能。然而,由于模拟中的手工衍生物理与现实世界并不完全匹配,完全在模拟中训练的控制策略在真实硬件上进行测试时可能会失败——这一挑战被称为模拟到真实的差距或域适应问题。使用RL-CycleGAN 和 RetinaGAN解决了基于感知的任务(例如抓取)的模拟到真实的差距,但仍然存在由机器人系统的动力学引起的差距。这促使我们问,我们能否从少数真实的机器人轨迹中学习出更准确的物理模拟器?如果是这样,这种改进的模拟器可用于使用标准 DRL 训练改进机器人控制器,使其在现实世界中取得成功。

在我们的ICRA 2021出版物“ SimGAN:通过对抗性强化学习进行域适应的混合模拟器识别”中,我们建议将物理模拟器视为可学习的组件,由 DRL 训练,具有特殊的奖励函数,惩罚轨迹之间的差异(即,机器人随时间的运动)和在真实机器人上收集的少量轨迹生成的模拟。我们使用生成对抗网络(GAN) 提供这样的奖励,并制定了一个混合模拟器,结合了可学习的神经网络和分析物理方程,以平衡模型表达能力和物理正确性。在机器人运动任务上,我们的方法优于多个强基线,包括域随机化。

可学习的混合模拟器

传统的物理模拟器是一种求解微分方程以模拟虚拟世界中物体的运动或相互作用的程序。对于这项工作,需要构建不同的物理模型来表示不同的环境——如果机器人在床垫上行走,则需要考虑床垫的变形(例如,使用有限元方法)。然而,由于机器人在现实世界中可能遇到的场景的多样性,这种针对特定环境的建模技术会很乏味(甚至不可能),这就是为什么采用基于机器学习的方法是有用的. 虽然模拟器可以完全从 data,如果训练数据不包括足够广泛的情况,如果需要模拟未经训练的情况,学习模拟器可能会违反物理定律(即偏离现实世界的动态)。结果,在这种有限模拟器中训练的机器人在现实世界中更容易失败。

为了克服这种复杂性,我们构建了一个混合模拟器,它结合了可学习的神经网络和物理方程。具体来说,我们用可学习的仿真参数函数替换通常手动定义的模拟器参数——接触参数(例如,摩擦和恢复系数)和电机参数(例如,电机增益)因为接触和运动动力学的未建模细节是模拟与真实差距的主要原因。与将这些参数视为常数的传统模拟器不同,在混合模拟器中,它们是状态相关的——它们可以根据机器人的状态而改变。例如,电机在更高的速度下会变得更弱。这些通常未建模的物理现象可以使用状态相关的仿真参数函数来捕获。此外,虽然接触和电机参数通常难以识别并且会因磨损而发生变化,但我们的混合模拟器可以从数据中自动学习它们。例如,模拟从训练数据中学习这些参数,而不是手动指定机器人脚部对它可能接触的每个可能表面的参数。

file

混合模拟器的另一部分由物理方程组成,可确保模拟遵循基本物理定律,例如能量守恒,使其更接近现实世界,从而减少模拟与现实之间的差距。

在我们之前的床垫示例中,可学习的混合模拟器能够模拟来自床垫的接触力。由于学习到的接触参数与状态有关,模拟器可以根据机器人脚相对于床垫的距离和速度来调节接触力,模拟可变形表面的刚度和阻尼效果。因此,我们不需要专门为可变形表面分析设计模型。

使用 GAN 进行模拟器学习

成功学习上面讨论的模拟参数函数将产生一个混合模拟器,它可以生成与在真实机器人上收集的轨迹相似的轨迹。实现这种学习的关键是定义轨迹之间相似性的度量。甘斯,最初设计以产生合成的图像共享相同的分布,或具有小数量的真实图像的“风格,”,可以被用于产生合成的轨迹是从以假乱真难以区别。GAN 有两个主要部分,一个是学习生成新实例的生成器,另一个是鉴别器评估新实例与训练数据的相似程度。在这种情况下,可学习混合模拟器用作 GAN 生成器,而 GAN 鉴别器提供相似度分数。

file

将仿真模型的参数与现实世界中收集的数据进行拟合,这一过程称为系统识别(SysID),已成为许多工程领域的常见做法。例如,可以通过测量不同压力下表面的位移来识别可变形表面的刚度参数。这个过程通常是手动且乏味的,但使用 GAN 会更有效率。例如,SysID 通常需要手工制作的指标来衡量模拟轨迹和真实轨迹之间的差异。对于 GAN,判别器会自动学习这样的度量。此外,为了计算差异度量,传统的 SysID 需要将每个模拟轨迹与使用相同控制策略生成的相应真实世界轨迹配对。由于 GAN 判别器只将一条轨迹作为输入,并计算其在现实世界中被收集到的似然,

使用强化学习 (RL) 来学习模拟器并完善策略

将所有内容放在一起,我们将模拟学习制定为 RL 问题。神经网络从少量真实世界的轨迹中学习状态相关的接触和运动参数。神经网络被优化以最小化模拟轨迹和真实轨迹之间的误差。请注意,在较长时间内将这种误差最小化很重要——准确预测更遥远未来的模拟将导致更好的控制策略。RL 非常适合这一点,因为它会随着时间的推移优化累积奖励,而不仅仅是优化单步奖励。

在混合模拟器学习并变得更准确后,我们再次使用 RL 来改进模拟中机器人的控制策略(例如,在表面上行走,如下所示)。

file

评估

由于 2020 年对真实机器人的访问有限,我们创建了第二个不同的模拟(目标域)作为现实世界的代理。源域和目标域之间的动态变化大到足以近似不同的模拟到真实的差距(例如,使一条腿更重,在可变形的表面而不是硬地板上行走)。我们评估了我们的混合模拟器在不知道这些变化的情况下是否可以学习匹配目标域中的动态,以及这个学习模拟器中的改进策略是否可以成功部署在目标域中。

下面的定性结果表明,在目标域(其中地板可变形)中收集不到 10 分钟的数据的模拟学习能够生成改进的策略,该策略对于具有不同形态和动力学的两个机器人执行得更好。

file

下面的定量结果表明,SimGAN 优于多个最先进的基线,包括域随机化 (DR) 和目标域中的直接微调 (FT)。

file

结论

sim 到 real 的差距是阻止机器人利用强化学习力量的关键瓶颈之一。我们通过学习一个模拟器来应对这一挑战,该模拟器可以更忠实地模拟现实世界的动态,同时只使用少量的现实世界数据。可以成功部署在该模拟器中细化的控制策略。为了实现这一点,我们用可学习的组件增强了经典物理模拟器,并使用对抗性强化学习来训练这个混合模拟器。迄今为止,我们已经测试了它在运动任务中的应用,我们希望通过将其应用于其他机器人学习任务(例如导航和操纵)来建立在这个通用框架的基础上。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多