CN107773164B - 用于清洁机器人的清洁方法、装置及机器人 - Google Patents
用于清洁机器人的清洁方法、装置及机器人 Download PDFInfo
- Publication number
- CN107773164B CN107773164B CN201711146016.3A CN201711146016A CN107773164B CN 107773164 B CN107773164 B CN 107773164B CN 201711146016 A CN201711146016 A CN 201711146016A CN 107773164 B CN107773164 B CN 107773164B
- Authority
- CN
- China
- Prior art keywords
- block
- boundary
- cleaning robot
- effective
- 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
Images
Classifications
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/24—Floor-sweeping machines, motor-driven
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4011—Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Electric Vacuum Cleaner (AREA)
Abstract
本发明公开了一种用于清洁机器人的清洁方法,通过将清洁机器人所对应的环境地图划分为多个区块;按照预设的有效区块确定规则,依次将多个区块中的各个区块确定为有效区块;针对每个有效区块,控制清洁机器人沿该有效区块的边界行走一圈,并记录行走过程中所对应的闭合路径曲线;在闭合路径曲线的内部区域设置清洁路线,使清洁机器人沿清洁路线清洁该有效区块的内部区域。通过将整个环境地图划分为多个区块,能够根据各个区块规划机器人的清洁路线,提升了路线规划的效率和准确性。通过在每个区块的内部可到达区域内规划清洁路线,能够提升该区块内部的清洁效率。综上可知,本发明中的方式能够以区块为单位合理规划路线,提升清洁效果。
Description
技术领域
本发明涉及智能家居技术领域,具体涉及一种用于清洁机器人的清洁方法、装置及机器人。
背景技术
智能家电是将微处理器、传感器技术、网络通信技术引入传统家电设备而形成的,目前,越来越多的家电设备采用了智能控制技术,智能家电能够提高人们的生活质量,随着科技的不断发展以及人们的需求不断扩大,人们对于智能家电的智能性有了更高的要求。
清洁机器人是智能家电中一个典型的代表,它能够自动对地面进行清洁。但是,发明人在实现本发明的过程中发现:现有技术中的清洁机器人在清洁过程中往往按照随机路线进行清洁,缺乏规划性,由此导致清洁机器人的清洁效果不尽理想。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的用于清洁机器人的清洁方法、装置及机器人。
根据本发明的一个方面,提供了一种用于清洁机器人的清洁方法,包括:
将所述清洁机器人所对应的环境地图划分为多个区块;
按照预设的有效区块确定规则,依次将所述多个区块中的各个区块确定为有效区块;
针对每个有效区块,控制所述清洁机器人沿该有效区块的边界行走一圈,并记录行走过程中所对应的闭合路径曲线;
在所述闭合路径曲线的内部区域设置清洁路线,使所述清洁机器人沿所述清洁路线清洁该有效区块的内部区域。
可选地,所述将所述清洁机器人所对应的环境地图划分为多个区块的步骤具体包括:
针对所述清洁机器人所对应的环境地图,每隔第一预设间隔设置一条横向分割线,每隔第二预设间隔设置一条纵向分割线;
通过各个横向分割线以及各个纵向分割线将所述清洁机器人所对应的环境地图划分为多个区块。
可选地,所述第一预设间隔等于所述第二预设间隔;并且,所述第一预设间隔为4米。
可选地,所述预设的有效区块确定规则包括:
在所述清洁机器人开始清洁之前,确定所述清洁机器人在所述环境地图中所对应的初始位置,根据所述初始位置从所述多个区块中确定第一个有效区块。
可选地,所述根据所述初始位置从所述多个区块中确定第一个有效区块的步骤具体包括:
将距离所述初始位置最近的区块确定为第一个有效区块。
可选地,所述控制所述清洁机器人沿该有效区块的边界行走一圈的步骤具体包括:
在所述清洁机器人沿该有效区块的边界行走的过程中,判断所述清洁机器人的行走路径是否超出该有效区块的边界;
每当判断结果为是时,将超出该有效区块的边界的位置确定为越界位置,将所述越界位置及其对应的区块信息记录到预设的越界链表中,并调整所述清洁机器人的行走路径,以使所述清洁机器人沿该有效区块的边界行走;
且所述预设的有效区块确定规则包括:根据所述越界链表中记录的各个区块信息,确定当前有效区块的下一个有效区块。
可选地,所述将所述清洁机器人所对应的环境地图划分为多个区块的步骤之后,进一步包括:
分别针对每个区块,将该区块进一步划分为多个栅格;
按照预设的赋值规则,分别为每个区块中的各个栅格赋值;
其中,相同区块中的各个栅格的数值相同,不同区块中的各个栅格的数值不同。
可选地,所述预设的赋值规则包括:
针对每个区块而言,与该区块相邻且位于该区块的第一方向的区块中的栅格数值与该区块中的栅格数值相差第一数值,与该区块相邻且位于该区块的第二方向的区块中的栅格数值与该区块中的栅格数值相差第二数值;
其中,所述第一方向与第二方向相互垂直。
可选地,所述判断所述清洁机器人的行走路径是否超出该有效区块的边界的步骤具体包括:当所述清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定所述清洁机器人的行走路径超出该有效区块的边界;
则所述将超出该有效区块的边界的位置确定为越界位置,将所述越界位置及其对应的区块信息记录到预设的越界链表中的步骤具体包括:
将超出该有效区块的边界的栅格所处的位置确定为越界位置;
根据超出该有效区块的边界的栅格的数值确定所述超出该有效区块的边界的栅格所对应的区块信息;
将所述超出该有效区块的边界的栅格的标识及其对应的区块信息记录到预设的越界链表中。
可选地,所述根据所述越界链表中记录的各个区块信息,确定当前有效区块的下一个有效区块的步骤具体包括:
判断所述越界链表中最晚存储的区块信息是否已清洁,若否,则将所述最晚存储的区块信息确定为当前有效区块的下一个有效区块,并将所述最晚存储的区块信息从所述越界链表中删除;其中,所述越界链表为先进后出的链表。
可选地,所述根据所述越界链表中记录的各个区块信息,确定当前有效区块的下一个有效区块的步骤具体包括:
判断所述越界链表中最早存储的区块信息是否已清洁,若否,则将所述最早存储的区块信息确定为当前有效区块的下一个有效区块,并将所述最早存储的区块信息从所述越界链表中删除;其中,所述越界链表为先进先出的链表。
可选地,所述根据所述越界链表中记录的各个区块信息,确定当前有效区块的下一个有效区块的步骤进一步包括:
判断所述越界链表是否为空,若是,则确定所述环境地图所对应的区域清洁完成。
可选地,所述控制所述清洁机器人沿该有效区块的边界行走一圈的步骤具体包括:
根据所述清洁机器人的当前位置,从所述有效区块的边界所对应的栅格中选择一个栅格作为边界起始栅格;
控制所述清洁机器人从所述边界起始栅格开始,沿所述有效区块的边界行走一圈。
可选地,所述控制所述清洁机器人从所述边界起始栅格开始,沿所述有效区块的边界行走一圈的步骤具体包括:
若与所述有效区块的边界相对应的位置没有障碍物,则沿所述有效区块的边界行走;
若与所述有效区块的边界相对应的位置存在障碍物,则沿所述障碍物的边缘行走。
根据本发明的另一方面,提供了一种用于清洁机器人的清洁装置,包括:
区块划分模块,适于将所述清洁机器人所对应的环境地图划分为多个区块;
有效区块确定模块,适于按照预设的有效区块确定规则,依次将所述多个区块中的各个区块确定为有效区块;
控制模块,适于针对每个有效区块,控制所述清洁机器人沿该有效区块的边界行走一圈,并记录行走过程中所对应的闭合路径曲线;
清洁路线设置模块,适于在所述闭合路径曲线的内部区域设置清洁路线,使所述清洁机器人沿所述清洁路线清洁该有效区块的内部区域。
可选地,所述区块划分模块进一步适于:
针对所述清洁机器人所对应的环境地图,每隔第一预设间隔设置一条横向分割线,每隔第二预设间隔设置一条纵向分割线;
通过各个横向分割线以及各个纵向分割线将所述清洁机器人所对应的环境地图划分为多个区块。
可选地,所述第一预设间隔等于所述第二预设间隔;并且,所述第一预设间隔为4米。
可选地,所述有效区块确定模块进一步适于:
在所述清洁机器人开始清洁之前,确定所述清洁机器人在所述环境地图中所对应的初始位置,根据所述初始位置从所述多个区块中确定第一个有效区块。
可选地,所述有效区块确定模块进一步适于:
将距离所述初始位置最近的区块确定为第一个有效区块。
可选地,其中,所述装置进一步包括:
判断模块,适于在所述清洁机器人沿该有效区块的边界行走的过程中,判断所述清洁机器人的行走路径是否超出该有效区块的边界;
越界位置确定模块,适于当判断所述清洁机器人的行走路径超出该有效区块的边界时,将超出该有效区块的边界的位置确定为越界位置;
记录模块,适于当判断所述清洁机器人的行走路径超出该有效区块的边界时,将所述越界位置及其对应的区块信息记录到预设的越界链表中;
所述控制模块进一步适于,当判断所述清洁机器人的行走路径超出该有效区块的边界时,调整所述清洁机器人的行走路径,以使所述清洁机器人沿该有效区块的边界行走;
且有效区块确定模块进一步适于:根据所述越界链表中记录的各个区块信息,确定当前有效区块的下一个有效区块。
可选地,所述装置进一步包括:
栅格划分模块,适于分别针对每个区块,将该区块进一步划分为多个栅格;
赋值模块,适于按照预设的赋值规则,分别为每个区块中的各个栅格赋值;
其中,相同区块中的各个栅格的数值相同,不同区块中的各个栅格的数值不同。
可选地,所述赋值模块进一步适于:
针对每个区块而言,与该区块相邻且位于该区块的第一方向的区块中的栅格数值与该区块中的栅格数值相差第一数值,与该区块相邻且位于该区块的第二方向的区块中的栅格数值与该区块中的栅格数值相差第二数值;
其中,所述第一方向与第二方向相互垂直。
可选地,所述判断模块进一步适于:
当所述清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定所述清洁机器人的行走路径超出该有效区块的边界;
所述越界位置确定模块进一步适于,将超出该有效区块的边界的栅格所处的位置确定为越界位置;
所述装置进一步包括:区块信息确定模块,适于根据超出该有效区块的边界的栅格的数值确定所述超出该有效区块的边界的栅格所对应的区块信息;
所述记录模块进一步适于,将所述超出该有效区块的边界的栅格的标识及其对应的区块信息记录到预设的越界链表中。
可选地,所述有效区块确定模块进一步适于:
判断所述越界链表中最晚存储的区块信息是否已清洁,若否,则将所述最晚存储的区块信息确定为当前有效区块的下一个有效区块,并将所述最晚存储的区块信息从所述越界链表中删除;其中,所述越界链表为先进后出的链表。
可选地,所述有效区块确定模块进一步适于:
判断所述越界链表中最早存储的区块信息是否已清洁,若否,则将所述最早存储的区块信息确定为当前有效区块的下一个有效区块,并将所述最早存储的区块信息从所述越界链表中删除;其中,所述越界链表为先进先出的链表。
可选地,所述有效区块确定模块进一步适于:
判断所述越界链表是否为空,若是,则确定所述环境地图所对应的区域清洁完成。
可选地,其中,所述装置进一步包括:
起始栅格选择模块,适于根据所述清洁机器人的当前位置,从所述有效区块的边界所对应的栅格中选择一个栅格作为边界起始栅格;
所述控制模块进一步适于,控制所述清洁机器人从所述边界起始栅格开始,沿所述有效区块的边界行走一圈。
可选地,所述控制模块进一步适于:
若与所述有效区块的边界相对应的位置没有障碍物,则控制所述清洁机器人沿所述有效区块的边界行走;
若与所述有效区块的边界相对应的位置存在障碍物,则控制所述清洁机器人沿所述障碍物的边缘行走。
根据本发明的另一方面,提供了一种机器人,包括上述的用于清洁机器人的清洁装置。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述用于清洁机器人的清洁方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述用于清洁机器人的清洁方法对应的操作。
根据本发明提供的用于清洁机器人的清洁方法、装置及机器人,通过将清洁机器人所对应的环境地图划分为多个区块;按照预设的有效区块确定规则,依次将多个区块中的各个区块确定为有效区块;针对每个有效区块,控制清洁机器人沿该有效区块的边界行走一圈,并记录行走过程中所对应的闭合路径曲线;在闭合路径曲线的内部区域设置清洁路线,使清洁机器人沿清洁路线清洁该有效区块的内部区域。由此可见,通过将整个环境地图划分为多个区块,能够根据各个区块规划机器人的清洁路线,为路线规划过程提供了便利,进而提升了路线规划的效率和准确性。另外,通过每个区块所对应的闭合路径曲线能够将该曲线内部的区域确定为可到达区域,进而在该可到达区域的内部规划清洁路线,能够提升该区块内部的清洁效率。综上可知,本发明中的方式能够以区块为单位合理规划路线,提升清洁效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的用于清洁机器人的清洁方法流程图;
图2示出了根据本发明另一个实施例的用于清洁机器人的清洁方法流程图;
图3a示出了根据本发明另一个实施例的区块划分示意图;
图3b示出了根据本发明又一个实施例的越界位置示意图;
图3c示出了根据本发明另一个实施例的区块划分示意图;
图4示出了根据本发明再一个实施例的越界链表示意图;
图5示出了根据本发明又一个实施例的用于清洁机器人的清洁装置的结构示意图;
图6示出了根据本发明再一个实施例的用于清洁机器人的清洁装置的结构示意图;
图7示出了根据本发明实施例的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的用于清洁机器人的清洁方法的流程图。如图1所示,该方法包括以下步骤:
步骤S100,将清洁机器人所对应的环境地图划分为多个区块。
构建环境地图的方式包括但不限于以下的方式:利用SLAM(simultaneouslocalization and mapping,即时定位与建图)地图与定位构建模块对清洁机器人进行定位,同时构建清洁机器人所处位置的环境地图,清洁机器人安装有激光发射器,激光发射器发射出激光,激光遇到障碍物时发生反射,SLAM根据发射以及反射的激光构建环境地图。需要说明的是,现有的凡是能够用于构建本实施例中的清洁机器人对应的环境地图的方式均包括在本发明保护的范围内。
清洁机器人通过环境地图可以确定需要清洁的区域,将环境地图按照预设的规则划分为多个区块,能够根据各个区块规划机器人的清洁路线,为路线规划过程提供了便利,进而提升了路线规划的效率和准确性。
步骤S101,按照预设的有效区块确定规则,依次将多个区块中的各个区块确定为有效区块。
有效区块是指清扫机器人当前需要进行清洁的区块,步骤S100将环境地图进行了划分,得到了多个区块,在完成了当前有效区块的清洁之后,需要按照预设的有效区块确定规则确定下一个要清洁的区块,由此可以确定清洁机器人在区块之间的清洁路径,并且依次将所有区块中的各个区块确定为有效区块,保证所有的区块都能被清洁。
通过S100-S101的步骤,能够对环境地图对应的区域划分为多个区块,针对划分得到的多个区块,依次确定有效区块,从而规划清扫机器人在各区块之间的清洁路径,提高了清洁效率。
步骤S102,针对每个有效区块,控制清洁机器人沿有效区块的边界行走一圈,并记录行走过程中对应的闭合路径曲线。
在确定了有效区块之后,对该有效区块进行清洁,本实施例的方法先控制清洁机器人沿有效区块的边界行走一圈,记录清洁机器人在沿当前有效区块边界行走一圈时所对应的闭合路径曲线,通过每个区块所对应的闭合路径曲线能够将该曲线内部的区域确定为可到达区域。若该有效区块内不存在障碍物,该闭合路径曲线即为该有效区块的边界所对应的曲线;若该有效区块内存在障碍物,则该闭合路径曲线是根据该有效区块的边界对应的曲线以及障碍物的形状和/或位置确定的曲线,并且,该曲线的形状可能为不规则形状。
步骤S103,在闭合路径曲线的内部区域设置清洁路线,使清洁机器人沿清洁路线清洁该有效区块的内部区域。
通过上述步骤S102得到区块对应的闭合路径曲线,通过每个区块所对应的闭合路径曲线能够将该曲线内部的区域确定为可到达区域,进而在该可到达区域的内部规划清洁路线,清洁机器人沿清洁路线对该有效区块的内部区域进行清洁,从而提升该区块内部的清洁效率。
在本实施例的一个具体的应用中,当前有效区块内不存在障碍物,清洁机器人沿有效区块的边界行走一圈,得到一条形状为正方形的闭合路径曲线,对该闭合路径曲线内部的区域进行清扫,按照预设间隔在正方形区域内设置多条与该正方形闭合路径曲线的横向边界或纵向边界相平行的清洁路线,清洁机器人按照设置的清洁路线对闭合路径曲线的内部区域进行清洁,当清洁机器人走完所有的清洁路线,则该有效区块清洁完毕。
根据本实施例提供的用于清洁机器人的清洁方法,通过将清洁机器人所对应的环境地图划分为多个区块;按照预设的有效区块确定规则,依次将多个区块中的各个区块确定为有效区块;针对每个有效区块,控制清洁机器人沿该有效区块的边界行走一圈,并记录行走过程中所对应的闭合路径曲线;在闭合路径曲线的内部区域设置清洁路线,使清洁机器人沿清洁路线清洁该有效区块的内部区域。由此可见,通过将整个环境地图划分为多个区块,能够根据各个区块规划机器人的清洁路线,为路线规划过程提供了便利,进而提升了路线规划的效率和准确性。另外,通过每个区块所对应的闭合路径曲线能够将该曲线内部的区域确定为可到达区域,进而在该可到达区域的内部规划清洁路线,能够提升该区块内部的清洁效率。综上可知,本实施例的方法能够以区块为单位合理规划路线,提升清洁效果。
图2示出了根据本发明另一个实施例的用于清洁机器人的清洁方法流程图,如图2所示,该方法包括以下步骤:
步骤S200,将清洁机器人所对应的环境地图划分为多个区块。
清洁机器人获取到环境地图,清洁机器人通过环境地图可以确定需要清洁的区域,将环境地图按照预设的规则划分为多个区块,能够根据各个区块规划机器人的清洁路线,为路线规划过程提供了便利,进而提升了路线规划的效率和准确性。
具体地,针对清洁机器人获得的环境地图,每隔第一预设间隔设置一条横向分割线,每隔第二预设间隔设置一条纵向分割线,通过各个横向分割线以及各个纵向分割线将环境地图划分为多个区块。如对于环境地图,在横向方向上以4米为第一预设间隔设置横向分割线,在纵向方向上以4米为第二预设间隔设置纵向分割线。
另外,在本实施例的具体的应用中,将各个区块进一步划分为多个栅格,并按照预设的赋值规则,分别对各个区块的各个栅格赋值,通过对区块的栅格进行赋值,可以标识各个区块的位置信息,以及在清洁机器人对区块进行清洁时,确定清洁机器人所处的位置。其中,各个栅格的具体尺寸可由本领域技术人员根据实际需要进行设置。
下面根据图3a来详细的解释本实施例的方法,图3a示出了本实施例环境地图对应的区块示意图,如图3a所示:
将环境地图300中按照预设的第一间隔设置多条横向分割线301,按照预设的第二间隔设置多条纵向分割线302,通过各个横向分割线301以及各个纵向分割线302将环境地图300划分为多个区块,在本实施例中,第一预设间隔与第二预设间隔相等,因此分割得到的多个区块均为正方形,在实际应用中,本领域技术人员可根据实际需要设置第一预设间隔和第二预设间隔,从而调节区块的尺寸与形状,本发明对此不作限定。
图3a中,通过实线划分的最小的正方形单元即对应一个区块。例如,第一区块303、第二区块304、第三区块305、第四区块306以及第五区块307都是将环境地图进行划分后得到的区块。其中第二区块304与第一区块303相邻且位于第一区块303的纵向方向的上方,第四区块306与第一区块303相邻且位于第一区块303的纵向方向的下方,第三区块305与第一区块303相邻且位于第一区块303的横向方向的左方,第五区块307与第一区块303相邻且位于第一区块303的横向方向的右方。
将对环境地图进行划分得到的每个区块进一步划分为多个栅格。其中,通过虚线划分的最小的正方形单元即对应一个栅格。当然,对于处于区块边界处的栅格而言,是由实线与虚线共同划分的最小的正方形单元。针对区块的各个栅格而言,根据预设的赋值规则,分别为每个区块中的各个栅格赋值,其中,相同区块中的各个栅格的数值相同,不同区块中的各个栅格的数值不相同。
具体地,与该区块相邻且位于该区块的第一方向的区块中的栅格数值与该区块中的栅格数值相差第一数值,与该区块相邻且位于该区块的第二方向的区块中的栅格数值与该区块中的栅格数值相差第二数值,其中,第一方向与第二方向相互垂直。优选地,第一数值与第二数值不同,通过该种方式能够快速准确地定位其他区块与当前区块之间的位置关系。
如图3a所示,将第一区块303内所有的栅格数值设为0,设置与第一区块303相邻且位于纵向方向的区块中的栅格数值相差10,并且为上加下减的规则,即第二区块304内所有的栅格数值为10,第四区块306内所有的栅格数值为-10;设置与第一区块303相邻且位于横向方向的区块中的栅格数值相差1,并且为左加右减的规则,即第三区块305内所有的栅格数值为1,第五区块307内所有的栅格数值为-1。
当清洁机器人根据环境地图对应的多个区块进行清洁时,检测到清洁机器人所处位置对应的区块内的栅格的数值为0,则说明清洁机器人处于第一区块303中,当检测到清洁机器人所处位置对应的区块内栅格的数值由0变化为10时,则表明清洁机器人从第一区块303移动到了第二区块304中,由此根据清洁机器人所处位置对应的区块内栅格的数值确定清洁机器人所处的区块,根据检测到的栅格数值的变化,可以判断清洁机器人在区块之间的移动路径。
步骤S201,根据清洁机器人的初始位置从多个区块中确定第一个有效区块。
有效区块是指清洁机器人当前需要进行清洁的区块,在清洁机器人开始清洁之前,确定清洁机器人在环境地图中对应的初始位置,根据初始位置从多个区块中确定一个有效区块,具体地,将距离初始位置最近的区块确定为第一个有效区块,目的是使清洁机器人能最先清洁距离清洁机器人最近的区块,从而提升清洁效率。
步骤S202,控制清洁机器人沿该有效区块的边界行走。
在确定了第一个有效区块之后,需要对该有效区块进行清洁,本实施例的清洁方法先控制清洁机器人沿有效区块的边界行走一圈。
具体地,根据清洁机器人的当前位置,从有效区块的边界所对应的栅格中选择一个栅格作为边界起始栅格;控制清洁机器人从边界起始栅格开始,沿有效区块的边界行走一圈。
其中,在清洁机器人沿有效区块的边界行走一圈的过程中,若与有效区块的边界相对应的位置没有障碍物,则沿有效区块的边界行走;在清洁机器人沿有效区块的边界行走一圈的过程中,若与有效区块的边界相对应的位置存在障碍物,则沿障碍物的边缘行走。因此,当清洁机器人沿有效区块的边界行走一圈回到边界起始栅格后,可以得到一条闭合路径曲线,若与有效区块的边界相对应的位置没有障碍物,该闭合路径曲线即为该有效区块的边界对应的曲线,若与有效区块的边界相对应的位置存在障碍物,则该闭合路径曲线是根据有效区块的边界以及障碍物的形状和/或位置确定的曲线,并且,该曲线的形状可能为不规则的形状。
步骤S203,判断清洁机器人的行走路径是否超出该有效区块的边界,若是,则执行步骤S204;若否,则执行步骤S202。
由于本实施例的清洁方法是根据对环境地图划分得到的区块进行路径规划,使清洁机器人按照一定的顺序清洁各个区块,只有将当前有效区块清洁结束之后,才进行对下一个有效区块的清洁,因此在控制清洁机器人沿有效区域的边界行走的过程中,需要判断清洁机器人的行走路径是否超出该有效区块的边界,即判断清洁机器人是否从当前有效区块行走到了与该有效区块的相邻区块。
对于判断清洁机器人的行走路径是否超出该有效区块的边界的方式包括但不仅限于以下的方式:
当清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定清洁机器人的行走路径超出该有效区块的边界。
如图3b所示,第二区块304与第一区块303相邻且位于第一区块303的纵向方向上的上方,根据预设的赋值规则,第一区块303内所有栅格的数值为0,第二区块304内所有栅格的数值为10,第一区块303与第二区块304有一条共同的边界为第一边界309,栅格3082和栅格3081分别为第二区块304内的两个栅格。
清洁机器人在沿着第一区块303行走时,若判断出清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定清洁机器人的行走路径超出了第一区块303的边界,即在清洁机器人沿着第一区块303的边界行走的过程中,当检测到清洁机器人的行走路径中包含的各个栅格的数值不仅仅有0,还包括10时,则说明清洁机器人从第一区块303行走到了第二区块304。即当清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定清洁机器人的行走路径超出该有效区块的边界。
步骤S204:将超出该有效区块的边界的栅格所处的位置确定为越界位置。
若判断出判断清洁机器人的行走路径超出了该有效区块的边界,将超出该有效区块的边界的栅格所处的位置确定为越界位置。如图3b所示,各个区块均具有四条边界,清洁机器人在沿第一区块303的边界行走的过程中,通过对行走路径包含的各个栅格数值是否发生变化进行判断,可以确定清洁机器人的行走路径是否超出了第一区块303的边界,即清洁机器人是否从第一区块303进入到第二区块304中,但对于同一条边界,清洁机器人可以从多个位置穿越该边界,从当前有效区块进入到与该有效区块相邻的区块中,举例来说,清洁机器人穿越第一边界309进入到从第二区块304中的栅格3081或者3082,则栅格3081或者栅格3082为超出该有效区块的边界的位置,将栅格3081或者栅格3082所处的位置确定为越界位置。
清洁机器人可以由一个有效区块对应的越界位置从该有效区块的相邻区块进入到该有效区块中(其中,有效区块对应的越界位置即为该有效区块中包含的越界位置),因此,在后续的清洁过程中,可以根据有效区块对应的越界位置决定从该有效区块的什么位置开始清洁,也即,可以将该越界位置对应的栅格确定为该有效区块中的边界起始栅格,控制清洁机器人从边界起始栅格开始,沿该有效区块的边界行走一圈。
步骤S205,将越界位置及其对应的区块信息记录到预设的越界链表中。
具体地,根据超出该有效区块的边界的栅格的数值确定超出该有效区块的边界的栅格所对应的区块信息;将超出该有效区块的边界的栅格的标识及其对应的区块信息记录到预设的越界链表中。
下面根据图3c解释根据越界位置确定对应的区块信息的方法:
如图3c所示,在环境地图中建立以点312为原点,包括横向坐标轴311以及纵向坐标轴310的坐标系,根据建立的坐标系对环境地图划分多个区块,第一区块303,第二区块304相邻且位于第一区块的纵向方向上的上方,进一步将每个区块划分为多个栅格。其中,栅格3081为第二区块304的越界位置对应的栅格,并且第一区块303内栅格的数值为0,第二区块304内栅格的数值为10。根据通过建立坐标系可以确定各个区块的边界的坐标以及各个栅格的坐标,从而确定区块以及栅格的位置,以图3c为例,栅格3081为边长0.01米的正方形,第一区块以及第二区块304为边长为0.03米的正方形,栅格3081为第二区块304的一个越界位置对应的栅格。
对于区块来说,根据区块的各条边界线中数值最小的坐标点以及数值最大的坐标点确定区块的位置,当前有效区块为第一区块303,超出第一区块303的边界的栅格3081的数值与第一区块303中栅格的数值相差为10,根据预设的栅格赋值规则,可判断出栅格3081对应的第二区块304位于第一区块303纵向方向的上方,根据坐标系以及栅格的尺寸可以确定第二区块304的各条边界线中最小的坐标点(0,0.03)以及数值最大的坐标点(0.03,0.06),由此可以确定的第二区块304的位置信息。
越界链表如图4所示,越界位置及其对应的区块信息相关联存储在越界链表中,对于同一个区块,清洁机器人可能从不同的栅格进入,因此同一个区块信息可能会对应多个越界位置。
步骤S206,判断清洁机器人的行走路径是否形成闭合路径曲线,若是,则执行步骤S207;若否,则执行步骤S202。
清洁机器人从边界起始栅格开始行走,当清洁机器人再次行走到边界起始栅格时,即完成了沿有效区块的边界行走一圈的过程,本实施例的清洁方法对于各个区块的清洁分为两步,首先控制清洁机器人沿有效区块的边界行走一圈,然后在清洁机器人沿有效区块边界形成的闭合路径曲线的内部设置清洁路线,从而使清洁机器人沿清洁路线清洁该有效区块的内部区域,因此,在进行有效区块的内部清洁之前,需要判断清洁机器人的行走路径是否形成闭合路径曲线。
步骤S207,在闭合路径曲线的内部设置清洁路线,使清洁机器人沿清洁路线清洁该有效区块的内部区域。
通过每个区块所对应的闭合路径曲线能够将该曲线内部的区域确定为可到达区域,进而在该可到达区域的内部规划清洁路线,清洁机器人沿清洁路线对该有效区块的内部区域进行清洁,当清洁机器人行走完所有的清洁路线,则该有效区块清洁完毕,由此能够提升该区块内部的清洁效率。
步骤S208,判断越界链表是否为空,若是,则本方法结束;若否,则执行步骤S209。
在越界链表中存储了越界位置及其对应的区块信息,根据越界链表来确定当前有效区块的下一个有效区块,因此判断越界链表是否为空,若是,则说明该环境地图对应的所有区块清洁完毕。
步骤S209,根据越界链表中存储的区块信息,确定当前有效区块的下一个有效区块。
若判断出越界链表不为空,则根据越界链表中存储的区块信息,确定当前有效区块的下一个有效区块。区块信息包括该区块的位置信息,根据越界位置确定可以进入该区块的栅格的位置。
根据越界链表中存储的区块信息,确定当前有效区块的下一个有效区块具体可以由以下两种方式实现:
方式一:判断越界链表中最晚存储的区块信息是否已清洁,若否,则将最晚存储的区块信息确定为当前有效区块的下一个有效区块,并将最晚存储的区块信息从越界链表中删除;其中,越界链表为先进后出的链表。若判断出越界链表中最晚储存的区块信已清洁,则删除该区块信息,继续当前越界链表中最晚存储的区块信息是否已清洁,重复上述步骤。如图4所示的越界链表,该越界链表为先进后出的链表,越界位置5及区块信息5为最晚存储的区块信息,若越界位置5及区块信息5对应的区块未清洁,则将越界位置5及区块信息5对应的区块确定为当前有效区块的下一个有效区块,并将越界位置5及区块信息5从链表中删除;若越界位置5及区块信息5为对应的区块信息已清洁,并且该越界链表没有更新,则提取出越界位置4及区块信息4,重复上述判断区块是否已清洁的步骤,并将越界位置5及区块信息5从链表中删除。该方式采用深度优先的方法,该方法对越界链表中的区块信息搜索速度快,有利于快速确定当前有效区块的下一个有效区块。
方式二:判断越界链表中最早存储的区块信息是否已清洁,若否,则将最早存储的区块信息确定为当前有效区块的下一个有效区块,并将最早存储的区块信息从越界链表中删除;其中,越界链表为先进先出的链表。若判断出越界链表中最早储存的区块信息已清洁,则删除该区块信息,继续判断仅晚于最早存储的区块信息是否已清洁,重复上述步骤。如图4所示的越界链表,越界链表为先进先出的链表,越界位置1及区块信息1为最早存储的区块信息,若越界位置1及区块信息1对应的区块未清洁,则将越界位置1及区块信息1对应的区块确定为当前有效区块的下一个有效区块,并将越界位置1及区块信息1从链表中删除;若越界位置1及区块信息1为对应的区块已清洁,提取出越界位置2及区块信息2,重复上述判断区块是否已清洁的步骤,并将越界位置1及区块信息1从链表中删除。该方式采用广度优先的方法,该方法能够遍历越界链表中的区块信息,有利于快速确定当前有效区块的下一个有效区块。在实际应用中,采用上述两种方式都能够快速确定当前有效区块的下一个有效区块,无优劣之分。
此外,每个栅格具有与该栅格相对应的状态标志位,当清洁机器人清洁完一个栅格之后,将清洁完的栅格所对应的状态标志位设置为已清洁标志位,因此,从越界链表中提取出区块信息,根据该区块内栅格对应的状态标志位判断该区块内的栅格是否已清洁。
由于在确定了当前有效区块的下一个有效区块之后,对越界链表中该下一个有效区块对应的区块信息进行了删除,因此当越界链表中为空时,则表明环境地图对应的所有区块的清洁完成。
根据本实施例提供的用于清洁机器人的清洁方法,将清洁机器人所对应的环境地图划分为多个区块;根据清洁机器人的初始位置从多个区块中确定第一个有效区块;控制清洁机器人沿该有效区块的边界行走;若判断清洁机器人的行走路径超出了该有效区块的边界;则将超出该有效区块的边界的栅格所处的位置确定为越界位置;将越界位置及其对应的区块信息记录到预设的越界链表中,并且控制清洁机器人继续沿该有效区块的边界行走;若判断出清洁机器人的行走路径未形成闭合路径曲线;则控制清洁机器人继续沿该有效区块的边界行走,直到形成闭合路径曲线;若判断出清洁机器人的行走路径形成了闭合路径曲线;则在闭合路径曲线的内部区域设置清洁路线,使清洁机器人沿清洁路线清洁该有效区块的内部区域;当完成了当前有效区块的清洁,则根据越界链表中存储的区块信息,确定当前有效区块的下一个有效区块,根据上述步骤对当前有效区块的下一个有效区块进行清洁;若链表为空,则表明该环境地图对应的区域清洁完毕,本方法结束。通过将整个环境地图划分为多个区块,能够根据各个区块规划机器人的清洁路线,为路线规划过程提供了便利,进而提升了路线规划的效率和准确性,并且使清洁机器人先清洁离初始位置最近的区块,提高了清洁效率;其次,通过将越界位置以及对应的区块信息存储在越界链表中,根据越界链表中的区块信息确定下一个有效区块,保证环境地图对应的每个区块都能被清清洁;另外,通过每个区块所对应的闭合路径曲线能够将该曲线内部的区域确定为可到达区域,进而在该可到达区域的内部规划清洁路线,能够提升该区块内部的清洁效率;综上可知,本实施例提供的的方法能够以区块为单位合理规划路线,提升清洁效果。图5示出了根据本发明又一个实施例的用于清洁机器人的清洁装置的结构示意图,如图5所示,该装置包括:
区块划分模块500,适于将清洁机器人所对应的环境地图划分为多个区块;
有效区块确定模块501,适于按照预设的有效区块确定规则,依次将多个区块中的各个区块确定为有效区块。
控制模块502,适于针对每个有效区块,控制清洁机器人沿该有效区块的边界行走一圈,并记录行走过程中所对应的闭合路径曲线。
清洁路线设置模块503,适于在闭合路径曲线的内部区域设置清洁路线,使清洁机器人沿清洁路线清洁该有效区块的内部区域。
图6示出了根据本发明又一个实施例的用于清洁机器人的清洁装置的结构示意图,如图6所示,该装置在图5所示装置的基础上,进一步包括:
区块划分模块500进一步适于:
针对清洁机器人所对应的环境地图,每隔第一预设间隔设置一条横向分割线,每隔第二预设间隔设置一条纵向分割线;
通过各个横向分割线以及各个纵向分割线将清洁机器人所对应的环境地图划分为多个区块。
具体地,第一预设间隔等于所述第二预设间隔;并且,所述第一预设间隔为4米。
有效区块确定模块501进一步适于:
在清洁机器人开始清洁之前,确定清洁机器人在环境地图中所对应的初始位置,根据初始位置从多个区块中确定第一个有效区块。
有效区块确定模块501进一步适于:
将距离初始位置最近的区块确定为第一个有效区块。
装置还包括:
判断模块600,适于在清洁机器人沿该有效区块的边界行走的过程中,判断清洁机器人的行走路径是否超出该有效区块的边界。
越界位置判断模块601,适于当判断清洁机器人的行走路径超出该有效区块的边界时,将超出该有效区块的边界的位置确定为越界位置。
记录模块602,适于当判断清洁机器人的行走路径超出该有效区块的边界时,将越界位置及其对应的区块信息记录到预设的越界链表中。
控制模块502进一步适于,当判断清洁机器人的行走路径超出该有效区块的边界时,调整清洁机器人的行走路径,以使清洁机器人沿该有效区块的边界行走。
有效区块确定模块501进一步适于,根据越界链表中记录的各个区块信息,确定当前有效区块的下一个有效区块。
栅格划分模块603,适于分别针对每个区块,将该区块进一步划分为多个栅格
赋值模块604,适于按照预设的赋值规则,分别为每个区块中的各个栅格赋值;其中,相同区块中的各个栅格的数值相同,不同区块中的各个栅格的数值不同。
赋值模块604进一步适于,针对每个区块而言,与该区块相邻且位于该区块的第一方向的区块中的栅格数值与该区块中的栅格数值相差第一数值,与该区块相邻且位于该区块的第二方向的区块中的栅格数值与该区块中的栅格数值相差第二数值;
其中,第一方向与第二方向相互垂直。
判断模块600进一步适于,当清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定清洁机器人的行走路径超出该有效区块的边界。
越界位置确定模块601进一步适于,将超出该有效区块的边界的栅格所处的位置确定为越界位置。
该装置还包括:
区块信息确定模块605,适于根据超出该有效区块的边界的栅格的数值确定超出该有效区块的边界的栅格所对应的区块信息。
记录模块602进一步适于,将超出该有效区块的边界的栅格的标识及其对应的区块信息记录到预设的越界链表中。
有效区块确定模块501进一步适于,判断越界链表中最晚存储的区块信息是否已清洁,若否,则将最晚存储的区块信息确定为当前有效区块的下一个有效区块,并将最晚存储的区块信息从越界链表中删除;其中,越界链表为先进后出的链表。
有效区块确定模块501进一步适于,判断越界链表中最早存储的区块信息是否已清洁,若否,则将最早存储的区块信息确定为当前有效区块的下一个有效区块,并将最早存储的区块信息从越界链表中删除;其中,越界链表为先进先出的链表。
有效区块确定模块501进一步适于,判断越界链表是否为空,若是,则确定环境地图所对应的区域清洁完成。
装置还包括:
起始栅格选择模块606,适于根据清洁机器人的当前位置,从有效区块的边界所对应的栅格中选择一个栅格作为边界起始栅格。
控制模块502进一步适于,控制清洁机器人从边界起始栅格开始,沿有效区块的边界行走一圈。
控制模块502进一步适于,若与有效区块的边界相对应的位置没有障碍物,则控制清洁机器人沿有效区块的边界行走;
若与有效区块的边界相对应的位置存在障碍物,则控制清洁机器人沿障碍物的边缘行走。
上述各个模块的具体结构和工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
本申请又一实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用于清洁机器人的清洁方法。
图7示出了根据本发明实施例六的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图7所示,该计算设备可以包括:处理器(processor)702、通信接口(Communications Interface)704、存储器(memory)706、以及通信总线708。
其中:
处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
通信接口704,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器702,用于执行程序710,具体可以执行上述用于清洁机器人的清洁方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
处理器702可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序710具体可以用于使得处理器702执行以下操作:
将清洁机器人所对应的环境地图划分为多个区块;
按照预设的有效区块确定规则,依次将多个区块中的各个区块确定为有效区块;
针对每个有效区块,控制清洁机器人沿该有效区块的边界行走一圈,并记录行走过程中所对应的闭合路径曲线;
在闭合路径曲线的内部区域设置清洁路线,使清洁机器人沿清洁路线清洁该有效区块的内部区域。
程序710具体还可以用于使得处理器702执行以下操作:
针对清洁机器人所对应的环境地图,每隔第一预设间隔设置一条横向分割线,每隔第二预设间隔设置一条纵向分割线;
通过各个横向分割线以及各个纵向分割线将清洁机器人所对应的环境地图划分为多个区块。
程序710具体还可以用于使得处理器702执行以下操作:
第一预设间隔等于第二预设间隔;并且,第一预设间隔为4米。
程序710具体还可以用于使得处理器702执行以下操作:
在清洁机器人开始清洁之前,确定清洁机器人在环境地图中所对应的初始位置,根据初始位置从多个区块中确定第一个有效区块。
程序710具体还可以用于使得处理器702执行以下操作:
将距离初始位置最近的区块确定为第一个有效区块。
程序710具体还可以用于使得处理器702执行以下操作:
在清洁机器人沿该有效区块的边界行走的过程中,判断清洁机器人的行走路径是否超出该有效区块的边界;
每当判断结果为是时,将超出该有效区块的边界的位置确定为越界位置,将越界位置及其对应的区块信息记录到预设的越界链表中,并调整清洁机器人的行走路径,以使清洁机器人沿该有效区块的边界行走;
且预设的有效区块确定规则包括:根据越界链表中记录的各个区块信息,确定当前有效区块的下一个有效区块。
程序710具体还可以用于使得处理器702执行以下操作:
分别针对每个区块,将该区块进一步划分为多个栅格;
按照预设的赋值规则,分别为每个区块中的各个栅格赋值;
其中,相同区块中的各个栅格的数值相同,不同区块中的各个栅格的数值不同。
程序710具体还可以用于使得处理器702执行以下操作:
针对每个区块而言,与该区块相邻且位于该区块的第一方向的区块中的栅格数值与该区块中的栅格数值相差第一数值,与该区块相邻且位于该区块的第二方向的区块中的栅格数值与该区块中的栅格数值相差第二数值;
其中,第一方向与第二方向相互垂直。
程序710具体还可以用于使得处理器702执行以下操作:
当清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定清洁机器人的行走路径超出该有效区块的边界;
则将超出该有效区块的边界的位置确定为越界位置,将越界位置及其对应的区块信息记录到预设的越界链表中的步骤具体包括:
将超出该有效区块的边界的栅格所处的位置确定为越界位置;
根据超出该有效区块的边界的栅格的数值确定超出该有效区块的边界的栅格所对应的区块信息;
将超出该有效区块的边界的栅格的标识及其对应的区块信息记录到预设的越界链表中。
程序710具体还可以用于使得处理器702执行以下操作:
判断越界链表中最晚存储的区块信息是否已清洁,若否,则将最晚存储的区块信息确定为当前有效区块的下一个有效区块,并将最晚存储的区块信息从越界链表中删除;其中,越界链表为先进后出的链表。
程序710具体还可以用于使得处理器702执行以下操作:
判断越界链表中最早存储的区块信息是否已清洁,若否,则将最早存储的区块信息确定为当前有效区块的下一个有效区块,并将最早存储的区块信息从越界链表中删除;其中,越界链表为先进先出的链表。
程序710具体还可以用于使得处理器702执行以下操作:
判断越界链表是否为空,若是,则确定环境地图所对应的区域清洁完成。
程序710具体还可以用于使得处理器702执行以下操作:
根据清洁机器人的当前位置,从有效区块的边界所对应的栅格中选择一个栅格作为边界起始栅格;
控制清洁机器人从边界起始栅格开始,沿有效区块的边界行走一圈。
程序710具体还可以用于使得处理器702执行以下操作:
若与有效区块的边界相对应的位置没有障碍物,则沿有效区块的边界行走;
若与有效区块的边界相对应的位置存在障碍物,则沿障碍物的边缘行走。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的用于清洁机器人的计算设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (29)
1.一种用于清洁机器人的清洁方法,包括:
将所述清洁机器人所对应的环境地图划分为多个区块;
按照预设的有效区块确定规则,依次将所述多个区块中的各个区块确定为有效区块;所述预设的有效区块确定规则包括:根据越界链表中记录的各个区块信息,确定当前有效区块的下一个有效区块;
针对每个有效区块,控制所述清洁机器人沿该有效区块的边界行走一圈,并记录行走过程中所对应的闭合路径曲线;
其中,在所述清洁机器人沿该有效区块的边界行走的过程中,判断所述清洁机器人的行走路径是否超出该有效区块的边界;
每当判断结果为是时,将超出该有效区块的边界的位置确定为越界位置,将所述越界位置及其对应的区块信息记录到预设的越界链表中,并调整所述清洁机器人的行走路径,以使所述清洁机器人沿该有效区块的边界行走;
在所述闭合路径曲线的内部区域设置清洁路线,使所述清洁机器人沿所述清洁路线清洁该有效区块的内部区域。
2.根据权利要求1所述的方法,其中,所述将所述清洁机器人所对应的环境地图划分为多个区块的步骤具体包括:
针对所述清洁机器人所对应的环境地图,每隔第一预设间隔设置一条横向分割线,每隔第二预设间隔设置一条纵向分割线;
通过各个横向分割线以及各个纵向分割线将所述清洁机器人所对应的环境地图划分为多个区块。
3.根据权利要求2所述的方法,其中,所述第一预设间隔等于所述第二预设间隔;并且,所述第一预设间隔为4米。
4.根据权利要求1-3任一所述的方法,其中,所述预设的有效区块确定规则包括:
在所述清洁机器人开始清洁之前,确定所述清洁机器人在所述环境地图中所对应的初始位置,根据所述初始位置从所述多个区块中确定第一个有效区块。
5.根据权利要求4所述的方法,其中,所述根据所述初始位置从所述多个区块中确定第一个有效区块的步骤具体包括:
将距离所述初始位置最近的区块确定为第一个有效区块。
6.根据权利要求1所述的方法,其中,所述将所述清洁机器人所对应的环境地图划分为多个区块的步骤之后,进一步包括:
分别针对每个区块,将该区块进一步划分为多个栅格;
按照预设的赋值规则,分别为每个区块中的各个栅格赋值;
其中,相同区块中的各个栅格的数值相同,不同区块中的各个栅格的数值不同。
7.根据权利要求6所述的方法,其中,所述预设的赋值规则包括:
针对每个区块而言,与该区块相邻且位于该区块的第一方向的区块中的栅格数值与该区块中的栅格数值相差第一数值,与该区块相邻且位于该区块的第二方向的区块中的栅格数值与该区块中的栅格数值相差第二数值;
其中,所述第一方向与第二方向相互垂直。
8.根据权利要求6或7所述的方法,其中,所述判断所述清洁机器人的行走路径是否超出该有效区块的边界的步骤具体包括:当所述清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定所述清洁机器人的行走路径超出该有效区块的边界;
则所述将超出该有效区块的边界的位置确定为越界位置,将所述越界位置及其对应的区块信息记录到预设的越界链表中的步骤具体包括:
将超出该有效区块的边界的栅格所处的位置确定为越界位置;
根据超出该有效区块的边界的栅格的数值确定所述超出该有效区块的边界的栅格所对应的区块信息;
将所述超出该有效区块的边界的栅格的标识及其对应的区块信息记录到预设的越界链表中。
9.根据权利要求8所述的方法,其中,所述根据所述越界链表中记录的各个区块信息,确定当前有效区块的下一个有效区块的步骤具体包括:
判断所述越界链表中最晚存储的区块信息是否已清洁,若否,则将所述最晚存储的区块信息确定为当前有效区块的下一个有效区块,并将所述最晚存储的区块信息从所述越界链表中删除;其中,所述越界链表为先进后出的链表。
10.根据权利要求8所述的方法,其中,所述根据所述越界链表中记录的各个区块信息,确定当前有效区块的下一个有效区块的步骤具体包括:
判断所述越界链表中最早存储的区块信息是否已清洁,若否,则将所述最早存储的区块信息确定为当前有效区块的下一个有效区块,并将所述最早存储的区块信息从所述越界链表中删除;其中,所述越界链表为先进先出的链表。
11.根据权利要求9或10所述的方法,其中,所述根据所述越界链表中记录的各个区块信息,确定当前有效区块的下一个有效区块的步骤进一步包括:
判断所述越界链表是否为空,若是,则确定所述环境地图所对应的区域清洁完成。
12.根据权利要求1所述的方法,其中,所述控制所述清洁机器人沿该有效区块的边界行走一圈的步骤具体包括:
根据所述清洁机器人的当前位置,从所述有效区块的边界所对应的栅格中选择一个栅格作为边界起始栅格;
控制所述清洁机器人从所述边界起始栅格开始,沿所述有效区块的边界行走一圈。
13.根据权利要求12所述的方法,其中,所述控制所述清洁机器人从所述边界起始栅格开始,沿所述有效区块的边界行走一圈的步骤具体包括:
若与所述有效区块的边界相对应的位置没有障碍物,则沿所述有效区块的边界行走;
若与所述有效区块的边界相对应的位置存在障碍物,则沿所述障碍物的边缘行走。
14.一种用于清洁机器人的清洁装置,包括:
区块划分模块,适于将所述清洁机器人所对应的环境地图划分为多个区块;
有效区块确定模块,适于按照预设的有效区块确定规则,依次将所述多个区块中的各个区块确定为有效区块;其中,所述预设的有效区块确定规则包括:根据越界链表中记录的各个区块信息,确定当前有效区块的下一个有效区块;
判断模块,适于在所述清洁机器人沿该有效区块的边界行走的过程中,判断所述清洁机器人的行走路径是否超出该有效区块的边界;
越界位置确定模块,适于当判断所述清洁机器人的行走路径超出该有效区块的边界时,将超出该有效区块的边界的位置确定为越界位置;
记录模块,适于当判断所述清洁机器人的行走路径超出该有效区块的边界时,将所述越界位置及其对应的区块信息记录到预设的越界链表中;
控制模块,适于针对每个有效区块,控制所述清洁机器人沿该有效区块的边界行走一圈,并记录行走过程中所对应的闭合路径曲线;当判断所述清洁机器人的行走路径超出该有效区块的边界时,调整所述清洁机器人的行走路径,以使所述清洁机器人沿该有效区块的边界行走;
清洁路线设置模块,适于在所述闭合路径曲线的内部区域设置清洁路线,使所述清洁机器人沿所述清洁路线清洁该有效区块的内部区域。
15.根据权利要求14所述的装置,其中,所述区块划分模块进一步适于:
针对所述清洁机器人所对应的环境地图,每隔第一预设间隔设置一条横向分割线,每隔第二预设间隔设置一条纵向分割线;
通过各个横向分割线以及各个纵向分割线将所述清洁机器人所对应的环境地图划分为多个区块。
16.根据权利要求15所述的装置,其中,所述第一预设间隔等于所述第二预设间隔;并且,所述第一预设间隔为4米。
17.根据权利要求14-16任一项所述的装置,其中,所述有效区块确定模块进一步适于:
在所述清洁机器人开始清洁之前,确定所述清洁机器人在所述环境地图中所对应的初始位置,根据所述初始位置从所述多个区块中确定第一个有效区块。
18.根据权利要求17所述的装置,其中,所述有效区块确定模块进一步适于:
将距离所述初始位置最近的区块确定为第一个有效区块。
19.根据权利要求14所述的装置,其中,所述装置进一步包括:
栅格划分模块,适于分别针对每个区块,将该区块进一步划分为多个栅格;
赋值模块,适于按照预设的赋值规则,分别为每个区块中的各个栅格赋值;
其中,相同区块中的各个栅格的数值相同,不同区块中的各个栅格的数值不同。
20.根据权利要求19所述的装置,其中,所述赋值模块进一步适于:
针对每个区块而言,与该区块相邻且位于该区块的第一方向的区块中的栅格数值与该区块中的栅格数值相差第一数值,与该区块相邻且位于该区块的第二方向的区块中的栅格数值与该区块中的栅格数值相差第二数值;
其中,所述第一方向与第二方向相互垂直。
21.根据权利要求19或20所述的装置,其中,所述判断模块进一步适于:
当所述清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定所述清洁机器人的行走路径超出该有效区块的边界;
所述越界位置确定模块进一步适于,将超出该有效区块的边界的栅格所处的位置确定为越界位置;
所述装置进一步包括:区块信息确定模块,适于根据超出该有效区块的边界的栅格的数值确定所述超出该有效区块的边界的栅格所对应的区块信息;
所述记录模块进一步适于,将所述超出该有效区块的边界的栅格的标识及其对应的区块信息记录到预设的越界链表中。
22.根据权利要求21所述的装置,其中,所述有效区块确定模块进一步适于:
判断所述越界链表中最晚存储的区块信息是否已清洁,若否,则将所述最晚存储的区块信息确定为当前有效区块的下一个有效区块,并将所述最晚存储的区块信息从所述越界链表中删除;其中,所述越界链表为先进后出的链表。
23.根据权利要求21所述的装置,其中,所述有效区块确定模块进一步适于:
判断所述越界链表中最早存储的区块信息是否已清洁,若否,则将所述最早存储的区块信息确定为当前有效区块的下一个有效区块,并将所述最早存储的区块信息从所述越界链表中删除;其中,所述越界链表为先进先出的链表。
24.根据权利要求22或23所述的装置,其中,所述有效区块确定模块进一步适于:
判断所述越界链表是否为空,若是,则确定所述环境地图所对应的区域清洁完成。
25.根据权利要求14所述的装置,其中,所述装置进一步包括:
起始栅格选择模块,适于根据所述清洁机器人的当前位置,从所述有效区块的边界所对应的栅格中选择一个栅格作为边界起始栅格;
所述控制模块进一步适于,控制所述清洁机器人从所述边界起始栅格开始,沿所述有效区块的边界行走一圈。
26.根据权利要求25所述的装置,其中,所述控制模块进一步适于:
若与所述有效区块的边界相对应的位置没有障碍物,则控制所述清洁机器人沿所述有效区块的边界行走;
若与所述有效区块的边界相对应的位置存在障碍物,则控制所述清洁机器人沿所述障碍物的边缘行走。
27.一种机器人,包括权利要求14-26任一所述的用于清洁机器人的清洁装置。
28.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-13中任一项所述的用于清洁机器人的清洁方法对应的操作。
29.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-13中任一项所述的用于清洁机器人的清洁方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711146016.3A CN107773164B (zh) | 2017-11-17 | 2017-11-17 | 用于清洁机器人的清洁方法、装置及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711146016.3A CN107773164B (zh) | 2017-11-17 | 2017-11-17 | 用于清洁机器人的清洁方法、装置及机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107773164A CN107773164A (zh) | 2018-03-09 |
CN107773164B true CN107773164B (zh) | 2020-11-03 |
Family
ID=61431923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711146016.3A Active CN107773164B (zh) | 2017-11-17 | 2017-11-17 | 用于清洁机器人的清洁方法、装置及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107773164B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108742346A (zh) * | 2018-06-27 | 2018-11-06 | 杨扬 | 遍历工作环境的方法及建立栅格地图的方法 |
CN108829115B (zh) * | 2018-10-09 | 2019-01-29 | 上海岚豹智能科技有限公司 | 一种机器人的运动控制方法及其计算设备 |
CN111123905B (zh) * | 2018-10-31 | 2022-08-26 | 苏州科瓴精密机械科技有限公司 | 行走机器人的控制方法及*** |
CN111214179A (zh) * | 2018-11-23 | 2020-06-02 | 北京奇虎科技有限公司 | 确定可清扫区域的方法、装置、电子设备及可读存储介质 |
CN111374594B (zh) * | 2018-12-27 | 2023-05-16 | 北京奇虎科技有限公司 | 超边界处理方法、装置、电子设备及计算机可读存储介质 |
CN111443693B (zh) * | 2018-12-27 | 2024-06-21 | 北京奇虎科技有限公司 | 区块超边界处理方法、电子设备及计算机可读存储介质 |
CN111436861B (zh) * | 2018-12-27 | 2023-02-17 | 北京奇虎科技有限公司 | 区块沿边的闭合处理方法、电子设备及可读存储介质 |
CN111562777B (zh) * | 2019-01-29 | 2024-04-19 | 北京奇虎科技有限公司 | 一种扫地机器人的清扫路径规划方法和装置 |
CN111722624A (zh) * | 2019-03-18 | 2020-09-29 | 北京奇虎科技有限公司 | 清扫方法、装置、设备及计算机可读存储介质 |
CN111329398A (zh) * | 2020-03-27 | 2020-06-26 | 上海高仙自动化科技发展有限公司 | 机器人控制方法、机器人、电子设备和可读存储介质 |
CN111759239A (zh) * | 2020-06-08 | 2020-10-13 | 江苏美的清洁电器股份有限公司 | 一种区域确定方法、装置和计算机存储介质 |
CN111830970B (zh) * | 2020-06-12 | 2022-03-04 | 珠海一微半导体股份有限公司 | 一种机器人沿边行走的区域清扫规划方法、芯片及机器人 |
CN111857133A (zh) * | 2020-06-24 | 2020-10-30 | 湖南格兰博智能科技有限责任公司 | 一种用于扫地机器人寻找未清扫区域的宽度优先搜索算法 |
CN112129295B (zh) * | 2020-09-24 | 2021-08-17 | 深圳市云鼠科技开发有限公司 | 一种低内存占用的链式栅格地图构建方法 |
CN113693522B (zh) * | 2021-02-10 | 2023-01-17 | 北京石头创新科技有限公司 | 清洁机器人脱困方法及装置、介质及电子设备 |
CN113693521B (zh) * | 2021-02-10 | 2023-05-05 | 北京石头创新科技有限公司 | 自动清洁设备控制方法及装置、介质及电子设备 |
CN113009911B (zh) * | 2021-02-20 | 2022-11-01 | 大陆智源科技(北京)有限公司 | 清洁路径的生成方法、装置和自移动设备 |
CN114608552B (zh) * | 2022-01-19 | 2024-06-18 | 达闼机器人股份有限公司 | 一种机器人建图方法、***、装置、设备及存储介质 |
CN117652916A (zh) * | 2022-08-18 | 2024-03-08 | 科沃斯家用机器人有限公司 | 清洁设备的控制方法、清洁设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1463658A (zh) * | 2002-06-21 | 2003-12-31 | 泰怡凯电器(苏州)有限公司 | 自动吸尘器的可清扫区域和障碍物区域的识别方法 |
KR20050111138A (ko) * | 2004-05-21 | 2005-11-24 | 삼성광주전자 주식회사 | 로봇 청소기의 청소방법 |
DE102007036158A1 (de) * | 2007-08-02 | 2009-02-05 | BSH Bosch und Siemens Hausgeräte GmbH | Verfahren und System zur Steuerung eines Arbeits- und/oder Transportgerätes, insbesondere eines Bodenreinigungsroboters, sowie Arbeits- und/oder Transportgerät und Speichermedium hierfür |
CN106805856A (zh) * | 2016-12-31 | 2017-06-09 | 鸿奇机器人股份有限公司 | 控制清洁机器人的方法 |
-
2017
- 2017-11-17 CN CN201711146016.3A patent/CN107773164B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1463658A (zh) * | 2002-06-21 | 2003-12-31 | 泰怡凯电器(苏州)有限公司 | 自动吸尘器的可清扫区域和障碍物区域的识别方法 |
KR20050111138A (ko) * | 2004-05-21 | 2005-11-24 | 삼성광주전자 주식회사 | 로봇 청소기의 청소방법 |
DE102007036158A1 (de) * | 2007-08-02 | 2009-02-05 | BSH Bosch und Siemens Hausgeräte GmbH | Verfahren und System zur Steuerung eines Arbeits- und/oder Transportgerätes, insbesondere eines Bodenreinigungsroboters, sowie Arbeits- und/oder Transportgerät und Speichermedium hierfür |
CN106805856A (zh) * | 2016-12-31 | 2017-06-09 | 鸿奇机器人股份有限公司 | 控制清洁机器人的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107773164A (zh) | 2018-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107773164B (zh) | 用于清洁机器人的清洁方法、装置及机器人 | |
CN107913039B (zh) | 用于清洁机器人的区块选择方法、装置及机器人 | |
CN107837044B (zh) | 清洁机器人的分区清洁方法、装置及机器人 | |
CN107752927B (zh) | 清洁机器人的区块调整方法、装置、设备及存储介质 | |
CN102778229B (zh) | 未知环境下基于改进蚁群算法的移动Agent路径规划方法 | |
CN109363585A (zh) | 分区遍历方法、清扫方法及其扫地机器人 | |
CN109540155A (zh) | 一种扫地机器人的路径规划与导航方法、计算机装置以及计算机可读存储介质 | |
CN107928565A (zh) | 清洁机器人的清洁方法、装置及机器人 | |
CN107898393A (zh) | 用于清洁机器人的区块调整方法、装置及机器人 | |
CN107357295B (zh) | 一种基于栅格地图的路径搜索方法和芯片及机器人 | |
CN104615138A (zh) | 一种划分移动机器人室内区域动态覆盖方法及其装置 | |
CN110909961B (zh) | 基于bim的室内路径查询方法及装置 | |
CN111080786A (zh) | 基于bim的室内地图模型构建方法及装置 | |
CN114993308A (zh) | 导航路径的规划方法、装置及存储介质 | |
CN107735737A (zh) | 一种航点编辑方法、装置、设备及飞行器 | |
CN114764239A (zh) | 清扫机器人控制方法、装置、计算机设备及存储介质 | |
CN112237403B (zh) | 用于清扫设备的覆盖路径生成方法和清扫设备 | |
CN107478232A (zh) | 机器人导航路径的搜索方法及芯片 | |
CN113064407A (zh) | 全区域覆盖的清扫方法、装置、清扫机器人及存储装置 | |
JP2023508662A (ja) | グローバルグリッドマップにおけるマップトラバースブロックの構築方法、チップ、及び移動ロボット | |
CN110123208A (zh) | 一种控制机器人清洁的方法及机器人 | |
CN113009916A (zh) | 一种基于全局地图探索的路径规划方法、芯片及机器人 | |
CN111736582B (zh) | 路径处理方法、装置、电子设备及计算机可读存储介质 | |
CN110716547A (zh) | 一种基于波前算法的3d探索的方法 | |
CN114690728B (zh) | 一种用于物料快速运输的双向可调agv路径规划方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |