基于近端策略训练的可变形机器人避障方法

文档序号:32752142发布日期:2022-12-31 01:29阅读:33来源:国知局
基于近端策略训练的可变形机器人避障方法

1.本公开涉及机器人技术领域,更具体地,涉及一种基于策略梯度的近端策略优化训练避障模型的方法、拟态可变形机器人的避障方法、装置、电子设备、计算机可读存储介质和计算机程序产品。


背景技术:

2.拟态变形机器人在作业过程中要避免与障碍物碰撞,也要避免与其他机器人或抓取目标相碰撞,在面对不同环境和任务时需要进行复杂非线性变形以切换到不同的拟态运动模式,当该智能机器人面临的避障场景包含动态障碍物时,将对避障算法的灵活性和有效性提出更加严格的要求。
3.在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:传统基于刚体模型的线性和非线性控制理论无法达到令人满意的避障效果。


技术实现要素:

4.有鉴于此,本公开实施例提供了一种基于策略梯度的近端策略训练避障模型的方法、拟态可变形机器人的避障方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
5.本公开实施例的一个方面提供了一种基于策略梯度的近端策略训练避障模型的方法,避障模型应用于拟态可变形机器人,方法包括:
6.针对每个行走阶段的训练样本集中的每个训练样本,根据环境信息,生成多个策略,其中,训练样本包括利用拟态可变形机器人获取的包括障碍物信息的环境信息,每个策略包括拟态可变形机器人在外部环境中行走的轨迹,轨迹包括多个离散的动作和与每个动作对应的状态,动作是利用包括初始参数的策略函数生成的,其中,上述动作包括以下至少一种:蛇形变形动作、球形变形动作以及方形或矩形变形动作;
7.针对每个策略,利用奖惩函数处理轨迹,得到轨迹的累计奖励,其中,奖惩函数是根据初始参数对应的奖励确定的,不同拟态的行走阶段的上述奖惩函数和上述策略函数均不相同;
8.根据与多个策略对应的多个累计奖励以及与每个轨迹对应的概率,确定策略的期望奖励,其中,概率表征拟态可变形机器人根据当前状态从多个策略对应的轨迹中选择当前策略的轨迹的几率;
9.对期望奖励进行求导处理,得到第一导数;
10.基于策略梯度算法,根据第一导数对初始参数进行更新,得到经训练的避障模型的目标参数;
11.控制拟态可变形机器人利用经训练的避障模型在上述行走阶段的环境信息中行走,在拟态可变形机器人与障碍物信息发生碰撞的情况下,迭代地利用其他的训练样本进行避障模型的训练,得到新的经训练的避障模型的目标参数;
12.在拟态可变形机器人与障碍物信息不发生碰撞的情况下,将经训练的避障模型确定为上述行走阶段的目标避障模型。
13.本公开实施例的另一个方面提供了一种拟态可变形机器人的避障方法,包括:
14.针对每个目标行走阶段,获取上述拟态可变形机器人的多个超声波传感器采集的包括目标障碍物信息的目标环境信息;
15.利用经训练的目标避障模型处理上述目标环境信息,输出上述目标行走阶段的目标轨迹,其中,上述目标轨迹包括在上述目标环境中行走的多个离散的目标动作和与每个上述目标动作对应的目标状态,其中,上述目标动作包括以下至少一种:蛇形变形动作、球形变形动作和矩形变形动作;
16.上述拟态可变形机器人根据上述目标轨迹执行上述目标行走阶段的行走操作,其中,上述行走操作能够避免上述拟态可变形机器人与上述目标障碍物信息发生碰撞。
17.本公开实施例的另一个方面提供了一种基于策略梯度的近端策略训练避障模型的装置,包括:
18.生成模块,用于针对每个行走阶段的训练样本集中的每个训练样本,根据环境信息,生成多个策略,其中,训练样本包括利用拟态可变形机器人获取的包括障碍物信息的环境信息,每个策略包括拟态可变形机器人在外部环境中行走的轨迹,轨迹包括多个离散的动作和与每个动作对应的状态,动作是利用包括初始参数的策略函数生成的,其中,上述动作包括以下至少一种:蛇形变形动作、球形变形动作以及方形或矩形变形动作;
19.第一得到模块,用于针对每个策略,利用奖惩函数处理轨迹,得到轨迹的累计奖励,其中,奖惩函数是根据初始参数对应的奖励确定的,不同拟态行走阶段的上述奖惩函数和上述策略函数均不相同;
20.第一确定模块,用于根据与多个策略对应的多个累计奖励以及与每个轨迹对应的概率,确定策略的期望奖励,其中,概率表征拟态可变形机器人根据当前状态从多个策略对应的轨迹中选择当前策略的轨迹的几率;
21.第二得到模块,用于对期望奖励进行求导处理,得到第一导数;
22.第三得到模块,用于基于策略梯度算法,根据第一导数对初始参数进行更新,得到经训练的避障模型的目标参数;
23.仿真模块,用于控制拟态可变形机器人利用经训练的避障模型在上述行走阶段的环境信息中行走,在拟态可变形机器人与障碍物信息发生碰撞的情况下,迭代地利用其他的训练样本进行避障模型的训练,得到新的经训练的避障模型的目标参数;
24.第二确定模块,用于在拟态可变形机器人与障碍物信息不发生碰撞的情况下,将经训练的避障模型确定为上述行走阶段的目标避障模型。
25.本公开实施例的另一个方面提供了一种拟态可变形机器人的避障装置,包括:
26.获取模块,用于针对每个目标行走阶段,获取拟态可变形机器人的多个超声波传感器采集的包括目标障碍物信息的目标环境信息,通过确定拟态可变形机器人与障碍物之间的距离建立状态空间;
27.输出模块,用于利用目标避障模型处理目标环境信息,输出上述目标行走阶段的目标轨迹,其中,目标轨迹包括在目标环境中行走的多个离散的目标动作和与每个目标动作对应的目标状态,其中,上述目标动作包括以下至少一种:蛇形变形动作、球形变形动作
以及方形或矩形变形动作;
28.执行模块,用于拟态可变形机器人根据目标轨迹执行上述目标行走阶段的行走操作,其中,上述行走操作能够避免上述拟态可变形机器人与上述目标障碍物信息发生碰撞。
29.本公开实施例的另一个方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
30.本公开实施例的另一个方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
31.本公开实施例的另一个方面提供了一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
32.根据本公开的实施例,通过对训练样本确定对应的策略,并基于策略确定对应轨迹的期望奖励,从而对其进行求导确定的第一导数进行初始参数的更新,从而获得目标避障模型,拟态可变形机器人在使用该目标避障模型在环境中行走时能够处理较为复杂的避障场景,且在较为复杂的避障场景中能够实现较为优秀的避障效果,所以至少部分地克服了传统基于刚体模型的线性和非线性控制理论无法达到令人满意的避障效果技术问题。
附图说明
33.通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
34.图1示意性示出了根据本公开实施例的可以应用训练避障模型的方法的示例性系统架构;
35.图2示意性示出了根据本公开实施例的训练避障模型的方法的流程图;
36.图3示意性示出了根据本公开实施例的近端策略生成多个策略的示意图;
37.图4示意性示出了根据本公开实施例的轨迹序列示意图;
38.图5示意性示出了根据本公开实施例的ppo-clip算法示意图;
39.图6示意性示出了根据本公开实施例的拟态可变形机器人的避障原理示意图;
40.图7示意性示出了根据本公开实施例的拟态可变形机器人的避障场景示意图;
41.图8示意性示出了根据本公开实施例的拟态可变形机器人的避障成功率示意图;
42.图9示意性示出了根据本公开实施例的拟态可变形机器人的避障方法的流程图;
43.图10示意性示出了根据本公开的实施例的训练避障模型的装置的框图;
44.图11示意性示出了根据本公开的实施例的拟态可变形机器人的避障装置的框图;
45.图12示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。
具体实施方式
46.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免
不必要地混淆本公开的概念。
47.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“可以包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
48.在此使用的所有术语(可以包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
49.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应可以包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
50.本公开的实施例提供了一种基于策略梯度的近端策略训练避障模型的方法、拟态可变形机器人的避障方法、装置、电子设备、计算机可读存储介质和计算机程序产品。训练避障模型的方法可以包括:针对每个训练样本,策略函数根据环境信息生成包括多个动作的策略;针对每个策略,利用奖惩函数处理轨迹得到累计奖励;根据多个累计奖励以及概率,确定期望奖励;对期望奖励进行求导处理,得到第一导数;基于策略梯度算法,根据第一导数对初始参数进行更新,得到目标参数;控制拟态可变形机器人利用经训练的避障模型在环境信息中行走,在拟态可变形机器人与障碍物信息发生碰撞的情况下,迭代地利用其他的训练样本进行避障模型的训练,得到新的经训练的避障模型的目标参数;在拟态可变形机器人与障碍物信息不发生碰撞的情况下,将经训练的避障模型确定为目标避障模型。
51.图1示意性示出了根据本公开实施例的可以应用训练避障模型的方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
52.如图1所示,根据该实施例的系统架构100可以包括拟态可变形机器人101、102、103,网络104和服务器105。网络104用以在拟态可变形机器人101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等。
53.用户可以使用拟态可变形机器人101、102、103通过网络104与服务器105交互,以接收或发送消息等。拟态可变形机器人101、102、103上可以安装有各种通讯客户端应用,例如训练类应用、环境信息处理应用。
54.拟态可变形机器人101、102、103可以是具有机械臂并且支持行走、变形的各种机器人。
55.服务器105可以是提供各种服务的服务器,例如对用户利用拟态可变形机器人101、102、103所工作的环境提供行走的轨迹的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的环境信息等数据进行分析等处理,并将处理结果(例如根据环境信息生成的目标避障模型等)反馈给拟态可变形机器人。
56.需要说明的是,本公开实施例所提供的基于策略梯度的近端策略训练避障模型的方法一般可以由服务器105执行。相应地,本公开实施例所提供的基于策略梯度的近端策略训练避障模型的装置一般可以设置于服务器105中。本公开实施例所提供的基于策略梯度
的近端策略训练避障模型的方法也可以由不同于服务器105且能够与拟态可变形机器人101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的基于策略梯度的近端策略训练避障模型的装置也可以设置于不同于服务器105且能够与拟态可变形机器人101、102、103和/或服务器105通信的服务器或服务器集群中。或者,本公开实施例所提供的基于策略梯度的近端策略训练避障模型的方法也可以由拟态可变形机器人101、102、或103执行,或者也可以由不同于拟态可变形机器人101、102、或103的其他拟态可变形机器人执行。相应地,本公开实施例所提供的基于策略梯度的近端策略训练避障模型的装置也可以设置于拟态可变形机器人101、102、或103中,或设置于不同于拟态可变形机器人101、102、或103的其他拟态可变形机器人中。
57.应该理解,图1中的拟态可变形机器人、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的拟态可变形机器人、网络和服务器。
58.图2示意性示出了根据本公开实施例的训练避障模型的方法的流程图。
59.如图2所示,基于策略梯度的近端策略训练避障模型的方法,避障模型应用于拟态可变形机器人,该方法可以包括操作s201~s207。
60.在操作s201,针对每个行走阶段的训练样本集中的每个训练样本,根据环境信息,生成多个策略,其中,训练样本可以包括利用拟态可变形机器人获取的可以包括障碍物信息的环境信息,每个策略可以包括拟态可变形机器人在外部环境中行走的轨迹,轨迹可以包括多个离散的动作和与每个动作对应的状态,动作是利用可以包括初始参数的策略函数生成的,其中,动作包括以下至少一种:蛇形变形动作、球形变形动作以及方形或矩形变形动作。
61.在操作s202,针对每个策略,利用奖惩函数处理轨迹,得到轨迹的累计奖励,其中,奖惩函数是根据初始参数对应的奖励确定的,不同拟态的行走阶段的奖惩函数和策略函数均不相同。
62.在操作s203,根据与多个策略对应的多个累计奖励以及与每个轨迹对应的概率,确定策略的期望奖励,其中,概率表征拟态可变形机器人根据当前状态从多个策略对应的轨迹中选择当前策略的轨迹的几率。
63.在操作s204,对期望奖励进行求导处理,得到第一导数。
64.在操作s205,基于策略梯度算法,根据第一导数对初始参数进行更新,得到经训练的避障模型的目标参数。
65.在操作s206,控制拟态可变形机器人利用经训练的避障模型在行走阶段的环境信息中行走,在拟态可变形机器人与障碍物信息发生碰撞的情况下,迭代地利用其他的训练样本进行避障模型的训练,得到新的经训练的避障模型的目标参数。
66.在操作s207,在拟态可变形机器人与障碍物信息不发生碰撞的情况下,将经训练的避障模型确定为行走阶段的目标避障模型。
67.根据本公开的实施例,拟态可变形机器人可以指以自身结构自由变形的特点为基础的机器人,在智能反馈控制算法的控制下实现酷似生物的变形,称为拟态可变形机器人。
68.根据本公开的实施例,拟态可变形机器人的可变形的形态(动作)即动作空间可以包括但不限于蛇形变形动作、球形变形动作、方形或矩形变形动作等,拟态可变形机器人根据获取的包括障碍物信息的环境信息做出不同的离散动作,避免发生碰撞。根据本公开的
实施例,策略可以指在环境中的行走路径,例如在具有一个障碍物的环境中行走时,从障碍物左侧行走到达目的地的路径为一种策略,从障碍物右侧行走到达目的地的路径为另一种策略,行走阶段可以指拟态可变形机器人在不同位置的下一步的行走路径。
69.根据本公开的实施例,在对该避障模型进行训练时,根据训练样本中的环境信息可以生成拟态可变形机器人绕过障碍物的多个策略,对于每个策略,利用奖惩函数处理该策略的轨迹τ,可以得到该轨迹的累计奖励,对于多个策略的多个累计奖励以及每个轨迹τ对应的概率p
θ
(τ),确定策略的期望奖励对期望奖励进行求导处理,得到公式(3)所示的第一导数
70.其中,轨迹τ可以用τ={s1,a1,s2,a2,...,s
t
,a
t
}表示,a
t
表示第t步的动作,s
t
表示第t步的状态。轨迹τ对应的概率p
θ
(τ)可以用公式(1)表示,期望奖励可以用公式(2)表示。
[0071][0072][0073][0074]
其中,t表示动作的总数,p和p
θ
均表示选择当前动作的概率。
[0075]
根据本公开的实施例,基于策略梯度算法,根据第一导数对初始参数θ进行更新,得到经训练的避障模型的目标参数θ
°
。利用该经训练的避障模型控制拟态可变形机器人在该训练样本的环境信息中进行仿真行走,若拟态可变形机器人与障碍物信息发生碰撞,则迭代地利用其他的训练样本进行避障模型的训练,得到新的经训练的避障模型的目标参数,直至控制拟态可变形机器人利用经训练的避障模型在环境信息中行走不发生碰撞,则将经训练的避障模型确定为该行走阶段的目标避障模型。
[0076]
根据本公开的实施例,通过对训练样本确定对应的策略,并基于策略确定对应轨迹的期望奖励,从而对其进行求导确定的第一导数进行初始参数的更新,从而获得目标避障模型,拟态可变形机器人在使用该目标避障模型在环境中行走时能够处理较为复杂的避障场景,且在较为复杂的避障场景中能够实现较为优秀的避障效果,所以至少部分地克服了传统基于刚体模型的线性和非线性控制理论无法达到令人满意的避障效果技术问题。
[0077]
图3示意性示出了根据本公开实施例的近端策略生成多个策略的示意图。图4示意性示出了根据本公开实施例的轨迹序列示意图。
[0078]
如图3和图4所示,根据环境信息,生成多个策略,可以包括如下操作:
[0079]
利用策略函数根据环境信息生成多个当前的动作。针对每个多个当前的动作,利用价值函数处理当前的动作和状态,得到与当前的动作相对应的当前的价值。利用优势函
数处理当前的动作和当前的价值,生成下一个动作。
[0080]
根据本公开的实施例,利用策略函数(即图3中actor网络)根据环境信息生成多个当前的动作a
t
(即图3中a
t
),从经验回放池中提取出于该动作a
t
相对应的状态s
t
(即图3中s
t
),利用价值函数(即图3中critic网络)处理当前的动作和状态,得到与当前的动作相对应的当前的价值v(s
t
),从而利用优势函数a
θ

(s
t
,a
t
)处理当前的动作a
t
和当前的价值v(s
t
),生成下一个动作a
t+1
,从而可以得到图4所示的轨迹序列。其中,经验回放池中至少存储有历史状态下每个动作对应的状态,图4中g表示累计奖励,每一行的动作和状态为一个轨迹,即一个策略。
[0081]
根据本公开的实施例,策略梯度算法可以包括梯度上升方法。
[0082]
其中,基于策略梯度算法,根据第一导数对初始参数进行更新,得到经训练的避障模型的目标参数,可以包括如下操作:
[0083]
利用对数函数求导公式对第一导数进行转换处理,得到第二导数。基于梯度上升方法,利用多个训练样本对应的多个累计奖励,确定奖励期望平均值。根据奖励期望平均值和第二导数,确定第三导数。根据第三导数和初始参数,确定目标参数。
[0084]
根据本公开的实施例,利用对数函数求导公式对第一导数进行转换处理,得到第二导数假定每一条轨迹τ得到累计奖励为r(τ),基于梯度上升方法,使用轨迹τ出现的概率p
θ
(τ)进行加权求和,即可确定奖励期望平均值r(τn),根据奖励期望平均值r(τn)和第二导数确定第三导数根据第三导数和初始参数θ,确定目标参数θ
°
,目标参数θ
°
的计算参见公式(4)。
[0085][0086]
其中,η表示权重,即一次动作执行后获得的奖励。
[0087]
根据本公开的实施例,奖惩函数r如公式(5)所示:
[0088][0089]
其中,θ表示初始参数,r
θ
表示初始参数对应的累计奖励,当d<d时r
θ
=250,当d>d时r
θ
=-150,k为根据实际情况具体设置的折扣因子;d表示拟态可变形机器人距障碍物的惩罚距离,d表示拟态可变形机器人距障碍物的最小距离。
[0090]
对数函数求导公式如公式(6)所示,第二导数如公式(7)所示,第三导数如公式(8)所示:
[0091][0092]
[0093][0094]
其中,τ表示轨迹;r表示累计奖励;θ表示初始参数;p
θ
表示概率;e
τ~pθ
(τ)表示奖励期望平均值;n表示训练样本的个数;n表示第n个训练样本;a表示动作;s表示状态;t表示第t个;t表示动作或状态的总数。
[0095]
根据本公开的另一种实施例,根据第一导数对初始参数进行更新,得到经训练的避障模型的目标参数,可以包括如下操作:
[0096]
利用对数函数求导公式对第一导数进行转换处理,得到第四导数。根据第四导数和奖励平均值,确定第五导数。对第五导数进行权重优化处理,得到第六导数。对第六导数进行参数替换处理,得到第七导数。根据第七导数和初始参数,确定目标参数。
[0097]
根据本公开的实施例,第四导数可以与第二导数相同,均是利用对数函数求导公式对第一导数进行转换处理得到的。
[0098]
根据本公开的实施例,策略梯度算法的核心思想在于通过增加奖励更多的动作的采样概率,减小奖励更少的动作的采样概率,使得智能体学到最优的行为策略。然而存在一种普遍现象,在设计奖惩函数的时候,大部分动作的奖励都是正值,这样就会导致智能体(本公开的拟态可变形机器人)可能学到如下策略:在训练开始时,采集到奖励更少的动作,更新之后此动作的概率增加,而且在后续训练中,奖励更小的动作多次被采样,从而出现的概率越来越大,逐渐超过奖励更多的动作出现的概率,导致智能体学习到的是次优策略,陷入局部最优。上述现象出现的原因在于设计的奖惩函数使得动作奖励为正数,从而导致在策略梯度算法中出现局部最优问题。通过在第一导数的计算公式中增加智能体一次训练后的奖励平均值e[r(τ)]作为基线,可以使得动作奖励在计算过程中有正有负,从而消除上述问题导致的次优解。在训练中会不断记录r(τ)的值并计算其平均值,不断更新基线。第五导数计算公式如公式(8)所示:
[0099][0100]
根据本公开的实施例,根据公式(8)的第五导数所有的状态-动作对都会使用相同的奖励进行加权。然而一个回合中不同动作带来的奖励有好有坏,不代表一条轨迹上的所有动作都是对的,所示需要给每一个不同的动作分配不用的权重。由于实际训练中难以采样足够多的数据,为了给每一个不同的动作分配合理的权重,只计算从这个动作以后所得到的奖励,以达到合理分配任务。表示第n条轨迹第t

个动作的奖励,则第六导数可以用公式(9)表示:
[0101][0102]
根据本公开的实施例,在表示轨迹奖励时,是通用表示方法,并未体现出未来的奖励在当前时刻的折现,因此需要将第六导数中的替换为从而可以得到公式(10)所示的第七导数从而参照公式(4),根据第七导数和初始参数θ,确定目标参数。
[0103][0104]
其中,为优势函数a
θ

(s
t
,a
t
)。
[0105]
根据本公开的实施例,根据第一导数对初始参数进行更新,得到目标参数,可以包括如下操作:
[0106]
利用对数函数求导公式对第一导数进行转换处理,得到第八导数。对第八导数进行分布转换处理,得到第九导数。根据优势函数和第九导数,得到第一梯度计算值。根据第九导数和第一梯度计算值,得到加入重要性采样的第二梯度计算值。对第二梯度计算值进行简化处理,得到目标梯度计算值。根据目标梯度计算值和初始参数,确定目标参数。
[0107]
根据本公开的实施例,第八导数可以与第二导数相同,均是利用对数函数求导公式对第一导数进行转换处理得到的
[0108]
根据本公开的实施例,上述策略梯度算法是典型的同策略(on policy)算法,即行动策略和评价策略为相同的策略,这样会导致数据的利用率极低,因为只有当智能体(拟态可变形机器人)采集到一个完整回合的数据时,才能计算目标函数的梯度并更新网络参数,并且当网络参数更新完成后就会舍弃数据,重新采集新的数据来更新网络,这样的训练方式会让网络的训练速度非常缓慢。为了解决策略梯度算法的训练速度缓慢问题,ppo算法提出了重要性采样(important-sampling)思路。
[0109]
重要性采样思路的提出让ppo算法的智能体在更新当前行为策略时,可以使用不同参数的历史行为策略采样的轨迹序列数据,因此ppo算法尽管是一种同策略(on policy)算法,却可以做到对历史数据的利用。由于可以使用历史数据更新网络,从而提高了网络模型的训练速度。假定网络参数更新使用的数据来自p分布,但是此时只能从q分布中采集数据,所以求取函数期望时需要修正函数公式进行变换,重要性采样公式如公式(11)所示,同时公式(11)也是分布转换公式。
[0110]
需要说明的是,p分布和q分布均是从拟态可变形机器人采集的环境信息得到的,例如可以设定一个阈值范围,位于阈值范围之内的环境信息为p分布,位于阈值范围之外的环境信息为q分布。
[0111][0112]
根据本公开的实施例,基于分布转换公式,对第八导数进行分布转换处理,得到如公式(12)所示的第九导数利用优势函数a
θ

(s
t
,a
t
)替代r(τ),得到第一梯度计算值联合第九导数和第一梯度计算值得到加入重要性采样的第二梯度计算值由于存在假设策略π
θ
和策略π
θ

的分布差距不大,因此近似于1,从而可以对第二梯度计算值进行简化处理,得到目标梯度计算值参照公式(4),根据目标梯度计算值和初始参数θ,确定目标参数。
[0113]
需要说明的是,策略π
θ
和策略π
θ

分别是从p分布和q分布进行采样得到的。
[0114]
根据本公开的实施例,第九导数如公式(12)所示,第一梯度计算值如公式(13)所示,第二梯度计算值如公式(14)所示,目标梯度计算值如公式(15)所示:
[0115][0116][0117][0118][0119]
其中,p
θ
表征与策略对应的概率,p
θ

表征对策略π
θ
进行转换得到的过渡策略π
θ

对应的概率,a
θ

(s
t
,a
t
)表征与过渡策略对应的优势函数,其中,e表征奖励。
[0120]
根据本公开的实施例,训练避障模型的方法还可以包括如下操作:
[0121]
根据目标梯度计算值和目标参数,确定初始期望奖励函数,其中,初始期望奖励函数可以包括策略分布差异、初始参数和行为策略参数。对策略分布差异进行裁剪处理,得到目标期望奖励函数。
[0122]
基于梯度上升法处理行为策略参数,以使得根据与目标策略对应的轨迹和目标期望奖励函数确定最大的期望奖励值。基于最大的期望奖励值,利用梯度下降法处理初始参
数,得到过渡初始参数。
[0123]
在过渡奖励和过渡价值之间的均方误差小于预设阈值的情况下,将过渡初始参数确定为目标初始参数,其中,过渡奖励是根据奖惩函数、过渡初始参数和过渡策略确定的,过渡价值是根据价值函数和过渡初始参数和过渡策略确定的,过渡策略是对策略进行转换得到的。根据目标初始参数和奖惩函数,确定新的奖惩函数。
[0124]
根据本公开的实施例,根据目标梯度计算值和目标参数θ
°
,确定如公式(16)所示的初始期望奖励函数j
θ
°′

°
)。
[0125][0126]
图5示意性示出了根据本公开实施例的ppo-clip算法示意图。
[0127]
如图5所示,ppo-clip算法使用clip函数将策略分布差异进行人工裁剪,从而可以得到如公式(17)所示的目标期望奖励函数。
[0128][0129]
根据本公开的实施例,当a
θ
°′
(s
t
,a
t
)大于0时,的最大值为1+ε,当a
θ
°′
(s
t
,a
t
)小于0时,的最小值为1-ε。
[0130]
根据本公开的实施例,基于梯度上升法处理行为策略参数,以使得根据与目标策略π
θ

