采用DDPG的双足机器人自学习步态规划方法

采用DDPG的双足机器人自学习步态规划方法


2024年4月22日发(作者:)

2542021,57(6)

ComputerEngineeringandApplications计算机工程与应用

采用DDPG的双足机器人自学习步态规划方法

周友行,赵晗妘,刘汉江,李昱泽,肖雨琴

湘潭大学机械工程学院,湖南湘潭411105

摘要:为解决多自由度双足机器人步行控制中高维非线性规划难题,挖掘不确定环境下双足机器人自主运动潜

力,提出了一种改进的基于深度确定性策略梯度算法(DDPG)的双足机器人步态规划方案。把双足机器人多关节自

由度控制问题转化为非线性函数的多目标优化求解问题,采用DDPG算法来求解。为解决全局逼近网络求解过程

收敛慢的问题,采用径向基(RBF)神经网络进行非线性函数值的计算,并采用梯度下降算法更新神经网络权值,采

用SumTree来筛选优质样本。通过ROS、Gazebo、Tensorflow的联合仿真平台对双足机器人进行了模拟学习训练。

经数据仿真验证,改进后的DDPG算法平均达到最大累积奖励的时间提前了45.7%,成功率也提升了8.9%,且经训

练后的关节姿态角度具有更好的平滑度。

关键词:双足机器人;步态规划;深度确定性策略梯度算法(DDPG);径向基函数(RBF)神经网络;SumTree;Gazebo

文献标志码:A中图分类号:TP242doi:10.3778/.1002-8331.1912-0382

Self-LearningGaitPlanningMethodforBipedRobotUsingDDPG

ZHOUYouhang,ZHAOHanyun,LIUHanjiang,LIYuze,XIAOYuqin

SchoolofMechanicalEngineering,XiangtanUniversity,Xiangtan,Hunan411105,China

Abstract:Inordertosolvetheproblemofhigh-dimensionalnonlinearprogramminginwalkingcontrolofamulti-degree-

of-freedombipedrobot,andtotaptheautonomousmotionpotentialofthebipedrobotinanuncertainenvironment,an

improvedbipedrobotstepbasedontheDeepDeterministicPolicyGradientalgorithm(DDPG)ti-

jointDOFcontrolproblemofthetwo-jointrobotistransformedintoanon-linearfunctionmulti-objectiveoptimization

etheproblemofslowconvergenceoftheglobalapproximationnet-

worksolutionprocess,RadialBasisFunction(RBF)ueiscalculated

andthegradientweightingalgorithmisusedtoupdatetheneuralnetworkweights,andSumTreeisusedtoscreenthequality

ulationlearningtrainingofthebipedrobotiscarriedoutthroughthejointsimulationplatformofROS,

ingtothedatasimulation,thetimeaftertheimprovedDDPGalgorithmreachesthemaximum

cumulativerewardis45.7%,thesuccessrateisalsoincreasedby8.9%,andthejointpostureangleaftertrainingisbetter.

Keywords:bipedrobot;gaitplanning;DeepDeterministicPolicyGradient(DDPG);RadialBasisFunction(RBF)neural

network;SumTree;Gazebo

步态规划是机器人控制领域的研究热点和重要的

研究内容。双足机器人结构复杂,其行走过程是由连续

的摆腿和离散的碰撞组成,具有众多自由度,难以通过

传统控制理论方法建立动力学模型

[1]

。即便勉强采用此

类方法,也会导致双足机器人运动过程消耗大,行走速

度低,环境适应性差。实际上相比精准的步态,功能性

和抗干扰性更为重要,也能使双足机器人能面对不同环

境的需求。

随着信息技术的发展,以强化学习为代表的智能算

法以其自适应特性越来越多运用于机器人控制领域

[2-3]

基金项目:国家自然科学基金(51775468,51375419)。

但过去强化学习在机器人控制领域的实践都局限于低

维的状态空间和动作空间,且一般是离散的情境下。然

而现实世界的复杂任务通常有着高维的状态空间和连

续的动作空间。2013年,DeepMind团队提出了结合深

度神经网络和强化学习的DQN算法

[4]

,解决了高维输入

问题。但DQN仍是一个面向离散控制的算法,对连续

动作处理能力不足。在机器人的实际控制中,每个关节

