CN115444311B - 清洁机器人的清洁方法、存储介质及清洁机器人 - Google Patents
清洁机器人的清洁方法、存储介质及清洁机器人 Download PDFInfo
- Publication number
- CN115444311B CN115444311B CN202210735778.1A CN202210735778A CN115444311B CN 115444311 B CN115444311 B CN 115444311B CN 202210735778 A CN202210735778 A CN 202210735778A CN 115444311 B CN115444311 B CN 115444311B
- Authority
- CN
- China
- Prior art keywords
- cleaning
- cleaned
- target
- path
- boundary
- 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
- 238000004140 cleaning Methods 0.000 title claims abstract description 589
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000004422 calculation algorithm Methods 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 17
- 238000012216 screening Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 18
- 238000005192 partition Methods 0.000 description 11
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000001788 irregular Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- A47L11/4011—Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
-
- 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/4061—Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- 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/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- 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
-
- 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
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
-
- 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
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/04—Automatic control of the travelling movement; Automatic obstacle detection
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明涉及智能家居技术领域,公开了一种清洁机器人的清洁方法、存储介质及清洁机器人。清洁机器人的清洁方法包括:确定待清洁区域的清洁路径,根据清洁路径,搜索待清洁区域的目标边界点,根据目标边界点及清洁机器人的当前位置,确定清洁起始点,根据清洁起始点,控制清洁机器人按照清洁路径在待清洁区域内进行清洁。本实施例根据清洁路径搜索目标边界点以便确定清洁起始点,区别于现有技术采用最近距离方法确定清洁起始点的方式,即使出现动态障碍物,本实施例高鲁棒性和高效地控制清洁机器人导航到清洁起始点。同时,本实施例的清洁机器人无需穿过待清洁区域而到达清洁起始点,如此可避免重复的清洁路径,有利于提高清洁机器人的清洁效率。
Description
技术领域
本发明涉及智能家居技术领域,具体涉及一种清洁机器人的清洁方法、存储介质及清洁机器人。
背景技术
现有清洁机器人能够对全屋区域进行清洁分区,可将全屋区域划分成多个待清洁区域。当清洁机器人对当前待清洁区域结束清洁后,清洁机器人通常选择与清洁机器人的当前位置距离最近的待清洁区域,并在最近的待清洁区域上选择与当前位置距离最近的位置作为起始位置,以便生成导航路径。
清洁机器人根据导航路径,可从当前位置导航至起始位置,以对最近的待清洁区域进行清洁作业。但是,由于室内环境较复杂,动态障碍物的出现容易使得最后生成的导航路径变得比较不科学,有时需要花费较多时间方可达到起始位置,从而降低了选择起始位置的鲁棒性及清洁效率。
发明内容
本发明实施例的一个目的旨在提供一种清洁机器人的清洁方法、存储介质及清洁机器人,旨在改善清洁机器人的清洁效率。
在第一方面,本发明实施例提供一种清洁机器人的清洁方法,包括:
确定待清洁区域的清洁路径;
根据所述清洁路径,搜索所述待清洁区域的目标边界点;
根据所述目标边界点及清洁机器人的当前位置,确定清洁起始点;
根据所述清洁起始点,控制所述清洁机器人按照所述清洁路径在所述待清洁区域内进行清洁。
在第二方面,本发明实施例提供一种存储介质,存储有计算机可执行指令,所述计算机可执行指令用于使清洁机器人执行上述的清洁机器人的清洁方法。
在第三方面,本发明实施例提供一种清洁机器人,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的清洁机器人的清洁方法。
本发明与现有技术相比至少具有以下有益效果:在本发明实施例提供的清洁机器人的清洁方法中,确定待清洁区域的清洁路径,根据清洁路径,搜索待清洁区域的目标边界点,根据目标边界点及清洁机器人的当前位置,确定清洁起始点,根据清洁起始点,控制清洁机器人按照清洁路径在待清洁区域内进行清洁。本实施例能够根据清洁路径搜索目标边界点以便确定清洁起始点,区别于现有技术采用最近距离方法确定清洁起始点的方式,即使出现动态障碍物,本实施例也能够高鲁棒性和高效地控制清洁机器人导航到清洁起始点。同时,本实施例提供的清洁机器人无需穿过待清洁区域而到达清洁起始点,如此可避免存在重复的清洁路径,进而避免重复清洁相同区域,有利于提高清洁机器人的清洁效率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明实施例提供的一种清洁机器人的清洁方法的流程示意图;
图2a为本发明实施例提供的一种弓字形清洁路径的示意图;
图2b为本发明实施例提供的由当前位置直接或间接导航至清洁起始点的示意图;
图3为图1所示的S3的流程示意图;
图4为本发明实施例提供的改进型BFS算法一种待清洁区域进行搜索的示意图;
图5为传统BFS算法搜索图4所示的待清洁区域的示意图;
图6为本发明实施例提供在形状规则的待清洁区域进行确定处于同一行线的待清洁边界点的示意图;
图7为本发明实施例提供在形状不规则的待清洁区域进行确定处于同一行线的待清洁边界点的示意图;
图8为本发明实施例提供在形状规则的待清洁区域进行确定处于同一列线的待清洁边界点的示意图;
图9为本发明实施例提供在形状不规则的待清洁区域进行确定处于同一列线的待清洁边界点的示意图;
图10为图3所示的S32的流程示意图;
图11为图3所示的S33的流程示意图;
图12为本发明实施例提供的第一应用场景的示意图;
图13为本发明实施例提供的第二应用场景的示意图;
图14为本发明另一实施例提供的一种清洁机器人的清洁方法的流程示意图;
图15为本发明实施例提供的第三应用场景的示意图;
图16为本发明实施例提供的第四应用场景的示意图;
图17为图1所示的S4的流程示意图;
图18为本发明实施例采用A*算法生成导航路径的示意图;
图19为图18所示的第一列表与第二列表的数据流转示意图;
图20为本发明实施例提供的一种清洁地图的示意图,其中,清洁地图包括第一待清洁区域和第二待清洁区域;
图21为在图20所示的第一待清洁区域确定第一待清洁区域的清洁起始点的示意图;
图22为自图21所示的清洁起始点开始对第一待清洁区域进行逐行清洁的弓字形清洁路径的示意图;
图23为在图22所示的第二待清洁区域确定第二待清洁区域的清洁起始点及生成导航路径的示意图;
图24为本发明实施例提供的一种清洁机器人的清洁装置的结构示意图;
图25为本发明实施例提供的一种清洁机器人的电路结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本发明所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
本发明实施例提供一种清洁机器人的清洁方法,请参阅图1,清洁机器人的清洁方法包括如下步骤:
S1:确定待清洁区域的清洁路径。
本步骤中,待清洁区域为需清洁的区域。
在一些实施例中,待清洁区域可由清洁机器人根据清洁机器人的当前位置进行确定,其中,清洁机器人根据清洁机器人的当前位置进行确定包括:清洁机器人根据传感数据,生成清洁地图,根据预设分区算法,将清洁地图分成至少一个需清洁的区域,选择与当前位置最近且处于待清洁状态的区域作为待清洁区域。传感数据可由清洁机器人通过激光雷达和/或摄像头和/或各种运动传感器进行采集得到。
清洁地图可为栅格地图或其它图形化的地图。当清洁地图为栅格地图时,清洁地图由多个栅格组成。为了能够体现出环境中的物体的分布情况,可以给每个栅格设置对应的栅格值,栅格值能够体现对应的栅格的状态,栅格的状态用于表示环境中相应像素点的情况。单个栅格的状态可为以下一种:可通行状态、障碍物状态、未知状态。其中,可通行状态用于表示对应的像素点属于环境中无障碍物占据的区域的像素,障碍物状态用于表示对应的像素点属于环境中被障碍物占据的区域的像素,未知状态用于表示对应的像素点属于环境中未知区域的像素。为了便于描述,可将可通行状态对应的栅格的类型、障碍物状态对应的栅格的类型、未知状态对应的栅格的类型分别确定为可通行栅格、障碍物栅格、未知区域栅格。在一些实施例中,可通行栅格对应的栅格值、障碍物栅格对应的栅格值、未知状态栅格对应的栅格值分别为0、1、2。
在一些实施例中,障碍物栅格对应的栅格值还可用于体现障碍物的尺寸,例如,栅格地图包括障碍物栅格a和障碍物栅格b,障碍物栅格a对应的栅格值、障碍物栅格b对应的栅格值分别为3、4,其中,3表示对应的障碍物的高度小于预设高度,4表示对应的障碍物的高度等于或者大于预设高度,例如,障碍物为沙发,沙发对应的障碍物栅格的栅格值为3,由于预设高度大于沙发底部到地面的高度,则清洁机器人根据障碍物栅格的栅格值,确定无需穿过障碍物。
由于能够栅格化地图,并依据每个障碍物栅格的栅格值赋予了障碍物高度的含义,使得清洁机器人后期避障和清洁时,能够简化避障判断逻辑,直接可以根据障碍物栅格的栅格值,确定是否需要穿过障碍物,从而提高避障效率。
在一些实施例中,为了方便在栅格地图中定位某个物体在目标空间的位置,以及方便清洁机器人在目标空间内进行导航、避障等操作,清洁机器人为栅格地图配置栅格坐标系,其中,栅格坐标系的原点可以被定义在栅格地图的任意合适位置,例如,原点可被定义在栅格地图的左下角,X轴的正方向为水平向右,Y轴的正方向为垂直向上,如此,通过栅格坐标系,每个物体或每个区域在栅格地图中的位置都可以被量化表示。
在一些实施例中,待清洁区域可由用户自定义,其中,用户将清洁机器人APP下载安装于手机中,用户注册和登录清洁机器人APP,在清洁机器人APP单击清洁命令,手机将清洁命令发送给云端服务器,云端服务器将清洁命令转发给清洁机器人。
清洁机器人根据清洁命令,将清洁地图发送给云端服务器,云端服务器将清洁地图回传至手机,手机的清洁机器人APP呈现清洁地图。用户在手机呈现的清洁地图上,手动划出待清洁区域,手机记录待清洁区域在清洁地图的坐标数据,所述坐标数据可为区域位置信息。手机将待清洁区域在清洁地图的坐标数据打包成区域选择命令,并将区域选择命令发送给云端服务器。云端服务器将区域选择命令转发给清洁机器人,清洁机器人根据区域选择命令,解析出区域位置信息,并根据区域位置信息,在清洁地图中选择与区域位置信息对应的区域作为待清洁区域,因此,本实施例能够将用户自定义设置的区域作为待清洁区域。
本步骤中,清洁路径为清洁机器人在待清洁区域执行清洁作业时所行走的路径,其中,清洁路径的形状呈弓字形或Y字形等。
在一些实施例中,弓字形的清洁路径包括清洁主路径和清洁转弯路径,清洁主路径对应于在待清洁区域内规划的主要路径,清洁转弯路径对应于由当前清洁主路径转弯至最近清洁主路径时所形成的路径。通常,清洁主路径的长度大于清洁转弯路径的长度,因此,清洁主路径可作为清洁机器人行走时的主要路径。其中,当前清洁主路径为机器人当前位置所对应的清洁主路径,最近清洁主路径为与当前清洁主路径距离最近且处于待清洁状态的清洁主路径。
请参阅图2a,清洁机器人21在待清洁区域22内按照弓字形的清洁路径进行行走。清洁路径包括第一清洁主路径23、第二清洁主路径24及清洁转弯路径25,假设当前清洁主路径为第一清洁主路径23,相对第一清洁主路径23而言,由于第二清洁主路径24处于待清洁状态,并且相对其它清洁主路径而言,第二清洁主路径24与第一清洁主路径23之间的距离是最小的,因此,第二清洁主路径24可作为第一清洁主路径23的最近清洁主路径。当清洁机器人21需要由在第一清洁主路径23上行走转移到在第二清洁主路径24上行走时,清洁机器人21需要规划清洁转弯路径25。在一些实施例中,清洁机器人21可以利用dijkstra算法求取清洁转弯路径25。
在一些实施例中,当清洁主路径为逐行清洁待清洁区域的路径,清洁路径的路径类型为逐行清洁类型,清洁机器人根据清洁路径,可逐行对待清洁区域进行清洁,亦即清洁机器人清洁完待清洁区域中的一行区域后,再切换至另一行区域进行清洁。
在一些实施例中,当清洁主路径为逐列清洁待清洁区域的路径,清洁路径的路径类型为逐列清洁类型,清洁机器人根据清洁路径,可逐列对待清洁区域进行清洁,亦即清洁机器人清洁完待清洁区域中的一列区域后,再切换至另一列区域进行清洁。
在一些实施例中,当清洁路径的路径类型为逐行清洁类型,清洁路径中的清洁主路径可与行线平行,也可不与行线平行。当清洁主路径不与行线平行时,清洁机器人按照清洁路径,在待清洁区域内整体上也是进行逐行清洁的。其中,行线为清洁地图中由处于同一行的栅格所形成的线,通常,行线也与清洁地图的坐标轴的x轴平行。
同理,当清洁路径的路径类型为逐列清洁类型,清洁路径中的清洁主路径可与列线平行,也可不与列线平行。当清洁主路径不与列线平行时,清洁机器人按照清洁路径,在待清洁区域内整体上也是进行逐列清洁的。其中,列线为清洁地图中由处于同一列的栅格所形成的线,通常,列线也与清洁地图的坐标轴的y轴平行。
在一些实施例中,清洁机器人可选择与待清洁区域的任一边长平行的方向作为清洁主路径的清洁方向。
在一些实施例中,为了减少清洁机器人按照所述清洁路径在待清洁区域内进行清洁时的转弯次数,清洁机器人可选择与待清洁区域的最长边长平行的方向作为清洁主路径的清洁方向。
S2:根据清洁路径,搜索待清洁区域的目标边界点。
本步骤中,目标边界点为待清洁区域中处于待清洁状态的边界点,亦即清洁机器人可对目标边界点进行清洁。区别于现有技术采用最近距离的方式确定目标边界点,本实施例可根据清洁路径搜索待清洁区域的目标边界点,有利于提高选择目标边界点的鲁棒性。
S3:根据目标边界点及清洁机器人的当前位置,确定清洁起始点。
本步骤中,当前位置为清洁机器人当前在待清洁区域的位置,清洁起始点为清洁机器人在待清洁区域内开始按照清洁路径进行清洁时的位置。
S4:根据清洁起始点,控制清洁机器人按照清洁路径在待清洁区域内进行清洁。
本步骤中,清洁机器人自清洁起始点开始,按照清洁路径在待清洁区域内进行清洁,以便完成清洁作业。
本实施例能够根据清洁路径搜索目标边界点以便确定清洁起始点,区别于现有技术采用最近距离方法确定清洁起始点的方式,即使出现动态障碍物,本实施例也能够高鲁棒性和高效地控制清洁机器人导航到清洁起始点,以便清洁机器人执行清洁作业,从而能够提高清洁机器人的清洁效率。
另外,请参阅图2b,以弓字形进行逐列清洁为例(当进行弓字形逐行清洁时同样如此,不再赘述),若采用常规技术导航到清洁起始点,清洁机器人2b0需要选择待清洁区域2b1的最近位置2b2,并由当前位置先初步导航到最近位置2b2,再由最近位置2b2导航至清洁起始点2b3,如此,清洁机器人2b0需要穿过待清洁区域2b1方可到达清洁起始点2b3。
若采用本实施例提供的清洁机器人的清洁方法导航到清洁起始点,搜索待清洁区域的目标边界点,即弓字形逐列清洁路径的边界点,其中一端点为2b3(另一端边界点图中未示出),则清洁机器人2b0可由当前位置直接导航至待清洁区域2b1的清洁起始点2b3,其中,清洁起始点2b3是待清洁区域2b1的待清洁边界点。相比较常规技术,本实施例提供的清洁机器人的清洁方法能够根据清洁路径搜索目标边界点以便确定清洁起始点,清洁机器人可由当前位置直接导航至作为边界点的清洁起始点,无需穿过待清洁区域而到达清洁起始点,如此可避免存在重复的清洁路径,进而避免重复清洁相同区域,有利于提高清洁机器人的清洁效率。
在一些实施例中,搜索待清洁区域的目标边界点时,请参阅图3,S3包括:
S31:确定待清洁区域的待清洁边界数据及当前位置的连通域。
S32:根据清洁路径,确定待清洁边界数据中处于同一目标方向线的待清洁边界点,其中,所述目标方向线包括行线或列线。
S33:根据待清洁边界点及连通域,确定目标边界点。
在S31中,待清洁边界数据为待清洁区域中待清洁边界的数据,其中,待清洁边界为待清洁区域的边界,待清洁边界处于待清洁状态,清洁机器人在待清洁区域内进行清洁时,可同时将待清洁边界进行清洁。
在一些实施例中,待清洁区域为清洁分区除去沿墙区域的区域。清洁地图由清洁机器人根据传感器数据构建得到,因此,清洁地图的地图数据都可得到。清洁地图被划分成至少一个清洁分区,同理,每个清洁分区的分区数据也可得到。当清洁机器人沿着每个清洁分区的墙体进行清洁时,待清洁区域为清洁分区除去沿墙区域的区域。同理,待清洁区域的区域数据及待清洁边界数据也可得到。
在一些实施例中,待清洁区域可为清洁机器人自行规划的区域,举例而言,清洁机器人根据清洁策略,将清洁分区再次划分成多个区域,选择其中一个区域为待清洁区域,从而也可得到待清洁区域的待清洁边界数据。
在一些实施例中,待清洁区域可为清洁机器人的漏扫区域,举例而言,由于清洁分区的规划策略会使得全屋区域中某个区域暂时不被清洁,等已规划的清洁分区的区域都被清洁干净后,清洁机器人再调用清洁地图,查询尚未清洁的区域,从而得到漏扫区域,并将漏扫区域作为待清洁区域,从而也可得到待清洁区域的待清洁边界数据。
可以理解的是,待清洁区域的生成可根据多种清洁策略进行确定,并不局限上述实施例所阐述的几种方式。
还可以理解的是,待清洁区域的形状可为规则形状,也可为不规则形状。规则形状包括矩形、正方形、圆形、三角形等。不规则形状为由曲线形成的封闭形状,曲线包括波浪线等。
连通域为与当前位置连通且不被障碍物所占据的区域。
在一些实施例中,本实施例根据预设路径搜索算法,搜索当前位置的连通域,其中,预设路径搜索算法可为广度优先算法(Breadth First Search,BFS)或深度优先搜索算法(Depth First Search,DFS)等。
在一些实施例中,连通域包括多个连通位置,连通位置的指定连通范围内的区域都为可通行区域,其中,可通行区域为容许清洁机器人通行的区域。在一些实施例中,连通位置为处于待清洁状态的位置。
在一些实施例中,待清洁区域为栅格化区域,连通位置为目标栅格,指定连通范围为与目标栅格相邻的8个栅格所形成的距离范围。在一些实施例中,当清洁机器人的形状呈圆形时,指定连通范围为至少大于或等于清洁机器人的二分之一半径,比如清洁机器人的半径为R,指定连通距离范围d≥0.5R。通常,清洁机器人的半径大约为15厘米,一个栅格的宽度为5厘米,指定连通距离范围d可为7.5厘米。需要指出的是,清洁机器人的半径长度仅为示例性说明,并不限于此。对应地,栅格宽度及指定连通距离范围也不相同。
举例而言,请参阅图4,当搜索位置为栅格1,与栅格1相邻的8个栅格都为可通行栅格,亦即栅格1的8栅格邻域内的任一栅格都为可通行栅格,因此,栅格1为目标栅格,亦即栅格1为连通位置。当搜索位置为栅格2时,同理,与栅格2相邻的8个栅格都为可通行栅格,因此,栅格2为目标栅格,亦即栅格2为连通位置。当搜索位置为栅格11时,同理,与栅格11相邻的左侧栅格及左上角栅格并不是可通行栅格,因此,栅格11不作为目标栅格,亦即栅格11不是连通位置。以此类推,本实施例可在图4显示的栅格化区域,搜索到10个目标栅格,此10个目标栅格可组成连通域。
请参阅图5,图5为传统BFS算法搜索图4所示的待清洁区域的示意图。如图5所示,采用传统BFS算法搜索图4所示的待清洁区域时,可搜索到70个栅格满足连通条件,70个栅格可形成连通域。但是,如图4所示,连通域只有10个目标栅格形成,后续步骤需要比对的数据量可降低不少。因此,本实施例采用改进型BFS算法搜索连通域,可得到满足条件的较少连通位置,可减少后续步骤需要处理的数据量,尤其在越复杂的地图,改进型BFS算法所达到的算法效率会更为明显。
在一些实施例中,确定当前位置的连通域包括:
步骤A1:将清洁地图的全部栅格都设置为未遍历状态,赋值i=0,当i=0时,第0可通行栅格为清洁机器人的当前位置对应的栅格。
步骤A2:判断i≥K?其中,K为清洁地图的可通行栅格数量,若是,执行步骤A7,若否,执行步骤A3。
步骤A3:则获取与第i可通行栅格相邻的8个相邻栅格,其中,i为整数。
步骤A4:判断8个相邻栅格是否都为可通行栅格。
步骤A5:若是,则记录第i可通行栅格为目标栅格,并将第i可通行栅格设置为遍历状态。
步骤A6:若否,则将第i可通行栅格设置为遍历状态,赋值i=i+1,获取处于未遍历状态的第i可通行栅格,返回步骤A2。
步骤A7:将各个目标栅格打包成连通域。
在一些实施例中,待清洁区域为栅格化区域,连通位置为目标栅格,指定连通范围为与目标栅格相邻的24个栅格所形成的距离范围。在一些实施例中,当清洁机器人的形状呈圆形时,指定连通范围为至少大于或等于清洁机器人的半径,比如清洁机器人的半径为R,指定连通距离范围d≥R。如前所述,半径R为15厘米,指定连通距离范围d为15厘米。此种作法得到的连通域,后续执行步骤S33得到的目标边界点即为清洁起始点,无需再次根据导航路径判断可由当前位置是否可到达目标边界点,有利于提高清洁起始点的搜索效率。
在S32中,目标方向线为与待清洁区域中坐标系的X轴或Y轴平行的直线,当待清洁区域的行线平行于X轴时,则目标方向线为行线。当待清洁区域的列线平行于Y轴时,则目标方向线为列线。
在一些实施例中,当目标方向线为行线,则左右两个待清洁边界点的纵坐标是相等的。当目标方向线为列线,则上下两个待清洁边界点的横坐标是相等的。
在一些实施例中,由于建立坐标系的方式比较多样,在一些实施例中,当待清洁区域的行线平行于Y轴时,则目标方向线为行线。当待清洁区域的列线平行于X轴时,则目标方向线为列线。
在一些实施例中,清洁机器人根据清洁路径,确定待清洁边界数据中处于同一行线的待清洁边界点。请参阅图6,待清洁区域的形状为矩形,待清洁边界为矩形的四个边长,清洁路径为弓字形路径,清洁机器人61先确定与行线L1相交的左右两个待清洁边界点R1和R2。若执行步骤S33得不到目标边界点,则清洁机器人再确定与行线L2相交的左右两个待清洁边界点R3和R4,以此类推,可分别确定与行线L3、行线L4相交的左右两个待清洁边界点R5、R6、R7及R8。
在一些实施例中,待清洁区域的形状为不规则形状。请参阅图7,同在图6所阐述的作法相同,清洁机器人61先确定与行线L5相交的左右两个待清洁边界点R9和R10。若执行步骤S33得不到目标边界点,则清洁机器人再确定与行线L6相交的左右两个待清洁边界点R11和R12,以此类推得到与行线L7或行线L8相交的左右两个待清洁边界点R12、R13、R14、R15及R16。
在一些实施例中,清洁机器人根据清洁路径,确定待清洁边界数据中处于同一列线的待清洁边界点。请参阅图8,待清洁区域为矩形,待清洁边界为矩形的四个边长,清洁路径为弓字形路径,清洁机器人61先确定与列线C1相交的左右两个待清洁边界点W1和W2。若执行步骤S33得不到目标边界点,则清洁机器人再确定与列线C2相交的左右两个待清洁边界点W3和W4,以此类推,可分别确定与列线C3、列线C4相交的左右两个待清洁边界点W5、W6、W7及W8。
在一些实施例中,待清洁区域的形状为不规则形状。请参阅图9,同在图8所阐述的作法相同,清洁机器人61先确定与列线C5相交的上限两个待清洁边界点W9和W10。若执行步骤S33得不到目标边界点,则清洁机器人再确定与列线C6相交的左右两个待清洁边界点W11和W12,以此类推。
在一些实施例中,确定待清洁边界数据中处于同一目标方向线的待清洁边界点时,请参阅图10,S32包括:
S321:筛选待清洁边界数据中与清洁路径的路径类型匹配的数据作为目标数据。
S322:确定目标数据中处于同一目标方向线的待清洁边界点。
在S321中,若清洁路径的路径类型为逐行清洁类型,则将待清洁边界数据中每一行线的数据都作为目标数据。举例而言,待清洁边界数据的数据集合={(x1,y1),(x2,y2),(x3,y3),……,(x1,y6),(x2,y7),(x3,y8),……,(x10,y1),(x11,y2),(x12,y3)……},上述每个坐标数据都为待清洁边界中每个待清洁边界点的坐标。由于清洁路径的路径类型为逐行清洁类型,因此,本实施例从待清洁边界数据中选择相同纵坐标的待清洁边界点进行集合,打包成多组目标数据,例如,本实施例将{(x1,y1),(x10,y1)}打包成一组目标数据,将{(x2,y2),(x11,y2)}打包成一组目标数据,将{(x3,y3),(x12,y3)}打包成一组目标数据,以此类推,在此不赘述。
若清洁路径的路径类型为逐列清洁类型,则将待清洁边界数据中每一列线的数据都作为目标数据。举例而言,待清洁边界数据的数据集合={(x1,y1),(x2,y2),(x3,y3),……,(x1,y6),(x2,y7),
(x3,y8),……,(x10,y1),(x11,y2),(x12,y3)……},上述每个坐标数据都为待清洁边界中每个待清洁边界点的坐标。由于清洁路径的路径类型为逐列清洁类型,因此,本实施例从待清洁边界数据中选择相同横坐标的待清洁边界点进行集合,打包成多组目标数据,例如,本实施例将{(x1,y1),(x1,y6)}打包成一组目标数据,将{(x2,y2),(x2,y7)}打包成一组目标数据,将{(x3,y3),(x3,y8)}打包成一组目标数据,以此类推,在此不赘述。
在S322中,举例而言,请继续参阅图6和图7,清洁机器人61按照逐行清洁的弓字形清洁路径在待清洁区域内进行清洁,因此,清洁路径的路径类型为逐行清洁类型。清洁机器人可确定每个行线的待清洁边界点,如图6或图7所示,由行线L1确定待清洁边界点R1和R2。同理可得,由行线L2至行线L4,可分别确定待清洁边界点R3、R4、R5、R6、R7、R8、R9、R10、R11及R12。
请继续参阅图8和图9,清洁机器人61按照逐列清洁的弓字形清洁路径在待清洁区域内进行清洁,因此,清洁路径的路径类型为逐列清洁类型,清洁机器人可将每个列线的数据作为目标数据,如图8或图9所示,由列线C1确定待清洁边界点W1和W2。同理可得,由列线C2至列线C4,可分别确定待清洁边界点W3、W4、W5、W6、W7、W8、W9、W10、W11及W12。
在一些实施例中,目标方向线为目标数据中,距离当前位置最近且未遍历的方向线,如此,本实施例能够高效地搜索到与当前位置距离最近的目标边界点。
在一些实施例中,当清洁路径的路径类型为逐行清洁类型,请继续参阅图6或图7,由于当前位置到行线L1的距离相对当前位置到行线L2或L3或L4的距离是最小的,且行线L1对应的边界点尚未遍历过,相当于行线L1未遍历,因此,清洁机器人选择行线L1作为目标方向线。当行线L1的待清洁边界点不为目标边界点,则清洁机器人需要继续选择另外一条行线。由于行线L1对应的边界点已遍历过,且当前位置到行线L2的距离相对当前位置到行线L3或L4的距离是最小的,因此,清洁机器人选择行线L2作为目标方向线,以此类推。
在一些实施例中,当清洁路径的路径类型为逐列清洁类型,请继续参阅图8或图9,由于当前位置到列线C1的距离相对当前位置到列线C2或列线C3或列线C4的距离是最小的,且列线C1对应的边界点尚未遍历过,相当于列线C1未遍历,因此,清洁机器人选择列线C1作为目标方向线。当列线C1的待清洁边界点不为目标边界点,则清洁机器人需要继续选择另外一条行线。由于列线C1对应的边界点已遍历过,且当前位置到列线C2的距离相对当前位置到列线C3或列线C4的距离是最小的,因此,清洁机器人选择列线C2作为目标方向线,以此类推。
在一些实施例中,根据待清洁边界点及所述连通域确定目标边界点时,请参阅图11,S33包括:
S331:判断连通域是否包含待清洁边界点。
S332:若包含,则确定待清洁边界点为目标边界点。
S333:若不包含,则继续搜索目标边界点。
在S331中,连通域的数据集合={(x1,y1),(x2,y2),……,(xn,ym)}。清洁机器人将待清洁边界点的坐标数据与连通域中每个坐标数据进行比对,判断两者是否一致。
在S332中,若一致,则说明待清洁边界点与当前位置是连通的,可作为目标边界点。
在S333中,若不一致,则说明待清洁边界点与当前位置是不连通的,不可作为目标边界点,需要继续搜索目标边界点。在一些实施例,继续搜索目标边界点包括:选择另一条目标方向线,确定所述目标数据中处于另一条目标方向线的待清洁边界点。
在一些实施例中,当待清洁区域的行线平行于X轴时,目标方向线的纵坐标为y=y’+Δy,其中,y’为上一条目标方向线的纵坐标,Δy为预设值,其可由用户自定义。通常,Δy=1。
在一些实施例中,当待清洁区域的列线平行于Y轴时,目标方向线的横坐标为x=x’+Δx,其中,x’为上一条目标方向线的纵坐标,Δx为预设值,其可由用户自定义。通常,Δx=1。
在一些实施例中,若目标数据中处于同一目标方向线的两个待清洁边界点都包含在连通域中,则清洁机器人分别计算每个待清洁边界点与当前位置的距离,选择最小距离对应的待清洁边界点作为目标边界点。举例而言,请结合图6,若待清洁边界点R1和待清洁边界点R2都在连通域中,则清洁机器人确定当前位置,计算当前位置与待清洁边界点R1之间的第一距离,计算当前位置与待清洁边界点R2之间的第二距离,由于第一距离小于第二距离,因此第一距离为最小距离,第一距离对应的待清洁边界点R1可作为目标边界点。
为了详细理解本实施例提供的清洁机器人的清洁方法,本实施例提供第一应用场景和第二应用场景进行详细说明。
本实施例提供第一应用场景,其中,第一应用场景为常规方案选择清洁起始点的场景。请参阅图12,清洁机器人61沿着屋内的墙体62进行沿墙清洁,其中,沿墙清洁的路径如图12的虚线所示。沿墙清洁结束后,清洁机器人61根据沿墙采集的传感数据,将全屋划分成两个清洁分区,分别为第一清洁分区63和第二清洁分区64。
清洁机器人61按照弓字形清洁路径,对第一清洁分区63的待清洁区域进行清洁,其中,第一清洁分区63的待清洁区域为除去第一清洁分区33中的沿墙清洁区域后的剩余区域。
结束第一清洁分区63的待清洁区域后,清洁机器人61的当前位置在位置A,此时,动态障碍物尚未出现在位置C。
由于清洁机器人61需要由第一清洁分区63切换到第二清洁分区64进行清洁,常规方案选择第二清洁分区64中与清洁机器人61的当前位置距离最近的位置D,并规划出导航路径A->B->C->D。
当动态障碍物出现在位置C时,清洁机器人61运动到位置B时会与动态障碍物发生碰撞,此时清洁机器人重新规划清洁起始点,按照最近距离的搜索方法,常规方案会依然规划位置D为清洁起始点,从而规划出导航路径B->D,但是,导航路径B->D并非是最短导航路径,清洁机器人31需要花费较多时间方可导航至位置D。
本实施例提供第二应用场景,第二应用场景与第一应用场景的区别点在于,请参阅图13,清洁机器人61重新规划清洁起始点,执行本实施例提供的方法时,会搜索到位置E作为清洁起始点,从而规划出导航路径B->E。显然,相对于常规方案,本实施例能够较高鲁棒性地规划出更为可靠的清洁起始点,使得规划的导航路径比较科学。
在一些实施例中,若连通域包含待清洁边界点,在确定待清洁边界点为目标边界点前,请参阅图14,清洁机器人的清洁方法还包括:
S334:判断待清洁边界点的指定距离范围是否存在不可达区域。若存在,则执行步骤S335,若不存在,则执行步骤S332。
S335:若存在,则根据待清洁边界点,确定目标边界点。
在S334中,指定距离范围为至少容许清洁机器人在待清洁边界点原地旋转预设角度仍处于安全状态的范围。通常,预设角度为360度,安全状态包括旋转预设角度的过程中未与障碍物发生碰撞或者发生掉落情形。不可达区域为清洁机器人不可占据的区域,其中,不可达区域包括障碍物区域或者悬崖区域,悬崖区域为不存在栅格的区域。
在一些实施例中,待清洁区域为栅格化区域,指定距离范围为与中心栅格距离预设数量栅格的距离,其中,中心栅格为待清洁边界点对应的栅格。预设数量由用户根据清洁机器人在处于安全状态下旋转时所需的最小距离进行确定。当清洁机器人的形状呈圆形时,预设数量=(清洁机器人的半径/栅格的宽度)+1。
举例而言,如前所述,通常清洁机器人的半径为15厘米,当栅格的宽度为5厘米时,预设数量=15/5+1=4。当障碍物对应的障碍物区域出现在与待清洁边界点距离2个栅格处时,亦即待清洁边界点的指定距离范围存在不可达区域,因此,若清洁机器人以所述待清洁边界点作为清洁起始点,则此举会使得清洁机器人容易碰撞到障碍物而不够安全。
因此,本实施例能够选择更为安全的待清洁边界点作为目标边界点,以便后续更加安全地搜索到清洁起始点。
在S335中,由于待清洁边界点的指定距离范围存在不可达区域,则所述待清洁边界点是不符合安全要求的,清洁机器人再以所述待清洁边界点为搜索起点,确定所述搜索起点的二次连通域,根据所述清洁路径,确定所述待清洁边界数据中处于同一目标方向线的待清洁边界点,其中,所述目标方向线包括行线或列线,根据所述待清洁边界点及所述二次连通域,确定目标边界点。
举例而言,请结合图6,假设待清洁边界点R3落入连通域P1中,但是,待清洁边界点R3的指定距离范围存在不可达区域,因此,本实施例以待清洁边界点R3为搜索起点,根据改进的BFS算法,搜索待清洁边界点R3的二次连通域P2。接着,清洁机器人按照上文实施例所阐述的方式,确定待清洁边界数据中处于同一目标方向线的待清洁边界点,比如确定待清洁边界点R17。清洁机器人判断二次连通域P2是否包含待清洁边界点R17,若包含,清洁机器人再判断待清洁边界点R17的指定距离范围是否存在不可达区域,若存在,则本实施例以待清洁边界点R17为搜索起点,根据改进的BFS算法,搜索待清洁边界点R17的另一个二次连通域P2’,以此类推。若不存在,则本实施例以待清洁边界点R17为目标边界点。若不包含,则清洁机器人继续搜索目标边界点。
受限于激光雷达和/或摄像头的精度误差或地图变化等原因,待清洁区域的待清洁边界容易出现漂移或不够准确,当待清洁边界点的指定距离范围存在不可达区域,本实施例以当前搜索到的待清洁边界点为搜索起点,再在待清洁区域内进行局部宽度优先搜索(BFS),通过不断迭代循环地二次遍历和搜索,能够可靠地搜索到安全的目标边界点,从而提高清洁机器人的工作安全性。
为了详细理解本实施例提供的清洁机器人的清洁方法,本实施例提供第三应用场景和第四应用场景进行详细说明。
第三应用场景与第二应用场景的区别在于:请参阅图15,当激光雷达和/或摄像头采集的传感数据出现漂移而不够精确,致使选择位置F过于靠近障碍物65,后续假设以位置F作为目标边界点,再根据位置F与清洁机器人的当前位置确定清洁起始点时,假设后续位置F就是为清洁起始点,则清洁机器人在位置F启动时是容易碰撞到障碍物的,因此,位置F是不够安全的位置。
第四应用场景与第三应用场景的区别在于:请参阅图16,即使激光雷达和/或摄像头采集的传感数据出现漂移而不够精确,本实施例选择位置F作为目标边界点之前,需要判断位置F的指定距离范围内是否存在不可达区域。由于位置F的指定距离范围内存在障碍物区域,位置F为不安全位置,因此,本实施例再以位置F为搜索起点进行二次搜索,最后确定位置G为清洁起始点。由于位置G的指定距离范围内不存在不可达区域,因此,清洁机器人在位置G启动时是不会碰撞到障碍物的,因此,位置G是安全的位置。
在一些实施例中,确定清洁起始点时,请参阅图17,S4包括:
S41:根据目标边界点及当前位置,规划导航路径。
S42:判断清洁机器人按照导航路径是否可由当前位置到达目标边界点。
S43:若可达,则选择目标边界点作为清洁起始点。
S44:若不可达,则根据目标边界点,搜索清洁起始点。
在S41中,本实施例可采用路径规划算法,根据目标边界点及当前位置规划导航路径,其中,路径规划算法包括A*算法、迪杰斯特拉算法、BFS算法等。
在一些实施例中,S41包括:基于清洁机器人的当前位置,以清洁机器人的半径为搜索半径,根据A*算法规划导航路径。
在S42中,请结合图18与图19,清洁地图为栅格化地图,且清洁地图配置有坐标系,坐标系的原点为清洁地图的左上角,坐标系的正X轴为清洁地图的左上角朝向右上角的方向,坐标系的正Y轴为清洁地图的左上角朝向左下角的方向。S42包括:
步骤7.1:确定清洁机器人的当前位置作为A*算法的起点S,以及目标点Q在清洁地图的坐标。
步骤7.2:将起点S设置为父节点及将起点S的坐标加入第一列表。
步骤7.3:将清洁机器人的半径作为父节点的半径,确定起点S的半径可达的栅格。选择起点S的半径可达的栅格的坐标全部加入第一列表,并将起点S的坐标从第一列表中进行移除,同时将起点S的坐标加入第二列表中。
步骤7.4:根据A*算法的公式:F=G+H,计算父节点到其可达的栅格的最终得分F,其中,F表示最终得分,G表示由父节点移动到指定栅格的移动代价,横纵坐标的移动代价设置为1,对角线的移动代价设置为1.4,H表示从指定栅格到目标点Q的估算成本,H的计算使用的曼哈顿距离。
步骤7.5:选择最小的最终得分F对应的栅格的坐标加入第二列表。
步骤7.6:将最小的最终得分F对应的栅格作为父节点,选择父节点的半径可达的栅格的坐标全部加入第一列表,并判断父节点的半径可达的目标栅格的坐标是否已在第一列表中,若是,判断目标栅格的G值是否大于第三预设阈值,若是,则不做处理,若否,则选择目标栅格作为父节点,将父节点的坐标加入第二列表中,并选择父节点的半径可达的栅格的坐标全部加入第一列表,返回步骤7.4。
步骤7.7:遍历所有可通行栅格之后,最后可将第二列表中的各个父节点组成的路径为导航路径,所述导航路径在清洁机器人的当前位置到目标点的各个规划路径中是最短的。
步骤7.8:若根据A*算法未搜索到包含当前位置和目标点的路径,则生成路径规划失败信息,并重新搜索清洁地图,直至搜索到包含当前位置和目标点的路径。
如图18和图19所示,经过上述的步骤流程,可将从图12中提取出栅格S、栅格1至栅格10及栅格Q到第二列表中,亦即将第二列表中的各个父节点可组成导航路径。
本实施例通过A*算法规划出最短的导航路径,有利于清洁机器人能够快速地导航至清洁起始点。
在S43中,若清洁机器人按照导航路径可由当前位置到达目标边界点,则清洁机器人选择目标边界点作为清洁起始点。
在S44中,若清洁机器人按照导航路径可由当前位置不到达目标边界点,则清洁机器人根据目标边界点,搜索清洁起始点。举例而言,本实施例以目标边界点为搜索起点,根据改进的BFS算法,搜索目标边界点的三次连通域P3。接着,清洁机器人按照上文实施例所阐述的方式,确定待清洁边界数据中处于同一目标方向线的待清洁边界点,比如确定待清洁边界点R20。清洁机器人判断三次连通域P3是否包含待清洁边界点R20,若包含,清洁机器人再判断待清洁边界点R20的指定距离范围是否存在不可达区域,若存在,则本实施例以待清洁边界点R20为搜索起点,根据改进的BFS算法,搜索待清洁边界点R20的另一个三次连通域P3’,以此类推。若不存在,则本实施例以待清洁边界点R20为新的目标边界点。若不包含,则清洁机器人继续搜索清洁起始点。
为了详细阐述本实施例,本实施例结合图20、图21、图22及图23对此作出详细阐述,具体如下:
请参阅图20,图20所示的黑色部分表示障碍物区域和未知区域,白色部分表示待清洁区域,包括第一待清洁区域201和第二待清洁区域202。灰色部分表示已清洁区域。如图20所示,清洁机器人处于当前位置200。
请参阅图21,清洁机器人需要按照弓字形清洁路径,对第一待清洁区域201进行逐行清洁。清洁机器人执行上述各个实施例所阐述的方法时,可确定位置210为第一待清洁区域201的清洁起始点。
请参阅图22,清洁机器人以位置210作为第一待清洁区域201的清洁起始点后,按照弓字形清洁路径对第一待清洁区域201进行逐行清洁。结束第一待清洁区域201的清洁后,清洁机器人回到位置220。
请参阅图23,清洁机器人200执行上述各个实施例所阐述的方法时,可确定位置230为第二待清洁区域202的清洁起始点,并规划导航路径231,按照导航路径从位置220到位置230。清洁机器人到位置230,按照弓字形清洁路径对第二待清洁区域202进行逐列清洁。
本实施例能够根据清洁路径搜索目标边界点以便确定清洁起始点,区别于现有技术采用最近距离方法确定清洁起始点的方式,即使出现动态障碍物,本实施例也能够高鲁棒性和高效地控制清洁机器人导航到清洁起始点。同时,本实施例提供的清洁机器人无需穿过待清洁区域而到达清洁起始点,如此可避免存在重复的清洁路径,进而避免重复清洁相同区域,有利于提高清洁机器人的清洁效率。
需要说明的是,在上述各个实施方式中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施方式的描述可以理解,不同实施方式中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。
作为本发明实施例的另一方面,本发明实施例提供一种清洁机器人的清洁装置。其中,清洁机器人的清洁装置可以为软件模块,所述软件模块包括若干指令,其存储在存储器内,处理器可以访问该存储器,调用指令进行执行,以完成上述各个实施方式所阐述的清洁机器人的清洁方法。
在一些实施方式中,清洁机器人的清洁装置亦可以由硬件器件搭建成的,例如,清洁机器人的清洁装置可以由一个或两个以上的芯片搭建而成,各个芯片可以互相协调工作,以完成上述各个实施方式所阐述的清洁机器人的清洁方法。再例如,清洁机器人的清洁装置还可以由各类逻辑器件搭建而成,诸如由通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合而搭建成。
请参阅图24,清洁机器人的清洁装置240包括路径确定模块241、边界点搜索模块242、起始点确定模块243及清洁控制模块244。
路径确定模块241用于确定待清洁区域的清洁路径,边界点搜索模块242用于根据清洁路径,搜索待清洁区域的目标边界点,起始点确定模块243用于根据目标边界点及清洁机器人的当前位置,确定清洁起始点,清洁控制模块244用于根据清洁起始点,控制清洁机器人按照清洁路径在待清洁区域内进行清洁。
本实施例能够根据清洁路径搜索目标边界点以便确定清洁起始点,区别于现有技术采用最近距离方法确定清洁起始点的方式,即使出现动态障碍物,本实施例也能够高鲁棒性和高效地控制清洁机器人导航到清洁起始点。同时,本实施例提供的清洁机器人无需穿过待清洁区域而到达清洁起始点,如此可避免存在重复的清洁路径,进而避免重复清洁相同区域,有利于提高清洁机器人的清洁效率。
在一些实施例中,边界点搜索模块242具体用于:确定待清洁区域的待清洁边界数据及当前位置的连通域,根据清洁路径,确定待清洁边界数据中处于同一目标方向线的待清洁边界点,其中,目标方向线包括行线或列线,根据待清洁边界点及连通域,确定目标边界点。
在一些实施例中,边界点搜索模块242还具体用于:筛选待清洁边界数据中与清洁路径的路径类型匹配的数据作为目标数据,确定目标数据中处于同一目标方向线的待清洁边界点。
在一些实施例中,边界点搜索模块242还具体用于:若清洁路径的路径类型为逐行清洁类型,则将待清洁边界数据中每一行线的数据都作为目标数据,若清洁路径的路径类型为逐列清洁类型,则将待清洁边界数据中每一列线的数据都作为目标数据。
在一些实施例中,目标方向线为所述目标数据中,距离当前位置最近且未遍历的方向线。
在一些实施例中,边界点搜索模块242还具体用于:判断连通域是否包含待清洁边界点,若包含,则确定待清洁边界点为目标边界点,若不包含,则继续搜索目标边界点。
在一些实施例中,在确定待清洁边界点为目标边界点前,请继续参阅图24,清洁机器人的清洁装置240还包括可达判断模块245,可达判断模块245用于判断待清洁边界点的指定距离范围是否存在不可达区域,若存在,则根据待清洁边界点,确定目标边界点,若不存在,则确定待清洁边界点为目标边界点。
在一些实施例中,边界点搜索模块242还具体用于:根据预设路径搜索算法,搜索当前位置的连通域,其中,连通域包括多个连通位置,连通位置的指定连通范围内的区域都为可通行区域。
在一些实施例中,待清洁区域为栅格化区域,连通位置为目标栅格,指定连通范围为与所述目标栅格相邻的8个栅格所形成的距离范围。
在一些实施例中,起始点确定模块243具体用于:根据目标边界点及当前位置,规划导航路径,判断清洁机器人按照导航路径是否可由当前位置到达目标边界点,若可达,则选择目标边界点作为清洁起始点,若不可达,则根据目标边界点,搜索清洁起始点。
需要说明的是,上述清洁机器人的清洁装置可执行本发明实施方式所提供的清洁机器人的清洁方法,具备执行方法相应的功能模块和有益效果。未在清洁机器人的清洁装置实施方式中详尽描述的技术细节,可参见本发明实施方式所提供的清洁机器人的清洁方法。
请参阅图25,图25为本发明实施例提供的一种清洁机器人的电路结构示意图。如图25所示,清洁机器人250包括一个或多个处理器251以及存储器252。其中,图25中以一个处理器251为例。
处理器251和存储器252可以通过总线或者其他方式连接,图25中以通过总线连接为例。
存储器252作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的清洁机器人的清洁方法对应的程序指令/模块。处理器251通过运行存储在存储器252中的非易失性软件程序、指令以及模块,从而执行清洁机器人的清洁装置的各种功能应用以及数据处理,即实现上述方法实施例提供的清洁机器人的清洁方法以及上述装置实施例的各个模块或单元的功能。
存储器252可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器252可选包括相对于处理器251远程设置的存储器,这些远程存储器可以通过网络连接至处理器251。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器252中,当被所述一个或者多个处理器251执行时,执行上述任意方法实施例中的清洁机器人的清洁方法。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图25中的一个处理器251,可使得上述一个或多个处理器可执行上述任意方法实施例中的清洁机器人的清洁方法。
本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被清洁机器人执行时,使所述清洁机器人执行任一项所述的清洁机器人的清洁方法。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种清洁机器人的清洁方法,其特征在于,包括:
确定待清洁区域的清洁路径;
确定所述待清洁区域的待清洁边界数据及当前位置的连通域;
根据所述清洁路径,确定所述待清洁边界数据中处于同一目标方向线的待清洁边界点,其中,所述目标方向线包括行线或列线;
判断所述连通域是否包含所述待清洁边界点,若包含,则确定所述待清洁边界点为目标边界点,若不包含,则继续搜索目标边界点;
根据所述目标边界点及清洁机器人的当前位置,确定清洁起始点;
根据所述清洁起始点,控制所述清洁机器人按照所述清洁路径在所述待清洁区域内进行清洁。
2.根据权利要求1所述的清洁方法,其特征在于,所述根据所述清洁路径,确定所述待清洁边界数据中处于同一目标方向线的待清洁边界点包括:
筛选所述待清洁边界数据中与所述清洁路径的路径类型匹配的数据作为目标数据;
确定所述目标数据中处于同一目标方向线的待清洁边界点。
3.根据权利要求2所述的清洁方法,其特征在于,所述筛选所述待清洁边界数据中与所述清洁路径的路径类型匹配的数据作为目标数据包括:
若所述清洁路径的路径类型为逐行清洁类型,则将所述待清洁边界数据中每一行线的数据都作为目标数据;
若所述清洁路径的路径类型为逐列清洁类型,则将所述待清洁边界数据中每一列线的数据都作为目标数据。
4.根据权利要求1所述的清洁方法,其特征在于,所述目标方向线为所述目标数据中,距离所述当前位置最近且未遍历的方向线。
5.根据权利要求1所述的清洁方法,其特征在于,在确定所述待清洁边界点为目标边界点前,还包括:
判断所述待清洁边界点的指定距离范围是否存在不可达区域;
若存在,则根据所述待清洁边界点,确定目标边界点;
若不存在,则进入确定所述待清洁边界点为目标边界点的步骤。
6.根据权利要求1所述的清洁方法,其特征在于,所述确定所述当前位置的连通域包括:
根据预设路径搜索算法,搜索所述当前位置的连通域,其中,所述连通域包括多个连通位置,所述连通位置的指定连通范围内的区域都为可通行区域。
7.根据权利要求6所述的清洁方法,其特征在于,所述待清洁区域为栅格化区域,所述连通位置为目标栅格,所述指定连通范围为与所述目标栅格相邻的8个栅格所形成的距离范围。
8.根据权利要求1至7任一项所述的清洁方法,其特征在于,所述根据所述目标边界点及清洁机器人的当前位置,确定清洁起始点包括:
根据所述目标边界点及所述当前位置,规划导航路径;
判断所述清洁机器人按照所述导航路径是否可由所述当前位置到达所述目标边界点;
若可达,则选择所述目标边界点作为清洁起始点;
若不可达,则根据所述目标边界点,搜索清洁起始点。
9.一种存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于使清洁机器人执行如权利要求1至8任一项所述的清洁机器人的清洁方法。
10.一种清洁机器人,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8任一项所述的清洁机器人的清洁方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210735778.1A CN115444311B (zh) | 2022-06-27 | 2022-06-27 | 清洁机器人的清洁方法、存储介质及清洁机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210735778.1A CN115444311B (zh) | 2022-06-27 | 2022-06-27 | 清洁机器人的清洁方法、存储介质及清洁机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115444311A CN115444311A (zh) | 2022-12-09 |
CN115444311B true CN115444311B (zh) | 2024-02-02 |
Family
ID=84296648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210735778.1A Active CN115444311B (zh) | 2022-06-27 | 2022-06-27 | 清洁机器人的清洁方法、存储介质及清洁机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115444311B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111248819A (zh) * | 2020-03-13 | 2020-06-09 | 深圳市银星智能科技股份有限公司 | 一种清洁路径执行方法及清洁机器人 |
CN111722630A (zh) * | 2020-06-30 | 2020-09-29 | 深圳市银星智能科技股份有限公司 | 清洁机器人的分区边界扩展方法、装置、设备及存储介质 |
CN111728535A (zh) * | 2020-06-22 | 2020-10-02 | 上海高仙自动化科技发展有限公司 | 一种生成清扫路径的方法、装置、电子设备及存储介质 |
CN111930111A (zh) * | 2020-06-23 | 2020-11-13 | 深圳拓邦股份有限公司 | 一种清洁机器人路径规划方法及清洁机器人 |
CN112161629A (zh) * | 2020-09-30 | 2021-01-01 | 深圳市银星智能科技股份有限公司 | 清洁机器人的路径规划方法、装置、清洁机器人及介质 |
CN112515565A (zh) * | 2020-11-26 | 2021-03-19 | 深圳市银星智能科技股份有限公司 | 一种清洁分区相邻判断方法及清洁机器人 |
CN113219995A (zh) * | 2021-06-04 | 2021-08-06 | 深圳飞鼠动力科技有限公司 | 一种路径规划方法及清洁机器人 |
-
2022
- 2022-06-27 CN CN202210735778.1A patent/CN115444311B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111248819A (zh) * | 2020-03-13 | 2020-06-09 | 深圳市银星智能科技股份有限公司 | 一种清洁路径执行方法及清洁机器人 |
CN111728535A (zh) * | 2020-06-22 | 2020-10-02 | 上海高仙自动化科技发展有限公司 | 一种生成清扫路径的方法、装置、电子设备及存储介质 |
CN111930111A (zh) * | 2020-06-23 | 2020-11-13 | 深圳拓邦股份有限公司 | 一种清洁机器人路径规划方法及清洁机器人 |
CN111722630A (zh) * | 2020-06-30 | 2020-09-29 | 深圳市银星智能科技股份有限公司 | 清洁机器人的分区边界扩展方法、装置、设备及存储介质 |
CN112161629A (zh) * | 2020-09-30 | 2021-01-01 | 深圳市银星智能科技股份有限公司 | 清洁机器人的路径规划方法、装置、清洁机器人及介质 |
CN112515565A (zh) * | 2020-11-26 | 2021-03-19 | 深圳市银星智能科技股份有限公司 | 一种清洁分区相邻判断方法及清洁机器人 |
CN113219995A (zh) * | 2021-06-04 | 2021-08-06 | 深圳飞鼠动力科技有限公司 | 一种路径规划方法及清洁机器人 |
Also Published As
Publication number | Publication date |
---|---|
CN115444311A (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108209741B (zh) | 清洁机器人控制方法和清洁机器人 | |
US11878427B2 (en) | Robot navigation using 2D and 3D path planning | |
CN113219992B (zh) | 一种路径规划方法及清洁机器人 | |
US20240152160A1 (en) | Map exploration method for exploring unknown region by robot, chip, and robot | |
CN113219993B (zh) | 一种路径规划方法及清洁机器人 | |
US20230337880A1 (en) | Method for Establishing Map Traversal Blocks of Global Grid Map, Chip, and Mobile Robot | |
CN113219995A (zh) | 一种路径规划方法及清洁机器人 | |
CN114431771B (zh) | 一种扫地机器人清扫方法及相关装置 | |
CN114343490B (zh) | 机器人清扫方法、机器人及存储介质 | |
CN113317733B (zh) | 一种路径规划方法及清洁机器人 | |
CN114911228A (zh) | 机器人路径规划方法、装置及机器人 | |
CN111427341A (zh) | 一种基于概率地图的机器人最短预期时间目标搜索方法 | |
CN115444311B (zh) | 清洁机器人的清洁方法、存储介质及清洁机器人 | |
CN112237403B (zh) | 用于清扫设备的覆盖路径生成方法和清扫设备 | |
CN111240322B (zh) | 机器人移动限制框的工作起点确定方法及运动控制方法 | |
CN115248042A (zh) | 一种清扫路径的规划方法及装置 | |
Sharma et al. | A virtual bug planning technique for 2D robot path planning | |
CN114397893B (zh) | 路径规划方法、机器人清扫方法及相关设备 | |
CN114721388A (zh) | 自移动机器人的清扫路径规划方法 | |
CN112107257A (zh) | 智能清扫设备及其避障路径规划方法和装置 | |
CN112068547A (zh) | 一种基于amcl的机器人定位方法、装置和机器人 | |
CN117158828A (zh) | 清洁机器人的清洁方法及清洁机器人 | |
KR101297608B1 (ko) | 미지 환경에서의 로봇 커버리지 방법 및 시스템 | |
CN116878506A (zh) | 机器人导航方法、非易失性可读存储介质及机器人 | |
Ayman et al. | Efficient Room Plan Navigation for Robot Vacuum Cleaner Using vSLAM Algorithms |
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 |