一种获取封闭区域面积的方法、装置及扫地机器人与流程

文档序号:20191594发布日期:2020-03-27 19:42阅读:220来源:国知局
一种获取封闭区域面积的方法、装置及扫地机器人与流程

本申请涉及智能家电技术领域,尤其涉及一种获取封闭区域面积的方法、装置及扫地机器人。



背景技术:

扫地机器人在自主导航过程中,需要同时构建地图和定位(slam,simultaneouslocalizationandmapping),因为传感器精度的原因,使得扫地机器人在构图过程中存在累计误差。在较早时间内固化地图并保持地图的完整性,首先会在地图固化过程中形成一个个的封闭区域,封闭区域的面积的误差将直接影响整个地图的误差。

因此,本领域技术人员需要提供一种可以精确获得封闭区域面积的方法。



技术实现要素:

本申请提供了一种获取封闭区域面积的方法、装置及扫地机器人,能够准确获得扫地机器人所处环境中封闭区域的面积,进而利于扫地机器人进行彻底清扫。

本申请提供一种获取封闭区域面积的方法,应用于扫地机器人,包括:

s1:根据网格地图中所述封闭区域的横坐标的最大值xmax和最小值xmin,以及纵坐标的最大值ymax和最小值ymin,获得所述封闭区域的外界矩形边框的坐标;

s2:选取所述矩形边框的边所在的任意一个网格作为起始网格;

s3:判断所述起始网格的相邻网格是否为障碍物网格;

s4:当判断所述起始网格的一个所述相邻网格为非障碍物网格时,计数器加1,标记所述起始网格为已判断网格;

s5:将判断为非障碍物网格的所述相邻网格作为起始网格,重复s2-s4,直到遍历所述矩形边框的边所在的网格内且所述封闭区域外的所有未判断网格;

s6:将所述计数器的值加1作为所述计数器最终的数值,根据所述矩形边框的面积和所述计数器最终的数值对应的网格面积总和获得所述封闭区域的面积;所述计数器的初始值为0。

优选地,根据网格地图中所述封闭区域的横坐标的最大值xmax和最小值xmin,以及纵坐标的最大值ymax和最小值ymin,获得所述封闭区域的外界矩形边框的坐标,具体包括:

获得网格地图中所述封闭区域的横坐标的最大值xmax和最小值xmin,以及纵坐标的最大值ymax和最小值ymin;所述网格地图中的每个网格的坐标单位为n,n为正数;

将所述xmax、xmin、ymax和ymin分别加n个网格的坐标单位得到所述封闭区域的外界矩形边框的坐标,其中,n为正整数。

优选地,所述判断所述起始网格的相邻网格是否为障碍物网格,具体包括:

分别判断所述起始网格的上、下、左、右四个相邻网格是否为障碍物网格。

优选地,当判断所述起始网格的一个所述相邻网格为非障碍物网格时,计数器加1,标记所述起始网格为已判断网格;具体包括:

判断所述起始网格的上、下、左、右四个相邻网格中的一个相邻网格的标记值为0,计数器加1,并将所述已判断网格的标记值记为1;

所述网格地图中封闭区域的边界所在的网格的标记值均为1,其余网格的标记值为0。

优选地,所述判断所述起始网格的上、下、左、右四个相邻网格中的一个相邻网格的标记值为0,具体包括:

剔除所述起始网格的上、下、左、右四个相邻网格中位于所述矩形边框之外的网格,判断剩余的相邻网格中的一个相邻网格的标记值为0。

本申请还提供一种获取封闭区域面积的装置,应用于扫地机器人,包括:

矩形边框坐标获得单元,用于根据网格地图中所述封闭区域的横坐标的最大值xmax和最小值xmin,以及纵坐标的最大值ymax和最小值ymin,获得所述封闭区域的外界矩形边框的坐标;

判断单元,用于选取所述矩形边框的边所在的任意一个网格作为起始网格,判断所述起始网格的相邻网格是否为障碍物网格,当判断所述起始网格的一个所述相邻网格为非障碍物网格时,计数器加1,标记所述起始网格为已判断网格;将判断为非障碍物网格的所述相邻网格作为起始网格,继续判断,直到遍历所述矩形边框的边所在的网格内且所述封闭区域外的所有未判断网格;面积获得单元,用于将所述计数器的值加1作为所述计数器最终的数值,根据所述矩形边框的面积和所述计数器最终的数值对应的网格面积总和获得所述封闭区域的面积;所述计数器的初始值为0。

