掌桥专利:专业的专利平台
掌桥专利
首页

地图获取方法、装置、车辆及存储介质

文献发布时间:2024-04-18 19:58:30


地图获取方法、装置、车辆及存储介质

技术领域

本申请涉及电子地图技术领域,更具体地,涉及一种地图获取方法、装置、车辆及计算机可读取存储介质。

背景技术

在自动驾驶领域,为了实现自动驾驶的精准控制和行车安全,需要车辆加载电子地图,以通过电子地图进行自动驾驶。

目前,车辆可以获取全量地图,并对全量地图进行加载。但是,全量地图的数据量较大,导致全量地图加载效率较低。

发明内容

有鉴于此,本申请提出了一种地图获取方法、装置、车辆及计算机可读取存储介质,以解决上述问题。

第一方面,本申请实施例提供了一种地图获取方法,用于车辆,方法包括:根据车辆的自车坐标,在目标地图中选取目标区域;根据目标区域中各个道路各自的基本信息,从目标区域中确定第一道路;根据第一道路的边界点信息,从第一道路中确定第二道路;根据第二道路构建待加载地图。

第二方面,本申请实施例提供了一种地图获取装置,用于车辆,装置包括:选取模块,用于根据车辆的自车坐标,在目标地图中选取目标区域;第一确定模块,用于根据目标区域中各个道路各自的基本信息,从目标区域中确定第一道路;第二确定模块,用于根据第一道路的边界点信息,从第一道路中确定第二道路;构建模块,用于根据第二道路构建待加载地图。

第三方面,本申请实施例提供了一种车辆,车辆包括:

一个或多个处理器;

存储器;

一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于执行上述第一方面的方法。

第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述第一方面的方法。

本申请实施例提供一种地图获取方法、装置、车辆及计算机可读取存储介质,本申请中,首先在目标地图中选取目标区域,然后根据所述目标区域中各个道路各自的基本信息,从所述目标区域中确定第一道路;并根据所述第一道路的边界点信息,从所述第一道路中确定第二道路;最后根据所述第二道路构建待加载地图,第二道路为目标地图中的局部信息,从而实现了根据目标地图中的局部信息构建待加载地图,并不需要对全部的目标地图进行加载,仅需要加载具有局部信息的待加载地图,而待加载地图的数据量远小于目标地图,从而大大提高了待加载地图的加载效率。

本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了一种适用于本申请实施例的车辆硬件环境的示意图。

图2示出了根据本申请一个实施例提出的一种地图获取方法流程图。

图3示出了根据本申请又一个实施例提出的一种地图获取方法的流程图。

图4示出了本申请实施例中一种地图获取过程的示意图。

图5示出了本申请实施例中一种目标地图的示意图。

图6示出了本申请实施例中一种待加载地图的示意图。

图7示出了本申请一个实施例提出的一种地图获取装置的结构框图。

图8示出了本申请一个实施例提出的一种车辆的结构框图。

图9示出了本申请实施例提供的一种计算机可读存储介质的结构框图。

具体实施方式

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

参照图1,图1示出了一种适用于本申请实施例的车辆硬件环境的示意图,车辆100包括自动驾驶系统110,自动驾驶系统110可以内置多种自动驾驶功能,自动驾驶系统110根据内置的自动驾驶功能控制车辆自动驾驶,自动驾驶功能例如可以包括自动变道功能、自动超车功能以及自动泊车功能等。

自动驾驶系统110可以包括车载采集装置111、一个或多个(图中仅示出一个)处理器112以及存储器113。

在本实施例中,车载采集装置111用于采集车辆的位置信息、环境信息以及障碍物信息等,例如,车载采集装置可以包括激光雷达、环视相机以及全球定位系统。

处理器112可以时微控制单元(MCU),微控制单元内置存储器113,该存储器113中存储有可以执行下述实施例中内容的程序,而处理器112可以执行该存储器113中存储的程序。

其中,处理器112可以包括一个或者多个处理器。处理器112利用各种接口和线路连接整个车辆100内的各个部分,通过运行或执行存储在存储器113内的指令、程序、代码集或指令集,以及调用存储在存储器113内的数据,执行车辆10的各种功能和处理数据。

存储器113可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器15可用于存储指令、程序、代码、代码集或指令集。存储器15可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。

参照图2,图2示出了根据本申请一个实施例提出的一种地图获取方法流程图,方法用于车辆,方法包括:

S110、根据车辆的自车坐标,在目标地图中选取目标区域。

在本申请中,车辆可以是内置自动驾驶系统电动车或燃油车,车辆可以是轿车、suv、公交车以及货车等。自动驾驶系统可以包括多种自动驾驶功能,车辆通过自动驾驶系统中的各个自动驾驶功能控制车辆进行自动行驶。例如车辆通过自动泊车功能控制车辆自动泊车。

车辆可以包括全球定位系统(Global Positioning System,GPS),通过GPS确定车辆的坐标作为车辆的自车坐标。其中,自车坐标可以是车辆在世界坐标系下或经纬坐标系下的坐标。

目标地图可以是指车辆所在的国家、省(或市)、区县的全量地图,目标地图可以是OpenDrive格式的高精度地图。例如,车辆在A国的B市区,目标地图可以是指B市区的全量地图。

OpenDrive是一种用于描述道路信息的标准格式,可以被用于创建数字地图。它主要用于自动驾驶车辆和其他车辆相关应用程序中,以描述路线和路网的几何特征、车道拓扑结构、信号灯、标志牌、交通规则等信息。OpenDrive的数据结构包括两个主要部分:道路Road和路口Junction。每个道路可以包括多个车道,每个车道可以描述道路的中心线、边界线,还可以描述车道的限速、禁行标志等信息。路口可以连接多个道路,并描述车道拓扑关系等信息。

可以根据车辆的自车坐标,在目标地图中选取包括自车坐标的局部区域作为目标区域。具体的,可以以车辆的自车坐标为中心,预置加载区域为大小,从目标地图中选取目标区域。其中,预置加载区域可以是根据需求设定的区域,预置加载区域可以是矩形、圆形、椭圆形以及其他多边形。

例如,辆在A国的B市区,目标地图可以是指B市区的全量地图,预置加载区域为矩形,矩形宽3公里且高4公里,可以以车辆的自车坐标为,预置加载区域的中心,在B市区的全量地图中选取一个宽3公里高4公里的矩形区域,作为目标区域。

S120、根据目标区域中各个道路各自的基本信息,从目标区域中确定第一道路。

可以是根据目标区域中各个道路各自的基本信息,筛选在目标区域内的道路,作为第一道路,在目标区域内的道路可以是指道路的全部或部分出现在目标区域内。其中,道路的基本信息可以包括道路的名称、标识以及长度属性值,道路的长度属性值用于指示道路的长度。

作为一种实施方式,S120可以包括:确定参考线初始点;根据道路的长度属性值以及参考线初始点的坐标,确定道路是否在目标区域内;若道路在目标区域内,获取道路作为第一道路。

可以确定上述目标区域的中心,并将目标区域的中心附近范围内的任意一点作为参考线初始点,目标区域的中心的坐标作为参考线初始点的坐标,参考线初始点的坐标可以是参考线初始点在世界坐标系的坐标。例如,参考线初始点可以是目标区域的中心,又如,参考线初始点可以是距离目标区域的中心3米的一个点。

得到参考线初始点之后,继续根据道路的长度属性值以及参考线初始点的坐标,确定道路是否在目标区域内;若道路在目标区域内,获取道路作为第一道路;若道路不在目标区域内,舍弃该道路,同时该道路可以确定为一个非有效道路,非有效道路不需要被加载。

其中,根据道路的长度属性值以及参考线初始点的坐标,确定道路是否在目标区域内,包括:根据参考线初始点的坐标,确定参考线初始点与目标区域之间的相对距离;若相对距离与道路的长度属性值的差距小于预设差距,确定道路在目标区域内;若相对距离与道路的长度属性值的差距小于预设差距,确定道路不在目标区域内。

可以根据参考线初始点的坐标,确定参考线初始点与目标区域之间的相对距离distance,并确定相对距离distance与道路的长度属性值length的差距是否小于预设差距E;若相对距离distance与道路的长度属性值length的差距小于预设差距E,确定道路在目标区域内,确定道路作为第一道路;若相对距离distance与道路的长度属性值length的差距大于预设差距E,确定道路不在目标区域内,确定道路为非有效道路。其中,预设差距可以是基于需求设定的误差值允许最大范围,例如,E可以是1米。

相对距离distance与道路的长度属性值length的差距可以是指相对距离distance与道路的长度属性值length的差,此时,针对目标区域中的任意道路,若distance

在本实施例中,可以采用pugixml读取目标区域(目标地图中的一部分),查找根节点下第一个Road子节点(表示目标区域中索引到的第一个道路);读取一个Road子节点的长度属性值length,并参考线初始点的坐标(x,y)到目标区域的距离distance,判断道路是否再目标区域内,若道路在目标区域内,道路作为第一道路;之后,查找下一个Road节点,如此遍历目标区域中的全部道路,得到全部的第一道路。还可以在确定道路为第一道路后,获取第一道路的完整信息,第一道路的完整信息可以包括道路的名称、编号、长度属性值、参考线、车道信息等。

S130、根据第一道路的边界点信息,从第一道路中确定第二道路。

可以根据第一道路的完整信息,确定第一道路的边界点信息,再根据各个第一道路的边界点信息,从第一道路中进一步筛选第二道路,第二道路是需要加载的道路,也即,在本实施例中,第一道路是粗筛选出的可能需要被加载的道路,第二道路是精筛选出来需要被加载的道路。

可以从选取出的多个第一道路中选取任意一个第一道路,针对该第一道路,根据第一道路的边界点信息,确定是否需要保留第一道路,若需要保留第一道路,则确定第一道路为第二道路;若不需要保留第一道路确定第一道路被舍弃,作为一个非有效道路。

S140、根据第二道路构建待加载地图。

得到全部第二道路之后,可以根据全部第二道路,构建地图作为待加载地图,然后可以加载待加载地图,待加载地图为目标地图的一部分,包括较少的数据,因此,待加载地图的加载效率较高。

作为一种实施方式,S140可以包括:根据第二道路构建道路拓扑结构,得到初始地图;删除初始地图中的与非有效道路连接的路段,得到待加载地图,非有效道路为目标区域中除去第二道路以外的其他道路。

可以根据各个第二道路之的道路信息,确定各个第二道路之间的位置关系以及连接关系,根据各个第二道路之间的位置关系以及连接关系,构建拓扑结构,得到拓扑结构地图作为初始地图。

初始地图包括多个路段(也叫link,路段是连接任意两个路口的路,路口是指道路的交叉点,例如,两条道路相交,被划分为4个路段),可以遍历初始地图中全部路段的路段信息,针对每个路段,根据路段的路段信息,确定路段两个端点所在的道路是否为非有效道路,若路段的至少一个端点所在的道路是非有效道路,删除该路段,如此遍历全部路段,得到待加载地图。

本实施例中,首先在目标地图中选取目标区域,然后根据目标区域中各个道路各自的基本信息,从目标区域中确定第一道路;并根据第一道路的边界点信息,从第一道路中确定第二道路;最后根据第二道路构建待加载地图,第二道路为目标地图中的局部信息,从而实现了根据目标地图中的局部信息构建待加载地图,并不需要对全部的目标地图进行加载,仅需要加载具有局部信息的待加载地图,而待加载地图的数据量远小于目标地图,从而大大提高了待加载地图的加载效率。

另外,通过简单的粗略筛选第一道路,能过滤掉大部分非目标区域的道路,能极大加快地图加载效率,又利用第一道路的边界点信息,进行精确的筛选,以筛选出第二道路,实现了提高待加载地图的准确性的效果。

