CN113219995A - 一种路径规划方法及清洁机器人 - Google Patents
一种路径规划方法及清洁机器人 Download PDFInfo
- Publication number
- CN113219995A CN113219995A CN202110627603.4A CN202110627603A CN113219995A CN 113219995 A CN113219995 A CN 113219995A CN 202110627603 A CN202110627603 A CN 202110627603A CN 113219995 A CN113219995 A CN 113219995A
- Authority
- CN
- China
- Prior art keywords
- cleaning
- partition
- sub
- path
- cleaned
- 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.)
- Pending
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 629
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000005192 partition Methods 0.000 claims abstract description 303
- 230000015654 memory Effects 0.000 claims description 14
- 239000000126 substance Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 13
- 230000004888 barrier function Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000001788 irregular Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003749 cleanliness Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000003670 easy-to-clean Effects 0.000 description 1
- 238000005516 engineering process Methods 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
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0234—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
- G05D1/0236—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
-
- 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/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- 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/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Electromagnetism (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明涉及路径规划技术领域,公开一种路径规划方法及清洁机器人,路径规划方法包括:确定待清洁区域及待清洁区域对应的分区线,根据分区线,将待清洁区域分出至少两个清洁子分区,基于清洁子分区,规划清洁路径。由上可知,本实施例能够科学有效地对待清洁区域进行分区,再基于清洁子分区规划清洁路径,如此,能够提高规划清洁路径的效率以及规划出的清洁路径的科学性,进而降低清洁机器人后期重复清洁相同区域的概率以及遗漏清洁区域的概率,进而,能够提高清洁效率以及清洁覆盖率。
Description
技术领域
本发明涉及路径规划技术领域,具体涉及一种路径规划方法及清洁机器人。
背景技术
随着清洁机器人技术的发展,清洁机器人逐渐步入普通家庭,逐步将人们从繁重琐碎的家务劳动中进行解放,从而为人们提供极大便利。
现有清洁机器人利用地图构建算法建图,在地图中确定待清洁区域,以及基于待清洁区域规划出清洁路径,以辅助清洁机器人在待清洁区域对应的实际空间中执行清洁作业。
然而,实际空间环境一般较为复杂,待清洁区域的形状可能是不规则的,此容易导致规划清洁路径的效率较为低下,以及导致规划出的清洁路径不科学,进而导致清洁机器人在进行清洁作业时,容易重复清洁某些区域或者遗漏清洁某些区域,从而降低清洁效率。
发明内容
本发明实施例的一个目的旨在提供一种路径规划方法及清洁机器人,其能够提高清洁效率。
在第一方面,本发明实施例提供一种路径规划方法,包括:确定待清洁区域及所述待清洁区域对应的分区线;根据所述分区线,将所述待清洁区域分出至少两个清洁子分区;基于所述清洁子分区,规划清洁路径。
在第二方面,一种清洁机器人,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行任一项所述的路径规划方法。
本发明与现有技术相比至少具有以下有益效果:在本发明实施例提供的路径规划方法中,确定待清洁区域及待清洁区域对应的分区线,根据分区线,将待清洁区域分出至少两个清洁子分区,基于清洁子分区,规划清洁路径,由上可知,本实施例能够科学有效地对待清洁区域进行分区,再基于清洁子分区规划清洁路径,如此,能够提高规划清洁路径的效率以及规划出的清洁路径的科学性,进而降低清洁机器人后期重复清洁相同区域的概率以及遗漏清洁区域的概率,进而,能够提高清洁效率以及清洁覆盖率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明实施例提供的一种路径规划方法的流程示意图;
图2a为本发明一实施例提供的一种待清洁区域的示意图;
图2b为本发明一实施例提供的弓形路径的示意图;
图3为本发明一实施例提供的相邻两条清洁主路径的示意图;
图4为本发明一实施例提供的清洁转弯路径的示意图;
图5为本发明一实施例提供的清洁路径的示意图;
图6为本发明实施例提供的一种清洁机器人的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本发明所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
实施例一:
图1示出本发明实施例提供的一种路径规划方法的流程示意图,详述如下,路径规划方法S100包括:
S11、确定待清洁区域及待清洁区域对应的分区线。
作为示例而非限定的是,待清洁区域用于表示需要清洁机器人清洁的区域,其中,待清洁区域可以为规则形状或不规则形状,例如,待清洁区域的形状包括以下任一种:矩形、正方形、梯形、菱形,或者,待清洁区域的形状为上述形状对应的组合形状。
作为示例而非限定的是,待清洁区域可由用户或清洁机器人在地图中划分得到,其中,地图可由清洁机器人实时探测周边环境得到,亦可以由用户提前构建后,等清洁机器人需要使用地图规划清洁路径或导航时,用户的移动终端或云端再将地图发送给清洁机器人。在一些实施例中,用户可以在移动终端的地图应用程序中规划好待清洁区域,移动终端将已规划的待清洁区域发送给清洁机器人。
在一些实施例中,地图可具体为栅格地图。
在一些实施例中,在所述确定待清洁区域之前,包括:获取栅格地图;对应地,所述确定待清洁区域包括:根据所述栅格地图,确定待清洁区域。
作为示例而非限定的是,栅格地图是基于目标空间对应的环境图像生成的,目标空间包括清洁机器人当前所在的空间,例如,目标空间为整体室内空间,整体室内空间包括具有不同生活功能的各个房间,例如卧室、厨房或客厅等房间,相应的,栅格地图所指示的区域地图包括卧室地图、厨房地图或客厅地图,再例如,目标空间为相应房间的空间。
环境图像由清洁机器人的环境感测装置感测得到,其中,环境感测装置为用于感测环境的装置。
作为示例而非限定的是,环境感测装置包括摄像头或/和激光雷达,环境图像可以为图像格式文件或激光点云格式文件。
栅格地图由多个栅格组成,为了能够体现出环境图像中的物体的分布情况,可以给每个栅格设置对应的栅格值,栅格值能够体现对应的栅格的状态,栅格的状态用于表示环境图像中相应像素点的情况。单个栅格的状态可为以下一种:可通行状态、障碍物状态、未知状态。其中,可通行状态用于表示对应的像素点属于环境图像中无障碍物占据的区域的像素,障碍物状态用于表示对应的像素点属于环境图像中被障碍物占据的区域的像素,未知状态用于表示对应的像素点属于环境图像中未知区域的像素。为了便于描述,可将可通行状态对应的栅格的类型、障碍物状态对应的栅格的类型、未知状态对应的栅格的类型分别确定为可通行栅格、障碍物栅格、未知区域栅格。
作为示例而非限定的是,可通行栅格对应的栅格值、障碍物栅格对应的栅格值、未知状态栅格对应的栅格值分别为0、1、2。
在一些实施例中,障碍物栅格对应的栅格值还可用于体现障碍物的尺寸,例如,栅格地图包括障碍物栅格a和障碍物栅格b,障碍物栅格a对应的栅格值、障碍物栅格b对应的栅格值分别为3、4,其中,3表示对应的障碍物的高度小于预设高度,4表示对应的障碍物的高度等于或者大于预设高度,例如,障碍物为沙发,沙发对应的障碍物栅格的栅格值为3,由于清洁机器人的预设高度高于沙发底部到地面的高度,则清洁机器人根据障碍物栅格的栅格值,确定无需穿过障碍物。
由于能够栅格化地图,并依据每个障碍物栅格的栅格值赋予了障碍物高度的含义,使得清洁机器人后期避障和清洁时,能够简化避障判断逻辑,直接可以根据障碍物栅格的栅格值,确定是否需要穿过障碍物,从而提高避障效率。
在一些实施例中,可以根据可通行栅格对应的栅格值和障碍物栅格对应的栅格值,确定可通行栅格到障碍物栅格的障碍物距离,举例而言,首先,本实施例可以根据可通行栅格与障碍物栅格的距离,生成可通行栅格的栅格值,例如,假设每个障碍物栅格的栅格值都为120,可通行栅格R1与障碍物栅格R0的距离为10个栅格距离,可通行栅格R1的栅格值为110。可通行栅格R2与障碍物栅格R0的距离为15个栅格距离,可通行栅格R2的栅格值为105。可通行栅格R3与障碍物栅格R0的距离为20个栅格距离,可通行栅格R3的栅格值为100,以此类推。其次,本实施例通过比对障碍物栅格对应的栅格值120与可通行栅格R1对应的栅格值110,便可得知此可通行栅格R1与障碍物栅格之间的距离为10个栅格距离。
由于能够栅格化地图,并依据每个障碍物栅格的栅格值与可通行栅格的栅格值之间的关系,确定清洁机器人距离障碍物的距离,使得清洁机器人后期避障和清洁时,及时确定停止位置,避免与障碍物出现碰撞或者陷入障碍物内无法逃离障碍物,进而提高了清洁机器人的工作可靠性和维护好清洁机器人。
在一些实施例中,为了方便在栅格地图中定位某个物体在预设空间的位置,以及方便清洁机器人在预设空间进行导航、避障等操作,清洁机器人为栅格地图配置栅格坐标系,其中,栅格坐标系的原点可以被定义在栅格地图的任意合适位置,例如,原点可被定义在栅格地图的左下角,X轴的正方向为水平向右,Y轴的正方向为垂直向上,如此,通过栅格坐标系,每个物体或每个区域在栅格地图中的位置可被量化表示。
在一些实施例中,确定待清洁区域时,清洁机器人可以获取栅格地图,根据栅格地图,确定待清洁区域。如前所述,栅格地图中的栅格包括可通行栅格、障碍物栅格或未知区域栅格,并且,可通行栅格可以被标记已清洁或待清洁,因此,清洁机器人可以结合栅格地图中各个栅格的栅格状态,从栅格地图确定出待清洁区域。
分区线可用于辅助清洁机器人将待清洁区域分出至少两个清洁子分区,分区线可以将不规则形状的待清洁区域有效地划分出容易规划清洁路径的各个清洁子分区。
在一些实施例中,S11包括:延长所述待清洁区域的边界线,根据延长结果确定待清洁区域的分区线。
作为示例而非限定的是,请参阅图2a,待清洁区域20呈不规则形状,其中,待清洁区域20对应的边界线包括:边界线AB、边界线BC、边界线CD、边界线DE、边界线EF、边界线FG、边界线GL以及边界线LA。通过延长待清洁区域20的边界线,待清洁区域20对应如下分区线:分区线HG、分区线GI、分区线FJ及分区线FK。
S12、根据分区线,将待清洁区域分出至少两个清洁子分区。
在本实施例中,清洁子分区为由多条目标线段构成的封闭区域,其中,目标线段为清洁子分区的边,单条目标线段可为以下其中一种:第一线段、第二线段、分区线,其中,第一线段为:待清洁区域对应的边界线被分区线所划分出的子线段,第二线段为:待清洁区域对应的边界线(待清洁区域中未被分区线划分过的边界线)。
作为示例而非限定的是,请继续参阅图2a,待清洁区域20被分出5个清洁子分区,分别为清洁子分区21、清洁子分区22、清洁子分区23、清洁子分区24及清洁子分区25。以清洁子分区21为例,待清洁区域20对应的边界线AB被分区线HG划分并与分区线HG相交于H点,得到第一线段AH和第一线段HB。清洁子分区21为由第一线段AH、分区线HG、第二线段GL及第二线段LA构成的封闭区域。
S13、基于清洁子分区,规划清洁路径。
作为示例而非限定的是,清洁路径可用于引导清洁机器人在待清洁区域中行走和清洁。例如,清洁路径可为弓形路径或回字路径。在一些实施例中,清洁机器人按照弓形模式在待清洁区域内行走时,通常先按照第一方向直线行走,遇到障碍物时再转弯,转弯后清洁机器人按照第二方向直线行走。遇到障碍物时再转弯,转弯后清洁机器人按照第一方向直线行走。遇到障碍物时再转弯,转弯后清洁机器人按照第二方向直线行走,其中,第二方向与第一方向相反,以此类推,清洁机器人在待清洁区域行走的清洁路径可近似为弓形路径(弓字形路径)。
在一些实施例中,清洁路径包括清洁主路径和弓形转弯路径,清洁主路径对应于在待清洁区域内规划的主要路径,具体地,清洁主路径为弓形路径中较长的直线路径,弓形转弯路径为弓形路径中较短的直线路径,即一般地,清洁主路径比弓形转弯路径长。弓形转弯路径对应于由当前清洁主路径转弯至最近清洁主路径时所形成的路径,通常,由于清洁机器人按照清洁路径行走时,清洁机器人在清洁主路径上行走的距离相对在弓形转弯路径上行走的距离更远,因此,清洁主路径可作为清洁机器人行走时的主要路径,当前清洁主路径为清洁机器人当前所处的清洁主路径,最近清洁主路径为与当前清洁主路径距离最近且处于待清洁状态的清洁主路径。
举例而言,请参阅图2b,清洁机器人21在待清洁区域22内规划弓字形的清洁路径(弓形路径),其中,待清洁区域22呈矩形,包括拟合线段221、拟合线段222、拟合线段223及拟合线段224,其中,拟合线段221和拟合线段223的长度是最长的,因此,清洁机器人21可以根据拟合线段221或拟合线段223规划清洁路径,其中,每条拟合线段都由若干边界障碍物栅格拟合而成,因此拟合线段可作为边界线。
如图2b所示,清洁路径包括第一清洁主路径23、第二清洁主路径24及弓形转弯路径25,相对第一清洁主路径23而言,由于第二清洁主路径24处于待清洁状态,并且相对其它清洁主路径而言,第二清洁主路径24与第一清洁主路径23的距离是最小的,因此,第二清洁主路径24可以作为第一清洁主路径23的最近清洁主路径。当清洁机器人21需要由在第一清洁主路径23上行走转移到在第二清洁主路径24上行走时,清洁机器人21需要规划清洁转弯路径25。
在一些实施例中,清洁机器人21可以利用dijkstra算法求取弓形转弯路径。可以理解的是,清洁机器人在不同清洁主路径上,其行走方向可能不同,但每条清洁主路径在栅格地图的倾斜角度都是相同的。
作为示例而非限定的是,每条清洁主路径在栅格地图上的斜率都是相等的,并且相邻两条清洁主路径对应的清洁主方向互相相反。请参阅图2b,第一清洁主路径23与第二清洁主路径24在栅格地图上的斜率都是相等的,其中,第一清洁主路径23对应的清洁主方向与第二清洁主路径24对应的清洁主方向互相相反。
在一些实施例中,清洁机器人可以在每个清洁子分区中单独规划清洁路径,亦可以结合多个清洁子分区并将多个清洁子分区视为整体,以规划清洁路径。
通常,相对于形状比较复杂的区域而言,清洁机器人在划分后的清洁子分区中规划清洁路径的效率更好,也比较容易规划出“不容易重复清洁相同区域”的清洁路径,因此,本实施例能够科学有效地对待清洁区域进行分区,再基于清洁子分区规划清洁路径,如此,能够提高规划清洁路径的效率以及规划出的清洁路径的科学性,进而降低清洁机器人后期重复清洁相同区域的概率以及遗漏清洁区域的概率,进而,能够提高清洁效率以及清洁覆盖率。
虽然分区线可将待清洁区域分出至少两个清洁子分区,但是,相邻清洁子分区也可以组合成一个较大的清洁分区,若将较大的清洁分区作为整体进行规划清洁路径,则能提高清洁路径规划的效率,因此,在一些实施例中,基于清洁子分区规划清洁路径时,S13包括以下步骤:步骤131、将满足分区合并条件的至少两个清洁子分区合并成清洁分区;步骤132、基于清洁分区,规划清洁路径。
在一些实施例中,分区合并条件为:存在斜率相同的第一线段,且斜率相同的第一线段之间存在T-1个共同点(交点)。即若T个清洁子分区存在斜率相同的第一线段,且斜率相同的第一线段之间存在T-1个共同点(交点),则可将T个清洁子分区中的至少两个相邻的清洁子分区合并成清洁分区。请继续结合图2a,清洁子分区22、清洁子分区23以及清洁子分区24这三个清洁子分区中存在斜率相同的第一线段,斜率相同的第一线段包括:第一线段BI、第一线段IJ以及第一线段JC,且第一线段BI与第一线段IJ之间存在共同点I,第一线段IJ与第一线段JC之间存在共同点J,即斜率相同的第一线段之间存在3个共同点,故清洁子分区22、清洁子分区23以及清洁子分区24这三个清洁子分区满足分区合并条件,即可将清洁子分区22、清洁子分区23以及清洁子分区24这三个清洁子分区合并成一个清洁分区。
在一些实施例中,步骤131包括:根据第一指定数量将满足分区合并条件的至少两个清洁子分区合并成清洁分区,具体可为:将满足分区合并条件的第一指定数量个清洁子分区合并成清洁分区。例如,第一指定数量为3,对应地,步骤131包括:将满足分区合并条件的3个清洁子分区合并成一个清洁分区。
在一些实施例中,分区合并条件用于指示清洁机器人在待清洁区域中搜索可合并最多数量的清洁子分区,例如,假设可合并成一个清洁分区的清洁子分区最多有三个,对应地,步骤131具体为:将3个满足分区合并条件的3个清洁子分区合并成一个清洁分区。
作为示例而非限定的是,清洁机器人实施分区合并操作后,可以得到至少一个清洁分区,于是,清洁机器人可以在每个清洁分区中规划清洁路径。
在一些实施例中,将满足分区合并条件的至少两个清洁子分区合并成清洁分区时,步骤131包括以下步骤:步骤1311、根据清洁子分区对应的目标线段的位置特征,确定分区组合,分区组合包括满足分区合并条件的至少两个清洁子分区;步骤1312、根据分区组合,生成清洁分区。
作为示例而非限定的是,位置特征用于体现清洁子分区对应的目标线段在地图中的位置特点。作为示例而非限定的是,位置特征包括用于表示清洁子分区对应的目标线段的直线特征,对应地,分区合并条件为:相邻两个清洁子分区之间存在至少第二指定数量的目标线段串接组合,每个目标线段串接组合包括在相邻两个清洁子分区中直线特征相同的一对目标线段,所述一对目标线段中一条目标线段对应所述相邻两个清洁子分区中一个清洁子分区,另一条目标线段对应所述相邻两个清洁子分区中另一个清洁子分区。
作为示例而非限定的是,直线特征包括斜率,第二指定数量可以为2个或3个。
作为示例而非限定的是,直线特征可通过清洁子分区对应的目标线段对应的直线方程体现,若所述一对目标线段中一条目标线段对应的直线方程与另一条目标线段对应的直线方程相同,则表示这两条目标线段的直线特征相同。若所述一对目标线段中一条目标线段对应的直线方程与另一条目标线段对应的直线方程不同,则表示这两条目标线段的直线特征不同。由于每条目标线段可对应一个直线特征,因此,每条目标线段可对应一个直线方程。
在一些实施例中,清洁机器人根据清洁子分区对应的目标线段的位置特征,确定分区组合时,可以根据相邻两个清洁子分区之间是否存在至少第二指定数量的目标线段串接组合的结果,确定分区组合。
在一些实施例中,清洁机器人根据相邻两个清洁子分区之间是否存在至少第二指定数量的目标线段串接组合的结果,确定分区组合时,首先,清洁机器人在各个清洁子分区中依序选择一个清洁子分区作为当前清洁子分区,判断是否存在与当前清洁子分区相邻的清洁子分区;接着,若存在与当前清洁子分区相邻的清洁子分区时,判断当前清洁子分区与相邻的清洁子分区之间是否存在至少第二指定数量的目标线段串接组合,若存在至少第二指定数量的目标线段串接组合,则将当前清洁子分区与相邻的清洁子分区合并成新的当前清洁子分区,若不存在至少第二指定数量的目标线段串接组合,则将当前清洁子分区作为分区组合,返回执行所述在各个清洁子分区中依序选择一个清洁子分区作为当前清洁子分区的步骤。若不存在与当前清洁子分区相邻的清洁子分区时,将当前清洁子分区作为分区组合,返回执行所述在各个清洁子分区中依序选择一个清洁子分区作为当前清洁子分区的步骤。
在一些实施例中,为了便于理解确定分区组合过程,下文结合具体流程对此作出详细阐述,可以理解的是,考虑到确定分区组合的方法多种多样,下文的阐述并不对本发明保护范围造成任何限定。
为了便于描述,此处将单个清洁子分区表示为第i清洁子分区,i小于或者等于M,M为清洁子分区的总数量,对应地,所述根据清洁子分区对应的目标线段的位置特征,确定分区组合包括:
步骤A11、赋值i=1,j=2;
步骤A12、判断i是否大于M;
步骤A13、若i大于M,则停止组合操作;
步骤A14、若i小于或等于M,则判断第i清洁子分区是否与第j清洁子分区相邻;
步骤A15、若第i清洁子分区不与第j清洁子分区相邻,赋值j=j+1,执行步骤A16;
步骤A16、判断j是否大于M;
步骤A17、若j大于M,则赋值i=i+1,j=i+1,返回执行步骤A12;
步骤A18、若j小于或等于M,则返回执行步骤A12;
步骤A19、若第i清洁子分区与第j清洁子分区相邻,则判断第i清洁子分区与第j清洁子分区之间是否存在至少第二指定数量个目标线段串接组合;
步骤A20、若第i清洁子分区与第j清洁子分区之间存在至少第二指定数量个目标线段串接组合,则将第i清洁子分区与第j清洁子分区合并成新的第i清洁子分区,赋值j=j+1,返回步骤A12;
步骤A21、若第i清洁子分区与第j清洁子分区之间不存在至少第二指定数量个目标线段串接组合,则将第i清洁子分区作为分区组合,赋值i=i+1,j=i+1,返回步骤A12。
举例而言,请继续参阅图2a,可依序将清洁子分区21标记为第1清洁子分区,将清洁子分区22标记为第2清洁子分区,将清洁子分区23标记为第3清洁子分区,将清洁子分区24标记为第4清洁子分区,将清洁子分区25标记为第5清洁子分区。
在一些实施例中,考虑到清洁子分区可能是随机排列的,并非一定是按照上述方式进行,例如,在一种可能排序方式下,清洁子分区21为第2清洁子分区,清洁子分区22为第4清洁子分区,清洁子分区23为第5清洁子分区,清洁子分区24为第1清洁子分区,清洁子分区25为第3清洁子分区,为了满足后续步骤判断两个清洁子分区是否相邻的目的,本文引入变量j,变量j能够有利于依序判断两个清洁子分区是否相邻。例如,刚开始时,i=1,j=2,由于清洁子分区24与清洁子分区21不相邻,则跳转到步骤A15,赋值j=j+1=2+1=3,执行步骤A16。执行步骤A16时,由于j=3小于M=5,故进入步骤A18,返回执行步骤A12,由于i=1小于M=5,则判断第1清洁子分区是否与第3清洁子分区相邻,也就是要判断清洁子分区24与清洁子分区25,由于清洁子分区24与清洁子分区25相邻,故执行步骤A19。
假设第二指定数量为3,执行步骤A19时,由于清洁子分区24存在3目标线段对应的直线方程分别与清洁子分区25中3个目标线段对应的直线方程相同,因此,可将清洁子分区24与清洁子分区25合并成新的第1清洁子分区EJCD,返回步骤A12,以此类推。通过引入变量j,可遍历完全部清洁子分区的。
为了更加详细理解分区组合的确定过程,下文再列举例子,其中,下文约定:清洁子分区21为第1清洁子分区,清洁子分区22为第2清洁子分区,清洁子分区23为第3清洁子分区,清洁子分区24为第4清洁子分区,清洁子分区25为第5清洁子分区。
当i=1,j=2,则选中清洁子分区21作为第1清洁子分区。由于i=1小于M=5,判断第1清洁子分区是否与第2清洁子分区相邻,显然,清洁子分区21与清洁子分区22是相邻的,则执行步骤A19。执行步骤A19时,判断第1清洁子分区与第2清洁子分区之间存在至少3个目标线段串接组合,显然,目标线段AH的直线特征与目标线段HB的直线特征相同,则可组成一个目标线段串接组合。目标线段HG的直线特征与目标线段GH的直线特征相同,则可组成一个目标线段串接组合。目标线段GL的直线特征与目标线段IG的直线特征相同,则可组成一个目标线段串接组合,因此第1清洁子分区与第2清洁子分区之间存在3个目标线段串接组合,则执行步骤A20。
执行步骤A20时,将第1清洁子分区与第2清洁子分区合并成新的第1清洁子分区ABIL,赋值j=j+1=2+1=3,返回步骤A12。
执行步骤A12时,由于i=1小于M=5,执行步骤A14。
执行步骤A14时,判断第1清洁子分区ABIL是否与第3清洁子分区相邻。显然,清洁子分区ABIL与清洁子分区23是相邻的,则执行步骤A19。
执行步骤A19时,判断第1清洁子分区ABIL与第3清洁子分区之间存在至少3个目标线段串接组合,显然,第1清洁子分区ABIL与第3清洁子分区之间只存在2个目标线段串接组合,亦即,目标线段BI的直线特征与目标线段IJ的直线特征相同,则可组成一个目标线段串接组合。目标线段IL的直线特征与目标线段GI的直线特征相同,则可组成一个目标线段串接组合,执行步骤A21。
执行步骤A21时,将第1清洁子分区ABIL作为分区组合,赋值i=i+1=1+1=2,j=i+1=2+1=3,返回步骤A12。至此,清洁机器人已找到一个分区组合ABIL。
执行步骤A12时,由于i=2小于M=5,执行步骤A14。
执行步骤A14时,判断第2清洁子分区是否与第3清洁子分区相邻。显然,清洁子分区22与清洁子分区23是相邻的,则执行步骤A19。
执行步骤A19时,判断第2清洁子分区与第3清洁子分区之间存在至少3个目标线段串接组合,显然,目标线段BI的直线特征与目标线段IJ的直线特征相同,则可组成一个目标线段串接组合。目标线段IG的直线特征与目标线段GI的直线特征相同,则可组成一个目标线段串接组合。目标线段GH的直线特征与目标线段FG的直线特征相同,则可组成一个目标线段串接组合,因此第2清洁子分区与第3清洁子分区之间存在3个目标线段串接组合,则执行步骤A20。
执行步骤A20时,将第2清洁子分区与第3清洁子分区合并成新的第2清洁子分区BJFH,赋值j=j+1=3+1=4,返回步骤A12。
执行步骤A12时,由于i=2小于M=5,执行步骤A14。
执行步骤A14时,判断第2清洁子分区BJFH是否与第4清洁子分区相邻。显然,清洁子分区BJFH与清洁子分区24是相邻的,则执行步骤A19。
执行步骤A19时,判断第2清洁子分区BJFH与第4清洁子分区之间存在至少3个目标线段串接组合,显然,目标线段BJ的直线特征与目标线段JC的直线特征相同,则可组成一个目标线段串接组合。目标线段JF的直线特征与目标线段FJ的直线特征相同,则可组成一个目标线段串接组合。目标线段FG的直线特征与目标线段KF的直线特征相同,则可组成一个目标线段串接组合,因此第2清洁子分区BJFH与第4清洁子分区之间存在3个目标线段串接组合,则执行步骤A20。
执行步骤A20时,将第2清洁子分区BJFH与第4清洁子分区合并成新的第2清洁子分区BCKH,赋值j=j+1=4+1=5,返回步骤A12。
执行步骤A12时,由于i=2小于M=5,执行步骤A14。
执行步骤A14时,判断第2清洁子分区BCKH是否与第5清洁子分区相邻。显然,清洁子分区BCKH与清洁子分区25是相邻的,则执行步骤A19。
执行步骤A19时,判断第2清洁子分区BCKH与第5清洁子分区之间存在至少3个目标线段串接组合,显然,第2清洁子分区BCKH与第5清洁子分区之间只存在2个目标线段串接组合,执行步骤A21。
执行步骤A21时,将第2清洁子分区BCKH作为分区组合,赋值i=i+1=2+1=3,j=i+1=3+1=4,返回步骤A12。至此,清洁机器人已找到一个分区组合BCKH。
以此类推,在此不赘述,直至最后可以确定出如下分区组合:ABIL、BCKH、ICKG、JCDE。
清洁机器人得到若干分区组合后,可以根据合适规则,结合各个分区组合生成清洁分区。在一些实施例中,为了方便后期更加有效地规划清洁路径,可以尽可能地合并更多的清洁子分区作为一个清洁分区,因此,步骤1312包括以下步骤:
步骤13121、选择包含最多清洁子分区的分区组合作为目标分区组合;
步骤13122、将目标分区组合的清洁子分区合并成一个清洁分区,以及在剩余分区组合中删除与目标分区组合重复的清洁子分区,基于删除重复清洁子分区后的分区组合生成至少一个清洁分区。
在一些实施例中,请继续参阅图2a,分区组合ABIL包含的清洁子分区的数量为2,分区组合BCKH包含的清洁子分区的数量为3,分区组合ICKG包含的清洁子分区的数量为2,分区组合JCDE包含的清洁子分区的数量为2,则清洁机器人选择分区组合BCKH作为目标分区组合。
清洁机器人将分区组合BCKH中的清洁子分区22、清洁子分区23及清洁子分区24合并成清洁分区,并在剩余分区组合(分区组合ABIL、分区组合ICKG及分区组合JCDE)中删除与分区组合BCKH重复的清洁子分区,例如,分区组合ABIL与分区组合BCKH存在重复的清洁子分区22,则分区组合ABIL删除清洁子分区22,剩下清洁子分区21,则清洁子分区21作为清洁分区。同理可得,分区组合ICKG删除清洁子分区23与清洁子分区24,则分区组合ICKG的清洁子分区都被删完。分区组合JCDE删除清洁子分区24,剩下清洁子分区25,则清洁子分区25作为清洁分区,至此,最后可得到如下清洁分区:清洁分区AHGL、清洁分区HBCK以及清洁分区FKDE。
因此,采用此种作法,清洁机器人能够尽可能地将更多清洁子分区合并成一个清洁分区,以便后续可以全局性和整体性规划清洁路径,如此,可以减少转弯的次数以及降低重复相同清洁区域的概率,从而提升了清洁效率。
如前所述,清洁机器人可以得到多个清洁分区,为了有效地规划清洁路径,在一些实施例中,清洁机器人基于清洁分区规划清洁路径时,可以根据每个清洁分区所包含的清洁子分区的分区数量,规划每个清洁分区的清洁路径,其中,分区数量大于或者等于一,具体地,分区数量可用于表示对应的清洁分区所包含的清洁子分区的数量。采用此种作法,清洁机器人可以差异化地规划每个清洁分区的清洁路径,提高路径规划的灵活性。
在一些实施例中,清洁分区对应的优先权与清洁分区所包含的清洁子分区的分区数量呈正相关关系,亦即,分区数量越多,对应的清洁分区的优先权越高,分区数量越低,对应的清洁分区的优先权越低。清洁机器人依据分区数量规划每个清洁分区的清洁路径时,可以按照优先权由高及低的顺序,依序规划每个清洁分区的清洁路径,举例而言,请继续参阅图2a,由于清洁分区HBCK所包含的清洁子分区最多,故清洁分区HBCK的优先权最高,由于清洁分区AHGL对应的分区数量和清洁分区FKDE对应的分区数量相同,因此,清洁分区AHGL与清洁分区FKDE的优先权相同,对应地,清洁机器人可优先规划清洁分区HBCK的清洁路径,规划完后,再在清洁分区AHGL与清洁分区FKDE中任选一个清洁分区进行规划,直至规划完所有清洁分区的清洁路径。
如前所述,清洁机器人可以延长待清洁区域的边界线来确定分区线,在一些实施例中,S11包括:根据待清洁区域对应的边界延长线,确定待清洁区域对应的分区线,待清洁区域对应的边界延长线为:延长待清洁区域的边界线所得到的延长线。举例而言,请继续结合图2a,边界延长线HG为延长边界线FG所得到的延长线,边界延长线HG可作为分区线。同理可得,边界延长线GI为延长边界线LG所得到的延长线,边界延长线GI可作为分区线,以此类推。
在一些实施例中,根据待清洁区域对应的边界延长线确定待清洁区域对应的分区线时,可以逐点延长待清洁区域的每边界线,若当前延长点是否位于待清洁区域内,则继续逐点延长待清洁区域的边界线,若否,结束延长操作,以得到边界延长线,延长点为自边界线一端作延长操作对应的栅格。
在一些实施例中,在确定待清洁区域对应的分区线之前,路径规划方法S100还包括:若存在位于待清洁区域内的边界延长线,则确定待清洁区域对应的分区线。
在一些实施例中,当待清洁区域对应的全部边界线的边界延长线都在待清洁区域的外部,则说明待清洁区域是无需分区的,例如,待清洁区域的形状呈矩形,清洁机器人不可在待清洁区域中得到分区线,并且,如矩形比较规整形状的待清洁区域,其可以无需分区,可以直接规划清洁路径。
在一些实施例中,规划每个清洁分区的清洁路径时,S132包括以下步骤:
步骤1321、确定每个清洁分区的最长边;
步骤1322、根据最长边,规划每个清洁分区的清洁路径。
在本实施例中,最长边为位于清洁分区对应的最长线段,若按照最长边规划清洁分区的清洁路径,最长边与清洁主路径两者在栅格地图的倾斜角度都相等。
如前所述,清洁机器人得到最长边,便可以依据最长边搜索起始点,并结合起始点和清洁方向,规划清洁路径,因此,在一些实施例中,步骤1322包括以下步骤:
步骤13221、根据最长边对应的倾斜数据确定起始清洁主方向;
步骤13222、根据起始点与起始清洁主方向,规划每个清洁分区对应的清洁路径,起始点为清洁分区对应的清洁路径的规划起点。
作为示例而非限定的是,倾斜数据用于描述最长边在栅格地图中相对指定参考方向的倾斜情况,例如指定参考方向为X轴的正方向,倾斜数据可以描述最长边所在的直线相对X轴的正方向的倾斜情况,在一些实施例中,倾斜数据为最长边所在直线对应的直线方程在栅格坐标系的斜率或者最长边与指定轴之间的夹角,其中,指定轴可为X轴或者Y轴。例如,步骤13221可包括:根据最长边与指定轴之间的夹角确定起始清洁主方向。其中,起始清洁主方向与指定轴之间的夹角可等于最长边与指定轴之间的夹角。例如,最长边与X轴平行,即最长边对应的方向为水平方向,对应地,起始清洁主方向为水平方向,水平方向可为水平向左或者水平向右。
作为示例而非限定的是,起始清洁主方向为:清洁机器人为实现清洁分区的全覆盖清洁所需的最小转弯次数对应的首条清洁主路径对应的清洁主方向,请结合图2b,第一清洁主路径23为清洁机器人作弓形全覆盖清洁所需最小转弯次数对应的首条清洁主路径,第一清洁主路径23对应的清洁主方向为起始清洁主方向。
在一些实施例中,清洁机器人可以选择最长边对应的方向作为起始清洁主方向,亦可以选择与最长边对应的方向偏离预设角度的方向作为起始清洁主方向,其中,预设角度由用户自定义,例如预设角度为5度或10度等,在此不赘述。
在本实施例中,起始点为清洁分区对应的清洁路径的规划起点,其可对应清洁机器人开始执行清洁作业时的出发点。如前所述,根据起始清洁主方向与起始点,便可以有效地规划清洁分区对应的清洁路径。
在一些实施例中,如前所述,清洁机器人得到起始点的坐标后,可以结合起始清洁主方向来得到起始清洁主路径。由于相邻两条清洁主路径的路径间距是已知的,且每条清洁主路径在栅格地图的倾斜角度也是已知的,因此,清洁机器人可以以起始清洁主路径为基础,循环迭代出更多旁路清洁主路径,并且,当清洁机器人遍历完当前清洁主路径后,需要转弯至最近清洁主路径继续遍历,直至将待清洁区域清洁分区遍历完。在规划清洁转弯路径时,清洁机器人可以根据预设规则自行规划清洁转弯路径,待清洁区域清洁分区对应的清洁路径包括起始清洁主路径和旁路清洁主路径,步骤13222包括以下步骤:
步骤14、根据起始点与起始清洁主方向,确定起始清洁主路径;
步骤15、根据起始清洁主路径,确定旁路清洁主路径。
作为示例而非限定的是,起始清洁主路径为自起始点开始遍历栅格地图时的首条清洁主路径,旁路清洁主路径为与当前清洁主路径相距N倍路径间距的清洁主路径,N为正整数,例如,旁路清洁主路径包括与起始清洁主路径相距1倍路径间距的清洁主路径、相距2倍路径间距的清洁主路径、相距3倍路径间距的清洁主路径。
在一些实施例中,为了便于描述,可定义当前清洁主路径,当前清洁主路径为:清洁机器人在规划清洁路径的过程中,清洁机器人当前所在的清洁主路径(清洁机器人当前所在位置所对应的清洁主路径),例如,清洁机器人在规划清洁路径的过程中,清洁机器人当前所在位置处于起始清洁主路径上,对应地,当前清洁主路径可以包括起始清洁主路径。若清洁机器人在规划清洁路径的过程中,清洁机器人当前所在位置处于旁路清洁主路径上,对应地,当前清洁主路径可以包括旁路清洁主路径,可以理解的是,假设清洁机器人当前所在位置位于起始清洁主路径上,即当前清洁主路径为起始清洁主路径,当清洁机器人在起始清洁主路径上搜索出旁路清洁主路径后,可将旁路清洁主路径对应的清洁主方向设置为与当前清洁主路径的清洁主方向相反。
在一些实施例中,所述路径规划方法S100还包括:根据清洁机器人的尺寸数据计算路径间距,所述清洁机器人的尺寸数据用于表示清洁机器人的尺寸,路径间距为相邻两个清洁主路径之间的(间距)距离,例如,当清洁机器人的形状呈圆柱形时,清洁机器人的尺寸数据包括清洁机器人的直径,路径间距=清洁机器人的直径*(1—预设数值),所述预设数值为小于1大于0的数,即路径间距小于清洁机器人的直径,意味着清洁机器人对相邻两条清洁主路径进行清洁时,会存在重复清洁区域,如此,可以提高清洁的覆盖率和清洁度。
请参阅图3,清洁主路径51与清洁主路径52相邻,其两者存在重复的清洁区域53。
作为示例而非限定的是,如前所述,清洁转弯路径为用于连接两条相邻的清洁主路径的路径,也可理解为清洁机器人由当前清洁主路径转弯至最近清洁主路径时所形成的路径。例如,请参阅图4,清洁机器人501在起始清洁主路径502上,自起始点503开始遍历到起始清洁主路径502的终点504,清洁机器人501生成旁路清洁主路径505。
清洁机器人501根据起始清洁主路径502的终点504在栅格地图的坐标及旁路清洁主路径505所在的直线方程,求取起始清洁主路径502的终点504到旁路清洁主路径505所在直线的距离,选择旁路清洁主路径505上与终点504距离最短的点作为候选点506,若所述候选点在清洁分区中,则所述候选点506为转弯结束点,控制清洁机器人501自起始清洁主路径502的终点504开始转弯至转弯结束点。若所述候选点506不在清洁分区中,则清洁机器人501逐点遍历,将清洁分区中与起始清洁主路径502的终点504的距离最短的点确定为转弯结束点。
在一些实施例中,在按照各条清洁主路径和清洁转弯路径遍历完对应的区域栅格后,将所述对应的区域栅格的栅格值设置为已遍历栅格的栅格值。
可以理解的是,清洁机器人501转弯至转弯结束点506时,当前清洁主路径为旁路清洁主路径505。
在一些实施例中,清洁机器人在清洁过程中,若未检测到与当前清洁主路径距离一倍路径间距的待清洁的清洁主路径时,清洁机器人会按照整倍数递增的顺序,由小到大地遍历下一条旁路清洁主路径,例如,请结合图4,旁路清洁主路径505作为当前清洁主路径时,若存在与当前清洁主路径相距一倍路径间距的待清洁的旁路清洁主路径A,则将旁路清洁主路径A作为下一条待行走的旁路清洁主路径。若不存在与当前清洁主路径相距一倍路径间距的待清洁的旁路清洁主路径,清洁机器人确定是否存在与当前清洁主路径相距两倍路径间距的待清洁的旁路清洁主路径,若存在与当前清洁主路径相距两倍路径间距的待清洁的旁路清洁主路径B,则将旁路清洁主路径B作为下一条待行走的旁路清洁主路径。若不存在与当前清洁主路径相距两倍的路径间距的待清洁的旁路清洁主路径,清洁机器人确定是否存在与当前清洁主路径相距三倍路径间距的待清洁的旁路清洁主路径,以此类推。若清洁机器人在栅格地图中遍历完所有旁路清洁主路径仍找不到与当前清洁主路径距离整倍数的路径间距的清洁主路径,则可认为栅格地图对应的区域已被清洁完毕,即清洁分区已被清洁完毕,全覆盖清洁任务结束。
与上述实施例不同点在于,确定旁路清洁主路径或清洁转弯路径时,清洁机器人可以根据当前清洁主路径,确定清洁转弯路径。接着,清洁机器人根据清洁转弯路径,确定旁路清洁主路径。
作为示例而非限定的是,在每个清洁分区中所规划出的清洁路径可如图5所示。
在本发明实施例提供的路径规划方法中,确定待清洁区域及待清洁区域对应的分区线,根据分区线,将待清洁区域分出至少两个清洁子分区,基于清洁子分区,规划清洁路径,由上可知,本实施例能够科学有效地对待清洁区域进行分区,再基于清洁子分区规划清洁路径,如此,能够提高规划清洁路径的效率以及规划出的清洁路径的科学性,进而降低清洁机器人后期重复清洁相同区域的概率以及遗漏清洁区域的概率,进而,能够提高清洁效率以及清洁覆盖率。
需要说明的是,在上述各个实施方式中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施方式的描述可以理解,不同实施方式中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。
实施例二:
请参阅图6,图6为本发明实施例提供的一种清洁机器人的示意图,其中,本发明实施例的清洁机器人可以被构造成任何合适形状,以便实现特定业务功能操作,例如,在一些实施例中,清洁机器人包括且不限于扫地机器人、吸尘机器人、拖地机器人以及洗地机器人等等。如图6所示,清洁机器人600包括一个或多个处理器61以及存储器62。其中,图6中以一个处理器61为例。处理器61和存储器62可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器62作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的路径规划方法对应的程序指令/模块。处理器61通过运行存储在存储器62中的非易失性软件程序、指令以及模块,从而执行路径规划装置的各种功能应用以及数据处理,即实现上述方法实施例提供的路径规划方法以及上述装置实施例的各个模块或单元的功能。
存储器62可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器62可选包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至处理器61。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。所述程序指令/模块存储在所述存储器62中,当被所述一个或者多个处理器61执行时,执行上述任意方法实施例中的路径规划方法。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图6中的一个处理器61,可使得上述一个或多个处理器可执行上述任意方法实施例中的路径规划方法。
本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被机器人执行时,使所述机器人执行上述任意方法实施例中的路径规划方法。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种路径规划方法,其特征在于,包括:
确定待清洁区域及所述待清洁区域对应的分区线;
根据所述分区线,将所述待清洁区域分出至少两个清洁子分区;
基于所述清洁子分区,规划清洁路径。
2.根据权利要求1所述的方法,其特征在于,所述基于所述清洁子分区,规划清洁路径,包括:
将满足分区合并条件的至少两个清洁子分区合并成清洁分区;
基于所述清洁分区,规划清洁路径。
3.根据权利要求2所述的方法,其特征在于,所述将满足分区合并条件的至少两个清洁子分区合并成清洁分区包括:
根据所述清洁子分区对应的目标线段的位置特征,确定分区组合,所述分区组合包括满足分区合并条件的至少两个清洁子分区;
根据所述分区组合,生成清洁分区。
4.根据权利要求3所述的方法,其特征在于,所述根据所述分区组合,生成清洁分区包括:
选择包含最多清洁子分区的分区组合作为目标分区组合;
将所述目标分区组合的清洁子分区合并成一个清洁分区,以及在剩余分区组合中删除与所述目标分区组合重复的清洁子分区,基于删除重复清洁子分区后的分区组合生成至少一个清洁分区。
5.根据权利要求2所述的方法,其特征在于,所述基于所述清洁分区,规划清洁路径,包括:
根据每个所述清洁分区所包含的清洁子分区的分区数量,规划每个所述清洁分区的清洁路径。
6.根据权利要求5所述的方法,其特征在于,所述清洁分区对应的优先权与所述清洁分区所包含的清洁子分区的分区数量呈正相关关系,所述根据每个所述清洁分区所包含的清洁子分区的分区数量,规划每个所述清洁分区的清洁路径包括:
按照优先权由高及低的顺序,依序规划每个所述清洁分区的清洁路径。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述确定所述待清洁区域对应的分区线,包括:
根据所述待清洁区域对应的边界延长线,确定所述待清洁区域对应的分区线,所述待清洁区域对应的边界延长线为:延长所述待清洁区域的边界线所得到的延长线。
8.根据权利要求1至6任一项所述的方法,其特征在于,在所述确定待清洁区域之前,包括:
获取栅格地图;
对应地,所述确定待清洁区域包括:
根据所述栅格地图,确定待清洁区域。
9.根据权利要求1至6任一项所述的方法,其特征在于,在确定所述待清洁区域对应的分区线之前,还包括:
若存在位于所述待清洁区域内的边界延长线,则进入确定所述待清洁区域对应的分区线的步骤。
10.一种清洁机器人,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至9任一项所述的路径规划方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110627603.4A CN113219995A (zh) | 2021-06-04 | 2021-06-04 | 一种路径规划方法及清洁机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110627603.4A CN113219995A (zh) | 2021-06-04 | 2021-06-04 | 一种路径规划方法及清洁机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113219995A true CN113219995A (zh) | 2021-08-06 |
Family
ID=77082911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110627603.4A Pending CN113219995A (zh) | 2021-06-04 | 2021-06-04 | 一种路径规划方法及清洁机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113219995A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296463A (zh) * | 2021-12-31 | 2022-04-08 | 南京苏美达智能技术有限公司 | 一种作业区域间路径生成方法及园林*** |
CN114326743A (zh) * | 2021-12-31 | 2022-04-12 | 南京苏美达智能技术有限公司 | 一种工作地图生成方法、检测装置及园林*** |
CN115444311A (zh) * | 2022-06-27 | 2022-12-09 | 深圳银星智能集团股份有限公司 | 清洁机器人的清洁方法、存储介质及清洁机器人 |
CN116185045A (zh) * | 2023-04-26 | 2023-05-30 | 麦岩智能科技(北京)有限公司 | 一种路径规划方法、装置、电子设备及介质 |
WO2024041538A1 (en) * | 2022-08-23 | 2024-02-29 | Willand (Beijing) Technology Co., Ltd. | Method and apparatus for determining mower path, and electronic device |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070045474A (ko) * | 2005-10-27 | 2007-05-02 | 엘지전자 주식회사 | 이동 로봇의 주행 제어 장치 및 그 방법 |
JP2008234636A (ja) * | 2007-02-22 | 2008-10-02 | Fujitsu Ltd | 巡回ロボット及び巡回ロボットの自律走行方法 |
KR20120102955A (ko) * | 2011-03-09 | 2012-09-19 | 포항공과대학교 산학협력단 | 특징점 추출을 통한 청소 로봇의 청소 방법 |
CN106175606A (zh) * | 2016-08-16 | 2016-12-07 | 北京小米移动软件有限公司 | 机器人及其实现自主操控的方法、装置 |
CN108209750A (zh) * | 2017-12-29 | 2018-06-29 | 美的集团电子商务有限公司 | 扫地机的清扫方法、扫地机和计算机可读存储介质 |
CN108335302A (zh) * | 2018-01-26 | 2018-07-27 | 上海思岚科技有限公司 | 一种区域分割方法及装置 |
CN109464074A (zh) * | 2018-11-29 | 2019-03-15 | 深圳市银星智能科技股份有限公司 | 区域划分方法、分区清扫方法及其机器人 |
CN110477813A (zh) * | 2019-08-12 | 2019-11-22 | 珠海市一微半导体有限公司 | 一种激光式清洁机器人及其控制方法 |
CN111000498A (zh) * | 2019-12-23 | 2020-04-14 | 深圳市无限动力发展有限公司 | 扫地机器人及其清扫区域的设定方法、装置和存储介质 |
US20200125115A1 (en) * | 2018-10-23 | 2020-04-23 | Quanta Computer Inc. | Methods and systems of distributing task regions for a plurality of cleaning devices |
CN111374601A (zh) * | 2018-12-28 | 2020-07-07 | 珠海市一微半导体有限公司 | 扫地机器人的作业规划方法、装置及清洁*** |
CN111603099A (zh) * | 2020-05-06 | 2020-09-01 | 珠海市一微半导体有限公司 | 一种具备区域遍历优先级的清扫规划方法及芯片 |
CN111723986A (zh) * | 2020-06-18 | 2020-09-29 | 上海海事大学 | 一种基于深度优先遍历的区域划分与合并方法 |
CN112069283A (zh) * | 2020-09-14 | 2020-12-11 | 小狗电器互联网科技(北京)股份有限公司 | 扫地机清扫面积去重方法、装置、计算机设备和存储介质 |
CN112286185A (zh) * | 2020-10-14 | 2021-01-29 | 深圳市杉川机器人有限公司 | 扫地机器人及其三维建图方法、***及计算机可读存储介质 |
CN112388631A (zh) * | 2020-10-12 | 2021-02-23 | 深圳乐动机器人有限公司 | 机器人清洁规划区域的方法及装置 |
CN112842149A (zh) * | 2021-02-03 | 2021-05-28 | 追创科技(苏州)有限公司 | 一种智能清洁设备的控制方法及智能清洁设备 |
-
2021
- 2021-06-04 CN CN202110627603.4A patent/CN113219995A/zh active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070045474A (ko) * | 2005-10-27 | 2007-05-02 | 엘지전자 주식회사 | 이동 로봇의 주행 제어 장치 및 그 방법 |
JP2008234636A (ja) * | 2007-02-22 | 2008-10-02 | Fujitsu Ltd | 巡回ロボット及び巡回ロボットの自律走行方法 |
KR20120102955A (ko) * | 2011-03-09 | 2012-09-19 | 포항공과대학교 산학협력단 | 특징점 추출을 통한 청소 로봇의 청소 방법 |
CN106175606A (zh) * | 2016-08-16 | 2016-12-07 | 北京小米移动软件有限公司 | 机器人及其实现自主操控的方法、装置 |
CN108209750A (zh) * | 2017-12-29 | 2018-06-29 | 美的集团电子商务有限公司 | 扫地机的清扫方法、扫地机和计算机可读存储介质 |
CN108335302A (zh) * | 2018-01-26 | 2018-07-27 | 上海思岚科技有限公司 | 一种区域分割方法及装置 |
US20200125115A1 (en) * | 2018-10-23 | 2020-04-23 | Quanta Computer Inc. | Methods and systems of distributing task regions for a plurality of cleaning devices |
CN109464074A (zh) * | 2018-11-29 | 2019-03-15 | 深圳市银星智能科技股份有限公司 | 区域划分方法、分区清扫方法及其机器人 |
CN111374601A (zh) * | 2018-12-28 | 2020-07-07 | 珠海市一微半导体有限公司 | 扫地机器人的作业规划方法、装置及清洁*** |
CN110477813A (zh) * | 2019-08-12 | 2019-11-22 | 珠海市一微半导体有限公司 | 一种激光式清洁机器人及其控制方法 |
CN111000498A (zh) * | 2019-12-23 | 2020-04-14 | 深圳市无限动力发展有限公司 | 扫地机器人及其清扫区域的设定方法、装置和存储介质 |
CN111603099A (zh) * | 2020-05-06 | 2020-09-01 | 珠海市一微半导体有限公司 | 一种具备区域遍历优先级的清扫规划方法及芯片 |
CN111723986A (zh) * | 2020-06-18 | 2020-09-29 | 上海海事大学 | 一种基于深度优先遍历的区域划分与合并方法 |
CN112069283A (zh) * | 2020-09-14 | 2020-12-11 | 小狗电器互联网科技(北京)股份有限公司 | 扫地机清扫面积去重方法、装置、计算机设备和存储介质 |
CN112388631A (zh) * | 2020-10-12 | 2021-02-23 | 深圳乐动机器人有限公司 | 机器人清洁规划区域的方法及装置 |
CN112286185A (zh) * | 2020-10-14 | 2021-01-29 | 深圳市杉川机器人有限公司 | 扫地机器人及其三维建图方法、***及计算机可读存储介质 |
CN112842149A (zh) * | 2021-02-03 | 2021-05-28 | 追创科技(苏州)有限公司 | 一种智能清洁设备的控制方法及智能清洁设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296463A (zh) * | 2021-12-31 | 2022-04-08 | 南京苏美达智能技术有限公司 | 一种作业区域间路径生成方法及园林*** |
CN114326743A (zh) * | 2021-12-31 | 2022-04-12 | 南京苏美达智能技术有限公司 | 一种工作地图生成方法、检测装置及园林*** |
CN114326743B (zh) * | 2021-12-31 | 2024-05-24 | 南京苏美达智能技术有限公司 | 一种工作地图生成方法、检测装置及园林*** |
CN115444311A (zh) * | 2022-06-27 | 2022-12-09 | 深圳银星智能集团股份有限公司 | 清洁机器人的清洁方法、存储介质及清洁机器人 |
CN115444311B (zh) * | 2022-06-27 | 2024-02-02 | 深圳银星智能集团股份有限公司 | 清洁机器人的清洁方法、存储介质及清洁机器人 |
WO2024041538A1 (en) * | 2022-08-23 | 2024-02-29 | Willand (Beijing) Technology Co., Ltd. | Method and apparatus for determining mower path, and electronic device |
CN116185045A (zh) * | 2023-04-26 | 2023-05-30 | 麦岩智能科技(北京)有限公司 | 一种路径规划方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113219995A (zh) | 一种路径规划方法及清洁机器人 | |
CN107913039B (zh) | 用于清洁机器人的区块选择方法、装置及机器人 | |
CN109195751B (zh) | 用于基于区分类的机器人的可配置操作的***和方法 | |
CN108209741B (zh) | 清洁机器人控制方法和清洁机器人 | |
CN113219992B (zh) | 一种路径规划方法及清洁机器人 | |
CN113219993A (zh) | 一种路径规划方法及清洁机器人 | |
CN112799398B (zh) | 基于寻径代价的清洁路径规划方法、芯片及清洁机器人 | |
CN111459153B (zh) | 动态区域划分与区域通道识别方法及清洁机器人 | |
CN113156956B (zh) | 机器人的导航方法、芯片及机器人 | |
CN112826373B (zh) | 清洁机器人的清洁方法、装置、设备和存储介质 | |
CN112426095B (zh) | 清洁机器人的分区清洁方法及清洁机器人 | |
CN111714028A (zh) | 清扫设备的禁区脱困方法、装置、设备及可读存储介质 | |
CN115268471B (zh) | 扫地机器人的路径生成方法及装置、存储介质 | |
CN113791616A (zh) | 路径规划方法、装置、机器人和存储介质 | |
CN111966097A (zh) | 基于栅格地图区域化探索的建图方法、***以及终端 | |
CN113985866A (zh) | 扫地机器人路径规划方法、装置、电子设备、存储介质 | |
CN114690753A (zh) | 基于混合策略的路径规划方法、自主行进设备及机器人 | |
CN114343490B (zh) | 机器人清扫方法、机器人及存储介质 | |
CN113317733B (zh) | 一种路径规划方法及清洁机器人 | |
CN113180557B (zh) | 设备重定位作业恢复方法、装置、计算机设备和存储介质 | |
CN114397893B (zh) | 路径规划方法、机器人清扫方法及相关设备 | |
CN111722624A (zh) | 清扫方法、装置、设备及计算机可读存储介质 | |
CN115047873A (zh) | 一种拖地机路径规划方法和*** | |
CN114815826A (zh) | 清洁控制方法、装置、电子设备及存储介质 | |
CN115444311B (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 |