本申请还提供一种扫地机器人,包括:控制器和扫地机构;

所述控制器,用于控制所述扫地机构执行扫地动作;

所述控制器,还用于选取所述矩形边框的边所在的任意一个网格作为起始网格,判断所述起始网格的相邻网格是否为障碍物网格,当判断所述起始网格的一个所述相邻网格为非障碍物网格时,计数器加1,标记所述起始网格为已判断网格;将判断为非障碍物网格的所述相邻网格作为起始网格,继续判断,直到遍历所述矩形边框的边所在的网格内且所述封闭区域外的所有未判断网格;将所述计数器的值加1作为所述计数器最终的数值,根据所述矩形边框的面积和所述计数器最终的数值对应的网格面积总和获得所述封闭区域的面积;所述计数器的初始值为0。

优选地,所述控制器,具体用于

获得网格地图中所述封闭区域的横坐标的最大值xmax和最小值xmin,以及纵坐标的最大值ymax和最小值ymin;所述网格地图中的每个网格的坐标单位为n,n为正数;将所述xmax、xmin、ymax和ymin分别加n个网格的坐标单位得到所述封闭区域的外界矩形边框的坐标,其中,n为正整数。

优选地,所述控制器,具体用于判断所述起始网格的上、下、左、右四个相邻网格中的一个相邻网格的标记值为0,计数器加1,并将所述已判断网格的标记值记为1;所述网格地图中封闭区域的边界所在的网格的标记值均为1,其余网格的标记值为0。

优选地,所述控制器,具体用于剔除所述起始网格的上、下、左、右四个相邻网格中位于所述矩形边框之外的网格,判断剩余的相邻网格中的一个相邻网格的标记值为0。

从以上技术方案可以看出,本申请至少具有以下优点:

先获得封闭区域外接的矩形边框,从矩形边框的边所在的任意一个网格开始,判断其相邻网格是否为障碍物网格,找出非障碍物网格,并且统计其个数,然后以非障碍物网格为起始网格,判断其周围相邻的网格是否为非障碍物网格,以此类推,已经判断为非障碍物网格的则不需要继续判断,每判断出一个非障碍物网格,则计数器加1,计数器的初始值为0;最终累积出位于矩形边框的边所在的网格内且位于封闭区域外的所有网格的数量,由于矩形边框的面积可以获得,每个网格的面积已知,因此,矩形边框的面积减去所有非障碍物网格的面积之和便是封闭区域的面积。利用该方法可以准确获得封闭区域的面积,从而扫地机器人可以精确扫地。

附图说明

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

图1为本申请提供的一种获取封闭区域面积的方法流程图;

图2为本申请提供的一种封闭区域的示意图;

图3为本申请提供的另一种封闭区域的示意图;

图4为本申请提供的一种获取封闭区域面积的装置示意图;

图5为本申请提供的一种扫地机器人的示意图。

具体实施方式

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

可以理解的是,本申请实施例中的“第一”、“第二”、“第三”和“第四”等词仅是为了方便说明,并不构成对本申请的限定。

方法实施例:

需要说明的是,网格地图属于扫地机器人中已经成熟的技术,本申请实施例仅是获得网格地图中封闭区域的面积。由于封闭区域不规则,因此,无法直接获得其面积,本申请的思想是先获得封闭区域外接矩形边框的面积,并且获得矩形边框内封闭区域外小网格的面积之和,两者的差便是封闭区域的面积。

参见图1,该图为本申请实施例提供的一种获取封闭区域面积的方法流程图。

本实施例提供的获取封闭区域面积的方法,应用于扫地机器人,包括:

s1:根据网格地图中所述封闭区域的横坐标的最大值xmax和最小值xmin,以及纵坐标的最大值ymax和最小值ymin,获得所述封闭区域的外界矩形边框的坐标;获得网格地图中所述封闭区域的横坐标的最大值xmax和最小值xmin,以及纵坐标的最大值ymax和最小值ymin;所述网格地图中的每个网格的坐标单位为n,n为正数;

将所述xmax、xmin、ymax和ymin分别加n个网格的坐标单位得到所述封闭区域的外界矩形边框的坐标,其中,n为正整数。

具体地,可以先从网格地图中,先获得网格地图中所述封闭区域的横坐标的最大值xmax和最小值xmin,以及纵坐标的最大值ymax和最小值ymin;为了方便计算,本实施例中n可以选取1,即可以设置网格地图中的每个网格的坐标单位为1;例如封闭区域的横坐标的最大值xmax为原点靠右的第10个网格,则xmax取值为10。

为了方便计算,本实施例中可以选择n为1,为了使矩形边框完全包裹封闭区域,可以将所述xmax、xmin、ymax和ymin分别加1获得所述封闭区域的外界矩形边框的坐标。

为了使本领域技术人员形象地理解本申请实施例提供的技术方案,封闭区域和其外接的矩形边框在网格地图中的位置,具体可以参见图2和图3,该图为本申请实施例提供的封闭区域的示意图。

图2和图3所示的网格地图100中包括封闭区域200,封闭区域200的外接矩形边框300。

图2和图3所示的是两种不同的封闭区域,本申请实施例中并不具体限定封闭区域的形状,可以为任意形状的封闭区域,因为封闭区域一般不规则,因此,不能直接获得封闭区域的面积,而需要间接获得封闭区域的面积。

s2:选取所述矩形边框的边所在的任意一个网格作为起始网格;

s3:判断所述起始网格的相邻网格是否为障碍物网格;

由于起始网格是矩形边框的边所在的网格,起始网格肯定属于非障碍物网格,因此,首次的起始网格是作为非障碍物网格的,则计数器的数值最终加1作为最终的数值。

其中,障碍物网格是指封闭区域的线条所在的网格,封闭区域的线条不做具体限定,可以为封闭的线段,也可以为封闭曲线,也可以为封闭的线段和曲线的组合。

s4:当判断所述起始网格的一个所述相邻网格为非障碍物网格时,计数器加1,标记所述起始网格为已判断网格;

标记已判断网格,是为了在判断其他起始网格时,该已判断网格作为其他起始网格的相邻网格,便不用再进行判断。

s5:将判断为非障碍物网格的所述相邻网格作为起始网格,重复s2-s4,直到遍历所述矩形边框的边所在的网格内且所述封闭区域外的所有未判断网格;

s6:将所述计数器的值加1作为所述计数器最终的数值,根据所述矩形边框的面积和所述计数器最终的数值对应的网格面积总和获得所述封闭区域的面积;所述计数器的初始值为0。

为了减小计算量,可以先将待判断网格的相邻网格中位于矩形边框外的网格剔除掉,即这些网格属于无效网格,并不需要判断,具体可以将这些网格的坐标与矩形边框的坐标进行比较,例如,位于矩形边框的上横边之上的网格、位于矩形边框的下横边之下的网格、位于矩形边框左竖边之左的网格以及位于矩形边框左竖边之右的网格,以上四类网格均属于无效网格,不需要进行判断。

所述分别判断所述起始网格的相邻网格是否为障碍物网格,具体包括:

分别判断所述起始网格的上、下、左、右四个相邻网格是否为障碍物网格。

具体实现时,分别判断所述起始网格的上、下、左、右四个相邻网格的标记值是否是0,可以包括:

剔除所述起始网格的上、下、左、右四个相邻网格中位于所述矩形边框之外的网格,判断剩余的相邻网格的标记值是否是0。

可以理解的是,最初开始判断时,可以以矩形边框的边所在的任意一个网格作为初始网格开始判断,例如可以以矩形边框的一个顶点开始判断,具体地址,可以从图2中矩形边框的左上角的顶点位于的网格a作为起始网格,判断a的相邻网格是否为障碍物网格;此处的障碍物网格是指封闭区域的边界所在的网格。

预先在所述网格地图中将封闭区域的边界所在的网格的标记值均为1,其余的网格的标记值为0。以所述矩形边框的左上角的顶点位于的网格a作为起始网格,分别判断所述起始网格的上、下、左、右四个相邻网格的标记值是否是0,如图2所示,a的上、下、左、右四个相邻的网格分别用1、2、3、4表示,由于1和2位于矩形边框外,属于无效网格,因此不需要判断,只判断3和4是否为障碍物网格即可;例如判断网格3不是障碍物网格,则计数器加1,继续判断网格4不是障碍物网格,则计数器继续加1。然后以非障碍物网格3为起始网格,判断其相邻的上、下、左、右四个相邻的网格是否为障碍物网格;再以非障碍物网格4为起始网格,判断其相邻的上、下、左、右四个相邻的网格是否为障碍物网格;以此类推。

