寻路方法、装置、设备及存储介质与流程

文档序号:22429919发布日期:2020-10-02 10:10阅读:147来源:国知局
寻路方法、装置、设备及存储介质与流程

本申请涉及自动寻路技术领域,更具体的说,是涉及一种寻路方法、装置、设备及存储介质。



背景技术:

随着社会科技的不断发展,计算机辅助建模成为主流趋势,路径规划则是建模中最难也是最容易出错的部分。

建筑物内进行路径的规划,可以为管道铺设、线缆布线提供路径依据。现有技术中对于建筑内指定的起点和终点,直接将起点和终点间的连线确定为规划路径。参照图1所示,其示例了现有技术在塔楼内进行路径规划的示意图,塔楼包括端户、翼户和核心筒。若起点为核心筒内部的一个管道点,终点为端户2边缘的一个出口点,按照现有技术会直接在起点和终点直接连线,该连线即为规划路径。实际情况中,规划的路径可能会穿过障碍物,如结构墙、结构柱,或出现斜穿墙体的情况,如图1所示。上述情况是不符合建筑规范的,还需要建模人员进行更改,大大降低了建模效率。



技术实现要素:

鉴于上述问题,提出了本申请以便提供一种寻路方法、装置、设备及存储介质,以解决现有技术规划的路径会穿过障碍物或斜穿墙体等,不符合建筑规范的问题。具体方案如下:

一种寻路方法,包括:

获取寻路的起终点信息,期望的寻路轴向及避让区域;

基于所述起终点信息,沿所述寻路轴向确定初始路径,所述初始路径中每条子路径平行或垂直于所述寻路轴向;

基于所述避让区域,对每条所述初始路径进行调整,以使得调整后路径不与所述避让区域相交;

基于各调整后路径确定最终寻路结果。

优选地,所述起终点信息包括起点和终点的各自的位置,以及起点和终点各自的可接入方向;

所述基于所述起终点信息,沿所述寻路轴向确定初始路径,包括:

确定从起点位置发出的起始子路径,所述起始子路径平行或垂直于所述寻路轴向,且处于起点的可接入方向范围内;

确定接入终点位置的终止子路径,所述终止子路径平行或垂直于所述寻路轴向,且处于终点的可接入方向范围内;

沿所述寻路轴向,规划从所述起始子路径的终点至所述终止子路径的起点间的中间路径,并由所述起始子路径、所述中间路径和所述终止子路径依序组合成初始路径。

优选地,所述起始子路径的长度,依据起点和终点间连线在平行于所述起始子路径的轴向上的投影长度而确定;

所述终止子路径的长度,依据起点和终点间连线在平行于所述终止子路径的轴向上的投影长度而确定。

优选地,所述沿所述寻路轴向,规划从所述起始子路径的终点至所述终止子路径的起点间的中间路径,包括:

若确定所述起始子路径与所述终止子路径的方向垂直,则以所述起始子路径的终点和所述终止子路径的起点为对角点建立矩形;

从所述起始子路径的终点开始,选取所述矩形中不与所述起始子路径重合的相邻两个边组成中间路径。

优选地,所述沿所述寻路轴向,规划从所述起始子路径的终点至所述终止子路径的起点间的中间路径,包括:

若确定所述起始子路径与所述终止子路径的方向不垂直,则沿垂直于所述起始子路径的方向,规划与所述起始子路径相连的第二条子路径;以所述第二条子路径的终点和所述终止子路径的起点为对角点建立矩形;

从所述第二条子路径的终点开始,选取所述矩形中不与所述第二条子路径重合的相邻两个边,由所述第二条子路径及选取的相邻两个边依序组成中间路径。

优选地,所述沿所述寻路轴向,规划从所述起始子路径的终点至所述终止子路径的起点间的中间路径,包括:

若确定所述起始子路径与所述终止子路径的方向不垂直,则沿垂直于所述终止子路径的方向,规划与所述终止子路径相连的倒数第二条子路径;以所述倒数第二条子路径的起点和所述起始子路径的终点为对角点建立矩形;

从所述起始子路径的终点开始,选取所述矩形中不与所述倒数第二条子路径重合的相邻两个边,由选取的相邻两个边及所述倒数第二条子路径依序组成中间路径。

优选地,所述基于所述避让区域,对每条所述初始路径进行调整,包括:

针对每条初始路径中的各子路径,判断每一子路径是否与避让区域相交;

若一目标子路径与避让区域相交,则沿垂直于目标子路径的方向确定偏移向量,所述偏移向量能够使得目标子路径在按照偏移向量偏移后不与任一避让区域相交;

将目标子路径按照偏移向量进行偏移,得到偏移后的目标子路径,并调整初始路径中与目标子路径前后相邻的子路径,以使调整后前后相邻的子路径与所述偏移后目标子路径相连,得到调整后路径。

优选地,所述沿垂直于目标子路径的方向确定偏移向量,包括:

基于目标子路径与避让区域的相交方式,确定目标子路径与避让区域的相交点;

基于相邻两个目标相交点,将避让区域的轮廓线划分为若干段轮廓线;

沿垂直于目标子路径的两个偏移方向,将所述若干段轮廓线划分为两部分;

在每个偏移方向上,获取对应偏移方向上各段轮廓线与目标子路径的最大投影距离,组成对应偏移方向上的初步偏移向量;

判断目标子路径按照初步偏移向量偏移后是否与其它避让区域相交,若否,将初步偏移向量确定为最终的偏移向量,若是,扩大初步偏移向量的值,直至不与其它避让区域相交为止,将扩大后的初步偏移向量确定为最终的偏移向量。

优选地,所述基于目标子路径与避让区域的相交方式,确定目标子路径与避让区域的相交点,包括:

若目标子路径的终点位于避让区域外部,则确定目标子路径穿入和穿出避让区域的点,作为目标子路径与避让区域的相交点;

若目标子路径的终点位于避让区域内部,则基于初始路径中目标子路径之后的各子路径,确定目标子路径及之后各子路径穿入和穿出避让区域的点,作为目标子路径与避让区域的相交点。

优选地,所述基于各调整后路径确定最终寻路结果,包括:

基于每一调整后路径的长度、包含的转角数量和/或对用户期望子路径的包含情况,确定每一调整后路径的优先级;

参考各调整后路径的优先级及设定的推荐策略,确定最终寻路结果。

一种寻路装置,包括:

寻路信息获取单元,用于获取寻路的起终点信息,期望的寻路轴向及避让区域;

初始路径获取单元,用于基于所述起终点信息,沿所述寻路轴向确定初始路径,所述初始路径中每条子路径平行或垂直于所述寻路轴向;

初始路径调整单元,用于基于所述避让区域,对每条所述初始路径进行调整,以使得调整后路径不与所述避让区域相交;

最终寻路结果确定单元,用于基于各调整后路径确定最终寻路结果。

一种寻路设备,包括:存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于执行所述程序,实现如上所述的寻路方法的各个步骤。

一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的寻路方法的各个步骤。

借由上述技术方案,本申请的寻路方法,能够获取寻路的起终点信息,以及期望的寻路轴向和避让区域,其中期望的寻路轴向可以是建筑物的轴向等,进而可以基于起终点信息,沿所述寻路轴向确定初始路径,据此确定的初始路径中每条子路径均平行或垂直于寻路轴向,体现在图面中即初始路径与墙面平行或垂直,而不会出现斜穿墙体的情况,在此基础上,进一步基于避让区域,对每条初始路径进行调整,使得调整后路径不与避让区域相交,保证了调整后路径不会出现穿越障碍物的情况,最终基于各调整后路径确定最终寻路结果,解决了现有技术存在的规划路径斜穿墙体、穿越障碍物等不符合建筑规范的问题,不需要建模人员二次更正,大大提高了建模效率。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示例了现有技术在塔楼内进行路径规划的示意图;

图2为本申请实施例提供的寻路方法的一流程示意图;

图3示例了一种起终点可接入方向示意图;

图4a-4e示例了几种不同的起终点间初始路径的示意图;

图5a-5c示例了几种不同形式的确定中间路径的示意图;

图6示例了对子路径进行偏移处理的示意图;

图7a-7c示例了子路径终点位于避让区域外部时,与避让区域的几种不同形式的相交情况示意图;

图7d示例了子路径终点位于避让区域内部时,与避让区域的一种相交情况示意图;

图8示例了一种确定轮廓线与子路径投影距离最远点的示意图;

图9示例了一种子路径多次偏移的示意图;

图10为本申请实施例提供的一种寻路装置结构示意图;

图11为本申请实施例提供的寻路设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请提供了一种寻路方案,能够为建筑物内、外部署管道、线路进行路径规划,且规划的路径满足用户期望的寻路轴向,且不会与避让区域相交,符合建筑规范要求。

本申请方案可以基于具备数据处理能力的终端实现,该终端可以是手机、电脑、服务器、云端等。

接下来,结合图2,本申请的寻路方法可以包括如下步骤:

步骤s100、获取寻路的起终点信息,期望的寻路轴向及避让区域。

具体的,寻路的起终点信息可以包括起点位置和终点位置。为了简化计算,本实施例中可以将起点和终点投影到同一水平面如x-y平面上,也即忽略高程信息。

进一步的,寻路的起终点信息还可以包括起点的可接入方向,以及终点的可接入方向。其中,可接入方向规定了对应点连接路径的方向范围。如图3所示,对于起点和终点,均限定了可接入方向,则对于从起点发出的路径,其需要处于可接入方向的范围内。同理,对于接入终点的路径,其也需要处于可接入方向的范围内。

本实施例中,进一步会获取期望的寻路轴向,该期望的寻路轴向可以是用户设定,或默认选取建筑物的轴向作为期望寻路轴向,如以x-y轴方向作为期望寻路轴向。

本实施例中,进一步还会获取避让区域,该避让区域可以是结构墙、结构柱或者其他需要避让的区域,如不希望进入塔楼,则可以将塔楼轮廓作为避让区域;不希望再进入某个房间,可以将房间的轮廓作为避让区域等。

为了简化计算,可以将避让区域与起终点信息做相同的处理,即投影到同一水平面如x-y平面上。

可选的,避让区域可以是避让图元(如结构柱、结构墙等)膨胀了避让距离之后的结果。通过轮廓膨胀,保证后续规划的路径和结构墙、结构柱、房间等图元存在一定的避让距离。

步骤s110、基于所述起终点信息,沿所述寻路轴向确定初始路径。

其中,沿寻路轴向所确定的初始路径中每条子路径平行或垂直于所述寻路轴向。

为了保证规划的路径不会出现斜穿墙体等情况出现,可以将建筑物的轴向作为期望的寻路轴向,则基于此得到的初始路径中每条子路径平行或垂直于寻路轴向,也即平行或垂直于墙面,不会出现斜穿墙体的情况。

参见图4a-4e,其示例了几种不同的初始路径。每条初始路径中各子路径均平行或垂直于寻路轴向。

进一步可选的,在寻路之前可以由用户预先设定期望寻路路径的走向,如期望寻路路径沿某个既定路径进行。因此,可以确定与用户期望所匹配的初始路径,与本步骤中基于起终点信息,沿寻路轴向确定的初始路径一起组成初始路径集合。

步骤s120、基于所述避让区域,对每条所述初始路径进行调整,以使得调整后路径不与所述避让区域相交。

具体的,初始路径规划时没有考虑避让区域,因此得到的初始路径可能会存在与避让区域相交的情况,为此,本步骤中进一步基于避让区域,对每条初始路径进行调整,使得调整后路径不与避让区域相交,从而避免了路径穿越障碍物等情况。

步骤s130、基于各调整后路径确定最终寻路结果。

本申请实施例提供的寻路方法,能够获取寻路的起终点信息,以及期望的寻路轴向和避让区域,其中期望的寻路轴向可以是建筑物的轴向等,进而可以基于起终点信息,沿所述寻路轴向确定初始路径,据此确定的初始路径中每条子路径均平行或垂直于寻路轴向,体现在图面中即初始路径与墙面平行或垂直,而不会出现斜穿墙体的情况,在此基础上,进一步基于避让区域,对每条初始路径进行调整,使得调整后路径不与避让区域相交,保证了调整后路径不会出现穿越障碍物的情况,最终基于各调整后路径确定最终寻路结果,解决了现有技术存在的规划路径斜穿墙体、穿越障碍物等不符合建筑规范的问题,不需要建模人员二次更正,大大提高了建模效率。

接下来一个实施例中,对上述步骤s110,基于所述起终点信息,沿所述寻路轴向确定初始路径的过程进行介绍。

其中,起终点信息可以包括起点和终点的各自的位置,以及起点和终点各自的可接入方向。

基于此,步骤s110的实现过程可以包括如下:

s1、确定从起点位置发出的起始子路径,所述起始子路径平行或垂直于所述寻路轴向,且处于起点的可接入方向范围内。

