机器人通过模仿动物学习运动技能
2020-07-06


摘要:复现动物的多样化和敏捷性运动技能一直是机器人技术中的长期挑战。尽管手动设计的控制器已经能够模拟许多复杂的行为,但是构建这样的控制器涉及耗时且困难的开发过程,通常需要掌握每种技能的细微差别的大量专业知识。强化学习为自动化控制器开发中涉及的人工工作提供了一种吸引人的选择。但是,设计能够从代理中引发所需行为的学习目标也可能需要大量专门技能。在这项工作中,我们提出了一个模仿学习系统,使有腿机器人可以通过模仿现实世界中的动物来学习敏捷的运动技能。


image.png

四足机器人通过模仿狗来学习运动技能


无论是追狗的狗还是在树上摇摆的猴子,动物都可以毫不费力地表现出丰富的敏捷运动技能。但是,设计使腿式机器人能够复制这些敏捷行为的控制器可能是一项非常艰巨的任务。与机器人相比,在动物中看到的卓越敏捷性可能使人们产生疑问:我们是否可以通过直接模仿动物而以更少的精力来创建更多的敏捷机器人控制器?


在这项工作中,我们提出了一个通过模仿动物来学习机器人运动技能的框架。给定从动物(例如狗)录制的参考运动剪辑,我们的框架将使用强化学习来训练控制策略,该策略使机器人能够模仿现实世界中的运动。然后,只需简单地为系统提供不同的参考运动,我们就可以训练四足机器人来执行各种敏捷行为,包括从快速步态到动态跳跃。这些策略主要在模拟中进行训练,然后使用潜在空间自适应技术转移到现实世界,该技术仅使用来自真实机器人的几分钟数据就可以有效地自适应策略。

 


构架


我们的框架包括三个主要部分:运动重新定向,运动模仿和领域适应。1)首先,给定参考运动,运动重新定向阶段会将运动从原始动物的形态映射到机器人的形态。2)接下来,运动模仿阶段使用重新定向的参考运动来训练用于模拟运动的策略。3)最后,领域自适应阶段通过有效的示例领域自适应过程将策略从仿真转移到真实的机器人。我们应用此框架来学习宇树科技的Laikago四足机器人的各种敏捷运动技能。


image.png

该框架包括三个阶段:运动重新定向,运动模仿和领域适应。它接收从动物记录的运动数据作为输入,并输出使机器人能够在现实世界中再现运动的控制策略



运动重定向


动物的身体通常与机器人的身体完全不同。因此,在机器人可以模仿动物的动作之前,我们必须首先将动作映射到机器人的身体。重新定位过程的目标是为机器人构造参考运动,以捕获动物运动的重要特征。为此,我们首先确定动物身体上的一组源关键点,例如臀部和脚。然后,在机器人的身体上指定相应的目标关键点。


image.png

逆运动学(IK)用于将从真实狗(左)记录的运动捕捉剪辑重新定位到机器人(右)。在狗和机器人的身体上指定了对应的关键点对(红色),然后使用IK为跟踪关键点的机器人计算姿势。


接下来,逆运动学用于为机器人构造参考运动,该机器人在每个时间点跟踪动物的相应关键点。


image.pngimage.png

逆运动学用于将狗记录的运动捕捉剪辑重新定位到机器人



运动模仿


将参考运动重新定向到机器人之后,下一步是训练控制策略以模仿重新定向的运动。但是强化学习算法要花很长时间才能学习有效的策略,直接在真实机器人上训练可能非常危险。因此,我们改为选择在舒适的模拟环境中执行大部分训练,然后使用更有效的样本自适应技术将学习到的策略转移到现实世界中。所有模拟都是使用PyBullet执行的。


策略image.png

image.png


通过简单地在奖励功能中使用不同的参考动作,我们可以训练一个模拟机器人来模仿各种不同的技能。


image.pngimage.png

强化学习用于训练模拟机器人以模仿重新定向的参考运动




领域适应


由于模拟器通常仅提供真实世界的粗略近似,因此在实际机器人上部署时,在模拟中训练的策略通常效果不佳。因此,为了将经过模拟训练的策略转移到现实世界中,我们使用了示例有效的域自适应技术,该技术仅需在真实机器人上进行少量试验就可以将策略适应现实世界。为此,我们首先在模拟训练中应用 领域随机化,以随机更改动力学参数,例如质量和摩擦力。然后,还将动力学参数收集到矢量μ中,并通过编码器E(z |μ)编码为潜在表示z。潜在编码作为附加输入传递到策略π(a | s,g,z)。


image.png


模拟的动力学参数在训练期间会发生变化,并且还会编码为潜在表示,该潜在表示将作为策略的附加输入提供


将策略转移到真实的机器人时,我们会删除编码器,然后直接搜索 ž在现实世界中最大化机器人的回报。这是使用 优势加权回归(一种简单的非政策强化学习算法)完成的。在我们的实验中,该技术通常能够通过少于50次的试验来使策略适应现实世界,这相当于大约8分钟的现实数据。


image.png

image.png

适应之前,机器人容易摔倒,在适应之后,这些策略能够更好的执行所需的技能



结果


我们的框架能够训练机器人模仿狗的各种运动技能,包括不同的步行步态(例如起搏和小跑)以及快速旋转运动。通过简单地向前播放后退行走动作,我们还能够训练机器人向后行走。


点击链接观看视频:https://mp.weixin.qq.com/s/BvwEFXWNylGFPraHJdxSmQ



除了模仿真实狗的动作外,我们还可以模仿艺术家动画的关键帧动作,包括动态的转弯:

image.pngimage.png

技能学会了模仿动画关键帧的运动


我们还将学习到的策略与制造商提供的手动设计的控制器进行了比较。我们的政策能够学习更快的步态。

image.png

学习的小跑步态与制造商提供的内置步态的比较


点击链接观看以上动图:https://mp.weixin.qq.com/s/BvwEFXWNylGFPraHJdxSmQ



总体而言,我们的系统已经能够通过四足机器人重现各种行为。但是,由于硬件和算法的限制,我们无法模仿更多的动态运动,例如跑步和跳跃。学习到的策略也没有最好的手动设计的控制器强大。探索进一步提高这些学习策略的敏捷性和鲁棒性的技术可能是迈向更复杂的实际应用程序的重要一步。扩展该框架以从视频中学习 技能 也将是一个令人兴奋的方向,它可以大大增加机器人可以从中学习的数据量。

 



参考文献:Peng X B, Coumans E, Zhang T, et al. Learning Agile Robotic Locomotion Skills by Imitating Animals[J]. arXiv preprint arXiv:2004.00784, 2020.

源码地址:https://github.com/google-research/motion_imitation

宇树科技laikago:http://www.unitree.cc/cn/e/action/ShowInfo.php?classid=6&id=1





Donghu Robot Laboratory, 2nd Floor, Baogu Innovation and Entrepreneurship Center,Wuhan City,Hubei Province,China
Tel:027-87522899,027-87522877

合作与咨询

渠道商务合作:18062020215

售前技术咨询:13807184032

售后服务热线:18062020228

网站备案号:鄂ICP备17004685号-1 | 技术支持 | 联系我们 | 服务条款与隐私权 | 网站地图