可清扫区域优化方法、装置、终端设备和可读存储介质与流程
- 国知局
- 2024-07-31 23:36:44
本技术涉及终端设备,尤其涉及一种可清扫区域优化方法、装置、终端设备和可读存储介质。
背景技术:
1、通常地,对于一个全新的居住环境,当需要进行全屋清扫时,清洁机器人会先按照沿墙模式进行沿边行走,以便快速构建出房间规划地图,并提取出可以清扫的区域,然后再按照弓字型清扫模型进行路径规划,之后依据规划的路径逐一进行清扫,以确保清扫覆盖所有区域。然而,若提取到的可清扫区域的边缘凹凸不平,则会造成规划弓字型等清扫路径的不连续,使得转弯规划会误规划为是走折线,导致清扫效率不高。
技术实现思路
1、有鉴于此,本技术实施例提供一种可清扫区域优化方法、装置、终端设备和可读存储介质。
2、第一方面,本技术实施例提供一种可清扫区域优化方法,包括:
3、获取可清扫区域地图;
4、从所述可清扫区域地图中获取需要优化的第一组区域块轮廓;
5、提取所述第一组区域块轮廓上的第一类线段,并根据所述第一类线段对所述第一组区域块轮廓在第一方向上进行图形优化,得到优化后的可清扫区域块;
6、从所述优化后的可清扫区域块中获取需要优化的第二组区域块轮廓;
7、提取所述第二组区域块轮廓上的第二类线段,并根据所述第二类线段对所述第二组区域块轮廓在第二方向上进行图形优化,得到更加规则的可清扫区域块。
8、在一些实施例中,所述从所述可清扫区域地图中获取需要优化的第一组区域块轮廓,包括:
9、对所述可清扫区域地图进行轮廓提取,得到各个候选轮廓;
10、对各个所述候选轮廓所包围的区域块进行栅格化处理;
11、将所述候选轮廓所包围的区域块面积小于预设阈值的区域块和仅包含单行或单列栅格的区域块所对应的轮廓滤除后,得到需要优化的第一组可清扫区域块轮廓。
12、在一些实施例中,所述第一方向为竖直方向,所述第一类线段为竖线段;
13、所述提取所述第一组区域块轮廓上的第一类线段,包括:
14、遍历所述第一组内的经过栅格化处理的每个区域块轮廓,对位于轮廓上的栅格进行逆时针编号,以得到各个栅格的序号;其中,每个栅格的位置通过自身在所述区域块的栅格地图中的行列号来描述;
15、从所述区域块轮廓上的第一个栅格开始遍历,沿竖直方向上按照栅格列号不变的栅格归属为一条直线的原则,以提取得到所有的竖线段;其中,每条所述竖线段的起点和终点分别通过对应序号的栅格来描述。
16、在一些实施例中,所述根据所述第一类线段对所述第一组区域块轮廓在第一方向上进行图形优化,包括:
17、以包含一个栅格的竖线段作为分割点,对提取的所有竖线段进行分组,得到至少一个竖线段分组;其中,同一分组内的每个竖线段按照序号大小顺序存储;
18、遍历每个竖线段分组,以计算当前分组中各所述竖线段之间的水平距离最大值,并根据所述水平距离最大值和所述当前分组中首条竖线段的起点到终点对应的栅格行号变化类型,确定需要优化的目标线段及优化策略,然后对所述当前分组中的所述目标线段执行所述优化策略。
19、在一些实施例中,所述水平距离最大值的取值范围为不超过2个栅格;
20、所述计算当前分组中各所述竖线段之间的水平距离最大值,包括:
21、根据当前分组中每条竖线段的栅格列号,计算所有所述栅格列号中的最大值和最小值之差,以作为所述当前分组竖线段之间的水平距离最大值。
22、在一些实施例中,所述根据所述水平距离最大值和所述当前分组中首条竖线段的起点到终点对应的栅格行号变化类型,确定需要优化的目标线段及优化策略,包括:
23、若所述水平距离最大值小于等于1个栅格,并且所述当前分组中首条竖线段的起点到终点对应的栅格行号变化为由小到大,则将所述当前分组中栅格列号为最大值的那条竖线段作为需要优化的目标线段,且优化策略为合并至栅格列号小1的相邻竖线段所对应的直线中;
24、若所述水平距离最大值小于等于1个栅格,并且所述当前分组中首条竖线段的起点到终点对应的栅格行号变化为由大到小,则将所述当前分组中栅格列号为最小值的那条竖线段作为需要优化的目标线段,且优化策略为合并至栅格列号大1的相邻竖线段所对应的直线中。
25、在一些实施例中,该可清扫区域优化方法还包括:
26、若所述水平距离最大值大于1且小于等于2个栅格,并且所述当前分组中首条竖线段的起点到终点对应的栅格行号变化为由小到大,则将所述当前分组中栅格列号为最小值和最大值的那两条竖线段作为需要优化的目标线段,且优化策略分别为合并至当前那两条竖线段之间的中间竖线段所对应的直线中;
27、若所述水平距离最大值大于1且小于等于2个栅格,并且所述当前分组中首条竖线段的起点到终点对应的栅格行号变化为由小到大,则将所述当前分组中栅格列号为最小值和最大值的那两条竖线段作为需要优化的目标线段,且优化策略分别为合并至当前那两条竖线段之间的中间竖线段所对应的直线中。
28、在一些实施例中,所述第二方向为水平方向,所述第二类线段为横线段;
29、所述提取所述第二组区域块轮廓上的第二类线段,包括:
30、遍历所述第二组内的经过栅格化处理的每个区域块轮廓,对位于轮廓上的栅格进行顺时针编号,以得到各个栅格的序号;其中,每个栅格的位置通过自身在所述区域块的栅格化地图中的行列号来描述;
31、从所述区域块轮廓上的第一个栅格开始遍历,沿水平方向上按照栅格栅格行号不变的栅格归属为一条直线的原则,以提取得到所有的横线段;其中,每条所述横线段的起点和终点分别通过对应序号的栅格来描述。
32、在一些实施例中,所述根据所述第二类线段对所述第二组区域块轮廓在第二方向上进行图形优化,包括:
33、以包含一个栅格的横线段作为分割点,对提取的所有横线段进行分组,得到至少一个横线段分组;其中,同一分组内的每个横线段按照序号大小顺序存储;
34、遍历每个横线段分组,以计算当前分组中各所述横线段之间的竖直距离最大值,并根据所述竖直距离最大值和所述当前分组中首条横线段的起点到终点对应的栅格列号变化类型,确定需要优化的目标线段及优化策略,然后对所述当前分组中的所述目标线段执行所述优化策略。
35、在一些实施例中,所述对所述当前分组中的所述目标线段执行所述优化策略,包括:
36、根据所述目标线段的栅格初始状态,对所述目标线段的栅格状态在空闲状态和占有状态之间进行调整,且对所述当前分组中并入所述目标线段后的那条线段的起点和终点的行列号进行修改。
37、第二方面,本技术实施例提供一种可清扫区域优化装置,包括:
38、地图获取模块,用于获取可清扫区域地图;
39、轮廓提取模块,用于从所述可清扫区域地图中获取需要优化的第一组区域块轮廓;
40、线段优化模块,用于提取所述第一组区域块轮廓上的第一类线段,并根据所述第一类线段对所述第一组区域块轮廓在第一方向上进行图形优化,得到优化后的可清扫区域块;
41、所述轮廓提取模块,还用于从所述优化后的可清扫区域块中获取需要优化的第二组区域块轮廓;
42、所述线段优化模块,还用于提取所述第二组区域块轮廓上的第二类线段,并根据所述第二类线段对所述第二组区域块轮廓在第二方向上进行图形优化,得到更加规则的可清扫区域块。
43、第三方面,本技术实施例提供一种终端设备,所述终端设备包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施所述的可清扫区域优化方法。
44、第四方面,本技术实施例提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上执行时,实施所述的可清扫区域优化方法。
45、本技术的实施例具有如下有益效果:
46、本技术的可清扫区域优化方法通过在获取到可清扫区域地图后,从中获取需要优化的区域块轮廓;然后,提取各区域块轮廓上的目标线段,并根据目标线段对区域轮廓在两个方向上依次进行图形优化,以得到更加规则的可清扫区域块。通过对可清扫区域的边缘进行拉直去噪,可以得到较为方正的可清扫区域图形,为后续的如弓字型等清扫路线规划提供了更好的规划基础,进而可提高清扫效率。
本文地址:https://www.jishuxx.com/zhuanli/20240730/197968.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表