一种地图生成方法及装置、机器人和计算机可读存储介质与流程

文档序号:16248641发布日期:2018-12-11 23:48阅读:155来源:国知局
一种地图生成方法及装置、机器人和计算机可读存储介质与流程

本申请涉及即时定位与地图创建领域,尤其涉及一种地图生成方法及装置、机器人和计算机可读存储介质。

背景技术

随着计算机技术和人工智能的发展,智能移动机器人成为机器人领域的一个重要研究方向和研究热点。移动机器人的定位和地图创建是移动机器人领域的热点研究问题。

目前,可以利用激光传感器测量物体周围的环境数据,并将测量的环境数据进行即时定位与地图创建(simultaneouslocalizationandmapping,简称slam)计算来构建地图。目前,可以采用三维(3d)点云来描述空间地图。

但是,采用3d点云来描述空间地图存在存储需求大和定位耗时过多的问题。



技术实现要素:

有鉴于此,本申请提供一种地图生成方法及装置、机器人和计算机可读存储介质。

具体地,本申请是通过如下技术方案实现的:

根据本公开实施例的第一方面,提供一种地图生成方法,所述方法包括:

获取三维激光点云数据;

根据所述三维激光点云数据的空间属性对所述三维激光点云数据进行分类,得到分类结果;

对所述分类结果进行处理,以生成多种类型的二维图层,所述多种类型的二维图层构成地图。

在一实施例中,所述根据所述三维激光点云数据的空间属性对所述三维激光点云数据进行分类,得到分类结果,包括:

根据所述三维激光点云数据的空间属性对所述三维激光点云数据进行分割,得到分割结果;

对所述分割结果进行分类,得到所述分类结果。

在一实施例中,所述对所述分类结果进行处理,以生成多种类型的二维图层,包括:

根据所述分类结果,将每个分类结果对应的三维激光点云数据进行三维空间到二维空间的投影操作,得到对应类型的二维图层。

在一实施例中,所述根据所述三维激光点云数据的空间属性对所述三维激光点云数据进行分割,包括:

根据所述三维激光点云数据的空间属性,采用基于区域生长的方式对所述三维激光点云数据进行分割。

在一实施例中,所述对所述分割结果进行分类,包括:

采用预先生成的分类模型,对所述分割结果进行分类。

在一实施例中,所述多种类型的二维图层包括建筑物图层、稀疏图层和斜坡图层,所述建筑物图层用于表示面积大于预设阈值的建筑障碍物的特征,所述稀疏图层用于表示易发生变化或易受到运动物体干扰的对象的特征,所述斜坡图层用于表示易被识别为障碍物的对象的特征。

根据本公开实施例的第二方面,提供一种地图生成装置,所述装置包括:

获取模块,用于获取三维激光点云数据;

分类模块,用于根据所述三维激光点云数据的空间属性对所述获取模块获取的所述三维激光点云数据进行分类,得到分类结果;

生成模块,用于对所述分类模块得到的所述分类结果进行处理,以生成多种类型的二维图层,所述多种类型的二维图层构成地图。

在一实施例中,分类模块包括:

分割子模块,用于根据三维激光点云数据的空间属性对三维激光点云数据进行分割,得到分割结果。

分类子模块,用于对分割子模块得到的分割结果进行分类,得到分类结果。

在一实施例中,所述多种类型的二维图层包括建筑物图层、稀疏图层和斜坡图层,所述建筑物图层用于表示面积大于预设阈值的建筑障碍物的特征,所述稀疏图层用于表示易发生变化或易受到运动物体干扰的对象的特征,所述斜坡图层用于表示易被识别为障碍物的对象的特征。

根据本公开实施例的第三方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述地图生成方法。

根据本公开实施例的第四方面,提供一种机器人,包括激光传感器、处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述地图生成方法。

本申请实施例,通过根据获取的三维激光点云数据的空间属性对三维激光点云数据进行分类,得到分类结果,并对分类结果进行处理,以生成多种类型的二维图层,采用多种类型的二维图层表示三维地图,可以极大地减少存储空间和定位耗时,且利用不同图层的特性可以获得更加鲁棒的定位结果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是本申请一示例性实施例示出的一种地图生成方法的流程图;

图2是本申请一示例性实施例示出的另一种地图生成方法的流程图;

图3是本申请一示例性实施例示出的一种对三维激光点云数据进行分割的流程图;

图4是本申请一示例性实施例示出的一种地图生成装置所在机器人的一种硬件结构图;

图5是本申请一示例性实施例示出的一种地图生成装置的结构框图;

图6是本申请一示例性实施例示出的另一种地图生成装置的结构框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

