路径规划方法、装置、设备及介质
文献发布时间:2023-06-19 11:50:46
技术领域
本申请涉及数据处理领域,具体而言,涉及一种路径规划方法、装置、设备及介质。
背景技术
GIS(Geographic Information System或Geo-Information System,地理信息系统)技术已经被广泛应用于生活中,例如,目前较为常见的在线导航服务。GIS技术的原理在于,通过对实时的地理数据进行分析处理,为用户提供更直观的路径信息。
然而,发明人研究发现,目前的GIS技术在进行轨迹规划时,当遇到异常点时(例如,未记录的轨迹点),则会导致规划失败,严重影响用户体验。
发明内容
为了克服现有技术中的至少一个不足,第一方面,本申请实施例提供一种路径规划方法,应用于电子设备,所述方法包括:
获取第一轨迹点;
根据预设地理点,从所述第一轨迹点中确定出异常点,其中,所述异常点为所述预设地理点中未记录的第一轨迹点;
根据所述异常点的位置,从所述预设地理点中确定出与所述异常点对应的临近点;
通过所述临近点替换所述第一轨迹点中的异常点,获得第二轨迹点;
根据第二轨迹点,生成途经所述第二轨迹点的规划路径。
第二方面,本申请实施例提供一种路径规划装置,应用于电子设备,所述路径规划装置包括:
轨迹获取模块,用于获取第一轨迹点;
异常处理模块,用于根据预设地理点,从所述第一轨迹点中确定出异常点,其中,所述异常点为所述预设地理点中未记录的第一轨迹点;
所述异常处理模块,还用于根据所述异常点的位置,从所述预设地理点中确定出与所述异常点对应的临近点;
所述异常处理模块还用于,通过所述临近点替换所述第一轨迹点中的异常点,获得第二轨迹点;
路径规划模块,用于根据第二轨迹点,生成途经所述第二轨迹点的规划路径。
第三方面,本申请实施例提供一种电子设备,所述电子设备包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现所述的路径规划方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现所述的路径规划方法。
相对于现有技术而言,本申请具有以下有益效果:
本申请实施例提供的路径规划方法、装置、设备及介质中,该电子设备在根据第一轨迹点生成规划路径时,当发现第一轨迹点中存在有预设轨迹点未记录的异常点时,则从预设地理点中选取与异常点相对应的临近点,用于替换该异常点;然后,基于替换后的第二轨迹点,生成途经各第二轨迹点的规划路径。进而,解决未记录轨迹点所导致的轨迹规划异常。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的电子设备结构示意图;
图2为本申请实施例提供的路径规划方法步骤示意图;
图3为本申请实施例提供的KD-Tree构建原理示意图;
图4为本申请实施例提供的KD-Tree结构示意图;
图5为本申请实施例提供的路径规划装置结构示意图。
图标:120-存储器;130-处理器;140-通信装置;201-轨迹获取模块;202-异常处理模块;203-路径规划模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
GIS技术已经被广泛应用于生活中,目前的GIS技术在进行轨迹规划时,当遇到未记录的轨迹点,则会导致规划失败,严重影响用户体验。
例如,基于开源地图导航引擎GraphHopper和路网节点数据的路径规划服务,当进行批量路径规划查询时,遇到其中未包含的地理点位则会返回异常信息。
鉴于此,本申请实施例提供一种应用于电子设备的路径规划方法,用于解决未记录轨迹点所导致的轨迹规划异常。在介绍本该路径规划方法之前,下面先对上述电子设备进行介绍。
其中,该电子设备在不同的应用场景下,可以是不同的设备对象。例如,该电子设备可以是服务器,当然还可以是用户终端。其中,该服务器可以是,但不限于,Web(网站)服务器、FTP(File Transfer Protocol,文件传输协议)服务器等。
该用户终端可以是,但不限于,智能手机、个人电脑(Personal Computer,PC)、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、移动上网设备(MobileInternet Device,MID)等。
如图1所示的一种电子设备的结构示意图,该电子设备包括存储器120、处理器130、通信装置140。
该存储器120、处理器130以及通信装置140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,该存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器120用于存储计算机程序,该处理器130在接收到执行指令后,执行该计算机程序。
该通信装置140用于通过网络收发数据。该网络可以是有线网络,还可以是无线网络,本申请实施例不对此做具体的限定。
该处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
基于上述电子设备,下面对应用于该电子设备的路径规划方法进行详细介绍。如图2所示的一种路径规划方法的步骤流程示意图,该方法包括:
步骤S101,获取第一轨迹点。
步骤S102,根据预设地理点,从第一轨迹点中确定出异常点。
其中,异常点为预设地理点中未记录的第一轨迹点。应理解的是,存在多种原因会导致第一轨迹点中产生异常点。
在一示例中,该路径规划方法可以应用于日常导航。假定该电子设备为提供导航服务器的服务器,则用户终端可以将导航请求中的起始地点作为第一轨迹点发送给服务器,使得该服务器为用户规划从起点到终端的轨迹路线。
然而,受限于服务器记录的地理点滞后于现实世界真实地理点,使得服务器中记录的预设地理点的地理涵盖范围可能未记录有导航请求中的起始地点。
尤其是在进行批量轨迹规划时,由于导航请求中第一轨迹点的数量为多个,所以出现异常点的概率会大大增加。其中,所谓批量轨迹规划,是指第一轨迹点中,不仅包括起点与终点,还包括大量的途经点。
例如,第一轨迹点依次为A、B、C、D、E、F,其中,轨迹点A与轨迹点F分别为起点以及终端,轨迹点B、C、D、E为途经点;则进行批量轨迹规划时,需要规划出一条从轨迹点A到轨迹点B的路径,且该路径需要途经轨迹点B、C、D、E。
在另一示例中,该路径规划方法还可以应用于安防领域,此时的预设地理点为路网节点。其中,在安防领域进行轨迹预测时,电子设备会将车辆在不同时间点被摄像头拍摄到的位置作为第一轨迹点,生成车辆的历史行驶轨迹;虽然大部分摄像头的架设位置位于路网中,然而,还是会存在一些摄像头的架设位置较为偏僻,距离路网较远,导致摄像头架设位置未记录在路网节点中。
由于摄像头架设位置未记录在路网节点中,因此,基于较为偏僻的摄像头架设位置估计车辆在路网中的历史行驶轨迹,则会导致规划失败。
步骤S103,根据异常点的位置,从预设地理点中确定出与异常点对应的临近点。
步骤S104,通过临近点替换第一轨迹点中的异常点,获得第二轨迹点。
步骤S105,根据第二轨迹点,生成途经第二轨迹点的规划路径。
如此,该电子设备在根据第一轨迹点生成规划路径时,当发现第一轨迹点中存在有预设轨迹点未记录的异常点时,则从预设地理点中选取与异常点相对应的临近点,用于替换该异常点;然后,基于替换后的第二轨迹点,生成途经各第二轨迹点的规划路径。进而,解决未记录轨迹点所导致的轨迹规划异常。
由于本实施例中,需要从预设地理点中选取临近点用于替换异常点。因此,所选取临近点的方式,直接影响到规划路径的合理性。
鉴于此,本实施例中,该电子设备获取异常点的位置;根据异常点的位置,确定与异常点满足预设位置关系的预设地理点。
然后,该电子设备将与异常点满足预设位置关系的预设地理点,作为与异常点对应的临近点。
作为一种具体的实施方式,该电子设备可以根据异常点的位置,选取距离最近的地理点,作为该异常点对应的临近点。
另外一种具体的实施方式,上述预设地理点为路网节点,并且,该电子设备记录有路网中车流量或者人流量超过设定阈值的高频路段。在此基础上,该电子设备发现第一轨迹点中存在异常点时,根据异常点的位置,从预设地理点中选取位于预设范围内的第一候选点,然后,从第一候选点中选取位于高频路段的第二候选点;最后,选取距离异常点最近的第二候选点作为该异常点的临近点。
如此,由于该临近点是从高频路段中选取,能够较大概率的反应车辆或者行人真实的轨迹。
此外,本实施例中,还考虑到预设地理点的数据规模较大,计算异常点与每个预设地理之间的距离,然后从中选取最近的预设地理点,无疑会消耗大量的计算时间。因此,本实施例中为了提高对临近点的索引效率,该电子设备构建预设地理点的索引结构;基于索引结构,确定与异常点满足预设位置关系的预设地理点。
示例性的,该索引结构可以是KD-Tree。下面结合图3说明KD-Tree的具体构建方式。如图3所示,假定上述预设地理点包括点A、B、C、D、E以及F;各自的空间坐标为A(2,3)、B(5,4)、C(9,6)、D(4,7)、E(8,1)、F(7,2)。
首先,以B点的x坐标“5”构建第一超平面,将上述6给点相对均匀的分割成两部部分,即一部分位于第一超平面的左边,另一部分位于超平面的右边。
然后,针对位于第一超平面左边的地理点,以B点的y坐标“4”构建第二超平面,将第一超平面左边的地理点分割成两部分,一部分位于第二超平面的下方,另外一部分位于第二超平面的上方;
然后,针对位于第一超平面右边的地理点,以F点y坐标“2”构建第三超平面,将第一超平面右边的地理点分割成两部分,一部分位于第三超平面的下方,另外一部分位于第三超平面的上方。
基于上述划分结果,最终构建如图4所示的KD-Tree。图4中的<1,5>表示第一层的第一个节点,且第一个节点的节点值为5;<2,4>表示第二层的第一个节点,且该节点的节点值为4;同理,<2,2>表示第二层的第三个节点,且该节点的节点值为2。
在此基础上,本实施例将KD-Tree中索引树叫做T树,将异常点叫做P点,将T树的第一节点(根节点)叫做T节点,下面提供一种具体的示例,用于说明KD-Tree的索引方式。
S1、如果T节点为叶子节点,则将最近的地理点N作为T节点的分裂点的值,然后执行S4;如果T节点不是叶子节点,则执行S2。
S2、确定T节点的分裂方式,如果是按照x轴进行分裂,则用P点的x值与T节点的x值进行比较,反之则与T节点的y值进行比较。
S3、如果P点的比较值小于T节点的比较值,则将T节点重新指定为T节点的左孩子节点;反之将T节点重新指定为T节点的右孩子节点,再次执行S1。
S4、定义检索点M,将M设置为地理点N。
S5、计算检索点M与P点的距离为d
S6、如果d
S7、若地理点N有兄弟节点,则将地理点N赋值为兄弟节点的值;若地理点N没有兄弟节点,则将地理点N赋值为的父节点;并删除原来的地理点N的值;将检索点M的值设置为地理点N的新值;执行S5。
此外,上述第二轨迹点的数量可以时多个,且满足预设序列关系。该电子设备根据序列关系,确定出多组相邻的第二轨迹点;然后,针对每组相邻的第二轨迹点,生成相邻的第二轨迹点之间的子路径;根据全部的子路径,生成途经第二轨迹点的规划路径。
示例性的,假定满足预设序列关系的第二轨迹点,依次为G、H、I、J、K、L。该电子设备先生成G与H之间的子轨迹N1,H与I之间的子轨迹N2,I与J之间的子轨迹N2,J与K之间的子轨迹N3,K与L之间的子轨迹N4。
然后,该电子设备将子轨迹N1、子轨迹N2、子轨迹N3以及子轨迹N4拼接在一起,得到途经G、H、I、J、K、L的规划轨迹。
基于与路径规划方法相同的发明构思,本实施例还提供一种路径规划装置,应用于电子设备。该路径规划装置包括至少一个可以软件形式存储于存储器中的功能模块。如图5所示,从功能上划分,路径规划装置包括:
轨迹获取模块201,用于获取第一轨迹点。
本实施例中,该轨迹获取模块201用于实现图2中的步骤S101,关于该轨迹获取模块201的详细描述,可以参见图2中步骤S101的详细描述。
异常处理模块202,用于根据预设地理点,从第一轨迹点中确定出异常点,其中,异常点为预设地理点中未记录的第一轨迹点。
异常处理模块202,还用于根据异常点的位置,从预设地理点中确定出与异常点对应的临近点。
异常处理模块202还用于,通过临近点替换第一轨迹点中的异常点,获得第二轨迹点。
本实施例中,该异常处理模块202用于实现图2中的步骤S102-S104,关于该异常处理模块202的详细描述,可以参见图2中关于步骤S102-S104的详细描述。
路径规划模块203,用于根据第二轨迹点,生成途经第二轨迹点的规划路径。
本实施例中,该路径规划模块203用于实现图2中的步骤S105,关于该路径规划模块203的详细描述可以参见图2中步骤S105的详细描述。
作为一种可能的实现方式,异常处理模块202确定异常点方式包括:
获取异常点的位置;
根据异常点的位置,确定与异常点满足预设位置关系的预设地理点;
将与异常点满足预设位置关系的预设地理点,作为与异常点对应的临近点。
此外,值得说明的时,该路劲规划装置还可以包括其他软件功能模块,用于实现上述路径规划方法的其他步骤或者子步骤。当然,上述轨迹获取模块201、异常处理模块202以及路径规划模块203还同样可以用于实现上述路径规划方法的其他步骤或者子步骤;本领域技术人员可以根据不同的功能划分角度进行划分,本申请实施例不做具体的限定。
本申请实施例还提供一种电子设备,电子设备包括处理器以及存储器,存储器存储有计算机程序,计算机程序被处理器执行时,实现所述的路径规划方法。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时,实现所述的路径规划方法。
综上所述,本申请实施例提供的路径规划方法、装置、设备及介质中,该电子设备在根据第一轨迹点生成规划路径时,当发现第一轨迹点中存在有预设轨迹点未记录的异常点时,则从预设地理点中选取与异常点相对应的临近点,用于替换该异常点;然后,基于替换后的第二轨迹点,生成途经各第二轨迹点的规划路径。进而,解决未记录轨迹点所导致的轨迹规划异常。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
- 路径规划方法、路径规划装置、存储介质与可移动设备
- 路径规划方法、路径规划系统、电子设备及计算机存储介质