地图的加载方法、装置、设备及存储介质与流程

文档序号:33738035发布日期:2023-04-06 08:46阅读:26来源:国知局
地图的加载方法、装置、设备及存储介质与流程

本发明涉及自动驾驶,尤其涉及一种地图的加载方法、装置、设备及存储介质。


背景技术:

1、随着汽车自动驾驶技术的发展,目前自动驾驶行业语义地图基本都是全量加载模式,而全量加载模式主要有两个缺点:自动驾驶真正商业化后,任何车辆的内存都不足以把所有自动驾驶的语义地图全部加载到内存中;全量加载速度慢,即使只是在demo区域跑自动驾驶,加载这块区域的全量地图,也会比较耗时,启动会花费大量时间。

2、因此,如何解决全量加载地图只能在一小块区域开自动驾驶,且加载速度较慢,成了本领域技术人员需要解决的技术问题。


技术实现思路

1、本发明的主要目的在于解决现有技术中全量加载地图只能在一小块区域开自动驾驶,且加载速度较慢的技术问题。

2、本发明第一方面提供了一种地图的加载方法,包括:获取多个目标子地图,并将多个所述目标子地图存储至预设数据库,从所述数据库中下载所述目标子地图至内存,并基于预设存储方式将所述目标子地图存储至所述内存中;建立全局的元素对应哈希表,并根据所述哈希表确定所述元素对应的数据结构和引用计数;基于所述数据结构和所述引用计数,确定所述目标子地图在所述内存中的存储方式;基于所述存储方式,确定所述目标子地图的加载方式,并基于所述加载方式加载目标车辆对应的目标地图数据。

3、可选地,在本发明第一方面的第一种实现方式中,所述获取多个目标子地图,包括:基于预设长度将所述语义地图分为预设数量个方格,并确定所述方格对应的目标文件;确定所述语义地图中的元素,其中,所述元素包括道路中心线,道路边线以及道路采样点;判断所述元素的utm坐标是否在所述方格内;若是,则将所述元素存储于所述方格对应的目标文件,以得到多个目标子地图。

4、可选地,在本发明第一方面的第二种实现方式中,所述将多个所述目标子地图存储至预设数据库,从所述数据库中下载所述目标子地图至内存,并基于预设存储方式将所述目标子地图存储至所述内存中,包括:创建所述目标子地图的基础数据和哈希值;基于所述基础数据,确定与所述目标子地图对应的目录文件数据;获取所述目标文件数据的文件列表,从所述文件列表中获取所述目标子地图的地址数据,然后根据所述地址信息下载所述目标子地图。

5、可选地,在本发明第一方面的第三种实现方式中,所述建立全局的元素对应哈希表,并根据所述哈希表确定所述元素对应的数据结构和引用计数,包括:建立全局的元素对应哈希表,并根据所述哈希表对所述目标子地图对应的瓦皮地图数据进行切片,并将切片后的瓦片地图数据保存到服务器硬盘的路径下;基于预设路径格式请求瓦片,并判断线程池中的基本线程池是否已满,若是,则确定异常并生成异常记录日志;基于所述异常记录日志访问预设资源池内存,并基于缓存管理算法,采用哈希链式表存储方式确定所述元素对应的数据结构和引用计数。

6、可选地,在本发明第一方面的第四种实现方式中,所述确定所述目标子地图的加载方式,并基于所述加载方式加载目标车辆对应的目标地图数据,包括:确定所述目标子地图对应所述地图瓦片数据的数据类型,并根据所述数据类型确定所述目标子地图中的所有元素;分别确定所述所有元素中每个元素的位置,并根据所述位置确定所述目标子地图的加载方式;基于所述加载方式和所述元素对应目标文件,加载所述目标车辆对应的目标地图数据。

7、可选地,在本发明第一方面的第五种实现方式中,所述分别确定所述所有元素中每个元素的位置,并根据所述位置确定所述目标子地图的加载方式,包括:分别确定所述所有元素中每个元素的位置;当所述元素位于第一半径之内,则加载所述元素对应的目标文件;当所述元素位于第二半径之内,则针对所述元素分配内存,并将所述内存关联至全局元素哈希表;当所述元素位于第三半径之内,则删除所述元素对应的目标文件,确定所述目标子地图的加载方式。

8、可选地,在本发明第一方面的第六种实现方式中,所述将所述元素存储于所述方格对应的目标文件,以得到多个目标子地图,包括:确定所述元素的参数信息;基于所述参数信息对所述元素对应的场景数据进行解析,得到所述元素对应的元素数据;根据所述元素数据和预设空间位置映射关系,确定所述元素映射在所述方格中的空间位置数据;基于所述空间位置数据,确定所述方格对应的目标文件,并将所述空间位置数据存储与所述目标文件,以得到多个目标子地图。

