一种基于多智能体的时空路径规划方法

文档序号:24723400发布日期:2021-04-16 15:31阅读:126来源:国知局
一种基于多智能体的时空路径规划方法

1.本发明涉及机器人路径规划技术领域,尤其涉及一种基于多智能体的时空路径规划方法。


背景技术:

2.智能体是在某一环境下,能够持续自主的发挥作用,如扫地机器人、物流运输机器人等,对这些智能体进行路径规划,是一个复杂的计算过程,即需要规避环境中的静态障碍物,又需要规避环境中随时出现的动态障碍物。现有技术中在对静态障碍物和动态障碍物进行规避时,受变化的复杂外界环境的影响无法快速的构建机器人的路径。不能直观的判断出机器人是否发生碰撞,不便于机器人调整避障。并且在进行路径规划时,同时考虑规避静态障碍物和动态障碍物,路径规划的效率较低。


技术实现要素:

3.本发明主要解决的技术问题是提供一种基于多智能体的时空路径规划方法,解决受变化的复杂外界环境的影响无法快速的构建机器人的路径,不能直观判断是否发生碰撞,路径规划效率较低的问题。
4.为解决上述技术问题,本发明采用的一个技术方案是提供一种基于多智能体的时空路径规划方法,包括步骤:
5.构建二维行走路径,设定机器人的起点和终点,规划机器人从起点到终点的二维行走路径;构建三维时空路径,随机设定机器人的行走速度,确定在二维行走路径的行走时刻,由行走时刻结合二维行走路径构建机器人的三维时空路径;基于三维时空路径避障,使用上述步骤构建动态障碍物的三维时空路径,若机器人的三维时空路径与动态障碍物的三维时空路径相交具有交点,则机器人与动态障碍物发生碰撞,交点即为碰撞点,设定机器人到达碰撞点前的一段时间为安全时间,在安全时间前通过路径调整算法调整机器人的行走速度,规避与动态障碍物的碰撞。
6.优选的,构建二维行走路径步骤中,机器人设置有多个,同时对多个机器人并行规划二维行走路径。
7.优选的,构建二维行走路径步骤中,构建机器人从起点到终点的二维行走路径为:
[0008][0009]
式中,a
i
表示机器人r
i
的二维行走路径,i为正整数,表示多个机器人中的任一机器人,表示机器人r
i
的起点坐标,表示机器人r
i
的终点坐标,v为大于1的正整数,表示a
i
二维行走路径中坐标点的总个数,表示机器人r
i
的起点坐标与终点坐标之间的任一点p的坐标,p∈(1,v)。
[0010]
优选的,构建三维时空路径步骤中,随机设定机器人r
i
的行走速度;确定机器人r
i
的行走时刻,行走时刻与二维行走路径中坐标点的总个数对应,由行走时刻和二维行走路
径的坐标点构成三维时空坐标,即:
[0011][0012]
式中,a
i

表示机器人r
i
的三维时空坐标,表示机器人r
i
的三维起点坐标,表示机器人r
i
的三维终点坐标,表示机器人r
i
的三维起点坐标与三维终点坐标之间的任一点p的三维时空坐标,表示a
i

三维时空坐标的行走时刻。
[0013]
优选的,构建三维时空路径步骤中,由三维时空坐标a
i

构建机器人的三维时空路径为:
[0014][0015]
式中,a

i
表示机器人r
i
的三维时空路径,表示机器人r
i
三维时空路径的起点之后第二点三维时空坐标,(x
(i,1)
,y
(i,1)
,t
(i,1)
)表示机器人r
i
三维时空路径的起点到第二点之间任一点三维时空坐标,表示机器人r
i
三维时空路径的p

1点的三维时空坐标,(x
(i,p

1)
,y
(i,p

1)
,t
(i,p

1)
)表示机器人r
i
三维时空路径的p点到p

1点之间任一点的三维时空坐标,表示机器人r
i
三维时空路径的终点之前v

1点的三维时空坐标,(x
(i,v

1)
,y
(i,v

1)
,t
(i,v

1)
)表示机器人r
i
三维时空路径的终点到v