具体的,初始路径是由多个连续的子路径组成,本实施例中首先确定从起点位置发出的起始子路径。该起始子路径平行或垂直于寻路轴向,且处于起点的可接入方向范围内。

可选的,起始子路径的长度,可以依据起点和终点间连线在平行于起始子路径的轴向上的投影长度而确定,示例如,将起点和终点间连线在平行于起始子路径的轴向上的投影长度的一半,作为起始子路径的长度。

可以理解的是,根据起点的可接入方向范围不同,以及寻路轴向的不同,起始子路径的条数可能是一条或多条,但最多不会超过四条。

s2、确定接入终点位置的终止子路径,所述终止子路径平行或垂直于所述寻路轴向,且处于终点的可接入方向范围内。

同理,初始路径中末尾的子路径接入终点位置,定义为终止子路径。为此,本实施例中确定出接入终点位置的终止子路径,该终止子路径平行或垂直于所述寻路轴向,且处于终点的可接入方向范围内。

可选的,终止子路径的长度,可以依据起点和终点间连线在平行于终止子路径的轴向上的投影长度而确定,示例如,将起点和终点间连线在平行于终止子路径的轴向上的投影长度的一半,作为终止子路径的长度。

可以理解的是,根据终点的可接入方向范围不同,以及寻路轴向的不同,终止子路径的条数可能是一条或多条,但最多不会超过四条。

s3、沿所述寻路轴向,规划从所述起始子路径的终点至所述终止子路径的起点间的中间路径,并由所述起始子路径、所述中间路径和所述终止子路径依序组合成初始路径。

具体的,前述已经说明,起始子路径和终止子路径的条数均可以是一条多多条,因此可以将起始子路径和终止子路径进行两两组合,得到多种组合结果。针对每一组合结果,沿所述寻路轴向,规划组合结果中起始子路径的终点至终止子路径的起点间的中间路径。

在确定了中间路径后,由起始子路径、中间路径和终止子路径依序组合成一条初始路径。

接下来,对上述s3,沿所述寻路轴向,规划从所述起始子路径的终点至所述终止子路径的起点间的中间路径的过程进行介绍。

本实施例中,可以按照起始子路径和终止子路径间的方位关系,分别介绍中间路径的确定过程。

起始子路径和终止子路径间的方位关系包括两种:一种是相互垂直的,另一种是相互平行的。

若起始子路径和终止子路径相互垂直:

则可以以起始子路径的终点和终止子路径的起点为对角点建立矩形。

进一步,从起始子路径的终点开始,选取矩形中不与起始子路径重合的相邻两个边组成中间路径。

结合图5a进行说明:

起始子路径linea和终止子路径lineb相互垂直。以linea的终点和lineb的起点为对角点建立矩形。

由图可知,从linea的终点到lineb的起点,可以通过矩形的相邻两个边到达,其中有一组相邻的两个边会和linea部分重合,按照不走回头路的算法可知,该相邻的两个边需要舍弃,因此只保留另一组相邻的两个边组成中间路径。

最终,由linea、保留的矩形的相邻两个边、lineb组成一条初始路径。

若起始子路径和终止子路径相互平行:

可知,若仍按照上述方式处理,是无法建立矩形的。为此,本实施例中提供了两种实现方式,分别如下:

第一种、

沿垂直于起始子路径的方向,规划与起始子路径相连的第二条子路径。进一步的,以该第二条子路径的终点和终止子路径的起点为对角点,建立矩形。

从第二条子路径的终点开始,选取矩形中不与第二条子路径重合的相邻两个边,由第二条子路径及选取的相邻两个边依序组成中间路径。

结合图5b进行说明:

起始子路径linea和终止子路径lineb相互平行。沿垂直于linea的方向,规划与linea相连的第二条子路径linec。

可以理解的是,垂直于linea的第二条子路径linec可以有两条,即沿垂直于linea的两个不同方向,均可以规划linec,图5b仅仅示例了其中一种情况而已。

以linec的终点和lineb的起点为对角点建立矩形。

由图可知,从linec的终点到lineb的起点,可以通过矩形的相邻两个边到达,其中有一组相邻的两个边会和linec部分重合,按照不走回头路的算法可知,该相邻的两个边需要舍弃,因此只保留另一组相邻的两个边。

由linec和保留的矩形的相邻两个边,依序组成中间路径。

最终,由linea、中间路径、lineb组成一条初始路径。

第二种、

沿垂直于终止子路径的方向,规划与终止子路径相连的倒数第二条子路径。进一步,以倒数第二条子路径的起点和起始子路径的终点为对角点建立矩形。

从起始子路径的终点开始,选取矩形中不与倒数第二条子路径重合的相邻两个边,由选取的相邻两个边及倒数第二条子路径依序组成中间路径。

结合图5c进行说明:

起始子路径linea和终止子路径lineb相互平行。沿垂直于lineb的方向,规划与lineb相连的倒数第二条子路径lined。

可以理解的是,垂直于lineb的倒数第二条子路径lined可以有两条,即沿垂直于lineb的两个不同方向,均可以规划lined,图5c仅仅示例了其中一种情况而已。

以lined的起点和linea的终点为对角点建立矩形。

由图可知,从linea的终点到lined的起点,可以通过矩形的相邻两个边到达,其中有一组相邻的两个边会和lined部分重合,按照不走回头路的算法可知,该相邻的两个边需要舍弃,因此只保留另一组相邻的两个边。

由保留的矩形的相邻两个边和lined,依序组成中间路径。

最终,由linea、中间路径、lineb组成一条初始路径。

在本申请的另一个实施例中,对上述步骤s120,基于所述避让区域,对每条所述初始路径进行调整的过程进行介绍。

初始路径是由若干条子路径组成的。因此,步骤s120具体可以包括如下实施方式:

s1、针对每条初始路径中的各子路径,可以分别判断每一子路径是否与避让区域相交。

可以理解的是,可以从起点开始,顺序针对初始路径中的每一子路径,判断其是否与避让区域相交。若不相交,则遍历下一子路径。

s2、若确定一目标子路径与避让区域相交,则可以沿垂直于目标子路径的方向确定偏移向量。该偏移向量能够使得目标子路径在按照偏移向量偏移后不与任一避让区域相交。

可以理解的是,沿垂直于目标子路径的方向可以确定两个方向相反的偏移向量。

s3、将目标子路径按照偏移向量进行偏移,得到偏移后的目标子路径,并调整初始路径中与目标子路径前后相邻的子路径,以使调整后前后相邻的子路径与所述偏移后目标子路径相连,得到调整后路径。

可以理解的是,每次对目标子路径进行偏移处理,以及前后相邻子路径的调整后,可能会导致目标子路径之前的子路径与避让区域相交,因此,可以返回起始步骤s1,即从起点开始,顺序针对初始路径中的每一子路径,判断其是否与避让区域相交。

参见图6,初始路径中包含子路径linef,其与避让区域相交。可以沿垂直于linef的方向确定偏移向量(图6仅仅示例了一个方向的偏移向量),并将linef按照偏移向量进行偏移,得到偏移后的linef'。

为了保证路径的连通性,需要对linef的前后相邻子路径linee和lineg进行调整,其中linee调整后变成linee',lineg调整后变成lineg'。

进一步的,对上述s2中,沿垂直于目标子路径的方向确定偏移向量的过程进行介绍,该过程可以包括:

s21、基于目标子路径与避让区域的相交方式,确定目标子路径与避让区域的相交点。

可以理解的是,目标子路径的终点可能是位于避让区域内部,也可能是位于避让区域外部。

若目标子路径的终点位于避让区域外部,则可以确定目标子路径穿入和穿出避让区域的点,作为目标子路径与避让区域的相交点。

参见图7a-7c,其分别示例了目标子路径终点位于避让区域外部时,与避让区域的几种不同形式的相交情况。图7a中,目标子路径linex与避让区域存在两个相交点:q1和q2。图7b中,目标子路径linex与避让区域存在六个相交点:q1-q6。图7c中,目标子路径linex与避让区域存在两个相交点:q1和q2。

若目标子路径的终点位于避让区域内部,则可以基于初始路径中目标子路径之后的各子路径,确定目标子路径及之后各子路径穿入和穿出避让区域的点,作为目标子路径与避让区域的相交点。

参见图7d,其示例了一种目标子路径终点位于避让区域内部时,与避让区域的相交情况。

目标子路径linex的下一相邻子路径为liney,由linex和liney组成的路径与避让区域存在两个相交点,为q1和q2。

s22、基于相邻两个目标相交点,将避让区域的轮廓线划分为若干段轮廓线。

s23、沿垂直于目标子路径的两个偏移方向,将所述若干段轮廓线划分为两部分。

仍以图7a-7d为例进行说明:

图7a中,两个相交点q1和q2将避让区域的轮廓线划分为两段:轮廓线q1至q2,以及轮廓线q2-q1。

沿垂直于目标子路径linex的两个偏移方向,将轮廓线q1至q2划分到向左偏移对应的分类中,将轮廓线q2-q1划分到向右偏移对应的分类中。

图7b中,六个相交点q1-q6将避让区域的轮廓线划分为六段:轮廓线q1至q2、轮廓线q2-q3、轮廓线q3-q4、轮廓线q4-q5、轮廓线q5-q6、轮廓线q6-q1。

沿垂直于目标子路径linex的两个偏移方向,对上述六段进行分类,其中:

划分到向左偏移对应的分类中的轮廓线包括:轮廓线q1至q2、轮廓线q3-q4、轮廓线q5-q6、;

划分到向右偏移对应的分类中的轮廓线包括:轮廓线q2-q3、轮廓线q4-q5、轮廓线q6-q1。

图7c中,两个相交点q1、q2将避让区域的轮廓线划分为两段:轮廓线q1至q2,以及轮廓线q2-q1。

沿垂直于目标子路径linex的两个偏移方向,将轮廓线q1至q2划分到向左偏移对应的分类中,将轮廓线q2-q1划分到向右偏移对应的分类中。

图7d中,两个相交点q1、q2将避让区域的轮廓线划分为两段:轮廓线q1至q2,以及轮廓线q2-q1。

沿垂直于目标子路径linex的两个偏移方向,将轮廓线q1至q2划分到向左偏移对应的分类中,将轮廓线q2-q1划分到向右偏移对应的分类中。

s24、在每个偏移方向上,获取对应偏移方向上各段轮廓线与目标子路径的最大投影距离,组成对应偏移方向上的初步偏移向量。

以图8为例进行说明:

在向左偏移方向上,可以确定轮廓线q1至q2上与linex最大投影距离的最远点。由确定的最远点向linex做投影,可以得到最大投影距离。由偏移方向及最大投影距离,可以组成该向左偏移方向上的初步偏移向量。

同理,在向右偏移方向上,可以确定轮廓线q2至q1上与linex最大投影距离的最远点。由确定的最远点向linex做投影,可以得到最大投影距离。由偏移方向及最大投影距离,可以组成该向右偏移方向上的初步偏移向量。

s25、判断目标子路径按照初步偏移向量偏移后是否与其它避让区域相交,若否,将初步偏移向量确定为最终的偏移向量,若是,扩大初步偏移向量的值,直至不与其它避让区域相交为止,将扩大后的初步偏移向量确定为最终的偏移向量。

可以理解的是,目标子路径在按照初步偏移向量偏移后不会与当前的避让区域相交,但是,目标建筑物中可能还存在其它避让区域,而目标子路径在按照初步偏移向量偏移后可能不会与其它避让区域相交,也可能会与其它避让区域相交,如果不与其它避让区域相交,则可以将初步偏移向量确定为目标子路径的最终偏移向量。反之,如果与其它避让区域相交,说明目标子路径的偏移程度还不够,需要进一步扩大初步偏移向量的值,直至不与其它避让区域相交为止,将扩大后的初步偏移向量确定为目标子路径的最终偏移向量。

参照图9,其中包括的避让区域有多个,分为塔楼区域和结构柱区域。

对于目标子路径linex,初始状态时与塔楼区域相交,因此确定了其初步偏移向量,即图中向右的一次偏移,一次偏移后发现linex又与结构柱避让区域相交,因此需要扩大初步偏移向量,继续向右进行二次偏移,二次偏移后发现linex又与另一个结构柱避让区域相交,因此需要再进一步扩大初步偏移向量,继续向右进行三次偏移,偏移后确定linex不与任何避让区域相交,则三次偏移的总偏移量作为目标子路径linex的最终偏移向量。

在本申请的又一个实施例中,对上述步骤s130,基于各调整后路径确定最终寻路结果的过程进行介绍。

可以理解的是,若初始路径有多条,则对每条初始路径进行调整后,得到的调整后路径中可能会存在相同的路径,因此可以对各调整后路径进行去重处理。