图1是本申请一示例性实施例示出的一种地图生成方法的流程图,该方法可应用于移动设备上,该移动设备可以包括但不局限于无人车、机器人等,还可以应用于服务器上,由服务器生成地图,再将地图传输给移动设备例如机器人等,如图1所示,该方法包括:

步骤s101,获取三维激光点云数据。

当该方法的执行主体是移动设备时,三维激光点云数据可以由移动设备例如机器人上的激光传感器获取,也可以由其他激光传感器获取,再传输给移动设备。

当该方法的执行主体是服务器时,三维激光点云数据可以由移动设备例如机器人上的激光传感器获取,也可以由其他激光传感器获取,再传输给服务器。

步骤s102,根据三维激光点云数据的空间属性对三维激光点云数据进行分类,得到分类结果。

其中,三维激光点云数据的属性是指不同对象对应的三维激光点云数据表现为不同的特征,例如,建筑障碍物这类物体表现为结构特征稳定,且面积大于预设阈值,即区域较大,树木、灯柱、路边铁栅栏等物体在激光观测中为离散的点或小段状,容易发生变化或者容易受运动物体干扰,例如,树木的树叶容易发生变化,灯柱、路边铁栅栏等容易被遮挡,即容易受运动物体干扰,斜坡路面等物体容易被识别为障碍物,但实际为可行驶区域。

在该实施例中,可根据三维激光点云数据的空间属性对三维激光点云数据进行分割,得到分割结果,然后对分割结果进行分类,得到分类结果。

步骤s103,对分类结果进行处理,以生成多种类型的二维图层,多种类型的二维图层构成地图。

在该实施例中,可根据分类结果,将每个分类结果对应的三维激光点云数据进行三维空间到二维空间的投影操作,得到对应类型的二维图层。

由于该实施例中的二维图层是通过对分类后的三维激光点云数据进行三维空间到二维空间的投影操作所得,而非直接将三维激光点云数据压缩为二维数据,因此,可避免压缩过程中大量信息的损失,从而减少对定位精度的影响。

可选地,在进行投影操作之后,还可以对投影后的数据进行去噪处理,以提高生成的二维图层的精度。

其中,多种类型的二维图层可以包括但不局限于建筑物图层、稀疏图层和斜坡图层,建筑物图层用于表示面积大于预设阈值的建筑障碍物的特征,例如墙体等结构特征稳定,且区域较大的物体的特征,稀疏图层用于表示易发生变化或者易受到运动物体干扰的对象的特征,这类物体在激光观测中为离散的点或小段状,例如树木、路边铁栅栏、灯柱等物体的特征,其中,树木的树叶容易发生变化,灯柱、路边铁栅栏等容易被遮挡,即容易受运动物体干扰,斜坡图层用于表示在激光点云中易被识别为障碍物、而实际为可行驶区域的对象的特征,例如表示斜坡路面等物体的特征。

其中,生成的多种类型的二维图层可以构成地图,以用于移动设备基于该地图进行定位。

在该实施例中,选取建筑物图层、稀疏图层和斜坡图层这三种类型的二维图层构成地图,可以确保定位的准确性。

采用多种类型的二维图层表示三维地图,可以极大地减少存储空间和定位耗时,且利用不同图层的特性可以获得更加鲁棒的定位结果。

上述实施例,通过根据获取的三维激光点云数据的空间属性对三维激光点云数据进行分类,得到分类结果,并对分类结果进行处理,以生成多种类型的二维图层,采用多种类型的二维图层表示三维地图,可以极大地减少存储空间和定位耗时,且利用不同图层的特性可以获得更加鲁棒的定位结果。

图2是本申请一示例性实施例示出的另一种地图生成方法的流程图,如图2所示,该方法包括:

步骤s201,获取三维激光点云数据。

当该方法的执行主体是移动设备时,三维激光点云数据可以由移动设备例如机器人上的激光传感器获取,也可以由其他激光传感器获取,再传输给移动设备。

当该方法的执行主体是服务器时,三维激光点云数据可以由移动设备例如机器人上的激光传感器获取,也可以由其他激光传感器获取,再传输给服务器。

步骤s202,根据三维激光点云数据的空间属性对三维激光点云数据进行分割,得到分割结果。

其中,三维激光点云数据的空间属性是指不同对象对应的三维激光点云数据表现为不同的特征,例如,建筑障碍物这类物体表现为结构特征稳定,且面积大于预设阈值,即区域较大,树木、路边铁栅栏等物体在激光观测中为离散的点或小段状,容易受运动物体干扰,斜坡路面等物体容易被识别为障碍物,实际为可行驶区域,另外还有些无关的其他物体,特征或属性的描述。

在该实施例中,可以根据三维激光点云数据的空间属性,采用基于区域生长的方式对三维激光点云数据进行分割,得到具有不同特征物体的多个区域。

步骤s203,对分割结果进行分类,得到分类结果。

需要说明的是,除了可以采用上述先分割后分类的方式,还可以采用其他分类方式,例如,将三维激光点云数据输入分类模型,直接得到分类结果。

其中,可以基于深度学习的方式生成分类模型。然后,采用预先生成的分类模型,对分割结果进行分类。在该实施例中,深度学习算法可以包括但不局限于voxelnet,分类模型可以包括但不局限于pointnet。

其中,得到的分类结果可以包括:建筑物、稀疏物、斜坡和无关物体。

步骤s204,对分类结果进行处理,以生成多种类型的二维图层,其中,多种类型的二维图层构成地图。

上述实施例,通过根据三维激光点云数据的空间属性对三维激光点云数据进行分割,得到分割结果,并对分割结果进行分类,得到分类结果,从而为后续生成多种类型的二维图层提供了条件。

图3是本申请一示例性实施例示出的一种对三维激光点云数据进行分割的流程图,如图3所示,该过程包括:

步骤s301,从三维激光点云数据中选取一个种子数据。

在该实施例中,可以通过多种方式从三维激光点云数据中选取一个种子数据,例如,可以从三维激光点云数据中选择有最小曲率的数据作为种子数据。

步骤s302,判断当前种子数据的当前邻域数据与当前种子数据是否满足预设条件,若满足预设条件,则执行步骤s303,若不满足预设条件,则执行步骤s304。

其中,预设条件可以包括但不局限于以下至少一项:

1)当前邻域数据与当前种子数据的法向量夹角小于预设夹角阈值;

2)当前邻域数据与当前种子数据的曲率变化小于预设变化阈值。

步骤s303,将当前邻域数据加入当前种子数据集合,操作结束。

步骤s304,为当前邻域数据添加标记,继续寻找下一个未携带标记的邻域数据,若未找到下一个未携带标记的邻域数据,则执行步骤s305,若找到下一个未携带标记的邻域数据,则执行步骤s306。

其中,该标记用于表示当前邻域数据不适合加入到当前种子数据集合中。

步骤s305,将当前种子数据集合中的数据作为一个分割结果,转向执行步骤s307。

若未找到下一个未携带标记的邻域数据,则表明所有符合预设条件的数据均加入到当前种子数据集合中,故可以将当前种子数据集合中的数据作为一个分割结果。

步骤s306,将找到的下一个未携带标记的邻域数据作为当前邻域数据,并转向执行步骤s302。

步骤s307,判断所有的三维激光点云数据是否均被分割,若未均被分割,则执行步骤s308,若均被分割,则分割结束。

步骤s308,重新从剩余未分割的三维激光点云数据中选取一个种子数据。

步骤s309,将重新选取的种子数据作为当前种子数据,并转向执行步骤s302。

在该实施例中,在找到一个分割结果后,重新从剩余未分割的三维激光点云数据中选取一个种子数据,并重复执行上述步骤s302至步骤s306,直至所有三维激光点云数据均被分割。

上述实施例,通过区域生长的方式对三维激光点云数据进行分割,得到具有不同特征物体的多个区域,实现方式简单,且分割结果精度较高,从而有利于后续基于分割结果进行分类,提高了分类的精度。

与前述地图生成方法的实施例相对应,本申请还提供了地图生成装置的实施例。

本申请地图生成装置的实施例可以应用在在移动设备上。其中,该移动设备可以为无人车、机器人等。也可以应用在服务器上,由服务器生成地图,再将地图传输给机器人。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。如图4所示,为本申请地图生成装置所在机器人的一种硬件结构图,该机器人包括激光传感器400、处理器410、存储器420及存储在存储器420上并可在处理器410上运行的计算机程序,该处理器410执行该计算机程序时实现上述地图生成方法。除了图4所示的处理器410及存储器420之外,实施例中装置所在的机器人通常根据该生成地图的实际功能,还可以包括其他硬件,对此不再赘述。

图5是本申请一示例性实施例示出的一种地图生成装置的结构框图,如图5所示,该装置包括:获取模块51、分类模块52和生成模块53。

获取模块51用于获取三维激光点云数据。

当该装置位于移动设备中时,三维激光点云数据可以由获取模块51通过移动设备例如机器人上的激光传感器获取,也可以由其他激光传感器获取,再传输给移动设备。

当该装置位于服务器中时,三维激光点云数据可以由获取模块51通过移动设备例如机器人上的激光传感器获取,也可以由其他激光传感器获取,再传输给服务器。

