CN115269763B - 局部点云地图更新维护方法、装置、移动工具及存储介质 - Google Patents
局部点云地图更新维护方法、装置、移动工具及存储介质 Download PDFInfo
- Publication number
- CN115269763B CN115269763B CN202211191101.2A CN202211191101A CN115269763B CN 115269763 B CN115269763 B CN 115269763B CN 202211191101 A CN202211191101 A CN 202211191101A CN 115269763 B CN115269763 B CN 115269763B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- grid
- storage unit
- map
- updating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/521—Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Abstract
本发明公开一种局部点云地图更新维护方法及装置,方法包括:在获取到最新一帧的点云数据时,确定出新获取帧中的每个点云对应的第一数据信息,其中,第一数据信息包括相应点云与栅格的对应关系和相应点云的属性信息;根据第一数据信息采用最近最少使用算法对局部点云地图进行更新,其中,所述局部点云地图由基于最近最少使用算法形成的用于存储局部点云地图对应的栅格和相应栅格对应的点云特征的数据结构及其中存储的数据信息限定。本发明通过最近最少使用算法对以栅格和相应栅格对应的点云特征的形式存储的局部点云地图进行更新,能够有效降低计算量,提高准确性。
Description
技术领域
本发明涉及点云地图构建技术领域,尤其涉及一种局部点云地图更新维护方法、装置、移动工具及存储介质。
背景技术
激光建图,是通过三维激光传感器获取点云数据,并将获取到的每一帧的点云进行累加与调整,形成包含丰富的三维空间结构信息的点云地图,以作为路径规划、导航避障、感知定位等技术的基础数据。在自动驾驶应用场景中,由于地图数据量十分庞大,而常规计算机上的计算和随机读写存储空间均有限,不能一次性将整个地图都加载到缓存中,因而一般会根据当前车辆的位置,加载车辆附近的一部分地图,该种地图称为局部点云地图。其中,此处所说的“附近”可以是空间上的附近,比如基于距离车辆指定半径范围内如方圆一公里以内的点云数据形成局部点云地图,也可以是时间上的接近,比如基于车辆过去5分钟以内获取的点云数据形成的局部点云地图。在更新维护局部点云地图的时候,通常需要在激光里程计中采用帧与帧之间的匹配或者帧与局部点云地图之间的匹配的方式推算出两个时刻的相对位姿关系,并基于两个时刻的相对位姿关系实现对局部点云地图进行计算更新。其中,帧与帧之间的匹配的方式计算量较低且速度比较快,但是更容易产生累计误差,而帧与局部点云地图之间的匹配的方式计算量相对较大,速度较慢,但是累计误差相对较小。因此在激光建图过程中,为了追求更高的准确度,通常会大量使用帧与局部点云地图之间的匹配的配准模式,而由于车辆的位置是在不停地前行变动的,因此在激光建图过程中为了实现对帧与局部点云地图之间的精准匹配,就需要对局部点云地图进行同步更新。
目前的现有技术,对局部点云地图进行更新的方法大致可以分为两类:一种是基于空间的局部点云地图更新维护方案,另一种是基于时间的局部点云地图更新维护方案。其中,对于基于空间的局部点云地图更新方案,在每一次局部点云地图更新时,都需要在全局地图中进行对当前车辆位置的近邻查找,直至近邻的距离超出指定的半径范围。而对于基于时间的局部点云地图更新方案,则需要维护一个点云列队,以保持预设时段内获取的点云数据,并在预设时段届满时将这些点云合并,以形成当前局部点云地图。然而,这两种局部点云地图更新方案都存在需要较大的计算量的缺陷,如以基于空间的局部点云地图更新方案为例,假设全局地图中的点的个数为M,使用KD-Tree保存,当前帧点的数目为N,那么更新局部点云地图的总计算量将达到O(N*Log(M)+M(1-1/k)),其中对当前帧点云降采样加入全局地图的计算量为O(N*Log(M)),通过KD-Tree查找与当前车辆位置距离不超过指定半径r的点的计算量为O(M(1-1/k))。而以对于基于时间的局部点云地图更新方案为例,假设一共维护了K帧的点云,每一帧的点云数目为N,则更新局部点云地图的总计算量将为O(KN)。可见,现有的上述两种不同的局部点云地图的更新维护方案都需要大量的计算处理,这对算法和计算资源都提出了很大的挑战,特别是难以与激光扫描频率同步,进而还会使局部点云地图更新的准确性达不到最佳的效果。可见,提供一种计算量小的局部点云地图更新方案,以适应自动驾驶复杂和大数据量的应用场景,保证局部点云地图的更新频率和准确性已成为一种迫切的需求。
发明内容
本发明实施例提供一种基于最近最少使用算法的局部点云地图更新维护方案,以至少解决现有技术中局部点云地图的更新维护方案都需要大量的计算处理,影响局部点云地图的更新频率和准确率的技术问题。
第一方面,本发明实施例提供一种局部点云地图更新维护方法,其是基于最近最少使用算法实现的,所述方法包括:
在获取到最新一帧的点云数据时,确定出新获取帧中的每个点云对应的第一数据信息,其中,第一数据信息包括相应点云与栅格的对应关系和相应点云的属性信息;
根据第一数据信息采用最近最少使用算法对局部点云地图进行更新,其中,所述局部点云地图由基于最近最少使用算法形成的用于存储局部点云地图对应的栅格和相应栅格对应的点云特征的数据结构及其中存储的数据信息限定。
第二方面,本发明实施例提供一种局部点云地图更新维护装置,包括:
第一数据信息获取模块,用于在获取到最新一帧的点云数据时,确定出新获取帧中的每个点云对应的第一数据信息,其中,第一数据信息包括相应点云与栅格的对应关系和相应点云的属性信息;
局部点云地图更新模块,用于根据第一数据信息采用最近最少使用算法对局部点云地图进行更新,其中,所述局部点云地图由基于最近最少使用算法形成的用于存储局部点云地图对应的栅格和相应栅格对应的点云特征的数据结构及其中存储的数据信息限定。
第三方面,本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;以及
处理器,用于执行存储器中存储的可执行指令,所述可执行指令在由所述处理器执行时实现上述方法的步骤。
第四方面,本发明实施例提供一种移动工具,所述移动工具包括:上述的局部点云地图更新维护装置或上述的电子设备。
第五方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
第六方面,本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述的方法。
本发明实施例的有益效果在于:本发明实施例提供的方法先通过确定出获取到的最新一帧的点云数据中每一个点云与栅格之间的对应关系和每一个点云对应的属性信息,然后根据每一个点云与栅格之间的对应关系和每一个点云对应的属性信息,将最新一帧的点云数据更新入用于存储局部点云地图的数据信息的数据结构中,且在对局部点云地图的数据结构进行更新时利用的是最近最少使用算法对存储的局部点云地图的数据信息进行处理,令数据结构中所存储的数据信息均为最近常用的数据信息,保证用于形成局部点云地图的数据信息的合理性,由此本发明实施例还提供了一种新的局部点云地图维护方案,即根据基于最近最少使用算法形成的数据结构来利用最近常用的数据信息限定和形成局部点云地图,其与现有技术中的基于空间的局部点云地图相比,在更新维护时无需对局部点云地图的全部点云数据进行近邻查找和与车辆距离的重新计算,与现有技术中的基于时间的局部点云地图的更新维护方案相比,不需要同时维护多帧点云数据而是能够基于最新获取到的单帧点云数据进行局部点云地图的更新,因此,本发明实施例的基于最近最少使用算法的局部点云地图能够有效降低计算量,且还能够保证对局部点云地图更新的及时性,进而有效提高局部点云地图的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施方式的局部点云地图更新维护方法的流程示意图;
图2为图1的实施方式的局部点云地图更新维护方法的步骤S1的方法的流程示意图;
图3为本发明一实施方式的局部点云地图更新维护方法中的采用哈希表作为存储局部点云地图对应的栅格和相应栅格对应的点云特征的数据结构的示意图;
图4为本发明一实施方式的局部点云地图更新维护方法的步骤S2的方法流程示意图;
图5为本发明一实施方式的局部点云地图更新维护方法的步骤S22的方法流程示意图;
图6为图5的实施方式的局部点云地图更新维护方法中在相应栅格的点云特征的获取结果为从当前的局部点云地图中获取到了相应栅格的点云特征时采用最近最少使用算法对局部点云地图更新的效果示意图;
图7A和图7B为图5的实施方式的局部点云地图更新维护方法中在相应栅格的点云特征的获取结果为当前的局部点云地图中未包括相应栅格的点云特征时采用最近最少使用算法对局部点云地图更新的效果示意图,其中图7A为在第二存储单元中新增存储节点的示意图,图7B为删除第二存储单元中尾部的存储节点的示意图;
图8为本发明一实施方式的局部点云地图更新维护装置的原理框图;
图9为本发明另一实施方式的局部点云地图更新维护装置的原理框图;
图10为本发明一实施方式的移动工具的原理框图;
图11为本发明另一实施方式的移动工具的原理框图;
图12为本发明的电子设备的一实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
在本发明中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/ 或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/ 或线程中,并且元件可以在一台计算机上本地化和/ 或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/ 或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/ 或远程过程来进行通信。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例中的局部点云地图更新维护方法可以应用在局部点云地图更新维护装置中,以使得用户能够利用局部点云地图更新维护装置来生成局部点云地图并对局部点云地图进行更新维护,以有效降低局部点云地图的更新维护的计算量并能够有效提高局部点云地图的准确性。这些局部点云地图更新维护装置包括但不限于智能手机、智能平板、个人PC、计算机、云端服务器等。特别地,本发明实施例中的局部点云地图更新维护方法还可以应用在各移动工具或移动设备上,如自动驾驶汽车、机器人、自动清洁设备等上,以辅助这些移动工具或移动设备自动生成并更新维护局部点云地图,进而辅助这些移动工具或设备实现自动驾驶功能,本发明对此不作限定。
下面结合附图对本发明作进一步详细的说明。
图1示意性地展示了本发明一实施例的局部点云地图更新维护方法,参照图1,该方法包括以下步骤:
步骤S1:在获取到最新一帧的点云数据时,确定出新获取帧中的每个点云对应的第一数据信息,其中,第一数据信息包括相应点云与栅格的对应关系和相应点云的属性信息;
步骤S2:根据第一数据信息采用最近最少使用算法对局部点云地图进行更新,其中,所述局部点云地图由基于最近最少使用算法形成的用于存储局部点云地图对应的栅格和相应栅格对应的点云特征的数据结构及其中存储的数据信息限定。
在步骤S1中,最新一帧的点云数据是指通过三维激光传感器(如激光雷达等)获取到的要更新入点云地图和/或局部点云地图中的最新的一帧的点云数据,要确定出的第一数据信息中,包括有与新获取帧中的各个点云一一对应的点云与栅格的对应关系和点云的属性信息。点云与栅格的对应关系是指该点云在栅格化的地图中的位置与该位置所在的栅格之间的关系,用于表示该点云在栅格化的地图中的位置是位于哪一个栅格中;点云的属性信息是指点云本身的特征信息,其可以包括有点云的坐标以及点云的反射强度(即光强度)等。作为一种优选实施方式,在本发明实施例中的点云的属性信息为点云的在里程计坐标系(又称odometry坐标系)下的三维坐标向量。由于在获取到一帧点云数据时,已确定出该帧的点云数据中各点云的在自车坐标系(又称baselink坐标系)中的坐标,因而只需要对新获取帧中的各个点云作坐标变换,将新获取帧中的各点云的自车坐标系中的坐标变换为里程计坐标系中的三维坐标即可得到第一数据信息中的相应点云的属性信息。其中,自车坐标系为激光传感器扫描之后得到的以自车为坐标中心的坐标系,里程计坐标系为基于测距源来计算的坐标系,如车轮里程计,视觉里程计或惯性测量单元。而对于第一数据信息中的相应点云与栅格的对应关系,则需要找出新获取帧中的各点云在里程计坐标系下的位置,并找出该位置对应的栅格。具体地,在确定第一数据信息时可以通过以下方法来实现。图2示意性地展示了本发明一实施例的局部点云地图更新维护方法中的确定第一数据信息的方法的流程,参照图2所示,该方法可以实现为包括以下步骤:
步骤S11:根据新获取帧的点云数据对新获取帧中包含的各个点云进行坐标变换,确定出各个点云在里程计坐标系下的三维坐标向量;
步骤S12:根据各个点云在里程计坐标系下的三维坐标向量确定出新获取帧中包含的各个点云与栅格地图中的栅格的对应关系,其中,所述对应关系由各个点云对应的栅格的位置信息表征;
步骤S13:将各个点云在里程计坐标系下的三维坐标向量和该点云对应的栅格的位置信息作为相应点云对应的第一数据信息。
步骤S11是对新获取帧的点云数据中的各个点云进行坐标变换的步骤,具体地,将新获取帧中的各个点云的位姿进行转换,可以实现为通过以下公式进行转换:q=R*p+t,其中,p为转换前的各个点云的在自车坐标系中的坐标位置,q为转换后的各个点云的在里程计坐标系中的坐标位置,R为旋转分量,为3×3的旋转矩阵,t为平移分量,为3×1的平移向量。通过上述的方式,即可实现将新获取帧中的各点云作坐标变换,得到变换后的在里程计坐标系下的各点云的三维坐标向量q=[q 1,q 2,q 3]T,q 1,q 2,q 3为变换后的点云q的坐标的xyz值。由此,以相应点云的属性信息为该点云的三维坐标向量为例,通过步骤S11即可得到第一数据信息中的相应点云的属性信息。在一些实施方式中,得到坐标变换后的点云后,在加入局部点云地图之前或者之后,会先做一次降采样,从而能够降低数据冗余度。
步骤S12是根据步骤S11得到的新获取帧中的各个点云在里程计坐标系下的三维坐标向量找出各个点云在栅格地图中所对应的栅格的步骤。在步骤S12中,栅格地图的各栅格的长宽高为在对地图进行栅格化的时候就确定的,可记为s=[s 1,s 2,s 3]T,s1,s2,s3为各栅格的长宽高值,因而可以根据各个点云的变换后的三维坐标向量q=[q 1,q 2,q 3]T和栅格地图的各栅格的长宽高s=[s 1,s 2,s 3]T计算得到各点云在栅格地图中的具体位置向量k=[k 1,k 2,k 3]T,其中,k 1=q 1/s 1,k 2=q 2/s 2,k 3=q 3/s 3。可以理解的是,每一个点云q均对应有一个栅格地图位置向量k,因而可以得到与新获取帧中的点云数据中的每一个点云q对应的用于表示该点云在栅格地图中的位置的位置向量k。其中,在计算每一个点云q在栅格化后的地图中的位置向量k的时候,与点云q的q 1、q 2、q 3对应的k 1、k 2、k 3并非都是整数值,因而可以通过对k 1、k 2、k 3进行取整,以将各点云与栅格地图的各栅格相对应,从而就可以通过取整化后的位置向量k确定出与位置向量k对应的栅格地图中的一个栅格,形成用于表示该栅格的位置信息K。因此,在本发明实施例的优选实施方式中,是通过对位置向量k中的k 1、k 2、k 3进行取整,以得到与每一个点云q在栅格地图中的对应的栅格的位置信息K的。其中,对位置向量k中的k 1、k 2、k 3进行取整的取整方式,应统一化,如统一向上取整或向下取整等,以避免由于取整方式的不一致导致局部点云地图的更新维护出现较大误差的情况。可以理解的是,一个位置信息K表示一个栅格,位置向量k是与各点云q一一对应的,而位置信息K与各点云q并非是一一对应关系,可能存在有多个点云q对应一个位置信息K的情况,即一个栅格中可能包含多个点云。
作为一种优选实施方式,本发明实施例是将通过步骤S11得到的用于表征新获取帧中的各个点云的属性信息的各个点云在里程计坐标系下的三维坐标向量和通过步骤S12得到用于表征新获取帧中的各个点云与栅格的对应关系的位置信息K,作为各个点云的第一数据信息的,即每个点云都对应了一个确定出的第一数据信息,该第一数据信息中的相应点云的属性信息是由该点云在里程计坐标系下的三维坐标向量表征,该第一数据信息中的相应点云与栅格的对应关系是通过计算出的栅格位置信息K表征。
步骤S2为根据步骤S1中得到的与新获取帧中的各个点云对应的第一数据信息更新局部点云地图的步骤。其中,最近最少使用算法,它的基本思想是长期不被使用的数据,在未来被用到的几率也不大,所以当新的数据进来时我们可以优先把这些数据替换掉,因而可以根据最近最少使用算法对局部点云地图进行更新维护,将最近使用的点云数据保存,将长期不被使用的点云数据删除,以保存的最近使用的点云数据来形成局部点云地图和实现对局部点云地图的更新维护。由此,本发明实施例的局部点云地图可以实现为是由基于最近最少使用算法形成的用于存储局部点云地图对应的栅格和相应栅格对应的点云特征的数据结构及其中存储的数据信息限定的,即与基于空间的局部点云地图是基于距离车辆指定半径范围内的点云数据形成局部点云地图,基于时间的局部点云地图是基于车辆过去一段时间以内获取的点云数据形成局部点云地图的局部点云地图限定方式不同,本发明实施例是基于最近最少使用算法形成的数据结构及其中存储的点云数据来形成局部点云地图的。所述的点云特征是用于表示栅格中的点云数据情况的信息,其可以包含有栅格对应的点云数量和点云平均值,点云数量是指在该栅格位置内的点云的总数量,可以用n表示,点云平均值是指在该栅格位置内的点云的位置平均值,可以用q ave 表示。由于栅格内的点云的位置平均值能够在一定程度上表征该栅格中的点的大概位置,因此,本发明实施例优选通过存储点云的位置平均值来表征该栅格对应的点云数据的位置特征,以实现对要存储的点云数据的降采样,避免存储太多的点云数据造成内存负担。其中,某一栅格中的点云的位置平均值q ave的计算公式可以通过以下公式计算得到:
其中,q i 为该栅格中的第i个点云,n为该栅格中的点云的总数量。
对于用于存储局部点云地图对应的栅格和相应栅格对应的点云特征的数据结构,其可以包括有用于存储局部点云地图对应的栅格的第一存储单元和用于存储相应栅格对应的点云特征的第二存储单元,从而可以通过该数据结构对用于形成局部点云地图的点云数据信息进行存储。其中,第一存储单元中的栅格和第二存储单元中的点云特征通过相应点云特征的存储地址指针相关联。对于数据结构中的第二存储单元,其优选设置为具有预设的最大存储容量,该预设的最大存储容量与预设的局部点云地图的定义相关,如,可以基于局部点云地图的覆盖范围区域大小确定该第二存储单元的最大存储容量。由于第二存储单元具有预设的最大存储容量,因而在步骤S2中采用最近最少使用算法对局部点云地图进行更新时,可以根据第二存储单元中存储的数据量与第二存储单元的最大存储容量来确定出数据结构中是否需要对数据信息进行删除,以保证数据结构中存储的数据信息均为最近使用的数据信息,并基于对存储的最近使用的数据信息的限定来描述和形成符合期望的局部点云地图。
优选地,为了减少第一存储单元的栅格关联的相应点云特征的存储地址指针的修改次数,提高算法性能,可以将第二存储单元进一步设置为包括用于提供具有固定地址的存储空间的存储节点和用于表征存储节点的排列顺序的节点位置两个属性,以方便基于最近最少使用算法对第二存储单元进行相应的更新处理。具体地,在第二存储单元中,可以将各存储节点均设置为包括有用于指示该存储节点的内存位置的存储地址指针和用于指示该存储节点在第二存储单元中的排列顺序的节点位置两个属性,其中存储地址指针用于指示内存位置,因而具有固定不变的属性,其值不会随着存储节点的排列顺序的变化而变化;而节点位置则可以根据存储节点在在第二存储单元中的排列次序而动态变化,以用于体现存储节点中存储的点云特征数据的访问次序,由此,第二存储单元中存储节点的排列顺序和节点位置优选是基于该存储节点中的点云特征数据被访问的时间顺序而设定的,即存储节点的排列顺序与其内的数据被访问的时间顺序是相关的。
在一些实施方式中,该数据结构中的第一存储单元可以实现为哈希表,第二存储单元可以实现为具有预设的最大存储容量的链表,最大存储容量由链表的最大存储节点数量定义。以此为例,参照图3所示,位于上方的为第一存储单元,第一存储单元的各存储节点用于存储用于形成局部点云地图的数据信息中的栅格的位置信息,位于下方的为第二存储单元,第二存储单元的各存储节点用于存储用于形成局部点云地图的数据信息中的栅格的点云特征。其中,存储节点的从左到右的排序顺序即体现了其在链表中的节点位置和次序,该节点位置和次序体现了该存储节点中存储的相应的栅格的点云特征最近被使用的时间顺序,最左的存储节点中存储的相应的栅格的点云特征为局部点云地图中的最近使用的栅格的点云特征,最右的存储节点中存储的相应的栅格的点云特征为局部点云地图中的最久没有使用的栅格的点云特征。在第一存储单元中所存储的栅格的位置信息具体可以是前文计算出的栅格的位置信息K,由此在第一存储单元实现为哈希表的实施例中,通过hask(K)即可定位到位置信息为K的相应栅格在哈希表中的存储节点,其中,需要说明的是,K为栅格的位置信息,K 1、K 2、K 3为对应的不同栅格的位置信息,hask()为哈希函数,可以根据栅格的位置信息K找出该栅格在第一存储单元中的存储节点。更优地,可以通过在相应栅格的第一存储单元的存储节点中存储与该栅格对应的相关点云特征的存储地址指针来实现栅格与其对应的点云特征的关联,由此,在第一存储单元的存储节点中除了存储栅格位置信息外,还会同时存储该栅格对应的点云特征在第二存储单元中的存储地址指针,由此根据栅格的位置信息K就可以确定出该位置信息K对应的栅格的点云特征。
对于步骤S2,图4示意性地展示了本发明一实施例的局部点云地图更新维护方法的步骤S2的方法流程,参照图4所示,该方法可以实现为包括以下步骤:
步骤S21:根据新获取帧中包含的各个点云与栅格的对应关系从当前的局部点云地图中获取相应栅格的点云特征;
步骤S22:根据相应栅格的点云特征的获取结果和该栅格对应的点云的属性信息采用最近最少使用算法对局部点云地图进行更新。
步骤S21是基于新获取帧中的各个点云获取该点云对应的栅格的点云特征的步骤,可以通过新获取帧中的每个点云对应的栅格的位置信息K,利用栅格与相应的点云特征的存储地址指针的关联关系来获取各个点云对应的相应栅格的点云特征,其具体实现可以结合前文对第一存储单元和第二存储单元的示例性描述来实施,故在此不再赘述。在步骤S21中,可以根据对相应栅格及其对应的点云特征的获取结果,来进一步判断新获取帧中包含的各个点云所对应的栅格是否存在于当前的局部点云地图中,根据对步骤S21的获取结果的判断结果的不同,步骤S22的具体的对局部点云地图进行更新的执行动作也有所不同。具体地,在步骤S21中,由于已在步骤S1中确定出了新获取帧中的每个点云对应的第一数据信息,因而能够根据新获取帧中的每个点云对应的栅格的位置信息K,从用于存储局部点云地图的数据结构中,查询其中是否存储有与新获取帧中的每个点云对应的栅格及该栅格对应的点云特征,若能够从用于存储局部点云地图的数据结构中获取到与某一点云对应的栅格及相应的点云特征,即表示该点云所对应的栅格已经存在于当前的局部点云地图中,只需要根据新获取帧中的点云对其进行点云特征的更新即可,若不能够从用于存储局部点云地图的数据结构中获取到与某一点云对应的栅格及相应的点云特征,即表示该点云所对应的栅格在当前的局部点云地图中还不存在,因而就需要将该点云对应的栅格及相应的点云特征加入到局部点云地图中,由此,就能够对新获取帧中包含的各个点云所在的栅格是否在当前的局部点云地图作出判断,并根据判断结果进行相适配的局部地图更新动作。
在步骤S22中,根据对得到的新获取帧中包含的各个点云所对应的栅格是否存在于当前的局部点云地图的判断结果,会执行不同的对局部点云地图进行更新的动作。可以理解的是,在步骤S22中,优选是根据新获取帧中的各个点云对应的判断结果,基于逐个点云的第一数据信息对局部点云地图进行更新的,而对于新获取帧中的各个点云的更新先后顺序,并无特别要求。在其他实施方式中,也可以基于新获取帧中的点云数据逐个确定出了各个点云与栅格的对应关系之后,根据点云与栅格的对应关系,基于与同一栅格对应的所有点云的第一数据信息对栅格的点云特征进行更新,即步骤S22中的该栅格对应的点云的属性信息,既可以是指某一栅格对应的新获取帧中的某一点云(即与该栅格具有对应关系的某一个点云)的属性信息,也可以是指某一栅格对应的新获取帧中的所有与该栅格具有对应关系的(即所有位于该栅格内)点云的属性信息,本发明实施例对此不进行限制。以基于逐个点云的第一数据信息对局部点云地图进行更新为例,图5示意性地展示了本发明一实施例的局部点云地图更新维护方法的步骤S22的方法流程,参照图5所示,根据相应栅格的点云特征的获取结果的不同,步骤S22可以实现为包括以下步骤:
步骤S22A:在相应栅格的点云特征的获取结果为从当前的局部点云地图中获取到了相应栅格的点云特征时,根据获取到的相应栅格的点云特征和该栅格对应的点云的属性信息确定出相应栅格的最新点云特征,根据相应栅格的最新点云特征采用最近最少使用算法对所述第二存储单元进行更新;
步骤S22B:在相应栅格的点云特征的获取结果为当前的局部点云地图中未包括相应栅格的点云特征时,根据该栅格对应的点云的属性信息确定出相应栅格的最新点云特征,根据相应栅格的最新点云特征采用最近最少使用算法对所述第二存储单元进行更新,并根据对第二存储单元的更新结果更新所述第一存储单元。
其中,步骤S22A为在相应栅格的点云特征的获取结果为从当前的局部点云地图中获取到了相应栅格的点云特征时所执行的步骤,步骤S22B为在相应栅格的点云特征的获取结果为当前的局部点云地图中未包括相应栅格的点云特征时所执行的步骤。在该实施例中,该栅格对应的点云的属性信息是指与该栅格具有对应关系的某一个点云的属性信息,该某一个点云是在前述步骤中用于确定出该栅格的那个点云。
首先,针对步骤S22A,即在相应栅格的点云特征的获取结果为当前的局部点云地图中未包括相应栅格的点云特征时的情况进行详细说明。在相应栅格的点云特征的获取结果为从当前的局部点云地图中获取到了相应栅格的点云特征时,表示相应点云所对应的栅格是用于形成当前局部点云地图的栅格,因此可以根据该点云的属性信息对获取到的该栅格对应的点云特征进行更新,以确定出加入该点云后该栅格的新的点云特征,由此实现对局部点云地图的基于新获取帧中的点云数据的更新。其中,由于点云特征包括有该栅格对应的点云数量和点云平均值,因而根据新获取帧中的该点云的属性信息对该栅格对应的点云特征进行更新,可以实现为包括对该栅格对应的点云数量更新和对该栅格的点云平均值更新。对于点云数量更新,以是逐个点云更新为例,可以直接将该栅格对应的点云数量n设置为n=n+1,即可完成根据某一点云的属性信息对该点云对应的栅格对应的点云特征中的点云数量的更新;对于点云平均值的更新,由于是逐个点云更新,因此可以将该栅格对应的点云平均值q ave 设置为根据以下公式计算得到更新后的点云平均值:
其中,q’为新加入的某一点云的三维坐标向量,从而能够将新的点云的位置信息加入至该栅格对应的点云平均值q ave 中,完成根据该点云对该栅格对应的点云特征中的点云平均值的更新。
此时,步骤S22A中的根据相应栅格的最新点云特征采用最近最少使用算法对所述第二存储单元进行更新,可以实现为:
将第二存储单元中的相应存储节点中的点云特征更新为该栅格对应的最新点云特征,将该存储节点置于第二存储单元的头部。
由于在当前的局部点云地图中有新获取帧中的该点云对应的栅格的位置信息和点云特征,因此可以直接将第二存储单元中的与该点云对应的栅格的点云特征更新为在步骤S221A中确定出的加入该点云后该栅格的新的点云特征,并根据最近最少使用算法,将相应的栅格的点云特征的存储节点置于第二存储单元的头部。
在本发明的实施例中,由于第二存储单元中的存储节点的存储空间是内存中的固定空间,其内存地址即存储节点地址指针是固定的,在利用最近最少使用算法对第二存储单元进行更新时,只是更新了第二存储单元的存储节点中的存储内容和第二存储单元中的存储节点的排列顺序,而第一存储单元中的存储的是栅格地址信息和相应栅格关联的点云特征的存储节点地址指针,因此,在对第二存储单元进行存储内容和存储节点的排列顺序的更新时,完全不会影响第一存储单元的存储信息,因此,在当前的局部点云地图中有新获取帧中的该点云对应的栅格的位置信息和点云特征时,本发明实施例只需要对第二存储单元进行更新,并不需要对第一存储单元进行任何处理,进一步减少了数据处理量和计算量,提高了局部点云地图更新维护的效率。
示例性地,参照图6所示,当新获取帧中的点云q对应的栅格为在当前局部点云地图中的K 2,因而能够在当前的局部点云地图中获取到该点云q对应的栅格K 2的位置信息和点云特征n 2和q 2_ave ,因而将栅格K 2对应的点云特征n 2和q 2_ave 更新后,再将第二存储单元中的栅格K 2对应的点云特征n 2和q 2_ave 至于第二存储单元的头部即可完成基于该点云q的属性信息对相应栅格的更新,进而完成基于该点云q的第一数据信息对局部点云地图的更新。
对于步骤S22B,即在相应栅格的点云特征的获取结果为当前的局部点云地图中未包括相应栅格的点云特征时的情况,此时,表示相应点云所对应的栅格不是用于形成当前局部点云地图的栅格,因此需要先对该栅格的点云特征进行初始化,即将其对应的点云数量n和点云平均值q ave 均设置为某一初始值,如均设置为零,然后再根据相应点云的属性信息对获取到的该栅格对应的点云特征进行更新,以确定出加入该点云后栅格的点云特征,作为该栅格的最新点云特征。具体的对栅格对应的点云特征进行更新的步骤,可以参照步骤S22A中的相关内容,在此不再赘述。
此时,步骤S22B中的根据相应栅格的最新点云特征采用最近最少使用算法对所述第二存储单元进行更新,并根据对第二存储单元的更新结果更新所述第一存储单元,可以实现为:
在第二存储单元中新增相应栅格的最新点云特征的存储节点,将该存储节点置于第二存储单元的头部,并将第二存储单元中的超出其预设最大存储容量的尾部存储节点删除;
所述根据对第二存储单元的更新结果更新所述第一存储单元,包括
在第一存储单元中新增相应栅格的存储信息和与其关联的对应点云特征在第二存储单元中的存储节点地址指针,并在第二存储单元中的尾部存储节点被删除时,删除第一存储单元中的相应栅格的存储信息。
由于在步骤S22B中,当前的局部点云地图中没有新获取帧中的该点云对应的栅格的位置信息和点云特征,因此需要将确定出的该点云对应的栅格的最新点云特征加入至第二存储单元中,因而在第二存储单元中新增相应栅格的最新点云特征的存储节点,并根据最近最少使用算法,将相应的栅格的点云特征的存储节点置于第二存储单元的头部。由于在第二存储单元中新增了存储节点,因而基于最近最少使用算法,还需要根据第二存储单元中的预设最大存储容量,对第二存储单元中的超出预设最大存储容量的尾部存储节点进行删除操作。而由于在第二存储单元中新增了存储节点,因而需要在第一存储单元中新增相应栅格的存储信息和与其关联的对应点云特征在第二存储单元中的存储地址指针,同时如果第二存储单元中删除了超出预设最大存储容量的尾部存储节点时,第一存储单元中的相应栅格的存储信息也需要删除。其中,被删除的存储节点对应的栅格将不再作为更新后的局部点云地图的一部分,也就是说,本发明实施例通过基于预设最大存储容量对第一存储单元和第二存储单元中的栅格及其对应的点云特征的内容进行更新的过程中,就动态定义了用于形成局部点云地图的点云数据内容,当某一栅格超出了第二存储单元的最大存储容量时,就表明其已经足够远离当前车辆以至于其将不再被视为属于最新的局部点云地图的一部分。由此,本发明实施例还基于最近最少使用算法定义了局部点云地图的新的形成方式,以使得局部点云地图的更新维护能够更加快捷方便,计算量更少。
示例性地,参照图7A和图7B所示,当新获取帧中的点云q对应的栅格不在当前的局部点云地图中,即点云q对应了当前的局部点云地图中所没有存储的栅格K 4,此时假设根据步骤S22B得到的栅格K 4对应的最新点云特征为包括点云数量n 4和点云平均值q 4_ave ,则就会在第二存储单元中新增用于存储栅格K 4对应的点云特征n 4和q 4_ave 的存储节点,并将该存储节点置于第二存储单元的头部,并进一步判断第二存储单元中所存储的数据是否超出了预设最大存储容量,当第二存储单元中所存储的数据超出了预设最大存储容量时,还会将位于第二存储单元中尾部的用于存储栅格K 1对应的点云特征n 1和q 1_ave 的存储节点删除,并在第一存储单元中新增栅格K 4的存储信息以及栅格K 4对应的点云特征n 4和q 4_ave 的存储地址指针(如为用于存储点云特征n 4和q 4_ave 的存储节点的地址指针)。
由此,基于新获取帧中的点云数据,在基于逐个点云的第一数据信息进行局部点云地图更新时,通过重复上述的步骤S21和步骤S22,将新获取帧中的各个点云都更新至局部点云地图中之后,即可完成对局部点云地图的更新维护。
示例性地,本发明实施例选用的最近最少使用算法可以为LRU或者其拓展,如LRU-K,Two-queue,multi-queue等。
本发明的局部点云地图更新维护方法通过先确定出新获取帧的每一个点云与栅格之间的对应关系和每一个点云对应的属性信息,并通过栅格和相应栅格对应的点云特征的形式在基于最近最少使用算法设置的特定的数据结构中存储符合期望的点云数据,以形成局部点云地图,由此,在更新局部点云地图的时候,根据新获取帧中的点云数据采用最近最少使用算法即可对用于形成局部点云地图的数据信息进行逐个点云的更新,以将新获取帧中的各个点云都加入至局部点云地图中,由于采用最近最少使用算法是基于逐个点云进行局部点云地图的更新的,而每个点云加入局部点云地图的操作量为常数,因此,以新获取帧中的点云数目为N为例,采用本发明实施例的算法进行局部点云地图的更新的计算量为O(N),明显小于基于空间和时间的局部点云地图更新维护方案,有效降低了局部点云地图更新维护的计算量,且由于是逐帧逐点进行更新的,还能够有效提高局部点云地图的准确性。
图8示意性地展示了本发明一实施方式的局部点云地图更新维护装置的原理框图,参照图8所示,该装置包括:
第一数据信息获取模块1,用于在获取到最新一帧的点云数据时,确定出新获取帧中的每个点云对应的第一数据信息,其中,第一数据信息包括相应点云与栅格的对应关系和相应点云的属性信息;
局部点云地图更新模块2,用于根据第一数据信息获取模块1确定出的第一数据信息采用最近最少使用算法对局部点云地图进行更新,其中,所述局部点云地图由基于最近最少使用算法形成的用于存储局部点云地图对应的栅格和相应栅格对应的点云特征的数据结构及其中存储的数据信息限定。
在一些实施方式中,第一数据信息获取模块1具体可以用于:
根据新获取帧的点云数据对新获取帧中包含的各个点云进行坐标变换,确定出各个点云在里程计坐标系下的三维坐标向量;
根据各个点云在里程计坐标系下的三维坐标向量确定出新获取帧中包含的各个点云与栅格地图中的栅格的对应关系,其中,所述对应关系由各个点云对应的栅格的位置信息表征;
将各个点云在里程计坐标系下的三维坐标向量和该点云对应的栅格的位置信息作为相应点云对应的第一数据信息。
在一些实施方式中,局部点云地图更新模块2具体可以用于:
根据新获取帧中包含的各个点云与栅格的对应关系从当前的局部点云地图中获取相应栅格的点云特征;
根据相应栅格的点云特征的获取结果和该栅格对应的点云的属性信息采用最近最少使用算法对局部点云地图进行更新。
图9示意性地展示了本发明另一实施方式的局部点云地图更新维护装置的原理框图,参照图9,局部点云地图更新维护装置在图8所示实施例的基础上,还包括有:
数据存储模块3,包括有用于存储局部点云地图对应的栅格的第一存储单元和用于存储相应栅格对应的点云特征的第二存储单元,其中,所述第一存储单元中的栅格和第二存储单元中的点云特征通过相应点云特征的存储地址指针相关联。
在一些实施方式中,所述局部点云地图更新模块2具体还可以用于:
在相应栅格的点云特征的获取结果为从当前的局部点云地图中获取到了相应栅格的点云特征时,根据获取到的相应栅格的点云特征和该栅格对应的点云的属性信息确定出相应栅格的最新点云特征,根据相应栅格的最新点云特征采用最近最少使用算法对所述第二存储单元进行更新;
在相应栅格的点云特征的获取结果为当前的局部点云地图中未包括相应栅格的点云特征时,根据该栅格对应的点云的属性信息确定出相应栅格的最新点云特征,根据相应栅格的最新点云特征采用最近最少使用算法对所述第二存储单元进行更新,并根据对第二存储单元的更新结果更新所述第一存储单元。
需要说明的是,本发明实施例的局部点云地图更新维护装置中的各个模块的实现过程和实现原理具体可以参加上述方法实施例的相应描述,故在此均不再赘述。示例性地,本发明实施例的局部点云地图更新维护装置可以是任何智能设备,包括但不限于计算机、智能手机、个人电脑、机器人等。
图10和图11示意性地显示了本发明一种实施方式的移动工具,如图10所示,该移动工具包括:
机身70;
局部点云地图更新维护装置71,设置于所述机身70上,用于对局部点云地图进行更新维护。
其中,局部点云地图更新维护装置71的具体其实现过程和实现原理具体可参见上述实施例的相应描述,在此不再赘述。需要说明的是,本发明实施例中的移动工具可以是具有自动清扫功能的无人清洁车、无人清扫机、清洁机器人等。
如图11所示,该移动工具包括:
机身80;
设置于机身上的存储器81,用于存储可执行指令;以及
设置于机身上的处理器82,用于执行存储器81中存储的可执行指令,所述可执行指令在由所述处理器82执行时实现上述各实施例中的局部点云地图更新维护方法的步骤。
需要说明的是,本发明实施例中的移动工具可以是具有自动清扫功能的无人清洁车、无人清扫机、清洁机器人等,本发明实施例的移动工具中涉及的局部点云地图更新维护方法的具体实现过程和实现原理具体可参见上述方法实施例的相应描述,在此不再赘述。
本发明实施例所称的“移动工具”可以是国际自动机工程师学会(Society ofAutomotive Engineers International,SAE International)或中国国家标准《汽车驾驶自动化分级》制定的L0-L5自动驾驶技术等级的车辆。
示例性地,移动工具可以是具有如下各种功能的车辆设备或机器人设备:
(1)载人功能,如家用轿车、公共汽车等;
(2)载货功能,如普通货车、厢式货车、甩挂车、封闭货车、罐式货车、平板货车、集装厢车、自卸货车、特殊结构货车等;
(3)工具功能,如物流配送车、自动导引运输车AGV、巡逻车、起重机、吊车、挖掘机、推土机、铲车、压路机、装载机、越野工程车、装甲工程车、污水处理车、环卫车、吸尘车、洗地车、洒水车、扫地机器人、送餐机器人、导购机器人、割草机、高尔夫球车等;
(4)娱乐功能,如娱乐车、游乐场自动驾驶装置、平衡车等;
(5)特殊救援功能,如消防车、救护车、电力抢修车、工程抢险车等。
在一些实施例中,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项实施例的局部点云地图更新维护方法。
在一些实施例中,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项实施例的局部点云地图更新维护方法。
在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一实施例的应局部点云地图更新维护方法。
在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述任一项实施例的局部点云地图更新维护方法。
图12是本发明另一实施例提供的执行局部点云地图更新维护方法的电子设备的硬件结构示意图,如图12所示,该设备包括:
一个或多个处理器910以及存储器920,图12中以一个处理器910为例。
执行局部点云地图更新维护方法的设备还可以包括:输入装置930和输出装置940。
处理器910、存储器920、输入装置930和输出装置940可以通过总线或者其他方式连接,图12中以通过总线连接为例。
存储器920作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的局部点云地图更新维护方法对应的程序指令/模块。处理器910通过运行存储在存储器920中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的局部点云地图更新维护方法。
存储器920可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据局部点云地图更新维护方法的使用所创建的数据等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器920可选包括相对于处理器910远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置930可接收输入的数字或字符信息,以及产生与图像处理设备的用户设置以及功能控制有关的信号。输出装置940可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器920中,当被所述一个或者多个处理器910执行时,执行上述任意方法实施例中的局部点云地图更新维护方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的车载电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.局部点云地图更新维护方法,其特征在于,其是基于最近最少使用算法实现的,所述方法包括:
在获取到最新一帧的点云数据时,确定出新获取帧中的每个点云对应的第一数据信息,其中,第一数据信息包括相应点云与栅格的对应关系和相应点云的属性信息;
根据第一数据信息采用最近最少使用算法对局部点云地图进行更新,其中,所述局部点云地图由基于最近最少使用算法形成的用于存储局部点云地图对应的栅格和相应栅格对应的点云特征的数据结构及其中存储的数据信息限定。
2.根据权利要求1所述的方法,其特征在于,相应点云的属性信息包括相应点云在里程计坐标系下的三维坐标向量,所述确定出新获取帧中的每个点云对应的第一数据信息,包括:
根据新获取帧的点云数据对新获取帧中包含的各个点云进行坐标变换,确定出各个点云在里程计坐标系下的三维坐标向量;
根据各个点云在里程计坐标系下的三维坐标向量确定出新获取帧中包含的各个点云与栅格地图中的栅格的对应关系,其中,所述对应关系由各个点云对应的栅格的位置信息表征;
将各个点云在里程计坐标系下的三维坐标向量和该点云对应的栅格的位置信息作为相应点云对应的第一数据信息。
3.根据权利要求1或2所述的方法,其特征在于,所述根据第一数据信息采用最近最少使用算法对局部点云地图进行更新,包括:
根据新获取帧中包含的各个点云与栅格的对应关系从当前的局部点云地图中获取相应栅格的点云特征;
根据相应栅格的点云特征的获取结果和该栅格对应的点云的属性信息采用最近最少使用算法对局部点云地图进行更新。
4.根据权利要求3所述的方法,其特征在于,所述数据结构包括用于存储局部点云地图对应的栅格的第一存储单元和用于存储相应栅格对应的点云特征的第二存储单元,其中,所述第一存储单元中的栅格和第二存储单元中的点云特征通过相应点云特征的存储地址指针相关联。
5.根据权利要求4所述的方法,其特征在于,所述第二存储单元具有预设的最大存储容量,所述最大存储容量基于局部点云地图的覆盖区域大小确定。
6.根据权利要求5所述的方法,其特征在于,所述第一存储单元为哈希表,所述第二存储单元为具有预设的最大存储容量的链表,所述最大存储容量由链表的最大存储节点数量定义。
7.根据权利要求6所述的方法,其特征在于,所述根据相应栅格的点云特征的获取结果和该栅格对应的点云的属性信息采用最近最少使用算法对局部点云地图进行更新,包括:
在相应栅格的点云特征的获取结果为从当前的局部点云地图中获取到了相应栅格的点云特征时,根据获取到的相应栅格的点云特征和该栅格对应的点云的属性信息确定出相应栅格的最新点云特征,根据相应栅格的最新点云特征采用最近最少使用算法对所述第二存储单元进行更新;
在相应栅格的点云特征的获取结果为当前的局部点云地图中未包括相应栅格的点云特征时,根据该栅格对应的点云的属性信息确定出相应栅格的最新点云特征,根据相应栅格的最新点云特征采用最近最少使用算法对所述第二存储单元进行更新,并根据对第二存储单元的更新结果更新所述第一存储单元。
8.根据权利要求7所述的方法,其特征在于,在相应栅格的点云特征的获取结果为从当前的局部点云地图中获取到了相应栅格的点云特征时,所述根据相应栅格的最新点云特征采用最近最少使用算法对所述第二存储单元进行更新,包括:
将第二存储单元中的相应存储节点中的点云特征更新为该栅格对应的最新点云特征,将该存储节点置于第二存储单元的头部。
9.根据权利要求7所述的方法,其特征在于,在相应栅格的点云特征的获取结果为当前的局部点云地图中未包括相应栅格的点云特征时,所示根据相应栅格的最新点云特征采用最近最少使用算法对所述第二存储单元进行更新,包括:
在第二存储单元中新增相应栅格的最新点云特征的存储节点,将该存储节点置于第二存储单元的头部,并将第二存储单元中的超出其预设最大存储容量的尾部存储节点删除;
所述根据对第二存储单元的更新结果更新所述第一存储单元,包括
在第一存储单元中新增相应栅格的存储信息和与其关联的对应点云特征在第二存储单元中的存储节点地址指针,并在第二存储单元中的尾部存储节点被删除时,删除第一存储单元中的相应栅格的存储信息。
10.局部点云地图更新维护装置,其特征在于,包括:
第一数据信息获取模块,用于在获取到最新一帧的点云数据时,确定出新获取帧中的每个点云对应的第一数据信息,其中,第一数据信息包括相应点云与栅格的对应关系和相应点云的属性信息;
局部点云地图更新模块,用于根据第一数据信息采用最近最少使用算法对局部点云地图进行更新,其中,所述局部点云地图由基于最近最少使用算法形成的用于存储局部点云地图对应的栅格和相应栅格对应的点云特征的数据结构及其中存储的数据信息限定。
11.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;以及
处理器,用于执行存储器中存储的可执行指令,所述可执行指令在由所述处理器执行时实现权利要求1至9任一项所述方法的步骤。
12.移动工具,其特征在于,所述移动工具包括:权利要求10所述的局部点云地图更新维护装置或权利要求11所述的电子设备。
13.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至9中任意一项所述方法的步骤。
14.一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211191101.2A CN115269763B (zh) | 2022-09-28 | 2022-09-28 | 局部点云地图更新维护方法、装置、移动工具及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211191101.2A CN115269763B (zh) | 2022-09-28 | 2022-09-28 | 局部点云地图更新维护方法、装置、移动工具及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115269763A CN115269763A (zh) | 2022-11-01 |
CN115269763B true CN115269763B (zh) | 2023-02-10 |
Family
ID=83757100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211191101.2A Active CN115269763B (zh) | 2022-09-28 | 2022-09-28 | 局部点云地图更新维护方法、装置、移动工具及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269763B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111179394A (zh) * | 2019-11-25 | 2020-05-19 | 苏州智加科技有限公司 | 点云场景渲染方法、装置和设备 |
CN112380312A (zh) * | 2020-11-30 | 2021-02-19 | 重庆智行者信息科技有限公司 | 基于栅格检测的激光地图更新方法、终端及计算机设备 |
CN113066160A (zh) * | 2021-03-09 | 2021-07-02 | 浙江大学 | 室内移动机器人场景数据及其测试用例的生成方法 |
CN113298910A (zh) * | 2021-05-14 | 2021-08-24 | 阿波罗智能技术(北京)有限公司 | 生成交通标志线地图的方法、设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11300964B2 (en) * | 2016-12-20 | 2022-04-12 | Korea Advanced Institute Of Science And Technology | Method and system for updating occupancy map for a robotic system |
CN111598916A (zh) * | 2020-05-19 | 2020-08-28 | 金华航大北斗应用技术有限公司 | 一种基于rgb-d信息的室内占据栅格地图的制备方法 |
-
2022
- 2022-09-28 CN CN202211191101.2A patent/CN115269763B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111179394A (zh) * | 2019-11-25 | 2020-05-19 | 苏州智加科技有限公司 | 点云场景渲染方法、装置和设备 |
CN112380312A (zh) * | 2020-11-30 | 2021-02-19 | 重庆智行者信息科技有限公司 | 基于栅格检测的激光地图更新方法、终端及计算机设备 |
CN113066160A (zh) * | 2021-03-09 | 2021-07-02 | 浙江大学 | 室内移动机器人场景数据及其测试用例的生成方法 |
CN113298910A (zh) * | 2021-05-14 | 2021-08-24 | 阿波罗智能技术(北京)有限公司 | 生成交通标志线地图的方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115269763A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108089572B (zh) | 用于车辆定位的方法和装置 | |
US11346950B2 (en) | System, device and method of generating a high resolution and high accuracy point cloud | |
CN108136867A (zh) | 自动驾驶车辆的车辆位置点转发方法 | |
CN110457407B (zh) | 用于处理点云数据的方法和装置 | |
US20220412742A1 (en) | Coordinate determination method and apparatus, computer device and storage medium | |
CN115235500B (zh) | 基于车道线约束的位姿校正方法及装置、全工况静态环境建模方法及装置 | |
CN114926809A (zh) | 可通行区域检测方法及装置、移动工具、存储介质 | |
CN115143996A (zh) | 定位信息修正方法及电子设备和存储介质 | |
CN108268514A (zh) | 基于八叉树的云端地图地图更新设备 | |
CN115269763B (zh) | 局部点云地图更新维护方法、装置、移动工具及存储介质 | |
CN116679698A (zh) | 用于车辆的自动驾驶方法、装置、车辆、设备和介质 | |
CN113295160A (zh) | 基于视觉导航的地图加载方法、装置、设备及存储介质 | |
CN110766793B (zh) | 一种基于语义点云的地图构建方法及装置 | |
CN112729349B (zh) | 里程计在线标定的方法、装置、电子设备及存储介质 | |
CN115598606A (zh) | 一种采集数据的点云融合方法、装置以及电子设备 | |
CN115792867A (zh) | 激光雷达仿真方法和装置 | |
CN115267812A (zh) | 一种基于高亮区域的定位方法、装置、介质及机器人 | |
CN115303291B (zh) | 拖挂车的挂车轨迹预测方法和装置、电子设备和存储介质 | |
CN117908035A (zh) | 用于动态场景的单线激光定位方法、移动装置和存储介质 | |
US11681698B2 (en) | Systems and methods for atomic publication of distributed writes to a distributed data warehouse | |
US11853324B2 (en) | Systems and methods for atomic publication of distributed writes to a distributed data warehouse | |
CN116295391A (zh) | 建图定位方法及相关产品 | |
CN117804421A (zh) | 栅格地图更新方法及相关产品 | |
US20230024757A1 (en) | Systems and methods for transforming high-definition geographical map data into messages for vehicle communications | |
CN117804468A (zh) | 移动装置的定位初始化方法、设备、移动装置和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |