基于溶解势场的多智能体子目标划分路径规划方法及系统
技术领域
本公开属于路径规划领域,尤其涉及一种基于溶解势场的多智能体子目标划分路径规划方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
目前,智能体的建模与仿真对很多应用至关重要,例如对大型基础设施的监视、军事应用等等。但是,在很多应用中,比如说保护关键基础设施和资源(CKIR)的监视,没有足够大的系统来处理整个CKIR系统,所以需要把大型环境的智能体监视简化为较小区域的分布式智能体环境区域,也就是多智能体的应用。与单智能体相比,多智能体系统具有更好的并行性、健壮性、容错性和可扩展性。因此,对多智能体的建模和仿真也变得尤为重要。
多智能体系统是当前分布式人工智能所研究的一个热点问题,而路径规划问题就是多智能体系统研究的核心问题。目前,多智能体的路径规划方法可以划分为两大种:全局路径规划和局部路径规划,全局路径规划可以快速有效的获取全局最优解,但是,全局路径规划对信息的获取和通信瓶颈问题使得它不容易应用于动态复杂的环境。而且在应用中,基于强化学习的多智能体路径规划问题仍然是一个具有挑战性的问题,尤其是在动态时变的环境下。在动态时变环境中,智能体和障碍物都在随机移动,智能体的环境随着时间的变化而变化,在过去某个时间状态中学习的智能体可能在当前的时间状态下变得过时且不可用,这对智能体的最优路径规划带来挑战。在动态时变环境下,我们期望智能体在具有智能来避免与其他智能体和移动障碍物碰撞的同时,还能以最短的时间的运行量达到最短路径规划的目的。因此,具有实时环境信息获取能力的局部路径规划展现出较大的优势,例如人工势场法、遗传算法、神经网络、模糊逻辑等等。
发明人发现,很多研究人员采用互补混合策略的方法,例如:基于模糊逻辑的行为融合路径和规划算法、基于遗传算法和粒子群优化算法的AUV全局路径规划思想、将Hopfield神经网络应用于路径距离优化都能有效地解决部分问题,但是都尚有不足之处,仍然存在着收敛速度慢、计算量比较大、样本难以获取等问题。
发明内容
为了解决上述问题,本公开的第一个方面提供一种基于溶解势场的多智能体子目标划分路径规划方法,其与强化学习相结合,提高对最短路径的收敛效率,减少步骤,从而实现对最短路径的规划。
为了实现上述目的,本公开采用如下技术方案:
一种基于溶解势场的多智能体子目标划分路径规划方法,包括:
接收场景数据及目标路径规划任务,建立时变环境下基于势场的多智能体路径规划模型;
将目标路径规划任务划分为多个子任务,并分配给相应智能体,使得这些智能体同时进行各自不同的任务;
每个智能体在初始随机遍历时,先以所设置的相应第一子目标为目标,建立溶解势场并学习到达相应第一子目标的最短路径规划;
每个智能体学习到达相应第一子目标的最短路径后,将学习到的环境信息和知识储存到下一个阶段,并以相应第一子目标为初始位置,使用溶解势场开始寻找下一个子目标;
各个智能体学习完到达所有子目标的最短路径,从而学习到到达各自目标的最短路径,再通过网络共享所需要的信息,最后学习到智能体到达全局目标的最短路径。
为了解决上述问题,本公开的第二个方面提供一种基于溶解势场的多智能体子目标划分路径规划系统,其与强化学习相结合,提高对最短路径的收敛效率,减少步骤,从而实现对最短路径的规划。
为了实现上述目的,本公开采用如下技术方案:
一种基于溶解势场的多智能体子目标划分路径规划系统,包括:
多智能体路径规划模型建立模块,其用于接收场景数据及目标路径规划任务,建立时变环境下基于势场的多智能体路径规划模型;
目标路径规划任务划分模块,其用于将目标路径规划任务划分为多个子任务,并分配给相应智能体,使得这些智能体同时进行各自不同的任务;
第一子目标最短路径学习模块,其用于每个智能体在初始随机遍历时,先以所设置的相应第一子目标为目标,建立溶解势场,学习到达相应第一子目标的最短路径规划;
剩余子目标最短路径学习模块,其用于每个智能体学习到达相应第一子目标的最短路径后,将学习到的环境信息和知识储存到下一个阶段,并以相应第一子目标为初始位置,使用溶解势场开始寻找下一个子目标;
全局目标最短路径学习模块,其用于各个智能体学习完到达所有子目标的最短路径,从而学习到到达各自目标的最短路径,再通过网络共享所需要的信息,最后学习到智能体到达全局目标的最短路径。
为了解决上述问题,本公开的第三个方面提供一种计算机可读存储介质,其与强化学习相结合,提高对最短路径的收敛效率,减少步骤,从而实现对最短路径的规划。
为了实现上述目的,本公开采用如下技术方案:
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于溶解势场的多智能体子目标划分路径规划方法中的步骤。
为了解决上述问题,本公开的第三个方面提供一种计算机设备,其与强化学习相结合,提高对最短路径的收敛效率,减少步骤,从而实现对最短路径的规划。
为了实现上述目的,本公开采用如下技术方案:
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于溶解势场的多智能体子目标划分路径规划方法中的步骤。
本公开的有益效果是:
本公开在分布式网络计算系统下,利用学习奖励机制,引入子目标,可以有效地减少收敛到最短路径的步骤;智能体通过分布式学习奖励机制寻找子目标,一旦分布式智能体到达第一个子目标,并且得到到达第一个子目标的最短路径,它便会以第一个子目标为初始源,根据目前所收集到的关于环境的信息,从一个伪随机遍历开始,寻找下一个目标的最短路径;在使用子目标的前提下,套嵌入溶解势场的路径规划的目的,相对于普通的路径规划,子目标的使用可以大大提高最短路径的收敛速度,而溶解势场的引入,更是能较好地解决移动障碍物带来的问题,从而达到对最短路径规划的优化问题。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1是本公开实施例提供的一种基于溶解势场的多智能体子目标划分路径规划方法流程图。
图2是本公开实施例提供的划分子目标流程图。
图3是本公开实施例提供的子目标下的溶解势场流程图。
图4是本公开实施例提供的强化学习组成图。
图5是本公开实施例提供的一种基于溶解势场的多智能体子目标划分路径规划系统结构示意图。
具体实施方式
下面结合附图与实施例对本公开作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
图1是本公开实施例提供的一种基于溶解势场的多智能体子目标划分路径规划方法流程图。
如图1所示,本实施例的一种基于溶解势场的多智能体子目标划分路径规划方法,包括:
S101:接收场景数据及目标路径规划任务,建立时变环境下基于势场的多智能体路径规划模型。
在具体实施中,所述多智能体路径规划模型包括但不限于初始点、目标点、静止障碍物和移动障碍物。
S102:将目标路径规划任务划分为多个子任务,并分配给相应智能体,使得这些智能体同时进行各自不同的任务。
如图2所示,为了更好地完成大场景的复杂目标路径规划任务,将目标任务划分为多个任务,并分配给多个智能体。
S103:每个智能体在初始随机遍历时,先以所设置的相应第一子目标为目标,建立溶解势场并学习到达相应第一子目标的最短路径规划。
在具体实施中,在每个智能体在初始随机遍历时,建立溶解势场并学习到达相应第一子目标的最短路径规划的过程为:
每个智能体开始初始位置的随机遍历,构建策略函数,使得每个智能体向东、西、南、北四个方向中势场值最低的一个方向各移动一步;其中,势场值由评估函数求取,评估函数等于第一子目标产生的吸引电位、移动障碍物所引起的反应势场、遍历状态以及每个智能体基于折扣奖励强化学习的给出到达目标点路径的奖励之和;
在当前时刻,如果智能体没有检测到移动的障碍物,那么智能体会继续进行下一步移动;如果智能体检测到移动障碍物的存在,就会给该障碍物的势场值增加至一个移动障碍物所引起的反应势场,增加势场的障碍物的势场值随着时间慢慢减少直至预设时间间隔后某一时刻恢复至它的初始势场值。
由于这些智能体同时运行且运行模式相似,下面以智能体1为例来说明:
引入子目标,智能体1在初始随机遍历时,先以所设置的子目标1为目标,学习到达子目标1的最短路径规划;
在智能体1寻找子目标1的过程中,可能会遇上移动障碍物,而且,当前障碍物所在位置可能会成为最短路径上的点,所以此时建立溶解势场。如图3所示,智能体1开始初始位置的随机遍历,向东、西、南、北四个方向中势场值最低的一个方向移动一步,这里,用N(x,y)代表智能体的下一步动作,用f(x,y)代表评估函数,x,y分别表示在当前坐标系中的横纵坐标值;
N(x,y)如公式(1)所示:
N(x,y)=min{f(x+1,y),f(x,y+1),f(x-1,y),f(x,y-1)} (1)
由于在势场模型中,低势场值的方向对智能体具有吸引力。在当前时间T1时刻,如果智能体没有检测到移动的障碍物,那么智能体会继续进行下一步移动;如果智能体检测到移动障碍物的存在,就会给该障碍物的势场值增加至O(x,y),该势场值会随着时间慢慢减少直至T2时刻恢复至它的初试势场值。在这个时间段内,可以将势场划分为单位时间间隔的O(x,y)/(T2-T1)个部分。所以T1时刻势场值是O(x,y),单位时间间隔之后,势场减小到O(x,y)-O(x,y)/(T2-T1)。以此类推,在经过(T2-T1)次迭代之后,该状态的势场值溶解至其初始值。而在T1到T2的时间段内,智能体有足够的时间来躲避这个移动障碍物。这样不仅不会因为等待移动障碍物通过耽误时间,而且还会解决该状态在T2时刻可能会变成最短路径上的点的问题。无论有没有检测到移动障碍物,在进行下一步之前,势场模型还会给当前状态增加一个固定的势场值,增加智能体对它的抗拒性,用来标记该状态已经被遍历过,防止再次经过。重复上述过程一直到到达子目标1。
强化学习在本过程中的应用主要表现在它的三个重要组成部分:策略、奖励函数和评估函数,如图4所示。策略决定着智能体在任何时间的决策和行为,是从观察到的状态到决定策略的操作的映射。
当发生下面情况的时候,策略还会根据评估函数进行更新:
a.运行结束的时候;
b.与障碍物碰撞的时候;
c.又遍历到已遍历过的位置的时候。
奖励函数是智能体学习和探索未知环境的指导机制,它是状态和动作到奖励的映射。评估函数实现为:
f(x,y)=T(x,y)+O(x,y)+V(x,y)+R(x,y) (2)
其中T(x,y)和O(x,y)是根据构建的势场函数计算而得。T(x,y)是目标在第一次运行结束时更新,在随后的运行中不修改,产生的吸引电位;O(x,y)是移动障碍物所引起的反应势场;V(x,y)只为遍历状态函数,其会在已经遍历过的状态的时候才会更新。R(x,y)是智能体基于折扣奖励强化学习的给出到达目标点路径的奖励。
S104:每个智能体学习到达相应第一子目标的最短路径后,将学习到的环境信息和知识储存到下一个阶段,并以相应第一子目标为初始位置,使用溶解势场开始寻找下一个子目标。
其中,强化学习是本发明中所使用的比较基础的部分,它是一种经典的机器学习的方法。智能体在移动时并不会被告知采取什么动作,而是通过尝试来寻找产生的回报最大的动作。在学习最短路径的过程中,智能体在环境中随机遍历,并存储它在路径数组中执行的所有的步骤,当智能体发现目标以后,路径上的点都会根据该点与目标之间的距离获得不同的奖励。但是,当多个智能体同时学习时,智能体获得奖励还与其他智能体的行为有关。随着智能体的学习,它获得的奖励会变得越来越不平稳,从而使多智能体在环境中的学习变得很困难,所以,需要添加势场来帮助智能体收敛到最短路径。
在复杂的分布式多智能体强化问题中,智能体的初始随机路径是相对来说不收敛的。所以,在分布式网络计算系统下,利用学习奖励机制,引入子目标,可以有效地减少收敛到最短路径的步骤。智能体通过分布式学习奖励机制寻找子目标,一旦分布式智能体到达第一个子目标,并且得到到达第一个子目标的最短路径,它便会以第一个子目标为初始源,根据目前所收集到的关于环境的信息,从一个伪随机遍历开始,寻找下一个目标的最短路径。而且,当智能体找到第一个子目标的时候,会将已经学习到的关于环境的信息和知识存储到下一个阶段,以便寻找下一个目标。多智能体同时运行,收集所需信息,并且通过网络共享所需要的信息,但是,在智能体之间信息共享过程中,并不知道彼此的运行节点。
在势场模型中,智能体最初维护一个空的映射,并将该映射作为智能体的全局模型,并在运行过程中填充和更新该模型。无论什么时候,智能体都是向东、南、西、北四个方向之一移动一个步骤,而选择的方向就是四个选择中的势场最低值。这是由于智能体在势场模型中会趋向于势场值低的目标,避免势场值高的目标。所以势场模型所使用的策略会使障碍物的势场值高于周围的状态,从而使障碍物不具有吸引力,同样,使目标附近的状态具有吸引力。同时,当智能体移动到某个状态的时候,还会为改状态增加某个固定的势场值,从而使之后的阶段避免再次遇上这个状态。
智能体在学习的过程中探索性的向着目标进行强化实验,但是,当一个智能体在其路径上遇上一个移动的障碍物的时候,该智能体就会停止,一直到移动障碍物通过以后再进行下一步探索,这必然会或多或少增加所消耗的时间,同时,在时变环境下,自始自终地保持某一时刻下检测到障碍物的状态势场值是没有意义的,因为障碍物是移动的,而且该点还有可能出在理想的路径上。因此,在使用子目标的前提下,引入溶解势场。溶解势场是针对移动障碍物而提出的随着时间推移而减少或消失的障碍势场,它在指定的时间间隔之后便会最终消失。
S105:各个智能体学习完到达所有子目标的最短路径,从而学习到到达各自目标的最短路径,再通过网络共享所需要的信息,最后学习到智能体到达全局目标的最短路径。
本实施例在分布式网络计算系统下,利用学习奖励机制,引入子目标,可以有效地减少收敛到最短路径的步骤;智能体通过分布式学习奖励机制寻找子目标,一旦分布式智能体到达第一个子目标,并且得到到达第一个子目标的最短路径,它便会以第一个子目标为初始源,根据目前所收集到的关于环境的信息,从一个伪随机遍历开始,寻找下一个目标的最短路径;在使用子目标的前提下,套嵌入溶解势场的路径规划的目的,相对于普通的路径规划,子目标的使用可以大大提高最短路径的收敛速度,而溶解势场的引入,更是能较好地解决移动障碍物带来的问题,从而达到对最短路径规划的优化问题。
实施例二
如图5所示,本实施例的一种基于溶解势场的多智能体子目标划分路径规划系统,包括:
(1)多智能体路径规划模型建立模块,其用于接收场景数据及目标路径规划任务,建立时变环境下基于势场的多智能体路径规划模型;
在所述多智能体路径规划模型建立模块中,所述多智能体路径规划模型包括初始点、目标点、静止障碍物和移动障碍物。
(2)目标路径规划任务划分模块,其用于将目标路径规划任务划分为多个子任务,并分配给相应智能体,使得这些智能体同时进行各自不同的任务;
(3)第一子目标最短路径学习模块,其用于每个智能体在初始随机遍历时,先以所设置的相应第一子目标为目标,建立溶解势场,学习到达相应第一子目标的最短路径规划;
所述第一子目标最短路径学习模块,包括:
策略函数构建模块,其用于每个智能体开始初始位置的随机遍历,构建策略函数,使得每个智能体向东、西、南、北四个方向中势场值最低的一个方向各移动一步;其中,势场值由评估函数求取,评估函数等于第一子目标产生的吸引电位、移动障碍物所引起的反应势场、遍历状态以及每个智能体基于折扣奖励强化学习的给出到达目标点路径的奖励之和;
溶解势场构建模块,其用于在当前时刻,如果智能体没有检测到移动的障碍物,那么智能体会继续进行下一步移动;如果智能体检测到移动障碍物的存在,就会给该障碍物的势场值增加至一个移动障碍物所引起的反应势场,增加势场的障碍物的势场值随着时间慢慢减少直至预设时间间隔后某一时刻恢复至它的初始势场值。
当遇到下列任一种情况时,策略函数根据评估函数进行更新:
a.运行结束的时候;
b.与障碍物碰撞的时候;
c.又遍历到已遍历过的位置的时候。
(4)剩余子目标最短路径学习模块,其用于每个智能体学习到达相应第一子目标的最短路径后,将学习到的环境信息和知识储存到下一个阶段,并以相应第一子目标为初始位置,使用溶解势场开始寻找下一个子目标;
(5)全局目标最短路径学习模块,其用于各个智能体学习完到达所有子目标的最短路径,从而学习到到达各自目标的最短路径,再通过网络共享所需要的信息,最后学习到智能体到达全局目标的最短路径。
本实施例在分布式网络计算系统下,利用学习奖励机制,引入子目标,可以有效地减少收敛到最短路径的步骤;智能体通过分布式学习奖励机制寻找子目标,一旦分布式智能体到达第一个子目标,并且得到到达第一个子目标的最短路径,它便会以第一个子目标为初始源,根据目前所收集到的关于环境的信息,从一个伪随机遍历开始,寻找下一个目标的最短路径;在使用子目标的前提下,套嵌入溶解势场的路径规划的目的,相对于普通的路径规划,子目标的使用可以大大提高最短路径的收敛速度,而溶解势场的引入,更是能较好地解决移动障碍物带来的问题,从而达到对最短路径规划的优化问题。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图1所示的基于溶解势场的多智能体子目标划分路径规划方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如图1所示的基于溶解势场的多智能体子目标划分路径规划方法中的步骤。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。