步行机器人的问题|强化学习,第4部分
从系列:强化学习
布莱恩•道格拉斯
这个视频展示了如何使用强化学习工作流程让双足机器人行走。它也着眼于如何修改默认的例子来让它看起来更像一个如何建立一个传统的通过添加一个参考信号控制问题。它还将考虑RL-equipped代理如何取代部分传统控制系统而不是一个端到端的设计。最后,一些会显示这个设计的局限性。
现在我们已经了解强化学习工作流程,在这个视频我想展示,工作流是使用在双足机器人行走使用RL-equipped代理。我们要用MATLAB和Simulink仿真机器人的步行机器人的例子竞技场,你可以在GitHub上找到。金宝app我把链接的描述。这个例子有一个环境模型,您可以调整训练参数,训练一个代理,并可视化结果。在这个视频中,我们也会看看我们可以修改这个例子来让它看起来更像如何设置传统的控制问题,然后显示一些这个设计的局限性。所以我希望你留下来,因为我认为这将帮助您了解如何使用强化学习典型控制应用程序。我是布莱恩,欢迎来到MATLAB技术说话。
让我们先从一个快速概述的问题。高层次的目标是让一个两条腿机器人行走,有点像人类如何。我们作为设计师的工作是确定要采取的操作,正确的移动机器人的腿和身体。我们可以采取的行动是电动机转矩命令每个关节;左和右脚踝,左和右膝盖,左和右髋关节。有六种不同的转矩命令,我们需要在任何给定的时间。
机器人的身体和腿,随着世界在其运作,构成了环境。环境的观察是基于传感器的类型和位置以及其他由软件生成的数据。对于本例,我们使用的31个不同的观察结果。这些是Y和Z的身体位置,X, Y,和Z的身体速度,身体方向和角速率。也有六个关节的角度和角速率,和脚与地面之间的接触力。这些都是感觉到观察。我们也反馈六个动作,吩咐在前面的时间步长,存储在缓冲区的软件。所以,总的来说,我们的控制系统需要在这些观察和31日连续计算六个电机力矩的值。这样你就可以开始看到多么复杂的逻辑甚至很简单的系统。
正如我在前面提到的视频,而不是试图设计的逻辑,循环,控制器,参数,和所有的东西用传统的控制理论工具,我们可以替换这整个巨大的功能,端到端,与强化学习代理;使用一个演员网络映射这些31观察六个动作,并批评网络训练演员更有效率。
正如我们所知,训练过程需要奖励function-something告诉代理如何这样做,它可以从其行为中学习。我想原因通过奖励函数应该存在什么考虑步行机器人的重要条件。这可能是你如何建立一个奖励函数如果你不知道从哪里开始。现在,我将向您展示训练的结果,我们使用此函数创建它,所以你可以看到这些变化如何影响解决方案;不过,我不打算介绍如何运行模型,因为已经有一个伟大的视频这塞巴斯蒂安·卡斯特罗。所以,如果你有兴趣尝试所有这些在你自己的,我建议以下链接的描述。所以奖励。
从哪里开始?我们显然希望机器人的身体向前移动;否则只会站在那里。但不是距离,我们可以回报的速度向前发展。这样有一个渴望机器人走得更快,而不是慢。训练后的奖励,我们可以看到机器人潜水期待得到快速的速度开始然后摔倒,不让它在任何地方。它可能最终找出如何让它进一步的奖励,但它在很长一段时间收敛而不是取得很多进展,让我们想想我们可以添加帮助训练。我们可以惩罚的机器人向前跌倒,这样跳水没有吸引力。如果它脚上停留的时间更长,或者更多的样品时间流逝在仿真结束之前,那么代理应该得到更多的回报。
让我们来看看这个。它有一点跳开始之前最终落下来。如果我让这个代理的火车了,我可以有一个机器人,跳跃在世界各地像一只青蛙,很酷,但这不是我想要的。是不够的,机器人前进和不下降;我们想要一些步行而不是跳或者克劳奇走的假象。所以为了解决这个问题,我们也应该奖励代理保持身体尽可能接近站的高度。
让我们看看这个奖励函数。好的,这是更好的,但解决方案并不是看起来更自然。它停止偶尔来回抖动它的腿,和大部分时间拖它的右腿像一个僵尸,把所有的驱动在左腿。这并不是理想的如果我们关心致动器磨损或所需要的能量运行这个机器人。我们想两条腿做相同的工作,而不是过度使用很多抖动的致动器。所以为了解决这个问题,我们可以奖励代理最小化执行机构工作。这可以减少额外的抖动和平衡的努力,每条腿有一个共享的负载。
让我们看看训练有素的代理。好的,我们在这里接近。这看起来很不错。除了现在我们有最后一个问题。我们想保持机器人朝着一条直线而不是转个向右或向左做的,所以我们应该奖励它保持接近轴。
这是我们最后的奖励和训练需要大约3500模拟。如果我们把它在我们的模型中,我们释放在电脑上模拟多个核心或GPU集群上电脑,然后经过几个小时的训练,我们会有一个解决方案。我们将有一个机器人,行走在一条直线的人形。
奖励函数集,让我们转移到政策。我已经指出,政策是一个演员神经网络和评论家神经网络。和这些网络有几个隐藏层数以百计的神经元,所以有很多计算进去。如果我们没有足够的神经元网络将永远无法模仿的高维函数映射所需的31个观察六个动作非线性环境。另一方面,太多的神经元和我们花更多的时间训练过度的逻辑。此外,网络的体系结构是非常重要的功能复杂性。这些层的数量,他们是如何联系在一起的,在每一层神经元的数目。所以有一些经验和知识需要找到高效实现培训的甜点。
幸运的是,正如我们所知,我们不需要手动解决几百上千的重量和偏见在我们的网络。我们的训练算法对我们这样做。在这个例子中,我们使用一个演员/评论家训练算法称为深决定性策略梯度,或DDPG。原因是这个算法可以学习与环境持续行动空间像我们与力矩的连续的范围,我们可以适用于汽车。因为它估计确定的政策,比一个快得多学习学习随机政策。
我知道这听起来相当复杂和抽象,但很酷的我是,大部分的复杂性有培训政策。一旦我们有训练有素的代理,那么我们要做的是演员网络部署到目标硬件。记住,演员是地图的功能观察行为;的事情是决定要做什么,它的政策。评论家和学习算法只是演员,以帮助确定参数。
好吧,在这个点是一个问题,你可能有。当然,我们可以使用RL让机器人走直线;然而,这一政策不会只做这一件事吗?例如,如果我部署这一政策,打开我的机器人,就立即开始直走,直到永远。所以我怎么能学习一种政策,将让我发送命令机器人走,我想走吗?
让我们想一想。现在,这是我们的系统是什么样子的。我们有环境产生观察和奖励,然后生成的代理行为。我们没有办法为这个系统注入任何外部命令,没有办法为我们代理回复他们即使我们有他们。所以我们需要写一些额外的逻辑,外部的代理,接收信号并计算出一个误差项的引用。错误的区别是当前X位置,我们可以从环境中,和参考价值。这是同样的错误计算我们就在一般的反馈控制系统。
现在,而不是奖励代理以更高的速度在X方向上,我们可以为低回报错误。这将激励机器人走向和呆在吩咐x的参考价值。
的观察,我们需要给代理的方式查看误差项,以便它可以相应地制定策略。因为它可以帮助我们的代理访问误差变化率,也许其他的高阶导数,我会养活样品过去五次的错误。这将允许创建衍生品的政策需要。最终的政策将向前走在某个指定利率如果错误是正的,和向后如果是负面的。
因为我们现在有36观察到我们的代理,我们需要调整我们的演员网络来处理额外的输入。再一次,看看塞巴斯蒂安的视频描述如果你需要指导如何使这些变化。
我在仿真软件更新默认模型与新误差项和美联储观察块和奖励的块。金宝app我训练这个代理在成千上万的集使用这个特定的配置文件,所以它应该很擅长这个。但希望训练有素的政策将会足够健壮以遵循其他资料,也有类似的速度和加速度。让我们试一试。我要向前走,停顿了一会儿,然后后退。
看起来有点好笑向后走,但总的来说一个很好的工作。用一些奖励调整,也许更多的时间训练,我可能在这里很好的东西。
通过这种方式,您可以开始看到我们如何使用一个RL代理更换控制系统的一部分。而不是一个函数,学习一个单一的行为,我们可以提取高层参考信号和代理工作错误,这样我们才能保持发送命令的能力。
我们也可以将低级功能从代理。例如,而不是底层的操作扭矩的六个关节,代理可以学习,应该把脚放在地上。所以行动是左脚在体内某个位置坐标系。这个动作可以参考命令较低级的传统控制系统驱动关节马达。你知道,事情可能前馈力矩命令基于你的知识和反馈的动态系统的一些信号,保证性能和稳定性。
这是有益的,因为我们可以用自己的特定领域知识解决简单的问题,这将给我们的洞察力和控制设计,然后我们可以储备强化学习问题的困难。
我们最后走的解决方案需要注意到目前为止是真的只有强健自己的状态。你知道,它可以走路没有摔倒,这是好的,但只有在一个非常平坦,无特色的平原。不考虑外部世界的任何部分机器人非常脆弱的设计。例如,让我们看看会发生什么,如果我们把一个障碍的机器人。
嗯,那就像预期的那样。这里的问题是,我们没有给我们的代理之外的任何方式识别环境状况的机器人的运动本身。没有什么可以感知障碍,所以无事可做,以避免他们。
但事实是这样的。神经网络代理的美妙之处在于,他们能处理我们将称之为丰富的传感器。这些都是激光雷达和可见光相机,不产生奇异的东西测量像一个角,而是返回数组的数字代表成千上万的距离或像素不同的光强度。我们可以安装一个可见的相机和激光雷达传感器在机器人和饲料几千左右新值为附加观测到我们的代理。你可以想象这个函数的复杂性需要成长为我们的观察从36个增加到数千人。
我们会发现一个简单的、完全连接网络并不理想,所以我们可以添加额外的层,将专业逻辑最小化连接卷积网络或增加记忆像复发性网络。这些网络层更适合处理大图像数据和动态的环境。然而,我们可能不需要改变奖励函数为了得到机器人避免这些障碍。代理仍然可以发现偏离路径,因此得到较低的奖励,允许机器人而不跌倒,继续走,从而获得更多的奖励。
我解决了一些问题与强化学习视频和显示我们如何修改问题,结合传统控制设计与强化学习的好处。我们要扩大一些下一节,我们将讨论其他缺点的强化学习,我们可以做些什么来减轻他们。
所以如果你不想错过,和未来的技术演讲视频,别忘了订阅这个通道。同样,如果你想看看我的通道,控制系统讲座,我控制覆盖更多的话题。谢谢收看,下次再见。
相关产品下载188bet金宝搏
了解更多
您可以在欧什一张网站来自der folgenden Liste auswahlen:
所以erhalten您死bestmogliche Leistung der汪汪汪的网站
民意调查您毛皮死bestmogliche Website-Leistung死网站中国毛皮(auf Chinesisch奥得河Englisch)。安德利果汁landesspezifische网站冯MathWorks信德毛皮Besuche冯Ihrem Standort来自不optimiert。