的角度输出是连续值,若把每个关节角取值范围离散

化,则行为的数量随自由度的数量呈指数增长。若进一

步提升这个精度,取值的数量将成倍增长。

作者简介:周友行(1971—),通信作者,男,博士,教授,研究领域为数字化制造、模式识别与人工智能,E-mail:*******************.cn。

收稿日期:2019-12-24修回日期:2020-06-22文章编号:1002-8331(2021)06-0254-06

周友行,等:采用DDPG的双足机器人自学习步态规划方法

为了将DQN拓展到连续控制领域,众多学者展开

了研究,目前来看,顾世翔等提出的NAF

[5]

和DeepMind

提出的DDPG

[6]

是有效的解决方案,但相比这两种算法,

NAF实现起来过于复杂,DDPG则是基于Actor-Critic方

[7]

,包含一个策略网络(Actor)用来生成动作,一个价

值网络(Critic)用来评判动作的好坏,并吸取DQN的优

秀特性,同样使用了样本经验回放池和固定目标网络

[8]

尽管DDPG学习算法已经接近于现实应用,但考虑

到双足机器人模型的复杂度和动态规划对实时性的要

求,仍有进行优化的必要。因此,提出一种自学习步态

规划算法,在DDPG算法的基础上,将具有局部映射特

性的RBF神经网络运用于DDPG中非线性函数的计

[9]

,提高学习收敛速度。然后采用梯度下降算法更新

神经网络权值,采用SumTree来筛选样本,进一步提高

算法的效率。最后在Gazebo环境中对双足机器人进行

了模拟学习训练,经数据仿真表明,该算法能使双足机

器人自主学习稳定自然的动态行走

[10-11]

1机器人模型描述

以如图1所示双足步行机器人为例展开研究。机

器人左右对称,由七个部分组成:两大腿、两小腿、两足

和一个躯干。由于躯干以上部分对行走过程的影响相

对下肢较小,因此在研究过程抽象成质心和转动惯量不

变的连杆,只在模拟过程加入适量扰动模拟双臂摆动对

步行过程稳定性的影响。

1.0

0.8

冠状轴

0.6

矢状轴

z

0.4

0.2

0

-0.2

x

0

0.2

0.2

0.4

-0.4

-0.2

0

y

(a)样机模型(b)简化连杆模型

图1双足机器人模型

双足机器人包含8个自由度:两个髋关节4个自由

度,两个膝关节2个自由度,两踝关节2个自由度。各关

节自由度在笛卡尔坐标系中的分布方式如图2所示。

双足机器人样机基本参数如表1所示。

表1双足机器人样机参数

名称数值

DOF8

机器人总质量/kg

3.67

材料铝合金

高/mm

275

大腿长/mm

83

小腿长/mm

65

2021,57(6)

255

Yaw

髋关节

Ro11

膝关节

Pitch

踝关节

z

Yaw

y

x

Ro1l

Pitch

图2双足机器人各关节自由度分布

由于在人类步行过程中,以矢状面的屈伸运动为主

导,包括髋、膝的屈伸运动,而冠状面的活动对行走过程

影响较少。因此在实际步态分析中,主要考虑髋关节和

膝关节的数据结果

[12]

矢状面关节上的屈伸范围如表2所示。

表2矢状面上各关节转矩和最大屈伸范围

关节

额定转矩

/(kg⋅cm)

屈伸(/°)

髋关节

4040~145

膝关节

4015~145

2DDPG算法原理

利用智能体与环境交互所得的奖惩信息来指导智

能体的行为的策略,叫做强化学习。DDPG是强化学习

中基于Actor-Critic的算法,它的核心思想是利用Actor

网络用来生成智能体的行为策略,Critic网络来评判动

作好坏,并指导动作的更新方向。如图3所示,DDPG结

构中包含一个参数为

θ

π

的Actor网络和一个参数为

θ

Q

的Critic网络来分别计算确定性策略

a=π(s|θ

π

)

和动作

价值函数

Q(s,a|θ

Q

)

[13]

。由于单个网络学习过程并不稳

定,因此借鉴了DQN固定目标网络的成功经验,将

Actor网络和Critic网络又各自细分为一个现实网络和