9、本发明第二方面提供了一种地图的加载装置,包括:存储模块,用于获取多个目标子地图,并将多个所述目标子地图存储至预设数据库,从所述数据库中下载所述目标子地图至内存,并基于预设存储方式将所述目标子地图存储至所述内存中;第一确定模块,用于建立全局的元素对应哈希表,并根据所述哈希表确定所述元素对应的数据结构和引用计数;第二确定模块,用于基于所述数据结构和所述引用计数,确定所述目标子地图在所述内存中的存储方式;加载模块,用于基于所述存储方式,确定所述目标子地图的加载方式,并基于所述加载方式加载目标车辆对应的目标地图数据。

10、可选地,在本发明第二方面的第一种实现方式中,所述存储模块具体用于:基于预设长度将所述语义地图分为预设数量个方格,并确定所述方格对应的目标文件;确定所述语义地图中的元素,其中,所述元素包括道路中心线,道路边线以及道路采样点;判断所述元素的utm坐标是否在所述方格内;若是,则将所述元素存储于所述方格对应的目标文件,以得到多个目标子地图。

11、可选地,在本发明第二方面的第二种实现方式中,所述存储模块具体还用于:创建所述目标子地图的基础数据和哈希值;基于所述基础数据,确定与所述目标子地图对应的目录文件数据;获取所述目标文件数据的文件列表,从所述文件列表中获取所述目标子地图的地址数据,然后根据所述地址信息下载所述目标子地图。

12、可选地,在本发明第二方面的第三种实现方式中,所述第一确定模块包括:切片单元,用于建立全局的元素对应哈希表,并根据所述哈希表对所述目标子地图对应的瓦皮地图数据进行切片,并将切片后的瓦片地图数据保存到服务器硬盘的路径下;判断单元,用于基于预设路径格式请求瓦片,并判断线程池中的基本线程池是否已满,若是,则确定异常并生成异常记录日志;第一确定单元,用于基于所述异常记录日志访问预设资源池内存,并基于缓存管理算法,采用哈希链式表存储方式确定所述元素对应的数据结构和引用计数。

13、可选地,在本发明第二方面的第四种实现方式中,所述加载模块包括:第二确定单元,用于确定所述目标子地图对应所述地图瓦片数据的数据类型,并根据所述数据类型确定所述目标子地图中的所有元素;第三确定单元,用于分别确定所述所有元素中每个元素的位置,并根据所述位置确定所述目标子地图的加载方式;加载确定单元,用于基于所述加载方式和所述元素对应目标文件,加载所述目标车辆对应的目标地图数据。

14、可选地,在本发明第二方面的第五种实现方式中,所述第三确定单元具体用于:分别确定所述所有元素中每个元素的位置;当所述元素位于第一半径之内,则加载所述元素对应的目标文件;当所述元素位于第二半径之内,则针对所述元素分配内存,并将所述内存关联至全局元素哈希表;当所述元素位于第三半径之内,则删除所述元素对应的目标文件,确定所述目标子地图的加载方式。

15、可选地,在本发明第二方面的第六种实现方式中,所述存储模块具体还用于:确定所述元素的参数信息;基于所述参数信息对所述元素对应的场景数据进行解析,得到所述元素对应的元素数据;根据所述元素数据和预设空间位置映射关系,确定所述元素映射在所述方格中的空间位置数据;基于所述空间位置数据,确定所述方格对应的目标文件,并将所述空间位置数据存储与所述目标文件,以得到多个目标子地图。

16、本发明第三方面提供了一种地图的加载设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;

17、所述至少一个处理器调用所述存储器中的所述指令,以使得所述地图的加载设备执行上述的地图的加载方法的各个步骤。

18、本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的地图的加载方法的各个步骤。

19、本发明提供的技术方案中,通过制作语义地图,并将语义地图进行分块处理,得到多个目标分块地图;将多个目标分块地图存储至预设数据库,从数据库中下载目标分块地图至内存,并基于预设存储方式将目标分块地图存储至内存中;建立全局的元素对应哈希表,并根据哈希表确定元素对应的数据结构和引用计数;基于数据结构和引用计数,确定目标分块地图在内存中的存储方式;基于存储方式,确定目标分块地图的加载方式,并基于加载方式加载目标车辆对应的目标地图数据。只加载当前范围的地图,可以无锁访问地图元素,解决了全量加载地图载速度较慢的技术问题。

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