大数据文摘授权转载自机器人大讲堂
人类具有适应环境变化的强大能力:我们可以迅速地学会住着拐杖走路、也可以在捡起位置物品时迅速地调整自己的力量输出,甚至小朋友在不同地面上行走都能轻松自如地切换自己的步态和行走模式。这样的适应能力对于在复杂多变的环境中生存活动十分重要。
但这些看似是人类与生俱来的能力,机器人拼尽全力也未必能实现。
近日,来自 UC 伯克利、CMU 和 FAIR 的研究者们在腿式机器人实时、智能适应具有挑战性、陌生的地形和环境方面取得了重大突破,推出了一种快速运动适应(Rapid Motor Adaptation, RMA)算法。
- 论文地址: https://ashish-kmr.github.io/rma-legged-robots/rma-locomotion-final.pdf
- 项目主页: https://ashish-kmr.github.io/rma-legged-robots/
该算法包含两个子策略,其一是使用强化学习训练的基本策略(base policy)和使用监督学习训练的适应模块(adaptation module),二者完全在模拟中学习。在 RMA 算法加持下,四足机器人拥有了所有智能体共有的适应环境因素的能力。
以往的四足机器人要么已经针对它们所要适应的环境进行了完全手动编码,要么通过手动编码和学习技巧的结合来教它们在环境中导航。与这些不同,RMA 是首个完全基于学习的系统,通过探索并与世界进行交互,使腿式机器人能够从头开始适应环境。
具体来讲,RMA 在不使用任何领域知识(如基准轨迹或预定义的足轨迹生成器)的情况下完全在模拟中训练,并且无需任何微调即可以部署在 Unitree 的 A1 机器人上。
研究者在各种地形生成器上训练 RMA,包括乱石滩、泥地、不平整草地、混凝土地、鹅卵石地、石阶和沙滩等。结果表明,RMA 在不同的现实环境和模拟实验中都实现了优于其他腿式机器人的性能。
优哉游哉穿过乱石滩:
走过高低不平的草地:
在泼了油的塑料板上也不打滑:
此外,RMA 中的适应模块至关重要。测试表明,有适应模块的四足机器人可以负载 8 千克的重量,无适应模块的则负载不了这个重量。
无适应模块的四足机器人也无法在海绵板上行走:
RMA 赋能的四足机器人不仅可以负载不同重量,而且必须能够适应预期的磨损以及现实世界可能出现的其他不可预测的变化。得益于自身能力完全基于遭遇的环境,RMA 赋能的四足机器人还可以适应程序员未曾考虑到的情况。
对于这款能够适应复杂多变环境的四足机器人,网友表示:「我满脑子想到的都是电视剧《黑镜》里面的机器狗……」
机器人是如何做到的?
手动编码的改进可以提高机器人在受控环境中的性能,但是想要机器人真正的适合现实世界中的变化,唯一的方法是教机器人真正的适应环境,类似于人类的学习方式。
想要赋予机器人适应不断变化世界的能力,研究者需要通过数百万次重复实验来教他们,而做到这一点的最佳方法不是在现实世界中,在现实世界中机器人可能会在学习过程中损坏或磨损,研究者是在模拟环境中进行的。
RMA 全程使用端到端学习,甚至直接输出关节位置,而不依赖预定义的腿部运动或其他控制原语。
然而,这些机器人在模拟环境中学习技能,当部署到现实环境中会出现很多挑战。在模拟环境中,机器人的物理结构和模型往往在微小但重要的方面有所不同。例如,在发送控制信号和执行器移动之间可能有轻微的延迟,或者脚上的磨损使它比以前更滑,或者关节的角度可能偏差了百分之一度。
物理世界本身也呈现出一些复杂的情况,以自由空间中移动的刚体为模型的模拟器无法准确捕捉到这些复杂情况。床垫或泥坑等表面接触后会变形。在模拟中相当标准化的环境在现实世界中变得更加多样化和复杂,如果考虑到室内和室外空间中可能存在的大量地形,情况就更加复杂了。当然,现实世界中的因素从来都不是静态的,所以腿式机器人能够掌握的现实世界环境可能与大不相同。
在真实世界中进行模拟和部署训练
RMA 通过使用两个不同的子系统克服了这些挑战:基本策略和适应模块。
基本策略是在 RL 模拟中学习的,使用不同环境的信息(例如摩擦量以及有效载荷的重量和形状)。研究者设置了不同的变量——模拟更滑或少滑的地面或斜坡的坡度——因此机器人可以学习在不同条件下的正确控制,研究者将关于这些变量的信息编码为「extrinsics」。
环境参数范围
当然,不能仅仅用这个基本策略来部署机器人,因为我们不知道它在现实世界中会遇到什么外部特性。因此,研究者依赖于机器人在周围环境中自己学到的信息,即机器人最近的运动信息。我们知道关节的实际运动和来自命令的预期运动之间的差异依赖于这些外部特性。例如,突然的腿部障碍物会使机器人停止,但同时也会显示其周围地面高度的信息。同样,在柔软的表面上,机器人腿会随着脚下沉而伸展得更远,而在坚硬的表面上,机器人会快速的停止。
由于我们知道机器人在模拟中遇到的实际外部特性,我们可以使用监督学习训练自适应模块,从机器人最近的历史状态预测当前行为。
适应新条件,几乎是瞬间完成
通过基本策略和适应模块的这种组合,机器人可以在几分之一秒内适应新的条件。
相比较而言,先前基于 RL 的方法训练的机器人需要几分钟时间,有时还需要人工干预才能适应新条件,使得这些机器人在现实世界中不现实。
当部署支持 RMA 的机器人时,基本策略和适应模块协同异步工作(基本策略以更快的速度运行,适应模块以更慢的速度运行),以使机器人能够在没有任何微调的情况下执行鲁棒和自适应的移动。异步运行两种策略并以本质上不同的频率运行还有助于使用小型机载计算部署 RMA。小的基本策略可以保持机器人以高频行走,而较大的适应模块可以以低频发送外部向量。异步运行这两个策略还为有些不可预测的硬件速度和时间增加了鲁棒性。
实验表明,RMA 支持的机器人成功地在几个具有挑战性的环境中行走,表现优于 non-RMA 部署的机器人,与 Unitree 机器人相媲美,甚至是优于 Unitree 机器人。研究者使用相同的策略执行所有现实世界的部署,而不需要任何模拟校准或现实世界的微调。
在所有的试验中,这个机器人能够在沙子上、泥土里、徒步小径上、高草丛和土堆上行走,没有一次失败。在 70% 的试验中,这个机器人成功地沿着一条徒步路线走下台阶。在 80% 的试验中,它成功地通过了一堆水泥和一堆鹅卵石,尽管在训练中从未见过这种不稳定或下沉的地面、阻塞的植被或台阶。当它以 12 公斤的有效载荷(相当于其体重的 100%)移动时,它也能以很高的成功率保持高度。
RMA 是机器人技术一项激动人心的进步,它可以在现实世界中部署新型、高效且适应性强的步行机器人。这项工作还表明,人工智能的进步可以改变机器人领域,增强机器人的能力,同时使这些改进更易于扩展到新的条件和应用。纯粹依靠学习的方法有可能在更便宜、不准确的硬件环境下工作,这将大大降低未来机器人的成本。效率的提高和成本的降低可能意味着 RMA 支持的机器人将来可以发挥多种作用,比如在搜索和救援行动中充当助手,特别是在那些对人类来说太危险或不切实际的地区。
除了机器人技术之外,RMA 还指出了构建 AI 系统的方法,该系统可以通过利用动态数据来了解特定算法运行的上下文,从而实时适应许多困难的挑战。