一个目标网络。现实网络和目标网络结构相同,目标网

络参数以一定频率由现实网络参数软更新。

ActorNetCriticNet

扰动

N

optimizer

optimizer

更新策略

更新

A

t

π(S

t

)

θ

π

梯度

ΔQ

θ

Q

均方

误差

环境

+

现实actor网络

现实Critic网络

(R

t

,S

t+1

)

更新

S

t

,A

t

θ

π

y

更新

j

θ

Q

目标actor网络

S

t+1

,A

t+1

目标Critic网络

存储

(S

t

,A

t

,R

t

,S

t+1

)

经验池

N×(S

j

,A

j

,R

j

,S

j+1

)

采样

图3DDPG算法结构

2562021,57(6)

ComputerEngineeringandApplications计算机工程与应用

现实Critic网络的损失函数为:

J(θ

Q

)=

1

m

m

ω

j

y

j

-Q(S

jj

Q

j=1

(

t

,A

t

)

)

2

(1

其中

y

j

=

ì

í

R

j

,end

j

(2)

î

R

j

+γQ(S

t

j

+1

,A

t

j

+1

Q

),notend

j

m

为样本数量,

ω

j

为所采用的不同样本的权重,

Q(S

t

j

,A

t

j

Q

)

为样本

j

在状态为

S

t

时采取动作

A

t

,通过现实Critic

网络计算出来的动作价值,

y

j

为通过样本计算出的目

标动作价值,由目标Critic网络推算得出,

R

j

为样本

j

在状态为

S

t

时采取动作

A

t

获得的即时奖励,

γ

为折扣

因子。

现实Actor网络的损失函数为:

J(θ

π

)=-

m

jj

m

1

Q(S

t

,A

t

Q

)

(3)

j=1

其中,用梯度下降法寻找该损失函数

J(θ

π

)

的极小值等

价于最大化动作价值

Q(S

t

j

,A

t

j

Q

)

的过程。

目标Critic网络和目标Actor网络参数采取以下方

式更新方式:

θ

Q

←τθ

Q

+

(

1-τ

)

θ

Q

(4)

θ

π

←τθ

π

+

(

1-τ

)

θ

π

(5)

τ

为更新系数,为避免参数变化幅度过大,范围取0.01~

0.1。更新频率为时间步走过1500次,目标网络更新一次。

3基于DDPG的算法优化设计

3.1RBF神经网络近似计算

RBF神经网络是一种三层神经网络,如图4所示。

由于它的结构简单,且具有局部映射特性,即重点考虑

离径向基函数中心近的数据,可以极大减少迭代中需要

调整的参数的数量,极大提高了学习收敛的速度,相比

较BP神经网络更符合机器人动态步行这一有实时性要

求的情景

[14]

隐层

G

1

Y

1

X

1

X

2

G

2

Y

2

X

n

G

j

Y

m

图4RBF神经网络结构图

RBF神经网络中输入层到隐藏层为权值为1的全

连接,隐藏层到输出层通过权值矩阵相连接。隐藏层神

经元的激活函数选用高斯径向基函数,第

i

个神经元的

输出结果为:

G(x,c

i

)=exp

(

i

x-c

i

2

)

(6)

其中,

β

i

为扩展常数,

x=

(

x

1

,x

2

,⋯,x

m

)

表示第

i

个神

经元接收到的输入,

c

i

为第

i

个神经元的核函数中心。

输出层输出结果为:

Y

j

m

(

x

)

=

ω

i

G(x,c

i

)

(7)

i=1

其中,

ω

i

为隐藏层到输出层的对应权值。

3.2SumTree作为经验回放池

由于不同样本对训练过程的贡献有所不同,筛选出

优质的样本,为提高算法利用率,减少机器人无效的训

练次数至关重要。SumTree作为一个二叉树数据存取

结构,已经有学者将其应用于DQN算法的经验回放中,

并起到了惊艳的效果

[11-12]

。在此,也将SumTree运用于

DDPG算法的经验回放中。由于DDPG算法中,策略网

络的参数依赖价值网络的选取,而价值网络中的参数由

价值网络的损失函数,即目标Q值与现实Q值差值的期

望来更新。差值越大,代表网络参数的预测准确度还很

远,即该样本更需要被学习,即优先值越高。在此,将目

标Q值与现实Q值差值的绝对值定为量化样本优先级

的标准,设为

|

δ(t)

|

。如图5所示,SumTree的总容量为

399999,叶节点个数为200000。叶节点内存放样本的

优先级,每个叶节点对应一个索引值,利用索引值,可以

实现对应样本的存取。每两个叶节点对应一个上级的

父节点,父节点的优先级等于左右两个子节点优先级之

和,最后收敛到根节点。

根节点

1

0

2

3456

︙︙︙︙

叶节点

8

(a)优先值存放结构

(s,a,r,s_)(s,a,r,s_)(s,a,r,s_)…

012

(b)data样本池结构

图5SumTree结构

分别采用两个一维数组来存放优先级和样本池,其

中树的结构映射到一维数组的顺序是按从上到下,从左

到右展开。存储优先级时,从叶节点开始,即从索引值

为199999开始,每存入一个数据,更新一次与该叶节点

相关的父节点的数据以及对应样本池数据。当需要采

集样本时,用根节点的优先级(所有叶节点优先级之和)

除以样本数

m

,将优先级按顺序从0到优先级之和分成

周友行,等:采用DDPG的双足机器人自学习步态规划方法

m

个区间。接下来,是在每个区间随机抽取一个数,因

为优先级较大的节点也会占据较长的区间,因此被抽到

的概率也会较高,这样便达到了最初的目的。每抽到一

个叶节点,返回其优先级,及对应的样本池数据。

3.3算法步骤

输入:环境E,状态空间S,动作空间A。

过程:

(1)初始化Actor网络和Critic网络,初始化Sum-

Tree并定义容量大小。

(2)从第一回合的第一步开始,进行循环。

初始化

S

t

为当前的第一个状态;

把状态

S

t

作为现实Actor网络的输入计算

π(S

t

t

π

)

,与随机噪声叠加后得到

A

t

=π(S

t

t

π

)+N

执行动作

A

t

,得到奖励

R

t

和新状态

S

t+1

{S

t

,A

t

,R

t

,S

t+1

}

四元组存入SumTree;

⑤S

t

=S

t+1

len(data)>m

时,从SumTree中采集

m

个样

{S

t

j

,A

t

j

,R

t

j

,S

t

j

+1

},j=1,2,⋯,m

,其中采样概率依据

P(j)=

p

j

p

,权重

ω

j

=

(

P(j)/min

i

P(i)

)

,计算当前目

k

k

标Q值:

j

ì

R

j

,end

j

y=

í

î

R

j

+γQ(S

t

j

+1

,A

t

j

+1

Q

),notend

j

计算损失函数

J(θ

Q

)

,利用梯度下降反向更新现

实Critic网络的所有参数

θ

Q

计算损失函数

J(θ

π

)

,利用梯度下降反向更新现

实Actor网络的所有参数

θ

π

重新计算所有样本的误差

|

δ(t)

|

,更新SumTree

中所有节点的优先值

p

j

=

|

δ

j

|

每时间步走过1500次,则更新目标Actor网络

和目标Q网络的参数;

如果

S′

是结束状态,则结束该轮迭代,否则转

[15]

4仿真模拟验证

4.1仿真环境设计

采用ROS+Gazebo+Tensorflow联合仿真,其中ROS

是一个机器人软件平台,充当了仿真器Gazebo和机器

学习平台Tensorflow的接口。为了简便流程,首先在

Solidworks中建立双足机器人的三维模型并通过

SW2URDF插件导出双足机器人的URDF文件(统一机

器人描述格式),如图6。URDF文件主要由

两个标签组成。其中定义了双足机器人

的结构件的外观和物理属性,包括形状、尺寸、质量、相

对坐标、碰撞参数等,描述了机器人关节的运动

2021,57(6)

257

学和动力学属性,包括关节运动的位置和速度限制范

围。由于Joint是用来链接两个Link,因此对每个Joint

都必须指定ParentLink和ChildLink。完成URDF模

型的设计后,便可通过ROS功能包的C++解析器解析出

文件所描述的机器人模型,也可以通过ROS中嵌入的

可视化工具Rviz显示出来,如图7所示。通过给URDF

文件添加标签,便可将模型加载到Gazebo仿

真环境。使用Tensorflow创建算法源码,算法相关参数

见表3,并将其可执行文件整合到ROS中,来与机器人

模型对接,以实现预定的算法功能。

Base_link

xyz

:-0.06038-0.067932

Joint1

rpy

0.173

0.044

98

49

-00

Link1

xyz

:0.0187420.04286-0.009

Joint2

rpy

:01.5708-1.8108

Joint8

xyz

:-0.0190.0035068

0.074492

Link8

rpy

:-0.18200

图6双足机器人三维模型

图7ROS中双足机器人模型

表3DDPG/DDPG改进算法相关参数

参数数值

初始学习率

α

0.005

折扣因子

γ

0.99

初始贪婪值

ε

0.01

软更新频率

F

1500

神经网络隐层节点数

500

记忆库容量

200000

批量样本数

m

32

最大迭代次数

T

2000

总回合数

5000

为了验证所提方法的有效性,分别采用DDPG算法

和改进后的DDPG算法进行双足机器人步态规划的模

拟仿真,并进行对比分析。根据控制变量法原则,两种

情况下均采用相同的仿真环境。在该仿真环境中,机器

人要在水平地面上步行完成从起点到终点总长88m的

距离的任务,每一次成功到达终点或中途倒下,一个回

2582021,57(6)

ComputerEngineeringandApplications计算机工程与应用

合结束。关节的转矩和角度范围限定如上文所述。摩

擦力系数为0.5,设立旋转副的位置,并在动作上施加适

度扰动,设置状态为质心速度,关节位置和关节角速度,

腿与地面接触等参数,利用相对坐标系将机器人的6个

关节每个关节的转角按弧度划分为

(-1,1)

,动作为6个

关节的转角数组,当机器人到达目标位置或者机器人倒

下时,系统复位。总训练回合数为5000次。

速度较快,但学习程度不够充分,且随机性大,成功几率

小。且前期为了充分遍历,找到最优策略,探索率比较

高,受到环境干扰的影响,曲线波动较大,随训练次数增

加,探索率减少,充分学习后,机器人由探索环境的状态

逐步转为利用经验知识的状态,成功率瞬间升高并趋于

稳定。2000回合以后,机器人能步行到的距离也更加

稳定,愈来愈接近于给定值。比较表5数据,可以看到

两种算法在给定任务的执行力上有较大区别,在仿真的

5000回合中,用DDPG算法下机器人到达终点的次数

为102次,成功率为2.04%,用改进后的DDPG算法成功

次数为547次,成功率10.94%,提高了8.9个百分点。

100

/

m

1

0

0

80

60

40

20

4.2结果分析

图8为两种算法每平均100回合中所取得平均累积

奖励曲线对比,累积奖励越高,代表机器人按照期待的

目标选出来更优的动作。从图上看来,两条曲线都呈递

增趋势,且当训练回合超过某一定值后,均趋于稳定。

但是比较表4数据,DDPG算法用了4323回合到达最大

累积奖励,而改进后的DDPG算法迭代2037次即到达

最大累积奖励,比前者提升了45.7%。可见,RBF改进

后的DDPG算法具有更高的效率。

300

200

100

0

-100

-200

1

0

0

DDPG算法

DDPG改进算法

1

回合数

40005000

0

图9

DDPG算法

DDPG改进算法

0

回合数

40005000

两种算法步行到达距离对比

表5成功率比较

成功次数

102

547

成功率/%

2.04

10.94

求解方法

DDPG算法

RBF改进DDPG算法

图8两种算法所取得累积奖励对比

表4求解迭代总次数比较

迭代次数

4323

2037

图10、图11为DDPG算法及DDPG改进算法下机

器人均达到规律周期运动后的髋、膝关节的姿态角度对

比。从关节的顺畅性,平稳度来看,在使用改进后的

DDPG算法相比改进前具有更好的效果。

求解方法

DDPG算法

RBF改进DDPG算法

图9为两种算法下机器人每平均100回合中成功步

行到达的距离曲线对比。可以看到,在训练初期,上升

0.8

0.7

/

r

a

d

0.6

0.5

0.4

0.3

0.2

左腿

右腿

5结论

(1)针对双足机器人步行控制中高维非线性规划难

0.1

0

-0.1

左腿

右腿

/

r

a

d

01020

时间/s

304050

-0.2

-0.3

-0.4

-0.5

-0.6

-0.7

-0.8

01020

时间/s

304050

(a)髋关节角度曲线

图10

(b)膝关节角度曲线

DDPG算法关节姿态角度曲线对比

周友行,等:采用DDPG的双足机器人自学习步态规划方法

0.75

0.70

0.65

/

r

a

d

0.60

0.55

0.50

0.45

0.40

0.35

01020

时间/s

304050

/

r

a

d

0

-0.1

-0.2

-0.3

-0.4

-0.5

-0.6

-0.7

01020

时间/s

30

2021,57(6)

259

左腿

右腿

左腿

右腿

4050

(a)髋关节角度曲线

图11

(b)膝关节角度曲线

DDPG改进算法关节姿态角度曲线对比

ousdeepq-learningwithmodel-basedacceleration[J].arXiv:

1603.00748,2016.

[6]KUMARA,PAULN,lwalkingrobot

usingdeepdeterministicpolicygradient[J].arXiv:1807.

05924,2018.

[7]SUTTONRS,MCALLESTERDA,SINGHSP,etal.

Policygradientmethodsforreinforcementlearningwith

functionapproximation[C]//AdvancesinNeuralInforma-

tionProcessingSystems,2000:1057-1063.

[8]VANHASSELTH,GUEZA,inforce-

mentlearningwithdoubleq-learning[C]//ThirtiethAAAI

ConferenceonArtificialIntelligence,2016.

[9]王婷婷,丁世飞.基于资格迹的RBF非线性系统强化学习

研究[J].小型微型计算机系统,2016,37(7):1508-1512.

[10]MNIHV,KAVUKCUOGLUK,SILVERD,-

levelcontrolthroughdeepreinforcementlearning[J].Nature,

2015,518(7540):529.

[11]赵玉婷,韩宝玲,罗庆生.基于deepQ-network双足机器

人非平整地面行走稳定性控制方法[J].计算机应用,

2018,38(9):2459-2463.

[12]张洪宾.双足步行机器人的步态规划与神经网络控制[D].

广州:华南理工大学,2016.

[13]SCHAULT,QUANJ,ANTONOGLOUI,-

tizedexperiencereplay[J].arXiv:1511.05952,2015.

[14]郭发勇.仿人双足机器人多地形步态规划和稳定控制方

法研究[D].合肥:中国科学技术大学,2016.

[15]毛坚桓,殷璐嘉.基于自适应探索改进的深度增强学习算

法[J].微电子学与计算机,2016,33(6).

题,提出一种基于DDPG的深度强化学习算法,来解决

双足机器人步行控制中高维非线性规划难题,从动力学

角度出发对双足机器人步行进行动态控制。利用RBF

神经网络的局部映射特效,来提高DDPG算法的学习速

度,采用梯度下降算法更新神经网络权值,并采用Sum-

Tree来筛选优先级别高的样本,进一步提高权值的更新

速度。

(2)运用所提出方法对双足机器人的步行过程进行

仿真模拟,结果显示机器人平均达到最大累积奖励的时

间提前了45.7%,成功率也提升了8.9个百分点,且改进

后的DDPG算法训练下的各关节力矩、角度变化平稳,

且较好贴合预定运动轨迹,证明了该方法的有效性。

参考文献:

[1]刘全,翟建伟,章宗长,等.深度强化学习综述[J].计算机学

报,2018(1):1-27.

[2]LIUQ,ZHAIJW,ZHANGZC,ofdeep

reinforcementlearning[J].ChineseJournalofComputers,

2018(1):1-27.

[3]WANGS,CHAOVALITWONGSEW,BABUSKAR.

Machinelearningalgorithmsinbipedalrobotcontrol[J].

IEEETransactionsonSystemsMan&CyberneticsPart

C,2012,42(5):728-743.

[4]LILLICRAPTP,HUNTJJ,PRITZELA,u-

ouscontrolwithdeepreinforcementlearning[J].arXiv:

1509.02971,2015.

[5]GUSX,LILLICRAPT,SUTSKEVERI,u-


发布者:admin,转转请注明出处:http://www.yc00.com/news/1713747217a2310472.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信