对应的轨迹和目标期望奖励函数确定最大的期望奖励值,基于梯度上升法处理行为策略参数,以使得根据与目标策略π
θ

对应的轨迹和目标期望奖励函数确定最大的期望奖励值基于最大的期望奖励值利用梯度下降法处理初始参数θ,得到过渡初始参数θ-,在过渡奖励和过渡价值之间的均方误差小于预设阈值w的情况下,即将过渡初始参数确定为目标初始参数。根据目标初始参数和奖惩函数,确定新的奖惩函数。
[0131]
图6示意性示出了根据本公开实施例的拟态可变形机器人的避障原理示意图。图7示意性示出了根据本公开实施例的拟态可变形机器人的避障场景示意图。图8示意性示出了根据本公开实施例的拟态可变形机器人的避障成功率示意图。
[0132]
根据本公开的实施例,基于图6所示的避障原理,拟态可变形机器人在图7所示的水下环境进行模拟测试,拟态可变形机器人避障成功率随着训练次数变化的曲线如图8所示。从图8中可以看出,训练开始阶段的统计数据较少,避障成功次数和失败次数对避障成功率影响较大,因此导致实验开始阶段的避障成功率曲线比较曲折,而随着训练数量的增加,曲线的波动逐渐减小。最终,拟态可变形机器人避障成功率收敛在80%左右。上述结果
不仅说明ppo避障方法在复杂避障场景下具备优秀的避障能力,同时也验证了ppo避障方法具有优异的鲁棒性。
[0133]
因此,基于测量梯度的近端策略优化的避障方法具备灵活有效处理未知的复杂动态避障场景的能力,模型最终正常收敛,并在新的避障场景中保持较好的避障成功率,具有良好的鲁棒性。
[0134]
图9示意性示出了根据本公开实施例的拟态可变形机器人的避障方法的流程图。
[0135]
如图9所示,拟态可变形机器人的避障方法可以包括操作s901~操作s903。
[0136]
在操作s901,针对每个目标行走阶段,获取拟态可变形机器人的多个超声波传感器采集的可以包括目标障碍物信息的目标环境信息。
[0137]
在操作s902,利用上述目标避障模型处理目标环境信息,输出目标行走阶段的目标轨迹,其中,目标轨迹可以包括在目标环境中行走的多个离散的目标动作和与每个目标动作对应的目标状态,其中,目标动作包括以下至少一种:蛇形变形动作、球形变形动作和方形或矩形变形动作。
[0138]
在操作s903,拟态可变形机器人根据目标轨迹执行目标行走阶段的行走操作,其中,行走操作能够避免拟态可变形机器人与目标障碍物信息发生碰撞。
[0139]
根据本公开的实施例,针对每个目标行走阶段,拟态可变形机器人的多个超声波传感器采集的可以包括目标障碍物信息的目标环境信息后,控制拟态可变形机器人利用经训练的避障模型在目标行走阶段的目标环境信息中行走,每次回合开始时,都会随机初始化目标点坐标,并将拟态可变形机器人重置于中心坐标(0,0)处。如果拟态无人系统能成功躲避所有目标障碍物,顺利到达目标点,则成功次数加1,如果在行驶过程中与障碍物相撞,则失败次数加1。
[0140]
根据本公开的实施例,通过对训练样本确定对应的策略,并基于策略确定对应轨迹的期望奖励,从而对其进行求导确定的第一导数进行初始参数的更新,从而获得避障模型,拟态可变形机器人在使用该避障模型在环境中行走时能够处理较为复杂的避障场景,且在较为复杂的避障场景中能够实现较为优秀的避障效果,所以至少部分地克服了传统基于刚体模型的线性和非线性控制理论无法达到令人满意的避障效果技术问题。
[0141]
根据本公开的实施例,在输出目标轨迹之前,还可以包括如下操作:
[0142]
根据目标轨迹生成目标累计奖励,根据目标累计奖励对目标避障模型中的目标参数进行更新。
[0143]
根据本公开的实施例,通过拟态可变形机器人在实际使用中的环境信息实时更新目标参数,以便于通过反复学习使得避障模型更新优化。
[0144]
图10示意性示出了根据本公开的实施例的训练避障模型的装置的框图。
[0145]
如图10所示,基于策略梯度的近端策略训练避障模型的装置1000可以包括生成模块1001、第一得到模块1002、第一确定模块1003、第二得到模块1004、第三得到模块1005、仿真模块1006和第二确定模块1007。
[0146]
生成模块1001,用于针对每个行走阶段的训练样本集中的每个训练样本,根据环境信息,生成多个策略,其中,训练样本可以包括利用拟态可变形机器人获取的可以包括障碍物信息的环境信息,每个策略可以包括拟态可变形机器人在外部环境中行走的轨迹,轨迹可以包括多个离散的动作和与每个动作对应的状态,动作是利用可以包括初始参数的策
略函数生成的,其中,动作包括以下至少一种:蛇形变形动作、球形变形动作以及方形或矩形变形动作。
[0147]
第一得到模块1002,用于针对每个策略,利用奖惩函数处理轨迹,得到轨迹的累计奖励,其中,奖惩函数是根据初始参数对应的奖励确定的,不同拟态的行走阶段的奖惩函数和策略函数均不相同。
[0148]
第一确定模块1003,用于根据与多个策略对应的多个累计奖励以及与每个轨迹对应的概率,确定策略的期望奖励,其中,概率表征拟态可变形机器人根据当前状态从多个策略对应的轨迹中选择当前策略的轨迹的几率。
[0149]
第二得到模块1004,用于对期望奖励进行求导处理,得到第一导数。
[0150]
第三得到模块1005,用于基于策略梯度算法,根据第一导数对初始参数进行更新,得到经训练的避障模型的目标参数。
[0151]
仿真模块1006,用于控制拟态可变形机器人利用经训练的避障模型在行走阶段的环境信息中行走,在拟态可变形机器人与障碍物信息发生碰撞的情况下,迭代地利用其他的训练样本进行避障模型的训练,得到新的经训练的避障模型的目标参数。
[0152]
第二确定模块1007,用于在拟态可变形机器人与障碍物信息不发生碰撞的情况下,将经训练的避障模型确定为行走阶段的目标避障模型。
[0153]
根据本公开的实施例,通过对训练样本确定对应的策略,并基于策略确定对应轨迹的期望奖励,从而对其进行求导确定的第一导数进行初始参数的更新,从而获得目标避障模型,拟态可变形机器人在使用该目标避障模型在环境中行走时能够处理较为复杂的避障场景,且在较为复杂的避障场景中能够实现较为优秀的避障效果,所以至少部分地克服了传统基于刚体模型的线性和非线性控制理论无法达到令人满意的避障效果技术问题。
[0154]
根据本公开的实施例,生成模块1001可以包括第一生成单元、第一得到单元和第二生成单元。
[0155]
第一生成单元,用于利用策略函数根据环境信息生成多个当前的动作。
[0156]
第一得到单元,用于针对每个多个当前的动作,利用价值函数处理当前的动作和状态,得到与当前的动作相对应的当前的价值。
[0157]
第二生成单元,用于利用优势函数处理当前的动作和当前的价值,生成下一个动作。
[0158]
根据本公开的实施例,策略梯度算法可以包括梯度上升方法。
[0159]
根据本公开的实施例,第三得到模块1005可以包括第一转换单元、第一确定单元、第二确定单元和第三确定单元。
[0160]
第一转换单元,用于利用对数函数求导公式对第一导数进行转换处理,得到第二导数。
[0161]
第一确定单元,用于基于梯度上升方法,利用多个训练样本对应的多个累计奖励,确定奖励期望平均值。
[0162]
第二确定单元,用于根据奖励期望平均值和第二导数,确定第三导数。
[0163]
第三确定单元,用于根据第三导数和初始参数,确定目标参数。
[0164]
根据本公开的实施例,第三得到模块1005可以包括第二转换单元、第四确定单元、优化单元、替换单元和第五确定单元。
[0165]
第二转换单元,用于利用对数函数求导公式对第一导数进行转换处理,得到第四导数。
[0166]
第四确定单元,用于根据第四导数和奖励平均值,确定第五导数。
[0167]
优化单元,用于对第五导数进行权重优化处理,得到第六导数。
[0168]
替换单元,用于对第六导数进行参数替换处理,得到第七导数。
[0169]
第五确定单元,用于根据第七导数和初始参数,确定目标参数。
[0170]
根据本公开的实施例,第三得到模块1005可以包括第三转换单元、第四转换单元、第二得到单元、第三得到单元、简化单元和第六确定单元。
[0171]
第三转换单元,用于利用对数函数求导公式对第一导数进行转换处理,得到第八导数。
[0172]
第四转换单元,用于对第八导数进行分布转换处理,得到第九导数。
[0173]
第二得到单元,用于根据优势函数和第九导数,得到第一梯度计算值。
[0174]
第三得到单元,用于根据第九导数和第一梯度计算值,得到加入重要性采样的第二梯度计算值。
[0175]
简化单元,用于对第二梯度计算值进行简化处理,得到目标梯度计算值。
[0176]
第六确定单元,用于根据目标梯度计算值和初始参数,确定目标参数。
[0177]
根据本公开的实施例,第三得到模块1005还可以包括第七确定单元、第四得到单元、第八确定单元、第五得到单元、第九确定单元和第十确定单元。
[0178]
第七确定单元,用于根据目标梯度计算值和目标参数,确定初始期望奖励函数,其中,初始期望奖励函数可以包括策略分布差异、初始参数和行为策略参数。
[0179]
第四得到单元,用于对策略分布差异进行裁剪处理,得到目标期望奖励函数。
[0180]
第八确定单元,用于基于梯度上升法处理行为策略参数,以使得根据与目标策略对应的轨迹和目标期望奖励函数确定最大的期望奖励值。
[0181]
第五得到单元,用于基于最大的期望奖励值,利用梯度下降法处理初始参数,得到过渡初始参数。
[0182]
第九确定单元,用于在过渡奖励和过渡价值之间的均方误差小于预设阈值的情况下,将过渡初始参数确定为目标初始参数,其中,过渡奖励是根据奖惩函数、过渡初始参数和过渡策略确定的,过渡价值是根据价值函数和过渡初始参数和过渡策略确定的,过渡策略是对策略进行转换得到的。
[0183]
第十确定单元,用于根据目标初始参数和奖惩函数,确定新的奖惩函数。
[0184]
图11示意性示出了根据本公开的实施例的拟态可变形机器人的避障装置的框图。
[0185]
如图11所示,拟态可变形机器人的避障装置1100可以包括获取模块1101、输出模块1102和执行模块1103。
[0186]
获取模块1101,用于针对每个目标行走阶段,获取拟态可变形机器人的多个超声波传感器采集的可以包括目标障碍物信息的目标环境信息。
[0187]
输出模块1102,用于利用上述目标避障模型处理目标环境信息,输出目标行走阶段的目标轨迹,其中,目标轨迹可以包括在目标环境中行走的多个离散的目标动作和与每个目标动作对应的目标状态,其中,目标动作包括以下至少一种:蛇形变形动作、球形变形动作以及方形或矩形变形动作。
[0188]
执行模块1103,用于拟态可变形机器人根据目标轨迹执行目标行走阶段的行走操作,其中,行走操作能够避免拟态可变形机器人与目标障碍物信息发生碰撞。
[0189]
根据本公开的实施例,避障装置还可以包括第二生成模块和更新模块。
[0190]
第二生成模块,用于根据目标轨迹生成目标累计奖励。
[0191]
更新模块,用于根据目标累计奖励对避障模型中的目标参数进行更新。
[0192]
根据本公开的实施例的模块、单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(field programmable gate array,fpga)、可编程逻辑阵列(programmable logic arrays,pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(application specific integrated circuit,asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0193]
需要说明的是,本公开的实施例中基于策略梯度的近端策略训练避障模型的装置部分与本公开的实施例中基于策略梯度的近端策略训练避障模型的方法部分是相对应的,基于策略梯度的近端策略训练避障模型的装置部分的描述具体参考基于策略梯度的近端策略训练避障模型的方法部分,在此不再赘述。同理,本公开的实施例中拟态可变形机器人的避障装置部分与本公开的实施例中拟态可变形机器人的避障方法部分是相对应的,拟态可变形机器人的避障装置部分的描述具体参考拟态可变形机器人的避障方法部分,在此不再赘述。
[0194]
图12示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。图12示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0195]
如图12所示,根据本公开实施例的电子设备1200可以包括处理器1201,其可以根据存储在只读存储器(read-only memory,rom)1202中的程序或者从存储部分1208加载到随机访问存储器(random access memory,ram)1203中的程序而执行各种适当的动作和处理。处理器1201例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器1201还可以包括用于缓存用途的板载存储器。处理器1201可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
[0196]
在ram 1203中,存储有电子设备1200操作所需的各种程序和数据。处理器1201、rom 1202以及ram 1203通过总线1204彼此相连。处理器1201通过执行rom 1202和/或ram 1203中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom 1202和ram 1203以外的一个或多个存储器中。处理器1201也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
[0197]
根据本公开的实施例,电子设备1200还可以包括输入/输出(i/o)接口1205,输入/输出(i/o)接口1205也连接至总线1204。系统1200还可以包括连接至i/o接口1205的以下部
件中的一项或多项:可以包括键盘、鼠标等的输入部分1206;可以包括诸如阴极射线管(crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1207;可以包括硬盘等的存储部分1208;以及可以包括诸如lan卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至i/o接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
[0198]
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例可以包括一种计算机程序产品,其可以包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被处理器1201执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
[0199]
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
[0200]
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom(erasable programmable read only memory,eprom)或闪存)、便携式紧凑磁盘只读存储器(computer disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0201]
本公开的实施例还可以包括一种计算机程序产品,其可以包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的基于策略梯度的近端策略训练避障模型的方法或拟态可变形机器人的避障方法。
[0202]
在该计算机程序被处理器1201执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
[0203]
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1209被下载和安装,和/或从可拆卸介质1211被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,可以包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0204]
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言可以包括但不限于
诸如java,c++,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,可以包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0205]
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1