CN111708357B - 清扫结束条件识别方法、装置及扫地机器人 - Google Patents
清扫结束条件识别方法、装置及扫地机器人 Download PDFInfo
- Publication number
- CN111708357B CN111708357B CN201910875828.4A CN201910875828A CN111708357B CN 111708357 B CN111708357 B CN 111708357B CN 201910875828 A CN201910875828 A CN 201910875828A CN 111708357 B CN111708357 B CN 111708357B
- Authority
- CN
- China
- Prior art keywords
- outline
- outer contour
- search
- point
- cleaning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0251—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Abstract
本申请实施例适用于机器人技术领域,公开了一种清扫结束条件识别方法、装置、扫地机器人及计算机可读存储介质,其中,方法包括:检测到清扫边界地图在预设时间段内无变化后,获取扩张至预设栅格尺寸的空白栅格地图;根据预标记的沿墙标记信息和空白栅格地图,生成目标栅格地图;对目标栅格地图进行外轮廓搜索,得到外轮廓信息;根据外轮廓信息得出清扫结束条件的识别结果。本申请实施例提高了清扫结束识别准确性和稳定性,从而降低漏扫概率和重复扫概率。
Description
技术领域
本申请属于机器人技术领域,尤其涉及一种清扫结束条件识别方法、装置、扫地机器人及计算机可读存储介质。
背景技术
随着机器人技术的不断发展,服务机器人的应用也越来越广泛。扫地机器人就是较为典型的服务机器人。
扫地机器人可以自动在室内、房间内完成地板清理工作,其一般采用刷扫和真空方式,将地面杂物吸纳进入自身的垃圾收纳盒,以完成地面清理的工作。
目前,惯性导航的扫地机器人受定位精度及日常生活环境的复杂性限制,清扫较大区域后很难准确判断是否已经完成清扫工作并回充,即惯性导航机器人不能准确地判断是否已经清扫结束。如果不能准确识别清扫结束标志,可能会导致漏扫和重复扫等问题。具体地,因清扫主方向选取和未整体沿墙清扫时,可能存在部分可通行区域漏扫,特别是门等连接处;由于受传感器数量及性能受限,定位不准的,若清扫空间足够大,时间久了机器容易重复扫且无法判定清扫结束。也就是说,惯性导航机器人不能准确地判断是否已经清扫结束,可能会导致漏扫、重复扫等问题。
发明内容
本申请实施例提供一种清扫结束条件识别方法、装置、扫地机器人及计算机可读存储介质,以解决现有惯性导航扫地机器人不能准确识别清扫结束条件从而导致漏扫或重复扫的问题。
第一方面,本申请实施例提供一种清扫结束条件识别方法,包括:
检测到清扫边界地图在预设时间段内无变化后,获取扩张至预设栅格尺寸的空白栅格地图;
根据预标记的沿墙标记信息和所述空白栅格地图,生成目标栅格地图;
对所述目标栅格地图进行外轮廓搜索,得到外轮廓信息;
根据所述外轮廓信息得出清扫结束条件的识别结果。
结合第一方面,在一种可能的实现方式中,所述对所述目标栅格地图进行外轮廓搜索,得到外轮廓信息,包括:
根据预设搜索规则搜索所述目标栅格地图,对外轮廓点进行标记;
统计标记后的所述目标栅格地图中的外轮廓类别数量和每类外轮廓上的外轮廓点;
其中,同一类外轮廓的外轮廓点的标记相同,不同类外轮廓的外轮廓点的标记不同。
结合第一方面,在一种可能的实现方式中,所述根据预设搜索规则搜索所述目标栅格地图,对外轮廓点进行标记,包括:
确定各类外轮廓的搜索路线起点,并对所述搜索路线起点进行轮廓类型标记;其中,所述搜索路线起点为属于第一类点且未被标记的外轮廓点;
通过所述预设搜索规则,从所述搜索路线起点开始搜索对应的外轮廓,以获得所述搜索路线起点对应的外轮廓上未被标记的外轮廓点,并对未被标记的外轮廓点进行轮廓类型标记。
结合第一方面,在一种可能的实现方式中,
所述预设搜索规则包括第一搜索策略和第二搜索策略;
所述第一搜索策略包括:
若待搜索外轮廓点是外轮廓起点,以所述待搜索外轮廓点为中心建立搜索模型;
按照预设搜索方向,从预设搜索位置开始搜索所述搜索模型的最外围栅格,获得所述最外围栅格中未被标记的外轮廓点并进行轮廓类型标记;
将所述最外围栅格中未被标记的外轮廓点作为下一个待搜索外轮廓点;
所述第二搜索策略包括:
若所述待搜索外轮廓点不是外轮廓起点,以所述待搜索外轮廓点为中心建立搜索模型,获取所述待搜索外轮廓点的上一个外轮廓点在所述搜索模型中的栅格位置值;
根据预设公式和所述栅格位置值,计算下一个搜索位置;
按照预设搜索方向,从所述下一个搜索位置开始搜索所述搜索模型的最外围栅格,获得所述最外围栅格中未被标记的外轮廓点并进行轮廓类型标记;
将所述最外围栅格中未被标记的外轮廓点作为下一个待搜索外轮廓点;
其中,所述搜索模型为包括N*N栅格的区域,N为正整数;所述预设公式为(x+2)mod(N-1)*4,x为所述栅格位置值。
结合第一方面,在一种可能的实现方式中,所述外轮廓信息包括外轮廓类别数量和每类外轮廓包含的外轮廓点;
所述根据所述外轮廓信息得出清扫结束条件的识别结果,包括:
判断所述外轮廓类别数量是否小于第一预设阈值;
当所述外轮廓类别数量小于所述第一预设阈值时,输出清扫已结束的识别结果。
结合第一方面,在一种可能的实现方式中,当所述外轮廓类别数量大于或等于所述第一预设阈值时,所述根据所述外轮廓信息得出清扫结束条件的识别结果,还包括:
判断所述外轮廓类别数量是否大于第二预设阈值;
当所述外轮廓类别数量大于所述第二预设阈值时,输出清扫未结束的识别结果;
当所述外轮廓类别数量小于或等于所述第二预设阈值时,输出沿墙标记信息;
根据所述沿墙标记信息判断是否结束清扫。
结合第一方面,在一种可能的实现方式中,所述根据所述沿墙标记信息判断是否结束清扫,包括:
根据所述沿墙标记信息确定清扫区域是否闭合;
当所述清扫区域闭合时,结束清扫;
当所述清扫区域未闭合时,根据每类外轮廓包含的外轮廓点信息和所述沿墙标记信息进行补扫。
结合第一方面,在一种可能的实现方式中,在所述检测到清扫边界地图在预设时间段内无变化之前,还包括:
检测到处于沿墙清扫模式时,标记所走过的点为沿墙值,并更新所述清扫边界地图。
第二方面,本申请实施例提供一种清扫结束条件识别装置,包括:
获取模块,用于检测到清扫边界地图在预设时间段内无变化后,获取扩张至预设栅格尺寸的空白栅格地图;
生成模块,用于根据预标记的沿墙标记信息和所述空白栅格地图,生成目标栅格地图;
搜索模块,用于对所述目标栅格地图进行外轮廓搜索,得到外轮廓信息;
识别模块,用于根据所述外轮廓信息得出清扫结束条件的识别结果。
结合第二方面,在一种可能的实现方式中,所述搜索模块包括:
搜索单元,用于根据预设搜索规则搜索所述目标栅格地图,对外轮廓点进行标记;
统计单元,用于统计标记后的所述目标栅格地图中的外轮廓类别数量和每类外轮廓上的外轮廓点;
其中,同一类外轮廓的外轮廓点的标记相同,不同类外轮廓的外轮廓点的标记不同。
结合第二方面,在一种可能的实现方式中,所述搜索单元包括:
搜索起点确定子单元,用于确定各类外轮廓的搜索路线起点,并对所述搜索路线起点进行轮廓类型标记;其中,所述搜索路线起点为属于第一类点且未被标记的外轮廓点;
搜索子单元,用于通过所述预设搜索规则,从所述搜索路线起点开始搜索对应的外轮廓,以获得所述搜索路线起点对应的外轮廓上未被标记的外轮廓点,并对未被标记的外轮廓点进行轮廓类型标记。
结合第二方面,在一种可能的实现方式中,所述预设搜索规则包括第一搜索策略和第二搜索策略;
所述第一搜索策略包括:
若待搜索外轮廓点是外轮廓起点,以所述待搜索外轮廓点为中心建立搜索模型;
按照预设搜索方向,从预设搜索位置开始搜索所述搜索模型的最外围栅格,获得所述最外围栅格中未被标记的外轮廓点并进行轮廓类型标记;
将所述最外围栅格中未被标记的外轮廓点作为下一个待搜索外轮廓点;
所述第二搜索策略包括:
若所述待搜索外轮廓点不是外轮廓起点,以所述待搜索外轮廓点为中心建立搜索模型,获取所述待搜索外轮廓点的上一个外轮廓点在所述搜索模型中的栅格位置值;
根据预设公式和所述栅格位置值,计算下一个搜索位置;
按照预设搜索方向,从所述下一个搜索位置开始搜索所述搜索模型的最外围栅格,获得所述最外围栅格中未被标记的外轮廓点并进行轮廓类型标记;
将所述最外围栅格中未被标记的外轮廓点作为下一个待搜索外轮廓点;
其中,所述搜索模型为包括N*N栅格的区域,N为正整数;所述预设公式为(x+2)mod(N-1)*4,x为所述栅格位置值。
结合第二方面,在一种可能的实现方式中,所述外轮廓信息包括外轮廓类别数量和每类外轮廓包含的外轮廓点;
所述识别模块包括:
第一判断单元,用于判断所述外轮廓类别数量是否小于第一预设阈值;
第一输出单元,用于当所述外轮廓类别数量小于所述第一预设阈值时,输出清扫已结束的识别结果。
结合第二方面,在一种可能的实现方式中,当所述外轮廓类别数量大于或等于所述第一预设阈值时,所述识别模块还包括:
第二判断单元,用于判断所述外轮廓类别数量是否大于第二预设阈值;
第二输出单元,用于当所述外轮廓类别数量大于所述第二预设阈值时,输出清扫未结束的识别结果;
第三输出单元,用于当所述外轮廓类别数量小于或等于所述第二预设阈值时,输出沿墙标记信息;
第三判断单元,用于根据所述沿墙标记信息判断是否结束清扫。
结合第二方面,在一种可能的实现方式中,所述第三判断单元包括:
确定子单元,用于根据所述沿墙标记信息确定清扫区域是否闭合;
结束子单元,用于当所述清扫区域闭合时,结束清扫;
补扫子单元,用于当所述清扫区域未闭合时,根据每类外轮廓包含的外轮廓点信息和所述沿墙标记信息进行补扫。
结合第二方面,在一种可能的实现方式中,还包括:
标记模块,用于检测到处于沿墙清扫模式时,标记所走过的点为沿墙值,并更新所述清扫边界地图。
第三方面,本申请实施例提供一种扫地机器人,包括行走机构、清扫机构、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一项所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在扫地机器人上运行时,使得扫地机器人执行上述第一方面中任一项所述的方法。
本申请实施例在清扫边界地图在预设时间段内无变化时,基于沿墙标记和扩张后的空白栅格地图生成目标栅格地图,再搜索目标栅格地图的外轮廓信息,根据外轮廓信息识别清扫结束条件,提高了清扫结束识别准确性和稳定性,从而降低漏扫概率和重复扫概率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种清扫结束条件识别方法的流程示意框图;
图2为本申请实施例提供的外轮廓搜索过程的流程示意框图;
图3为本申请实施例提供的轮廓搜索示意图;
图4为本申请实施例提供的识别结果输出过程的流程示意框图;
图5为本申请实施例提供的清扫结束条件识别装置的结构框图;
图6为本申请实施例提供的扫地机器人的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的清扫结束条件识别方案可以应用于扫地机器人上,扫地机器人的类型可以是任意的。下面将通过具体实施例对本申请实施例提供的技术方案进行介绍说明。
请参见图1,为本申请实施例提供的一种清扫结束条件识别方法的流程示意框图,该方法可以包括以下步骤:
步骤S101、检测到清扫边界地图在预设时间段内无变化后,获取扩张至预设栅格尺寸的空白栅格地图。
需要说明的是,上述预设时间段可以根据扫地机器人的行走速度确定,在此不作限定。上述预设栅格尺寸可以根据实际需求设定,例如,上述清扫边界地图已达到50*60栅格,则从存储器中获取54*64栅格的空地图,即获取扩张至54*64栅格的空白栅格地图。空白栅格地图中的数值均被初始化为0。
清扫边界地图是指扫地机器人在清扫过程中实时更新的地图。在一些实施例中,在上述检测到清扫边界地图在预设时间段内无变化之前,还可以包括:检测到处于沿墙清扫模式时,标记所走过的点为沿墙值,并更新清扫边界地图。即扫地机器人在正常工作时,当检测到处于沿墙清扫时,则将所走过的点标记为沿墙值,同时更新清扫边界map_left、map_right、map_top、map_bottom的值,以更新清扫边界地图。当然,还可以通过获取斜对角的两个点坐标的方式更新边界。
具体地,在清扫过程中,扫地机器人检测到清扫边界地图在N秒内连续无变化时,则向存储器申请获取扩张的空白栅格地图。
可以理解的是,当清扫边界地图连续无变化时,机器人可能扫描到实际环境的边界,此时,则可以扩张地图。扩张地图可以方便对清扫区域的边界进行标记和搜索。
步骤S102、根据预标记的沿墙标记信息和空白栅格地图,生成目标栅格地图。
需要说明的是,上述沿墙标记信息是指扫地机器人在沿墙清扫时所标记的信息。具体应用中,可以将上述清扫边界地图中的沿墙标记填入空白栅格地图中,以生成所需的目标栅格地图,生成的目标栅格地图包括0和1两种数值。一般情况下,在目标栅格地图中,沿墙标记的数值为1,不是沿墙标记的数值为0。
步骤S103、对目标栅格地图进行外轮廓搜索,得到外轮廓信息。
具体地,生成目标栅格地图之后,则搜索该目标栅格地图中的外轮廓,得到外轮廓信息。该外轮廓信息可以包括但不限于外轮廓类别数量和每类外轮廓上的外轮廓点。
其中,外轮廓类别数量可以表征目标栅格地图中包含几类外轮廓,例如,当外轮廓类别数量为3时,则表明目标栅格地图中包含3类外轮廓。每类外轮廓上均包含一个或多个外轮廓点,每个外轮廓点在目标栅格地图中的位置信息业可以通过外轮廓信息得知。
在一些实施例中,参见图2示出的外轮廓搜索过程的流程示意框图,上述对目标栅格地图进行外轮廓搜索,得到外轮廓信息的具体过程可以包括:
步骤S201、根据预设搜索规则搜索目标栅格地图,对外轮廓点进行标记。
具体地,按照一定的遍历顺序对目标栅格地图进行遍历,以确定每类外轮廓的搜索路线起点,然后再从搜索路线起点开始,使用相应的搜索策略对每类外轮廓进行搜索,以获得每类外轮廓上所有的外轮廓点,并对搜索到的外轮廓点进行轮廓类型标记。
在一些实施例中,上述根据预设搜索规则搜索目标栅格地图,对外轮廓点进行标记的过程具体包括:确定各类外轮廓的搜索路线起点,并对搜索路线起点进行轮廓类型标记;其中,搜索路线起点为属于第一类点且未被标记的外轮廓点;通过预设搜索规则,从搜索路线起点开始搜索对应的外轮廓,以获得搜索路线起点对应的外轮廓上未被标记的外轮廓点,并对未被标记的外轮廓点进行轮廓类型标记。需要说明的是,第一类点可以是指白点。其中,目标栅格地图中包含0和1两种数值,即目标栅格地图中可以包含白点和黑点两类点。
每一类外轮廓只有一个搜索路线起点,且该搜索路线起点是该类外轮廓上搜索到的第一个外轮廓点。一般情况下,在搜索到一个搜索路线起点之后,可以先从当前搜索路线起点进行外轮廓搜索,当该当前搜索路线起点对应的外轮廓搜索完毕,再往下搜索下一个搜索路线起点。
获得搜索路线起点之后,可以使用预设搜索规则从搜索路线起点开始搜索,直到该搜索路线起点对应的外轮廓搜索完毕,并对搜索到的所有外轮廓点进行轮廓类型标记,即用与搜索路线起点相同的标记对搜索到的外轮廓点进行标记。
在一个实施例中,上述搜索过程可以具体为:按照预设遍历顺序开始遍历目标栅格地图;在遍历过程中,搜索到第n个搜索路线起点时,从第n个搜索路线起点开始,使用预设搜索规则依次对第n类外轮廓上的所有外轮廓点进行搜索,并使用第n类标记对第n类外轮廓的外轮廓点进行标记;
当第n类外轮廓搜索完毕,返回至第n个搜索路线起点,n=n+1,重新进入搜索到第n个搜索路线起点时的步骤,直到目标栅格地图遍历完毕;
其中,n为正整数,1≤n≤m,m等于目标栅格地图中的外轮廓类别数量。
需要说明的是,上述预设遍历顺序可以根据实际应用需求设定,例如,该预设搜索顺序为从上至下、从左往右,即从上至下和从左往右依次遍历目标栅格地图中的每一个栅格。
例如,在遍历过程中,将搜索到的第一个属于白点且未被标记的点作为第一个搜索路线起点,然后基于第一个搜索路线起点,搜索得到第一个外轮廓点对应的外轮廓包含的所有外轮廓点,并使用第一类标记标记第一类外轮廓包含的所有外轮廓点。其中,每一类外轮廓对应一条搜索路线,当搜索完该搜索路线上的所有外轮廓点后,再对下一条搜索路线即下一类外轮廓进行搜索。
在搜索完第一个搜索路线起点对应的外轮廓上的所有外轮廓点,并用同一标记标记后,则返回第一个搜索路线起点的位置,从第一个搜索路线起点的所在位置继续往下遍历目标栅格地图。
当搜索到第二个搜索路线起点时,从第二个搜索路线起点开始,搜索得到第二个搜索路线起点对应的外轮廓上包含的所有外轮廓点,并标记第二个搜索路线起点对应的外轮廓上包含的所有外轮廓点,同一外轮廓上的所有外轮廓点均采用同一类标记。
在搜索完第二个搜索路线起点对应的外轮廓上的所有外轮廓点,并用同一标记标记后,则返回第二个搜索路线起点的位置,继续往下搜索。将搜索到的第三个属于白点且未被标记的点作为第三个搜索路线起点,依据上述搜索过程对第三个搜索路线起点进行搜索。依次类推,直到目标栅格地图搜索完毕。
上述预设搜索规则是预先设定的规则。下面将对该规则进行介绍说明。
在一些实施例中,上述预设搜索规则包括第一搜索策略和第二搜索策略;
其中,第一搜索策略包括:若待搜索外轮廓点是外轮廓起点,以待搜索外轮廓点为中心建立搜索模型;按照预设搜索方向,从预设搜索位置开始搜索搜索模型的最外围栅格,获得最外围栅格中未被标记的外轮廓点并进行轮廓类型标记;将最外围栅格中未被标记的外轮廓点作为下一个待搜索外轮廓点。
需要说明的是,上述搜索模型为包括N*N栅格的区域,N为正整数。上述N为任意数值,例如,N=3,即搜索模型为3x3的栅格区域。
上述预设搜索方向可以是顺时针,也可以是逆时针。上述预设搜索位置是指搜索最外围栅格区域时的搜索起点。例如,当搜索模型为3x3的栅格区域,并分别用0-7分别对最外围栅格进行标号,此时,预设搜索方向为顺时针,预设搜索位置为7号,即从7号开始,按照顺时针方向搜索最外围栅格区域。如果最外围栅格区域中有外轮廓点,则将该点作为下一个待搜索外轮廓点。
第二搜索策略包括:若待搜索外轮廓点不是外轮廓起点,以待搜索外轮廓点为中心建立搜索模型,获取待搜索外轮廓点的上一个外轮廓点在搜索模型中的栅格位置值;根据预设公式和栅格位置值,计算下一个搜索位置;按照预设搜索方向,从下一个搜索位置开始搜索搜索模型的最外围栅格,获得最外围栅格中未被标记的外轮廓点并进行轮廓类型标记;将最外围栅格中未被标记的外轮廓点作为下一个待搜索外轮廓点;
其中,搜索模型为包括N*N栅格的区域,N为正整数;预设公式为(x+2)mod(N-1)*4,x为栅格位置值。
需要说明的是,当待搜索外轮廓点不是外轮廓起点时,先找出待搜索外轮廓点的上一个外轮廓点,并确定上一个外轮廓点在搜索模型中的栅格位置,然后获取该栅格位置对应的数值。再利用(x+2)mod(N-1)*4计算出下一个搜索位置。
其中,上述(x+2)mod(N-1)*4是指x+2再取模,例如,当N=3,x=4时,则(4+2)mod(3-1)*4,即6mod8。通过该公式可以根据上一个外轮廓点确定出下一个搜索位置,再从下一个搜索位置对最外围栅格进行搜索。
需要说明的是,当前待搜索轮廓点为外轮廓的起点时,则从该当前待搜索外轮廓点开始跟踪;当前待搜索外轮廓点不是外轮廓的起点时,则说明该待搜索外轮廓点为外轮廓路径上的一点,此时,可以通过该外轮廓路径上的上一个外轮廓点确定下一个搜索位置。
为了更好地介绍预设搜索规则,下面将结合表1进行介绍说明。
5 | 6 | 7 |
4 | P | 0 |
3 | 2 | 1 |
表1
其中,P点为某个待搜索外轮廓点。以P点为中心形成的3*3的栅格区域,即以P点为中心建立3*3的搜索模型,并将P点周围的8个栅格分别用0-7标号。
当P点为外轮廓的起点时,预先设定的搜索起点为P点的右上角,即从7号开始搜素。预设搜索路径为顺时针7-0-1-2-3-4-5-6。此时,从7号开始搜索,依据顺时针7-0-1-2-3-4-5-6进行搜索。首先,判断7号是否为白点,是否被标记过;如果是白点,且未被标记,则确定该点为最外围栅格的外轮廓点,并用与P点的标记相同的标记号标记7号;然后再以7号作为下一个待搜索外轮廓点,即以7点作为P点,依据上述规则搜索以7号形成的3*3的栅格区域。,依次类推,直到某个待搜索外轮廓点的3*3栅格区域内搜索不到外轮廓点,则认为该类外轮廓已搜索完成;如果7点为黑点,则认为该P点对应的外轮廓已搜索完成,继续往下搜索,当搜索到下一个搜索路线起点时,将下一个搜索路线起点作为P点,再对该类外轮廓进行搜索。
其中,如果从P点搜索到外轮廓点,则以该外轮廓点作为下一个待搜索外轮廓点,即以该外轮廓点作为P点,继续执行上述搜索过程。例如,当搜索到上述表1中的0号为白点且未被标记,则以0号为P点,搜索以0号为中心形成的3*3栅格区域。
如果在以P为中心的3*3栅格区域内没有搜索到外轮廓点,则认为该搜索路线已经搜索完成,回到搜索路线的起点,继续往下搜索。
值得指出的是,如果以P点为中心的3*3栅格区域内存在至少两个未被标记的外轮廓点,即待搜索外轮廓点周围存在两个以上的外轮廓点。例如,上述表1中的7号和3号均为外轮廓点,此时,由于预设搜索路径为顺时针7-0-1-2-3-4-5-6,首先搜索到7号为未被标记的外轮廓点,则先不对后续的0-1-2-3-4-5-6进行搜索,而是以7号作为P点继续往外进行搜索。当7号对应的搜索路线搜索完成后,则返回到上述表1中的P点重新进行搜索。由于7号已经被标记过了,则继续对后续的0-1-2-3-4-5-6进行搜索,此时搜索到3号为未被标记的外轮廓点,则以3号为P点往外搜索,直到3号对应的搜索路线搜索完成,则返回上述表1中的P点继续进行搜索。
当P点不是外轮廓的起点时,则设P点的上一点外轮廓点为P-1点,P-1点的位置为x(0≤x≤7);此时,P点从(x+2)mod8这个位置开始寻找下一步的路径,(x+2)mod8是加2取模的意思,它反映在图像就是从P-1点按顺时针数2个格子的位置。还是依据顺时针进行搜索。确定出搜索路径起点和搜索路径之后,则可以从搜索路径起点开始搜索,获得P点对应的九宫格区域内未被标记的外轮廓点。
例如,当P点的上一个外轮廓点位于上述表1中的4号栅格位置时,则进行取模运算(4+2)mod8,即将上述表1的6号作为下一个搜索位置,此时,搜索路径具体为6-7-0-1-2-3-4-5。然后,依据该搜索路径进行搜索,判断6号是否为白点,是否被标记过;如果是白点且未被标记,则该点为外轮廓点;如果该点为黑点和/或被标记过,则认为该搜索路线已搜索完成,返回至搜索路线的起点继续往下搜索。
为了更好地介绍外轮廓搜索过程,下面将结合图3示出的轮廓搜索示意图进行介绍说明。
如图3所示,一幅目标栅格地图中包括3类外轮廓,分别为数字1连成的外轮廓、数字2连成的外轮廓和数字3连成的外轮廓。依据预设搜索规则和遍历顺序对图3对应的目标栅格地图进行搜索时,可以得出如图3所示的结果。
从上至下、从左往右遍历图3对应的栅格地图,第2行第5列的点为白点,且未被标记,且该点为外轮廓点的起点,依据上文表1对应的搜索规则进行搜索,可以确定位于该点右下角的点为白点,且未被标记,则将标记该点;然后再根据第3行第6列的点作为P点进行搜索,搜索到第3行第7列的点为白点,且未被标记;再以第3行第7列的点作为P点进行搜索,搜索到第3行第8列的点为白点,且未被标记。依次类推,直到搜索到该外轮廓上的所有的白点。可见,当以第13行第3列的点作为P点搜索时,如果搜索不到未被标记的白点,则表明已搜索到该轮廓上所有的外轮廓点。
然后,从第2行第5列继续往下遍历图像,找到第3行第2列的点为未被标记的白点,则从该点开始搜索,搜索到该轮廓上所有的外轮廓点,并用同一标记进行标记。
如此类推,搜索完成后,得出如图3所示的搜索结果,此时,可以看作图3中包括用数字1标记的一类外轮廓、用数字2标记的一类外轮廓和用数字3标记的一类外轮廓,一共3类外轮廓。
可见,外轮廓搜索完成后,可以获得目标栅格地图中包含的外轮廓类别数量和每类外轮廓上包含的外轮廓点对应的栅格位置。
当然,本申请实施例中的搜索规则和搜索顺序并不限于上文提及的规则和顺序。
步骤S202、统计标记后的目标栅格地图中的外轮廓类别数量和每类外轮廓上的外轮廓点;其中,同一类别的外轮廓的标记相同,不同类别的外轮廓的标记不同。
具体地,在搜索完成之后,可以根据标记的目标栅格地图进行统计,得出外轮廓类别数量和每类外轮廓上的外轮廓点。例如,假设图3为标记后的目标栅格地图,该目标栅格地图中包括3类标记,分别为数值1、数值2、数值3,此时,由于同一类的外轮廓标记相同,根据标记类别数量可以确定外轮廓类别数据,该目标栅格地图中包括3类外轮廓。每类外轮廓上包括哪些外轮廓点和这些外轮廓点的所在位置均可以从标记后的目标栅格地图中得知。
步骤S104、根据外轮廓信息得出清扫结束条件的识别结果。
需要说明的是,外轮廓信息可以包括外轮廓类别数量和每类外轮廓包含的外轮廓点。通过外轮廓类别数量与预设类别数量阈值之间的比较可以确定出清扫是否已结束。一般情况下,如果目标栅格地图的外轮廓类别数量只有1,则表明扫地机器人的行走区域闭合,在清扫过程中整体沿墙,存在漏扫区域的概率较低。目标栅格地图的外轮廓类别数量越多,则说明清扫区域未整体沿墙,存在漏扫概率较高。
上述识别结果可以包括标表征清扫已结束或清扫未结束的结果。具体应用中,该清扫结束条件的识别结果可以具体表现为清扫结束变量,如果清扫已结束,则输出的结束变量为一定的数值,例如为100,该数值可以表征清扫已结束;如果清扫未结束,则输出的结束变量为相应数值,例如为0。
在一些实施例中,上述外轮廓信息包括外轮廓类别数量和每类外轮廓包含的外轮廓点信息。参见图4示出的识别结果输出过程的流程示意框图,上述根据外轮廓信息得出清扫结束条件的识别结果的具体过程可以包括:
步骤S401、判断外轮廓类别数量是否小于第一预设阈值;当外轮廓类别数量小于第一预设阈值时,进入步骤S402;反之,当外轮廓类别数量大于或等于第一预设阈值时,进入步骤S403。
需要说明的是,上述第一预设阈值可以是指预先设定的最小类别数量,其数值可以根据需要进行设定,例如,该第一预设阈值为2,此时,以图3示出的搜索结果,其包括3类外轮廓,即外轮廓类别数量为3,大于2,则继续判断其是否大于第二预设阈值。
步骤S402、输出清扫已结束的识别结果。
具体地,当外轮廓类别数量小于第一预设阈值时,则输出的结束变量的值为100,以表征清扫区域已闭合,清扫已结束。其中,结束变量的默认值为0。
步骤S403、判断外轮廓类别数量是否大于第二预设阈值。当外轮廓类别数量大于第二预设阈值时,进入步骤S404;反之,当外轮廓类别数量小于或等于第二预设阈值时,进入步骤S405。
需要说明的是,上述第二预设阈值可以是指预先设定的最大类别数量,其数值可以根据需要进行设定。例如,该第二预设阈值为5,此时,以图3示出的搜索结果,其包括3类外轮廓,即外轮廓类别数量为3,其小于5,则进入步骤S405。
步骤S404、输出清扫未结束的识别结果。
具体地,当外轮廓类别数量大于第二预设阈值时,则说明清扫区域未完成整体沿墙清扫,存在较大漏扫概率,此时,将输出的结束变量的值设为0,以表征清扫未结束。其中,结束变量的默认值为0。
步骤S405、输出沿墙标记信息。
具体地,当外轮廓类别数量大于或等于第一预设阈值,且小于或等于第二预设阈值时,则将输出的结束变量的值设为100*(NUM-MIN_NUM)/(MAX_NUM-MIN_NUM),其中,NUM为外轮廓类别数量,MIN_NUM为第一预设阈值,MAX_NUM为第二预设阈值,当外轮廓类别数量为3,最大值为5,最小值为2时,则输出的结束变量的至为100*1/3。
此时,除了输出结束变量之外,还输出沿墙标记信息。具体应用中,该沿墙标记信息可以包括在列表在,即可以输出一个包括沿墙标记信息的列表。通过该沿墙标记信息可以得知哪些点或者哪些区域未清扫。
步骤S406、根据沿墙标记信息判断是否结束清扫。
具体地,可以根据沿墙标记信息确定清扫区域是否闭合;当清扫区域闭合时,结束清扫。其中,当输出的列表为空时,则说明清扫区域已闭合;当清扫区域未闭合时,当输出的列表不为空时,则说明清扫区域未闭合。根据每类外轮廓包含的外轮廓点信息和沿墙标记信息进行补扫。
以图3作为标记后的目标栅格地图,各类外轮廓之间的断开区域有很高的概率是漏扫区域。通过输出的列表可以得知,数值2对应外轮廓和数字3对应的外轮廓之间的区域存在较大的概率漏扫,此时,则跳过中间已经搜索过的区域,直达第5行第二列的对应区域进行补扫,以提高清扫效率。
可以看出,在清扫边界地图在预设时间段内无变化时,基于沿墙标记和扩张后的空白栅格地图生成目标栅格地图,再搜索目标栅格地图的外轮廓信息,根据外轮廓信息识别清扫结束条件,提高了清扫结束识别准确性和稳定性,从而降低漏扫概率和重复扫概率。降低了重复扫的概率可以减少电池和机器的损耗。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述清扫结束条件识别方法,图5示出了本申请实施例提供的清扫结束条件识别装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。参照图5,该装置包括:
获取模块51,用于检测到清扫边界地图在预设时间段内无变化后,获取扩张至预设栅格尺寸的空白栅格地图;
生成模块52,用于根据预标记的沿墙标记信息和空白栅格地图,生成目标栅格地图;
搜索模块53,用于对目标栅格地图进行外轮廓搜索,得到外轮廓信息;
识别模块54,用于根据外轮廓信息得出清扫结束条件的识别结果。
在一种可能的实现方式中,上述搜索模块可以包括:
搜索单元,用于根据预设搜索规则搜索目标栅格地图,对外轮廓点进行标记;
统计单元,用于统计标记后的目标栅格地图中的外轮廓类别数量和每类外轮廓上的外轮廓点;
其中,同一类外轮廓的外轮廓点的标记相同,不同类外轮廓的外轮廓点的标记不同。
在一种可能的实现方式中,上述搜索单元可以包括:
搜索起点确定子单元,用于确定各类外轮廓的搜索路线起点,并对搜索路线起点进行轮廓类型标记;其中,搜索路线起点为属于第一类点且未被标记的外轮廓点;
搜索子单元,用于通过预设搜索规则,从搜索路线起点开始搜索对应的外轮廓,以获得搜索路线起点对应的外轮廓上未被标记的外轮廓点,并对未被标记的外轮廓点进行轮廓类型标记。
在一种可能的实现方式中,预设搜索规则包括第一搜索策略和第二搜索策略;
第一搜索策略包括:
若待搜索外轮廓点是外轮廓起点,以待搜索外轮廓点为中心建立搜索模型;
按照预设搜索方向,从预设搜索位置开始搜索搜索模型的最外围栅格,获得最外围栅格中未被标记的外轮廓点并进行轮廓类型标记;
将最外围栅格中未被标记的外轮廓点作为下一个待搜索外轮廓点;
第二搜索策略包括:
若待搜索外轮廓点不是外轮廓起点,以待搜索外轮廓点为中心建立搜索模型,获取待搜索外轮廓点的上一个外轮廓点在搜索模型中的栅格位置值;
根据预设公式和栅格位置值,计算下一个搜索位置;
按照预设搜索方向,从下一个搜索位置开始搜索搜索模型的最外围栅格,获得最外围栅格中未被标记的外轮廓点并进行轮廓类型标记;
将最外围栅格中未被标记的外轮廓点作为下一个待搜索外轮廓点;
其中,搜索模型为包括N*N栅格的区域,N为正整数;预设公式为(x+2)mod(N-1)*4,x为栅格位置值。
在一种可能的实现方式中,外轮廓信息包括外轮廓类别数量和每类外轮廓包含的外轮廓点信息;上述识别模块可以包括:
第一判断单元,用于判断外轮廓类别数量是否小于第一预设阈值;
第一输出单元,用于当外轮廓类别数量小于第一预设阈值时,输出清扫已结束的识别结果。
在一种可能的实现方式中,当外轮廓类别数量大于或等于第一预设阈值时,上述识别模块还可以包括:
第二判断单元,用于判断外轮廓类别数量是否大于第二预设阈值;
第二输出单元,用于当外轮廓类别数量大于第二预设阈值时,输出清扫未结束的识别结果;
第三输出单元,用于当外轮廓类别数量小于或等于第二预设阈值时,输出沿墙标记信息;
第三判断单元,用于根据沿墙标记信息判断是否结束清扫。
在一种可能的实现方式中,上述第三判断单元可以包括:
确定子单元,用于根据沿墙标记信息确定清扫区域是否闭合;
结束子单元,用于当清扫区域闭合时,结束清扫;
补扫子单元,用于当清扫区域未闭合时,根据每类外轮廓包含的外轮廓点信息和沿墙标记信息进行补扫。
在一种可能的实现方式中,上述装置还可以包括:
标记模块,用于检测到处于沿墙清扫模式时,标记所走过的点为沿墙值,并更新清扫边界地图。
需要说明的是,上述装置、单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图6为本申请一实施例提供的扫地机器人的结构示意图。如图6所示,该实施例的扫地机器人6包括:至少一个处理器60、存储器61以及存储在所述存储器61中并可在所述至少一个处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现上述任意各个清扫结束条件识别方法实施例中的步骤。还可以包括行走机构63和64清扫机构,清扫结构和行走机构受处理控制,其中,行走机构用于实现扫地机器人的行走功能,清扫机构用于实现扫地机器人的清扫功能。
该扫地机器人可包括但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是扫地机器人6的举例,并不构成对扫地机器人6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61在一些实施例中可以是所述扫地机器人6的内部存储单元,例如扫地机器人6的硬盘或内存。所述存储器61在另一些实施例中也可以是所述扫地机器人6的外部存储设备,例如所述扫地机器人6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述扫地机器人6的内部存储单元也包括外部存储设备。所述存储器61用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
此外,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。本申请实施例还提供了一种计算机程序产品,当计算机程序产品在扫地机器人上运行时,使得扫地机器人执行时实现可实现上述各个方法实施例中的步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置、扫地机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置、扫地机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种清扫结束条件识别方法,其特征在于,包括:
检测到清扫边界地图在预设时间段内无变化后,获取扩张至预设栅格尺寸的空白栅格地图;
根据预标记的沿墙标记信息和所述空白栅格地图,生成目标栅格地图;
对所述目标栅格地图进行外轮廓搜索,得到外轮廓信息;
根据所述外轮廓信息得出清扫结束条件的识别结果;
其中,所述对所述目标栅格地图进行外轮廓搜索,得到外轮廓信息,包括:
根据预设搜索规则搜索所述目标栅格地图,并对外轮廓点进行标记;
统计标记后的所述目标栅格地图中的外轮廓类别数量和每类外轮廓上的外轮廓点,所述外轮廓信息包括外所述轮廓类别数量和每类外轮廓包含的外轮廓点;其中,同一类外轮廓的外轮廓点的标记相同,不同类外轮廓的外轮廓点的标记不同;
所述根据所述外轮廓信息得出清扫结束条件的识别结果,包括:
判断所述外轮廓类别数量是否小于第一预设阈值;
当所述外轮廓类别数量小于所述第一预设阈值时,输出清扫已结束的识别结果。
2.如权利要求1所述的清扫结束条件识别方法,其特征在于,所述根据预设搜索规则搜索所述目标栅格地图,并对外轮廓点进行标记,包括:
确定各类外轮廓的搜索路线起点,并对所述搜索路线起点进行轮廓类型标记;其中,所述搜索路线起点为属于第一类点且未被标记的外轮廓点;
通过所述预设搜索规则,从所述搜索路线起点开始搜索对应的外轮廓,以获得所述搜索路线起点对应的外轮廓上未被标记的外轮廓点,并对未被标记的外轮廓点进行轮廓类型标记。
3.如权利要求2所述的清扫结束条件识别方法,其特征在于,所述预设搜索规则包括第一搜索策略和第二搜索策略;
所述第一搜索策略包括:
若待搜索外轮廓点是外轮廓起点,以所述待搜索外轮廓点为中心建立搜索模型;
按照预设搜索方向,从预设搜索位置开始搜索所述搜索模型的最外围栅格,获得所述最外围栅格中未被标记的外轮廓点并进行轮廓类型标记;
将所述最外围栅格中未被标记的外轮廓点作为下一个待搜索外轮廓点;
所述第二搜索策略包括:
若所述待搜索外轮廓点不是外轮廓起点,以所述待搜索外轮廓点为中心建立搜索模型,获取所述待搜索外轮廓点的上一个外轮廓点在所述搜索模型中的栅格位置值;
根据预设公式和所述栅格位置值,计算下一个搜索位置;
按照预设搜索方向,从所述下一个搜索位置开始搜索所述搜索模型的最外围栅格,获得所述最外围栅格中未被标记的外轮廓点并进行轮廓类型标记;
将所述最外围栅格中未被标记的外轮廓点作为下一个待搜索外轮廓点;
其中,所述搜索模型为包括N*N栅格的区域,N为正整数;所述预设公式为(x+2)mod(N-1)*4,x为所述栅格位置值。
4.如权利要求1所述的清扫结束条件识别方法,其特征在于,当所述外轮廓类别数量大于或等于所述第一预设阈值时,所述根据所述外轮廓信息得出清扫结束条件的识别结果,还包括:
判断所述外轮廓类别数量是否大于第二预设阈值;
当所述外轮廓类别数量大于所述第二预设阈值时,输出清扫未结束的识别结果;
当所述外轮廓类别数量小于或等于所述第二预设阈值时,输出沿墙标记信息;
根据所述沿墙标记信息判断是否结束清扫。
5.如权利要求4所述的清扫结束条件识别方法,其特征在于,所述根据所述沿墙标记信息判断是否结束清扫,包括:
根据所述沿墙标记信息确定清扫区域是否闭合;
当所述清扫区域闭合时,结束清扫;
当所述清扫区域未闭合时,根据每类外轮廓包含的外轮廓点信息和所述沿墙标记信息进行补扫。
6.一种清扫结束条件识别装置,其特征在于,包括:
获取模块,用于检测到清扫边界地图在预设时间段内无变化后,获取扩张至预设栅格尺寸的空白栅格地图;
生成模块,用于根据预标记的沿墙标记信息和所述空白栅格地图,生成目标栅格地图;
搜索模块,用于对所述目标栅格地图进行外轮廓搜索,得到外轮廓信息;
识别模块,用于根据所述外轮廓信息得出清扫结束条件的识别结果;
所述搜索模块具体用于:根据预设搜索规则搜索所述目标栅格地图,并对外轮廓点进行标记;统计标记后的所述目标栅格地图中的外轮廓类别数量和每类外轮廓上的外轮廓点,所述外轮廓信息包括外所述轮廓类别数量和每类外轮廓包含的外轮廓点;其中,同一类外轮廓的外轮廓点的标记相同,不同类外轮廓的外轮廓点的标记不同;
所述识别模块具体用于:判断所述外轮廓类别数量是否小于第一预设阈值;
当所述外轮廓类别数量小于所述第一预设阈值时,输出清扫已结束的识别结果。
7.如权利要求6所述的装置,其特征在于,所述搜索模块具体用于:
确定各类外轮廓的搜索路线起点,并对所述搜索路线起点进行轮廓类型标记;其中,所述搜索路线起点为属于第一类点且未被标记的外轮廓点;
通过所述预设搜索规则,从所述搜索路线起点开始搜索对应的外轮廓,以获得所述搜索路线起点对应的外轮廓上未被标记的外轮廓点,并对未被标记的外轮廓点进行轮廓类型标记。
8.如权利要求7所述的装置,其特征在于,
所述预设搜索规则包括第一搜索策略和第二搜索策略;
所述第一搜索策略包括:
若待搜索外轮廓点是外轮廓起点,以所述待搜索外轮廓点为中心建立搜索模型;
按照预设搜索方向,从预设搜索位置开始搜索所述搜索模型的最外围栅格,获得所述最外围栅格中未被标记的外轮廓点并进行轮廓类型标记;
将所述最外围栅格中未被标记的外轮廓点作为下一个待搜索外轮廓点;
所述第二搜索策略包括:
若所述待搜索外轮廓点不是外轮廓起点,以所述待搜索外轮廓点为中心建立搜索模型,获取所述待搜索外轮廓点的上一个外轮廓点在所述搜索模型中的栅格位置值;
根据预设公式和所述栅格位置值,计算下一个搜索位置;
按照预设搜索方向,从所述下一个搜索位置开始搜索所述搜索模型的最外围栅格,获得所述最外围栅格中未被标记的外轮廓点并进行轮廓类型标记;
将所述最外围栅格中未被标记的外轮廓点作为下一个待搜索外轮廓点;
其中,所述搜索模型为包括N*N栅格的区域,N为正整数;所述预设公式为(x+2)mod(N-1)*4,x为所述栅格位置值。
9.一种扫地机器人,包括行走机构、清扫机构、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910875828.4A CN111708357B (zh) | 2019-09-17 | 2019-09-17 | 清扫结束条件识别方法、装置及扫地机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910875828.4A CN111708357B (zh) | 2019-09-17 | 2019-09-17 | 清扫结束条件识别方法、装置及扫地机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111708357A CN111708357A (zh) | 2020-09-25 |
CN111708357B true CN111708357B (zh) | 2023-07-18 |
Family
ID=72536434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910875828.4A Active CN111708357B (zh) | 2019-09-17 | 2019-09-17 | 清扫结束条件识别方法、装置及扫地机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708357B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113009911B (zh) * | 2021-02-20 | 2022-11-01 | 大陆智源科技(北京)有限公司 | 清洁路径的生成方法、装置和自移动设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06131459A (ja) * | 1992-10-22 | 1994-05-13 | Matsushita Electric Ind Co Ltd | 輪郭線検出方法 |
CN105716613B (zh) * | 2016-04-07 | 2018-10-02 | 北京进化者机器人科技有限公司 | 一种机器人避障中的最短路径规划方法 |
CN107831773A (zh) * | 2017-11-30 | 2018-03-23 | 深圳市沃特沃德股份有限公司 | 扫地机器人全覆盖清扫的方法及扫地机器人 |
CN108303098B (zh) * | 2018-02-09 | 2018-09-25 | 上海思岚科技有限公司 | 机器人路径规划方法及设备 |
CN108898605B (zh) * | 2018-07-25 | 2021-01-05 | 电子科技大学 | 一种基于图的栅格地图分割方法 |
CN109612469B (zh) * | 2019-01-14 | 2020-05-22 | 深圳乐动机器人有限公司 | 一种机器人搜索充电基座位置的方法及机器人 |
CN110135644B (zh) * | 2019-05-17 | 2020-04-17 | 北京洛必德科技有限公司 | 一种用于目标搜索的机器人路径规划方法 |
-
2019
- 2019-09-17 CN CN201910875828.4A patent/CN111708357B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111708357A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108256574B (zh) | 机器人定位方法及装置 | |
CN112179330B (zh) | 移动设备的位姿确定方法及装置 | |
CN110969649B (zh) | 一种激光点云与地图的匹配评价方法、介质、终端和装置 | |
CN109645892B (zh) | 一种障碍物的识别方法及清洁机器人 | |
EP3974778A1 (en) | Method and apparatus for updating working map of mobile robot, and storage medium | |
JP6649743B2 (ja) | 一致性評価装置および一致性評価方法 | |
CN111427904A (zh) | 高精地图数据的更新方法、装置及电子设备 | |
CN110989635A (zh) | 扫地机器人的清扫方法及扫地机器人 | |
WO2023005377A1 (zh) | 一种机器人的建图方法及机器人 | |
CN112198878B (zh) | 一种即时地图构建方法、装置、机器人及存储介质 | |
CN111708357B (zh) | 清扫结束条件识别方法、装置及扫地机器人 | |
CN115014328A (zh) | 一种栅格地图的动态加载方法、装置、设备和介质 | |
CN113426714B (zh) | 晶元搜索方法、装置、电子设备及计算机可读存储介质 | |
CN112097772B (zh) | 机器人及其地图构建方法和装置 | |
CN113317733B (zh) | 一种路径规划方法及清洁机器人 | |
CN112013840B (zh) | 扫地机器人及其地图构建方法和装置 | |
CN112180914B (zh) | 地图处理方法、装置、存储介质和机器人 | |
WO2024007807A1 (zh) | 一种误差校正方法、装置及移动设备 | |
WO2022252482A1 (zh) | 机器人及其环境地图构建方法和装置 | |
WO2022135372A1 (zh) | 一种地图构建方法及机器人 | |
CN115406452A (zh) | 一种实时定位及建图方法、装置及终端设备 | |
CN111665522B (zh) | 过滤激光扫描图中静止物体的方法、介质、终端和装置 | |
CN113656418A (zh) | 语义地图的保存方法和装置、存储介质、电子装置 | |
CN113031006B (zh) | 一种定位信息的确定方法、装置及设备 | |
CN116295352A (zh) | 一种数据融合的地图构建方法、系统及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 1701, building 2, Yinxing Zhijie, No. 1301-72, sightseeing Road, Xinlan community, Guanlan street, Longhua District, Shenzhen, Guangdong Province Applicant after: Shenzhen Yinxing Intelligent Group Co.,Ltd. Address before: 518000 building A1, Yinxing hi tech Industrial Park, Guanlan street, Longhua District, Shenzhen City, Guangdong Province Applicant before: Shenzhen Silver Star Intelligent Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |