一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

地图处理方法、装置、存储介质及机器人与流程

2021-12-04 01:41:00 来源:中国专利 TAG:


1.本发明涉及地图处理技术领域,尤其涉及一种地图处理方法、装置、存储介质及机器人。


背景技术:

2.随着机器人技术的发展,机器人已经可以取代人类完成一部分室内的工作,例如,自动清洁机器人的逐渐应用和普及。
3.现有自动清洁机器人一般采用激光雷达进行路径规划和导航,用户在使用自动清洁机器人完成一次地面清洁后,可以在移动设备上看到根据激光雷达扫描测量的数据所生成的清扫地图,该清扫地图中显示有本次清洁地面过程中扫地机器人的路径和所到达区域的房型图。然而,在根据激光扫描测量数据生成清扫地图时,存在由于激光扫描误差带来的地图上墙体厚薄显示不均的问题,使得清扫地图无法向用户展示真实的地图状态。


技术实现要素:

4.鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的地图处理方法、装置、存储介质及机器人。
5.本发明的一个方面,提供了一种地图处理方法,所述方法包括:
6.遍历清扫地图,查找所述清扫地图中存在的障碍物像素点;
7.根据各个障碍物像素点的位置分布,确定所述清扫地图中的线性障碍物对应的线性分布区域;
8.将所述线性分布区域中的目标像素列及目标像素行中的所有像素点标记为障碍物像素点,所述目标像素列及目标像素行为线性分布区域中存在障碍物像素点数量最多的像素列或像素行。
9.其中,所述根据各个障碍物像素点的位置分布,确定所述清扫地图中的线性障碍物对应的线性分布区域,包括:
10.以各障碍物像素点为中心,形成搜索区域;
11.判断当前障碍物像素点是否满足与当前搜索方向不一致的线性分布区域的像素分布规则;
12.若检测到的障碍物像素点不满足与当前搜索方向不一致的线性分布区域的像素分布规则,则将所述搜索区域按照当前搜索方向依次移动,以对移动后的搜索区域中的像素点进行检测,直到检测到的障碍物像素点满足与当前搜索方向不一致的线性分布区域的像素分布规则;
13.将所述搜索区域的移动路径作为线性分布区域。
14.其中,所述方法还包括:
15.判断搜索区域移动后,当前搜索区域中是否存在障碍物像素点;
16.若当前搜索区域中不存在障碍物像素点,则对预设的第一扫描计数值进行累加;
17.判断更新后的第一扫描计数值是否小于或等于预设的第一计数阈值;
18.若更新后的第一扫描计数值小于或等于所述第一计数阈值,则将所述搜索区域按照当前搜索方向依次移动,以对移动后的搜索区域中的像素点进行检测,直到更新后第一扫描计数值大于第一计数阈值,或,检测到的障碍物像素点满足与当前搜索方向不一致的线性分布区域的像素分布规则。
19.其中,所述搜索区域的搜索方向包括从上到下的纵向搜索和从左到右的横向搜索。
20.其中,所述判断当前障碍物像素点是否满足与当前搜索方向不一致的线性分布区域的像素分布规则,包括:
21.若当前搜索方向为从上到下的纵向搜索,则统计当前障碍物像素点左右两侧存在的满足预设间隔要求的障碍物像素点的像素距离长度,所述预设间隔要求具体为相邻障碍物像素点之间的像素点数量小于第二计数阈值;
22.若当前搜索方向为从左到右的横向搜索,则统计当前障碍物像素点上下两侧存在的满足预设间隔要求的障碍物像素点的像素距离长度;
23.判断所述像素距离长度是否大于预设的长度阈值,若所述像素距离大于预设的长度阈值,则判定当前障碍物像素点满足与当前搜索方向不一致的线性分布区域的像素分布规则。
24.其中,在所述将所述线性分布区域中的目标像素列及目标像素行中的所有像素点标记为障碍物像素点之后,所述方法还包括:
25.将所述目标像素列的两像素端点分别向上下延伸预设长度,将延伸占用的像素点标记为障碍物像素点,并将所述目标像素列的两像素端点分别向左右两边延伸,直到遇到其他目标像素列的像素端点,将延伸占用的像素点标记为障碍物像素点;
26.将所述目标像素行的两像素端点分别向左右延伸,直到遇到目标像素列的像素点标记,将延伸占用的像素点标记为障碍物像素点,并将所述目标像素行的两像素端点分别向上下两边延伸,直到遇到其他目标像素行的像素端点,将延伸占用的像素点标记为障碍物像素点。
27.其中,所述方法还包括:
28.分别统计所述线性分布区域中位于所述目标像素列左右两侧及目标像素行上下两侧的分布区域内存在的数量最多的像素点类型;
29.将所述目标像素列左右两侧及目标像素行上下两侧的分布区域内的障碍物像素点标记为当前区域内分布数量最多的像素点类型。
30.其中,在根据各个障碍物像素点的位置分布,确定所述清扫地图中的线性障碍物对应的线性分布区域之前,所述方法还包括:
31.以各障碍物像素点为起始像素点,查找所述清扫地图中存在的满足预设的斜率分布规则的障碍物像素区域;
32.将所述障碍物像素区域内的所有像素点标记为障碍物像素点。
33.其中,所述查找所述清扫地图中存在的满足预设的斜率分布规则的障碍物像素区域,包括:
34.将各障碍物像素点作为起始像素点,以不同搜索单位分别向预设搜索方向进行障
碍物像素点搜索;
35.根据所述搜索单位内存在的障碍物像素点数量以及所述搜索单位对应的像素点数量计算当前障碍物像素点的命中率;
36.以所述搜索单位对当前障碍物像素点上方和下方的像素点分别进行障碍物像素点搜索;
37.根据在当前障碍物像素点上方和下方所搜到的障碍物像素点数量以及所述搜索单位对应的像素点数量计算当前障碍物像素点的错失率;
38.当所述命中率和错失率均满足各自对应的预设阈值时,按照当前搜索方向对所述清扫地图中的其他像素点进行循环搜索,以对当前搜索方向中的像素点按照当前搜索单位进行检测,直到检测到的障碍物像素点的命中率或错失率不满足各自对应的预设阈值;
39.判断本次搜索流程的搜索循环次数是否大于当前搜索单位相对应的循环阈值,若所述搜索循环次数大于当前搜索单位相对应的循环阈值,则将搜索流程中搜索过的像素点标记为障碍物像素点。
40.其中,所述方法还包括:
41.分别以各障碍物像素点为起始像素点进行广度优先搜索,查找当前障碍物像素点的连通域;
42.若当前障碍物像素点的连通域中像素点的数量小于预设数量阈值,且该连通域中的像素点均不与未知像素点相邻,则保留该连通域中的障碍物像素点的标记。
43.本发明的另一个方面,提供了一种地图处理装置,所述装置包括:
44.第一处理模块,用于遍历清扫地图,查找所述清扫地图中存在的障碍物像素点;
45.第二处理模块,用于根据各个障碍物像素点的位置分布,确定所述清扫地图中的线性障碍物对应的线性分布区域;
46.第三处理模块,用于将所述线性分布区域中的目标像素列及目标像素行中的所有像素点标记为障碍物像素点,所述目标像素列及目标像素行为线性分布区域中存在障碍物像素点数量最多的像素列或像素行。
47.其中,所述第二处理模块,包括:
48.配置单元,用于以各障碍物像素点为中心,形成搜索区域;
49.第一判断单元,用于判断当前障碍物像素点是否满足与当前搜索方向不一致的线性分布区域的像素分布规则;
50.第一搜索单元,用于当检测到的障碍物像素点不满足与当前搜索方向不一致的线性分布区域的像素分布规则时,将所述搜索区域按照当前搜索方向依次移动,以对移动后的搜索区域中的像素点进行检测,直到检测到的障碍物像素点满足与当前搜索方向不一致的线性分布区域的像素分布规则;
51.处理单元,用于将所述搜索区域的移动路径作为线性分布区域。
52.其中,所述第二处理模块,还包括:
53.第二判断单元,用于判断搜索区域移动后,当前搜索区域中是否存在障碍物像素点;
54.计数单元,用于在当前搜索区域中不存在障碍物像素点时,对预设的第一扫描计数值进行累加;
55.第三判断单元,用于判断更新后的第一扫描计数值是否小于或等于预设的第一计数阈值;
56.所述第一搜索单元,还用于当更新后的第一扫描计数值小于或等于所述第一计数阈值时,将所述搜索区域按照当前搜索方向依次移动,以对移动后的搜索区域中的像素点进行检测,直到更新后第一扫描计数值大于第一计数阈值,或,检测到的障碍物像素点满足与当前搜索方向不一致的线性分布区域的像素分布规则。
57.其中,所述搜索区域的搜索方向包括纵向搜索和横向搜索。
58.其中,所述第一判断单元,包括:
59.第一统计子单元,用于在当前搜索方向为从上到下的纵向搜索时,统计当前障碍物像素点左右两侧存在的满足预设间隔要求的障碍物像素点的像素距离长度,所述预设间隔要求具体为相邻障碍物像素点之间的像素点数量小于第二计数阈值;
60.第二统计子单元,用于在当前搜索方向为从左到右的横向搜索时,统计当前障碍物像素点上下两侧存在的满足预设间隔要求的障碍物像素点的像素距离长度;
61.判断子单元,用于判断所述像素距离长度是否大于预设的长度阈值,若所述像素距离大于预设的长度阈值,则判定当前障碍物像素点满足与当前搜索方向不一致的线性分布区域的像素分布规则。
62.其中,所述第三处理模块,还用于在所述将所述线性分布区域中的目标像素列及目标像素行中的所有像素点标记为障碍物像素点之后,将所述目标像素列的两像素端点分别向上下延伸预设长度,将延伸占用的像素点标记为障碍物像素点,并将所述目标像素列的两像素端点分别向左右两边延伸,直到遇到其他目标像素列的像素端点,将延伸占用的像素点标记为障碍物像素点;将所述目标像素行的两像素端点分别向左右延伸,直到遇到目标像素列的像素点标记,将延伸占用的像素点标记为障碍物像素点,并将所述目标像素行的两像素端点分别向上下两边延伸,直到遇到其他目标像素行的像素端点,将延伸占用的像素点标记为障碍物像素点。
63.其中,所述第三处理模块,包括:
64.统计单元,用于分别统计所述线性分布区域中位于所述目标像素列左右两侧及目标像素行上下两侧的分布区域内存在的数量最多的像素点类型;
65.标记单元,用于将所述目标像素列左右两侧及目标像素行上下两侧的分布区域内的障碍物像素点标记为当前区域内分布数量最多的像素点类型。
66.其中,所述装置还包括:
67.第四处理模块,用于在根据各个障碍物像素点的位置分布,确定所述清扫地图中的线性障碍物对应的线性分布区域之前,以各障碍物像素点为起始像素点,查找所述清扫地图中存在的满足预设的斜率分布规则的障碍物像素区域;将所述障碍物像素区域内的所有像素点标记为障碍物像素点。
68.其中,所述第四处理模块,包括:
69.第二搜索单元,用于将各障碍物像素点作为起始像素点,以不同搜索单位分别向预设搜索方向进行障碍物像素点搜索;
70.计算单元,用于根据所述搜索单位内存在的障碍物像素点数量以及所述搜索单位对应的像素点数量计算当前障碍物像素点的命中率;
71.所述第二搜索单元,还用于以所述搜索单位对当前障碍物像素点上方和下方的像素点分别进行障碍物像素点搜索;
72.所述计算单元,还用于根据在当前障碍物像素点上方和下方所搜到的障碍物像素点数量以及所述搜索单位对应的像素点数量计算当前障碍物像素点的错失率;
73.所述第二搜索单元,还用于当所述命中率和错失率均满足各自对应的预设阈值时,按照当前搜索方向对所述清扫地图中的其他像素点进行循环搜索,以对当前搜索方向中的像素点按照当前搜索单位进行检测,直到检测到的障碍物像素点的命中率或错失率不满足各自对应的预设阈值;
74.第四判断单元,用于判断本次搜索流程的搜索循环次数是否大于当前搜索单位相对应的循环阈值,若所述搜索循环次数大于当前搜索单位相对应的循环阈值,则将搜索流程中搜索过的像素点标记为障碍物像素点。
75.其中,所述装置还包括:
76.第五处理模块,用于分别以各障碍物像素点为起始像素点进行广度优先搜索,查找当前障碍物像素点的连通域;若当前障碍物像素点的连通域中像素点的数量小于预设数量阈值,且该连通域中的像素点均不与未知像素点相邻,则保留该连通域中的障碍物像素点的标记。
77.此外,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法的步骤。
78.此外,本发明还提供了一种机器人,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法的步骤。
79.本发明实施例提供的地图处理方法、装置、存储介质及机器人,能够有效消除由于激光扫描误差带来的地图上显示墙体厚薄不均的问题,使得清扫地图更加美观且符合真实状态。
80.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
81.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
82.图1为本发明实施例提出的地图处理方法的流程图;
83.图2为本发明实施例的一种地图处理方法中步骤s12的具体实现流程图;
84.图3为本发明实施例提出的预设散点分布规则示意图一;
85.图4为本发明实施例提出的预设散点分布规则示意图二;
86.图5为本发明实施例提出的与图3所示预设散点分布规则对应的重置规则示意图一;
87.图6为本发明实施例提出的与图4所示预设散点分布规则对应的重置规则示意图二;
88.图7为本发明实施例提出的斜墙处理流程中搜索单位为1像素时的搜索示意图;
89.图8为本发明实施例提出的斜墙处理流程中搜索单位为2像素时的搜索示意图;
90.图9为本发明实施例的一种地图处理装置的结构框图;
91.图10为本发明实施例的机器人的示意图。
具体实施方式
92.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
93.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
94.本发明技术方案所适用的机器人可以(但不限于)为扫地机器人、拖地机器人或扫拖一体式机器人等自动清洁设备,该机器人可以包含机器主体、感知系统、控制系统、驱动系统、清洁系统、能源系统和人机交互系统。
95.本发明技术方案中,以扫地机器人为例:通常在扫地机器人上配置lds(laser distance sensor,激光测距传感器)并利用slam(simultaneous localization and mapping,即时定位与地图构建)算法在清洁地面的过程中进行定位,以生成清扫地图。
96.清扫地图可以为1024*1024像素的方形区域。机器人在完成每一次清扫工作时后会生成一张清扫地图。通常,清扫地图中的像素点可分为障碍物像素点(即block点,对应于实际空间中lds能扫描到的有可能阻挡其行进路线的各种障碍物,如墙、固定的物体等)、空间像素点(即space点,对应于实际空间中lds能扫描到的、且被认为扫地机器人可到达的区域)和未知像素点(即unknown点,在扫地机器人绘制地图的过程中,除确定为block点及space点之外的其他像素点,均会被设置为unknown点)。
97.图1示意性示出了本发明一个实施例的地图处理方法的流程图。参照图1,本发明实施例的地图处理方法,应用于扫地机器人在每次清扫结束后,针对本次清扫过程所生成的第一清扫地图,执行以下步骤:
98.s11、遍历清扫地图,查找所述清扫地图中存在的障碍物像素点。
99.本实施例中通过遍历第一清扫地图的方式查找其中存在的障碍物像素点。
100.s12、根据各个障碍物像素点的位置分布,确定所述第一清扫地图中的线性障碍物对应的线性分布区域。
101.本实施例中提出的线性障碍物一般为清扫空间存在的墙体,线性障碍物对应的线性分布区域即清扫地图中存在的墙体分布区域。
102.具体的,可根据清扫地图中各个障碍物像素点的位置分布,查找呈线性分布的障碍物像素点,并将查找到的像素区域作为清扫地图中的墙体对应的线性分布区域。
103.s13、将所述线性分布区域中的目标像素列及目标像素行中的所有像素点标记为障碍物像素点,所述目标像素列及目标像素行为线性分布区域中存在障碍物像素点数量最
多的像素列或像素行。
104.其中,所述目标像素列及目标像素行为线性分布区域中存在障碍物像素点数量最多的像素列或像素行。
105.本实施例中步骤s13提出的将所述线性分布区域中除所述目标像素列及目标像素行之外的障碍物像素点标记为非障碍物像素点,具体实现流程包括:分别统计所述线性分布区域中位于所述目标像素列左右两侧及目标像素行上下两侧的分布区域内存在的数量最多的像素点类型;将所述目标像素列左右两侧及目标像素行上下两侧的分布区域内的障碍物像素点标记为当前区域内分布数量最多的像素点类型。
106.具体的,对于纵向墙体区域,分别统计线性分布区域中每列的block点个数,选择block点最多的列标记为目标像素列,并将该目标像素列中的所有像素点全部标记为block点。线性分布区域中位于该列左右两侧的像素点,按照space和unknown点的多少进行重置:统计左侧的space和unknown点个数,若space点多,则将左侧的所有点置为space点,若unknown点多,则将左侧的所有点置为unknown点;右侧的操作相同。对选定目标像素列的两像素端点做端点标记,对选定列做访问标记。
107.进一步地,在将所述线性分布区域中的目标像素列及目标像素行中的所有像素点标记为障碍物像素点之后,对于清扫地图中纵向墙体分布区域处理时,将目标像素列的两像素端点分别向上下延伸预设长度,将延伸占用的像素点标记为障碍物像素点,并将所述目标像素列的两像素端点分别向左右两边延伸,直到遇到其他目标像素列的像素端点,将延伸占用的像素点标记为障碍物像素点;对于清扫地图中横向墙体分布区域处理时,将所述目标像素行的两像素端点分别向左右延伸,直到遇到目标像素列的像素点标记,将延伸占用的像素点标记为障碍物像素点,并将所述目标像素行的两像素端点分别向上下两边延伸,直到遇到其他目标像素行的像素端点,将延伸占用的像素点标记为障碍物像素点。
108.本实施例中,仅以先对纵向墙体分布区域内的目标像素列进行端点延伸操作,再对横向墙体分布区域内的目标像素行进行端点延伸操作以形成地图中的连续墙体为例,对磨墙流程进行解释说明。
109.可理解的,在实际应用中,还可以先对横向墙体分布区域内的目标像素行进行端点延伸操作,然后再对纵向墙体分布区域内的目标像素行进行端点延伸操作以形成地图中的连续墙体,具体实现流程相似,本发明对此不做具体限定。
110.本发明实施例提供的地图处理方法,根据清扫地图中各个障碍物像素点的位置分布,确定清扫地图中的线性障碍物对应的线性分布区域,通过将线性分布区域中的目标像素列或目标像素行中的所有像素点标记为障碍物像素点,并将线性分布区域中除目标像素列或目标像素行之外的障碍物像素点标记为非障碍物像素点,能够有效消除由于扫描物体反光等现象而导致的出现在清扫地图中的散点区域,使得清扫地图更加美观且符合真实状态。
111.本发明实施例中,如图2所示,步骤s12中的根据各个障碍物像素点的位置分布,确定所述清扫地图中的线性障碍物对应的线性分布区域,具体包括以下实现流程:
112.s121、以各障碍物像素点为中心,形成搜索区域;其中,本实施例中搜索区域的搜索方向包括从上到下的纵向搜索和从左到右的横向搜索,在形成搜索区域后可以按照从左到右或从上到下的搜索方向对清扫地图进行搜索;
113.s122、判断当前障碍物像素点是否满足与当前搜索方向不一致的线性分布区域的像素分布规则;
114.若检测到的障碍物像素点不满足与当前搜索方向不一致的线性分布区域的像素分布规则,则执行步骤s123,若检测到的障碍物像素点满足与当前搜索方向不一致的线性分布区域的像素分布规则,则结束循环,执行步骤s124;
115.s123、将所述搜索区域按照当前搜索方向依次移动,以对移动后的搜索区域中的像素点进行检测,直到检测到的障碍物像素点满足与当前搜索方向不一致的线性分布区域的像素分布规则;
116.s124、将所述搜索区域的移动路径作为线性分布区域。
117.进一步地,在将搜索区域按照当前搜索方向依次移动之后,还包括以下附图中未示出的步骤:
118.s1231、判断搜索区域移动后,当前搜索区域中是否存在障碍物像素点;
119.若当前搜索区域中存在障碍物像素点,则返回步骤s122;
120.若当前搜索区域中不存在障碍物像素点,则执行步骤s1232;
121.s1232、对预设的第一扫描计数值进行累加;
122.s1233、判断更新后的第一扫描计数值是否小于或等于预设的第一计数阈值;
123.若更新后的第一扫描计数值小于或等于所述第一计数阈值,则返回步骤s123,将所述搜索区域按照当前搜索方向依次移动,以对移动后的搜索区域中的像素点进行检测,直到更新后第一扫描计数值大于第一计数阈值,或,检测到的障碍物像素点满足与当前搜索方向不一致的线性分布区域的像素分布规则。
124.若更新后的第一扫描计数值小于或等于所述第一计数阈值,则结束循环,返回步骤s124、将所述搜索区域的移动路径作为线性分布区域。
125.具体的,步骤s122中的判断当前障碍物像素点是否满足与当前搜索方向不一致的线性分布区域的像素分布规则,具体实现流程包括:
126.若当前搜索方向为从上到下的纵向搜索,则统计当前障碍物像素点左右两侧存在的满足预设间隔要求的障碍物像素点的像素距离长度,所述预设间隔要求具体为相邻障碍物像素点之间的像素点数量小于第二计数阈值;若当前搜索方向为从左到右的横向搜索,则统计当前障碍物像素点上下两侧存在的满足预设间隔要求的障碍物像素点的像素距离长度;判断所述像素距离长度是否大于预设的长度阈值,若所述像素距离大于预设的长度阈值,则判定当前障碍物像素点满足与当前搜索方向不一致的线性分布区域的像素分布规则。
127.在一个具体实施例中,磨墙处理主要包括分纵向和横向两次磨墙,每次磨墙时以一定的宽度扫描这段墙,确定墙的位置。确定墙的位置后,在墙的旁边的一定范围内统计点的种类,将墙补齐,并按照统计的墙旁点重置墙旁点。
128.本实施例中,为了有效地去除散点,所述方法还包括角落处理流程,如下:
129.遍历所述清扫地图,以查找所述清扫地图中存在的满足预设散点分布规则的像素区域;对查找到的像素区域按照与其对应的散点分布规则相匹配的重置规则进行未知像素点标记。
130.本实施例中,为了有效地去除散点,遍历地图,遇到block点时,考察以该点为中心
的3*3的区域是否满足预设散点分布规则,具体的,预设散点分布规则包括如图3、4所示两种,其中,白色区域为space点,黑色区域为block点,灰色区域为unknown点,若符合特定组合,则按照与其对应的散点分布规则相匹配的重置规则进行未知像素点标记,重置为特定结果,图3散点分布规则对应的重置规则可参见图5,图4散点分布规则对应的重置规则可参见图6。
131.为了进一步地提升清扫地图与真实地图状态的匹配程度,实现特殊场景保留,本发明实施例在进行磨墙的处理之前,先执行特殊场景保留操作,进行特殊场景的像素点标记,在执行纵向处理流程遍历地图时,仅对遇到的block且未被标记的像素点进行处理。
132.本实施例中的特殊场景包括斜墙及地图中的小障碍物。
133.斜墙保留的相关处理:
134.本发明在在根据各个障碍物像素点的位置分布,确定所述清扫地图中的线性障碍物对应的线性分布区域之前,预先以各障碍物像素点为起始像素点,查找所述清扫地图中存在的满足预设的斜率分布规则的障碍物像素区域;将所述障碍物像素区域内的所有像素点标记为障碍物像素点。
135.其中,查找所述清扫地图中存在的满足预设的斜率分布规则的障碍物像素区域,具体包括:将各障碍物像素点作为起始像素点,以不同搜索单位分别向预设搜索方向进行障碍物像素点搜索;根据所述搜索单位内存在的障碍物像素点数量以及所述搜索单位对应的像素点数量计算当前障碍物像素点的命中率;以所述搜索单位对当前障碍物像素点上方和下方的像素点分别进行障碍物像素点搜索;根据在当前障碍物像素点上方和下方所搜到的障碍物像素点数量以及所述搜索单位对应的像素点数量计算当前障碍物像素点的错失率;当所述命中率和错失率均满足各自对应的预设阈值时,按照当前搜索方向对所述清扫地图中的其他像素点进行循环搜索,以对当前搜索方向中的像素点按照当前搜索单位进行检测,直到检测到的障碍物像素点的命中率或错失率不满足各自对应的预设阈值;判断本次搜索流程的搜索循环次数是否大于当前搜索单位相对应的循环阈值,若所述搜索循环次数大于当前搜索单位相对应的循环阈值,则将搜索流程中搜索过的像素点标记为障碍物像素点。
136.在一个具体实施例中,斜墙保留的具体处理流程如下:
137.遍历地图,遇到地图中被标记为障碍物的像素点时,从当前像素点以不同的ratio值(ratio=1,2,3,4,8)分别向四个方向(左下偏左、左下偏下、右下偏右、右下偏下)搜索,以下以右下偏右为例进行说明,其他方向类似。
138.(1)考察从当前像素开始向右ratio个像素,形成搜索单位,统计搜索单位内像素点为block的个数,记为命中率hitcount。
139.(2)考察从当前像素上方开始向右ratio个像素和从当前像素下方开始向右ratio个像素,以当前搜索单位对当前障碍物像素点上方和下方的像素点分别进行障碍物像素点搜索,统计像素点为block的总个数,记为错失率misscount。
140.(3)计算hitcount/ratio是否大于hitrate以及misscount/(ratio*2)是否小于missrate。若符合要求则跳转到当前像素下方向右的第ratio 1个像素,从(1)再开始,否则结束循环。其中,hitrate和missrate的具体取值可根据具体应用场景的准确度需求进行修改设置,本实施例对此不作具体限定。
141.(4)循环结束后考虑循环次数:在ratio=8时,若循环次数大于walllength