进一步的,调整后路径可能会存在多条,为了向用户推荐优选的寻路结果,本实施例中可以从三个方面进行考虑:

调整后路径的长度、包含的转角数量、对用户期望子路径的包含情况。

其中,调整后路径的长度与调整后路径的优先级成负相关关系,即调整后路径的长度越长,对应调整后路径的优先级越低。

调整后路径包含的转角数量与调整后路径的优先级成负相关关系,即调整后路径包含的转角数量越多,对应调整后路径的优先级越低。

用户期望子路径可以是在寻路之前,由用户设定的期望寻路路径的走向,如期望寻路路径沿某个既定路径进行。因此,可以根据用户的设定,得到用户期望子路径。

调整后路径若包含的用户期望子路径的条数、长度与跳转后路径的优先级成正相关关系,即调整后路径若包含的用户期望子路径的条数越多、长度越长,对应调整后路径的优先级越高。

上述三种考量因素可以选择其中一个或多个的组合使用。

基于此,本实施例中可以基于每一调整后路径的长度、包含的转角数量和/或对用户期望子路径的包含情况,确定每一调整后路径的优先级。

进一步,参考各调整后路径的优先级及设定的推荐策略,确定最终寻路结果。

本实施例中可以预先设定推荐策略,如推荐优先级最高的topk(k取值为1-n)个调整后路径。

基于此,可以按照设定的推荐策略,结合各调整后路径的优先级,确定最终寻路结果。

下面对本申请实施例提供的寻路装置进行描述,下文描述的寻路装置与上文描述的寻路方法可相互对应参照。

参见图10,图10为本申请实施例公开的一种寻路装置结构示意图。

如图10所示,该装置可以包括:

寻路信息获取单元11,用于获取寻路的起终点信息,期望的寻路轴向及避让区域;

初始路径获取单元12,用于基于所述起终点信息,沿所述寻路轴向确定初始路径,所述初始路径中每条子路径平行或垂直于所述寻路轴向;

初始路径调整单元13,用于基于所述避让区域,对每条所述初始路径进行调整,以使得调整后路径不与所述避让区域相交;

最终寻路结果确定单元14,用于基于各调整后路径确定最终寻路结果。

本申请实施例提供的寻路装置,能够获取寻路的起终点信息,以及期望的寻路轴向和避让区域,其中期望的寻路轴向可以是建筑物的轴向等,进而可以基于起终点信息,沿所述寻路轴向确定初始路径,据此确定的初始路径中每条子路径均平行或垂直于寻路轴向,体现在图面中即初始路径与墙面平行或垂直,而不会出现斜穿墙体的情况,在此基础上,进一步基于避让区域,对每条初始路径进行调整,使得调整后路径不与避让区域相交,保证了调整后路径不会出现穿越障碍物的情况,最终基于各调整后路径确定最终寻路结果,解决了现有技术存在的规划路径斜穿墙体、穿越障碍物等不符合建筑规范的问题,不需要建模人员二次更正,大大提高了建模效率。

可选的,起终点信息可以包括起点和终点的各自的位置,以及起点和终点各自的可接入方向。基于此,上述初始路径获取单元基于所述起终点信息,沿所述寻路轴向确定初始路径的过程,可以包括:

确定从起点位置发出的起始子路径,所述起始子路径平行或垂直于所述寻路轴向,且处于起点的可接入方向范围内;

确定接入终点位置的终止子路径,所述终止子路径平行或垂直于所述寻路轴向,且处于终点的可接入方向范围内;

沿所述寻路轴向,规划从所述起始子路径的终点至所述终止子路径的起点间的中间路径,并由所述起始子路径、所述中间路径和所述终止子路径依序组合成初始路径。

可选的,起始子路径的长度,可以依据起点和终点间连线在平行于所述起始子路径的轴向上的投影长度而确定。

同理,终止子路径的长度,可以依据起点和终点间连线在平行于所述终止子路径的轴向上的投影长度而确定。

可选的,上述初始路径获取单元沿所述寻路轴向,规划从所述起始子路径的终点至所述终止子路径的起点间的中间路径的过程,可以按照起始子路径与终止子路径的是否垂直,分为两种处理流程,即:

若确定所述起始子路径与所述终止子路径的方向垂直,则以所述起始子路径的终点和所述终止子路径的起点为对角点建立矩形;

从所述起始子路径的终点开始,选取所述矩形中不与所述起始子路径重合的相邻两个边组成中间路径。