分类模块52用于根据三维激光点云数据的空间属性对获取模块51获取的三维激光点云数据进行分类,得到分类结果。

其中,三维激光点云数据的属性是指不同对象对应的三维激光点云数据表现为不同的特征,例如,建筑障碍物这类物体表现为结构特征稳定,且面积大于预设阈值,即区域较大,树木、灯柱、路边铁栅栏等物体在激光观测中为离散的点或小段状,容易发生变化或者容易受运动物体干扰,例如,树木的树叶容易发生变化,灯柱、路边铁栅栏等容易被遮挡,即容易受运动物体干扰,斜坡路面等物体容易被识别为障碍物,但实际为可行驶区域。

在该实施例中,可根据三维激光点云数据的空间属性对三维激光点云数据进行分割,得到分割结果,然后对分割结果进行分类,得到分类结果。

生成模块53用于对分类模块52得到的分类结果进行处理,以生成多种类型的二维图层,多种类型的二维图层构成地图。

在该实施例中,可根据分类结果,将每个分类结果对应的三维激光点云数据进行三维空间到二维空间的投影操作,得到对应类型的二维图层。

由于该实施例中的二维图层是通过对分类后的三维激光点云数据进行三维空间到二维空间的投影操作所得,而非直接将三维激光点云数据压缩为二维数据,因此,可避免压缩过程中大量信息的损失,从而减少对定位精度的影响。

可选地,在进行投影操作之后,还可以对投影后的数据进行去噪处理,以提高生成的二维图层的精度。

其中,多种类型的二维图层可以包括但不局限于建筑物图层、稀疏图层和斜坡图层,建筑物图层用于表示面积大于预设阈值的建筑障碍物的特征,例如墙体等结构特征稳定,且区域较大的物体的特征,稀疏图层用于表示易发生变化或者易受到运动物体干扰的对象的特征,这类物体在激光观测中为离散的点或小段状,例如树木、路边铁栅栏、灯柱等物体的特征,其中,树木的树叶容易发生变化,灯柱、路边铁栅栏等容易被遮挡,即容易受运动物体干扰,斜坡图层用于表示在激光点云中易被识别为障碍物、而实际为可行驶区域的对象的特征,例如表示斜坡路面等物体的特征。

其中,生成的多种类型的二维图层可以构成地图,以用于移动设备基于该地图进行定位。

在该实施例中,选取建筑物图层、稀疏图层和斜坡图层这三种类型的二维图层构成地图,可以确保定位的准确性。

采用多种类型的二维图层表示三维地图,可以极大地减少存储空间和定位耗时,且利用不同图层的特性可以获得更加鲁棒的定位结果。

上述实施例,通过根据获取的三维激光点云数据的空间属性对三维激光点云数据进行分类,得到分类结果,并对分类结果进行处理,以生成多种类型的二维图层,采用多种类型的二维图层表示三维地图,可以极大地减少存储空间和定位耗时,且利用不同图层的特性可以获得更加鲁棒的定位结果。

图6是本申请一示例性实施例示出的另一种地图生成装置的结构框图,在图5所示实施例的基础上,如图6所示,分类模块52可以包括:分割子模块521和分类子模块522。

分割子模块521用于根据三维激光点云数据的空间属性对三维激光点云数据进行分割,得到分割结果。

其中,可以根据三维激光点云数据的空间属性,采用基于区域生长的方式对三维激光点云数据进行分割。

其中,采用基于区域生长的方式对三维激光点云数据进行分割可以参见图3所示实施例,此处不赘述。

分类子模块522用于对分割子模块521得到的分割结果进行分类,得到分类结果。

其中,可以基于深度学习的方式生成分类模型。然后,采用预先生成的分类模型,对分割结果进行分类。在该实施例中,深度学习算法可以包括但不局限于voxelnet,分类模型可以包括但不局限于pointnet。

其中,得到的分类结果可以包括:建筑物、稀疏物、斜坡和无关物体。

上述实施例,通过根据三维激光点云数据的空间属性对三维激光点云数据进行分割,得到分割结果,并对分割结果进行分类,得到分类结果,从而为后续生成多种类型的二维图层提供了条件。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序用于执行地图生成方法,其中,该地图生成方法包括:

获取三维激光点云数据;

根据三维激光点云数据的空间属性对三维激光点云数据进行分类,得到分类结果;

对分类结果进行处理,以生成多种类型的二维图层,多种类型的二维图层构成地图。

上述计算机可读存储介质可以是只读存储器(rom)、随机存取存储器(ram)、光盘只读存储器(cd-rom)、磁带、软盘和光数据存储设备等。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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