混合双层地图的构建方法及装置与流程

文档序号:13982540阅读:248来源:国知局
混合双层地图的构建方法及装置与流程

本发明涉及移动机器人的技术领域,尤其是涉及一种混合双层地图的构建方法及装置。



背景技术:

随着社会信息化程度的提高,智能移动机器人逐渐在社会发展中担当重要的角色。移动机器人构建环境地图是其完成导航和服务任务的基础。有了环境地图,机器人才能实现路径规划、避障,实现自主移动。

目前,移动机器人最为常用的地图表达方式为栅格地图或拓扑地图。栅格地图采用平面栅格覆盖的形式描述环境,能够精确的度量环境,易于构建和维护,能够计算出最短路径。但是,栅格地图的分辨率必须足以捕捉到环境的重要细节,存储量大,路径规划效率低,复杂度高;更为致命的是,这种散点式的度量型地图抽象程度低,缺少真实环境中区域的概念,无法建立环境的语义,不利于人机交互和人性化导航(如,基于栅格地图的导航任务无法识别人类指令“去卧室”)。拓扑地图采用节点和边的形式描述环境,节点对应着特定的区域、位置或者标记点,边对应着节点间的通路,能够进行区域化的环境表达,更接近于人的直观认识,在此基础上的导航复杂度更低更加自然。但是,拓扑地图存在定位困难的问题,并且,现有的拓扑地图大都采用在线增量式构建方法,即需要机器人在移动(接受运动指令移动或自主漫游)的过程中,通过定义拓扑节点来构建,形式单一,呆板。

综上,现有技术中构建的环境地图无法兼备区域化的环境表达和精确定位的功能,也就是无法实现灵活的定位,不利于场景语义地图的构建和基于语义的导航。



技术实现要素:

有鉴于此,本发明的目的在于提供一种混合双层地图的构建方法及装置,以缓解现有技术中构建的环境地图无法兼备区域化的环境表达和精确定位的技术问题。

第一方面,本发明实施例提供了一种混合双层地图的构建方法,所述方法包括:

获取栅格地图中的空白栅格区域,所述空白栅格区域表示不存在障碍物的区域;

去除所述空白栅格区域中的孤立区域,得到可行区域,其中,所述孤立区域为移动机器人不能到达的区域,所述可行区域为所述移动机器人可到达的区域;

通过谱聚类算法对所述可行区域进行处理,得到多个拓扑区域,其中,每个拓扑区域表示一种区域类别;

根据所述拓扑区域之间的连接性确定拓扑连接关系,以得到所述混合双层地图,其中,所述混合双层地图为栅格-拓扑地图。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,去除所述空白栅格区域中的孤立区域,得到可行区域包括:

根据所述移动机器人的半径对所述空白栅格区域进行削减,得到削减后的空白栅格区域;

在所述削减后的空白栅格区域中,通过连通区域分析算法提取面积最大的连通域;

将所述面积最大的连通域作为所述可行区域。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,通过谱聚类算法对所述可行区域进行处理,得到多个拓扑区域包括:

对所述可行区域中的采样栅格点进行分析,得到所述采样栅格点的相似度矩阵,其中,所述相似度矩阵用于表示所述采样栅格点之间的关联程度;

根据所述谱聚类算法对所述相似度矩阵进行处理,得到带有类别信息的采样栅格点;

根据所述带有类别信息的采样栅格点确定目标栅格点的类别,其中,所述目标栅格点为所述可行区域中除去所述采样栅格点之外的其它栅格点;

根据所述可行区域中各个栅格点的类别分布确定所述多个拓扑区域。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,对所述可行区域中的采样栅格点进行分析,得到所述采样栅格点的相似度矩阵包括:

获取所述可行区域中的采样栅格点,其中,所述采样栅格点的数量为多个;

将所述采样栅格点作为节点,并基于多个所述采样栅格点对应的节点组成节点集合;