参照图3,图3示出了根据本申请又一个实施例提出的一种地图获取方法流程图,方法用于车辆,方法包括:

S210、根据车辆的自车坐标,在目标地图中选取目标区域;根据目标区域中各个道路各自的基本信息,从目标区域中确定第一道路。

其中,S210的描述参照上文S110-S120的描述,此处不再赘述。

S220、根据第一道路的参考线及车道信息,确定第一道路的最内侧车道左边界线和最外侧右边界线。

可以通过pugixml读取目标区域,以获取第一道路的完整信息,第一道路的完整信息可以包括第一道路的参考线及车道信息,根据第一道路的参考线及车道信息,确定出第一道路(在车辆行驶方向上)最内侧车道左边界线和最外侧右边界线。

S230、根据第一道路的最内侧车道左边界线和最外侧右边界线,确定第一道路是否在目标区域内;若第一道路在目标区域中,获取第一道路作为第二道路。

可以根据述第一道路的最内侧车道左边界线和最外侧右边界线,确定第一道路是否在目标区域内,若第一道路在目标区域中,获取第一道路作为第二道路,若第一道路不在目标区域中,以舍弃第一道路,并将其作为非有效道路。

其中,根据述第一道路的最内侧车道左边界线和最外侧右边界线,确定第一道路是否在目标区域内可以包括:对第一道路的最内侧车道左边界线和最外侧右边界线进行采样,得到采样点;若存在采样点在目标区域内,确定第一道路在目标区域内;若不存在采样点在目标区域内,确定第一道路不在目标区域内。

可以对第一道路的最内侧车道左边界线和最外侧右边界线进行采样,得到第一道路的多个采样点,根据第一道路的每个采样点的采样点坐标确定该采样点是否在目标区域内;可以遍历第一道路的全部的采样点,若第一道路中存在至少一个采样点在目标区域内,确定第一道路在目标区域内,确定第一道路作为第二道路,若第一道路中不存在任何采样点在目标区域内,确定第一道路被舍弃,被舍弃的第一道路作为非有效道路。

可以按照前述方式遍历全部的第一道路,以得到全部的第二道路。

S240、根据第二道路构建待加载地图。

其中,S240的描述参照上文S140的描述,此处不再赘述。

在本实施例中,地图获取过程如图4所示。

401:获取目标地图,并在目标地图中选取目标区域。其中,选取的目标区域参照图5,图5中50为目标地图,图5中的501则为目标地图50中选取的目标区域。

402:在目标区域中选取一个道路;

403:通过道路的长度属性值粗筛选,确定道路是否在目标区域内;若否,执行404,若是,执行405;

404:确定目标区域中是否存在下一个道路;若是,执行402,若否执行407;

405:通过道路的边界点信息精筛选,确定道路是否在目标区域内;若否,执行404,若是,执行406;

406:保留道路以及道路的道路信息;

407:根据保留的道路以及保留道路的道路信息,构建待加载地图。

按照上述过程构建的待加载地图如图6所示,待加载地图中包括了需要被加载的多条道路。

本实施例中,待加载地图是目标地图中的局部地图,因此,加载待加载地图加载只需要加载待加载地图,而不需要加载整个目标地图,加载速度更快,同时待加载地图所需的网络带宽也会更少,可以极大缩短数据网络传输时间。待加载地图加载只需要加载少量的地图数据,因此,对硬件的要求也更低,这使得低内存设备也可以使用该功能加载大地图,从而待加载地图加载可以提供更流畅、更快速的用户体验。

另外,通过简单的粗略筛选第一道路,能过滤掉大部分非目标区域的道路,能极大加快地图加载效率,又利用第一道路的边界点信息,进行精确的筛选,以筛选出第二道路,实现了提高待加载地图的准确性的效果。

参照图7,图7示出了本申请一个实施例提出的一种地图获取装置的结构框图。装置700用于车辆,装置700包括:

选取模块710,用于根据车辆的自车坐标,在目标地图中选取目标区域;

第一确定模块720,用于根据目标区域中各个道路各自的基本信息,从目标区域中确定第一道路;

第二确定模块730,用于根据第一道路的边界点信息,从第一道路中确定第二道路;

构建模块740,用于根据第二道路构建待加载地图。

进一步地,数据头信息还包括通过设备端的设备端公钥对加密秘钥加密后得到的加密加密秘钥;获取模块720,还用于从数据头信息中提取加密加密秘钥;若通过对应设备端公钥的设备端私钥对加密加密秘钥解密成功,获取对加密加密秘钥解密成功后的加密秘钥。

进一步地,道路的基本信息包括道路的长度属性值;第一确定模块720,还用于确定参考线初始点;根据道路的长度属性值以及参考线初始点的坐标,确定道路是否在目标区域内;若道路在目标区域内,获取道路作为第一道路。

进一步地,第一确定模块720,还用于根据参考线初始点的坐标,确定参考线初始点与目标区域之间的相对距离;若相对距离与道路的长度属性值的差距小于预设差距,确定道路在目标区域内;若相对距离与道路的长度属性值的差距小于预设差距,确定道路不在目标区域内。

进一步地,第二确定模块730,还用于根据第一道路的参考线及车道信息,确定第一道路的最内侧车道左边界线和最外侧右边界线;根据第一道路的最内侧车道左边界线和最外侧右边界线,确定第一道路是否在目标区域内;若第一道路在目标区域中,获取第一道路作为第二道路。

进一步地,第二确定模块730,还用于对第一道路的最内侧车道左边界线和最外侧右边界线进行采样,得到采样点的坐标;若存在采样点坐标在目标区域内,确定第一道路在目标区域内;若不存在采样点坐标在目标区域内,确定第一道路不在目标区域内。

进一步地,选取模块710,还用于以车辆的自车坐标为中心,预置加载区域为大小,从目标地图中选取目标区域。

进一步地,构建模块740,还用于根据第二道路构建道路拓扑结构,得到初始地图;删除初始地图中的与非有效道路连接的路段,得到待加载地图,非有效道路为目标区域中除去第二道路以外的其他道路。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

请参阅图8,其示出了本申请实施例提供的一种车辆900的结构框图。车辆例如可以是指图1中的设备端20。本申请中的车辆900可以包括一个或多个如下部件:处理器910、存储器920以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器920中并被配置为由一个或多个处理器910执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。

其中,处理器910可以包括一个或者多个处理核。处理器910利用各种接口和线路连接整个车辆900内的各个部分,通过运行或执行存储在存储器920内的指令、程序、代码集或指令集,以及调用存储在存储器920内的数据,执行车辆900的各种功能和处理数据。可选地,处理器910可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器910可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责待显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器910中,单独通过一块通信芯片进行实现。

存储器920可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器920可用于存储指令、程序、代码、代码集或指令集。存储器920可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储车辆900在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。

在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

参考图9,图9示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质1100中存储有程序代码,该程序代码可被处理器调用执行上述方法实施例中所描述的方法。

计算机可读存储介质1100可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质1100包括非易失性计算机可读存储介质(non-transitory computer-readable storage medium)。计算机可读存储介质1100具有执行上述方法中的任何方法步骤的程序代码1110的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1110可以例如以适当形式进行压缩。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

相关技术
  • 一种车辆信息的获取方法、装置以及存储介质
  • 车辆控制装置、车辆、车辆控制装置的处理方法以及存储介质
  • 车辆控制装置、车辆、车辆控制装置的处理方法以及存储介质
  • 文件获取方法及装置、文件传送方法及装置、存储介质
  • 车辆电力装置的控制方法和装置、存储介质和车辆
  • 地图获取方法、地图获取装置、电子设备及存储介质
  • 地图获取方法、地图获取装置、电子设备及存储介质
技术分类

06120116503042