1点之间任一点的三维时空坐标。
[0016]
优选的,构建三维时空路径步骤中,由行走时刻和二维行走路径的坐标轴构建三维时空坐标轴,三维时空坐标轴的横向坐标轴对应为二维行走路径的二维坐标轴的横向坐标轴,三维时空坐标轴的纵向坐标轴对应二维行走路径坐标轴的纵向坐标轴,三维时空坐标轴的竖向坐标轴为行走时刻,三维时空路径对应标识在三维时空坐标轴内,进而在三维时空坐标轴内显示碰撞点。
[0017]
优选的,基于三维时空路径避障步骤中,由机器人的三维时空路径计算机器人之间的距离,
[0018]
由上式中的可知:
[0019]
机器人r
i
在行走时刻的横向坐标x
(i,p

1)
为:
[0020][0021]
与机器人r
i
的横向坐标x
(i,p

1)
对应的纵向坐标y
(i,p

1)
为:
[0022]
[0023]
对应的,另一机器人r
j
行走时刻的横向坐标x
(j,f

1)
表示为:
[0024][0025]
式中,x
(j,f

1)
表示机器人r
j
三维时空路径的f点到f

1点之间任一点的横向坐标,r
j
表示多个机器人中不同与r
i
的另一机器人,表示机器人r
j
三维时空路径的f点的横向坐标,f为正整数,表示机器人r
j
的二维行走路径中的任一坐标点;表示机器人r
j
三维时空路径的f

1点的横向坐标,表示机器人r
j
在f点的行走时刻,表示机器人r
j
在f

1点的行走时刻。
[0026]
与机器人r
j
的横向坐标x
(j,f

1)
对应的纵向坐标y
(j,f

1)
为:
[0027][0028]
式中,y
(j,f

1)
表示机器人r
j
三维时空路径的f点到f

1点之间任一点的纵向坐标,r
j
表示多个机器人中区别与r
i
的另一机器人,表示机器人r
j
三维时空路径的f点的纵向坐标,f为正整数,表示机器人r
j
的二维行走路径中的任一坐标点;表示机器人r
j
三维时空路径的f

1点的纵向坐标,表示机器人r
j
在f点的行走时刻,表示机器人r
j
在f

1点的行走时刻。
[0029]
可得机器人r
i
和机器人r
j
之间的距离d
(i,j)
为:
[0030][0031]
由机器人r
i
和机器人r
j
之间的距离判断该机器人之间是否发生碰撞;若d
(i,j)
>2r+d,机器人r
i
和机器人r
j
不发生碰撞;若d
(i,j)
<2r+d,机器人r
i
和机器人r
j
发生碰撞;式中,r表示机器人r
i
和机器人r
j
的半径,d表示安全距离。
[0032]
优选的,基于三维时空路径避障步骤中,设定机器人的观测范围,动态障碍物进入到机器人的观测范围内,机器人通过路径调整算法调整行走速度,规避动态障碍物。
[0033]
优选的,基于三维时空路径避障步骤中,获取机器人的观测值和环境状态值,根据观测值通过路径调整算法输出动作值,根据动作值调整机器人的行走速度,并获得该行走速度的奖励值,由观测值、环境状态值、动作值和奖励值输入到路径调整算法进行优化行走速度。
[0034]
优选的,基于三维时空路径避障步骤中,奖励值包括有距离差奖励值,目标距离奖励值,障碍数奖励值,碰撞奖励值以及到达目的地奖励值。
[0035]
本发明的有益效果是:本发明首先构建机器人的二维行走路径,可以不考虑变化的复杂外界环境的影响,能够快速准确的获得机器人的二维行走路径,通过构建的三维时空路径,能够直观的判断出机器人是否发生碰撞,便于机器人的快速调整,通过路径调整算法能够实时根据三维时空路径的变化调整机器人的行走速度,进行规避动态障碍物,从而通过不同的方法分别规避静态障碍物和动态障碍物,能够极大的提高路径规划的效率。在
规避静态障碍物得到的二维行走路径的基础上构建三维时空路径,再基于三维时空路径规避动态障碍物,规避静态障碍物和动态障碍物之间具有紧密的联系。
附图说明
[0036]
图1是根据本发明基于多智能体的时空路径规划方法一实施例的流程图;
[0037]
图2是根据本发明基于多智能体的时空路径规划方法一实施例的三维时空路径示意图。
具体实施方式
[0038]
为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
[0039]
需要说明的是,除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限值本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0040]
图1显示了本发明基于多智能体的时空路径规划方法的实施例,包括:
[0041]
步骤s1:构建二维行走路径,设定机器人的起点和终点,规划机器人从起点到终点的二维行走路径。
[0042]
步骤s2:构建三维时空路径,随机设定机器人的行走速度,确定在二维行走路径的行走时刻,由行走时刻结合二维行走路径构建机器人的三维时空路径。
[0043]
步骤s3:基于三维时空路径避障,使用上述步骤构建动态障碍物的三维时空路径,若机器人的三维时空路径与动态障碍物的三维时空路径相交具有交点,则机器人与动态障碍物发生碰撞,交点即为碰撞点,设定机器人到达碰撞点前的一段时间为安全时间,在安全时间前通过路径调整算法调整机器人的行走速度,规避与动态障碍物的碰撞。
[0044]
本发明在构建机器人的二维行走路径中,可以不考虑复杂变化的外界环境的影响,能够快速准确的获得机器人的二维行走路径,通过构建的三维时空路径,能够直观的判断出机器人是否发生碰撞,便于机器人的快速调整,通过路径调整算法能够实时根据三维时空路径的变化调整机器人的行走速度,进行规避动态障碍物,从而通过不同的方法分别规避静态障碍物和动态障碍物,能够极大的提高路径规划的效率。在规避静态障碍物得到的二维行走路径的基础上构建三维时空路径,再基于三维时空路径规避动态障碍物,规避静态障碍物和动态障碍物之间具有紧密的联系。
[0045]
进一步的,构建二维行走路径步骤中,机器人设置有多个,同时对多个机器人并行规划二维行走路径。
[0046]
s个机器人同时进行并行规划路径,即s个机器人中,每个机器人独立使用进行路径规划,即包括有s个线程的路径规划,并行进行规划不同机器人的二维行走路径。能够有效的节省计算时间,提高二维行走路径规划效率。
[0047]
对于多个机器人的二维行走路径,根据计算机的硬件配置,例如计算机是8核的计
算机,每个机器人开启一个进程,每个机器人实现并行的路径规划,在每个机器人内部开启多个线程,实现每个机器人并行路径规划计算。并行路径规划计算可以有效的利用多个cpu,节省计算时间,并行计算可以使cpu和各种硬件并行使用,从而也节省了计算时间。
[0048]
进一步的,机器人的数量为s,可以表示为:
[0049]
r1,...,r
i
,...,r
s

[0050]
将二维行走路径在二维坐标轴中表示,在二维行走路径的二维坐标轴中,上述机器人对应的起点分别表示为:
[0051]
(x11,y11),...,(x
i
1,y
i
1),...,(x
s
1,ys1)。
[0052]
对s个机器人并行构建机器人从起点到终点的二维行走路径为:
[0053][0054]
式中,a1,...,a
i
,...,a
s
分别表示机器人r1,...,r
i
,...,r
s
的二维行走路径,s表示机器人的总个数,i表示机器人中的任一机器人,i∈(1,s),数,i表示机器人中的任一机器人,i∈(1,s),分别表示机器人r1,...,r
i
,...,r
s
的起点坐标,的起点坐标,分别表示机器人r1,...,r
i
,...,r
s
的终点坐标,u,...,v,...,w分别表示a1,...,a
i
,...,a
s
二维行走路径中坐标点的总个数,中坐标点的总个数,分别表示机器人r1,...,r
i
,...,r
s
的起点坐标与终点坐标之间的任一坐标,o∈(1,u),p∈(1,v),q∈(1,w)。
[0055]
优选的,随机设定机器人r1,...,r
i
,...,r
s
的行走速度;确定机器人r1,...,r
i
,...,r
s
的行走时刻,行走时刻与二维行走路径中坐标点的总个数对应,由行走时刻和二维行走路径的坐标点构成三维时空坐标,即:
[0056][0057]
式中,a1′
,...,a
i