根据相似度计算公式计算所述节点集合中任意两个节点之间的相似度,得到多个相似度;

根据所述多个相似度构建所述相似度矩阵。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,根据所述谱聚类算法对所述相似度矩阵进行处理,得到带有类别信息的采样栅格点包括:

根据所述相似度矩阵构建拉普拉斯矩阵;

计算所述拉普拉斯矩阵的前k个最小特征值和所述前k个最小特征值对应的标准化特征向量,其中,所述前k个最小特征值表示所述拉普拉斯矩阵的特征值按照升序排列后,位于前面的k个特征值,k的大小和所述拉普拉斯矩阵有关;

将所述标准化特征向量按列排列,得到特征矩阵;

通过kmeans聚类算法对所述特征矩阵的行向量进行处理,得到对应于每个行向量的类别;

将所述每个行向量的类别作为对应采样栅格点的类别,得到所述带有类别信息的采样栅格点。

结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,根据带有类别信息的采样栅格点确定目标栅格点的类别包括:

将所述带有类别信息的采样栅格点作为样本;

结合所述样本和knn算法对所述目标栅格点进行分类,得到所述目标栅格点的类别。

结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,获取所述可行区域中的采样栅格点包括:

通过边界检测算法对所述可行区域中的栅格点进行划分,得到边界栅格点和内部栅格点;

根据预设采样比例对所述边界栅格点和所述内部栅格点进行随机采样,得到所述可行区域中的采样栅格点。

结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,根据相似度计算公式计算所述节点集合中任意两个节点之间的相似度,得到多个相似度包括:

获取第一目标节点和第二目标节点,其中,所述第一目标节点为所述节点集合中的任意一个节点,所述第二目标节点为所述节点集合中不同于所述第一目标节点的任意一个节点;

判断所述第一目标节点和所述第二目标节点是否可见,其中,所述可见表示所述第一目标节点和所述第二目标节点之间的连线未穿过障碍物区域;

如果所述第一目标节点和所述第二目标节点不可见,则所述第一目标节点和所述第二目标节点之间的相似度为0;

如果所述第一目标节点和所述第二目标节点可见,则通过所述相似度计算公式计算所述第一目标节点和所述第二目标节点之间的相似度,其中,vi表示所述第一目标节点,vj表示所述第二目标节点,||vi-vj||表示所述第一目标节点与所述第二目标节点之间的距离,σi表示所述第一目标节点到与其第m个近邻节点的距离,σj表示所述第二目标节点到与其第m个近邻节点的距离。

结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中,根据所述相似度矩阵构建拉普拉斯矩阵包括:

根据所述相似度矩阵构建度矩阵,其中,所述度矩阵为对角矩阵,所述对角矩阵的值为所述相似度矩阵中对应行的相似度之和;

根据所述相似度矩阵和所述度矩阵构建拉普拉斯矩阵,其中,所述拉普拉斯矩阵为:l表示所述拉普拉斯矩阵,w表示所述相似度矩阵,d表述所述度矩阵。

第二方面,本发明实施例还提供了一种混合双层地图的构建装置,所述装置包括:

获取模块,用于获取栅格地图中的空白栅格区域;

去除模块,用于去除所述空白栅格区域中的孤立区域,得到可行区域,其中,所述孤立区域为移动机器人不能到达的区域,所述可行区域为所述移动机器人可到达的区域;

处理模块,用于通过谱聚类算法对所述可行区域进行处理,得到多个拓扑区域,其中,每个拓扑区域表示一种区域类别;

确定模块,用于根据所述拓扑区域之间的连接性确定拓扑连接关系,以得到所述混合双层地图,其中,所述混合双层地图为栅格-拓扑地图。