1,则对刚才的斜墙搜索过程中的点标记保留;在ratio=1,2,3,4时,若循环次数大于walllength,则对刚才的斜墙搜索过程中的点标记保留。
142.其中,图7、8分别示出了本发明实施例提出的斜墙处理流程中搜索单位为1像素和2像素时的搜索示意图。
143.小障碍物保留的相关处理:
144.分别以各障碍物像素点为起始像素点进行广度优先搜索,查找当前障碍物像素点的连通域;若当前障碍物像素点的连通域中像素点的数量小于预设数量阈值maxpixelnum,且该连通域中的像素点均不与未知像素点相邻,则保留该连通域中的障碍物像素点的标记。
145.对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
146.图9示意性示出了本发明一个实施例的地图处理装置的结构示意图。参照图9,本发明实施例的地图处理装置具体包括第一处理模块201、第二处理模块202以及第三处理模块203,其中:
147.第一处理模块201,用于遍历清扫地图,查找所述清扫地图中存在的障碍物像素点;
148.第二处理模块202,用于根据各个障碍物像素点的位置分布,确定所述清扫地图中的线性障碍物对应的线性分布区域;
149.第三处理模块203,用于将所述线性分布区域中的目标像素列及目标像素行中的所有像素点标记为障碍物像素点,所述目标像素列及目标像素行为线性分布区域中存在障碍物像素点数量最多的像素列或像素行。
150.本发明实施例中,所述第二处理模块202,具体包括配置单元、第一判断单元、第一搜索单元和处理单元,其中:
151.配置单元,用于以各障碍物像素点为中心,形成搜索区域;
152.第一判断单元,用于判断当前障碍物像素点是否满足与当前搜索方向不一致的线性分布区域的像素分布规则;
153.第一搜索单元,用于当检测到的障碍物像素点不满足与当前搜索方向不一致的线性分布区域的像素分布规则时,将所述搜索区域按照当前搜索方向依次移动,以对移动后的搜索区域中的像素点进行检测,直到检测到的障碍物像素点满足与当前搜索方向不一致的线性分布区域的像素分布规则;
154.处理单元,用于将所述搜索区域的移动路径作为线性分布区域。
155.其中,所述第二处理模块202,还包括第二判断单元、计数单元和第三判断单元,其中:
156.第二判断单元,用于判断搜索区域移动后,当前搜索区域中是否存在障碍物像素点;
157.计数单元,用于在当前搜索区域中不存在障碍物像素点时,对预设的第一扫描计
数值进行累加;
158.第三判断单元,用于判断更新后的第一扫描计数值是否小于或等于预设的第一计数阈值;
159.相应的,所述第一搜索单元,还用于当更新后的第一扫描计数值小于或等于所述第一计数阈值时,将所述搜索区域按照当前搜索方向依次移动,以对移动后的搜索区域中的像素点进行检测,直到更新后第一扫描计数值大于第一计数阈值,或,检测到的障碍物像素点满足与当前搜索方向不一致的线性分布区域的像素分布规则。
160.其中,所述搜索区域的搜索方向包括纵向搜索和横向搜索。
161.本实施例中,所述第一判断单元,具体包括第一统计子单元、第二统计子单元和判断子单元,其中:
162.第一统计子单元,用于在当前搜索方向为从上到下的纵向搜索时,统计当前障碍物像素点左右两侧存在的满足预设间隔要求的障碍物像素点的像素距离长度,所述预设间隔要求具体为相邻障碍物像素点之间的像素点数量小于第二计数阈值;
163.第二统计子单元,用于在当前搜索方向为从左到右的横向搜索时,统计当前障碍物像素点上下两侧存在的满足预设间隔要求的障碍物像素点的像素距离长度;
164.判断子单元,用于判断所述像素距离长度是否大于预设的长度阈值,若所述像素距离大于预设的长度阈值,则判定当前障碍物像素点满足与当前搜索方向不一致的线性分布区域的像素分布规则。
165.在本发明实施例中,所述第三处理模块203,还用于在所述将所述线性分布区域中的目标像素列及目标像素行中的所有像素点标记为障碍物像素点之后,将所述目标像素列的两像素端点分别向上下延伸预设长度,将延伸占用的像素点标记为障碍物像素点,并将所述目标像素列的两像素端点分别向左右两边延伸,直到遇到其他目标像素列的像素端点,将延伸占用的像素点标记为障碍物像素点;将所述目标像素行的两像素端点分别向左右延伸,直到遇到目标像素列的像素点标记,将延伸占用的像素点标记为障碍物像素点,并将所述目标像素行的两像素端点分别向上下两边延伸,直到遇到其他目标像素行的像素端点,将延伸占用的像素点标记为障碍物像素点。
166.在本发明实施例中,所述第三处理模块203,具体包括统计单元和标记单元,其中:
167.统计单元,用于分别统计所述线性分布区域中位于所述目标像素列左右两侧及目标像素行上下两侧的分布区域内存在的数量最多的像素点类型;
168.标记单元,用于将所述目标像素列左右两侧及目标像素行上下两侧的分布区域内的障碍物像素点标记为当前区域内分布数量最多的像素点类型。
169.在本发明实施例中,所述装置还包括附图中未示出的第四处理模块,所述的第四处理模块,用于在根据各个障碍物像素点的位置分布,确定所述清扫地图中的线性障碍物对应的线性分布区域之前,以各障碍物像素点为起始像素点,查找所述清扫地图中存在的满足预设的斜率分布规则的障碍物像素区域;将所述障碍物像素区域内的所有像素点标记为障碍物像素点。
170.进一步地,所述第四处理模块,包括第二搜索单元、计算单元和第四判断单元,其中:
171.第二搜索单元,用于将各障碍物像素点作为起始像素点,以不同搜索单位分别向
预设搜索方向进行障碍物像素点搜索;
172.计算单元,用于根据所述搜索单位内存在的障碍物像素点数量以及所述搜索单位对应的像素点数量计算当前障碍物像素点的命中率;
173.所述第二搜索单元,还用于以所述搜索单位对当前障碍物像素点上方和下方的像素点分别进行障碍物像素点搜索;
174.所述计算单元,还用于根据在当前障碍物像素点上方和下方所搜到的障碍物像素点数量以及所述搜索单位对应的像素点数量计算当前障碍物像素点的错失率;
175.所述第二搜索单元,还用于当所述命中率和错失率均满足各自对应的预设阈值时,按照当前搜索方向对所述清扫地图中的其他像素点进行循环搜索,以对当前搜索方向中的像素点按照当前搜索单位进行检测,直到检测到的障碍物像素点的命中率或错失率不满足各自对应的预设阈值;
176.第四判断单元,用于判断本次搜索流程的搜索循环次数是否大于当前搜索单位相对应的循环阈值,若所述搜索循环次数大于当前搜索单位相对应的循环阈值,则将搜索流程中搜索过的像素点标记为障碍物像素点。
177.在本发明实施例中,所述装置还包括附图中未示出的第五处理模块,所述的第五处理模块,用于分别以各障碍物像素点为起始像素点进行广度优先搜索,查找当前障碍物像素点的连通域;若当前障碍物像素点的连通域中像素点的数量小于预设数量阈值,且该连通域中的像素点均不与未知像素点相邻,则保留该连通域中的障碍物像素点的标记。
178.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
179.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
180.本发明实施例提供的地图处理方法、装置,能够有效消除由于激光扫描误差带来的地图上显示墙体厚薄不均的问题,使得清扫地图更加美观且符合真实状态。
181.此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法的步骤。
182.本实施例中,所述地图处理装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法
和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
183.图10为本发明实施例提供的机器人的示意图。本发明实施例提供的机器人,包括存储器301、处理器302及存储在存储器301上并可在处理器302上运行的计算机程序,所述处理器302执行所述计算机程序时实现上述各个地图处理方法实施例中的步骤,例如图1所示的步骤。或者,所述处理器302执行所述计算机程序时实现上述各地图处理装置实施例中各模块/单元的功能,例如图9所示的第一处理模块201、第二处理模块202以及第三处理模块203。
184.示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述地图处理装置中的执行过程。例如,所述计算机程序可以被分割成第一处理模块201、第二处理模块202以及第三处理模块203。
185.所述机器人可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述机器人可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图10仅仅是机器人的示例,并不构成对机器人的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人还可以包括输入输出设备、网络接入设备、总线等。
186.所述处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述机器人的控制中心,利用各种接口和线路连接整个机器人的各个部分。
187.所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述机器人的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
188.本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
189.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献