,...,a
s

分别表示机器人r1,...,r
i
,...,r
s
的三维时空坐标,s表示机器人的总个数,i表示机器人中的任一机器人,i∈(1,s),分别表示机器人r1,...,r
i
,...,r
s
的三维起点坐标,分别表示机器人r1,...,r
i
,...,r
s
的三维终点坐标,u,...,v,...,w分别表示a1′
,...,a
i

,...,a
s

三维时空坐标中坐标点的总个数,分别表示机器人r1,...,r
i
,...,r
s
的三维起点坐标与三维终点坐标之间的任一三维中间坐标,o∈(1,u),p∈(1,v),q∈(1,w);三维时空坐标中的分别表示a1′
,...,a
i

,...,a
s

三维时
空坐标中的行走时刻。
[0058]
进一步的,由三维时空坐标a1′
,...,a
i

,...,a
s

构建机器人的三维时空路径为:
[0059][0060]
式中,a
″1,...,a

i
,...,a

s
,分别表示r1,...,r
i
,...,r
s
机器人的三维时空路径,分别表示r1,...,r
i
,...,r
s
机器人三维时空路径的起点的横向坐标、纵向坐标和行走时刻,时空路径的起点的横向坐标、纵向坐标和行走时刻,分别表示r1,...,r
i
,...,r
s
机器人三维时空路径的起点之后第二点的横向坐标、纵向坐标和行走时刻,x
(1,1)
,...,x
(i,1)
,...,x
(s,1)
、y
(1,1)
,...,y
(i,1)
,...,y
(s,1)
、t
(1,1)
,...,t
(i,1)
,...,t
(s,1)
分别表示r1,...,r
i
,...,r
s
三维时空路径的起点到第二点之间任一点的横向坐标、纵向坐标和行走时刻,分别表示r1,...,r
i
,...,r
s
机器人三维时空路径的任一点的横向坐标、纵向坐标和行走时刻,点的横向坐标、纵向坐标和行走时刻,分别表示r1,...,r
i
,...,r
s
三维时空路径的对应的任一点之前一点的横向坐标、纵向坐标和行走时刻,x
(1,o

1)
,...,x
(i,p

1)
,...,x
(s,q

1)
、y
(1,o

1)
,...,y
(i,p

1)
,...,y
(s,q

1)
、t
(1,o

1)
,...,t
(i,p

1)
,...,t
(s,q

1)
分别表示r1,...,r
i
,...,r
s
三维时空路径的对应的任一点到该点之前一点之间任一点的横向坐标、纵向坐标和行走时刻,分别表示r1,...,r
i
,...,r
s
机器人三维时空路径的终点的横向坐标、纵向坐标和行走时刻,分别表示r1,...,r
i
,...,r
s
机器人三维时空路径的终点之前一点的横向坐标、纵向坐标和行走时刻,x
(1,u

1)
,...,x
(i,v

1)
,...,x
(s,w

1)
、y
(1,u

1)
,...,y
(i,p

1)
,...,y
(s,w

1)
、t
(1,u

1)
,...,t
(i,v

1)
,...,t
(s,w

1)
分别表示r1,...,r
i
,...,r
s
机器人三维时空路径的终点之前一点到终点之间任一点
的横向坐标、纵向坐标和行走时刻。
[0061]
进一步的,当检测任一机器人是否发生碰撞时,其他所有机器人均作为动态障碍物。
[0062]
以机器人r1和机器人r2为例,当检测机器人r1是否发生碰撞时,将机器人r2作为动态障碍物,当检测机器人r2是否发生碰撞时,将机器人r1作为动态障碍物。
[0063]
进一步的,由机器人的三维时空路径计算机器人之间的距离。
[0064]
由上式中的可知:
[0065]
所述机器人r
i
在行走时刻的横向坐标x
(i,p

1)
为:
[0066][0067]
与所述机器人r
i
的横向坐标x
(i,p

1)
对应的纵向坐标y
(i,p

1)
为:
[0068][0069]
对应的,另一机器人r
j
行走时刻的横向坐标x
(j,f

1)
表示为:
[0070][0071]
式中,x
(j,f

1)
表示所述机器人r
j
三维时空路径的f点到f