本发明实施例带来了以下有益效果:本发明实施例提供了一种混合双层地图的构建方法及装置,该方法包括:获取栅格地图中的空白栅格区域,空白栅格区域表示不存在障碍物的区域;去除空白栅格区域中的孤立区域,得到可行区域,其中,孤立区域为移动机器人不能到达的区域,可行区域为移动机器人可到达的区域;通过谱聚类算法对可行区域进行处理,得到多个拓扑区域,其中,每个拓扑区域表示一种区域类别;根据拓扑区域之间的连接性确定拓扑连接关系,以得到混合双层地图,其中,混合双层地图为栅格-拓扑地图。

现有技术中,移动机器人通常采用的环境地图表达方式为栅格地图或拓扑地图,这两种地图无法兼备区域化的环境表达和精确定位的功能,也就是无法实现灵活的定位。与现有技术中的栅格地图或拓扑地图相比,本发明实施例提供了一种混合双层地图的构建方法,该方法中,先获取栅格地图中的空白栅格区域,然后,去除空白栅格区域中的孤立区域,得到可行区域,进而,通过谱聚类算法对可行区域进行处理,得到多个拓扑区域,最后,根据拓扑区域之间的连接性确定拓扑连接关系,得到混合双层地图,即栅格-拓扑地图。本发明的混合双层地图的构建方法中,构建得到的栅格-拓扑地图具有栅格地图可精确定位的优点,也兼备了拓扑地图可进行区域化的环境表达的优点,也就是既能够实现粗定位,也能够实现精确定位,定位灵活,为进一步添加语义标签和认知导航提供了依据,缓解了现有技术中构建的环境地图无法兼备区域化的环境表达和精确定位的技术问题。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1为本发明实施例提供的一种混合双层地图的构建方法流程图;

图2(a)为本发明实施例提供的栅格地图中空白栅格区域的示意图;

图2(b)为本发明实施例提供的去除孤立区域后的可行区域的示意图;

图2(c)为本发明实施例提供的对可行区域中的栅格点进行采样,得到的采样栅格点的示意图;

图2(d)为本发明实施例提供的带有类别信息的采样栅格点的示意图;

图2(e)为本发明实施例提供的可行区域内所有栅格点的类别分布示意图;

图2(f)为本发明实施例提供的混合双层地图的示意图;

图3为本发明实施例提供的去除空白栅格区域中的孤立区域,得到可行区域的方法流程图;

图4为本发明实施例提供的通过谱聚类算法对可行区域进行处理,得到多个拓扑区域的方法流程图;

图5为本发明实施例提供的根据谱聚类算法对相似度矩阵进行处理,得到带有类别信息的采样栅格点的方法流程图;

图6为本发明实施例提供的一种混合双层地图的构建装置的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种混合双层地图的构建方法进行详细介绍。

实施例一:

一种混合双层地图的构建方法,参考图1,该方法包括:

s102、获取栅格地图中的空白栅格区域,空白栅格区域表示不存在障碍物的区域;

在本发明实施例中,是在构建好的栅格地图上进行的拓扑分割。栅格地图的构建方法可以采用现有技术中的栅格地图构建方法进行构建,本发明实施例对栅格地图的构建方法不再赘述。

先获取预先构建的栅格地图,一般的,栅格地图中包括:空白栅格区域,障碍物区域和未知区域;然后,去除栅格地图中的障碍物区域和未知区域,就能够提取得到空白栅格区域,该空白栅格区域表示不存在障碍物的区域。

如图2(a)所示,得到的即为空白栅格区域,其中,每个空白栅格用黑色十字表示。可以从图2(a)中看到,得到的空白栅格区域并不是连通的一体,而是有很多孤立区域。

s104、去除空白栅格区域中的孤立区域,得到可行区域,其中,孤立区域为移动机器人不能到达的区域,可行区域为移动机器人可到达的区域;

在得到空白栅格区域后,去除空白栅格区域中的孤立区域,也就是去除移动机器人不能达到的区域,得到可行区域,具体的去除方法在下文中再进行详细描述。

