技术领域
[0001] 本公开涉及计算机技术领域,具体而言,涉及一种路径规划方法、路径规划装置、电子设备以及计算机可读存储介质。
相关背景技术
[0002] 路径规划在众多领域中都有广泛应用,如日常生活中的导航系统、公共轨道规划导航、机器人的自主行动以及多式联运的运输方案规划等等。凡是可以抽象为拓扑网络结构的问题,均可采用路径规划方法解决,除拓扑网络结构外,部分路径规划算法还可应用于栅格地图的最短路求解。
[0003] 传统路径规划方法均依赖于图的全局信息,在点、边、权这样全局信息完备的情况下,二者查找最短路径的效率较高。当前应用于路径规划方法中的一般路径规划方法强依赖于已知信息,均依赖于已知地图的情形。而对于一个未知地图或地图信息缺失的情形,传统的路径规划方法由于无法将其拓扑为网络结构或者抽象为栅格地图导致失效。
[0004] 随着机器学习的不断发展与实践,强化学习与深度学习等相关算法也可被用于最短路径求解问题当中,然而,强化学习类方法模型并不依赖已知信息,且模型的训练时间长,求解效率低下,求解准确性不高。
[0005] 需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
具体实施方式
[0035] 现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
[0036] 此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。
[0037] 附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0038] 当前应用于路径规划方法中的一般路径规划方法强依赖于已知信息,均依赖于已知地图的情形。具体的,一般路径规划方法包括传统算法,如迪杰斯特拉(Dijkstra)算法、弗洛伊德算法(Floyd,又称插点法)等;还包括模拟仿真算法,如模拟退火算法、遗传算法等,而对于一个未知地图或地图信息缺失的情形,传统的路径规划方法对于无法将其拓扑为网络结构或者抽象为栅格地图导致失效。
[0039] 随着机器学习的不断发展与实践,强化学习与深度学习等相关算法也可被用于最短路径求解问题当中,强化学习可以不强依赖于已知信息,而通过自身的学习和探索来不断采集信息来找到最短路径,适用性更为广泛。强化学习类方法通过不断的探索采集信息,更新状态,通过不断的学习与交互达到求解目的,这种具有交互反馈的方法可以实现求解黑箱问题的相对优解,然而,强化学习类模型并不依赖已知信息,且模型的训练时间长,求解效率低下,求解准确性不高。
[0040] 基于此,在本示例实施例中,首先提供了一种路径规划方法,可以利用服务器来实现本公开的路径规划方法,也可以利用终端设备来实现本公开所述的方法,其中,本公开中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如台式计算机等固定终端。图1示意性示出了根据本公开的一些实施例的路径规划方法流程的示意图。参考图1,该路径规划方法可以包括以下步骤:
[0041] 步骤S110,获取路径规划任务与初始路径信息;初始路径信息包括多个路径节点之间的初始连通信息。
[0042] 根据本公开的一些示例性实施例,路径规划任务可以是确定连接起点位置与终点位置的序列点或曲线等的规划任务。初始路径信息可以是初始状态下多个路径节点构成的路径地图信息。路径节点可以是路径地图中所包含的所有节点。初始连通信息可以是初始路径信息中包含的多个路径节点之间是否相互连通的相关信息。
[0043] 为了弥补传统路径规划算法与强化学习算法的缺陷,本实施例通过一种信息采集与路径规划相结合的方案实现对信息缺失情况下拓扑网络结构的最短路径规划。通过强化学习方法与传统路径规划方法组合的方式,求解信息不完备拓扑网络的相对最优路径,强化学习方法可实现最初的信息采集,将问题抽象为传统路径算法可求解的拓扑图或栅格地图,进而执行路径规划操作,实现对无完备全局信息的路径规划问题的高效求解。
[0044] 具体的,在信息缺失的路径规划问题中,可以先获取路径规划任务,路径规划任务中包括起始路径节点与目标路径节点。在获取到路径规划任务后,可以获取当前状态下存在的初始路径信息,初始路径信息可以包括多个路径节点之间的初始连通信息。由于本实施例是解决地图信息缺失情形下的路径规划问题,因此,初始路径信息通常不是完整的路径地图,而是缺失了部分连通信息的路径地图。
[0045] 举例而言,在实时规划路线时,对于路径的采集和传输不是高频且及时的,因此,可能出现部分路径信息更新的频率很低的情形,导致路径信息的缺失。在此情况下,可以先确定初始路径信息,在获取到初始路径信息的前提下,通过不断学习和交互,以对缺失的地图信息进行采集。
[0046] 步骤S120,基于初始连通信息,生成多个路径节点对应的初始奖励矩阵,并初始化多个路径节点对应的初始状态行为矩阵。
[0047] 根据本公开的一些示例性实施例,初始奖励矩阵可以是由多个路径节点两两之间对应的奖励值构成的矩阵;其中,两个路径节点之间的奖励值可以是根据默认奖励值与两个路径节点之间的路径长度确定的。初始状态行为矩阵可以是由多个路径节点两两之间对应的状态‑动作对的值构成的矩阵,即由Q‑值组成的矩阵,Q‑值可以是指在当前状态下采取动作所带来的价值。
[0048] 在获取到初始连通信息后,可以基于初始连通信息,生成多个路径节点对应的初始奖励矩阵。在构建初始奖励矩阵时,可以先获取所有路径节点两两之间的连通状态与路径长度。对于连通状态为连通的两个路径节点,可以基于默认奖励值与路径长度确定对应的奖励值;对于连通状态为非连通的两个路径节点,可以将奖励值配置为默认值。通过上述处理步骤,得到所有路径节点对应的初始奖励矩阵。同时,可以并初始化多个路径节点对应的初始状态行为矩阵,初始状态行为矩阵与初始奖励矩阵的阶数相同,且所有元素均为0。
[0049] 步骤S130,基于初始奖励矩阵,对初始状态行为矩阵进行状态更新处理,得到目标状态行为矩阵;目标状态行为矩阵用于生成补充路径信息。
[0050] 根据本公开的一些示例性实施例,目标状态行为矩阵可以是基于初始奖励矩阵,对初始状态行为矩阵中的Q‑值进行更新处理后得到的矩阵。补充路径信息可以是通过路径信息采集操作等获取到的初始状态下所缺失的路径信息,将补充路径信息与初始路径信息进行融合处理,可以生成完整路径地图。
[0051] 在初始化得到初始状态行为矩阵后,可以通过Q‑learning方法,并基于初始路径信息进行训练和学习,通过智能服务器与环境的交互不断获取补充路径信息。具体的,可以基于初始奖励矩阵,对初始状态行为矩阵进行状态更新处理,得到目标状态行为矩阵,目标状态行为矩阵中包含任意两个路径节点之间对应的行为转移值,即Q‑值。Q‑值表示的是(状态,动作)对的值,通俗说就是在当前状态下采取动作所带来的价值。
[0052] 在得到目标状态行为矩阵后,可以基于目标状态行为矩阵生成补充路径信息。由于目标状态行为矩阵中包含任意两个路径节点对应的行为转移值,根据行为转移值可以确定出两个路径节点之间的连通权重,因此,可以用于生成补充路径信息。
[0053] 步骤S140,根据初始路径信息与补充路径信息,构建完整路径地图,基于完整路径地图确定路径规划任务对应的目标路径。
[0054] 根据本公开的一些示例性实施例,目标路径可以是由路径规划任务中起始路径节点到目标路径节点之间的序列点或曲线构成的路径。
[0055] 在得到补充路径信息后,可以将采集到的补充路径信息结合初始路径信息,构建完整路径地图,完整路径地图可以采用拓扑路径图表示,根据采集到的补充路径信息对拓扑路径图中的距离进行定义,可以近似的将度量图中任意两点之间的“距离”。在得到完整路径地图后,可以基于完整路径地图求解出路径规划任务中,起始路径节点与目标路径节点之间的最短路径,作为目标路径。例如,在得到完整路径地图后,可以使用Dijkstra算法进行路径规划的处理操作,实现高效路径求解。
[0056] 根据本示例实施例中的路径规划方法,一方面,充分利用已有路径信息,通过学习与交互采集补充路径信息,并将其与初始路径信息结合后完成路径规划。另一方面,由于可以在地图信息缺失情形下有效路径规划问题,因此,应用场景更广泛,在一定程度上保证了缺失信息情形下路径规划的准确性。
[0057] 下面,将对本示例实施例中的路径规划方法进行进一步的说明。
[0058] 在本公开的一种示例性实施方案中,对于步骤S110,基于初始连通信息,生成多个路径节点对应的初始奖励矩阵,包括:基于初始连通信息,确定各路径节点之间的连通状态;基于连通状态,确定各路径节点之间的路径长度;获取预先配置的默认奖励值,根据默认奖励值与路径长度,生成各路径节点之间的初始奖励值;基于连通状态与初始奖励值,生成初始奖励矩阵。
[0059] 其中,连通状态可以是任意两个路径节点之间是否连通的状态。路径长度可以是两个路径节点之间的长度,例如,当路径节点1的下一个节点为路径节点2(即无中间路径节点)时,路径节点1与路径节点2之间的路径长度为1;当路径节点1与路径节点3中间还间隔2个路径节点时,路径节点1与路径节点3之间的路径长度为3。默认奖励值可以是系统默认配置的奖励值。初始奖励值可以是基于默认奖励值与两个路径节点之间的路径长度确定出的奖励值。
[0060] 参考图2,图2示意性示出了根据本公开的示例性实施方式的在信息缺失情形下确定目标路径的流程图。获取到的初始连通信息,通常是不完备信息,因此,可以将当前已知的碎片信息抽象为Q‑learning模型中的状态、行为、以及奖励,即初始路径信息中当前存在的路径节点以及各点是否相连接及部分点之间的权重信息。
[0061] 基于初始连通路径,可以确定各路径节点之间的连通状态,参考图3,图3示意性示出了根据本公开的示例性实施方式的多个路径节点的初始连通状态图。图3中,路径节点1分别与路径节点2、路径节点4和路径节点5连通。基于任意两个路径节点之间的连通状态,可以确定各路径节点之间的路径长度。例如,路径节点1到路径节点2之间的路径长度为1;路径节点1到路径节点7之间的路径长度为2;路径节点1到路径节点8之间的路径长度为3;
路径节点1到路径节点9之间的路径长度为4,等等。
[0062] 以图3为例,图3中包含9个路径节点,且为有向图,从图3中可以确定出部分点之间的路径集合{(1,2,1),(2,3,2),(6,9,1),(1,7,5)……},基于上述路径集合信息可以定义为强化学习算法Q‑learning所需的状态、行为、奖励。路径节点确定为状态;将一个路径节点跳转至另一路径节点的跳转过程确定为行为;将默认奖励值与两个路径节点之间的路径长度差值确定为奖励。对于路径节点之间奖励值的确定可以通过下述步骤进行:获取预先配置的默认奖励值,根据默认奖励值与路径长度,生成各路径节点之间的初始奖励值。
[0063] 通过上述方式,可以确定出状态(state)可以包括:1,2,3,4,5,6,7,8,9。行为(action):从一节点到另一节点,如从路径节点1到路径节点2、路径节点4和路径节点5,即a(1,2)、a(1,4)与a(1,5)。奖励(reward):已知路径信息的节点之间奖励(默认奖励值)/路径长度。例如,默认奖励值可以配置为1000,除此外相连节点奖励定义为99,不相连节点定义为0。
[0064] 在确定出两个路径节点之间的初始奖励之后,可以基于连通状态与初始奖励值,生成初始奖励矩阵reward,如图4所示,图4示意性示出了根据本公开的示例性实施方式的多个路径节点的初始奖励矩阵结果图。图4中初始奖励矩阵中的奖励值仅为举例,即仅包含部分数据。
[0065] 通过上述操作过程,可以基于初始连通信息确定出多个路径节点对应的初始奖励矩阵,以将初始奖励矩阵作为路径采集和学习的数据基础。
[0066] 在本公开的一种示例性实施方案中,对于步骤S130,基于初始奖励矩阵,对初始状态行为矩阵进行状态更新处理,得到目标状态行为矩阵,包括:获取预先配置的学习参数与训练次数;基于训练次数重复执行下述状态更新步骤,以得到目标状态行为矩阵;状态更新步骤包括:确定训练起始节点与训练目标节点,将训练起始节点作为当前状态节点,并确定当前状态节点对应的至少一当前行为跳转方案;基于至少一当前行为跳转方案执行行为跳转操作,以确定下一状态节点;基于学习参数与初始奖励矩阵,对初始状态行为矩阵进行状态更新处理,得到更新状态行为矩阵;将下一状态节点作为当前状态节点,对更新状态行为矩阵进行状态更新操作,直至当前状态节点为训练目标节点。
[0067] 其中,学习参数可以是用于确定即时奖励与长期奖励的权重系数的参数。训练次数可以是对矩阵模型进行训练学习的次数。状态更新步骤可以是基于初始奖励矩阵对初始状态行为矩阵进行状态更新的操作过程。训练起始节点可以是训练学习过程中随机确定出的起始路径节点。训练目标节点可以是训练学习过程中随机确定出的目标路径节点。当前状态节点可以是当前状态下随机确定出的某一状态节点。当前行为跳转方案可以是从一个路径节点跳转至另一路径节点的所有跳转方案。行为跳转操作可以是从一个路径节点跳转至另一路径节点的跳转操作过程。下一状态节点可以是由当前状态节点基于当前行为跳转方案执行行为跳转操作后,到达的路径节点。更新状态行为矩阵可以是对初始状态行为矩阵进行状态更新处理得到的状态行为矩阵。
[0068] 在确定出初始奖励矩阵与初始状态行为矩阵后,可以根据两者进行Q‑learning模型的模型训练过程,具体的:获取预先配置的学习参数与训练次数;基于训练次数重复执行下述状态更新步骤,以得到目标状态行为矩阵。具体的,可以将学习参数r配置为0.5,r=0.5可以表示在模型训练过程中,对于即时奖励和长期奖励进行同等考虑。对于图3中路径节点对应的初始状态行为矩阵(初始Q矩阵),初始Q矩阵可以是矩阵中所有元素均为0的九维矩阵,另外,Q(s,a)可以表示从s状态发生a行为的一种跳转方案,Q(s,a)的值可以表示从一个状态到另一个状态所能获得的总奖励的折现值。在确定出学习参数后,可以随机选取训练起始节点与训练目标节点,并重复执行n次训练过程,在每次训练过程中,对初始状态行为矩阵执行状态更新步骤,以得到最终的目标状态行为矩阵。
[0069] 状态更新步骤包括:确定训练起始节点与训练目标节点,将训练起始节点作为当前状态节点。以图3为例,可以随机选取图3中的路径节点1作为训练起始节点,即将路径节点1作为当前状态节点。进而,确定当前状态节点对应的至少一当前行为跳转方案,从图3中可以看出,路径节点1对应的下一状态节点可以包括路径节点2、路径节点4与路径节点5,即包含3种当前行为跳转方案。
[0070] 在确定出当前状态节点对应的所有当前行为跳转方案,可以基于当前行为跳转方案执行行为跳转操作,以确定出下一状态节点。例如,在执行当前行为跳转操作后,从状态节点1跳转至状态节点4。在完成行为跳转后,可以基于学习参数与初始奖励矩阵,对初始状态行为矩阵进行状态更新处理,得到更新状态行为矩阵。
[0071] 在得到更新状态行为矩阵后,将下一状态节点作为当前状态节点,并采用上述处理方式不断对状态行为矩阵进行状态更新操作,直至当前状态节点为训练目标节点。此时,当前训练过程结束,通过重复n次训练过程,最终可以得到目标状态行为矩阵,即目标Q矩阵,以利用目标Q矩阵确定补充路径信息。
[0072] 在本公开的一种示例性实施方案中,基于至少一当前行为跳转方案执行行为跳转操作,以确定下一状态节点,包括:获取预先配置的行为随机选择系数;基于行为随机选择系数,从至少一当前行为跳转方案中确定当前目标行为跳转方案;根据当前目标行为跳转方案执行行为跳转操作,得到下一状态节点。
[0073] 其中,行为随机选择系数可以是随机确定下一行为动作的概率系数。当前目标行为跳转方案可以是从一个或多个当前行为跳转方案中确定出的目标行为跳转方案。
[0074] 在确定出当前状态节点对应的所有当前行为跳转方案后,可以基于行为随机选择系数确定本次行为跳转所采用的方案,例如,可以根据v‑贪婪算法(Epsilon greedy)策略选择下一动作,将为随机选择系数epsilon设置为0.8,表示可以有20%的可能采用随机策略选择行为,防止局部最优。
[0075] 在执行行为跳转操作时,可以获取预先配置的行为随机选择系数;基于行为随机选择系数,从至少一当前行为跳转方案中确定当前目标行为跳转方案。例如,在当前状态节点为路径节点1的情况下,根据∈‑贪婪算法,在执行当前行为跳转操作后,从状态节点1跳转至状态节点4。因此,根据当前目标行为跳转方案执行行为跳转操作后,得到的下一状态节点为路径节点4。在确定出下一状态节点后,可以根据下一状态节点对应的所有可能的奖励值,对状态行为矩阵进行状态更新操作。
[0076] 在本公开的一种示例性实施方案中,基于学习参数与初始奖励矩阵,对初始状态行为矩阵进行状态更新处理,得到更新状态行为矩阵,包括:基于初始奖励矩阵,确定当前状态节点与下一状态节点之间的行为奖励值;获取下一状态节点对应的至少一下一行为跳转方案,确定每个下一行为跳转方案对应的行为转移值;根据学习参数与至少一行为转移值,确定参考行为转移值;基于行为奖励值与参考行为转移值,确定当前状态节点与下一状态节点之间的目标行为转移值;基于目标行为转移值,对初始状态行为矩阵进行状态更新处理,得到更新状态行为矩阵。
[0077] 其中,行为奖励值可以基于默认奖励值以及当前状态节点与下一状态节点的路径长度确定出的奖励值。下一行为跳转方案可以是下一状态节点进行行为跳转的所有可选方案。行为转移值可以是基于每个下一行为跳转方案执行行为跳转操作后确定的Q‑值。参考行为转移值可以是用于与行为奖励值共同确定目标行为转移值的参考值。目标行为转移值可以是从当前状态节点跳转至下一状态节点后所对应的行为转移值。
[0078] 对状态行为矩阵的状态更新操作可以通过下述步骤进行:基于初始奖励矩阵,确定当前状态节点与下一状态节点之间的行为奖励值。在获取到初始奖励矩阵后,可以直接从初始奖励矩阵中获取两者对应的行为奖励值。另外,在计算当前状态节点与下一状态节点之间的目标行为转移值时,还需要依赖下一状态节点对应的行为转移值进行。
[0079] 具体的,可以获取下一状态节点对应的至少一下一行为跳转方案,例如,当从状态节点1跳转至状态节点4后,下一状态节点即为状态节点4,此时,可以确定出状态节点4包含的所有下一行为跳转方案,例如状态节点4对应的下一行为跳转方案包含a(4,7)。基于Q‑矩阵确定每个下一行为跳转方案对应的行为转移值。在确定出下一行为跳转方案对应的行为转移值后,可以根据学习参数与获取到的行为转移值,确定参考行为转移值。参考行为转移值可以是所有行为转移值中数值最大的行为转移值。
[0080] 在确定出参考行为转移值后,可以基于行为奖励值与参考行为转移值,确定当前状态节点与下一状态节点之间的目标行为转移值。确定目标行为转移值可以通过公式1进行。
[0081] Q(s,a)=R(s,a)+γ·max(Q(s',a')) (公式1)
[0082] 其中,Q(s,a)可以表示从当前状态节点s执行当前行为a对应的行为转移值,即目标行为转移值;R(s,a)可以表示从当前状态节点s执行当前行为a对应的行为奖励值;γ可以表示学习系数;Q(s',a')可以表示从下一状态节点s’执行下一行为a’对应的行为转移值;max(Q(s',a'))可以表示参考行为转移值。
[0083] 在计算得到参考行为转移值后,可以基于目标行为转移值,对初始状态行为矩阵进行状态更新处理,得到更新状态行为矩阵。通过不断训练学习更新后,得到更新状态行为矩阵,以进行路径信息采集操作。
[0084] 在本公开的一种示例性实施方案中,对于步骤S140,根据初始路径信息与补充路径信息,构建完整路径地图,基于完整路径地图确定路径规划任务对应的目标路径,包括:根据初始路径信息与补充路径信息,生成多个路径节点对应的拓扑结构地图;获取路径规划任务对应的起始路径节点与目标路径节点;基于拓扑结构地图,将起始路径节点与目标路径节点之间的最短路径作为目标路径。
[0085] 其中,拓扑结构地图可以是以拓扑结构存在的路径地图。
[0086] 继续参考图2,在通过不断学习和采集得到补充路径信息后,可以将采集得到的补充路径信息结合不完备的初始路径信息,构建多个路径节点对应的完整路径地图,例如,完整路径地图可以是拓扑结构地图。在得到完整路径地图后,完整路径地图可以是有向加权图,包含了所有路径节点之间的连通信息,因此,可以基于完整路径地图执行路径规划操作。具体的,获取路径规划任务对应的起始路径节点与目标路径节点,对于拓扑结构地图,可以通过实施路径规划算法确定出起始路径节点与目标路径节点之间的最短路径,并将其作为目标路径。
[0087] 例如,路径规划算法可以包括Dijkstra算法、Floyd算法、A*算法(将Dijkstra算法与广度优先搜索算法二者结合而成)以及D*算法(具有反向搜索特点)等等。以Dijkstra算法为例,Dijkstra算法稳定精确,其结果一定是当前有向图中两点之间的最短路径。通过Dijkstra算法可以求解有向加权图中任意两点之间的最短路径方案。
[0088] 本领域技术人员容易理解的是,在本公开的一些其他示例性实施例中,完整路径地图还可以是栅格地图,可以根据栅格地图的地图特性执行地图构建过程,以在得到完整路径地图后确定路径执行任务对应的目标路径。本公开对栅格地图的构建过程不再进行赘述。
[0089] 在本公开的一种示例性实施方案中,根据初始路径信息与补充路径信息,生成多个路径节点对应的拓扑结构地图,包括:基于初始路径信息确定初始路径数据;对初始路径数据进行数据标准化处理,生成标准化初始路径数据;基于补充路径信息确定补充路径数据;对补充路径数据进行数据标准化处理,生成标准化补充路径数据;根据标准化初始路径数据与标准化补充路径数据,构建多个路径节点对应的拓扑结构地图。
[0090] 其中,初始路径数据可以是基于初始路径信息确定出的初始路径地图中包含的地图数据。数据标准化处理对路径数据进行归一化处理的操作过程。标准化初始路径数据可以是对初始路径数据经过标准化处理后的标准化路径数据。补充路径数据可以是从补充路径信息中确定出的缺失路径地图的相关数据。标准化补充路径数据可以是对补充路径数据经过标准化处理后的标准化路径数据。
[0091] 在得到补充路径信息后,由于补充路径信息可以是基于目标状态行为矩阵(即Q矩阵)得到的,在获取Q矩阵后,除当前已经存在的信息(有向图,部分边的权重),缺失的相连接的边可以利用Q矩阵的信息进行补充。但Q矩阵中的元素的是学习过程中是一种没有单位的度量,因此需要将Q矩阵中的元素量化为与已知的初始路径信息转换为同一数量级,与初始路径信息结合生成信息完备的拓扑结构图。
[0092] 对于获取到的初始路径信息,可以基于初始路径信息确定初始路径数据,初始路径数据通常可以包括不同路径节点之间的路径权重。对初始路径数据进行数据标准化处理,生成标准化初始路径数据。例如,可以将确定出初始路径数据后,可以从初始路径数据中确定出最大的路径权重,以最大路径权重为基准,对所有的路径权重进行归一化处理,得到标准化的路径权重数据,作为标准化初始路径数据。
[0093] 在基于补充路径信息确定出补充路径数据后,对于补充路径数据,可以采用同样的方式对补充路径数据进行数据标准化处理,生成标准化补充路径数据,将补充路径数据与初始路径数据量化为同一数量级。对于处于同一数量级的标准化初始路径数据与标准化补充路径数据,可以基于两者,构建得到多个路径节点对应的拓扑结构地图。通过上述处理步骤,可以生成完整的路径地图,从而基于完整路径地图执行路径规划操作。
[0094] 综上所述,本公开的路径规划方法,获取路径规划任务与初始路径信息;初始路径信息包括多个路径节点之间的初始连通信息;基于初始连通信息,生成多个路径节点对应的初始奖励矩阵,并初始化多个路径节点对应的初始状态行为矩阵;基于初始奖励矩阵,对初始状态行为矩阵进行状态更新处理,得到目标状态行为矩阵;目标状态行为矩阵用于生成补充路径信息;根据初始路径信息与补充路径信息,构建完整路径地图,基于完整路径地图确定路径规划任务对应的目标路径。一方面,充分利用已有路径信息,通过学习与交互采集补充路径信息,并将其与初始路径信息结合后完成路径规划。另一方面,由于可以在地图信息缺失情形下有效路径规划问题,因此,应用场景更广泛,在一定程度上保证了缺失信息情形下路径规划的准确性。
[0095] 需要说明的是,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0096] 此外,在本示例实施例中,还提供了一种路径规划装置。参考图5,该路径规划装置可以包括:任务获取模块510,初始矩阵生成模块520,目标矩阵生成模块530以及路径规划模块540。
[0097] 具体的,任务获取模块510,用于获取路径规划任务与初始路径信息;初始路径信息包括多个路径节点之间的初始连通信息;初始矩阵生成模块520,用于基于初始连通信息,生成多个路径节点对应的初始奖励矩阵,并初始化多个路径节点对应的初始状态行为矩阵;目标矩阵生成模块530,用于基于初始奖励矩阵,对初始状态行为矩阵进行状态更新处理,得到目标状态行为矩阵;目标状态行为矩阵用于生成补充路径信息;路径规划模块540,用于根据初始路径信息与补充路径信息,构建完整路径地图,基于完整路径地图确定路径规划任务对应的目标路径。
[0098] 在本公开的一种示例性实施方案中,初始矩阵生成模块520包括初始奖励矩阵生成单元,用于:基于初始连通信息,确定各路径节点之间的连通状态;基于连通状态,确定各路径节点之间的路径长度;获取预先配置的默认奖励值,根据默认奖励值与路径长度,生成各路径节点之间的初始奖励值;基于连通状态与初始奖励值,生成初始奖励矩阵。
[0099] 在本公开的一种示例性实施方案中,目标矩阵生成模块包括目标矩阵生成单元,用于:获取预先配置的学习参数与训练次数;基于训练次数重复执行下述状态更新步骤,以得到目标状态行为矩阵;状态更新步骤包括:确定训练起始节点与训练目标节点,将训练起始节点作为当前状态节点,并确定当前状态节点对应的至少一当前行为跳转方案;基于至少一当前行为跳转方案执行行为跳转操作,以确定下一状态节点;基于学习参数与初始奖励矩阵,对初始状态行为矩阵进行状态更新处理,得到更新状态行为矩阵;将下一状态节点作为当前状态节点,对更新状态行为矩阵进行状态更新操作,直至当前状态节点为训练目标节点。
[0100] 在本公开的一种示例性实施方案中,目标矩阵生成单元包括状态节点确定子单元,用于:获取预先配置的行为随机选择系数;基于行为随机选择系数,从至少一当前行为跳转方案中确定当前目标行为跳转方案;根据当前目标行为跳转方案执行行为跳转操作,得到下一状态节点。
[0101] 在本公开的一种示例性实施方案中,目标矩阵生成单元包括矩阵更新子单元,用于:基于初始奖励矩阵,确定当前状态节点与下一状态节点之间的行为奖励值;获取下一状态节点对应的至少一下一行为跳转方案,确定每个下一行为跳转方案对应的行为转移值;根据学习参数与至少一行为转移值,确定参考行为转移值;基于行为奖励值与参考行为转移值,确定当前状态节点与下一状态节点之间的目标行为转移值;基于目标行为转移值,对初始状态行为矩阵进行状态更新处理,得到更新状态行为矩阵。
[0102] 在本公开的一种示例性实施方案中,路径规划模块540包括路径规划单元,用于:根据初始路径信息与补充路径信息,生成多个路径节点对应的拓扑结构地图;获取路径规划任务对应的起始路径节点与目标路径节点;基于拓扑结构地图,将起始路径节点与目标路径节点之间的最短路径作为目标路径。
[0103] 在本公开的一种示例性实施方案中,路径规划单元包括拓扑地图生成子单元,用于:基于初始路径信息确定初始路径数据;对初始路径数据进行数据标准化处理,生成标准化初始路径数据;基于补充路径信息确定补充路径数据;对补充路径数据进行数据标准化处理,生成标准化补充路径数据;根据标准化初始路径数据与标准化补充路径数据,构建多个路径节点对应的拓扑结构地图。
[0104] 上述中各路径规划装置的虚拟模块的具体细节已经在对应的路径规划方法中进行了详细的描述,因此此处不再赘述。
[0105] 应当注意,尽管在上文详细描述中提及了路径规划装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0106] 此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0107] 所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
[0108] 下面参考图6来描述根据本公开的这种实施例的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0109] 如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640。
[0110] 其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
[0111] 存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)621和/或高速缓存存储单元622,还可以进一步包括只读存储单元(ROM)623。
[0112] 存储单元620可以包括具有一组(至少一个)程序模块625的程序/实用工具624,这样的程序模块625包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0113] 总线630可以表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0114] 电子设备600也可以与一个或多个外部设备670(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0115] 通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD‑ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
[0116] 在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
[0117] 参考图7所示,描述了根据本发明的实施例的用于实现上述方法的程序产品700,其可以采用便携式紧凑盘只读存储器(CD‑ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0118] 所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0119] 计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0120] 可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0121] 可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0122] 此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0123] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0124] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。