真的超越了波士顿动力!深度强化学习打造的 ANYmal 登上 Science 子刊

640?wx_fmt=jpeg

编译:机器之心
算法

深度强化学习开发出的机器人模型一般很难应用到真实环境中,所以机器人开发中鲜少使用该技术。然而这已经板上钉钉了吗?在两天前引起人工智能界关注的 ANYmal 机器人中,其机动性和适应性看起来丝绝不逊色于波士顿动力。其相关论文近期登上了 Science 子刊《Science Robotics》,而且明确指出使用了深度强化学习技术。基于 AI 技术的成功应用,ANYmal 在数据驱动的开发上或许会更有优点。缓存


  • 论文:Learning agile and dynamic motor skills for legged robots网络

  • 论文地址:http://robotics.sciencemag.org/content/4/26/eaau5872app


摘要:足式机器人是机器人学中最具挑战性的主题之一。动物动态、敏捷的动做是没法用现有人为方法模仿的。一种引人注目的方法是强化学习,它只须要极少的手工设计,可以促进控制策略的天然演化。然而,截至目前,足式机器人领域的强化学习研究还主要局限于模仿,只有少数相对简单的例子被部署到真实环境系统中。主要缘由在于,使用真实的机器人(尤为是使用带有动态平衡系统的真实机器人)进行训练既复杂又昂贵。本文介绍了一种能够在模拟中训练神经网络策略并将其迁移到当前最早进足式机器人系统中的方法,所以利用了快速、自动化、成本合算的数据生成方案。该方法被应用到 ANYmal 机器人中,这是一款中型犬大小的四足复杂机器人系统。利用在模拟中训练的策略,ANYmal 得到了以前方法没法实现的运动技能:它能精确、高效地服从高水平身体速度指令,奔跑速度比以前的机器人更快,甚至在复杂的环境中还能跌倒后爬起来。性能


640?wx_fmt=png

图 1:建立一个控制策略。第一步是肯定机器人的物理参数并估计其中的不肯定性。第二步是训练一个致动器网络,建模复杂的致动器/软件动力机制。第三步是利用前两步中获得的模型训练一个控制策略。第四步是直接在物理系统中部署训练好的策略。学习


结果优化


该视频展现告终果和方法。编码


基于命令的运动人工智能

 

640?wx_fmt=png

图 2:习得运动控制器的量化评估结果。A. 发现的步态模式按速度指令以 1.0 m/s 的速度运行。LF 表示左前腿,RF 表示右前腿,LH 表示左后腿,RH 表示右后腿。B. 使用本文方法获得的基础速度的准确率。C-E. 本文习得控制器与现有最佳控制器在能耗、速度偏差、扭矩大小方面的对比,给定的前进速度指令为 0.2五、0.五、0.75 和 1.0 m/s。spa


高速运动

 

640?wx_fmt=png

图 3:对高速运动训练策略的评估结果。A. ANYmal 的前进速度。B. 关节速度。C. 关节扭矩。D. 步态模式。


跌倒后的恢复

 

640?wx_fmt=png

图 4:在真实机器人上部署的恢复控制器。该研究学到的策略成功使机器人在 3 秒内从随机初始配置中恢复。


材料和方法


这一部分会详细描述模拟环境、训练过程和在物理环境中的部署。图 5 是训练方法概览。训练过程以下:刚体模拟器会根据关节扭矩和当前状态输出机器人的下一个状态。关节速度和位置偏差会被缓存在有限时间窗口的关节状态历史中。由带两个隐藏层的 MLP 实现的控制策略会将当前状态和关节状态历史的观察结果映射为关节位置目标。最后,致动器网络会将关节状态历史和关节位置目标映射为 12 个关节扭矩值,而后进入下一个训练循环。


640?wx_fmt=png

图 5:模拟过程当中的训练控制策略。


建模刚体动力机制


为了在合理时间内有效训练复杂的策略,并将其迁移到现实世界,咱们须要一种又快又准确的模拟平台。开发行走机器人的最大挑战之一是非连续接触的动力机制建模。为此,研究者使用了以前工做中开发出的刚体接触求解器 [41]。这个接触求解器使用了一个彻底遵循库伦摩擦锥约束的硬接触模型。这种建模技术能够准确地捕获一系列刚体和环境进行硬接触时的真实动力机制。该求解器能准确而快速地在台式计算机上每秒生成模拟四足动物的 90 万个时间步。


