点击蓝字 关注我们
SUBSCRIBE to US
Robotics and AI Institute
大约一年前,波士顿动力公司(Boston Dynamics)发布了其四足机器人Spot的研究版本,该版本带有一个低级应用程序编程接口(API),可直接控制Spot的关节。即使在那时,就有传言称这个API使Spot在性能上有了显著提升,包括奔跑速度大幅提高。这个传言来自机器人技术与人工智能(RAI)研究所,其前身为人工智能研究所,再往前是波士顿动力人工智能研究所。如果你去年秋天参加了在鹿特丹举行的第40届国际机器人与自动化会议(ICRA@40)上Marc Raibert的演讲,你就已经知道这根本不是传言(https://spectrum.ieee.org/marc-raibert-boston-dynamics-instutute)。
今天,我们能够分享RAI研究所一直在做的一些工作,即应用基于现实的强化学习技术来让Spot实现更高的性能。同样的技术也有助于高动态机器人稳定运行,并且有一个全新的硬件平台可以展示这一点:一辆能跳跃的自动自行车。
看,Spot(机器狗名字)在跑
这个视频展示了Spot以每秒5.2米(每小时11.6英里)的持续速度奔跑。Spot出厂时的最高速度为每秒1.6米,这意味着RAI的Spot的速度是这台四足机器人出厂速度的三倍多!
如果看到Spot跑得这么快看起来有点奇怪,那可能是因为它确实奇怪,从某种意义上说,这只机器狗在奔跑时腿和身体的运动方式与真正的狗奔跑的方式完全不同。“这种步态不具有生物性,但机器人本身就不是生物,”RAI研究所的机器人专家Farbod Farshidian解释说,“Spot的驱动器与肌肉不同,其运动学也不同,所以适合狗快速奔跑的步态对这个机器人来说不一定是最好的。”
Farshidian能做出的最好归类是,Spot的移动方式有点类似于小跑步态,只是多了一个腾空阶段(四只脚同时离地),从技术上讲,这使其变成了奔跑。Farshidian称,这个腾空阶段是必要的,因为机器人需要这段时间来足够快地连续向前拉动它的脚以保持速度。这是一种“被发现的行为”,也就是说,机器人并没有被明确编程设定为“奔跑”,而只是被要求找到尽可能快地移动的最佳方式。
强化学习与模型预测控制
当你从波士顿动力公司购买Spot机器人时,随机器人配备的控制器基于模型预测控制(MPC)。这包括创建一个软件模型,尽可能最佳地近似机器人的动力学特性,然后针对你希望机器人实时执行的任务求解一个优化问题。这是一种非常可预测且可靠的机器人控制方法,但也有些刻板,因为初始的软件模型与现实情况的贴近程度不足以让你真正突破机器人的极限。并且如果你试图说:“好吧,我打算为我的机器人创建一个超级详细的软件模型,然后通过这种方式突破极限”,你会陷入困境,因为无论你希望机器人做什么,都必须实时求解优化问题,而且模型越复杂,就越难以足够快地求解从而发挥作用。另一方面,强化学习(RL)是离线学习的。你可以使用你想要的任意复杂的模型,然后在模拟中花费所需的所有时间来训练一个控制策略,之后这个策略就可以非常高效地在机器人上运行。
Robotics and AI Institute
以Spot的最高速度为例,在基于模型的控制系统(该系统要在机器人上实时运行)中,根本不可能对机器人的所有执行器的每一个细节都进行建模。因此,取而代之的是,对执行器实际的运行情况做出简化(通常是非常保守)的假设,这样就能预期到安全可靠的性能。
Farshidian解释说,这些假设使得人们难以深入理解实际的性能限制到底是什么。“机器人领域的很多人都知道,快速运行的限制之一是执行系统将会达到扭矩和速度的最大值。所以,人们试图利用执行器的数据手册来对其建模。对我们来说,我们想要回答的问题是是否可能存在其他一些实际上限制性能的现象。”
寻找这些其他现象需要将新数据引入强化学习流程,例如从机器人的实际运行性能中学习到的详细执行器模型。就Spot的情况而言,这为高速奔跑提供了答案。结果表明,限制Spot速度的不是执行器本身,也不是机器人的任何运动学因素:仅仅是电池无法提供足够的电量。“这让我很惊讶,”Farshidian说,“因为我原以为我们会首先触及执行器的极限。”
Spot的动力系统相当复杂,可能还有一些额外的调整空间,Farshidian表示,阻止他们将Spot的最高速度提升到超过5.2米/秒的唯一原因是他们无法获取电池电压,所以无法将该实际数据纳入他们的强化学习(RL)模型。“如果我们在上面配备更强劲的电池,我们就能跑得更快。而且如果在我们的模拟器中也对这种现象进行建模,我确信我们能让速度进一步提高。”
Farshidian强调,RAI的技术远不止是让Spot跑得快这么简单——它还可用于让Spot更高效地移动以实现电池寿命的最大化,或者更安静地移动以便在办公室或家庭环境中更好地工作。从本质上讲,这是一种可通用的工具,能够找到拓展任何机器人系统能力的新方法。而且,当利用现实世界的数据来让模拟机器人变得更好时,你就可以要求模拟做更多的事情,并且确信这些模拟技能将成功地转换到真实机器人上。
超移动载具:教机器人自行车跳跃
强化学习不仅有利于最大化机器人的性能,还能使这种性能更可靠。RAI一直在试验一种他们自主研发的全新类型的机器人:一辆名为超移动载具(UMV)的会跳跃的小自行车,它接受了跑酷训练,使用的基本上是与Spot高速奔跑相同的用于平衡和驱动的强化学习(RL)流程。
并没有独立的物理稳定系统(如陀螺仪)来防止超移动载具(UMV)倾倒;它只是一辆能前后移动以及转动前轮的普通自行车。然后尽可能多地将质量集中在上部,执行器可以使其快速上下加速。“我们在这个视频里展示两件事,”RAI苏黎世办公室主任Marco Hutter说,“一是强化学习如何帮助超移动载具在不同情况下让其驾驶能力变得非常稳健。其次,了解机器人的动态能力如何使我们能够做新的事情,比如跳到比机器人本身还高的桌子上。”
“The key of RL in all of this is to discover new behavior and make this robust and reliable under conditions that are very hard to model. That’s where RL really, really shines.”
—Marco Hutter, The RAI Institute
尽管跳跃很令人惊叹,但Hutter表示,做一些可能看似相当简单的动作(比如倒着骑行)同样困难。“倒着骑行非常不稳定,”Hutter解释道,“至少对我们来说,用传统的[模型预测控制]控制器真的不太可能做到,特别是在崎岖地形上或者有干扰的情况下。”
将这个机器人带出实验室,到地形上去进行真正的自行车跑酷是一项正在进行中的工作,RAI研究所表示他们将能够在不久的将来进行展示,但Hutter说,这其实不是关于这个特定硬件平台能做什么——而是关于任何机器人通过强化学习(RL)和其他基于学习的方法能做什么。“这里更宏观的情况是,这种机器人系统的硬件理论上能做的比我们用传统控制算法所能实现的要多得多。了解硬件系统中这些隐藏的限制能让我们提高性能,并不断突破控制方面的界限。”
Robotics and AI Institute
适用于各处机器人的强化学习
就在几周前,RAI宣布与波士顿动力公司(Boston Dynamics)建立新的合作伙伴关系,“通过强化学习推动人形机器人发展”(https://rai-inst.com/resources/press-release/boston-dynamics-atlas-partnership/)。人形机器人只是另一种机器人平台,尽管它要复杂得多,有更多的自由度,需要建模和模拟的东西也更多。但是,考虑到针对这种复杂程度的模型预测控制的局限性时,强化学习方法似乎几乎是不可避免的,特别是当这种方法由于其泛化能力已经被简化时。
“作为一个研究所,我们的目标之一是拥有适用于各种不同平台的解决方案,”Hutter说,“这关乎构建工具、构建基础设施,为在更广泛的背景下实现这一目标奠定基础。所以不仅是人形机器人,还有驾驶车辆、四足动物等等。但是进行强化学习(RL)研究并展示一些不错的初步概念验证是一回事——在所有条件下将其推向现实世界中工作,同时突破性能界限,则是另一回事。”
将技能迁移到现实世界一直是在模拟环境中训练的机器人所面临的一项挑战,这正是因为模拟环境对机器人来说太过理想。“如果投入足够的时间,”Farshidian解释说,“你就能设计出一个奖励函数,最终让机器人做你想让它做的事。但当你想要把模拟行为迁移到硬件上时往往就会失败,因为强化学习非常擅长发现模拟器中的漏洞并利用这些漏洞来完成任务。”
随着新工具的出现、更精确的动力学(模型)以及大量可用于解决该问题的计算能力,模拟(技术)已经变得越来越好。“我们能够模拟这么多东西,并且几乎免费生成这么多数据,这是一种非常强大的能力,”Hutter说道。但是,这些数据的有用性在于它与现实的联系,要确保你所模拟的内容足够精确,这样强化学习方法才能切实解决现实(中的问题)。Hutter认为,将在真实硬件上收集到的物理数据带回模拟(环境)是一种非常有前景的方法,无论它是应用于奔跑的四足动物、会跳跃的自行车还是人形机器人。“模拟(环境)和现实这两者的结合——我假设这就是正确的方向。”
微信号|IEEE电气电子工程师学会
新浪微博|IEEE中国
Bilibili | IEEE中国
· IEEE电气电子工程师学会 ·
往
期
推
荐
IEEE会员在CES上分享观点:AI向善
什么是代理型人工智能
皮质醇检测技术取得重大突破!
游泳机器人?是的,用于清洁海洋