机器人地图中障碍物的标记方法及装置
文献发布时间:2023-06-19 16:04:54
技术领域
本发明涉及一种智能机器人技术领域,特别是涉及一种机器人地图中障碍物的标记方法及装置。
背景技术
随着机器人技术的不断发展与进步,自主移动机器人逐渐应用到各个场景中,如矿山机器人、水下机器人、餐饮机器人、扫地机器人等等等。自主移动机器人能够顺利行进主要是基于作业环境地图,通过作业环境地图表达作业环境内路径、障碍物等讯息。常用的机器人环境地图构建方式有:利用SLAM(simultaneous localization and mapping,即时定位与建图)算法、vSLAM(Visual simultaneous localization and mapping,基于视觉即时定位与建图)算法和卫星地图构建方法等。
然而,现有扫地机器人虽然具备自主导航能力及障碍物识别能力,但并不能将识别到的障碍物准确的显示到机器人地图正确的位置上,因此,将障碍物在机器人地图中的正确位置进行标记,以使得对障碍物进行准确的显示是亟待解决的问题。
发明内容
有鉴于此,本发明提供一种机器人地图中障碍物的标记方法及装置,主要目的在于解决现有机器人地图中障碍物位置显示准确度较低的问题。
依据本发明一个方面,提供了一种机器人地图中障碍物的标记方法,包括:
获取概率地图和高度地图,所述概率地图用于标识机器人作业环境中各位置存在障碍物的概率分布,所述高度地图用于标识所述机器人作业环境中各位置对应的障碍物高度分布;
根据所述概率地图和所述高度地图进行数据分组,得到多个数据集合,每个所述数据集合标识一个障碍物的障碍物信息,而所述障碍物信息至少包含有障碍物位置信息和障碍物边缘信息;
按照所述障碍物信息将障碍物标记在地图中。
进一步地,所述获取概率地图和高度地图之前,所述方法还包括:
获取障碍物初始概率地图和初始高度地图;
采集所述机器人在工作过程中的采集数据并对所述采集数据进行解析,得到障碍物数据,所述采集数据至少包含有图像数据和高度数据;
根据所述障碍物数据对所述初始概率地图和所述初始高度地图进行调整,并将调整后的初始概率地图确定为所述概率地图,将调整后的初始高度地图确定为所述高度地图。
进一步地,所述获取障碍物概率地图和高度地图之后,所述方法还包括:
结合所述概率地图和所述高度地图并根据预设概率阈值提取多个候选点;
所述根据所述概率地图和所述高度地图进行数据分组,得到多个数据集合包括:
将所述多个候选点进行聚类处理,得到多组聚类数据,每组所述聚类数据标识一个所述数据集合。
进一步地,所述方法还包括:
获取所述机器人作业环境的SLAM地图,所述SLAM地图中包含有标识禁止机器人通行的未知区域;
根据所述SLAM地图和所述数据集合分别计算第一区域面积和第二区域面积,所述第一区域面积为在所述SLAM地图中最大连续未知区域,而所述第二区域面积为所述数据集合标识的障碍物占地面积;
根据所述第一区域面积和所述第二区域面积识别落地障碍物,所述落地障碍物为禁止机器人在障碍物内外穿梭的障碍物。
进一步地,所述方法还包括:
收集所述第二区域面积小于预设面积阈值且在所述SLAM地图中相邻的区域;
生成与收集的区域对应的最小外接多边形,并将所述最小外接多边形标识的区域确定为所述落地障碍物。
进一步地,所述方法还包括:
根据各组所述聚类数据中候选点位置进行分组,并提取第一候选点分组,所述第一候选点分组内包含的候选点数量最多;
计算与所述第一候选点分组中的候选点对应的最小外接矩形;
根据所述最小外接矩形对各组所述聚类数据进行更新,以使得对所述聚类数据标识的障碍物信息进行修正。
进一步地,所述方法还包括:
解析所述SLAM地图得到障碍物朝向;
所述按照所述障碍物信息将障碍物标记在地图中包括:
根据所述障碍物位置、障碍物边缘和所述障碍物朝向将障碍物在地图中进行标记。
进一步地,所述方法还包括:
当所述第二区域面积存在重合时,根据重合的第二区域面积判断与所述重合的第二区域面积对应的障碍物是否具有包围关系;
若否,则对与所述重合的第二区域面积对应的障碍物数据集合进行优化。
进一步地,所述按照所述障碍物信息将障碍物标记在地图中包括:
若与所述重合的第二区域面积对应的障碍物具有包围关系,则按照所述包围关系和所述障碍物信息将障碍物在地图中进行标记。
依据本发明另一个方面,提供了一种机器人地图中障碍物的标记装置,包括:
第一获取模块,用于获取概率地图和高度地图,所述概率地图用于标识机器人作业环境中各位置存在障碍物的概率分布,所述高度地图用于标识所述机器人作业环境中各位置对应的障碍物高度分布;
第一分组模块,用于根据所述概率地图和所述高度地图进行数据分组,得到多个数据集合,每个所述数据集合标识一个障碍物的障碍物信息,而所述障碍物信息至少包含有障碍物位置信息和障碍物边缘信息;
标记模块,用于按照所述障碍物信息将障碍物标记在地图中。
进一步地,所述装置还包括:
第二获取模块,用于获取障碍物初始概率地图和初始高度地图;
采集模块,用于采集所述机器人在工作过程中的采集数据;
第一解析模块,用于对所述采集模块采集到的采集数据进行解析,得到障碍物数据,所述采集数据至少包含有图像数据和高度数据;
调整模块,用于根据所述障碍物数据对所述初始概率地图和所述初始高度地图进行调整;
确定模块,用于将调整后的初始概率地图确定为所述概率地图,将调整后的初始高度地图确定为所述高度地图。
进一步地,所述装置还包括:
提取模块,用于结合所述概率地图和所述高度地图并根据预设概率阈值提取多个候选点;
聚类模块,用于将所述多个候选点进行聚类处理,得到多组聚类数据,每组所述聚类数据标识一个所述数据集合。
进一步地,所述装置还包括:
第三获取模块,用于获取所述机器人作业环境的SLAM地图,所述SLAM地图中包含有标识禁止机器人通行的未知区域;
第一计算模块,用于根据所述SLAM地图和所述数据集合分别计算第一区域面积和第二区域面积,所述第一区域面积为在所述SLAM地图中最大连续未知区域,而所述第二区域面积为所述数据集合标识的障碍物占地面积;
识别模块,用于根据所述第一区域面积和所述第二区域面积识别落地障碍物,所述落地障碍物为禁止机器人在障碍物内外穿梭的障碍物。
进一步地,所述装置还包括:
收集模块,用于收集所述第二区域面积小于预设面积阈值且在所述SLAM地图中相邻的区域;
生成模块,用于生成与收集的区域对应的最小外接多边形,并将所述最小外接多边形标识的区域确定为所述落地障碍物。
进一步地,所述装置还包括:
第二分组模块,用于根据各组所述聚类数据中候选点位置进行分组,并提取第一候选点分组,所述第一候选点分组内包含的候选点数量最多;
第二计算模块,用于计算与所述第一候选点分组中的候选点对应的最小外接矩形;
更新模块,用于根据所述最小外接矩形对各组所述聚类数据进行更新,以使得对所述聚类数据标识的障碍物信息进行修正。
进一步地,所述装置还包括:第二解析模块,
所述第二解析模块,用于解析所述SLAM地图得到障碍物朝向;
所述标记模块,具体用于根据所述障碍物位置、障碍物边缘和所述障碍物朝向将障碍物在地图中进行标记。
进一步地,所述装置还包括:
判断模块,用于当所述第二区域面积存在重合时,根据重合的第二区域面积判断与所述重合的第二区域面积对应的障碍物是否具有包围关系;
优化模块,用于若与所述重合的第二区域面积对应的障碍物不具有包围关系,则对与所述重合的第二区域面积对应的障碍物数据集合进行优化。
进一步地,
所述标记模块,具体用于若与所述重合的第二区域面积对应的障碍物具有包围关系,则按照所述包围关系和所述障碍物信息将障碍物在地图中进行显示。
根据本发明的又一方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述机器人地图中障碍物的标记方法对应的操作。
根据本发明的再一方面,提供了一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述机器人地图中障碍物的标记方法对应的操作。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供了一种机器人地图中障碍物的标记方法及装置,与现有技术相比,本发明实施例通过获取概率地图和高度地图,所述概率地图用于标识机器人作业环境中各位置存在障碍物的概率分布,所述高度地图用于标识所述机器人作业环境中各位置对应的障碍物高度分布;根据所述概率地图和所述高度地图进行数据分组,得到多个数据集合,每个所述数据集合标识一个障碍物的障碍物信息,而所述障碍物信息至少包含有障碍物位置信息和障碍物边缘信息;按照所述障碍物信息将障碍物标记在地图中,实现了根据机器人作业环境内中障碍物的概率分布和高度分布数据,识别作业环境内障碍物的位置信息和边缘信息,并根据障碍物的位置信息和边缘信息在机器人地图中对障碍物进行标记,由于障碍物边缘可以标识障碍物为落地障碍物还是非落地障碍物,从而实现了在机器人地图中对障碍物进行准确标记。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种机器人地图中障碍物的标记方法流程图;
图2示出了本发明实施例提供的另一种机器人地图中障碍物的标记方法流程图;
图3示出了本发明实施例提供的一种机器人地图中障碍物的标记装置组成框图;
图4示出了本发明实施例提供的另一种机器人地图中障碍物的标记装置组成框图;
图5示出了本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
现有扫地机器人虽然具备自主导航能力及障碍物识别能力,但将障碍物在机器人地图中的正确位置进行标记,以使得对障碍物进行准确的显示是亟待解决的问题。本发明实施例提供了一种机器人地图中障碍物的标记方法,如图1所示,该方法包括:
101、获取概率地图和高度地图。
其中,所述概率地图用于标识机器人作业环境的栅格地图中各位置存在障碍物的概率分布,所述高度地图用于标识所述机器人作业环境的栅格地图中各位置的高度分布情况。而障碍物可以为落地障碍物,即机器人无法在该障碍物底部穿梭的障碍物,如衣柜、洗衣机等,也可以为非落地障碍物,即障碍物本体中至少一部分是悬空的,机器人能够正常在该障碍物悬空部分运行且在其内外穿梭的障碍物。在本申请实施例中,针对落地障碍物和非落地障碍物两种类型的障碍物,获取到的概率地图和高度地图也可以为两种。
进一步地,概率地图反映了机器人作业环境内的栅格地图中每一个位置存在障碍物的概率,在概率地图上,概率值越大的区域表明该位置上放置有障碍物的概率越大,相反,概率值越小的区域表明该位置上放置有障碍物的概率越小。同样的,高度地图反映了机器人作业环境内的栅格地图中各位置对应的高度的分布情况。但需要说明的是,障碍物概率地图和高度分布地图只能标识作业环境内障碍物位置和高度大致的分布情况,而若要在机器人地图中对障碍物进行展示,则需要获知障碍物的具体位置、障碍物边缘位置等数据,因此在本申请实施例中首先获取概率地图和高度地图,以便根据地图进一步处理得到用于在地图中展示障碍物的数据。
102、根据所述概率地图和所述高度地图进行障碍物数据分组,得到多个数据集合。
其中,每个数据集合标识一个障碍物的障碍物信息,而所述障碍物信息至少包含有障碍物位置信息和障碍物边缘信息。
具体地,本步骤可以为根据概率地图和高度地图提取能够标识障碍物的位置点,而后根据提取到的位置点所对应的区域范围确定为当前作业环境中的障碍物,但不限于此。同样的,本步骤中的数据集合也可以区分为标识落地障碍物的数据集合和标识非落地障碍物的数据集合,且各个数据集合还可以配置有用以标识障碍物的标识信息如障碍物名称、障碍物编号等,障碍物所处房间标识信息,障碍物类型信息等,以便根据各组数据集合对其标识的障碍物准确标记。
103、按照所述障碍物信息将障碍物标记在地图中。
通过根据概率地图和高度地图进行数据分组,得到能够标识每个障碍物的位置和边缘等信息的数据集合,则可以根据各组数据绘制各个障碍物并将其在地图中进行标记,以便后续进行展示。具体地,地图展示的方法可以为现有技术中地图展示方法,本申请实施例对此不做具体限定。
本发明提供了一种机器人地图中障碍物的标记方法及装置,与现有技术相比,本发明实施例通过获取概率地图和高度地图,所述概率地图用于标识机器人作业环境中各位置存在障碍物的概率分布,所述高度地图用于标识所述机器人作业环境中各位置对应的障碍物高度分布;根据所述概率地图和所述高度地图进行数据分组,得到多个数据集合,每个所述数据集合标识一个障碍物的障碍物信息,而所述障碍物信息至少包含有障碍物位置信息和障碍物边缘信息;按照所述障碍物信息将障碍物标记在地图中,实现了根据机器人作业环境内中障碍物的概率分布和高度分布数据,识别作业环境内障碍物的位置信息和边缘信息,并根据障碍物的位置信息和边缘信息在机器人地图中对障碍物进行标记,由于障碍物边缘可以标识障碍物为落地障碍物还是非落地障碍物,从而实现了在机器人地图中对障碍物进行准确标记。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种机器人地图中障碍物的标记方法,如图2所示,该方法包括:
201、获取障碍物概率地图和高度地图。
其中,所述概率地图用于标识机器人作业环境中各位置存在障碍物的概率分布,所述高度地图用于标识所述机器人作业环境中各位置对应的障碍物高度分布。本步骤的概念解释和具体实施方式可以参考上述步骤101中相应描述,本申请实施例在此不再赘述。
需要说明的是,本申请实施例中的机器人为具有照相功能和测距功能的机器人,而机器人的测距可以通过双目相机、结构光、TOF(Time of flight,时差法)、LDS(LaserDirect Structuring,激光直接成型术)等中的任意一种方式来实现,本申请实施例对此不做限定。机器人能通过拍照对行走过程中遇到的障碍物类型进行识别,通过测距能够得出距离自身当前位置、在地平面上某一方位上、某一高度处存在/不存在物体的结论。
在本申请实施例中,步骤201之前还可以包括:获取障碍物初始概率地图和初始高度地图;采集所述机器人在工作过程中的采集数据并对所述采集数据进行解析,得到障碍物数据;根据所述障碍物数据对所述初始概率地图和所述初始高度地图进行调整,并将调整后的初始概率地图确定为所述概率地图,将调整后的初始高度地图确定为所述高度地图。
其中,所述采集数据至少包含有图像数据和高度数据,而障碍物初始概率地图和初始高度地图可以为针对两种类型障碍物,即落地障碍物和非落地障碍物,并根据先验概率和高度分别生成的。
进一步地,当机器人在作业环境内运行时,持续拍照并根据图片数据识别图片中包含的障碍物,而对于每一帧图片的图片数据和对于两种类型的障碍物,解析得到的障碍物数据只标识两种情形,即不包含任意一种障碍物,或者包含一种/两种障碍物,当不包含任意一种障碍物时则将该帧图像标识的视场范围和景深范围在概率地图中对应位置的概率值减小,而当包含一种/两种障碍物时,则将该帧图像标识的范围在概率地图上对应位置的概率值增加,并且可以根据不同类型障碍物的先验情况,将概率地图上远离机器人方向的适当区域内的概率值增加,以此方式得到准确的障碍物概率地图。
而对于高度地图则可以通过机器人在作业环境内运行时,持续采集障碍物的高度数据,并将高度数据投影到高度地图上。初始高度地图中可以先验的设定多个高度区间,当机器人采集到障碍物的高度数据时,根据障碍物位置和高度数据映射到初始高度地图中,若其在预设高度区间内,则增加当前位置和当前高度处的高度分布概率,反之则减少,以得到准确的障碍物高度地图。而对于障碍物高度数据的获取方式以及将获取到的高度数据映射到高度地图中的方式,本申请实施例不做限定。
在本申请实施例中,通过首先创建障碍物初始概率地图和初始高度地图,并根据机器人采集到的图像和高度数据对标识障碍物信息的数据集合进行优化,并得到能够标识在指定位置存在各类型障碍物概率,和在指定位置、指定高度范围是否存在障碍物的数据集合,并根据该数据集合生成概率地图和高度地图,确保了地图数据的准确性,进而提升了机器人地图中障碍物标记的准确性。
202、结合所述概率地图和所述高度地图并根据预设概率阈值提取多个候选点。
其中,预设概率阈值可以根据障碍物类型和不同的应用场景进行设定。对于每种障碍物将所有满足概率地图上该点的概率值超过预设阈值且在高度地图上该点的概率超过预设阈值的点,收集为候选点。而对于概率地图中的预设阈值和在高度地图中的预设阈值可以相同也可以不同,且预设阈值可以根据障碍物类型不同而取不同的数值,本申请实施例对此不做具体限定。
需要说明的是,单独通过概率地图或者单独通过高度地图提取候选点,都存在候选点不准确的情况,而结合概率地图和高度地图则可以基于多维度数据提取候选点,确保了数据处理的准确性。
203、将所述多个候选点进行聚类处理,得到多组聚类数据。
其中,每组所述聚类数据标识一个数据集合,即标识一个障碍物的障碍物信息,而所述障碍物信息至少包含有障碍物位置和障碍物边缘。
在本申请实施例中,对于任意两个候选点,如果他们之间的直线距离小于一定阈值,则认为这两个候选点属于同一类;对于任意两个候选点,如果这两个候选点在SLAM(simultaneous localization and mapping)地图上存在一条无障碍物或其他阻挡路径,且所有路径中最短的一条距离小于一定阈值,则认为这两个候选点属于同一类;对于任意两个候选点,当两个候选点之间存在一个障碍物(如一堵墙)时,则认为这两个候选点不属于一类。
此外,在聚类得到多个聚类数据之后,可以首先对各聚类数据标识的范围进行预判,当该范围超过合理障碍物范围时,则可以将该聚类数据确定为异常数据并将其删除,以确保障碍物数据的准确性。
进一步地,为了显示机器人地图中的障碍物,本申请实施例还包括:获取所述机器人作业环境的SLAM地图;根据所述SLAM地图和所述数据集合分别计算第一区域面积和第二区域面积;根据所述第一区域面积和所述第二区域面积识别落地障碍物。其中,所述SLAM地图中包含有标识禁止机器人通行的未知区域,所述第一区域面积为在所述SLAM地图中最大连续未知区域,而所述第二区域面积为所述数据集合标识的障碍物占地面积,所述落地障碍物为禁止机器人在障碍物内外穿梭的障碍物。
具体地,根据聚类得到的数据集合判断障碍物是否为落地数据的方式可以为:
1)、判断第一区域与第二区域面积之间的比值是否大于阈值A