每次判断一个所述相邻网格的标记值为0,则计数器对应加1。

需要说明的是,矩形边框的边所在的网格的面积也算在矩形边框的面积内。

计数器计数的目的是累加矩形边框内封闭区域外的网格的总数。

本实施例提供的方法,先获得封闭区域外接的矩形边框,从矩形边框的某一个顶点开始,判断其相邻网格是否为障碍物网格,找出非障碍物网格,并且统计其个数,然后以非障碍物网格为起始网格,判断其周围相邻的网格是否为非障碍物网格,以此类推,每判断出一个非障碍物网格,则计数器加1,计数器初始值为0,终于累积出位于矩形边框内且位于封闭区域外的所有网格的数量,由于矩形边框的面积可以获得,每个小网格的面积已知,因此,矩形边框的面积减去所有非障碍物网格的面积之和便是封闭区域的面积。利用该方法可以准确获得封闭区域的面积,从而扫地机器人可以精确扫地。

装置实施例

基于以上实施例提供的一种获取封闭区域面积的方法,本申请实施例还提供一种获取封闭区域面积的装置,下面结合附图进行介绍。

参见图4,该图为本申请实施例提供的一种获取封闭区域面积的装置示意图。

本实施例提供的获取封闭区域面积的装置,应用于扫地机器人,包括:

矩形边框坐标获得单元401,用于根据网格地图中所述封闭区域的横坐标的最大值xmax和最小值xmin,以及纵坐标的最大值ymax和最小值ymin,获得所述封闭区域的外界矩形边框的坐标;

具体地,可以先从网格地图中,先获得网格地图中所述封闭区域的横坐标的最大值xmax和最小值xmin,以及纵坐标的最大值ymax和最小值ymin;为了方便计算,可以设置网格地图中的每个网格的坐标单位为1;例如封闭区域的横坐标的最大值xmax为原点靠右的第10个网格,则xmax取值为10。

为了使矩形边框完全包裹封闭区域,可以将所述xmax、xmin、ymax和ymin分别加1获得所述封闭区域的外界矩形边框的坐标。

判断单元402,用于选取所述矩形边框的边所在的任意一个网格作为起始网格,判断所述起始网格的相邻网格是否为障碍物网格,当判断所述起始网格的一个所述相邻网格为非障碍物网格时,计数器加1,标记所述起始网格为已判断网格;将判断为非障碍物网格的所述相邻网格作为起始网格,继续判断,直到遍历所述矩形边框的边所在的网格内且所述封闭区域外的所有未判断网格;

所述判断单元包括:判断子单元,具体用于以所述矩形边框的边所在的任意一个网格作为起始网格,分别判断所述起始网格的上、下、左、右四个相邻网格的标记值是否是0;每次判断一个所述相邻网格的标记值为0,则计数器对应加1,所述计数器的初始值为0;所述网格地图中封闭区域的边界所在的网格的标记值均为1,其余的网格的标记值为0。

为了减小计算量,可以先将待判断网格的相邻网格中位于矩形边框外的网格剔除掉,即这些网格属于无效网格,并不需要判断,具体可以将这些网格的坐标与矩形边框的坐标进行比较,例如,位于矩形边框的上横边之上的网格、位于矩形边框的下横边之下的网格、位于矩形边框左竖边之左的网格以及位于矩形边框左竖边之右的网格,以上四类网格均属于无效网格,不需要进行判断。

具体实现时,分别判断所述起始网格的上、下、左、右四个相邻网格的标记值是否是0,可以包括:

剔除所述起始网格的上、下、左、右四个相邻网格中位于所述矩形边框之外的网格,判断剩余的相邻网格的标记值是否是0。

例如,从图2中矩形边框的左上角的顶点位于的网格a作为起始网格,判断a的相邻网格是否为障碍物网格;此处的障碍物网格是指封闭区域的边界所在的网格。

所述分别判断所述起始网格的相邻网格是否为障碍物网格,具体包括:

分别判断所述起始网格的上、下、左、右四个相邻网格是否为障碍物网格。

面积获得单元403,用于将所述计数器的值加1作为所述计数器最终的数值,根据所述矩形边框的面积和所述计数器最终的数值对应的网格面积总和获得所述封闭区域的面积;所述计数器的初始值为0。

