强化学习:控制机器人对称且低耗能地行走

文章来源:《Learning Symmetric and Low-Energy Locomotion》

INTRODUCTION

    目前的DRL可以使机器人从A点移动到B点并且不摔倒,但往往动作显得奇怪和不流畅。

    本文提出了一种训练对称和节能的运动模式的方法。创新之处:

  • 为了使能量消耗最小,很自然的想法是往action加正则项,使每次输出只有几个action作贡献。然而这种做法与主要的目标——走路和保持平衡相悖。本文使用了curriculum learning,即添加额外的物理辅助工具,让机器人从简单的开始学起,随着学习的深入,逐渐削弱辅助工具的作用最后完全移除。
  • 为了使动作对称,前人的做法是评估state的对称性,然而效果不太好。本文评估action的对称性,即在action 网路的损失函数加上不对称惩罚项。

BACKGROUND

定义

    定义state s=[q,\dot{q},c,v],其中两个是关节角度和关节速度,c表示各个关节是否与地面接触,v是机器人质心的速度。

    定义action 为各个关节的扭矩。

    定义reward:\quad r(s,a)=\omega_{v}E_{v}(s)+E_{u}(s)+w_lE_l(s)+E_a+\omega_eE_e(a),其中,E_v=-|\overline{v}-\hat{v}| ,\hat{v}表示期望速度。该项使实际速度尽可能与期望速度一致。E_u=-(\omega_{u_x}|\phi_x(s)|+\omega_{u_y}|\phi_y(s)|+\omega_{u_z}|\phi_z(s)|),  \phi(s)表示躯干或头的方向,该项使头或躯干尽量保持直立。E_l=-|c_z(s)|,  c_z(s)表示质心在前进方向的坐标。该项尽量使机器人不偏移轨迹。E_e=-\|a\|是action的正则项。

强化学习算法

     本文采用ppo

LOCOMOTION CURRICULUM LEARNING

    用PD( 比例微分)控制器产生两个力——保持平衡的力和推力作用在机器人身上。 定义一个欧式空间坐标x=(k_p,k_d)度量此二力。机器人学习到最后这两个力都应该移除,即x=(0,0)。

    curriculum该怎么设计呢?本文提出了两种方法:Learner-Centered Curriculum learning 和 Environment-Centered Curriculum Learning ,直接贴图:

    简单地说,Learner-Centered Curriculum learning,每次更新x,从五个方向中选取reward没有下降很大且距离最远的那个点作为x_{new}。因为x_{new}的选择取决于机器人的学习情况,所以是Learner-Centered。

    Environment-Centered Curriculum Learning,x的轨迹是人为确定好的,就是Fig(2c)中的过原点的直线。每个curriculum学习直线上的一小段,可以部分重叠。有点分治的思想在其中。

SYMMETRY LOSS

    提出:若状态s经过action网络输出为a,那么s的镜像s'对应的输出a'应与a互为镜像。比如从(1,1)走向原点要朝左下的方向,那么从(-1,-1)出发就要朝右上的方向。数学表达为\pi_{\theta}(s)=\psi_a(\pi_{\theta}(\psi_o(s))),其中\psi(\cdot)表示镜像。当然不可能严格地要求满足这个式子,要将它转化为一个松弛约束:L_{sym}(\theta)= \sum_{i=0}^{B} \|\pi_{\theta}(s_i)-\psi_a(\pi_{\theta}(\psi_o(s_i)))\|^2,其中B表示采样个数。最后将L_{sym}加入action网络的损失函数就OK啦。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值