s106、通过谱聚类算法对可行区域进行处理,得到多个拓扑区域,其中,每个拓扑区域表示一种区域类别;

在得到可行区域后,通过谱聚类算法对可行区域进行处理,得到多个拓扑区域,具体内容将在下文中介绍,在此不再赘述。

另外,谱聚类是一种基于图论的分割算法,它将数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的。特定形式的谱聚类算法可以近似“归一化图割”,能使切图更加均匀。用谱聚类将环境地图分成多个拓扑区域时,更倾向于将把弱连接的区域(weekconnectors)从强连接(tightconnectedregions)的区域分割出来,弱连接的区域可能会是corners(拐角)、doorways(门廊)、狭窄的过道等等,因此谱聚类提供了一种对导航而言更自然、更直观的地图分割方式。

s108、根据拓扑区域之间的连接性确定拓扑连接关系,以得到混合双层地图,其中,混合双层地图为栅格-拓扑地图。

在得到多个拓扑区域后,根据拓扑区域之间的连接性确定拓扑连接关系,具体的,如果两个拓扑区域直接连接,那么,这两个拓扑区域之间就存在拓扑连接线;如果两个拓扑区域未直接连接,那么,这两个拓扑区域之间就不存在拓扑连接线,最终,就能够得到栅格-拓扑地图。

现有技术中,移动机器人通常采用的环境地图表达方式为栅格地图或拓扑地图,这两种地图无法兼备区域化的环境表达和精确定位的功能,也就是无法实现灵活的定位。与现有技术中的栅格地图或拓扑地图相比,本发明实施例提供了一种混合双层地图的构建方法,该方法中,先获取栅格地图中的空白栅格区域,然后,去除空白栅格区域中的孤立区域,得到可行区域,进而,通过谱聚类算法对可行区域进行处理,得到多个拓扑区域,最后,根据拓扑区域之间的连接性确定拓扑连接关系,得到混合双层地图,即栅格-拓扑地图。本发明的混合双层地图的构建方法中,构建得到的栅格-拓扑地图具有栅格地图可精确定位的优点,也兼备了拓扑地图可进行区域化的环境表达的优点,也就是既能够实现粗定位,也能够实现精确定位,定位灵活,为进一步添加语义标签和认知导航提供了依据,缓解了现有技术中构建的环境地图无法兼备区域化的环境表达和精确定位的技术问题。

上述内容对混合双层地图的构建方法进行了整体介绍,下面对其中的过程进行具体描述。

去除空白栅格区域中的孤立区域有多种方式,在一个可选地实施方式中,参考图3,去除空白栅格区域中的孤立区域,得到可行区域包括以下步骤:

s301、根据移动机器人的半径对空白栅格区域进行削减,得到削减后的空白栅格区域;

具体的,因为移动机器人自身存在一定的体积,所以,当移动机器人在空白栅格区域中进行移动时,移动机器人的中心位置不能到达边界位置处的空白栅格,将这部分空白栅格(即移动机器人的中心位置不能到达的空白栅格)削减去除,便能够得到削减后的空白栅格区域,这样,能够减小后期的计算量。

例如,移动机器人的半径为2个栅格,那么将处于边界位置处的2个空白栅格去除,得到的即为削减后的空白栅格区域。

s302、在削减后的空白栅格区域中,通过连通区域分析算法提取面积最大的连通域;

在得到削减后的空白栅格区域中,通过连通区域分析算法提取面积最大的连通域,其它空白栅格区域为孤立的空白栅格区域,去除之。

s303、将面积最大的连通域作为可行区域。

在得到面积最大的连通域后,将该面积最大的连通域作为可行区域。

图2(b)即为对图2(a)中的孤立区域进行去除后,得到的可行区域的示意图。

在得到可行区域后,通过谱聚类算法对可行区域进行处理,得到多个拓扑区域,具体包括以下步骤,参考图4:

s401、对可行区域中的采样栅格点进行分析,得到采样栅格点的相似度矩阵,其中,相似度矩阵用于表示采样栅格点之间的关联程度;

具体的,在得到可行区域后:

(s4011)获取可行区域中的采样栅格点,其中,采样栅格点的数量为多个;

获取可行区域中的采样栅格点的方式有多种,在一种可选地实施方式中,进行如下1)和2)的操作。

1)通过边界检测算法对可行区域中的栅格点进行划分,得到边界栅格点和内部栅格点;

先通过边界检测算法对可行区域中的栅格点(即空白栅格,也就是图2(b)中的每一个十字)进行划分,得到两部分栅格点,分别是边界栅格点和内部栅格点。

2)根据预设采样比例对边界栅格点和内部栅格点进行随机采样,得到可行区域中的采样栅格点。

在得到边界栅格点和内部栅格点之后,根据可行区域的形状,确定预设采样比例。比如,可行区域呈现长条形,也就是说边界栅格点更能体现可行区域的特性,那么,边界栅格点和内部栅格点之间的预设采样比例较大,如3:1,即每随机采集3个边界栅格点,随机采集1个内部栅格点;如果可行区域呈现圆形,也就是说内部栅格点更能体现可行区域的特性,那么,边界栅格点和内部栅格点之间的预设采样比例较小,如1:3,即每随机采集1个边界栅格点,随机采集3个内部栅格点。本发明实施例对上述预设采样比例不做具体限制。

另外,获取可行区域中的采样栅格点还可以采用其它方式,比如,四叉树分割的方式,其方法为:将可行区域不断进行四等分,检测四等分后的四个小方块是否满足同性质标准(即是否同为空白栅格区域或同为障碍物区域),如果满足,则不再进行四等分分解;如果不满足,则继续四等分分解,直到四等分后的四个小方块满足同性质标准为止。分解结束后,每个小方块代表一个采样栅格点。

如图2(c)即为对图2(b)中的栅格点(即空白栅格)进行采样,得到的采样栅格点。

(s4012)将采样栅格点作为节点,并基于多个采样栅格点对应的节点组成节点集合;

在得到采样栅格点后,将采样栅格点作为节点,组成节点集合。

(s4013)根据相似度计算公式计算节点集合中任意两个节点之间的相似度,得到多个相似度;

给节点集合中的每个节点命名,比如节点集合中有n个节点(也就是有n个采样栅格点),分别命名为v1,v2,…,vi,…,vj,…,vn,然后,根据相似度计算公式计算节点集合中任意两个节点之间的相似度,具体的:

1)获取第一目标节点和第二目标节点,其中,第一目标节点为节点集合中的任意一个节点,第二目标节点为节点集合中不同于第一目标节点的任意一个节点;

比如,第一目标节点为vi,第二目标节点为vj。

2)判断第一目标节点和第二目标节点是否可见,其中,可见表示第一目标节点和第二目标节点之间的连线未穿过障碍物区域;

3)如果第一目标节点和第二目标节点不可见,则第一目标节点和第二目标节点之间的相似度为0;

4)如果第一目标节点和第二目标节点可见,则通过相似度计算公式计算第一目标节点和第二目标节点之间的相似度,其中,vi表示第一目标节点,vj表示第二目标节点,||vi-vj||表示第一目标节点与第二目标节点之间的距离,σi表示第一目标节点到与其第m个近邻节点的距离,σj表示第二目标节点到与其第m个近邻节点的距离。

具体的,σi表示第一目标节点到与其第m个近邻节点的距离,即将其它所有节点到第一目标节点的距离升序排列,从小到大的第m个位置处的距离即为σi。σj的含义与σi的含义类似,在此不再赘述。

(s4014)根据多个相似度构建相似度矩阵。

在得到多个相似度后,就可以根据多个相似度构建相似度矩阵。具体的,如果节点为v1,v2,…,vi,…,vj,…,vn,那么,该相似度矩阵实际为n×n的对称矩阵。

如下表所示,其中,wij=wji:

s402、根据谱聚类算法对相似度矩阵进行处理,得到带有类别信息的采样栅格点;

在得到相似度矩阵后,根据谱聚类算法对相似度矩阵进行处理,得到带有类别信息的采样栅格点。具体内容将在步骤s501-步骤s505中进行介绍,在此不再赘述。

如图2(d)即为对应于图2(c)的带有类别信息的采样栅格点,其中,不同标记符号代表不同类别的采样栅格点。显然,图2(d)中的分类数目为4类(可以人为设定,还可以根据算法自动给出),分割的效果是把地图中的弱连接区域从强连接区域中分离出来,即将走廊、拐角等狭窄通道分离出来。

s403、根据带有类别信息的采样栅格点确定目标栅格点的类别,其中,目标栅格点为可行区域中除去采样栅格点之外的其它栅格点;

具体的,确定目标栅格点的类别的过程如下:

1)将带有类别信息的采样栅格点作为样本;

2)结合样本和knn算法对目标栅格点进行分类,得到目标栅格点的类别。

s404、根据可行区域中各个栅格点的类别分布确定多个拓扑区域。

图2(e)即为对应于图2(d)的所有栅格点的类别分布,从图2(e)中可以很直观的看到多个拓扑区域(本发明实施例以4个拓扑区域为例进行说明)。

进一步地,根据拓扑区域之间的连接性确定拓扑连接关系,以得到混合双层地图。如图2(f)所示,即为最终得到的混合双层地图,其中,拓扑连接关系用虚线表示,如果两个拓扑区域之间用虚线相连,则代表这两个拓扑区域之间是连通的。

根据谱聚类算法对相似度矩阵进行处理的方式有多种,在一个可选地实施方式中,参考图5,根据谱聚类算法对相似度矩阵进行处理,得到带有类别信息的采样栅格点包括以下步骤:

s501、根据相似度矩阵构建拉普拉斯矩阵;

在得到相似度矩阵后,根据相似度矩阵构建拉普拉斯矩阵,具体的:

(1)根据相似度矩阵构建度矩阵,其中,度矩阵为对角矩阵,对角矩阵的值为相似度矩阵中对应行的相似度之和;

以上述的表格为例进行说明,在得到如表所示的相似度矩阵后,将该相似度矩阵中每行的相似度相加,得到的值即为对应行的对角矩阵的值。比如,将w12+…+w1i+…+w1j+…+w1n,得到的值为对角矩阵第一行的值,将w21+…+w2i+…+w2j+…+w2n,得到的值为对角矩阵第二行的值,以此类推,便能够得到度矩阵。

(2)根据相似度矩阵和度矩阵构建拉普拉斯矩阵,其中,拉普拉斯矩阵为:l表示拉普拉斯矩阵,w表示相似度矩阵,d表述度矩阵;

在得到相似度矩阵和度矩阵后,根据相似度矩阵和度矩阵构建拉普拉斯矩阵。具体的,拉普拉斯矩阵为:l表示拉普拉斯矩阵,w表示相似度矩阵,d表述度矩阵。

s502、计算拉普拉斯矩阵的前k个最小特征值和前k个最小特征值对应的标准化特征向量,其中,前k个最小特征值表示拉普拉斯矩阵的特征值按照升序排列后,位于前面的k个特征值,k的大小和拉普拉斯矩阵有关;

在得到拉普拉斯矩阵后,计算拉普拉斯矩阵的前k个最小特征值和对应的标准化特征向量,这里的对应的标准化特征向量是指与前k个最小特征值相对应的标准化特征向量,标准化特征向量的数量也为k个。

一般的,这里的k的大小与kmeans的分类数目k的大小相同,即可以确定的拓扑区域的数目,这里的k的大小可以人为设定,也可以通过算法自动生成。自动生成的方法为:拉普拉斯矩阵l的特征值的幅值一般与kmeans的分类数目相关,当拉普拉斯矩阵l的特征值按照升序排列后,特征值的幅值(即特征值的大小)出现较大变化时,出现较大突变的特征值所处位置可选为分类数目k。