链接的惯性是从 CAD 模型估计出来的。研究者预期估计会达到 20% 的偏差由于没有建模布线和电子器件。为了考虑这些建模不肯定性,研究者经过随机采样惯性训练了 30 种不一样的 ANYmal 模型来使得策略更加稳健。质心位置、链接的质量和关节位置分别经过添加从 U(−2, 2) cm、U(−15, 15)%、 U(−2, 2) cm 中采样的噪声进行随机化。


建模致动器

 

640?wx_fmt=png

图 6:学得致动器模型的验证结果。


强化学习


研究者展现了离散时间中的控制问题。在每一个时间步 t,智能体获取观测结果 o_t ∈O,执行动做 a_t ∈A,获取标量奖励 r_t ∈ ℛ。研究者所指奖励和成本是能够互换的,由于成本就是负的奖励。研究者用 O_t = 〈o_t, o_t − 1, …, o_t − h〉表示近期观测结果的元组。智能体根据随机策略 π(a_t|O_t) 选择动做,该随机策略是基于近期观测结果的动做分布。其目的在于找到在无穷水平中使折扣奖励总和最大化的策略:


640?wx_fmt=png


 其中 γ ∈ (0, 1) 是折扣因子,τ(π) 是在策略 π 下的轨迹分布(该策略和环境动态下的分布)。在研究设置中,观测结果是评估机器人状态的指标(向控制器提供),动做是向致动器传达的位置命令,奖励是指定的(以诱导感兴趣的行为)。


多种强化学习算法可应用于这个指定策略优化问题。研究者选择了置信域策略优化(TRPO),该算法可在模拟中学习运动策略。它几乎不须要调参,论文中全部学习会话都仅使用默认参数([22, 54] 提供的参数)。研究者使用了该算法的快速自定义实现 [55]。这一高效实现和快速刚体模拟 [41] 可在约 4 小时内生成和处理 2.5 亿状态转换。当该策略的平均性能在 300 个 TRPO 迭代中的改进没有超过任务特定阈值时,学习会话终止。


在物理系统上部署


研究者用 ANYmal 机器人来展现其方法在真实环境中的适用性,如图 1 中步骤 4 所示。ANYmal 是一种体型与狗差很少的四足机器人,重 32kg。每只足约 55 厘米长,且有三个驱动自由度,即髋部外展/内收、髋关节屈/伸、膝关节屈/伸。


ANYmal 有 12 个 SEA。一个 SEA 由一个电动机、一个高传动比传动装置、一个弹性元件和两个旋转编码器组成。它能够测量弹簧偏移和输出位置。在本文中,研究者在 ANYmal 机器人的关节级促动器模块上使用了具备低反馈收益的关节级 PD 控制器。促动器的动态包含多个连续的组件,以下所示。首先,使用 PD 控制器将位置指令转换成指望的扭矩。接着,使用来自指望扭矩的 PID 控制器计算指望电流。而后,用磁场定向控制器将指望电流转换成相电压,该控制器在变速器的输入端产生扭矩。变速器的输出端与弹性元件相连,弹性元件的偏移最终在关节处生成扭矩。这些高度复杂的动态引入了不少隐藏的内部状态,研究者没法直接访问这些内部状态并复杂化其控制问题。


从混合模拟中为训练策略得到参数集后,在真实系统上的部署变得简单多了。定制的 MLP 实现和训练好的参数集被导到机器人的机载 PC 上。当这个网络在 200Hz 时,其状态被评估为基于命令/高速的运动,在 100Hz 时被评估为从坠落中恢复。研究者发现,其性能出人意料地对控制率不敏感。例如,在 20 Hz 时训练恢复运动与在 100 Hz 时性能一致。这多是由于翻转行为涉及低关节速度(大部分低于 6 弧度/秒)。更动态的行为(如运动)一般须要更高的控制率才能得到足够的性能。实验中使用了更高的频率(100 Hz),由于这样噪音更少。甚至在 100 Hz 时,对网络的评估仅使用了单个 CPU 核上可用计算的 0.25 %。


将来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。


将来智能实验室的主要工做包括:创建AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提高企业,行业与城市的智能水平服务。


  若是您对实验室的研究感兴趣,欢迎加入将来智能实验室线上平台。扫描如下二维码或点击本文左下角“阅读原文”


640?wx_fmt=jpeg