[论文阅读] Learning Agile Soccer Skills for a Bipedal Robot with Deep Reinforcement Learning

google deepmind

使用 Deep RL 训练一个具有 20 个驱动关节的类人机器人来玩简化的一对一(1v1)足球比赛。

我们发现,足够高频的控制、有针对性的动力学随机化和模拟训练过程中的扰动相结合,可以实现高质量的转移。

我们的工作重点是基于学习的类人体全身控制,用于长期任务。特别是,我们使用deep-rl来训练低成本的现成机器人,使其能够踢多机器人足球,远远超出了这种机器人的敏捷性和流畅性水平。

agent学会了对球和对手进行预测,使动作适应比赛环境,并在长时间内协调它们得分,同时做出反应以确保动态稳定性。

结果还表明,通过适当的正则化、领域随机化和训练过程中注入的噪声,即使对于低成本的机器人,安全的sim-to-real转移也是可能的

training pipeline consists of two stages:

  • 第一阶段,我们培训了两个技能策略;一个用于从地上爬起来,另一个用于在未经训练的对手面前进球。
  • 在第二阶段,我们通过提取技能和以自我游戏的形式使用多智能体训练来训练完整的1v1足球任务的代理,其中对手是从agent本身的部分训练副本中抽取的。

Behavior Embeddings

Reliability and Sim-to-Real Analysis:

  • agent必须在10秒内从地面上站起来并得分;
  • 在模拟中,agent的得分更稳定,50个进球中有35个(70%)进球。这表明,由于转移到真实环境中,机器人的表现有所下降,但机器人仍然能够可靠地站起来,踢球,并在大部分时间得分。
  • 在任何行为的执行中都没有极端的模拟到真实的差距。

Opponent Awareness:

  • 为了衡量学习行为在受控环境中对对手的反应,我们分别在模拟和真实环境中实现了拦截和对手障碍物集。
  • 结果表明,在训练过程中会出现微妙地适应对手位置的行为,从而产生针对特定环境优化的策略。

Adaptive Footwork:

  • 结果表明,agent会根据比赛的具体情况调整步态。

Value Function Analysis

该图显示了作为球的速度矢量的函数的预测值;高值被分配给指向球门的球速度,也被分配给与在agent的控制下保持球在区域内一致的球速度

(在每个图中,球用白色标记,对手用黑色标记,agent用灰色标记,较亮的颜色表示首选状态。)

当对手离球很远时,agent更喜欢处于可以投篮的位置,轮廓梯度往往直接指向这个位置。相反,当对手靠近球时,agent的首选位置在球和防守球门之间

Limitations

  • 我们的学习流程依赖于一些特定领域的知识和领域随机化;特定领域的知识用于奖励功能设计和训练起身技能,这需要使用手工设计的关键姿势,而在更动态的平台上选择这些姿势可能很困难或不切实际。
  • 我们不利用真实数据进行转移;相反,我们的方法完全依赖于模拟到真实的转移。
  • 我们将我们的方法应用于一个小型机器人,没有考虑与更大的形状因子相关的额外挑战。
  • 用运动捕捉来跟踪球特别具有挑战性,放弃运动捕捉是未来工作的一个重要途径
  • 随着时间的推移,机器人的性能会迅速下降,主要是由于髋关节松动或关节位置编码器校准错误;
  • 我们的标称控制时间步长为25ms,但在实践中,agent经常无法在该时间内产生动作。时间步长被选择为速度和一致性之间的折衷,但我们相信更高的控制率会提高性能。
  • 我们没有在仿真中对伺服电机进行建模,而是用理想的执行器来近似它们
  • 在训练方面,我们发现我们的自我游戏设置有时会导致学习不稳定。

agent的观察包括本体感觉和游戏状态信息。本体感觉包括关节位置、线加速度、角速度、重力方向和指数作用滤波器的状态。通过真实环境中的运动捕捉设置获得的游戏状态信息包括agent的速度、球的位置和速度、对手的位置和速率以及两个进球的位置,这使得agent能够推断其全局位置。

所有本体感觉观测以及agent速度的观测都叠加在最近的五个时间步长上,以解释延迟和潜在的噪声或缺失观测。我们发现本体感觉观察的叠加足以学习高性能策略,因此我们选择不叠加比赛状态(对手、球和进球观察)来减小观察空间的大小。

Policy Optimization

我们将足球环境建模为部分可观察的马尔可夫决策过程(pomdp),定义为(S,\mathcal{A},\mathcal{P},r,\mu_{0},\gamma),状态𝑠∈s,动作𝑎∈a,转移概率\mathcal{P}(s^{\prime}|s,a),奖励函数𝑟(s),初始状态的分布𝜇0,折现因子\gamma∈[0,1]。

在每个时间步𝑡,agent观察从上面环境中描述的状态s_{t}\in\mathcal{S}中提取的特征o_{t}\triangleq\phi(s_{t})

动作是20维连续的,对应于机器人关节的期望位置。 

奖励是以下各项的加权总和𝐾 奖励成分,r(s)=\sum_{k=1}^{K}\alpha_{k}\hat{r}_{k}(s)

轨迹定义为\xi=\{(s_{t},a_{t},r_{t+1})\}_{t=0}^{\infty},策略𝜋(𝒂|𝒔), 连同系统动力学p和初始状态分布𝜇0,产生轨迹上的分布:\mu_{\pi}(\xi)=\mu_0(s_0)\prod_{t=0}^\infty\pi(a_t|s_t)\mathcal{P}(s_{t+1}|s_t,a_t)

目的是获得一个𝜋 最大化预期的折扣累积奖励或回报:\mathcal{J}(\pi)\triangleq\mathbb{E}_{\xi\sim\mu_{\pi}}\left[\sum_{t=0}^{T}\gamma^{t}r(s_{t})\right].

我们将策略参数化为具有参数的深度前馈神经网络𝜃, 其输出多变量高斯的均值和对角线协方差。我们使用最大后验策略优化(mpo)对该策略进行了训练,以优化方程,这是一种偏离策略的actor-critic rl算法 off-policy actor-critic RL algorithm.。

mpo在政策评估和政策改进之间交替。在政策评估步骤中,批评者(或𝑄-函数)被训练来估计𝑄𝜋𝜃 (𝒔, 𝒂), 它描述了采取行动的预期回报𝒂 处于状态𝒔 然后遵循策略

在策略改进步骤中,训练参与者(或策略)根据评论家预测的𝑄-values改进性能。

Training

有两个阶段,这是因为在1v1任务中直接训练代理会导致次优行为

在第一阶段,分别训练进球和起身的技巧策略。在第二阶段,技能被提炼成一个1v1的agent,并且agent通过自我游戏进行训练。

Stage 1: Skill Training

  • Soccer Skill Training:足球技巧是为了尽可能多地进球而训练的。当agent摔倒、出界、进入球门禁区(图1中用红色标记)、对手得分或达到50秒的时限时,情节就会终止。在每一集的开始,球员和球在球场上被随机初始化。两个玩家都被初始化为默认的站立姿势。对手用未经训练的策略初始化,该策略几乎立即落下并保持在地面上。奖励是对奖励成分的加权和。这包括鼓励向前速度和球的相互作用,使探索更容易的组件,以及改进sim到real转移和减少机器人损坏的组件,如安全行为规则化中所讨论的
  • Get-Up Skill Training:起身技能是使用一系列目标姿势来训练的,以使策略朝着稳定且无碰撞的轨迹倾斜。我们使用预先编程的起身轨迹来提取三个关键姿势,用于从前面或后面起身

Stage 2: Distillation and Self-Play

Sim-to-Real Transfer

我们的方法依赖于将经过训练的策略零样本转移 zero-shot transfer 到真实的机器人。本节详细介绍了我们为最大限度地提高零样本转移的成功率而采取的方法:我们通过简单的系统识别来减少模拟到现实的差距,通过域随机化和训练过程中的扰动来提高策略的鲁棒性,并包括成形奖励项 shaping reward terms,以获得不太可能损坏机器人的行为。

System Identification

通过向带有已知负载的电机施加可变频率的正弦控制信号来识别致动器参数,并在仿真中对致动器模型参数进行优化,以匹配最终的关节角轨迹。为了简单起见,我们选择了一个具有转矩反馈的位置控制致动器模型,该模型仅具有阻尼(1.084nm/(rad/s))、电枢(0.045kg/m2)、摩擦(0.03)、最大转矩(4.1nm)和比例增益(21.1n/rad)作为自由参数。

该模型并不完全符合伺服系统的工作模式,即控制线圈电压而不是输出转矩,但我们发现它与训练数据匹配得很好。

事实上,我们也试验了直流控制,但发现sim2real间隙太大,这导致零样本转移失败。我们预计,通过考虑一个更准确的模型,sim与real之间的差距可以进一步缩小。

Domain Randomization and Perturbations

为了进一步改进迁移,我们在训练过程中应用了域随机化和随机扰动

领域随机化有助于克服由于磨损和电池状态等其他因素造成的剩余模拟到真实间隙以及机器人之间动力学的固有变化。

我们选择了少量的轴来改变,因为过度随机化可能会导致保守的策略,这会降低整体性能。具体来说,我们将地板摩擦(0.5到1.0)和关节角偏移(±2.9◦); 改变了姿态(最多2°) 和imu的位置(最多5毫米);并将随机外部质量(高达0.5kg)连接到机器人躯干上随机选择的位置。我们还将随机时间延迟(10到50ms)添加到观测中,以模拟控制回路中的延迟。这些领域随机化设置在每个事件开始时重新采样,然后在整个事件中保持不变。

除了领域随机化之外,我们发现在训练过程中对机器人应用随机扰动大大提高了agent的鲁棒性,从而实现了更好的转移。具体地说,我们每隔1到3秒向躯干上的随机选择的点施加5到15纳米的持续0.05到0.15秒的外部冲击力。
 

Regularization for Safe Behaviors

我们限制了每个关节可能动作的范围,以允许足够的运动范围,同时将自碰撞的风险降至最低

两个成形奖励项,以改进模拟到真实的转移并减少机器人的损坏

我们发现高度动态的步态和踢腿往往会导致脚与地面或球之间的碰撞对膝关节产生过大的应力,从而导致齿轮断裂。我们通过惩罚项对策略进行正则化来缓解这一问题,以最小化mujoco为目标关节上的约束力计算的扭矩峰值(阈值在5nm以上)的时间积分

我们还注意到agent在行走时经常前倾。这使得步态更快、更动态,但当转移到真实的机器人身上时,往往会导致机器人失去平衡并向前摔倒。为了减轻这种影响,我们增加了一个奖励条件,即保持直立姿势在11.5°的阈值内

  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值