当确定所述起始子路径与所述终止子路径的方向不垂直时,确定中间路径的过程可以包括两种,分别如下:

第一种、

沿垂直于所述起始子路径的方向,规划与所述起始子路径相连的第二条子路径;以所述第二条子路径的终点和所述终止子路径的起点为对角点建立矩形;

从所述第二条子路径的终点开始,选取所述矩形中不与所述第二条子路径重合的相邻两个边,由所述第二条子路径及选取的相邻两个边依序组成中间路径。

第二种、

沿垂直于所述终止子路径的方向,规划与所述终止子路径相连的倒数第二条子路径;以所述倒数第二条子路径的起点和所述起始子路径的终点为对角点建立矩形;

从所述起始子路径的终点开始,选取所述矩形中不与所述倒数第二条子路径重合的相邻两个边,由选取的相邻两个边及所述倒数第二条子路径依序组成中间路径。

可选的,上述初始路径调整单元基于所述避让区域,对每条所述初始路径进行调整的过程,可以包括:

针对每条初始路径中的各子路径,判断每一子路径是否与避让区域相交;

若一目标子路径与避让区域相交,则沿垂直于目标子路径的方向确定偏移向量,所述偏移向量能够使得目标子路径在按照偏移向量偏移后不与任一避让区域相交;

将目标子路径按照偏移向量进行偏移,得到偏移后的目标子路径,并调整初始路径中与目标子路径前后相邻的子路径,以使调整后前后相邻的子路径与所述偏移后目标子路径相连,得到调整后路径。

可选的,上述初始路径调整单元沿垂直于目标子路径的方向确定偏移向量的过程,可以包括:

基于目标子路径与避让区域的相交方式,确定目标子路径与避让区域的相交点;

基于相邻两个目标相交点,将避让区域的轮廓线划分为若干段轮廓线;

沿垂直于目标子路径的两个偏移方向,将所述若干段轮廓线划分为两部分;

在每个偏移方向上,获取对应偏移方向上各段轮廓线与目标子路径的最大投影距离,组成对应偏移方向上的初步偏移向量;

判断目标子路径按照初步偏移向量偏移后是否与其它避让区域相交,若否,将初步偏移向量确定为最终的偏移向量,若是,扩大初步偏移向量的值,直至不与其它避让区域相交为止,将扩大后的初步偏移向量确定为最终的偏移向量。

可选的,上述初始路径调整单元基于目标子路径与避让区域的相交方式,确定目标子路径与避让区域的相交点的过程,可以包括:

若目标子路径的终点位于避让区域外部,则确定目标子路径穿入和穿出避让区域的点,作为目标子路径与避让区域的相交点;

若目标子路径的终点位于避让区域内部,则基于初始路径中目标子路径之后的各子路径,确定目标子路径及之后各子路径穿入和穿出避让区域的点,作为目标子路径与避让区域的相交点。

可选的,上述最终寻路结果确定单元基于各调整后路径确定最终寻路结果的过程,可以包括:

基于每一调整后路径的长度、包含的转角数量和/或对用户期望子路径的包含情况,确定每一调整后路径的优先级;

参考各调整后路径的优先级及设定的推荐策略,确定最终寻路结果。

本申请实施例提供的寻路装置可应用于寻路设备,如手机、电脑、服务器、云端等。可选的,图11示出了寻路设备的硬件结构框图,参照图11,寻路设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;

在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;

处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;

存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;

其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:

获取寻路的起终点信息,期望的寻路轴向及避让区域;

基于所述起终点信息,沿所述寻路轴向确定初始路径,所述初始路径中每条子路径平行或垂直于所述寻路轴向;

基于所述避让区域,对每条所述初始路径进行调整,以使得调整后路径不与所述避让区域相交;

基于各调整后路径确定最终寻路结果。

可选的,所述程序的细化功能和扩展功能可参照上文描述。

本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:

获取寻路的起终点信息,期望的寻路轴向及避让区域;

基于所述起终点信息,沿所述寻路轴向确定初始路径,所述初始路径中每条子路径平行或垂直于所述寻路轴向;

基于所述避让区域,对每条所述初始路径进行调整,以使得调整后路径不与所述避让区域相交;

基于各调整后路径确定最终寻路结果。

可选的,所述程序的细化功能和扩展功能可参照上文描述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1