CN113219993A - 一种路径规划方法及清洁机器人 - Google Patents
一种路径规划方法及清洁机器人 Download PDFInfo
- Publication number
- CN113219993A CN113219993A CN202110626977.4A CN202110626977A CN113219993A CN 113219993 A CN113219993 A CN 113219993A CN 202110626977 A CN202110626977 A CN 202110626977A CN 113219993 A CN113219993 A CN 113219993A
- Authority
- CN
- China
- Prior art keywords
- grid
- cleaning
- area
- path
- point
- 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
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/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 or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/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 or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/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 or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/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 or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Abstract
本发明涉及路径规划技术领域,公开一种路径规划方法及清洁机器人,路径规划方法包括:获取栅格地图,栅格地图包括区域栅格,所述区域栅格为用于表示待清洁区域的栅格;确定每个区域栅格对应的预估数量,预估数量为:以区域栅格为起始清洁点,预估清洁机器人为实现待清洁区域的弓形全覆盖清洁所需经过的弓形主路径的数量;根据每个区域栅格对应的预估数量,确定最优起始位姿;根据最优起始位姿,规划待清洁区域的清洁路径。本实施例提供的路径规划方法能够科学地预估可能经过弓形主路径的路径数量来确定最优起始位姿,根据最优起始位姿规划待清洁区域的清洁路径,能够有利于减少清洁机器人的转弯次数,节约清洁时间和提高清洁效率。
Description
技术领域
本发明涉及路径规划技术领域,具体涉及一种路径规划方法及清洁机器人。
背景技术
随着清洁机器人技术的发展,清洁机器人逐渐步入普通家庭,逐步将人们从繁重琐碎的家务劳动中进行解放,从而为人们提供极大便利。
现有清洁机器人利用即时定位与地图构建(simultaneous localization andmapping,SLAM)算法,实时建图和规划清洁路径。通常,清洁机器人选择弓形清洁模式进行弓字行走,一般地,起始位姿通常决定了弓形清洁路径的清洁方向及起点。然而,目前清洁机器人所设置的起始位姿不够科学,导致清洁机器人需要多次转弯才能将待清洁区域全部清洁完毕。相对直行而言,清洁机器人需要花费更多时间在转弯上,从而降低清洁效率。
发明内容
本发明实施例的一个目的旨在提供一种路径规划方法及清洁机器人,其能够提高清洁效率。
在第一方面,本发明实施例提供一种路径规划方法,包括:
获取栅格地图,所述栅格地图包括区域栅格,所述区域栅格为用于表示待清洁区域的栅格;
确定每个所述区域栅格对应的预估数量,所述预估数量为:以所述区域栅格为起始清洁点,预估清洁机器人为实现所述待清洁区域的弓形全覆盖清洁所需经过的弓形主路径的数量;
根据每个所述区域栅格对应的预估数量,确定最优起始位姿;
根据所述最优起始位姿,规划所述待清洁区域的清洁路径。
在第二方面,一种清洁机器人,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行任一项所述的路径规划方法。
本发明与现有技术相比至少具有以下有益效果:在本发明实施例提供的路径规划方法中,获取栅格地图,栅格地图包括区域栅格,区域栅格为用于表示待清洁区域的栅格,确定每个区域栅格对应的预估数量,预估数量为:以区域栅格为起始清洁点,预估清洁机器人为实现待清洁区域的弓形全覆盖清扫所需经过的弓形主路径的数量,根据每个区域栅格对应的预估数量,确定最优起始位姿,根据最优起始位姿,规划待清洁区域的清洁路径,可见,本实施例提供的路径规划方法能够科学地预估可能经过弓形主路径的路径数量,以确定最优起始位姿,根据最优起始位姿规划待清洁区域的清洁路径,能够有利于减少清洁机器人的转弯次数,节约清洁时间和提高清洁效率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明实施例提供的一种路径规划方法的流程示意图;
图2a为本发明一实施例提供的弓形路径的示意图;
图2b为本发明一实施例提供的起始清洁点A的示意图;
图2c为本发明一实施例提供的起始清洁点B的示意图;
图2d为本发明一实施例提供的区域栅格Cn的示意图;
图3为本发明一实施例提供的区域栅格C5和区域栅格C6的示意图;
图4a为本发明一实施例提供的S121、S122以及S123对应的示意图;
图4b为本发明一实施例提供的第一距离和第二距离的示意图;
图5为本发明一实施例提供的S13对应的流程示意图;
图6a为本发明一实施例提供的S14对应的流程示意图;
图6b为本发明一实施例提供的S142对应的流程示意图;
图6c为本发明一实施例提供的相邻的两条弓形主路径的示意图;
图6d为本发明一实施例提供的清洁转弯路径的示意图;
图6e为本发明一实施例提供的S1421对应的流程示意图;
图6f为本发明一实施例提供的S1422对应的流程示意图;
图7为本发明实施例提供的一种清洁机器人的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本发明所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
实施例一:
图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个栅格距离。
在一些实施例中,根据机器人当前位置对应的可通行栅格的栅格值与障碍物栅格的栅格值,可确定清洁机器人与障碍物之间的距离,进而可根据清洁机器人与障碍物之间的距离实现避障,其中,机器人当前位置为清洁机器人的当前的位置。
S12、确定每个区域栅格对应的预估数量,预估数量为:以区域栅格为起始清洁点,预估清洁机器人为实现待清洁区域的弓形全覆盖清洁所需经过的弓形主路径的数量。
作为示例而非限定的是,清洁机器人按照弓形模式在待清洁区域内行走时,通常先按照第一方向直线行走,遇到障碍物时再转弯,转弯后清洁机器人按照第二方向直线行走。遇到障碍物时再转弯,转弯后清洁机器人按照第一方向直线行走。遇到障碍物时再转弯,转弯后清洁机器人按照第二方向直线行走,其中,第二方向与第一方向相反,以此类推,清洁机器人在待清洁区域行走的清洁路径可近似为弓形路径(弓字形路径)。
在一些实施例中,清洁路径包括弓形主路径和弓形转弯路径,弓形主路径对应于在待清洁区域内规划的主要路径,具体地,弓形主路径为弓形路径中较长的直线路径,弓形转弯路径为弓形路径中较短的直线路径,即一般地,弓形主路径比弓形转弯路径长。弓形转弯路径对应于由当前弓形主路径转弯至最近弓形主路径时所形成的路径,通常,由于清洁机器人按照清洁路径行走时,清洁机器人在弓形主路径上行走的距离相对在弓形转弯路径上行走的距离更远,因此,弓形主路径可作为清洁机器人行走时的主要路径,当前弓形主路径为清洁机器人当前所处的弓形主路径,最近弓形主路径为与当前弓形主路径距离最近且处于待清洁状态的弓形主路径。
举例而言,请参阅图2a,清洁机器人21在待清洁区域22内规划弓字形的清洁路径(弓形路径),其中,待清洁区域22呈矩形,包括拟合线段221、拟合线段222、拟合线段223及拟合线段224,其中,拟合线段221和拟合线段223的长度是最长的,因此,清洁机器人21可以根据拟合线段221或拟合线段223规划清洁路径,其中,每条拟合线段都由若干边界障碍物栅格拟合而成,因此拟合线段可作为边界线段。
如图2a所示,清洁路径包括第一弓形主路径23、第二弓形主路径24及弓形转弯路径25,相对第一弓形主路径23而言,由于第二弓形主路径24处于待清洁状态,并且相对其它弓形主路径而言,第二弓形主路径24与第一弓形主路径23的距离是最小的,因此,第二弓形主路径24可以作为第一弓形主路径23的最近弓形主路径。当清洁机器人21需要由在第一弓形主路径23上行走转移到在第二弓形主路径24上行走时,清洁机器人21需要规划清洁转弯路径25。
在一些实施例中,清洁机器人21可以利用dijkstra算法求取弓形转弯路径。可以理解的是,清洁机器人在不同弓形主路径上,其行走方向可能不同,但每条弓形主路径在栅格地图的倾斜角度都是相同的。
在一些实施例中,预估数量为:以区域栅格为起始清洁点,预估出的清洁机器人为实现待清洁区域的弓形全覆盖清洁所需经过的弓形主路径的数量。其中,预估数量由清洁机器人在执行弓形全覆盖清洁任务时提前计算出的弓形主路径的数量,亦可以由外部设备以清洁机器人为假想对象,提前推导出清洁机器人在执行弓形全覆盖清洁任务时所需的弓形主路径的数量。
作为示例而非限定的是,起始清洁点为:出于得到预估数量的目的,设定清洁机器人在待清洁区域按照指定弓形主路径作弓形全覆盖清洁时对应的起点,可以理解的是,清洁机器人可以将任意区域栅格选定为起始清洁点。
作为示例而非限定的是,清洁机器人根据全覆盖遍历算法,采用弓形模式进行弓形全覆盖清洁待清洁区域。当清洁机器人在待清洁区域的不同起始位置、以不同清洁方向进行弓形全覆盖清洁待清洁区域时,清洁机器人所需经过的弓形主路径的数量可以不同,弓形主路径对应的清洁方向(行走方向)可表示为清洁主方向。
作为示例而非限定的是,每条弓形主路径在栅格地图上的斜率都是相等的,并且相邻两条弓形主路径对应的清洁主方向互相相反。请参阅图2a,第一弓形主路径23与第二弓形主路径24在栅格地图上的斜率都是相等的,其中,第一弓形主路径23对应的清洁主方向与第二弓形主路径24对应的清洁主方向互相相反。
请一并参阅图2b与图2c,对于相同的待清洁区域,在图2b中,清洁机器人的起始清洁点A对应的区域栅格位于待清洁区域的右侧,清洁主方向为纵向。在图2c中,清洁机器人的起始清洁点B对应的区域栅格位于待清洁区域的顶侧,清洁主方向为横向。
在图2b中,清洁机器人在起始清洁点A并以纵向作为清洁主方向,为实现待清洁区域的弓形全覆盖清洁所需经过的弓形主路径的数量为9条,亦即,起始清洁点A对应的预估数量为9条。在图2c中,清洁机器人在起始清洁点B并以横向作为清洁主方向,起始清洁点B对应的预估数量为15条。
在一些实施例中,单个区域栅格可对应着一个预估数量。
在一些实施例中,由于清洁机器人可以以相同区域栅格为起点,朝着不同清洁主方向对待清洁区域进行弓形全覆盖清洁,因此,可以理解的是,相同区域栅格可对应着在不同清洁主方向下的预估数量,亦即,单个区域栅格可对应着至少两个预估数量。
例如,请参阅图2d,假设清洁机器人以区域栅格Cn为起点,确定第一清洁主方向F1对应的预估数量Y1,亦即,预估数量Y1为清洁机器人为实现待清洁区域的弓形全覆盖清洁所需经过的弓形主路径f1的数量,其中,弓形主路径f1与第一清洁主方向F1所在直线平行。
同理可得,第二清洁主方向F2对应的预估数量Y2,亦即,预估数量Y2为清洁机器人为实现待清洁区域的弓形全覆盖清洁所需经过的弓形主路径f2的数量,其中,弓形主路径f2与第二清洁主方向F2所在直线平行。第三清洁主方向F3对应的预估数量Y3,亦即,预估数量Y3为清洁机器人为实现待清洁区域的弓形全覆盖清洁所需经过的弓形主路径f3的数量,其中,弓形主路径f3与第三清洁主方向F3所在直线平行。由上可见,区域栅格Cn对应着至少三个预估数量。
作为示例而非限定的是,起始清洁点为清洁机器人在待清洁区域中规划清洁路径的起点。
S13、根据每个区域栅格对应的预估数量,确定最优起始位姿。
在一些实施例中,起始位姿包括清洁机器人在待清洁区域的起始清洁点及所述起始清洁点对应的起始角度,其中,起始清洁点可用其在栅格地图中的坐标表示,起始角度可为清洁机器人为实现待清洁区域的弓形全覆盖清洁所需经过的弓形主路径与指定轴之间的角度,起始角度可用于指示清洁机器人按照与起始角度对应的清洁主方向进行行走。可以理解的是,不同起始清洁点和/或不同起始角度都能够形成不同起始位姿,即对于同一个起始清洁点,若采用不同的起始角度,则会存在不同的起始位姿。
作为示例而非限定的是,指定轴可为下述栅格坐标系中的X轴或者栅格坐标系中的Y轴或者极坐标系的极轴。
通常,区域栅格对应的预估数量与起始位姿关联,并且,预估数量与清洁机器人的转弯次数成正相关关系,亦即,预估数量越大,转弯次数越多;预估数量越小,转弯次数越少。清洁机器人清洁时的转弯次数过多,所需的清洁时间更多,清洁效率比较低。当清洁机器人在不同起始位姿下行走时,某个起始位姿对应的转弯次数可能相对比较多,也可能相对比较少,因此,清洁机器人需要根据每个区域栅格对应的预估数量,确定最优起始位姿,以降低转弯次数,其中,最优起始位姿为:清洁机器人为实现待清洁区域的弓形全覆盖清洁所需的最小转弯次数所对应的起始位姿。
在一些实施例中,S13包括:根据最小预估数量确定最优起始位姿,其中,最小预估数量为:待清洁区域中所有的区域栅格对应的预估数量中最小的预估数量。
举例而言,假设待清洁区域包括3个区域栅格,记3个区域栅格分别为C1、C2、C3。在预估过程中,单个区域栅格对应多个清洁主方向,即单个区域栅格对应多个起始角度。假设C1对应的k(k为大于4的正整数)个起始角度包括A11、A12、A13以及A1k,C2对应的k个起始角度包括A21、A22、A23以及A2k,C3对应的k个起始角度包括A31、A32、A33以及A3k。
由于单个区域栅格的单个起始角度对应一个预估数量,其中,A11、A12、A13、A1k、A21、A22、A23、A2k、A31、A32、A33、A3k分别对应的预估数量为Y11、Y12、Y13、Y1k、Y21、Y22、Y23、Y2k、Y31、Y32、Y33、Y3k,为了便于描述,可用预估数量集合YZ表示包含有Y11、Y12、Y13、Y1k、Y21、Y22、Y23、Y2k、Y31、Y32、Y33、Y3k的集合。
假设Y13为预估数量集合YZ中满足最优位姿条件的预估数量,则可将Y13对应的起始位姿作为最优起始位姿,即最优起始位姿可包括C1在栅格地图的坐标以及起始角度A13,亦即,清洁机器人以C1对应的位置作为起点,并以起始角度A13作为清洁主方向在待清洁区域作弓形全覆盖清洁时,所需的转弯次数最少,其中,最优位姿条件可为:清洁机器人为实现待清洁区域的弓形全覆盖清洁所需的最小转弯次数的条件。
可以理解的是,清洁机器人可以依据任意合适算法或者规则对预估数量集合YZ作筛选处理,以便得到最优起始位姿。
S14、根据最优起始位姿,规划待清洁区域的清洁路径。
在本实施例中,清洁机器人在弓形模式下,可以有效地根据最优起始位姿规划待清洁区域的清洁路径,可见,本实施例提供的路径规划方法能够科学地依据可能经过弓形主路径的路径数量来确定最优起始位姿,有利于减少清洁机器人的转弯次数,节约清洁时间和提高清洁效率。
如前所述,每个区域栅格可以对应着多个预估数量,在一些实施例中,清洁机器人执行S12时,可以根据指定角度范围,确定每个区域栅格对应的预估数量,由于每个区域栅格可以对应多个起始角度,因此,每个区域栅格可分别对应多个预估数量,如此,清洁机器人能够保证可靠地计算出每个区域栅格对应的预估数量,而且还能够根据指定角度范围,高效率地计算出预估数量。
作为示例而非限定的是,指定角度范围可由用户设置,例如,指定角度范围为0度到180度,其中,指定角度范围可包括多个起始角度,可具体包括10度、20度、30度以及150度,其中,指定角度范围下的单个起始角度=p*q,p为角度增量,q等于对单个区域栅格的预估次数加上一,其中,预估次数为:清洁机器人对(对应的单个)区域栅格已执行的预估操作的次数,假设p=1度,存在区域栅格A,对于区域栅格A,清洁机器人第一次执行预估操作时,预估次数为0,q=1+0=1,起始角度=1*1=1度,第二次执行预估操作时,此时,预估次数为1,q=1+1=2,起始角度=1*2=2度,依次类推,假设清洁机器人总共执行180次预估操作,则清洁机器人可以得到180个起始角度,对应地,可得到180个预估数量,即区域栅格A可对应180个预估数量。
在一些实施例中,S14可包括:根据最优起始位姿调整清洁机器人自身的位姿,然后,开始规划待清洁区域的清洁路径。
具体可为,清洁机器人将自身的位姿调整为最优起始位姿,然后开始规划待清洁区域的清洁路径。在一些实施例中,为了方便在栅格地图中定位某个物体在目标空间的位置,以及方便清洁机器人在目标空间进行导航、避障等操作,清洁机器人为栅格地图配置栅格坐标系,其中,栅格坐标系的原点可以被定义在栅格地图的任意合适位置,例如,原点可被定义在栅格地图的左下角,X轴的正方向为水平向右,Y轴的正方向为垂直向上,如此,通过栅格坐标系,每个物体或每个区域在栅格地图中的位置都可以被量化表示。
为了契合栅格地图的栅格化特点,本实施例可以借助极坐标系表示指定角度范围,指定角度范围包括至少一个极角,以区域栅格的中心点为极点,令过极点且与栅格坐标系的X轴平行的射线为极轴,得到极坐标系,且极轴的正方向可与栅格坐标系的X轴的正方向相同,在极坐标系中,极角的取值范围为0至180度。
请参阅图3,以区域栅格C5的中心点为极点O1,令过极点O1且与栅格坐标系的X轴平行的射线为极轴,得到第一极坐标系,在第一极坐标系中,L11为极角0度对应的极径线,L12为极角45度对应的极径线,L13为极角90度对应的极径线。
请继续参阅图3,以区域栅格C6的中心点为极点O2,令过极点O2且与栅格坐标系的X轴平行的射线为极轴,得到第二极坐标系,在第二极坐标系中,L21为极角0度对应的极径线,L22为极角90度对应的极径线,L23为极角135度对应的极径线。在第一极坐标系与第二极坐标系中,指定角度范围皆为0至180度。
在一些实施例中,清洁机器人可利用极坐标系以及栅格坐标系,可靠有效地确定每个区域栅格对应的预估数量,其中,指定角度范围包括至少一个极角,每个区域栅格可分别对应至少一个极角,待清洁区域对应至少一个边界栅格,边界栅格为位于待清洁区域对应边界线段上的栅格,即边界栅格可为区域栅格相邻的栅格,请参阅图4a,S12包括:
对于每个区域栅格对应的每个极角,清洁机器人都执行如图4a所示的步骤S121、S122以及S123。
S121、确定极角的目标极径线对应的第一最远边界栅格和第二最远边界栅格,第一最远边界栅格和第二最远边界栅格分别位于目标极径线的两侧;
S122、计算第一距离和第二距离,第一距离为第一最远边界栅格与目标极径线之间的距离,第二距离为第二最远边界栅格与目标极径线之间的距离;
S123、根据总距离及路径间距,计算区域栅格对应的预估数量,总距离为第一距离和第二距离之和。
在本实施例中,极角为极径线与极轴之间的夹角,目标极径线为极角对应的极径线。
待清洁区域对应至少一个边界栅格,相对于单个区域栅格而言,第一最远边界栅格为:目标极径线一侧(第一侧)中与单个区域栅格距离最远的边界栅格,第二最远边界栅格为:目标极径线另一侧(第二侧)中与单个区域栅格距离最远的边界栅格。
作为示例而非限定的是,请参阅图4b,区域栅格C7对应的极角包括90度,对应的目标极径线为L41,极点为O11,边界栅格C8和边界栅格C9分别位于目标极径线L41的两侧,在目标极径线L41的右侧中,边界栅格C8与区域栅格C7距离最远,在目标极径线L41的左侧中,边界栅格C9与区域栅格C7距离最远,边界栅格C8、边界栅格C9分别为L41对应的第一最远边界栅格、L41对应的第二最远边界栅格,同理可得,区域栅格C10对应的极角包括45度,极点为O12,区域栅格C10对应的目标极径线为L42,边界栅格C9、边界栅格C11分别为L42对应的第一最远边界栅格、L42对应的第二最远边界栅格。
请继续参阅图4b,过边界栅格C8的中心点O13作垂直于目标极径线L41的垂线,并与目标极径线L41相交于J1点,第一距离h1为O13点到J1点的距离。过边界栅格C9的中心点O14作垂直于目标极径线L41的垂线,并与目标极径线L41相交于J2点,第二距离h2为O14点到J2点的距离。
其中,路径间距s为相邻两条弓形主路径的间隔距离,将第一距离h1与第二距离h2相加,以得到总距离h,相邻两条弓形主路径的路径间距都为s,将h除以s,若h不能够整除s且除法结果小于1,则区域栅格对应的预估数量w=0;若h能够整除s,则区域栅格对应的预估数量w=(h/s)+1;若h不能够整除s且商为整数时,则区域栅格对应的预估数量w=[h/s]+1+1,其中,[h/s]表示对h除以s所得到的结果取整,转弯次数=w-1。
在一些实施例中,S122包括:根据第一两点距离、第二两点距离、第一连线与极轴之间的夹角以及第二连线与极轴之间的夹角,计算第一距离和第二距离,第一两点距离为极点与第一最远边界栅格之间的距离,第一两点距离可具体为:极点与第一最远边界栅格的中心点之间的距离,第二两点距离为极点与第二最远边界栅格之间的距离,第二两点距离可具体为:极点与第二最远边界栅格的中心点之间的距离,第一连线为第一最远边界栅格的中心点与极点之间的连线,第二连线为第二最远边界栅格的中心点与极点之间的连线。
举例而言,请继续结合图4b,L41对应的第一最远边界栅格、L41对应的第二最远边界栅格分别为边界栅格C8、边界栅格C9,第一两点距离d1为边界栅格C8的中心点O13到极点O11的距离,第二两点距离d2为边界栅格C9的中心点O14到极点O11的距离,第一连线为O13O11,第一连线O13O11与极轴之间的夹角为θ1,第二连线为O14O11,第二连线与极轴之间的夹角为θ2,令区域栅格C7的极角为θ0,如前所述,极角θ0为90度,因此,根据三角函数,第一距离h1=d1*sin(θ0-θ1),第二距离h2=d2*sin(θ2-θ1)。
在一些实施例中,根据第一最远边界栅格在栅格坐标系中的坐标、第二最远边界栅格在栅格坐标系中的坐标、目标极径线对应的直线方程(相对于栅格坐标系而言)计算第一距离与第二距离。
举例而言,请继续结合图4b,区域栅格C7对应的极角包括90度,90度可作为目标极径线L41的斜率对应的角度,因此,可以根据90度以及区域栅格C7在栅格坐标系中的坐标求取目标极径线L41对应的直线方程,然后根据第一最远边界栅格C8在栅格坐标系中的坐标、第二最远边界栅格C9在栅格坐标系中的坐标以及目标极径线L41对应的直线方程计算第一距离与第二距离,其中,第一最远边界栅格在栅格坐标系中的坐标可具体为第一最远边界栅格的中心点在栅格坐标系中的坐标、第二最远边界栅格在栅格坐标系中的坐标可具体为第二最远边界栅格的中心点在栅格坐标系中的坐标。
在一些实施例中,最优起始位姿包括最优起始清洁点对应的起始位置及最优起始清洁点对应起始角度,请参阅图5,S13包括:
S131、根据每个区域栅格的预估数量确定目标栅格,目标栅格包括:最小预估数量对应的区域栅格;
S132、根据目标栅格的位置以及目标栅格对应的极角,确定最优起始清洁点对应的起始位置及最优起始清洁点对应的起始角度。
举例而言,如前所述,待清洁区域对应的预估数量集合YZ包含有Y11、Y12、Y13、Y1k、Y21、Y22、Y23、Y2k、Y31、Y32、Y33、Y3k,其中,Y13是预估数量集合YZ中的最小预估数量,对应地,将Y13对应的区域栅格确定为目标栅格,即将区域栅格C1确定为目标栅格。
在一些实施例中,当清洁机器人确定到最小预估数量相等的多个区域栅格,清洁机器人可以从所述多个区域栅格中任选一个区域栅格作为目标栅格。
作为示例而非限定的是,确定目标栅格后,清洁机器人便可以根据目标栅格的位置以及目标栅格对应的极角,确定最优起始清洁点对应的起始位置及最优起始清洁点对应的起始角度,具体地,最优起始清洁点对应的起始位置可为目标栅格的位置,目标栅格的位置可表示为:目标栅格在栅格坐标系中的坐标。例如,目标栅格为区域栅格C1,故可将区域栅格C1在栅格地图的位置作为最优起始清洁点对应的起始位置,起始角度A13作为最优起始清洁点对应的起始角度。
在一些实施例中,最优起始清洁点对应的起始角度可等于目标栅格对应的最小预估数量对应的极角。
在一些实施例中,请参阅图6a,S14包括:
S141、根据最优起始清洁点对应的起始角度,确定起始清洁主方向;
S142、根据最优起始清洁点对应的起始位置与起始清洁主方向,规划待清洁区域的清洁路径。
作为示例而非限定的是,起始清洁主方向为:清洁机器人为实现待清洁区域的弓形全覆盖清洁所需的最小转弯次数对应的首条弓形主路径对应的清洁主方向,请结合图2a,第一弓形主路径23为清洁机器人作弓形全覆盖清洁所需最小转弯次数对应的首条弓形主路径(相当于起始弓形主路径),第一弓形主路径23对应的清洁主方向为起始清洁主方向。
起始清洁主方向所在的直线与栅格坐标系的X轴的正方向的夹角为最优起始清洁点的起始角度,当最优起始清洁点的起始角度已知,便可以确定起始清洁主方向。
作为示例而非限定的是,清洁路径为清洁机器人后期执行清洁作业时所行走的路径,其中,清洁路径包括弓形路径或回形路径。如前所述,弓形路径包括弓形主路径和/或弓形转弯路径,具体表述可参照上文,在此不赘述。可以理解的是,清洁机器人在不同弓形主路径,清洁主方向可以不同,但每条弓形主路径在栅格地图的倾斜角度都是相同的。
在一些实施例中,清洁机器人根据最优起始清洁点对应的起始位置与起始清洁主方向,可以逐步规划待清洁区域的清洁路径,请参阅图6b,S142包括:
S1421、根据最优起始清洁点对应的起始位置与起始清洁主方向,确定起始弓形主路径;
S1422、根据起始弓形主路径,确定旁路弓形主路径。
作为示例而非限定的是,起始弓形主路径为清洁机器人自最优起始清洁点开始遍历栅格地图时的首条弓形主路径,旁路弓形主路径包括与起始弓形主路径相距N倍路径间距的弓形主路径,N为正整数。例如,旁路弓形主路径包括与起始弓形主路径相距1倍路径间距的弓形主路径、相距2倍路径间距的弓形主路径、相距3倍路径间距的弓形主路径。
在一些实施例中,为了便于描述,可定义当前弓形主路径,当前弓形主路径为:清洁机器人在规划清洁路径的过程中,清洁机器人当前所在的弓形主路径(清洁机器人当前所在位置所对应的弓形主路径),例如,清洁机器人在规划清洁路径的过程中,清洁机器人当前所在位置处于起始弓形主路径上,对应地,当前弓形主路径可以包括起始弓形主路径。若清洁机器人在规划清洁路径的过程中,清洁机器人当前所在位置处于旁路弓形主路径上,对应地,当前弓形主路径可以包括旁路弓形主路径,可以理解的是,假设清洁机器人当前所在位置位于起始弓形主路径上,即当前弓形主路径为起始弓形主路径,当清洁机器人在起始弓形主路径上搜索出旁路弓形主路径后,可将旁路弓形主路径对应的清洁主方向设置为与当前弓形主路径的清洁主方向相反。
在一些实施例中,所述路径规划方法S100还包括:根据清洁机器人的尺寸数据计算路径间距,所述清洁机器人的尺寸数据用于表示清洁机器人的尺寸,路径间距为相邻两个弓形主路径之间的(间距)距离,例如,当清洁机器人的形状呈圆柱形时,所述清洁机器人的尺寸数据包括清洁机器人的直径,路径间距=清洁机器人的直径*(1-预设数值),所述预设数值为小于1大于0的数,即路径间距小于清洁机器人的直径,意味着清洁机器人对相邻两条弓形主路径进行清洁时,会存在重复清洁区域,如此,可以提高清洁的覆盖率和清洁度。
请参阅图6c,弓形主路径51与弓形主路径52相邻,其两者存在重复清洁区域53。
作为示例而非限定的是,如前所述,清洁转弯路径为用于连接两条相邻的弓形主路径的路径,也可理解为清洁机器人由当前弓形主路径转弯至最近弓形主路径时所形成的路径。例如,请参阅图6d,清洁机器人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。
在一些实施例中,清洁机器人在清洁过程中,若未检测到与当前弓形主路径距离一倍路径间距的待清洁的弓形主路径时,清洁机器人会按照整倍数递增的顺序,由小到大地遍历下一条旁路弓形主路径,例如,请结合图6d,旁路弓形主路径505作为当前弓形主路径时,若存在与当前弓形主路径相距一倍路径间距的待清洁的旁路弓形主路径A,则将旁路弓形主路径A作为下一条待行走的旁路弓形主路径。若不存在与当前弓形主路径相距一倍路径间距的待清洁的旁路弓形主路径,清洁机器人确定是否存在与当前弓形主路径相距两倍路径间距的待清洁的旁路弓形主路径,若存在与当前弓形主路径相距两倍路径间距的待清洁的旁路弓形主路径B,则将旁路弓形主路径B作为下一条待行走的旁路弓形主路径。若不存在与当前弓形主路径相距两倍的路径间距的待清洁的旁路弓形主路径,清洁机器人确定是否存在与当前弓形主路径相距三倍路径间距的待清洁的旁路弓形主路径,以此类推。若清洁机器人在栅格地图中遍历完所有旁路弓形主路径仍找不到与当前弓形主路径距离整倍数的路径间距的弓形主路径,则可认为栅格地图对应的区域已被清洁完毕,亦即待清洁区域已被清洁完毕,全覆盖清洁任务结束。
为了确保清洁机器人不会碰撞到障碍物或者陷入不可转弯的区域,待清洁区域对应至少一个障碍物栅格,即至少存在一个障碍物栅格与待清洁区域中的栅格相邻,障碍物栅格用于表示不可通行区域,对应地,请参阅图6e,S1421包括:
S71、根据最优起始清洁点对应的起始位置与起始清洁主方向,确定参考线;
S72、依序遍历经过参考线的栅格以确定出不可通行区域的首个障碍物栅格;
S73、根据首个障碍物栅格与安全防碰裕量,确定终点位置;
S74、根据起始位置、终点位置及起始清洁主方向,确定起始弓形主路径。
在本实施例中,参考线为经过最优起始清洁点的线,且参考线相对于指定轴的倾斜角度与起始清洁主方向相对于指定轴的倾斜角度相同,对应地,S72可为:按照起始清洁主方向,依序遍历经过参考线的栅格以确定出不可通行区域的首个障碍物栅格,首个障碍物栅格为:依序遍历经过参考线的栅格时首次遍历到障碍物栅格。
作为示例而非限定的是,假设起始清洁主方向为水平向右,经过参考线的栅格水平向右依次包括:可通行栅格甲、可通行栅格乙、可通行栅格丙、障碍物栅格丁、障碍物栅格戊,对应地,首个障碍物栅格为障碍物栅格丁。
另,安全防碰裕量可用于表示清洁机器人与障碍物之间的安全距离,所述安全距离为能够保证清洁机器人不与障碍物发生碰撞的距离。
在一些实施例中,在S73之前,包括:根据清洁机器人的尺寸数据和预设的安全防碰系数确定安全防碰裕量;对应地,所述S73包括:根据安全防碰裕量和栅格地图的分辨率确定安全防碰裕量对应的栅格数量,根据所述安全防碰裕量对应的栅格数量和首个障碍物栅格确定终点位置。
例如,栅格地图的分辨率d=0.025,安全防碰系数为1.2,安全防碰裕量b=1.2*清洁机器人的半径,安全防碰裕量b对应的栅格数量n=b/d,因此,终点为在参考线上与所述首个栅格距离栅格数量n的栅格所在的位置。清洁机器人根据起始位置、终点位置及起始清洁主方向,便可以确定起始弓形主路径,由于在生成起始弓形主路径时,清洁机器人可以排除障碍物栅格(即生成的起始弓形主路径可不包括障碍物栅格),并且依据安全防碰裕量设定终点,一方面,采用此种方法,清洁机器人沿着起始弓形主路径行走时及时在障碍物前停止行走,从而能够可靠地保证清洁机器人执行清洁作业,另一方面,由于本实施例留有足够旋转裕量(安全防碰裕量)给清洁机器人转身和调整位姿,从而避免传统方式因陷入障碍物而无法逃脱障碍物的局面出现。
在一些实施例中,清洁机器人根据起始清洁路径确定旁路弓形主路径的过程如下,请参阅图6f,S1422包括:
S75、在起始弓形主路径上选择参考点;
S76、确定最近路径点,最近路径点为与参考点的距离满足最近路径条件的点;
S77、根据最近路径点与起始清洁主方向,确定旁路弓形主路径。
在一些实施例中,清洁机器人可以在起始弓形主路径上选择处于任意位置的栅格作为参考点,若机器人当前位置对应的栅格位于当前弓形主路径上,也可以以机器人当前位置对应的栅格为参考点。由上可见,参考点可为栅格。
最近路径条件:最近路径点需要位于待清洁区域中处于待清洁状态的待清洁区域内(具体可为最近路径点需要位于待清洁区域中未被标记已清洁状态的待清洁区域内),且最近路径点为目标路径点中距离参考点最近的点,其中,目标路径点为满足关系c的点,关系c为:目标路径点和参考点之间的距离与路径间距构成整倍数关系。
举例而言,假设机器人当前位置对应的栅格位于起始弓形主路径,路径间距为s,清洁机器人首先搜索到一个栅格b,该栅格与参考点的距离为s,若栅格b与参考点的距离满足最近路径条件,则将栅格b确定为最近路径点;若栅格b在障碍物区域或在已清洁区域,则确定与起始弓形主路径相距路径间距s的其他栅格是否满足最近路径条件,若清洁机器人没有找到满足最近路径条件的栅格,则在与起始弓形主路径相距路径间距2s的栅格中,确定是否存在满足最近路径条件的栅格,若存在栅格e(栅格e为:与起始弓形主路径相距路径间距2s的栅格中,满足最近路径条件的栅格),则将栅格e确定为最近路径点;若在与起始弓形主路径相距路径间距2s的栅格中,不存在满足最近路径条件的栅格,则在与起始弓形主路径相距路径间距3s的栅格中,确定是否存在满足最近路径条件的栅格,以此类推。
作为示例而非限定的是,请结合图6d,清洁机器人501以起始点503作为参考点,搜索出最近路径点507。
在一些实施例中,若机器人当前位置对应的栅格位于当前弓形主路径上,则可以以机器人当前位置对应的栅格为参考点,对应地,S76可具体可包括:
A11、赋值H=L=1;
A12、确定参考点对应的周边栅格,所述周边栅格与参考点的距离为H个栅格距离;
A14、用正整数依序(按照指定顺序)标记每个周边栅格,R为周边栅格的数量;
A15、L是否大于R;
A16、若大于,则赋值H=H+1,返回步骤A12;
A17、若小于或等于,则判断第L周边栅格是否在待清洁区域内,且第L周边栅格的H个栅格距离是否与路径间距构成整倍数关系;
A18、若第L周边栅格在待清洁区域内,且第L周边栅格的H个栅格距离与路径间距构成整倍数关系,则选择第L周边栅格作为最近路径点;
A19、若第L周边栅格不在待清洁区域内,或第L周边栅格的H个栅格距离与路径间距未构成整倍数关系,则赋值L=L+1,返回步骤A15。
作为示例而非限定的是,“H”为大于或者等于1的正整数,“L”为大于或者等于1的正整数,栅格距离可为两个栅格中心点之间的距离,周边栅格为可通行栅格。为了详细理解上文提供的搜索最近路径点的方案,下文对此举例说明,具体如下:
举例而言,清洁机器人将机器人当前位置对应的栅格设置为参考点p0,刚开始H=1,确定参考点对应的第一周边栅格,每个第一周边栅格与参考点p0的距离为1个栅格距离,假设参考点p0的第一周边栅格的数量为8个,即R=8,8个第一周边栅格分别为p11、p12、p13、p14、p15、p16、p17、p18,这8个第一周边栅格都为可通行栅格。
首先,清洁机器人判断周边栅格p11是否在待清洁区域内,且周边栅格p11的1个栅格距离是否与路径间距构成整倍数关系,若周边栅格p11不在待清洁区域内或者1个栅格距离不与路径间距构成整倍数关系,则赋值L=1+1=2,返回步骤A15。
由于L=2小于R=8,清洁机器人继续判断周边栅格p12是否在待清洁区域内,且周边栅格p12的1个栅格距离是否与路径间距构成整倍数关系,以此类推。
假设按照上述过程已经循环到L=8,并返回步骤A15。
由于L=8等于R=8,清洁机器人继续判断周边栅格p18是否在待清洁区域内,且周边栅格p18的1个栅格距离是否与路径间距构成整倍数关系,这里作出两个假设:
假设1:周边栅格p18在待清洁区域内且与路径间距构成整倍数关系,则选择周边栅格p18作为最近路径点。
假设2:若周边栅格p18不在待清洁区域内或者1个栅格距离不与路径间距构成整倍数关系,则赋值L=8+1=9,返回步骤A15。由于L=9大于R=8,执行步骤A16,赋值H=1+1=2,返回步骤A12。
执行步骤A12时,确定参考点对应的第二周边栅格每个第二周边栅格与参考点的距离为2个栅格距离,依序标记8个第二周边栅格分别为p21、p22、p23、p24、p25、p26、p27、p28,此时,后续过程按照上述方式来进行。
假设周边栅格p26与参考点的距离为2个栅格距离,且2个栅格距离与路径间距构成1倍关系,且周边栅格p26在待清洁区域内,则周边栅格p26作为最近路径点。
再假设搜索到周边栅格p26与参考点的距离为2个栅格距离,且2个栅格距离与路径间距构成1倍关系,但是周边栅格p26不在待清洁区域内,则周边栅格p26不作为最近路径点,并且,按照上述逻辑,假设确定参考点对应的第三周边栅格每个第三周边栅格与参考点的距离为4个栅格距离,依序标记8个周边栅格分别为p41、p42、p43、p44、p45、p46、p47、p48。假设最后搜索到周边栅格p45与参考点的距离为4个栅格距离,且4个栅格距离与路径间距构成2倍关系,且周边栅格p45在待清洁区域内,则周边栅格p45作为最近路径点,采用本方法,清洁机器人能够在保证全覆盖遍历待清洁区域时,可靠地搜索出最近路径点及旁路弓形主路径。
当清洁机器人规划出清洁路径时,清洁机器人便可以沿着清洁路径执行清洁作业,并实时利用激光雷达和深度相机等传感器检查该清洁路径上是否有新出现的障碍物,若检测到障碍物,则利用避障算法绕开障碍物,以继续前进。
在本发明实施例提供的路径规划方法中,获取栅格地图,栅格地图包括区域栅格,区域栅格为用于表示待清洁区域的栅格,确定每个区域栅格对应的预估数量,预估数量为:以区域栅格为起始清洁点,预估清洁机器人为实现待清洁区域的弓形全覆盖清扫所需经过的弓形主路径的数量,根据每个区域栅格对应的预估数量,确定最优起始位姿,根据最优起始位姿,规划待清洁区域的清洁路径,可见,本实施例提供的路径规划方法能够科学地预估可能经过弓形主路径的路径数量,以确定最优起始位姿,根据最优起始位姿规划待清洁区域的清洁路径,能够有利于减少清洁机器人的转弯次数,节约清洁时间和提高清洁效率。
需要说明的是,在上述各个实施方式中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施方式的描述可以理解,不同实施方式中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。
实施例二:
请参阅图7,图7为本发明实施例提供的一种清洁机器人的电路结构示意图,其中,本发明实施例的清洁机器人可以被构造成任何合适形状,以便实现特定业务功能操作,例如,在一些实施例中,清洁机器人包括且不限于扫地机器人、吸尘机器人、拖地机器人以及洗地机器人等等。
如图7所示,清洁机器人700包括一个或多个处理器71以及存储器72。其中,图7中以一个处理器71为例。
处理器71和存储器72可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器72作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的路径规划方法对应的程序指令/模块。处理器71通过运行存储在存储器72中的非易失性软件程序、指令以及模块,从而执行路径规划装置的各种功能应用以及数据处理,即实现上述方法实施例提供的路径规划方法以及上述装置实施例的各个模块或单元的功能。
存储器72可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器72可选包括相对于处理器71远程设置的存储器,这些远程存储器可以通过网络连接至处理器71。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。所述程序指令/模块存储在所述存储器72中,当被所述一个或者多个处理器71执行时,执行上述任意方法实施例中的路径规划方法。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图7中的一个处理器71,可使得上述一个或多个处理器可执行上述任意方法实施例中的路径规划方法。
本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被机器人执行时,使所述机器人执行上述任意方法实施例中的路径规划方法。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种路径规划方法,其特征在于,包括:
获取栅格地图,所述栅格地图包括区域栅格,所述区域栅格为用于表示待清洁区域的栅格;
确定每个所述区域栅格对应的预估数量,所述预估数量为:以所述区域栅格为起始清洁点,预估清洁机器人为实现所述待清洁区域的弓形全覆盖清洁所需经过的弓形主路径的数量;
根据每个所述区域栅格对应的预估数量,确定最优起始位姿;
根据所述最优起始位姿,规划所述待清洁区域的清洁路径。
2.根据权利要求1所述的方法,其特征在于,所述确定每个所述区域栅格对应的预估数量包括:
根据指定角度范围确定每个所述区域栅格对应的预估数量。
3.根据权利要求2所述的方法,其特征在于,所述指定角度范围包括至少一个极角,每个所述区域栅格可分别对应至少一个极角,所述待清洁区域对应至少一个边界栅格,所述根据指定角度范围确定每个所述区域栅格对应的预估数量,包括:
对于每个所述区域栅格对应的每个极角,执行以下步骤:
确定极角的目标极径线对应的第一最远边界栅格和第二最远边界栅格,所述第一最远边界栅格和所述第二最远边界栅格分别位于所述目标极径线的两侧;
计算第一距离和第二距离,所述第一距离为所述第一最远边界栅格与所述目标极径线之间的距离,所述第二距离为所述第二最远边界栅格与所述目标极径线之间的距离;
根据总距离及路径间距,计算所述区域栅格对应的预估数量,所述总距离为第一距离和第二距离之和。
4.根据权利要求3所述的方法,其特征在于,所述栅格地图配置有栅格坐标系,对应地,在确定极角的目标极径线对应的第一最远边界栅格和第二最远边界栅格之前,包括:
以所述区域栅格的中心点为极点,令过所述极点且与所述栅格坐标系的X轴平行的射线为极轴,得到极坐标系,在所述极坐标系中,极角的取值范围为0至180度。
5.根据权利要求4所述的方法,其特征在于,所述计算第一距离和第二距离,包括:
根据第一两点距离、第二两点距离、第一连线与所述极轴之间的夹角以及第二连线与所述极轴之间的夹角,计算第一距离和第二距离,所述第一两点距离为所述极点与所述第一最远边界栅格之间的距离,所述第二两点距离为所述极点与所述第二最远边界栅格之间的距离,第一连线为所述第一最远边界栅格的中心点与所述极点之间的连线,第二连线为所述第二最远边界栅格的中心点与所述极点之间的连线。
6.根据权利要求2至5任一项所述的方法,其特征在于,所述最优起始位姿包括最优起始清洁点对应的起始位置及最优起始清洁点对应的起始角度,所述根据每个所述区域栅格的预估数量,确定最优起始位姿包括:
根据每个所述区域栅格的预估数量确定目标栅格,所述目标栅格包括:最小预估数量对应的区域栅格;
根据所述目标栅格的位置以及所述目标栅格对应的极角,确定所述最优起始清洁点对应的起始位置及最优起始清洁点对应的起始角度。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述最优起始位姿包括最优起始清洁点对应的起始位置及最优起始清洁点对应的起始角度,所述根据所述最优起始位姿,规划所述待清洁区域的清洁路径包括:
根据所述最优起始清洁点对应的起始角度,确定起始清洁主方向;
根据所述最优起始清洁点对应的起始位置与所述起始清洁主方向,规划所述待清洁区域的清洁路径。
8.根据权利要求7所述的方法,其特征在于,所述根据所述最优起始清洁点对应的起始位置与所述起始清洁主方向,规划所述待清洁区域的清洁路径包括:
根据所述最优起始清洁点对应的起始位置与所述起始清洁主方向,确定起始弓形主路径;
根据所述起始弓形主路径,确定旁路弓形主路径。
9.根据权利要求8所述的方法,其特征在于,所述待清洁区域对应至少一个障碍物栅格,所述障碍物栅格用于表示不可通行区域,所述根据所述最优起始清洁点对应的起始位置与所述起始清洁主方向,确定起始弓形主路径包括:
根据所述最优起始清洁点对应的起始位置与所述起始清洁主方向,确定参考线;
依序遍历经过所述参考线的栅格以确定出所述不可通行区域的首个障碍物栅格;
根据所述首个障碍物栅格与安全防碰裕量,确定终点位置;
根据所述起始位置、所述终点位置及所述起始清洁主方向,确定起始弓形主路径。
10.一种清洁机器人,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至9任一项所述的路径规划方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110626977.4A CN113219993A (zh) | 2021-06-04 | 2021-06-04 | 一种路径规划方法及清洁机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110626977.4A CN113219993A (zh) | 2021-06-04 | 2021-06-04 | 一种路径规划方法及清洁机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113219993A true CN113219993A (zh) | 2021-08-06 |
Family
ID=77082886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110626977.4A Pending CN113219993A (zh) | 2021-06-04 | 2021-06-04 | 一种路径规划方法及清洁机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113219993A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113577772A (zh) * | 2021-09-27 | 2021-11-02 | 深圳易帆互动科技有限公司 | 基于瓦片地图的单位移动方法、装置及可读存储介质 |
CN113723371A (zh) * | 2021-11-01 | 2021-11-30 | 陕西欧卡电子智能科技有限公司 | 无人船清洁路线规划方法、装置、计算机设备及存储介质 |
CN114895691A (zh) * | 2022-07-13 | 2022-08-12 | 深之蓝(天津)水下智能科技有限公司 | 泳池清洁机器人的路径规划方法和装置 |
CN115390552A (zh) * | 2022-07-28 | 2022-11-25 | 云鲸智能(深圳)有限公司 | 路径规划方法、装置、清洁系统及存储介质 |
CN116185045A (zh) * | 2023-04-26 | 2023-05-30 | 麦岩智能科技(北京)有限公司 | 一种路径规划方法、装置、电子设备及介质 |
WO2023155157A1 (en) * | 2022-02-18 | 2023-08-24 | Beijing Smorobot Technology Co., Ltd | Method and apparatus for cleaning swimming pools, and electronic device and storage medium thereof |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108507578A (zh) * | 2018-04-03 | 2018-09-07 | 珠海市微半导体有限公司 | 一种全局边界地图的构建方法及其导航方法 |
US20190129433A1 (en) * | 2016-12-29 | 2019-05-02 | Amicro Semiconductor Corporation | A path planning method of intelligent robot |
CN110332943A (zh) * | 2019-07-03 | 2019-10-15 | 浙江大学 | 一种快速遍历的机器人全覆盖路径规划方法 |
CN110974091A (zh) * | 2020-02-27 | 2020-04-10 | 深圳飞科机器人有限公司 | 清洁机器人及其控制方法、存储介质 |
CN111290388A (zh) * | 2020-02-25 | 2020-06-16 | 苏州科瓴精密机械科技有限公司 | 路径追踪方法、系统,机器人及可读存储介质 |
CN111603099A (zh) * | 2020-05-06 | 2020-09-01 | 珠海市一微半导体有限公司 | 一种具备区域遍历优先级的清扫规划方法及芯片 |
-
2021
- 2021-06-04 CN CN202110626977.4A patent/CN113219993A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190129433A1 (en) * | 2016-12-29 | 2019-05-02 | Amicro Semiconductor Corporation | A path planning method of intelligent robot |
CN108507578A (zh) * | 2018-04-03 | 2018-09-07 | 珠海市微半导体有限公司 | 一种全局边界地图的构建方法及其导航方法 |
CN110332943A (zh) * | 2019-07-03 | 2019-10-15 | 浙江大学 | 一种快速遍历的机器人全覆盖路径规划方法 |
CN111290388A (zh) * | 2020-02-25 | 2020-06-16 | 苏州科瓴精密机械科技有限公司 | 路径追踪方法、系统,机器人及可读存储介质 |
CN110974091A (zh) * | 2020-02-27 | 2020-04-10 | 深圳飞科机器人有限公司 | 清洁机器人及其控制方法、存储介质 |
CN111603099A (zh) * | 2020-05-06 | 2020-09-01 | 珠海市一微半导体有限公司 | 一种具备区域遍历优先级的清扫规划方法及芯片 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113577772A (zh) * | 2021-09-27 | 2021-11-02 | 深圳易帆互动科技有限公司 | 基于瓦片地图的单位移动方法、装置及可读存储介质 |
CN113723371A (zh) * | 2021-11-01 | 2021-11-30 | 陕西欧卡电子智能科技有限公司 | 无人船清洁路线规划方法、装置、计算机设备及存储介质 |
WO2023155157A1 (en) * | 2022-02-18 | 2023-08-24 | Beijing Smorobot Technology Co., Ltd | Method and apparatus for cleaning swimming pools, and electronic device and storage medium thereof |
CN114895691A (zh) * | 2022-07-13 | 2022-08-12 | 深之蓝(天津)水下智能科技有限公司 | 泳池清洁机器人的路径规划方法和装置 |
CN115390552A (zh) * | 2022-07-28 | 2022-11-25 | 云鲸智能(深圳)有限公司 | 路径规划方法、装置、清洁系统及存储介质 |
CN116185045A (zh) * | 2023-04-26 | 2023-05-30 | 麦岩智能科技(北京)有限公司 | 一种路径规划方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113219993A (zh) | 一种路径规划方法及清洁机器人 | |
CN113219992A (zh) | 一种路径规划方法及清洁机器人 | |
US20200301443A1 (en) | Discovery and monitoring of an environment using a plurality of robots | |
US10139236B2 (en) | Route generation program, route generation method and route generation apparatus | |
CN107831765B (zh) | 定位方法、装置、设备及存储介质 | |
US20180267552A1 (en) | Robot-assisted processing of a surface using a robot | |
Rekleitis et al. | Efficient boustrophedon multi-robot coverage: an algorithmic approach | |
CN112000754A (zh) | 地图构建方法、装置、存储介质及计算机设备 | |
CN108241370B (zh) | 通过栅格地图获取避障路径的方法及装置 | |
Fazli et al. | Multi-robot repeated area coverage | |
JP2022511322A (ja) | 動的確率的運動計画 | |
CN110361017A (zh) | 一种基于栅格法的扫地机器人全遍历路径规划方法 | |
CN111609852A (zh) | 语义地图构建方法、扫地机器人及电子设备 | |
CN113219995A (zh) | 一种路径规划方法及清洁机器人 | |
US20030229442A1 (en) | Architecture for real-time maintenance of distributed mission plans | |
CN111679661A (zh) | 基于深度相机的语义地图构建方法及扫地机器人 | |
CN111152266A (zh) | 一种清洁机器人的控制方法及系统 | |
CN115268471B (zh) | 扫地机器人的路径生成方法及装置、存储介质 | |
CN113791616A (zh) | 路径规划方法、装置、机器人和存储介质 | |
CN112237403B (zh) | 用于清扫设备的覆盖路径生成方法和清扫设备 | |
CN112015186A (zh) | 一种具有社会属性的机器人路径规划方法、装置和机器人 | |
CN114089752A (zh) | 机器人的自主探索方法、机器人及计算机可读存储介质 | |
CN114779779A (zh) | 路径规划方法、装置、计算机设备和存储介质 | |
CN111609853A (zh) | 三维地图构建方法、扫地机器人及电子设备 | |
Xu et al. | An efficient algorithm for environmental coverage with multiple robots |
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 |