本实施例提供的装置,先获得封闭区域外接的矩形边框,从矩形边框的某一个顶点开始,判断其相邻网格是否为障碍物网格,找出非障碍物网格,并且统计其个数,然后以非障碍物网格为起始网格,判断其周围相邻的网格是否为非障碍物网格,以此类推,每判断出一个非障碍物网格,则计数器加1,终于累积出位于矩形边框内且位于封闭区域外的所有网格的数量,由于矩形边框的面积可以获得,每个小网格的面积已知,因此,矩形边框的面积减去所有非障碍物网格的面积之和便是封闭区域的面积。利用该装置可以准确获得封闭区域的面积,从而扫地机器人可以精确扫地。

扫地机器人实施例

基于以上实施例提供的获取封闭区域面积的方法和装置,本申请实施例还提供一种扫地机器人,下面结合附图进行介绍。

参见图5,该图为本申请实施例提供的一种扫地机器人示意图。

本实施例提供的扫地机器人,包括:控制器501和扫地机构502;

所述控制器501,用于选取所述矩形边框的边所在的任意一个网格作为起始网格,判断所述起始网格的相邻网格是否为障碍物网格,当判断所述起始网格的一个所述相邻网格为非障碍物网格时,计数器加1,标记所述起始网格为已判断网格;将判断为非障碍物网格的所述相邻网格作为起始网格,继续判断,直到遍历所述矩形边框的边所在的网格内且所述封闭区域外的所有未判断网格;将所述计数器的值加1作为所述计数器最终的数值,根据所述矩形边框的面积和所述计数器最终的数值对应的网格面积总和获得所述封闭区域的面积;所述计数器的初始值为0;

根据所述矩形边框的面积和计数器的数值对应的网格面积总和获得所述封闭区域的面积。

具体地,可以先从网格地图中,先获得网格地图中所述封闭区域的横坐标的最大值xmax和最小值xmin,以及纵坐标的最大值ymax和最小值ymin;为了方便计算,可以设置网格地图中的每个网格的坐标单位为1;例如封闭区域的横坐标的最大值xmax为原点靠右的第10个网格,则xmax取值为10。

为了使矩形边框完全包裹封闭区域,可以将所述xmax、xmin、ymax和ymin分别加1获得所述封闭区域的外界矩形边框的坐标。

本实施例提供的扫地机器人,先获得封闭区域外接的矩形边框,从矩形边框的某一个顶点开始,判断其相邻网格是否为障碍物网格,找出非障碍物网格,并且统计其个数,然后以非障碍物网格为起始网格,判断其周围相邻的网格是否为非障碍物网格,以此类推,每判断出一个非障碍物网格,则计数器加1,终于累积出位于矩形边框内且位于封闭区域外的所有网格的数量,由于矩形边框的面积可以获得,每个小网格的面积已知,因此,矩形边框的面积减去所有非障碍物网格的面积之和便是封闭区域的面积。控制器获得封闭区域的面积可以精确控制扫地机构进行扫地。

所述控制器501,具体用于分别判断所述起始网格的上、下、左、右四个相邻网格是否为障碍物网格。

所述控制器501,具体用于以所述矩形边框的边所在的任意一个网格作为起始网格,分别判断所述起始网格的上、下、左、右四个相邻网格的标记值是否是0;每次判断一个所述相邻网格的标记值为0,则计数器对应加1;所述网格地图中封闭区域的边界所在的网格的标记值均为1,其余的网格的标记值为0。

所述控制器501,具体用于剔除所述起始网格的上、下、左、右四个相邻网格中位于所述矩形边框之外的网格,判断剩余的相邻网格的标记值是否是0。

为了减小计算量,可以先将待判断网格的相邻网格中位于矩形边框外的网格剔除掉,即这些网格属于无效网格,并不需要判断,具体可以将这些网格的坐标与矩形边框的坐标进行比较,例如,位于矩形边框的上横边之上的网格、位于矩形边框的下横边之下的网格、位于矩形边框左竖边之左的网格以及位于矩形边框左竖边之右的网格,以上四类网格均属于无效网格,不需要进行判断。

所述分别判断所述起始网格的相邻网格是否为障碍物网格,具体包括:

分别判断所述起始网格的上、下、左、右四个相邻网格是否为障碍物网格。

具体实现时,分别判断所述起始网格的上、下、左、右四个相邻网格的标记值是否是0,可以包括:

剔除所述起始网格的上、下、左、右四个相邻网格中位于所述矩形边框之外的网格,判断剩余的相邻网格的标记值是否是0。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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