例如,将拉普拉斯矩阵l的特征值按照升序排列,排列后为0,0.1,0.2,0.3,0.35,8,可以看到,特征值从0.35到8时出现了突变,0.35所处的位置为第5个,那么,分类数目即为5。

s503、将标准化特征向量按列排列,得到特征矩阵;

在得到标准化特征向量后,将该标准化特征向量按列排列,得到特征矩阵,该特征矩阵实际为n×k的特征矩阵,用h表示。

s504、通过kmeans聚类算法对特征矩阵的行向量进行处理,得到对应于每个行向量的类别;

在得到特征矩阵h后,通过kmeans聚类算法对特征矩阵h的n个k维行向量进行处理,得到对应于每个行向量的类别。

s505、将每个行向量的类别作为对应采样栅格点的类别,得到带有类别信息的采样栅格点。

在得到每个行向量的类别后,将每个行向量的类别作为对应采样栅格点的类别,也就是第i行的类别就是第i个节点(也就是第i个采样栅格点,即vi)的类别。一共是n个行向量,所以对应的n个采样栅格点也就有了类别。

需要说明的是,本发明中的kmeans算法和knn算法使用的是kmeans++、基于k-dtree的knn,也可以为其它优化算法,本发明实施例对其不做具体限制。另外,本发明阐述时是以离线构建好的栅格地图(即无论采用何种传感器、何种方法构建好的栅格地图上,均可采用本方法生成拓扑地图)为前提实施的,此外,本发明还可延伸为在线版本,即构建栅格地图的同时构建拓扑地图,即每隔几个传感器采样周期调用一次本方法,通过特征值幅值的变化判断是否应进行拓扑分割,产生新区域。

本发明通过对栅格地图进行拓扑分割,构建了一种双层的栅格-拓扑地图。在该地图中,栅格和拓扑建立了映射,每个栅格都具有特定的拓扑属性,而每个拓扑节点又通过栅格区域体现;不仅兼顾了两种地图的优点,还体现了区域的概念,为场景语义地图的构建和基于语义的导航提供了可能。

实施例二:

一种混合双层地图的构建装置,参考图6,该装置包括:

获取模块11,用于获取栅格地图中的空白栅格区域;

去除模块12,用于去除空白栅格区域中的孤立区域,得到可行区域,其中,孤立区域为移动机器人不能到达的区域,可行区域为移动机器人可到达的区域;

处理模块13,用于通过谱聚类算法对可行区域进行处理,得到多个拓扑区域,其中,每个拓扑区域表示一种区域类别;

确定模块14,用于根据拓扑区域之间的连接性确定拓扑连接关系,以得到混合双层地图,其中,混合双层地图为栅格-拓扑地图。

本发明实施例提供了一种混合双层地图的构建装置,该方法中,先获取栅格地图中的空白栅格区域,然后,去除空白栅格区域中的孤立区域,得到可行区域,进而,通过谱聚类算法对可行区域进行处理,得到多个拓扑区域,最后,根据拓扑区域之间的连接性确定拓扑连接关系,得到混合双层地图,即栅格-拓扑地图。本发明的混合双层地图的构建装置中,构建得到的栅格-拓扑地图具有栅格地图可精确定位的优点,也兼备了拓扑地图可进行区域化的环境表达的优点,也就是既能够实现粗定位,也能够实现精确定位,定位灵活,为进一步添加语义标签和认知导航提供了依据,缓解了现有技术中构建的环境地图无法兼备区域化的环境表达和精确定位的技术问题。

可选地,去除模块包括:

削减子模块,用于根据移动机器人的半径对空白栅格区域进行削减,得到削减后的空白栅格区域;

