赶上最新的AI论文

学会模仿动物,四足机器人!

学会模仿动物,四足机器人!

强化学习

三个要点
✔️ 利用动物动作捕捉数据进行模仿学习
✔️ 实现稳健性和对环境的适应性。
✔️ 在真实的机器上复制多种敏捷运动,如前进和转弯。

Learning Agile Robotic Locomotion Skills by Imitating Animals
written by Xue Bin PengErwin CoumansTingnan ZhangTsang-Wei LeeJie TanSergey Levine
(Submitted on 2 Apr 2020 (v1), last revised 21 Jul 2020 (this version, v3))
Comments: Published on arxiv.

Subjects: Robotics (cs.RO); Machine Learning (cs.LG)

code:  

本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。

简介

在这篇文章中,我们介绍了一篇关于在现实世界中成功实现四足机器人快速运动的论文,该论文基于运动捕捉和动画师的工作所捕获的动物运动。

作者还发布了一个解释视频。它是英文的,但你可以在视频中看到它是如何运作的。

简介

动物能够进行非常敏捷的运动。腿部机器人也有进行敏捷运动的物理能力,但为它们创建一个控制器是一项非常耗时和费力的工作。在本文中,我们提出了一个框架,让腿部机器人通过模仿动物动作来学习敏捷的动作。

方法

该方法由三部分组成

  • 运动重定位
  • 模仿的动作
  • 领域适应性

我想依次看一下其中的每一个问题。

运动重定位

在本文中,我们假设你已经有了一个可用的动物三维模型,该模型使用从真实动物上捕获的运动数据。请注意,我们不涉及如何实际创建3D模型的领域。工作的3D模型不一定要由动作捕捉生成,它可以从动画师创建的3D模型中学习。

在使用动物运动数据时,有必要对骨骼差异的影响进行校正。逆向运动学被用来将原始数据转化为与机器人骨架相适应的形式。

第一步是指定两个模型之间的对应点。

然后,我们为机器人定义一连串的关节角度q0:T,以便在每一个点上,两个模型之间几乎没有差别。这可以用以下方式表示

请注意,在上述方程中,加入了一个有规律的加法项,以确保机器人不会离开参考姿势太远,而W是一个对角线矩阵,代表每个关节的重要性。

模仿的动作

通过上述程序,我们现在有一连串的关节角度,q0:T,这将被用作教师数据。下一步是训练系统利用这些教师数据采取适当的行动。在公式中,我们学习测量π(at|st,gt),其中gt是要模仿的信息,gt=(q^t+1,q^t+2,q^t+10,q^t+30)。其中q^是相应时间的教师数据。采样周期为30Hz,所以gt公司拥有一秒钟后的信息。另外,状态st=(qt-2:t,at-3:t-1)。

奖励被表示为几个因素的线性总和。不谈细节,它的计算考虑到了位置和速度与教师数据的偏差。

领域适应性

它将是一种既强大又能适应环境的学习方式。这是本文最重要的一点。

领域随机化

领域随机化是一种流行的方法,用于获得在真实世界模拟中有效的策略。它涉及到在训练中改变环境的动态,以促进获得在几个不同环境中发挥作用的措施。

这种方法的问题是,不是所有的策略都能在所有的环境中起作用,一个策略可能在模拟的多种环境中稳健地工作,但在现实世界中却由于未模拟的因素而失败。

领域适应性

为了处理前面提到的领域随机化问题,我们使用了一种叫做领域适应的方法。这种方法允许代理学习如何在多种环境中稳健行事,同时很好地适应新环境。现在让我们来详细介绍一下这个方法。

μ作为环境的参数。具体来说,它包括模型的质量、惯性矩和电机的延迟时间。在训练期间,这个μ是通过从概率分布p中抽样确定的。

然后,通过一个编码器,μ被转换为一个潜在的表征z。然后,RL可以被表述为在状态s和环境的潜在表征z下寻找最佳行动。我们的想法是要找到一个策略π(a|s,z)。也就是说,我们并不像普通的RL那样仅仅从状态中确定行动,而是还要考虑到关于环境的信息。

然而,如果我们继续进行训练,我们将过度适应某种μ,并失去对环境的鲁棒性。为了避免这种情况,我们给编码器增加了约束条件。

通过对M(=μ)和z之间的相互信息量设定一个上限,我们限制了z对环境的信息。换句话说,目标函数可以表达如下

由于很难直接计算相互信息I,我们引入了z的先验分布ρ(z),并将其替换为I的上界。请注意,实验中使用的ρ是标准正态分布。

通过进一步放宽约束并将其纳入方程,我们最终得到以下目标函数

我们想接着解释这个方程(14)。第一个条款与通常的RL相同,我们找到一对措施π和编码器E,使累积奖励总和最大化。第二项是对编码器的信息内容进行惩罚。这可以解释为通过减少编码器和先验分布ρ之间的KL距离来限制代理人所能参考的环境。参数β代表了所学策略的鲁棒性和适应性之间的权衡:β的大值会导致学习鲁棒但不适应的策略。这只对应于领域随机化的情况:当β接近0时,系统将过度适应每个环境,并不能在真实环境中表现良好。

部署到现实世界

现在我们已经看到了模拟中发生的情况,我们将看看在现实世界中的部署。当然,我们不可能知道现实世界中的z是什么,所以我们需要猜测。在实践中,我们需要找到使折现报酬之和最大化的Z*,如下式所示

为了确定z*,我们使用一种简单的非测量RL算法,称为优势加权回归(AWR),该算法是本文第一作者在2019年提出的,这里用来寻找一种分布,使我们能够更好地对z进行采样我们将用它来寻找一个能更好地对Z进行采样的分布。该算法的流程如上图所示,但我们将详细了解每一步。

  1. 我们将向您提供我们所了解的措施。
  2. 最初,我们用正态分布初始化Z的分布,ω0
  3. 准备一个重放缓冲区来存储Z和相应的累积奖励总和。
  4. 重复步骤(5-9),k=0,1,...。,kmax-1
  5. 我们将从Ωk中取样zk
  6. 我们使用π和zk运行实际机器,以获得累积奖励总和Rk。
  7. 将这对zk,Rk存储在重放缓冲区D中。
  8. 迄今为止,累计薪酬总额的平均值被计算为v-bar。
  9. 一个新的分布是通过对以前的分布的对数可能性进行加权平均而产生的,同时增加对z采样的分布的权重,这些分布给出了一个大的累积奖励总和。

至于(9),由于ω是高斯的,所以可以用分析法计算,但这将导致过早收敛到一个次优解,所以为了实施的目的,用最陡峭的下降法进行数值计算。

结果

利用上述技术,我们已经成功地训练Laikago机器人学习各种动作。

我们训练了10种不同的行为,其中5种是基于动物动作捕捉数据(前缀为狗,如狗的步伐),5种是基于动画师创建的数据。

对于每个行动

  • 如果你甚至没有进行过领域随机化
  • 如果只进行领域随机化
  • 如果通过领域适应性学习,但没有在现实世界中识别z
  • 如果对Z的识别也是在现实世界中进行的

我们比较了四种不同方法的性能。

从下图可以看出,几乎在所有情况下,走到Z字形识别的方法都有最好的表现。

更有趣的是,虽然在模仿动画师制作的动作时,简单的方法和领域适应性之间没有什么区别(右边的5),但在进行Z识别时,模仿真实动物动作的方法(左边的5)的表现要好得多。这意味着我们的方法即使在教师数据中存在噪音和模仿复杂动作时也能表现良好。

摘要

通过结合鲁棒性和对环境的适应性,我们看到了一个通过模仿动物在四足机器人中实现各种敏捷运动的框架。虽然能够在RL中实现真正的动物般的敏捷性是一项伟大的成就,但仍有许多工作要做。由于硬件和算法的限制,目前还没有实现跳跃和奔跑等动态行为。开发能够成功重现这些行为的搜索技术将在未来极大地提高腿部机器人的灵活性。而且,已经学习的行为还没有达到与人类调整的控制器相同的稳定性水平。提高稳定性也将是现实世界应用的一项非常重要的任务。此外,成功地从运动片段以外的来源学习是非常重要的,例如视频,因为这将大大增加教师数据的种类。

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!

如果您对文章内容有任何改进建议等,请通过 "联系我们 "表格与爱学网编辑部联系。
如果您能通过咨询表与我们联系,我们将非常感激。

联系我们