基于深度强化学习和CPG的机器人运动控制方法及系统

文档序号:32057413发布日期:2022-11-04 22:03阅读:319来源:国知局
基于深度强化学习和CPG的机器人运动控制方法及系统
基于深度强化学习和cpg的机器人运动控制方法及系统
技术领域
1.本公开属于机器人运动控制技术领域,尤其涉及一种基于深度强化学习和cpg的机器人运动控制方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
3.随着机器人和人工智能技术的快速发展,移动机器人的运动控制研究成为机器人领域的研究热点。常见的移动机器人有腿足式机器人、履带式机器人以及轮式机器人三种。腿足式机器人主要有双足、四足和多足机器人三种。从结构及特性上看,相较于双足和多足机器人,四足机器人具有更强的稳定性和机动性,发明人发现,传统的四足机器人控制方法计算量大,且每种地形下都需要研究人员单独设计参数与调试,缺乏复杂环境适应能力,无法满足复杂环境下对四组机器人的控制需求。


技术实现要素:

4.本公开为了解决上述问题,提供了一种基于深度强化学习和cpg的机器人运动控制方法及系统,所述方案通过hopf振荡器搭建cpg模型,利用该模型进行trot步态规划,利用规划步态作为初始引导步态,从探索噪声选择、状态空间及动作空间、奖励函数、终止条件及深度网络结构几个方面设计基于ddpg深度强化学习控制器,作为反馈调整模块提升机器人的运动性能,增强了四足机器人的地形适应性,同时,提高了四足机器人的学习效率和机器人运动的稳定性。
5.根据本公开实施例的第一个方面,提供了一种基于深度强化学习和cpg的机器人运动控制方法,包括:
6.实时获取机器人的状态信息;其中,所述状态信息基于预先构建的状态空间,通过机器人本体设置的传感器获得;
7.基于所述状态信息,利用预先训练好的ddpg模型,获得所述机器人当前状态信息下对应的动作;
8.将所述动作作为反馈调整量对预先构建的cpg模型所输出的参考轨迹上的足部姿势进行调整,将所述参考轨迹输出作用到机器人各关节电机中,实现机器人的运动控制。
9.进一步的,所述预先训练好的ddpg模型及预先构建的cpg模型组成所述机器人运动控制器,具体包括开环部分和反馈调整部分,其中,所述开环部分采用经典的步态控制方法,通过cpg模型提供参考轨迹;所述反馈调整部分由所述ddpg模型构成,基于ddpg模型的输出对参考轨迹上的足部姿势进行调整。
10.进一步的,所述运动控制器的输出具体表示如下:
11.a=ac+μa
p
12.其中,ac表示开环部分的输出,是髋膝关节参考轨迹曲线,a
p
是反馈调整部分的输
出,作为反馈调整量对参考轨迹进行调整,μ为控制参数,用于调整强化学习输出量的大小。
13.进一步的,所述cpg模型通过hopf振荡器搭建,基于所述cpg模型进行trot步态规划。
14.进一步的,所述状态空间为智能体获得的环境信息,包括各个关节的电机转动角度、机身的位置及姿态信息以及机身角速度组成的状态信息。
15.进一步的,所述动作基于预先构建的动作空间获得,所述动作空间通过机器人足部各关节电机的角度值进行表示。
16.进一步的,所述ddpg模型包括online actor网络、target actor网络、online critic网络和target critic网络,均由独立的深度神经网络构成。
17.根据本公开实施例的第二个方面,提供了一种基于深度强化学习和cpg的机器人运动控制系统,包括:
18.数据获取单元,其用于实时获取机器人的状态信息;其中,所述状态信息基于预先构建的状态空间,通过机器人本体设置的传感器获得;
19.反馈调整量获取单元,其用于基于所述状态信息,利用预先训练好的ddpg模型,获得所述机器人当前状态信息下对应的动作;
20.运动控制单元,其用于将所述动作作为反馈调整量对预先构建的cpg模型所输出的参考轨迹上的足部姿势进行调整,将所述参考轨迹输出作用到机器人各关节电机中,实现机器人的运动控制。
21.根据本公开实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种基于深度强化学习和cpg的机器人运动控制方法。
22.根据本公开实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种基于深度强化学习和cpg的机器人运动控制方法。
23.与现有技术相比,本公开的有益效果是:
24.本公开提供了一种基于深度强化学习和cpg的机器人运动控制方法及系统,所述方案通过hopf振荡器搭建cpg模型,利用该模型进行trot步态规划,利用规划步态作为初始引导步态,从探索噪声选择、状态空间及动作空间、奖励函数、终止条件及深度网络结构几个方面设计基于ddpg深度强化学习控制器,作为反馈调整模块提升机器人的运动性能,增强了四足机器人的地形适应性,同时,提高了四足机器人的学习效率和机器人运动的稳定性。
25.本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
26.构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
27.图1为本公开实施例中所述的基于深度强化学习和cpg的机器人运动控制方法的轨迹引导整体框架示意图;
28.图2为本公开实施例中所述的cpg模型示意图;
29.图3为本公开实施例中所述的参考轨迹输出曲线示意图;
30.图4为本公开实施例中所述的ddpg模型算法流程图;
31.图5为本公开实施例中所述的爬坡训练场景示意图;
32.图6(a)至图6(h)为本公开实施例中所述的机器人不同时刻的爬坡过程示意图;
33.图7为本公开实施例中所述的回合奖励曲线示意图;
34.图8为本公开实施例中所述的机器人机身质心三向位移示意图;
35.图9为本公开实施例中所述的机器人处于稳态时,机器人机身横滚角、俯仰角、偏航角的变化曲线示意图;
36.图10为本公开实施例中所述的四足机器人右前腿髋关节和膝关节的实际输出曲线示意图;
37.图11为本公开实施例中所述的控制系数μ=0时,机器人机身横滚角、俯仰角、偏航角的变化曲线示意图。
具体实施方式
38.下面结合附图与实施例对本公开做进一步说明。
39.应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
40.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
41.在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
42.实施例一:
43.本实施例的目的是提供一种基于深度强化学习和cpg的机器人运动控制方法。
44.一种基于深度强化学习和cpg的机器人运动控制方法,包括:
45.实时获取机器人的状态信息;其中,所述状态信息基于预先构建的状态空间,通过机器人本体设置的传感器获得;
46.基于所述状态信息,利用预先训练好的ddpg模型,获得所述机器人当前状态信息下对应的动作;
47.将所述动作作为反馈调整量对预先构建的cpg模型所输出的参考轨迹上的足部姿势进行调整,将所述参考轨迹输出作用到机器人各关节电机中,实现机器人的运动控制。
48.进一步的,所述预先训练好的ddpg模型及预先构建的cpg模型组成所述机器人运动控制器,具体包括开环部分和反馈调整部分,其中,所述开环部分采用经典的步态控制方法,通过cpg模型提供参考轨迹;所述反馈调整部分由所述ddpg模型构成,基于ddpg模型的输出对参考轨迹上的足部姿势进行调整。
49.进一步的,所述运动控制器的输出具体表示如下:
50.a=ac+μa
p
51.其中,ac表示开环部分的输出,是髋膝关节参考轨迹曲线,a
p
是反馈调整部分的输出,作为反馈调整量对参考轨迹进行调整,μ为控制参数,用于调整强化学习输出量的大小。
52.进一步的,所述cpg模型通过hopf振荡器搭建,基于所述cpg模型进行trot步态规划。
53.进一步的,所述状态空间为智能体获得的环境信息,包括各个关节的电机转动角度、机身的位置及姿态信息以及机身角速度组成的状态信息。
54.进一步的,所述动作基于预先构建的动作空间获得,所述动作空间通过机器人足部各关节电机的角度值进行表示。
55.进一步的,所述ddpg模型包括online actor网络、target actor网络、online critic网络和target critic网络,均由独立的深度神经网络构成。
56.具体的,为了便于理解,以下结合附图对本实施例所述方案进行详细说明:
57.本实施例针对四足机器人运动控制问题提出了一种基于深度强化学习和cpg的机器人运动控制方法,利用强化学习方法增强四足机器人的地形适应性,同时结合传统方法提高四足机器人的学习效率和机器人运动的稳定性。本实施例所述方法的主要控制思路为:通过cpg模型产生引导轨迹,同时利用强化学习控制器作为反馈调整模块,提高机器人的学习能力和自适应能力。trot步态是四足动物运动时最常见的步态之一,四足机器人在此步态下机身稳定且具有较高移动速度,采用trot步态作为四足机器人的引导步态。
58.进一步的,本实施例中对于机器人的运动控制器设计分为了两个平行的部分:一个是开环部分,采用经典的步态控制方法,提供参考轨迹;另一个是反馈调整部分,由强化学习网络构成。根据机器人传感器的观察结果调整参考轨迹上的腿部姿势。其总体表达式如下:
59.a=ac+μa
p
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
60.其中,ac表示开环部分的输出,是髋膝关节参考轨迹曲线,a
p
是强化学习网络部分的输出,作为反馈调整量,能够对参考轨迹进行调整,μ为控制参数,可以调整强化学习输出量的大小,当μ=0时,控制器输出变为参考轨迹输出,控制器不再具备学习能力。参考轨迹部分由cpg网络输出,反馈调整部分由ddpg网络学习。整体设计框架如图1所示。
61.进一步的,本实施例中的轨迹生成器的构建具体如下:
62.构建cpg模型首先要搭建cpg神经元振荡器,产生单条腿的节律控制信号。基于hopf振荡器搭建cpg网络模型,单个hopf振荡器的数学表达式如下:
[0063][0064]
其中,x、y是hopf振荡器的状态变量,用于描述振荡器的输出曲线;α》0是一个常数,决定状态变量的收敛速度;μ是分岔参数,μ》0时,振荡器发生振荡,决定振荡器的输出幅值r2=x2+y2;ω表示振荡器的震荡频率。cpg模型由4个hopf振荡器组成,每个振荡器都对应控制一条腿的周期性运动,cpg模型如图2所示。其中,振荡器输出信号x控制髋关节的摆动,变换后的输出信号y控制膝关节的摆动。通过改进cpg网络,降低了模型的复杂度,提高了运算效率。
[0065]
cpg模型的整体数学表达式如下:
[0066][0067]
其中,i=1,2,3,4,θ
hi
为第i条腿的俯仰髋关节角度控制信号;θ
ki
为第i条腿的俯仰膝关节角度控制信号;ak、ah分别为膝关节和髋关节的摆动幅值,其中,μ=a
h2
。sgn(ψ)是符号函数,其中ψ表示关节类型,其表达式如下:
[0068][0069]
设置ak=0.17rad,ah=0.21rad,β、α、a、ω
sw
均为常数。为实现四足机器人的trot步态学习,对角腿之间具有相同的足端参考轨迹,不同对角腿之间的相位差为0.5t,cpg网络部分参数设置为β=0.5,α=100,a=1000,ω
sw
=0.8π,参考轨迹将输出对角步态。髋膝关节的参考轨迹输出曲线如图3所示。
[0070]
进一步的,本实施例中所述方案的强化学习控制器的设计具体如下:
[0071]
基于ddpg的强化学习控制器设计主要包括状态空间及动作空间、奖励函数、终止条件及深度网络结构。深度确定性策略梯度算法(deep deterministic policy gradient,ddpg)是lillicrap等人借鉴dqn思想提出的一种基于策略梯度的无模型深度强化学习算法,能够有效解决连续动作空间下的序列决策问题。ddpg算法由四个网络构成,包含两个actor网络和两个critic网络,分别为online actor网络、target actor网络、online critic网络和target critic网络,均由独立的深度神经网络构成。经验回放的加入减少了数据间的相关性,target actor网络和target critic网络参数更新采取了软更新的方法使学习过程更加稳定。ddpg算法流程图如4所示。
[0072]
状态空间包含智能体获得的环境信息,包括各个关节的电机转动角度、机身的位置及姿态信息、机身角速度。选用16维状态信息作为状态空间,其具体构成和所用到的传感器如表1。
[0073]
表1状态空间
[0074][0075][0076]
上述状态信息均为连续值,可以用16个元素的向量表示:
[0077]
s=[s1,s2,s3,s4,s5,s6,s7,s8,s9,s
10
,s
12
,s
12
,s
13
,s
14
,s
15
,s
16
]
ꢀꢀꢀꢀꢀꢀ
(5)
[0078]
动作空间是智能体通过与环境交互所学习到的策略实现,包含了智能体所有的动作集合。动作空间的选择必须包含所能够完成任务的全部功能。机器人选用角度控制的方式,即策略最终输出各关节电机的角度值,选用8维动作信息作为动作空间,具体动作空间如表2所示。
[0079]
表2动作空间组成
[0080][0081]
上述动作空间均为连续值,用8个元素的向量表示:
[0082]
a=[a1,a2,a3,a4,a5,a6,a7,a8]
ꢀꢀꢀꢀꢀꢀꢀ
(6)
[0083]
智能体需要与环境进行不断的交互,通过试错的方法最大化累计回报以学习最优策略。奖励函数直接影响网络参数的更新方向,在机器人的步态学习中,学习的目标是机器人能够前向运动并到达目标点,对能够学习到目标方向前向运动行为施加一种正向激励,每一个时间步朝向目标点运动的距离越大,所获得的奖励值就越高,这部分的奖励定义如下:
[0084]
r1=k1(p
t-p
t-1
)
ꢀꢀꢀꢀꢀꢀ
(7)
[0085]
其中,p
t
和p
t-1
分别为当前时刻和前一时刻机器人在目标方向上距离初始位置的前进距离,一个时间步机器人的前向运动距离越大奖励值越高,k1为大于零的奖励系数。
[0086][0087]
其中,θ
t
是当前时刻机器人朝向,θ
target
为机器人期望目标方向,机器人沿期望方向运动奖励最大,发生偏离目标期望方向的运动奖励会发生衰减,k2为大于零的奖励系数。机器人在前向运动过程中机身越平稳,所获得的奖励值越大,这部分的奖励定义如下:
[0088]
r3=k3(r
31
+r
32
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0089][0090]
其中,r
31
和r
32
分别是从机器人横滚角和俯仰角变化情况给予稳定性判断的奖励函数,δθ
roll
和δθ
pitch
分别表示机器人在一个时间步下横滚角和俯仰角的变化量,变化量越小机身越稳定,所获得的奖励值也越大,k3为大于零的奖励系数。四足机器人步态学习的奖励函数包含如下三部分:
[0091][0092]
其中,r1给予运动激励,引导机器人产生运动行为;r2给予目标位置导向激励,引导机器人朝目标方向运动;r3给予稳定性激励,引导机器人保持机身稳定。强化学习过程需要与环境不断交互反复交互,终止条件设计如下:
[0093][0094]
其中,te合的步长。控制策略直接或间接导致机器人进入不稳定或不可恢复状态时,提前终止条件设计如下:
[0095][0096]
其中,θ
roll
、θ
pitch
分表示机器人的横滚角和俯仰角,单位为弧度,z
center
为机器人质心离地高度,单位为米。带有目标任务引导的终止条件设计如下:
[0097][0098]
其中,θd表示机器人偏离目标路线的角度,单位为弧度。当机器人完成任务目标时也会终止。
[0099]
ddpg控制器的参数包括策略网络学习率α
actor
、价值网络学习率α
critic
、衰减因子γ、软更新系数τ,批处理样本数m、最大迭代次数m、经验池容量n,最终参数设置如表3所示。
[0100]
表3 ddpg算法参数设计
[0101][0102]
进一步的,本实施例所述方案中控制器的训练过程如下:
[0103]
(1)机器人从初始位置(世界坐标系原点)开始,将传感器获得的16维状态信息发送给强化学习控制器,作为ddpg网络的状态输入。
[0104]
(2)ddpg网络通过与环境交互,将状态s,动作a,奖励r作为一个经验对储存在经验池中,作为后续ddpg所学策略的更新依据。
[0105]
(3)ddpg所学策略根据状态信息s输出动作a。
[0106]
(4)ddpg网络输出结合cpg网络提供的参考轨迹,将最终输出结果作用到机器人各关节电机中,由电机执行期望动作。
[0107]
(5)前向移动过程中判断回合是否结束。为了兼顾强化学习效率和学习性能,设定回合结束判定:机器人前向(x轴方向)移动距离达到设定值;触发终止判断条件(回合步长上限、机身不良状态、机身偏移目标点超过阈值)。回合结束时,机器人模型重置为初始状态,机器人回到初始位置。
[0108]
(6)重复步骤1-5,直到回合奖励趋于稳定、机器人学习到良好的控制策略。
[0109]
进一步的,为了证明本实施例所述方案的有效性,以下进行了相应的实验证明:
[0110]
机器人学习的任务目标为斜坡行走3m,爬坡控制策略训练场景如图5所示,场景参数设置如下:斜面长度为3.5m,宽度为5m,斜面倾斜角为8
°
,初始时刻机器人质心距离斜坡0.3m。
[0111]
训练一段时间后,机器趋向于学习到稳定、迅速的trot步态爬坡策略,此时所学策略下的爬坡过程展示如图6所示。
[0112]
机器人通过3000回合的训练,得到各个回合的累积回报,反映机器人的学习情况和运动效果,回合奖励如图7所示。
[0113]
从滑动平均奖励曲线中可以看出,在0~800回合内,奖励值呈稳定上升趋势,在1000回合之后奖励值稳定在680附近。可见基于轨迹引导的控制方案能够学习到良好的爬坡策略。
[0114]
在训练结束时采集机器人行走相关数据,机器人机身质心位置随时间的变化曲线如图8,机器人机身横滚角、俯仰角、偏航角的变化曲线如图9。
[0115]
以右前腿为例,四足机器人在训练结束阶段髋关节和膝关节的实际输出曲线如图10所示。
[0116]
从图8中可以看出,机器人在训练结束阶段所学策略能够完成既定的任务目标,机身能保持平稳爬坡,经计算沿斜坡前向速度为0.174m/s,机身质心高度平稳上升,机器人在沿斜坡前向行进3m时没有产生侧向移动,机器人基本保持直线行走。从图9可以看出,机器人处于稳态时机身的横滚角保持在

0.12~0.04rad的范围内波动,俯仰角保持在

0.14~0.03rad的范围内波动,机身能够保持稳定,且机身一直朝向目标方向。在图10机器人的关节角输出曲线中可以看出,髋关节的摆动范围保持在

0.12~0.31rad,膝关节的摆动范围保持在

0.11~0.18rad。
[0117]
设置控制系数μ=0时,机器人机身横滚角、俯仰角、偏航角的变化曲线如图11。
[0118]
从图11可以看出,参考轨迹下机器人横滚角保持在

0.22~

0.10rad的范围内,俯仰角保持在

0.13~0.15rad的范围内波动,机身前向运动时出现一定偏航角。由图11可知,在加入强化学习的反馈调整部分后,机器人不会出现侧向位移,从横滚角和俯仰角的波动范围可见,机器人整体稳定性具有较大提升。
[0119]
综上所述,本实施例所述方案通过hopf振荡器搭建cpg模型,利用该模型进行trot步态规划,利用规划步态作为初始引导步态,从探索噪声选择、状态空间及动作空间、奖励函数、终止条件及深度网络结构几个方面设计ddpg深度强化学习控制器,作为反馈调整模块提升机器人的运动性能。为验证所提控制方法的有效性,在平地、斜坡场景下进行仿真实验,通过实验分析,证明了所提出的方法具有较好的适应性和鲁棒性。
[0120]
实施例二:
[0121]
本实施例的目的是提供一种基于深度强化学习和cpg的机器人运动控制系统。
[0122]
一种基于深度强化学习和cpg的机器人运动控制系统,包括:
[0123]
数据获取单元,其用于实时获取机器人的状态信息;其中,所述状态信息基于预先构建的状态空间,通过机器人本体设置的传感器获得;
[0124]
反馈调整量获取单元,其用于基于所述状态信息,利用预先训练好的ddpg模型,获得所述机器人当前状态信息下对应的动作;
[0125]
运动控制单元,其用于将所述动作作为反馈调整量对预先构建的cpg模型所输出的参考轨迹上的足部姿势进行调整,将所述参考轨迹输出作用到机器人各关节电机中,实现机器人的运动控制。
[0126]
进一步的,本实施例所述系统与实施例一所述方法相对应,其技术细节在实施例一中已经进行了详细说明,故此处不再赘述。
[0127]
在更多实施例中,还提供:
[0128]
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一中所述的方法。为了简洁,在此不再赘述。
[0129]
应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asi c,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0130]
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
[0131]
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一中所述的方法。
[0132]
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0133]
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
[0134]
上述实施例提供的一种基于深度强化学习和cpg的机器人运动控制方法及系统可以实现,具有广阔的应用前景。
[0135]
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1