提取子模块,用于在削减后的空白栅格区域中,通过连通区域分析算法提取面积最大的连通域;

设定子模块,用于将面积最大的连通域作为可行区域。

可选地,处理模块包括:

分析子模块,用于对可行区域中的采样栅格点进行分析,得到采样栅格点的相似度矩阵,其中,相似度矩阵用于表示采样栅格点之间的关联程度;

处理子模块,用于根据谱聚类算法对相似度矩阵进行处理,得到带有类别信息的采样栅格点;

第一确定子模块,用于根据带有类别信息的采样栅格点确定目标栅格点的类别,其中,目标栅格点为可行区域中除去采样栅格点之外的其它栅格点;

第二确定子模块,用于根据可行区域中各个栅格点的类别分布确定多个拓扑区域。

可选地,分析子模块包括:

获取单元,用于获取可行区域中的采样栅格点,其中,采样栅格点的数量为多个;

组成单元,用于将采样栅格点作为节点,并基于多个采样栅格点对应的节点组成节点集合;

第一计算单元,用于根据相似度计算公式计算节点集合中任意两个节点之间的相似度,得到多个相似度;

第一构建单元,用于根据多个相似度构建相似度矩阵。

可选地,处理子模块包括:

第二构建单元,用于根据相似度矩阵构建拉普拉斯矩阵;

第二计算单元,用于计算拉普拉斯矩阵的前k个最小特征值和前k个最小特征值对应的标准化特征向量,其中,前k个最小特征值表示拉普拉斯矩阵的特征值按照升序排列后,位于前面的k个特征值,k的大小和拉普拉斯矩阵有关;

排列单元,用于将标准化特征向量按列排列,得到特征矩阵;

处理单元,用于通过kmeans聚类算法对特征矩阵的行向量进行处理,得到对应于每个行向量的类别;

设定单元,用于将每个行向量的类别作为对应采样栅格点的类别,得到带有类别信息的采样栅格点。

可选地,第一确定子模块包括:

样本设定单元,用于将带有类别信息的采样栅格点作为样本;

分类单元,用于结合样本和knn算法对目标栅格点进行分类,得到目标栅格点的类别。

可选地,获取单元包括:

划分子单元,用于通过边界检测算法对可行区域中的栅格点进行划分,得到边界栅格点和内部栅格点;

随机采样子单元,用于根据预设采样比例对边界栅格点和内部栅格点进行随机采样,得到可行区域中的采样栅格点。

可选地,第一计算单元包括:

获取子单元,用于获取第一目标节点和第二目标节点,其中,第一目标节点为节点集合中的任意一个节点,第二目标节点为节点集合中不同于第一目标节点的任意一个节点;

判断子单元,用于判断第一目标节点和第二目标节点是否可见,其中,可见表示第一目标节点和第二目标节点之间的连线未穿过障碍物区域;

第一计算子单元,用于如果第一目标节点和第二目标节点不可见,则第一目标节点和第二目标节点之间的相似度为0;

第二计算子单元,用于如果第一目标节点和第二目标节点可见,则通过相似度计算公式计算第一目标节点和第二目标节点之间的相似度,其中,vi表示第一目标节点,vj表示第二目标节点,||vi-vj||表示第一目标节点与第二目标节点之间的距离,σi表示第一目标节点到与其第m个近邻节点的距离,σj表示第二目标节点到与其第m个近邻节点的距离。

可选地,第二构建单元包括:

第一构建子单元,用于根据相似度矩阵构建度矩阵,其中,度矩阵为对角矩阵,对角矩阵的值为相似度矩阵中对应行的相似度之和;

第二构建子单元,用于根据相似度矩阵和度矩阵构建拉普拉斯矩阵,其中,拉普拉斯矩阵为:l表示拉普拉斯矩阵,w表示相似度矩阵,d表述度矩阵。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

本发明实施例所提供的混合双层地图的构建方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

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

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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