CN107913039A - 用于清洁机器人的区块选择方法、装置及机器人 - Google Patents

用于清洁机器人的区块选择方法、装置及机器人 Download PDF

Info

Publication number
CN107913039A
CN107913039A CN201711146017.8A CN201711146017A CN107913039A CN 107913039 A CN107913039 A CN 107913039A CN 201711146017 A CN201711146017 A CN 201711146017A CN 107913039 A CN107913039 A CN 107913039A
Authority
CN
China
Prior art keywords
block
crossing
border
boundary
block information
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.)
Granted
Application number
CN201711146017.8A
Other languages
English (en)
Other versions
CN107913039B (zh
Inventor
栾成志
谭平
潘俊威
刘坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201711146017.8A priority Critical patent/CN107913039B/zh
Publication of CN107913039A publication Critical patent/CN107913039A/zh
Application granted granted Critical
Publication of CN107913039B publication Critical patent/CN107913039B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts 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/4063Driving means; Transmission means therefor
    • A47L11/4066Propulsion of the whole machine
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/24Floor-sweeping machines, motor-driven
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/28Floor-scrubbing machines, motor-driven

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

本发明公开了一种用于清洁机器人的区块选择方法、装置及机器人,方法包括:在所述清洁机器人沿当前有效区块的边界行走的过程中,判断所述清洁机器人的行走路径是否超出当前有效区块的边界;当判断结果为是时,将超出当前有效区块的边界的位置确定为越界位置,将包含所述越界位置的越界区块信息记录到预设的越界链表中;在当前有效区块清洁完毕后,从所述越界链表中获取一个越界区块信息,根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕;若否,将该越界区块信息所对应的区块选择为下一个有效区块。该方式能够避免区块被重复清洁,从而提高清洁效率,同时可以避免区块未清洁完毕,保证清洁质量。

Description

用于清洁机器人的区块选择方法、装置及机器人
技术领域
本发明涉及智能家居技术领域,具体涉及一种用于清洁机器人的区块选择方法、装置及机器人。
背景技术
智能家电是将微处理器、传感器技术、网络通信技术引入传统家电设备而形成的,目前,越来越多的家电设备采用了智能控制技术,智能家电能够提高人们的生活质量,随着科技的不断发展以及人们的需求不断扩大,人们对于智能家电的智能性有了更高的要求。
清洁机器人是智能家电中一个典型的代表,它能够自动对地面进行清洁。但是,发明人在实现本发明的过程中发现:现有技术中的清洁机器人在清洁过程中往往按照随机路线进行清洁,缺乏规划性,由此导致清洁机器人的清洁效果不尽理想。即使有些清洁机器人能够将地图划分为区块,根据区块进行简单的路线规划,但是,往往会存在因区块被障碍物隔开或者清洁机器人被人为挪动而导致区块的局部区域被遗漏的情况,导致清洁效果差。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的用于清洁机器人的区块选择方法、装置及机器人。
根据本发明的一个方面,提供了用于清洁机器人的区块选择方法,包括:
在所述清洁机器人沿当前有效区块的边界行走的过程中,判断所述清洁机器人的行走路径是否超出当前有效区块的边界;
当判断结果为是时,将超出当前有效区块的边界的位置确定为越界位置,将包含所述越界位置的越界区块信息记录到预设的越界链表中;
在当前有效区块清洁完毕后,从所述越界链表中获取一个越界区块信息,根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕;
若否,将该越界区块信息所对应的区块选择为下一个有效区块。
可选地,若是,则将该越界区块信息从所述越界链表中删除,并从所述越界链表中获取该越界区块信息的下一个越界区块信息,根据该越界区块信息的下一个越界区块信息中包含的越界位置判断该越界区块信息的下一个越界区块信息所对应的区块是否已清洁完毕;
若否,将该越界区块信息的下一个越界区块信息所对应的区块选择为下一个有效区块。
可选地,所述选择为下一个有效区块的步骤之后,进一步包括:
将所述下一个有效区块作为新的当前有效区块,重复执行上述步骤。
可选地,所述方法执行之前,进一步包括步骤:
预先将所述清洁机器人对应的环境地图划分为多个区块;
将每个区块进一步划分为多个栅格,按照预设的赋值规则,分别为每个区块中的各个栅格赋值;
其中,相同区块中包含的各个栅格的数值相同,不同区块中包含的各个栅格的数值不同。
可选地,所述预设的赋值规则包括:
针对每个区块而言,与该区块相邻且位于该区块的第一方向的区块中的栅格数值与该区块中的栅格数值相差第一数值,与该区块相邻且位于该区块的第二方向的区块中的栅格数值与该区块中的栅格数值相差第二数值;
其中,所述第一方向与第二方向相互垂直。
可选地,所述判断所述清洁机器人的行走路径是否超出当前有效区块的边界的步骤具体包括:当所述清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定所述清洁机器人的行走路径超出当前有效区块的边界。
可选地,所述将超出当前有效区块的边界的位置确定为越界位置,将包含所述越界位置的越界区块信息记录到预设的越界链表中的步骤具体包括:
将超出当前有效区块的边界的栅格所处的位置确定为越界位置;
根据所述超出当前有效区块的边界的栅格的数值与当前有效区块中的栅格的数值之间的差值,确定所述超出当前有效区块的边界的栅格所对应的区块的区块偏移地址;
将所述超出当前有效区块的边界的栅格的栅格标识以及所述区块偏移地址作为一个越界区块信息记录到所述越界链表中。
可选地,所述区块偏移地址根据区块的各条边界线中数值最小的坐标点以及数值最大的坐标点确定。
可选地,所述根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕的步骤具体包括:
将所述越界位置所对应的栅格确定为第一种子栅格,以所述第一种子栅格为起点,在该越界区块信息所对应的区块内部以逐层扩散的方式搜寻处于未清洁状态的栅格;
若搜寻结果为空,则确定该越界区块信息所对应的区块已清洁完毕。
可选地,若搜寻结果非空,则将搜寻到的处于未清洁状态的栅格确定为第二种子栅格,以所述第二种子栅格为起点,在该越界区块信息所对应的区块内部以逐层扩散的方式搜寻处于未清洁状态的栅格;
若搜寻到的处于未清洁状态的栅格的总数量大于预设遗漏阈值,则确定该越界区块信息所对应的区块未清洁完毕。
可选地,每个栅格具有与该栅格相对应的状态标志位,并且,每当所述清洁机器人清洁完一个栅格之后,将清洁完的栅格所对应的状态标志位设置为已清洁标志位;
则所述搜寻处于未清洁状态的栅格的步骤具体包括:根据各个栅格所对应的状态标志位搜寻处于未清洁状态的栅格。
可选地,所述越界链表中存储的各个越界区块信息按照时间顺序存储,则所述从所述越界链表中获取一个越界区块信息的步骤具体包括:
从所述越界链表中获取存储时间最晚的一个越界区块信息;其中,所述越界链表为先进后出的链表;或者,
从所述越界链表中获取存储时间最早的一个越界区块信息;其中,所述越界链表为先进先出的链表。
可选地,所述根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕的步骤具体包括:
若该越界区块信息所对应的区块未被障碍物分隔,则根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块中包含的全部区域是否已清洁完毕;
若该越界区块信息所对应的区块被障碍物分隔,则根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块中包含的被障碍物分隔的局部区域是否已清洁完毕。
可选地,所述从所述越界链表中获取一个越界区块信息的步骤具体包括:
判断所述越界链表是否为空,若是,则确定清洁过程结束;若否,则从所述越界链表中获取一个越界区块信息。
根据本发明的另一方面,提供了用于清洁机器人的区块选择装置,包括:
行走路径判断模块,适于在所述清洁机器人沿当前有效区块的边界行走的过程中,判断所述清洁机器人的行走路径是否超出当前有效区块的边界;
越界位置确定模块,适于当判断出所述清洁机器人的行走路径超出了当前有效区块的边界时,将超出当前有效区块的边界的位置确定为越界位置;
存储模块,适于将包含所述越界位置的越界区块信息记录到预设的越界链表中;
提取模块,适于在当前有效区块清洁完毕后,从所述越界链表中获取一个越界区块信息;
清洁状态判断模块,适于根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕;
选择模块,适于若判断出该越界区块信息所对应的区块没有清洁完毕,将该越界区块信息所对应的区块选择为下一个有效区块。
可选地,所述装置还包括:
删除模块,适于若根据该越界区块信息中包含的越界位置判断出该越界区块信息所对应的区块已清洁完毕,则将该越界区块信息从所述越界链表中删除;
所述提取模块进一步适于,从所述越界链表中获取该越界区块信息的下一个越界区块信息;
清洁状态判断模块进一步适于,根据该越界区块信息的下一个越界区块信息中包含的越界位置判断该越界区块信息的下一个越界区块信息所对应的区块是否已清洁完毕;
选择模块进一步适于,若判断该出越界区块信息的下一个越界区块信息所对应的区块未清洁完毕,将该越界区块信息的下一个越界区块信息所对应的区块选择为下一个有效区块。
可选地,所述装置还包括:
有效区块确定模块,适于将所述下一个有效区块作为新的当前有效区块,以供上述装置对该新的当前有效区块进行处理。
可选地,所述装置还包括:
环境地图划分模块,适于预先将所述清洁机器人对应的环境地图划分为多个区块;
栅格划分模块,适于将每个区块进一步划分为多个栅格;
赋值模块,适于按照预设的赋值规则,分别为每个区块中的各个栅格赋值;
其中,相同区块中包含的各个栅格的数值相同,不同区块中包含的各个栅格的数值不同。
可选地,所述预设的赋值规则包括:
针对每个区块而言,与该区块相邻且位于该区块的第一方向的区块中的栅格数值与该区块中的栅格数值相差第一数值,与该区块相邻且位于该区块的第二方向的区块中的栅格数值与该区块中的栅格数值相差第二数值;
其中,所述第一方向与第二方向相互垂直。
可选地,所述行走路径判断模块进一步适于:
当所述清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定所述清洁机器人的行走路径超出当前有效区块的边界。
可选地,所述越界位置确定模块进一步适于:
将超出当前有效区块的边界的栅格所处的位置确定为越界位置;
根据所述超出当前有效区块的边界的栅格的数值与当前有效区块中的栅格的数值之间的差值,确定所述超出当前有效区块的边界的栅格所对应的区块的区块偏移地址;
所述存储模块进一步适于,将所述超出当前有效区块的边界的栅格的栅格标识以及所述区块偏移地址作为一个越界区块信息记录到所述越界链表中。
可选地,所述区块偏移地址根据区块的各条边界线中数值最小的坐标点以及数值最大的坐标点确定。
可选地,所述清洁状态判断模块进一步适于:
将所述越界位置所对应的栅格确定为第一种子栅格,以所述第一种子栅格为起点,在该越界区块信息所对应的区块内部以逐层扩散的方式搜寻处于未清洁状态的栅格;
若搜寻结果为空,则确定该越界区块信息所对应的区块已清洁完毕。
可选地,所述清洁状态判断模块进一步适于:
若搜寻结果非空,则将搜寻到的处于未清洁状态的栅格确定为第二种子栅格,以所述第二种子栅格为起点,在该越界区块信息所对应的区块内部以逐层扩散的方式搜寻处于未清洁状态的栅格;
若搜寻到的处于未清洁状态的栅格的总数量大于预设遗漏阈值,则确定该越界区块信息所对应的区块未清洁完毕。
可选地,每个栅格具有与该栅格相对应的状态标志位,并且,每当所述清洁机器人清洁完一个栅格之后,将清洁完的栅格所对应的状态标志位设置为已清洁标志位;
所述清洁状态判断模块进一步适于,根据各个栅格所对应的状态标志位搜寻处于未清洁状态的栅格。
可选地,所述越界链表中存储的各个越界区块信息按照时间顺序存储,则所述提取模块进一步适于:
从所述越界链表中获取存储时间最晚的一个越界区块信息;其中,所述越界链表为先进后出的链表;或者,
从所述越界链表中获取存储时间最早的一个越界区块信息;其中,所述越界链表为先进先出的链表。
可选地,所述清洁状态判断模块进一步适于:
若该越界区块信息所对应的区块未被障碍物分隔,则根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块中包含的全部区域是否已清洁完毕;
若该越界区块信息所对应的区块被障碍物分隔,则根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块中包含的被障碍物分隔的局部区域是否已清洁完毕。
可选地,所述提取模块进一步包括:
判断单元,适于判断所述越界链表是否为空,若是,则确定清洁过程结束;若否,则从所述越界链表中获取一个越界区块信息。
根据本发明的另一方面,提供了一种机器人,包括上述的用于清洁机器人的区块选择装置。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述用于清洁机器人的区块选择方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述用于清洁机器人的区块选择方法对应的操作。
根据本发明提供的用于清洁机器人的区块选择方法、装置及机器人,通过在清洁机器人沿当前有效区块的边界行走的过程中,判断清洁机器人的行走路径是否超出当前有效区块的边界;当判断清洁机器人的行走路径超出了当前有效区块的边界,将超出当前有效区块的边界的位置确定为越界位置,将包含越界位置的越界区块信息记录到预设的越界链表中;在当前有效区块清洁完毕后,从越界链表中获取一个越界区块信息,根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕;若该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块未清洁完毕,将该越界区块信息所对应的区块选择为下一个有效区块。通过检测清洁机器人在沿当前有效区块的边界行走的过程中行走路径超出了当前有效区块的情况,将行走路径超出当前有效区块的边界的位置以及对应的区块信息存储到越界链表中,为确定当前有效区块的下一个有效区块提供了依据,也即,为规划清洁机器人在区块之间的清洁路径提供了便利;其次,通过将多个区块依次确定为有效区块进行清洁,使得各个区块对应的区域都能被清洁;最后,通过判断各条越界区块信息对应的区块是否清洁完毕,能够避免区块被重复清洁,提高清洁效率,同时可以避免区块未清洁完毕,出现遗漏的局部区域未被清洁的情况,保证清洁质量。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的用于清洁机器人的区块选择方法的流程示意图;
图2示出了根据本发明又一个实施例的越界链表的示意图;
图3示出了根据本发明另一个实施例的用于清洁机器人的区块选择方法的流程示意图;
图4a示出了根据本发明又一个实施例的区块划分的示意图;
图4b示出了根据本发明再一个实施例的越界位置的示意图;
图4c示出了根据本发明另一个实施例的建立坐标系的示意图;
图5示出了根据本发明再一个实施例的区块的示意图;
图6示出了根据本发明另一个实施例的栅格的示意图;
图7示出了根据本发明又一个实施例的用于清洁机器人的区块选择装置的结构示意图;
图8示出了根据本发明实施例的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的用于清洁机器人的区块选择方法的流程示意图,如图1所示,该方法包括:
步骤S100,在清洁机器人沿当前有效区块的边界行走的过程中,判断清洁机器人的行走路径是否超出当前有效区块的边界。
在一个具体的应用场景中,本实施例提供的用于清洁机器人的区块选择方法是基于将环境地图划分为多个区块而执行的,有效区块是指清洁机器人当前需要进行清洁的区块,清洁机器人按照预设的规则将环境地图对应的各个区块依次确定为有效区块,因此当环境地图对应的所有区块被清洁完毕时,即表明环境地图对应的区域清洁完毕。此外,针对当前有效区块,首先控制清洁机器人沿当前有效区块的边界行走,在清洁机器人沿当前有效区块的边界行走的过程中,若清洁机器人走到了相邻区块对应的区域内,则确定清洁机器人的行走路径超出了当前有效区块的边界。
步骤S101,当判断出清洁机器人的行走路径超出了当前有效区块的边界,将超出当前有效区块的边界的位置确定为越界位置,将包含越界位置的越界区块信息记录到预设的越界链表中。
在具体的应用中,若判断出清洁机器人的行走路径超出了当前有效区块的边界,则将行走路径超出当前有效区块的边界的位置确定为越界位置,将越界位置以及越界位置对应的区块信息相关联作为越界区块信息存储到越界链表中。区块与越界位置是相对应的,但不一定是一一对应,因为对于一个区块来说,该区块对应的越界位置即为该区块中包含的越界位置,清洁机器人可以由一个区块对应的越界位置从该区块的相邻区块进入到该区块内;通过将包含越界位置的越界区块信息记录到预设的越界链表中,后续获取越界链表中的越界区块信息,分析该越界区块信息对应的越界位置以及区块信息,可为确定当前有效区块的下一个有效区块提供依据。
图2示出了越界链表示意图,越界位置1及区块信息1、越界位置2及区块信息2、越界位置3及区块信息3、越界位置4及区块信息4以及越界位置5及区块信息5分别对应为5条越界区块信息,以越界位置1及区块信息1为例,该条越界区块信息表明,清洁机器人可以从区块信息1对应的区块中的越界位置1对应的位置进入到该区块中。
步骤S102,在当前有效区块清洁完毕后,从越界链表中获取一个越界区块信息,根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕。
通过将环境地图对应的区块依次确定为有效区块,对有效区块进行清洁,在当前有效区块清洁完毕后,需要选择下一个区块进行清洁,即确定当前有效区块的下一个有效区块,在本实施例中,选择当前有效区块的下一个有效区块的方法依赖于上述步骤S101中记录的包括越界位置的越界区块信息。
具体地,如图2所示,当完成了当前有效区块的清洁,从越界链表中提取出一条越界区块信息,例如提取出了越界位置1及区块信息1,为了避免对区块信息1对应的区块重复清洁导致清洁效率低,或者避免区块信息1的局部区域未清洁导致清洁效果差,因此需要判断该越界区块信息对应的区块是否已清洁完毕,对于已清洁完毕的区块无需再次进行清洁,对于未清洁完毕的区块,则需要对该区块进行清洁。
步骤S103,若根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块未清洁完毕,则将该越界区块信息所对应的区块选择为下一个有效区块。
在具体的应用中,可通过为每个区块设置状态标志位来区分已清洁完毕区块和未清洁完毕区块,当清洁机器人清洁完一个区块之后,将清洁完的区块所对应的状态标志位设置为已清洁标志位,因此,从越界链表中提取出越界区块信息,根据该越界区块信息对应的区块的状态标志位判断该区块是否已清洁完毕,若未清洁完毕,则将该越界区块信息对应的区块确定为当前有效区块的下一个有效区块,由此可以根据越界链表中的越界区块信息为清洁机器人规划清洁路线。当然,本发明对判断区块是否清洁完毕的方式不作限定。
根据本实施例提供的用于清洁机器人的区块选择方法,通过在清洁机器人沿当前有效区块的边界行走的过程中,判断清洁机器人的行走路径是否超出当前有效区块的边界;当判断清洁机器人的行走路径超出了当前有效区块的边界,将超出当前有效区块的边界的位置确定为越界位置,将包含越界位置的越界区块信息记录到预设的越界链表中;在当前有效区块清洁完毕后,从越界链表中获取一个越界区块信息,根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕;若该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块未清洁完毕,将该越界区块信息所对应的区块选择为下一个有效区块。通过检测清洁机器人在沿当前有效区块的边界行走的过程中行走路径超出了当前有效区块的情况,将行走路径超出当前有效区块的边界的位置以及对应的区块信息存储到越界链表中,为确定当前有效区块的下一个有效区块提供了依据,也即,为规划清洁机器人在区块之间的清洁路径提供了便利;其次,通过将多个区块依次确定为有效区块进行清洁,使得各个区块对应的区域都能被清洁;最后,通过判断各条越界区块信息对应的区块是否清洁完毕,能够避免区块被重复清洁,提高清洁效率,同时可以避免区块未清洁完毕,即出现遗漏的局部区域未被清洁的情况,保证清洁质量。
图3示出了根据本发明另一个实施例的用于清洁机器人的区块选择方法的流程示意图,如图3所示,该方法包括:
步骤S300,预先将清洁机器人对应的环境地图划分为多个区块,将每个区块进一步划分为多个栅格,按照预设的赋值规则,分别为每个区块中的各个栅格赋值。
构建环境地图的方式包括但不限于以下的方式:利用SLAM(simultaneouslocalization and mapping,即时定位与建图)地图与定位构建模块对清洁机器人进行定位,同时构建清洁机器人所处位置的环境地图,清洁机器人安装有激光发射器,激光发射器发射出激光,激光遇到障碍物时发生反射,SLAM根据发射以及反射的激光构建环境地图。需要说明的是,现有的凡是能够用于构建本实施例中的清洁机器人对应的环境地图的方式均包括在本发明保护的范围内。
在具体的应用中,可通过在环境地图中按照预设的第一间隔设置多条横向分割线,按照预设的第二间隔设置多条纵向分割线,通过各条横向分割线以及各条纵向分割线将环境地图划分为多个区块。
将对环境地图进行划分得到的每个区块进一步划分为多个栅格。针对区块的各个栅格而言,根据预设的赋值规则,分别为每个区块中的各个栅格赋值,其中,相同区块中的各个栅格的数值相同,不同区块中的各个栅格的数值不相同。
具体地,与该区块相邻且位于该区块的第一方向的区块中的栅格数值与该区块中的栅格数值相差第一数值,与该区块相邻且位于该区块的第二方向的区块中的栅格数值与该区块中的栅格数值相差第二数值,其中,第一方向与第二方向相互垂直。优选地,第一数值与第二数值不同,通过该种方式能够快速准确地定位其他区块与当前区块之间的位置关系。
如图4a所示,通过实线划分的最小的正方形单元即对应一个区块,通过虚线划分的最小的正方形单元即对应一个栅格,通过虚线划分的最小的正方形单元即对应一个栅格,当然,对于处于区块边界处的栅格而言,是由实线与虚线共同划分的最小的正方形单元。第一区块401、第二区块402、第三区块403、第四区块404以及第五区块405都是将环境地图进行划分后得到的区块。将第一区块401内所有的栅格数值设为0,设置与第一区块401相邻且位于纵向方向的区块中的栅格数值相差10,并且为上加下减的规则,即第二区块402内所有的栅格数值为10,第四区块404内所有的栅格数值为-10;设置与第一区块401相邻且位于横向方向的区块中的栅格数值相差1,并且为左加右减的规则,即第三区块403内所有的栅格数值为1,第五区块405内所有的栅格数值为-1。需要说明的是,本发明对区块以及栅格的尺寸不作限定,本领域技术人员可通过实际需要进行设置。
因此,根据清洁机器人所处位置对应的区块内栅格的数值可以确定清洁机器人所处的区块;根据检测到的栅格数值的变化,可以判断清洁机器人在区块之间的移动路径;根据相邻区块内栅格的数值的差值可以确定相邻区块之间的相对位置关系。
步骤S301,在清洁机器人沿当前有效区块的边界行走的过程中,判断清洁机器人的行走路径是否超出当前有效区块的边界。
对于判断清洁机器人的行走路径是否超出该有效区块的边界的方式包括但不仅限于以下的方式:
当清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定所述清洁机器人的行走路径超出当前有效区块的边界。
如图4b所示,第二区块402与第一区块401相邻且位于第一区块401的纵向方向上的上方,根据预设的赋值规则,第一区块401内所有栅格的数值为0,第二区块402内所有栅格的数值为10,第一区块401与第二区块402有一条共同的边界为第一边界406,栅格4062和栅格4061分别为第二区块402内的两个栅格。清洁机器人在沿着第一区块401行走时,若判断出清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定清洁机器人的行走路径超出了第一区块401的边界,即在清洁机器人沿着第一区块401的边界行走的过程中,当检测到清洁机器人的行走路径中包含的各个栅格的数值不仅仅有0,还包括10时,则说明清洁机器人从第一区块401行走到了第二区块402。
步骤S302,将超出当前有效区块的边界的栅格所处的位置确定为越界位置,将超出当前有效区块的边界的栅格所处的位置确定为越界位置,将包含越界位置的越界区块信息记录到预设的越界链表中。
将行走路径超出当前有效区块的边界的位置确定为越界位置,越界区块与越界位置是相对应的,但不一定是一一对应,因为对于一个区块来说,该区块对应的越界位置即为该区块中包含的越界位置,清洁机器人可以由一个区块对应的越界位置从该区块的相邻区块进入到该区块内;此外,将包含越界位置的越界区块信息记录到预设的越界链表中,通过提取分析越界链表中的越界区块信息,可为确定当前有效区块的下一个有效区块提供依据。
具体地,将超出当前有效区块的边界的栅格所处的位置确定为越界位置;根据超出当前有效区块的边界的栅格的数值与当前有效区块中的栅格的数值之间的差值,确定超出当前有效区块的边界的栅格所对应的区块的区块偏移地址;
将超出当前有效区块的边界的栅格的栅格标识以及区块偏移地址作为一个越界区块信息记录到越界链表中,其中,区块偏移地址根据区块的各条边界线中数值最小的坐标点以及数值最大的坐标点确定。
如图4b所示,各个区块均具有四条边界,清洁机器人在沿第一区块401的边界行走的过程中,通过对行走路径包含的各个栅格数值是否发生变化进行判断,可以确定清洁机器人的行走路径是否超出了第一区块401的边界,即清洁机器人是否从第一区块401进入到第二区块402中,但对于同一条边界,清洁机器人可以从多个位置穿越该边界,从当前有效区块进入到与该有效区块相邻的区块中,举例来说,清洁机器人穿越第一边界406进入到从第二区块402中的栅格4061或者4062,则栅格4061或者栅格4062为超出该有效区块的边界的位置,将栅格4061或者栅格4062所处的位置确定为越界位置。因此,为了区分同一个区块的多个越界位置,在具体的应用中,记录超出当前有效区块的边界的栅格的栅格标识,根据栅格标识可以确定一个栅格在区块内的具体位置。
清洁机器人可以由一个区块对应的越界位置从该区块的相邻区块进入到该区块中(其中,区块对应的越界位置即为该区块中包含的越界位置),因此,在后续的清洁过程中,可以根据区块对应的越界位置决定从该区块的什么位置开始清洁,也即,可以将该越界位置对应的栅格确定为该区块中的边界起始栅格,控制清洁机器人从边界起始栅格开始,沿该区块的边界行走。
如图4c所示,在具体的应用中,为了确定各个区块的位置信息,在环境地图中建立以点407为原点,包括横向坐标轴408以及纵向坐标轴409的坐标系,根据建立的坐标系对环境地图划分多个区块,进一步将每个区块划分为3*3个栅格,每个栅格为边长为0.01米的正方形,图4c中,由实线划分的最小正方形对应为各个区块,由虚线划分的最小的正方形对应为各个栅格,对于处于区块边界的栅格,由实线和虚线共同划分。当前有效区块为第一区块401,在清洁机器人第一区块401的边界的行走过程中,检测到清洁机器人的行走路径超出了第一区块401的边界进入到第二区块402中,且超出第一区块401的边界的位置对应的栅格为栅格4061,通过检测区块中的栅格的数值判断出第二区块402中栅格的数值与第一区块401中栅格的数值相差10,根据预设的赋值规则,可以确定第二区块402与第一区块401相邻且位于第一区块401纵向方向上的上方,由此说明,通过区块中栅格的数值的差值,可以判断区块之间的相对位置关系;并且由于清洁机器人安装有激光探测等装置,很容易确定清洁机器人当前所处的区块在环境地图中的坐标位置,也即,当前有效区块在环境地图中的坐标位置,清洁机器人当前位于第一区块401中,根据坐标系可以确定第一区块401的区块偏移地址,第一区块401的区块偏移地址为(0,0)及(0.03,0.03),通过上述判断,确定了第二区块402位于第一区块的401纵向方向的上方,则根据第一区块401的区块偏移地址、区块内栅格的个数以及栅格的边长可以确定第二区块402的区块偏移地址为(0,0.03)及(0.03,0.06)。
通俗地来讲,基于将清洁机器人对应的环境地图划分的多个区块进行路径规划也就是规划各个区块的清洁顺序,本实施例提供的方法通过将越界位置的对应的栅格的栅格标识以及对应的区块偏移地址作为越界位置信息进行存储,为后续选择当前有效区块的下一个有效区块的步骤提供依据。
步骤S303,在当前有效区块清洁完毕后,从越界链表中获取一个越界区块信息,根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕,若否,则执行步骤S304,若是,则执行步骤S306。
越界链表中存储的各个越界区块信息按照时间顺序存储,则从越界链表中获取一个越界区块信息的步骤具体包括:
从越界链表中获取存储时间最晚的一个越界区块信息;其中,越界链表为先进后出的链表;或者,从越界链表中获取存储时间最早的一个越界区块信息;其中,越界链表为先进先出的链表。
清洁机器人可以由一个区块对应的越界位置从该区块的相邻区块进入到该区块内,区块与越界位置是相对应的,但不一定是一一对应,因为对于一个区块来说,一个区块对应的越界位置可以为多个,那么存储在越界链表中的越界区块信息中,可能会存在多条越界区块信息对应的区块偏移地址一样,但越界位置对应的栅格的栅格标识不一样,为了避免对一个区块重复清洁,在获取到一个越界区块信息之后,需要判断该越界区块信息所对应的区块是否已清洁完毕。以图2为例,区块信息1以及区块信息2均对应为第一区块偏移地址,越界位置1以及越界位置2分别为第一区块偏移地址对应的区块的两个不同的越界位置,清洁机器人先通过越界位置1对第一区块偏移地址对应的区块完成了清洁,则当获取到越界位置2及区块信息2这条越界区块信息时,需要判断区块信息2对应的区块是否清洁完毕,若不进行判断,直接将区块信息2对应的区块确定为下一个有效区块,即将第一区块偏移地址对应的区块确定为下一个有效区块,则第一区块偏移地址对应的区块会被重复清洁;同时,若判断出第一区块偏移地址对应的区块未清洁完毕,则还需对第一区块偏移地址对应的区块进行清洁。因此,对越界区块信息对应的区块的清洁状态进行判断,一是为了防止区块被重复清洁,二是防止区块的局部区域未被清洁。
若该越界区块信息所对应的区块未被障碍物分隔,则根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块中包含的全部区域是否已清洁完毕。
在一种场景中,以图4a为例,当清洁机器人正在清洁第二区块402时,被人为挪到第四区块404中进行清洁,优先清洁第四区块404附近的区域,在后续的清洁过程中,当从越界链表中获取到的越界区块信息对应的区块为第二区块402时,需要判断第二区块402是否已经清洁完毕,若清洁完毕,则不需要再次对第二区块402进行清洁,防止对第二区块402重复清洁;若未清洁完毕,即先前对第二区块402的清洁未全部完成,只清洁了第二区块402的局部区域,则此时需要对第二区块402进行清洁,防止遗漏。
若该越界区块信息所对应的区块被障碍物分隔,则根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块中包含的被障碍物分隔的局部区域是否已清洁完毕。
在另外一种场景中,以图5为例,区块50被障碍物51分隔为两个不连通的局部区域,局部区域52以及局部区域53,局部区域52以及局部区域53中均有越界位置,那么对于区块50来说,清洁机器人只有先后两次分别进入局部区域52以及局部区域53进行清洁,区块50才能被清洁完毕,此时,若获取到的越界区块信息对应的区块为区块50,则根据局部区域52中的越界位置判断局部区域52是否已清洁完毕,以及根据局部区域53中的越界位置判断局部区域53是否已清洁完毕。
本实施例中判断越界区块信息所对应的区块是否已清洁完毕可通过以下方式实现:
将越界位置所对应的栅格确定为第一种子栅格,以第一种子栅格为起点,在该越界区块信息所对应的区块内部以逐层扩散的方式搜寻处于未清洁状态的栅格;若搜寻结果为空,则确定该越界区块信息所对应的区块已清洁完毕。
若搜寻结果非空,则将搜寻到的处于未清洁状态的栅格确定为第二种子栅格,以第二种子栅格为起点,在该越界区块信息所对应的区块内部以逐层扩散的方式搜寻处于未清洁状态的栅格;若搜寻到的处于未清洁状态的栅格的总数量大于预设遗漏阈值,则确定该越界区块信息所对应的区块未清洁完毕。
具体地,每个栅格具有与该栅格相对应的状态标志位,并且,每当清洁机器人清洁完一个栅格之后,将清洁完的栅格所对应的状态标志位设置为已清洁标志位;则搜寻处于未清洁状态的栅格的步骤具体包括:根据各个栅格所对应的状态标志位搜寻处于未清洁状态的栅格。
下面通过图6详细解释上述方法,实线包围的大正方形对应为一个区块,通过虚线划分的小正方形对应为各个栅格,当然,对于处于区块边界上的栅格,由实线和虚线共同划分,该区块中具有越界位置,对应为栅格1,栅格1是清洁机器人在绕有效区块的边界的行走过程中所形成的路径曲线超出当前有效区块的边界的位置,可以确定栅格1是被清洁过的。具体地,以栅格1为第一种子栅格,以逐层扩散的方式搜寻未清洁的栅格,第一层扩散到该区块中与栅格1相邻的栅格2、栅格3以及栅格5,搜寻栅格2、栅格3以及栅格5中处于未清洁状态的栅格,若搜寻结果为空,再以栅格2、栅格3以及栅格5分别为种子栅格进行扩散,第二层扩散到区块中与栅格2、栅格3以及栅格5分别相邻的栅格,搜寻这些栅格中处于未清洁状态的栅格,依次类推,直至遍历该区块中所有的栅格,若遍历完该区块中所有的栅格未搜寻到处于未清洁状态的栅格,则表明该区块已经清洁完毕。
在另外一种场景中,对于一个区块来说,通常情况下,已清洁的栅格以及未清洁的栅格都是成片出现的,则以栅格1为第一种子栅格,以逐层扩散的方式搜寻区块中与栅格1相邻的栅格中处于未清洁状态的栅格,搜寻到栅格4、栅格5以及栅格6处于未清洁状态,则将栅格4、栅格5以及栅格6作为第二种子栅格,分别以他们为起点进行扩散,搜寻区块内与栅格4、栅格5以及栅格6相邻的处于未清洁状态的栅格,每当搜寻到处于未清洁状态的栅格,则以该栅格为起点进行扩散,直至遍历完该区块中所有的栅格。此外,还可以栅格1为第一种子栅格,以逐层扩散的方式搜寻区块中与栅格1相邻的栅格中处于未清洁状态的栅格,以搜寻到的第一个处于未清洁状态的栅格为第二种子栅格,以第二种子栅格为起点进行扩散,直至遍历完该区块中所有的栅格。若处于未清洁状态的栅格的总数量大于预设遗漏阈值,则确定该区块为清洁完毕。通过逐层扩散的方式能够提升搜寻效率,防止遗漏。通过逐层扩散的方式搜寻处于未清洁状态的栅格,每一层对应的栅格数量相比于上一层的栅格数量多,再分别以每一层的栅格为起始栅格进行扩散,能够快速遍历整个区块中所有的栅格,通过此种方式可以迅速判断一个区块是否已清洁完毕。
步骤S304,若判断该越界区块信息所对应的区块未清洁完毕,将该越界区块信息所对应的区块选择为下一个有效区块。
通过上述步骤,若判断出该越界区块信息所对应的区块未清洁完毕,将该越界区块信息所对应的区块选择为下一个有效区块,将该下一个有效区块作为新的当前有效区块,重复执行上述步骤。
步骤S305,将该越界区块信息从越界链表中删除。
若判断出该越界区块信息所对应的区块未清洁完毕,将该越界区块信息所对应的区块选择为下一个有效区块,并且删除该越界区块信息,防止再次从越界链表中提取出该越界区块信息,重复判断。
判断越界链表是否为空,若是,则确定清洁过程结束;若否,则从越界链表中获取一个越界区块信息。
步骤S306,若判断该越界区块信息所对应的区块已清洁完毕,将该越界区块信息从越界链表中删除,并从越界链表中获取该越界区块信息的下一个越界区块信息,根据该越界区块信息的下一个越界区块信息中包含的越界位置判断该越界区块信息的下一个越界区块信息所对应的区块是否已清洁完毕。
若判断出该越界区块信息对应区块已经清洁完毕,则无需再次清洁该区块,将该越界区块信息进行删除是为了防止后续过程中再次获取到该越界区块信息,重复进行判断,继续从越界链表中获取该越界区块信息的下一个越界区块信息,对应的,根据上述越界链表的性质,对于下一个越界区块信息的确定,可由以下两种方式实现:
方式一:对于先进后出的链表,该越界区块信息是最晚的一个越界区块信息,则该越界区块信息的下一个越界区块信息对应为当前越界链表中最晚的越界区块信息,如图2所示,越界位置5及区块信息5为该越界链表中最晚的越界区块信息,若判断出对应的区块已经清洁完毕,则将该越界区块信息进行删除,此时若该越界链表没有新的越界区块信息记录进来,则越界位置4及区块信息4对应为越界位置5及区块信息5的下一个越界区块信息。
方式二:对于先进先出的链表,该越界区块信息为最早的一个越界区块信息,则该越界区块信息的下一个越界区块信息对应为仅仅晚于该越界区块信息的越界区块信息。如图2所示,越界位置1及区块信息1为该越界链表中最晚的越界区块信息,若判断出对应的区块已经清洁完毕,则将该越界区块信息进行删除,此时,越界位置2及区块信息2对应为越界位置1及区块信息1的下一个越界区块信息。
从上述步骤可知,从越界链表中获取的越界区块信息,需要判断该越界区块信息对应的区块是否已清洁完毕,若该区块信息对应的区块已清洁完毕,需要将该越界区块信息从越界链表中删除,若该越界区块信息对应的区块未清洁完毕,也需要将该越界区块信息从越界链表中删除,因此在从越界链表中获取越界区块信息时,若越界链表为空,则表明清洁过程结束;若越界链表不为空,则从越界链表中获取一个越界区块信息以执行后续的步骤。
通过本实施例提供的用于清洁机器人的区块选择方法,通过预先将清洁机器人对应的环境地图划分为多个区块,将每个区块进一步划分为多个栅格,按照预设的赋值规则,分别为每个区块中的各个栅格赋值;在清洁机器人沿当前有效区块的边界行走的过程中,判断清洁机器人的行走路径是否超出当前有效区块的边界;将超出当前有效区块的边界的栅格所处的位置确定为越界位置,将包含越界位置的越界区块信息记录到预设的越界链表中;在当前有效区块清洁完毕后,从越界链表中获取一个越界区块信息,根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕;若判断该越界区块信息所对应的区块未清洁完毕,将该越界区块信息所对应的区块选择为下一个有效区块;将该越界区块信息从越界链表中删除。本实施例的方法通过将环境地图划分为多个区块,将各个区块依次确定为有效区块从而实现路径规划,相比于按照固定路线进行清洁的机器人,通过本实施例的方法规划的清洁路线更加合理;通过为各个区块中的栅格进行赋值,能够准确定位行走路径超出当前有效区块的边界的位置,以及确定区块的位置,为确定当前有效区块的下一个有效区块提供依据;通过将多个区块依次确定为有效区块进行清洁,使得各个区块对应的区域都能被清洁;通过为每个栅格设置状态标志位,以逐层扩散的方式搜寻区块中未清洁的栅格,以此来判断区块是否已清洁完毕,对未清洁完毕的区块再次进行清洁,从而防止区块的局部区域未清洁导致清洁效果差,同时能够避免区块被重复清洁,提高清洁效率。
图7示出了根据本发明又一个实施例的用于清洁机器人的区块选择装置的结构示意图,如图7所示,包括:
行走路径判断模块701,适于在清洁机器人沿当前有效区块的边界行走的过程中,判断清洁机器人的行走路径是否超出当前有效区块的边界;
越界位置确定模块702,适于当判断出清洁机器人的行走路径超出了当前有效区块的边界时,将超出当前有效区块的边界的位置确定为越界位置;
存储模块703,适于将包含越界位置的越界区块信息记录到预设的越界链表中;
提取模块704,适于在当前有效区块清洁完毕后,从越界链表中获取一个越界区块信息;
清洁状态判断模块705,适于根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕;
选择模块706,适于若判断出该越界区块信息所对应的区块没有清洁完毕,将该越界区块信息所对应的区块选择为下一个有效区块。
可选地,上述装置还包括:
删除模块,适于若根据该越界区块信息中包含的越界位置判断出该越界区块信息所对应的区块已清洁完毕,则将该越界区块信息从越界链表中删除;
提取模块704进一步适于,从越界链表中获取该越界区块信息的下一个越界区块信息;
清洁状态判断模块705进一步适于,根据该越界区块信息的下一个越界区块信息中包含的越界位置判断该越界区块信息的下一个越界区块信息所对应的区块是否已清洁完毕;
选择模块706进一步适于,若判断该出越界区块信息的下一个越界区块信息所对应的区块未清洁完毕,将该越界区块信息的下一个越界区块信息所对应的区块选择为下一个有效区块。
可选地,上述装置还包括:
有效区块确定模块,适于将下一个有效区块作为新的当前有效区块,以供上述装置对该新的当前有效区块进行处理。
可选地,上述装置还包括:
环境地图划分模块,适于预先将清洁机器人对应的环境地图划分为多个区块;
栅格划分模块,适于将每个区块进一步划分为多个栅格;
赋值模块,适于按照预设的赋值规则,分别为每个区块中的各个栅格赋值;
其中,相同区块中包含的各个栅格的数值相同,不同区块中包含的各个栅格的数值不同。
可选地,预设的赋值规则包括:
针对每个区块而言,与该区块相邻且位于该区块的第一方向的区块中的栅格数值与该区块中的栅格数值相差第一数值,与该区块相邻且位于该区块的第二方向的区块中的栅格数值与该区块中的栅格数值相差第二数值;
其中,第一方向与第二方向相互垂直。
可选地,行走路径判断模块701进一步适于:
当清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定清洁机器人的行走路径超出当前有效区块的边界。
可选地,越界位置确定模块702进一步适于:
将超出当前有效区块的边界的栅格所处的位置确定为越界位置;
根据超出当前有效区块的边界的栅格的数值与当前有效区块中的栅格的数值之间的差值,确定超出当前有效区块的边界的栅格所对应的区块的区块偏移地址;
存储模块703进一步适于,将超出当前有效区块的边界的栅格的栅格标识以及区块偏移地址作为一个越界区块信息记录到越界链表中。
可选地,区块偏移地址根据区块的各条边界线中数值最小的坐标点以及数值最大的坐标点确定。
可选地,清洁状态判断模块705进一步适于:
将越界位置所对应的栅格确定为第一种子栅格,以第一种子栅格为起点,在该越界区块信息所对应的区块内部以逐层扩散的方式搜寻处于未清洁状态的栅格;
若搜寻结果为空,则确定该越界区块信息所对应的区块已清洁完毕。
可选地,清洁状态判断模块705进一步适于:
若搜寻结果非空,则将搜寻到的处于未清洁状态的栅格确定为第二种子栅格,以第二种子栅格为起点,在该越界区块信息所对应的区块内部以逐层扩散的方式搜寻处于未清洁状态的栅格;
若搜寻到的处于未清洁状态的栅格的总数量大于预设遗漏阈值,则确定该越界区块信息所对应的区块未清洁完毕。
可选地,每个栅格具有与该栅格相对应的状态标志位,并且,每当清洁机器人清洁完一个栅格之后,将清洁完的栅格所对应的状态标志位设置为已清洁标志位;
清洁状态判断模块705进一步适于,根据各个栅格所对应的状态标志位搜寻处于未清洁状态的栅格。
可选地,越界链表中存储的各个越界区块信息按照时间顺序存储,则提取模块704进一步适于:
从越界链表中获取存储时间最晚的一个越界区块信息;其中,越界链表为先进后出的链表;或者,
从越界链表中获取存储时间最早的一个越界区块信息;其中,越界链表为先进先出的链表。
可选地,清洁状态判断模块705进一步适于:
若该越界区块信息所对应的区块未被障碍物分隔,则根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块中包含的全部区域是否已清洁完毕;
若该越界区块信息所对应的区块被障碍物分隔,则根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块中包含的被障碍物分隔的局部区域是否已清洁完毕。
可选地,提取模块704进一步包括:
判断单元,适于判断越界链表是否为空,若是,则确定清洁过程结束;若否,则从越界链表中获取一个越界区块信息。
上述各个模块的具体结构和工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
本申请又一实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用于清洁机器人的区块选择方法。
图8示出了根据本发明实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图8所示,该计算设备可以包括:处理器(processor)802、通信接口(Communications Interface)804、存储器(memory)806、以及通信总线808。
其中:
处理器802、通信接口804、以及存储器806通过通信总线808完成相互间的通信。
通信接口804,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器802,用于执行程序810,具体可以执行上述用于清洁机器人的清洁方法实施例中的相关步骤。
具体地,程序810可以包括程序代码,该程序代码包括计算机操作指令。
处理器802可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器806,用于存放程序810。存储器806可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序810具体可以用于使得处理器802执行以下操作:
在清洁机器人沿当前有效区块的边界行走的过程中,判断清洁机器人的行走路径是否超出当前有效区块的边界;
当判断结果为是时,将超出当前有效区块的边界的位置确定为越界位置,将包含越界位置的越界区块信息记录到预设的越界链表中;
在当前有效区块清洁完毕后,从越界链表中获取一个越界区块信息,根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕;
若否,将该越界区块信息所对应的区块选择为下一个有效区块。
程序810具体还可以用于使得处理器802执行以下操作:
若是,则将该越界区块信息从越界链表中删除,并从越界链表中获取该越界区块信息的下一个越界区块信息,根据该越界区块信息的下一个越界区块信息中包含的越界位置判断该越界区块信息的下一个越界区块信息所对应的区块是否已清洁完毕;
若否,将该越界区块信息的下一个越界区块信息所对应的区块选择为下一个有效区块。
程序810具体还可以用于使得处理器802执行以下操作:
将下一个有效区块作为新的当前有效区块,重复执行上述步骤。
程序810具体还可以用于使得处理器802执行以下操作:
预先将清洁机器人对应的环境地图划分为多个区块;
将每个区块进一步划分为多个栅格,按照预设的赋值规则,分别为每个区块中的各个栅格赋值;
其中,相同区块中包含的各个栅格的数值相同,不同区块中包含的各个栅格的数值不同。
程序810具体还可以用于使得处理器802执行以下操作:
预设的赋值规则包括:针对每个区块而言,与该区块相邻且位于该区块的第一方向的区块中的栅格数值与该区块中的栅格数值相差第一数值,与该区块相邻且位于该区块的第二方向的区块中的栅格数值与该区块中的栅格数值相差第二数值;
其中,第一方向与第二方向相互垂直。
程序810具体还可以用于使得处理器802执行以下操作:
当清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定清洁机器人的行走路径超出当前有效区块的边界。
程序810具体还可以用于使得处理器802执行以下操作:
将超出当前有效区块的边界的栅格所处的位置确定为越界位置;
根据超出当前有效区块的边界的栅格的数值与当前有效区块中的栅格的数值之间的差值,确定超出当前有效区块的边界的栅格所对应的区块的区块偏移地址;
将超出当前有效区块的边界的栅格的栅格标识以及区块偏移地址作为一个越界区块信息记录到越界链表中。
程序810具体还可以用于使得处理器802执行以下操作:
区块偏移地址根据区块的各条边界线中数值最小的坐标点以及数值最大的坐标点确定。
程序810具体还可以用于使得处理器802执行以下操作:
将越界位置所对应的栅格确定为第一种子栅格,以第一种子栅格为起点,在该越界区块信息所对应的区块内部以逐层扩散的方式搜寻处于未清洁状态的栅格;
若搜寻结果为空,则确定该越界区块信息所对应的区块已清洁完毕。
程序810具体还可以用于使得处理器802执行以下操作:
若搜寻结果非空,则将搜寻到的处于未清洁状态的栅格确定为第二种子栅格,以第二种子栅格为起点,在该越界区块信息所对应的区块内部以逐层扩散的方式搜寻处于未清洁状态的栅格;
若搜寻到的处于未清洁状态的栅格的总数量大于预设遗漏阈值,则确定该越界区块信息所对应的区块未清洁完毕。
程序810具体还可以用于使得处理器802执行以下操作:
每个栅格具有与该栅格相对应的状态标志位,并且,每当清洁机器人清洁完一个栅格之后,将清洁完的栅格所对应的状态标志位设置为已清洁标志位;
程序810具体还可以用于使得处理器802执行以下操作:
根据各个栅格所对应的状态标志位搜寻处于未清洁状态的栅格。
程序810具体还可以用于使得处理器802执行以下操作:
从越界链表中获取存储时间最晚的一个越界区块信息;其中,越界链表为先进后出的链表;或者,
从越界链表中获取存储时间最早的一个越界区块信息;其中,越界链表为先进先出的链表。
程序810具体还可以用于使得处理器802执行以下操作:
若该越界区块信息所对应的区块未被障碍物分隔,则根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块中包含的全部区域是否已清洁完毕;
若该越界区块信息所对应的区块被障碍物分隔,则根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块中包含的被障碍物分隔的局部区域是否已清洁完毕。
程序810具体还可以用于使得处理器802执行以下操作:
判断越界链表是否为空,若是,则确定清洁过程结束;若否,则从越界链表中获取一个越界区块信息。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的用于清洁机器人的区块选择计算设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种用于清洁机器人的区块选择方法,包括:
在所述清洁机器人沿当前有效区块的边界行走的过程中,判断所述清洁机器人的行走路径是否超出当前有效区块的边界;
当判断结果为是时,将超出当前有效区块的边界的位置确定为越界位置,将包含所述越界位置的越界区块信息记录到预设的越界链表中;
在当前有效区块清洁完毕后,从所述越界链表中获取一个越界区块信息,根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕;
若否,将该越界区块信息所对应的区块选择为下一个有效区块。
2.根据权利要求1所述的方法,其中,若是,则将该越界区块信息从所述越界链表中删除,并从所述越界链表中获取该越界区块信息的下一个越界区块信息,根据该越界区块信息的下一个越界区块信息中包含的越界位置判断该越界区块信息的下一个越界区块信息所对应的区块是否已清洁完毕;
若否,将该越界区块信息的下一个越界区块信息所对应的区块选择为下一个有效区块。
3.根据权利要求1或2所述的方法,其中,所述选择为下一个有效区块的步骤之后,进一步包括:
将所述下一个有效区块作为新的当前有效区块,重复执行上述步骤。
4.根据权利要求1-3任一所述的方法,其中,所述方法执行之前,进一步包括步骤:
预先将所述清洁机器人对应的环境地图划分为多个区块;
将每个区块进一步划分为多个栅格,按照预设的赋值规则,分别为每个区块中的各个栅格赋值;
其中,相同区块中包含的各个栅格的数值相同,不同区块中包含的各个栅格的数值不同。
5.根据权利要求4所述的方法,其中,所述预设的赋值规则包括:
针对每个区块而言,与该区块相邻且位于该区块的第一方向的区块中的栅格数值与该区块中的栅格数值相差第一数值,与该区块相邻且位于该区块的第二方向的区块中的栅格数值与该区块中的栅格数值相差第二数值;
其中,所述第一方向与第二方向相互垂直。
6.根据权利要求4或5所述的方法,其中,所述判断所述清洁机器人的行走路径是否超出当前有效区块的边界的步骤具体包括:当所述清洁机器人的行走路径中包含的各个栅格的数值发生变化时,确定所述清洁机器人的行走路径超出当前有效区块的边界。
7.一种用于清洁机器人的区块选择装置,包括:
行走路径判断模块,适于在所述清洁机器人沿当前有效区块的边界行走的过程中,判断所述清洁机器人的行走路径是否超出当前有效区块的边界;
越界位置确定模块,适于当判断出所述清洁机器人的行走路径超出了当前有效区块的边界时,将超出当前有效区块的边界的位置确定为越界位置;
存储模块,适于将包含所述越界位置的越界区块信息记录到预设的越界链表中;
提取模块,适于在当前有效区块清洁完毕后,从所述越界链表中获取一个越界区块信息;
清洁状态判断模块,适于根据该越界区块信息中包含的越界位置判断该越界区块信息所对应的区块是否已清洁完毕;
选择模块,适于若判断出该越界区块信息所对应的区块没有清洁完毕,将该越界区块信息所对应的区块选择为下一个有效区块。
8.一种机器人,包括权利要求7所述的用于清洁机器人的区块选择装置。
9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一所述的用于清洁机器人的区块选择方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-6中任一所述的用于清洁机器人的区块选择方法对应的操作。
CN201711146017.8A 2017-11-17 2017-11-17 用于清洁机器人的区块选择方法、装置及机器人 Active CN107913039B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711146017.8A CN107913039B (zh) 2017-11-17 2017-11-17 用于清洁机器人的区块选择方法、装置及机器人

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711146017.8A CN107913039B (zh) 2017-11-17 2017-11-17 用于清洁机器人的区块选择方法、装置及机器人

Publications (2)

Publication Number Publication Date
CN107913039A true CN107913039A (zh) 2018-04-17
CN107913039B CN107913039B (zh) 2020-11-13

Family

ID=61897339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711146017.8A Active CN107913039B (zh) 2017-11-17 2017-11-17 用于清洁机器人的区块选择方法、装置及机器人

Country Status (1)

Country Link
CN (1) CN107913039B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108803618A (zh) * 2018-07-12 2018-11-13 上海常仁信息科技有限公司 基于机器人身份证的机器人越界警戒系统
CN108873892A (zh) * 2018-05-31 2018-11-23 杭州晶智能科技有限公司 一种基于路径密度分析的自动吸尘机器人最优路径规划方法
CN109062211A (zh) * 2018-08-10 2018-12-21 远形时空科技(北京)有限公司 一种基于slam识别临近空间的方法、装置、系统及存储介质
CN109363585A (zh) * 2018-12-17 2019-02-22 深圳市银星智能科技股份有限公司 分区遍历方法、清扫方法及其扫地机器人
CN110477813A (zh) * 2019-08-12 2019-11-22 珠海市一微半导体有限公司 一种激光式清洁机器人及其控制方法
CN110702120A (zh) * 2019-11-06 2020-01-17 小狗电器互联网科技(北京)股份有限公司 地图边界处理方法、系统、机器人和存储介质
CN111077894A (zh) * 2020-01-02 2020-04-28 小狗电器互联网科技(北京)股份有限公司 一种确定待清扫区域的方法及装置
CN111176281A (zh) * 2019-12-31 2020-05-19 大连民族大学 基于象限法的多水面无人艇覆盖式协同搜索方法及系统
CN111248819A (zh) * 2020-03-13 2020-06-09 深圳市银星智能科技股份有限公司 一种清洁路径执行方法及清洁机器人
CN111374594A (zh) * 2018-12-27 2020-07-07 北京奇虎科技有限公司 超边界处理方法、装置、电子设备及计算机可读存储介质
CN111693045A (zh) * 2019-03-13 2020-09-22 北京奇虎科技有限公司 扫地机的清扫路线生成方法及装置
CN111722624A (zh) * 2019-03-18 2020-09-29 北京奇虎科技有限公司 清扫方法、装置、设备及计算机可读存储介质
CN112129295A (zh) * 2020-09-24 2020-12-25 深圳市云鼠科技开发有限公司 一种低内存占用的链式栅格地图构建方法
WO2023082381A1 (zh) * 2021-11-09 2023-05-19 美智纵横科技有限责任公司 清洁机器人的控制方法、装置、清洁机器人及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008198191A (ja) * 2007-02-10 2008-08-28 Samsung Electronics Co Ltd エッジ検出を用いたロボット掃除機及びその制御方法
CN101278820A (zh) * 2007-04-06 2008-10-08 三星电子株式会社 沿墙机器人吸尘器和控制该沿墙机器人吸尘器的方法
CN102968122A (zh) * 2012-12-12 2013-03-13 深圳市银星智能科技股份有限公司 一种用于移动平台在未知区域自建地图的覆盖方法
CN104825101A (zh) * 2014-02-12 2015-08-12 Lg电子株式会社 机器人清洁器及其控制方法
CN104858871A (zh) * 2015-05-15 2015-08-26 珠海市一微半导体有限公司 机器人系统及其自建地图和导航的方法
CN106175606A (zh) * 2016-08-16 2016-12-07 北京小米移动软件有限公司 机器人及其实现自主操控的方法、装置
CN107121142A (zh) * 2016-12-30 2017-09-01 深圳市杉川机器人有限公司 移动机器人的拓扑地图创建方法及导航方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008198191A (ja) * 2007-02-10 2008-08-28 Samsung Electronics Co Ltd エッジ検出を用いたロボット掃除機及びその制御方法
CN101278820A (zh) * 2007-04-06 2008-10-08 三星电子株式会社 沿墙机器人吸尘器和控制该沿墙机器人吸尘器的方法
CN102968122A (zh) * 2012-12-12 2013-03-13 深圳市银星智能科技股份有限公司 一种用于移动平台在未知区域自建地图的覆盖方法
CN104825101A (zh) * 2014-02-12 2015-08-12 Lg电子株式会社 机器人清洁器及其控制方法
CN104858871A (zh) * 2015-05-15 2015-08-26 珠海市一微半导体有限公司 机器人系统及其自建地图和导航的方法
CN106175606A (zh) * 2016-08-16 2016-12-07 北京小米移动软件有限公司 机器人及其实现自主操控的方法、装置
CN107121142A (zh) * 2016-12-30 2017-09-01 深圳市杉川机器人有限公司 移动机器人的拓扑地图创建方法及导航方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108873892A (zh) * 2018-05-31 2018-11-23 杭州晶智能科技有限公司 一种基于路径密度分析的自动吸尘机器人最优路径规划方法
CN108803618A (zh) * 2018-07-12 2018-11-13 上海常仁信息科技有限公司 基于机器人身份证的机器人越界警戒系统
CN109062211A (zh) * 2018-08-10 2018-12-21 远形时空科技(北京)有限公司 一种基于slam识别临近空间的方法、装置、系统及存储介质
CN109062211B (zh) * 2018-08-10 2021-12-10 远形时空科技(北京)有限公司 一种基于slam识别临近空间的方法、装置、系统及存储介质
CN109363585A (zh) * 2018-12-17 2019-02-22 深圳市银星智能科技股份有限公司 分区遍历方法、清扫方法及其扫地机器人
CN109363585B (zh) * 2018-12-17 2021-07-02 深圳市银星智能科技股份有限公司 分区遍历方法、清扫方法及其扫地机器人
CN111374594A (zh) * 2018-12-27 2020-07-07 北京奇虎科技有限公司 超边界处理方法、装置、电子设备及计算机可读存储介质
CN111693045A (zh) * 2019-03-13 2020-09-22 北京奇虎科技有限公司 扫地机的清扫路线生成方法及装置
CN111722624A (zh) * 2019-03-18 2020-09-29 北京奇虎科技有限公司 清扫方法、装置、设备及计算机可读存储介质
CN110477813A (zh) * 2019-08-12 2019-11-22 珠海市一微半导体有限公司 一种激光式清洁机器人及其控制方法
CN110477813B (zh) * 2019-08-12 2021-11-09 珠海市一微半导体有限公司 一种激光式清洁机器人及其控制方法
CN110702120A (zh) * 2019-11-06 2020-01-17 小狗电器互联网科技(北京)股份有限公司 地图边界处理方法、系统、机器人和存储介质
CN111176281A (zh) * 2019-12-31 2020-05-19 大连民族大学 基于象限法的多水面无人艇覆盖式协同搜索方法及系统
CN111077894A (zh) * 2020-01-02 2020-04-28 小狗电器互联网科技(北京)股份有限公司 一种确定待清扫区域的方法及装置
CN111077894B (zh) * 2020-01-02 2023-11-28 小狗电器互联网科技(北京)股份有限公司 一种确定待清扫区域的方法及装置
CN111248819A (zh) * 2020-03-13 2020-06-09 深圳市银星智能科技股份有限公司 一种清洁路径执行方法及清洁机器人
CN112129295A (zh) * 2020-09-24 2020-12-25 深圳市云鼠科技开发有限公司 一种低内存占用的链式栅格地图构建方法
WO2023082381A1 (zh) * 2021-11-09 2023-05-19 美智纵横科技有限责任公司 清洁机器人的控制方法、装置、清洁机器人及存储介质

Also Published As

Publication number Publication date
CN107913039B (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN107913039B (zh) 用于清洁机器人的区块选择方法、装置及机器人
CN107773164B (zh) 用于清洁机器人的清洁方法、装置及机器人
CN107837044B (zh) 清洁机器人的分区清洁方法、装置及机器人
CN109115226B (zh) 基于跳点搜索的多机器人冲突避免的路径规划方法
CN107752927B (zh) 清洁机器人的区块调整方法、装置、设备及存储介质
CN109540155A (zh) 一种扫地机器人的路径规划与导航方法、计算机装置以及计算机可读存储介质
CN108209745B (zh) 清洁设备的控制方法、装置、计算机设备和存储介质
CN108209743B (zh) 一种定点清洁方法、装置、计算机设备和存储介质
CN113537584B (zh) 巡检任务冲突处理方法、装置、电子设备及存储介质
CN113156956B (zh) 机器人的导航方法、芯片及机器人
CN107690605A (zh) 一种航线编辑方法、装置及控制设备
CN107735737A (zh) 一种航点编辑方法、装置、设备及飞行器
CN113219995A (zh) 一种路径规划方法及清洁机器人
CN113219992A (zh) 一种路径规划方法及清洁机器人
CN109341698B (zh) 一种移动机器人的路径选择方法及装置
CN113189988A (zh) 一种基于Harris算法与RRT算法复合的自主路径规划方法
CN113009916A (zh) 一种基于全局地图探索的路径规划方法、芯片及机器人
CN105698796A (zh) 一种多机器人调度系统的路径搜索方法
CN111736580B (zh) 扫地设备的避障脱困方法、装置、电子设备及存储介质
CN111722629A (zh) 路径规划方法和装置、存储介质及电子装置
CN111227713A (zh) 路线规划过程中的禁区处理方法、装置及电子设备
CN115047873A (zh) 一种拖地机路径规划方法和系统
CN113110473B (zh) 基于连通性的区域判定方法、芯片及机器人
US20220300002A1 (en) Methods and systems for path planning in a known environment
CN113806377A (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
GR01 Patent grant
GR01 Patent grant