1点之间任一点的横向坐标,r
j
表示多个所述机器人中不同与所述机器人r
i
的另一机器人,表示所述机器人r
j
三维时空路径的f点的横向坐标,f为正整数,表示所述机器人r
j
的二维行走路径中的任一坐标点;表示所述机器人r
j
三维时空路径的f

1点的横向坐标,表示所述机器人r
j
在f点的行走时刻,表示所述机器人r
j
在f

1点的行走时刻;与所述机器人r
j
的横向坐标x
(j,f

1)
对应的纵向坐标y
(j,f

1)
为:
[0072][0073]
式中,y
(j,f

1)
表示所述机器人r
j
三维时空路径的f点到f

1点之间任一点的纵向坐标,r
j
表示多个所述机器人中区别与所述机器人r
i
的另一机器人,表示所述机器人r
j
三维时空路径的f点的纵向坐标,f为正整数,表示所述机器人r
j
的二维行走路径中的任一坐标点;表示所述机器人r
j
三维时空路径的f

1点的纵向坐标,表示所述机器人r
j
在f点的行走时刻,表示所述机器人r
j
在f

1点的行走时刻;可得所述机器人r
i
和所述机器人r
j
之间的距离d
(i,j)
为:
[0074][0075]
由所述机器人r
i
和所述机器人r
j
之间的距离判断该所述机器人之间是否发生碰撞;若d
(i,j)
>2r+d,所述机器人r
i
和所述机器人r
j
不发生碰撞;若d
(i,j)
<2r+d,所述机器人r
i
和所述机器人r
j
发生碰撞;式中,r表示所述机器人r
i
和所述机器人r
j
的半径,d表示安全距离。
[0076]
优选的,以机器人r1和机器人r2为例,
[0077]
由可知,
[0078]
机器人r1的横向坐标为:
[0079][0080]
机器人r1的纵向坐标为:
[0081][0082]
机器人r2的横向坐标为:
[0083][0084]
机器人r2的纵向坐标为:
[0085][0086]
由此可知,机器人r1和机器人r2之间的实际距离d
(1,2)
即为:
[0087][0088]
当d
(1,2)
>2r+d时,r为机器人的半径,d为安全距离。表明机器人r1和机器人r2不发生碰撞。
[0089]
当d
(1,2)
<2r+d时,表明机器人r1和机器人r2发生碰撞。
[0090]
同理,使用同样的方法可以检测其他机器人之间是否发生碰撞。
[0091]
进一步的,预设更新时间点,在更新时间点时更新三维时空路径,由最新一次更新的三维时空路径检测是否发生碰撞。
[0092]
优选的,更新时间点预设为1秒,即每隔1秒更新三维时空路径,根据更新的三维时空路径检测是否发生碰撞。
[0093]
进一步的,由行走时刻和二维行走路径的坐标轴构建三维时空坐标轴,三维时空坐标轴的横向坐标轴对应为二维行走路径的二维坐标轴的横向坐标轴,三维时空坐标轴的纵向坐标轴对应二维行走路径坐标轴的纵向坐标轴,三维时空坐标轴的竖向坐标轴为行走时刻轴。
[0094]
优选的,结合图2所示,图中的x方向为三维时空坐标轴的横向坐标轴,图中的y方向为三维时空坐标轴的纵向坐标轴,图中的t方向为三维时空坐标轴的竖向坐标轴,即行走
时刻。
[0095]
进一步的,当机器人发生碰撞时,在三维时空坐标轴中显示出来,在三维时空坐标轴中,不同的机器人具有不同的三维时空路径,一机器人的三维时空路径与另一机器人的三维时空路径相交的交点即为该机器人与另一机器人的碰撞点。
[0096]
以4个机器人,每个机器人均有5个三维时空坐标为例,如图2中所示,图2中的点分别表示不同机器人的不同的三维时空坐标,在次不在累述。机器人r1的三维时空路径与机器人r2的三维时空路径,机器人r4的三维时空路径均有一个交点。机器人r1的三维时空路径与机器人r2的三维时空路径的交点为碰撞点记为p12,机器人r1的三维时空路径与机器人r4的三维时空路径的交点为碰撞点记为p14。机器人r1以速度v1行进,机器人r2以速度v2行进时,在碰撞点p12时,机器人r1与机器人r2碰撞。由图2可以清楚的获知:与机器人r1碰撞的机器人有机器人r2和机器人r4,与机器人r2碰撞的机器人还有机器人r3,与机器人r3碰撞的机器人还有机器人r4。机器人r2与机器人r3的碰撞点记为p23,机器人r3与机器人r4的碰撞点记为p34。由此即可直观的观测到机器人之间的碰撞点。
[0097]
当检测到机器人将要发生碰撞时,在碰撞点之前的安全时间前通过路径调整算法调整机器人的行走速度。
[0098]
优选的,安全时间为2秒,即在碰撞点的前2秒时,通过路径调整算法调整机器人的行走速度,使该机器人变道避免碰撞。
[0099]
进一步的,设定机器人的观测范围,当动态障碍物进入到该机器人的观测范围内,机器人通过路径调整算法调整行走速度,规避动态障碍物。
[0100]
优选的,设定机器人的观测范围为以2r+2d为半径的圆,r为机器人的半径,d为安全距离。
[0101]
进一步的,在避障时,获取机器人的观测值和环境状态值,根据观测值通过路径调整算法输出动作值,根据动作值调整机器人的行走速度,并获得该行走速度的奖励值,由观测值、环境状态值、动作值和奖励值输入到路径调整算法进行优化行走速度。
[0102]
优选的,观测值o
t
为:
[0103][0104]
式中:表示机器人r
i
在t行走时刻的位置,运动速度和速度方向;表示观测范围内除机器人i的其他机器人的位置,运动速度和速度方向。
[0105]
进一步的,设定环境状态值,环境状态值为所有机器人的观测值。
[0106]
优选的,环境状态值s
t
表示为:
[0107][0108]
式中:表示所有机器人s在t行走时刻的观测值的总值。
[0109]
进一步的,动作值包括标准值、加速度值和角速度值。
[0110]
优选的,动作值a
t
为:
[0111][0112]
式中:为机器人r
i
在t行走时刻执行的动作信息,包括有(w,ω,a),其中,w表示标准值,ω表示角速度值,a表示加速度值。
[0113]
优选的,标准值的取值为:0或1。
[0114]
优选的,角速度值的取值范围为:

1.5rand/s~1.5rand/s。
[0115]
优选的,加速度值的取值范围为:

5m/s2~5m/s2。
[0116]
进一步的,奖励值包括有距离差奖励值、目标距离奖励值、障碍数奖励值、碰撞奖励值、到达目的地奖励值。
[0117]
进一步的,根据三维时空路径可知任一行走时刻的机器人与动态障碍物之间的距离,获取该行走时刻机器人与动态障碍物的之间的距离,作为当前距离,获取该行走时刻的下一行走时刻机器人与动态障碍物的之间的距离,作为下一距离,当前距离与下一距离的差值为距离差,预设距离差的距离差门限值,由距离差门限值确定距离差奖励值。
[0118]
进一步的,距离差大于零时,距离差的值大于或等于距离差门限值的上限值时,距离差奖励值为距离差门限值的上限值;距离差的值大于距离差门限值的下限值时小于距离差门限值的上限值时,距离差奖励值为距离差;距离差的值小于或等于距离差门限值的下限值时,距离差奖励值为距离差门限值的下限值。
[0119]
距离差奖励值可以表示为:
[0120][0121]
式中,rvj表示距离差奖励值,表示机器人r
i
和机器人r
j
在t行走时刻之间的距离,i和j均包含在上文中的机器人数量s内。表示表示机器人r
i
和机器人r
j
在t+1行走时刻之间的距离;表示机器人r
i
和机器人r
j
的距离差,h表示距离差门限值的上限值,h表示距离差门限值的下限值,距离差门限值为[h,h]。
[0122]
当时,距离差大于或等于h时,距离差奖励值为h;距离差大于h小于h时,距离差奖励值为距离差小于或等于h时,距离差奖励值为h。
[0123]
进一步的,距离差小于零时,距离差的值大于或等于负的距离差门限值的下限值时,距离差奖励值为负的距离差门限值的下限值;距离差的值大于负的距离差门限值的上限值小于负的距离差门限值的下限值时,距离差奖励值为距离差;距离差的值小于或等于负的距离差门限值的上限值时,距离差奖励值为负的距离差门限值的上限值。
[0124]
距离差奖励值可以表示为:
[0125][0126]
式中,rvj表示距离差奖励值,表示机器人r
i
和机器人r
j
在t行走时刻之间的距离,i和j均包含在上文中的机器人数量s内。表示表示机器人r
i
和机器人r
j
在t+1行走时刻之间的距离;表示机器人r
i
和机器人r
j
的距离差,h表示距离差门限值的上限值,h
表示距离差门限值的下限值,距离差门限值为[h,h]。
[0127]
当时,距离差大于或等于

h时,距离差奖励值设为

h;距离差大于

h小于

h时,距离差奖励值为距离差小于或等于

h时,距离差奖励值为

h。
[0128]
进一步的,根据三维时空路径可知任一行走时刻的机器人与目标点之间的距离,获取该行走时刻机器人与目标点之间的距离,作为目标距离,获取该行走时刻的下一行走时刻机器人与目标点的距离,作为目标下一距离,目标距离与目标下一距离的差值为目标距离差,预设目标距离差的目标门限值,由目标门限值确定目标距离奖励值。
[0129]
进一步的,目标距离差大于零时,目标距离差的值大于或等于目标门限值的上限值时,目标距离奖励值为目标门限值的上限值;目标距离差的值大于目标门限值的下限值时小于目标门限值的上限值时,目标距离奖励值为目标距离差;目标距离差的值小于或等于目标门限值的下限值时,目标距离奖励值为目标门限值的下限值。
[0130]
目标距离奖励值可以表示为:
[0131][0132]
式中,rvm表示目标距离奖励值,表示机器人r
i
和目标点e在t行走时刻之间的距离,表示表示机器人i和目标点e在t+1行走时刻之间的距离;表示机器人r
i
和目标点e的目标距离差,l表示目标门限值的上限值,l表示目标门限值的下限值,目标门限值为[l,l]。
[0133]
当时,目标距离差大于或等于l时,目标距离奖励值为l;目标距离差大于l小于l时,目标距离奖励值为目标距离差小于或等于l时,目标距离奖励值为l。
[0134]
进一步的,目标距离差小于零时,目标距离差的值大于或等于负的目标门限值的下限值时,目标距离奖励值为负的目标门限值的下限值;目标距离差的值大于负的目标门限值的上限值小于负的目标门限值的下限值时,目标距离奖励值为目标距离差;目标距离差的值小于或等于负的目标门限值的上限值时,目标距离奖励值为负的目标门限值的上限值。
[0135]
目标距离奖励值可以表示为:
[0136][0137]
式中,rvm表示目标距离奖励值,表示机器人r
i
和目标点e在t行走时刻之间的距离,表示表示机器人r
i
和目标点e在t+1行走时刻之间的距离;表示机器人i和目标点e的目标距离差,l表示目标门限值的上限值,l表示目标门限值的下限值,目标门限值为[l,l]。
[0138]
当时,目标距离差大于或等于

l时,目标距离奖励值为

l;目标距离差大于

l小于

l时,目标距离奖励值为目标距离差小于或等于

l时,目标距离奖励值为

l。
[0139]
进一步的,障碍数奖励值为障碍数增减值的倍数。
[0140]
优选的,障碍物增减值的倍数为10倍。
[0141]
障碍数奖励值可以表示为:
[0142]
rvz=rvz'+u*10
[0143][0144]
式中:rvz表示障碍数奖励值,u表示表示在第i个机器的可观测范围内减少或增减的障碍数,即障碍数增减值,表示在t行走时刻第i个机器人可观测范围内的机器人数,表示在t+1行走时刻第i个机器人可观测范围内的机器人数。
[0145]
进一步的,碰撞奖励值为预设的碰撞数值。
[0146]
优选的,预设碰撞数值为100。
[0147]
碰撞奖励值可以表示为:
[0148]
rvp=

100
[0149]
式中:rvp为碰撞奖励值。
[0150]
进一步的,到达目的地奖励值为预设目的地数值。
[0151]
优选的,预设目的地数值为100。
[0152]
到达目的地奖励值可以表示为:
[0153]
rvd=100
[0154]
式中:rvd为到达目的地奖励值。
[0155]
进一步的,奖励值为距离差奖励值、目标距离奖励值、障碍数奖励值、碰撞奖励值、到达目的地奖励值中的一个或多个的累加。
[0156]
结合上述内容,奖励值rv
t
可以表示为:
[0157]
rv
t
=rvj+rvm+rvz+rvp+rvd。
[0158]
将观测值、环境状态值、动作值以及奖励值输入到路径调整算法中,通过路径调整算法调整行走速度。
[0159]
进一步的,路径调整算法包括有ddpg算法、maddpg算法,优选maddpg算法。
[0160]
进一步的,路径调整算法包括有策略网络和评估网络,策略网络包括有策略评价网络和策略目标网络,评估网络包括有评估评价网络和评估目标网络。
[0161]
进一步的,将机器人的观测值输入到路径调整算法中,输出机器人的行走速度,即当前行走时刻当前状态的所执行的动作值。机器人执行完动作后,环境的状态发生变化,获得下一行走时刻的环境状态值,和下一行走时刻的观测值,同时根据路径调整算法的奖励机制获得奖励值。将环境的环境状态值、动作值、奖励值和下一行走时刻的环境状态值存储在经验池中,路径调整算法根据环境的状态值、动作值、奖励值和下一行走时刻的环境状态值更新路径调整算法。
[0162]
优选的,由上述可知,观测值为o
t
,动作值为a
t
,环境状态值为s
t
,奖励值为rv
t

[0163]
将观测值o
t
输入到策略评价网络,由策略评价网络输出执行动作a
t
,将执行动作a
t
输入到机器人,获取奖励值rv
t

[0164]
将{s
t
,a
t
,rv
t
,s
t+1
}添加到经验池中。s
t
,a
t
输入到评估评价网络中,输出当前的q值。
[0165]
机器人执行动作a
t
后获得下一行走时刻的环境状态值s
t+1
,同时可获得机器人下一行走时刻的观测值o
t+1
,o
t+1
输入到策略目标网络中输出a
t+1
。s
t+1
,a
t+1
输入到评估目标网络中,输出q'。
[0166]
利用评估评价网络输出的q值,在路径调整算法中,进行对策略评价网络进行策略梯度更新。评价网络更新后每隔一定的步数将更新的参数值复制给策略目标网络使策略目标网络更新。
[0167]
利用评估评价网络输出的q值和评估目标网络输出的q'值,计算路径调整算法中的loss函数。使用loss函数更新评估评价网络。评估评价网络更新后每隔一定的步数评估目标网络将更新的参数值复制给评估目标网络使评估目标网络更新。
[0168]
从而通过更新后的路径调整算法进行调整机器人的行走速度,从而规避动态障碍物。
[0169]
由此可见,本发明公开了一种基于多智能体的时空路径规划方法。该方法通过规划机器人的二维行走路径,避开静态障碍物,赋予机器人行走速度,获取机器人的行走时刻,由行走时刻和二维行走路径构建机器人的三维时空路径,由三维时空路径直观的判断机器人是否发生碰撞,检测到发生碰撞后,设定安全时间,在安全时间前通过路径调整算法调整机器人的行走速度,从而规避动态障碍物。本发明具有路径规划速度快,碰撞点便于观察,避障路径规划效率高的优点。
[0170]
以上仅为本发明的实施例,并非因此限值本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1