Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

机器之心编辑部发布

百度飞桨PaddleRobotics新升级!一套强化学习算法解决四足机器人多地形行走难题

近日,百度强化学习团队发布了四足机器人控制上的最新研究进展,采用自进化的步态生成器与强化学习联合训练,从零开始学习并掌握多种运动步态,一套算法解决包括独木桥、跳隔板、钻洞穴等多种场景控制难题。百度已开源全部仿真环境和训练代码,并公开相关论文。

足式机器人的控制一直是机器人控制领域的研究热点,因为相比于常见的轮式机器人,足式机器人可以像人类一样灵活地跨越障碍,极大地扩展机器人的活动边界。波士顿动力(Boston Dynamics)此前对外发布了其商用的第一款四足机器人 Spot,但是相关的控制算法一直没有对外披露。而市面上商业产品采用的控制算法,大部分基于麻省理工学院(MIT)开源的第三代的四足控制算法,需要依赖大量专家经验。

近日,百度强化学习团队联合小度机器人团队,基于飞桨机器人控制算法框架 PaddleRobotics,发布了四足机器人控制的最新进展。该算法首次提出基于自进化的步态生成器来引导强化学习训练,通过自主学习,机器人能探索出合理的步态并穿越各种各样的高难度场景。

这个算法到底有多厉害,先来一睹为快。
图一、四足机器人步态展示(注:演示真机为宇树四足机器人产品)。

我们可以看到,图中四足机器人无论是走独木桥,还是上下楼梯,都走的十分稳健。特别是在独木板场景,机器人学会了先把双腿步距缩小,以小碎步的方式平稳地穿过了独木板。这些步态都是基于强化学习自主学习得到,并没有通过任何的领域内专家知识进行引导。那么这些行走步态是如何训练出来的呢?

在解读之前,我们先回顾下当下三种主流的四足控制算法。
  • 第一个方向是开环的步态生成器,即提前规划好每条腿的行走轨迹,然后周期性地输出控制信号以驱动机器人行走起来。这种方式可以让专家根据经验以及实际环境去设计四足机器人的行走方式,但是缺点是往往需要大量的调试时间以及领域内的专家知识。

  • 第二个方向是基于模型预测的控制算法(MPC),这类方法也是 MIT 之前开源的主要算法。算法对环境进行建模后,在每个时间步求解优化问题以找到最优的控制信号。这类方法的问题是其效果依赖于环境模型的建模准确度,并且在实际部署过程中需要耗费比较大的算力去求解最优的控制信号。

  • 第三个方向是基于学习的控制算法。前面提到的方法都是提前设计好控制器直接部署到机器人上的,并没有体现出机器人自主学习的过程。这个方向的大部分工作是基于机器自主学习,通过收集机器人在环境中的表现数据,调整机器学习模型中的参数,以更好地控制四足机器人完成任务。

百度这次发布的工作是基于强化学习的控制算法强化学习应用在四足机器人领域并不是新的技术,但是之前发表的强化学习工作大部分都只能穿越一些比较简单的场景,在高难度的场景,比如通过独木板、跳隔板中,表现并不好。主要的原因是四足机器人中复杂的非线性控制系统使得强化学习探索起来十分困难,机器人经常还没走几步就摔倒了,很难从零开始学习到有效的步态。

为了解决强化学习在四足控制上遇到的问题,百度团队首次提出基于自进化步态生成器的强化学习框架

图二、ETG-RL 架构。

该框架的概览图如上图,算法的控制信号由两部分组成:一个开环的步态生成器以及基于强化学习神经网络

步态生成器可以提供步态先验来引导强化学习进行训练。以往的工作一般采用一个固定的步态生成器,这种方式只能生成一种固定的步态,没法针对环境进行特定的适配。特别是当预置的生成器并不适合环境的情况下,反而会影响强化学习部分的学习效果。针对这些问题,百度首次提出在轨迹空间直接进行搜索的自进化步态生成器优化方式。相比在参数空间进行搜索的方式,它可以更高效地搜索到合理的轨迹,因为在参数层面进行扰动很可能生成完全不合理的轨迹,并且搜索的参数量也大很多。

强化学习部分的训练通过目前主流的 SAC 连续控制算法进行参数更新,在优化过程中,强化学习策略网络需要输出合理的控制信号去结合开环的控制信号,以获得更高的奖励。需要注意的是,该框架在更新过程中,是采用交替训练的方式,即独立更新步态生成器以及神经网络。这主要的原因是其中一个模块的更新会导致机器人的行为发布发生变化,不利于训练的稳定性。

最后,为了提升样本的有效利用率,该框架还复用了进化算法在优化步态生成器的数据,将其添加到强化学习的训练数据中。

图三、实验场景(仿真 + 真机)

接下来看文章中的实验部分。如上图所示,百度基于开源的 pybullet 构建了 9 个实验场景,包括了上下楼梯、斜坡、穿越不规整地形、独木板、洞穴、跳跃隔板等场景。其算法效果与经典的开环控制器、强化学习算法相比,提升相当大。可以看到百度提出的框架(绿色曲线)遥遥领先于别的算法,并且是唯一一个能完成所有任务的算法。完整的仿真效果以及真机视频可以参考文末链接。

图四、实验结果

百度的工作展现出,基于自主学习的方法在四足机器人控制上具有完全替代甚至超越经典算法的潜力,有可能成为强化学习和进化学习在复杂非线性系统中开始大规模落地和实用化的契机。这不是百度在机器人方向上做的第一个强化学习工作,早在 18 年,他们就尝试将人工干预引入到强化学习中,以推进强化学习应用在四轴飞行器控制等高风险的硬件场景。

未来,相信强化学习会是四足机器人控制领域重要的技术突破口,有效推动足形态机器人走进我们的日常生活中。该模型和训练方法同步开源于飞桨机器人算法库 PaddleRobotics 和强化学习框架 PARL;其中四足机器人和复杂地形仿真也开放于飞桨强化学习环境集 RLSchool, 以便于更多该领域的专家和工程师对比研究。

参考:
完整仿真效果和真机视频:https://www.bilibili.com/video/BV1a44y1b7nQ
论文:https://arxiv.org/abs/2109.06409
强化学习框架 PARL:https://github.com/PaddlePaddle/PARL
开源仿真环境 RLSchool:https://github.com/PaddlePaddle/RLSchool
飞桨机器人控制算法框架 PaddleRobotics:https://github.com/PaddlePaddle/PaddleRobotics
产业步态生成器开放百度四足机器人强化学习算法
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

策略网络技术

在强化学习中,策略网络指一组相对稳定的关系,这些关系具有非等级和相互依赖的性质,将各个行为者(actor)联系起来。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

百度智能云机构

百度是全球最大的中文搜索引擎,是一家互联网综合信息服务公司,更是全球领先的人工智能平台型公司。2000年1月1日创立于中关村,公司创始人李彦宏拥有“超链分析”技术专利,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

http://www.baidu.com
连续控制技术

连续控制代指需要进行连续控制的任务,经典例子包括推杆摆动,3D人形运动等等。

推荐文章
暂无评论
暂无评论~