最前沿:从虚拟到现实,DRL 让小狗机器人跑起来了

雷锋网(公众号:雷锋网) AI 研习社按,本文首发于知乎专栏智能单元,作者 Flood Sung,雷锋网 AI 研习社获其授权转载。

1. 前言

深度增强学习 DRL 在仿真机器人已经取得了很大的成功,同时,也在真实的机器人抓取(Robotic Manipulation)问题上有了很大的进展。然而依然会有很多搞机器人的朋友会质疑深度增强学习(Deep Reinforcement Learning)在真实机器人上的可行性,比如说能在大狗机器人上面通过 DRL 来实现吗?老实说我也觉得困难重重,最主要的问题就是所谓的 reality gap:真实机器人和仿真机器人存在很多的差别,在仿真中能够 work,大概率不能在真实环境中 work。

然而,Google 最新的一篇 paper 告诉我们:不!DRL 在真实机器人上面是可行的,只要我们尽可能的减小这个 reality gap:

论文地址:https://arxiv.org/abs/1804.10332

看了上面的视频,不知道大家会不会被惊讶到?以前需要巨量人工来调整的控制算法,现在用一个两层的神经网络实现了!可能没有搞过机器人控制的朋友不太理解,就单单在四轴飞行器上调一个 PID 控制器都要调到崩溃!所以当真正在真实的四足机器人上用神经网络实现运动控制的时候,感觉真的有点难以置信!

如果我们要简单的说一下,未来就是机器人全神经网络化,全部不需要复杂人工编程,全部通过自己学习的方式来掌握运动是完全可能的!并且,可以比传统机器人控制算法做得更好!

下面我们来稍微说一下这篇 paper 的一些思想方法。

2. 构建一个足够接近真实的仿真环境就好!

四足机器人不同于机械臂,能够直接在真实环境中进行 DRL 训练,四足机器人训练成本显然要高太多,因为它到底要摔多少次才能走起来?就算土豪如 Google 也没那个钱来烧!所以,直接在真实环境中用 DRL 训练四足机器人是基本不可能的,那么我们能做的显然就只有在仿真环境中训练,然后迁移到真实机器人上了。那么,这里的核心就是 Reality Gap 的问题,如何减少 Reality Gap,让仿真环境足够真实?

这篇文章处理了以下几个部分:

1)构建一个更接近真实的仿真四足机器人模型。这个很好理解,比如让仿真机器人的尺寸,重心等等都和真实机器人基本一致。

2)构建一个更好的驱动器模型(Actuator Model)。这里的实验采用的是位置控制,也就是顶层的神经网络只输出目标位置,下层的执行还是实验传统 PD 控制器。所以呢,那就在仿真环境中调一个和真实差不多的电机控制器呗。

3)模拟好延迟 Latency。这一点对于机器人控制很重要,真实机器人在控制时由于硬件数据传输,延迟是不一样的,所以要在仿真中模拟好延迟。

对于仿真环境也就是上面三部分的处理。那么,接下来就是怎么训练的问题了。

3. 加点训练技巧 tricks 让神经网络的泛化能力加强

训练也是需要精细化调整的。这个工作直接使用 PPO 来训练,两层的神经网络,位置控制,为了使得训练效果更好,又做了下面三个处理技巧:

1)随机化动态参数(Dynamic Parameters),也就是仿真机器人中的各种参数数据,比如重量,摩擦力,IMU 的误差等等。

2)加上随机外部扰动(Random Perturbations), 上一条是机器人内部参数,这一条则是在外部施加一个额外的扰动力,比如模拟一下风什么的。

3)使用一个合适的观察空间(Observation Space),这一条则是针对具体的训练,一个合适的观察空间对于训练效果影响很大,特别如果维度太高的话就很难训练。所以这个工作仅仅使用了四足机器人基座的俯仰角,倾斜角,基座的角速度及 8 个电机的角度。而这就足够来训练。

上面的处理技巧很好理解,特别是前两个,就是通过随机化让神经网络的 generalization 泛化能力变强,这样的话即使迁移到真实环境,也能有较好的适应!

4. 一点小结

这个工作是一个极其工程化的工作,上面我们分析的这篇文章的主要方法其实都非常好理解,甚至谈不上所谓的创新。但是对于这种工作,能够 work 才是关键。Work 就是一切!Google 的这个工作可以进一步的提升大家对于深度学习应用到机器人上面的信心!相信接下来 Robot Learning 这个领域必然会有更大的发展!

雷锋网版权文章,未经授权禁止转载。详情见。


最前沿:从虚拟到现实,DRL 让小狗机器人跑起来了

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/129905.html

(0)
上一篇 2021年8月31日
下一篇 2021年8月31日

相关推荐

发表回复

登录后才能评论