首页 / 专利库 / 信号处理 / 采样 / 清洁机器人及其控制方法、存储介质

清洁机器人及其控制方法、存储介质

阅读:2发布:2020-08-01

专利汇可以提供清洁机器人及其控制方法、存储介质专利检索,专利查询,专利分析的服务。并且一种清洁 机器人 的控制方法与清洁机器人;清洁机器人的控制方法包括:通过待清扫环境的地图信息将所述待清扫环境划分成多个子区域;根据每个所述子区域的障碍物的分布确定每个所述子区域的第一清扫方向;根据每个所述子区域的所述第一清扫方向,分别确定每个所述子区域的清扫遍历路径;根据每个所述子区域的所述清扫遍历路径分别对每个所述子区域执行清扫操作。本 发明 在每个子区域中都会根据每个子区域的清扫环境中确定路径遍历方向,这样能更好地适配当前清扫环境,从而尽可能减少转弯次数和遗漏的遍历区域,清洁机器人的路径重复率更低,工作效率更高。,下面是清洁机器人及其控制方法、存储介质专利的具体信息内容。

1.一种清洁机器人的控制方法,其特征在于,包括:
获取待清扫环境的地图信息;
根据所述地图信息将所述待清扫环境划分成多个子区域;
根据每个所述子区域的障碍物的分布确定每个所述子区域的第一清扫方向,包括:从所述地图信息中获取每个所述子区域中的所述障碍物分布图像;计算所述每个所述子区域中的所述障碍物分布图像的频谱图像;分别计算每个所述子区域对应的所述频谱图像中的障碍物分布辐射图中每个分布方向在各自对应的累加分布区间中的累加辐值,并将累加辐值最大的分布方向确定为每个所述子区域的所述第一清扫方向;其中,每个所述子区域的所述第一清扫方向为与所述清洁机器人在该子区域内的清扫路径平行的方向;
根据每个所述子区域的所述第一清扫方向,分别确定每个所述子区域的清扫遍历路径;
根据每个所述子区域的所述清扫遍历路径分别对每个所述子区域执行清扫操作。
2.根据权利要求1所述的清洁机器人的控制方法,其特征在于,包括:
在第一次对所述待清扫环境进行清扫时,进入所述根据每个所述子区域的所述障碍物的分布确定每个所述子区域的所述第一清扫方向的步骤;
在所述清洁机器人处于空闲状态的情况下,根据每个所述子区域中多个候选清扫方向生成的所述清扫路径的条数分别确定每个所述子区域的所述第一清扫方向。
3.根据权利要求2所述的清洁机器人的控制方法,其特征在于,所述根据每个所述子区域中多个候选清扫方向生成的所述清扫路径的条数分别确定每个所述子区域的所述第一清扫方向,包括:
对每个所述子区域采样多个所述候选清扫方向;
计算每个所述子区域的每个所述候选清扫方向生成的所述清扫路径的条数,选择所述清扫路径的条数最少的所述清扫方向分别作为每个所述子区域的所述第一清扫方向。
4.根据权利要求2所述的清洁机器人的控制方法,其特征在于,在所述清洁机器人处于空闲状态的情况下,根据每个所述子区域中多个候选清扫方向生成的所述清扫路径的条数确定每个所述子区域的所述第一清扫方向之后,所述方法还包括:
存储每个所述子区域的所述第一清扫方向以供再次遍历每个所述子区域时使用。
5.根据权利要求1所述的清洁机器人的控制方法,其特征在于,所述根据每个所述子区域的所述第一清扫方向,分别确定每个所述子区域的清扫遍历路径,包括:
根据每个所述子区域的所述第一清扫方向确定每个所述子区域的第二清扫方向,其中,每个子区域的所述第一清扫方向与所述第二清扫方向相垂直;
根据每个所述子区域的所述第二清扫方向生成多条平行的所述清扫路径作为所述清扫遍历路径;
所述根据每个所述子区域的所述清扫遍历路径分别对每个所述子区域执行清扫操作,包括:
根据每个所述子区域的多条平行的所述清扫路径分别对每个所述子区域执行清扫。
6.根据权利要求5所述的清洁机器人的控制方法,其特征在于,所述根据每个所述子区域的多条平行的所述清扫路径分别对每个所述子区域执行清扫,包括:
在一个所述子区域内执行清扫时,计算从当前清扫路径的末端点到相邻清扫路径的起点的路径长度;
若所述路径长度大于第一预设阈值,放弃所述相邻清扫路径,并从所述子区域内的多条所述清扫路径中选择具有距离所述末端点最近的端点的清扫路径进行清扫,直至所述子区域内所有的所述清扫路径完成清扫。
7.根据权利要求5所述的清洁机器人的控制方法,其特征在于,所述根据每个所述子区域的多条平行的所述清扫路径分别对每个所述子区域执行清扫,包括:
根据一个所述子区域的多条所述清扫路径在所述子区域的边界上的端点的相邻性,确定相连通的所述清扫路径;
计算相连通的所述清扫路径间的连通代价;
根据相连通的清扫路径及所述连通代价生成无向图;
根据所述无向图确定所述子区域的多条所述清扫路径的遍历顺序;
根据多条所述清扫路径的所述遍历顺序对所述子区域执行清扫。
8.根据权利要求7所述的清洁机器人的控制方法,其特征在于,所述相连通的所述清扫路径间的连通代价为相连通的所述清扫路径的首尾节点间的距离。
9.一种清洁机器人,包括存储单元、处理单元及存储在所述存储单元上并可在处理单元上运行的计算机程序,其特征在于,所述处理单元执行所述程序时实现如权利要求1至8任一项所述的控制方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的控制方法的步骤。

说明书全文

清洁机器人及其控制方法、存储介质

技术领域

[0001] 本发明涉及机器人自动控制领域,特别是涉及一种清洁机器人的控制方法及清洁机器人。

背景技术

[0002] 清洁机器人在室内执行清扫工作,需要实现定位、避障和路径规划等传统机器人所需要解决的问题。而对于路径规划,清洁机器人需要覆盖全部清扫环境,因此能很好适应环境变化的全遍历路径规划非常关键。
[0003] 但现有技术的路径规划存在路径遍历方向单一,在清扫环境中清扫时都采用相同的路径遍历方向,这样无法很好适配当前清扫环境,可能行走的路径的重复率比较高。同时部分现有解决方案采用固定规则的栅格遍历方法,但受环境影响可能会产生不必要的转弯路径,降低了工作效率。

发明内容

[0004] 为了解决上述技术问题,本发明提供一种清洁机器人的控制方法、清洁机器人及计算机可读存储介质。
[0005] 一种清洁机器人的控制方法,其包括:获取待清扫环境的地图信息;
根据所述地图信息将所述待清扫环境划分成多个子区域;
根据每个所述子区域的障碍物的分布确定每个所述子区域的第一清扫方向,包括:从所述地图信息中获取每个所述子区域中的所述障碍物分布图像;计算所述每个所述子区域中的所述障碍物分布图像的频谱图像;分别计算每个所述子区域对应的所述频谱图像中的障碍物分布辐射图中每个分布方向在各自对应的累加分布区间中的累加辐值,并将累加辐值最大的分布方向确定为每个所述子区域的所述第一清扫方向;其中,每个所述子区域的所述第一清扫方向为与所述清洁机器人在该子区域内的清扫路径平行的方向;
根据每个所述子区域的所述第一清扫方向,分别确定每个所述子区域的清扫遍历路径;
根据每个所述子区域的所述清扫遍历路径分别对每个所述子区域执行清扫操作。
[0006] 在一实施中,第一次对所述待清扫环境进行清扫时,进入所述根据每个所述子区域的所述障碍物的分布确定每个所述子区域的所述第一清扫方向的步骤;在所述清洁机器人处于空闲状态的情况下,根据每个所述子区域中多个候选清扫方向生成的所述清扫路径的条数分别确定每个所述子区域的所述第一清扫方向。
[0007] 在一实施中,所述根据每个所述子区域中多个候选清扫方向生成的所述清扫路径的条数分别确定每个所述子区域的所述第一清扫方向,包括:对每个所述子区域采样多个所述候选清扫方向;
计算每个所述子区域的每个所述候选清扫方向生成的所述清扫路径的条数,选择所述清扫路径的条数最少的所述清扫方向分别作为每个所述子区域的所述第一清扫方向。
[0008] 在一实施中,在所述清洁机器人处于空闲状态的情况下,根据每个所述子区域中多个候选清扫方向生成的所述清扫路径的条数确定每个所述子区域的所述第一清扫方向之后,所述方法还包括:存储每个所述子区域的所述第一清扫方向以供再次遍历每个所述子区域时使用。
[0009] 在一实施中,所述根据每个所述子区域的所述第一清扫方向,分别确定每个所述子区域的清扫遍历路径,包括:根据每个所述子区域的所述第一清扫方向确定每个所述子区域的第二清扫方向,其中,每个子区域的所述第一清扫方向与所述第二清扫方向相垂直;
根据每个所述子区域的所述第二清扫方向生成多条平行的所述清扫路径作为所述清扫遍历路径;
所述根据每个所述子区域的所述清扫遍历路径分别对每个所述子区域执行清扫操作,包括:
根据每个所述子区域的多条平行的所述清扫路径分别对每个所述子区域执行清扫。
[0010] 在一实施中,所述根据每个所述子区域的多条平行的所述清扫路径分别对每个所述子区域执行清扫,包括:在一个所述子区域内执行清扫时,计算从当前清扫路径的末端点到相邻清扫路径的起点的路径长度;
若所述路径长度大于第一预设阈值,放弃所述相邻清扫路径,并从所述子区域内的多条所述清扫路径中选择具有距离所述末端点最近的端点的清扫路径进行清扫,直至所述子区域内所有的所述清扫路径完成清扫。
[0011] 在一实施中,所述根据每个所述子区域的多条平行的所述清扫路径分别对每个所述子区域执行清扫,包括:根据一个所述子区域的多条所述清扫路径在所述子区域的边界上的端点的相邻性,确定相连通的所述清扫路径;
计算相连通的所述清扫路径间的连通代价;
根据相连通的清扫路径及所述连通代价生成无向图;
根据所述无向图确定所述子区域的多条所述清扫路径的遍历顺序;
根据多条所述清扫路径的所述遍历顺序对所述子区域执行清扫。
[0012] 在一实施中,所述相连通的所述清扫路径间的连通代价为相连通的所述清扫路径的首尾节点间的距离。
[0013] 本发明还提供一种清洁机器人,包括存储单元、处理单元及存储在所述存储单元上并可在处理单元上运行的计算机程序,所述处理单元执行所述程序时实现上述的控制方法的步骤。
[0014] 本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的所述的控制方法的步骤。
[0015] 在本申请实施例中,通过待清扫环境的地图信息将所述待清扫环境划分成多个子区域;根据每个所述子区域的障碍物的分布确定每个所述子区域的第一清扫方向;根据每个所述子区域的所述第一清扫方向,分别确定每个所述子区域的清扫遍历路径;根据每个所述子区域的所述清扫遍历路径分别对每个所述子区域执行清扫操作。本申请实施例中在每个子区域中都会根据每个子区域的清扫环境中确定路径遍历方向,这样能更好地适配当前清扫环境,从而尽可能减少转弯次数和遗漏的遍历区域,清洁机器人的路径重复率更低,工作效率更高。附图说明
[0016] 图1为本申请一实施例中的清洁机器人的结构框图;图2为本申请一实施例中的清洁机器人的底部示意图;
图3为本申请一实施例中清洁机器人的顶部示意图;
图4为本申请一实施例中的清洁机器人的底部另一示意图;
图5为现有技术中的一个示例中的清洁机器人的清扫路径示意图;
图6为本申请一实施例中的清洁机器人的控制方法流程图
图7为本发明应用本申请一实施例中的清洁机器人的清扫路径示意图;
图8为本发明一实施例中步骤S13的流程示意图;
图9为本发明另一实施例中步骤S13的流程示意图;
图10为本发明一实施例中的第一清扫方向的计算方式示意图;
图11为本发明一实施例中的步骤S14的流程示意图;
图12为本发明应用本申请一实施例中的清洁机器人的清扫路径计算示意图;
图13为本发明一实施例中的步骤S15的流程示意图。

具体实施方式

[0017] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0018] 需要说明的是,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。例如,A“和/或”B,包括:A、B、A和B以及A或B的情况。
[0019] 请参阅图1,图1为本申请一实施例中的清洁机器人的结构框图,清洁机器人属于自主移动机器人的一种,清洁机器人例如为扫地机器人。另外,在本申请的其他实施例中,自主移动机器人还可以是其他机器人。如图1所示,所述清洁机器人10包括:图像采集单元110、电池单元120、驱动单元130、左轮131、右轮132、导向轮133、清扫单元140、处理单元
150、存储单元160以及障碍物检测单元170。
[0020] 图像采集单元110用于采集清洁机器人10当前环境的图像。图像采集单元110包括二维摄像头、三维摄像头中的一个或者多个摄像头。例如,一个二维摄像头可以被置于清洁机器人10的上表面或者清洁机器人10的前部,如图3所示,并且采集清洁机器人10前方的图像。
[0021] 再例如,一个三维摄像头被置于清洁机器人10的前部,并且采集清洁机器人10查看的三维图像,如图3所示。三维图像包括关于从待采集对象到待采集对象的二维图像的距离的信息。可以采用立体相机模或深度传感器模块作为三维摄像头。
[0022] 图像采集单元110可以包括TOF深度传感器、RGB图像传感器或结构光图像传感器中的一个或多个。
[0023] 图像采集单元110可以进一步包括图形处理单元,其根据需要处理采集的图像。如改变摄像头采集的图像的尺寸或分辨率
[0024] 请一并参阅图2,图2为本申请一实施例中的清洁机器人的底部示意图,及如图4所示,图4为本申请一实施例中的清洁机器人的底部另一示意图。如图2所示,电池单元120包括充电电池、分别与充电电池连接的充电电路及充电电池的电极。充电电池的数量为一个或多个,充电电池可以为清洁机器人10提供运行所需的电能。电极可以设置在清洁机器人的机身侧面或者机身底部。电池单元120还可以包括电池参数检测组件,电池参数检测组件用于检测电池参数,例如,电压电流、电池温度等。在清洁机器人10的工作模式切换到回充模式时,清洁机器人10开始寻找充电桩,并利用充电桩为清洁机器人10充电。
[0025] 驱动单元130包括用于施加驱动电机。驱动单元130连接清扫单元140、左轮131、右轮132和导向轮133。在处理单元150的控制下,驱动单元130可以驱动清扫单元140、左轮131、右轮132和导向轮133。或者,驱动单元130包括:清扫驱动单元、左轮驱动单元、右轮驱动单元和导向轮驱动单元,清扫驱动单元与清扫单元140连接,左轮驱动单元与左轮
131连接,右轮驱动单元与右轮132连接,导向轮驱动单元与导向轮133连接。此外,所述驱动单元130还可包括机驱动单元。
[0026] 左轮131及右轮132(其中左轮、右轮也可以称为行进轮、驱动轮)分别以对称的方式居中地布置在清洁机器人的机器主体的底部的相对侧,且至少部分位于清洁机器人10的壳体内,使所述清洁机器人10在地面上移动。在执行清洁期间执行包括向前运动、向后运动及旋转的运动操作。导向轮133可设置在机器主体前部或者后部。
[0027] 清扫单元140包括:主刷141、一个或者多个边刷142、水箱组件180。主刷141安装在清洁机器人10的机体底部。可选地,主刷141是以滚轮型相对于接触面转动的鼓形转刷。边刷142安装在清洁机器人10的底面的前端的左右边缘部分。即,边刷142被大致安装在多个行进轮的前方。边刷142用于清扫主刷141不能清扫的清扫区域。而且,边刷142不仅可以原地旋转,而且可以被安装为向清洁机器人10的外部突出,以使得可以扩大清洁机器人10清扫的区域。
[0028] 如图4所示,水箱组件180附接在清洁机器人10的底盘90上,水箱组件180包括拖布1801及水箱1802。水箱1802用于向地面洒水,拖布1801用于地面的拖地。
[0029] 清洁机器人10还包括风机(图未示),风机内置于机体的内部,风机用于产生吸尘所需的风力
[0030] 障碍物检测单元170用于对清洁机器人10的周侧环境进行检测,从而发现障碍物、墙面、台阶和用于对清洁机器人10进行充电的充电桩等环境物体。障碍物检测单元170还用于向控制模块提供清洁机器人10的各种位置信息和运动状态信息。障碍物检测单元170可包括陡壁接近度传感器171(也称悬崖传感器)、超声传感器、红外传感器、磁力计、三轴加速度计、陀螺仪里程计激光雷达传感器LDS、声波传感器、摄像头、霍尔传感器等。本实施例对障碍物检测单元170的个数及所在位置不作限定。
[0031] 处理单元150设置在清洁机器人10的机体内的电路板上,可以根据障碍物检测单元170反馈的周围环境物体的信息和预设的定位算法,绘制清洁机器人10所处环境的即时地图。处理单元150还可以根据陡壁接近度传感器171、超声传感器、红外传感器、磁力计、加速度计、陀螺仪、里程计等装置反馈的距离信息和速度信息综合判断清洁机器人10当前所处的工作状态。处理单元150可以被一个或多个应用专用集成电路(ASIC)、数字信号处理单元150(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程阵列(FPGA)、处理单元150、微处理单元150、微处理单元150或其他电子元件实现。
[0032] 存储单元160用于存储指令和数据,所述数据包括但不限于:地图数据、控制清洁机器人10操作时产生的临时数据,如清洁机器人10的位置数据、速度数据等等。处理单元150可以读取存储单元160中存储的指令执行相应的功能。存储单元160可以包括随机存取存储单元(Random Access Memory,RAM)和非易失性存储单元(Non-Volatile Memory,NVM)。非易失性存储单元可以包括硬盘驱动器(Hard Disk Drive,HDD),固态硬盘(Solid State Drives,SSD),磁盘驱动器(Silicon disk drive,SDD),只读存储单元(Read-Only Memory,ROM),只读光盘(Compact Disc Read-Only Memory,CD-ROM),磁带,软盘,光数据存储设备等。
[0033] 可以理解的是,在一个或者多个实施例中,清洁机器人10还可以包括输入输出单元、位置测量单元、无线通信单元、显示单元等。
[0034] 请参阅图3,图3为本申请一实施例中清洁机器人的顶部示意图。其中,图3和图2分别为清洁机器人10在两个不同视的示意图。如图3所示,图像采集单元110设置在清洁机器人10的侧面,用于采集前方环境图像。如图2所示,清洁机器人10的底部设置有左轮131、右轮132,导向轮133、清扫单元140、电池单元120。用封盖将电池单元120中的充电电池封装在在清洁机器人10的内部,防止其掉落。充电电池的电极121和电极122中的一个为正极,另一个为负极。
[0035] 需要说明的是,清洁机器人10中的各单元或组件之间的连接关系不限于图1所示的连接关系。例如,处理单元150与其他单元或组件之间可以通过总线连接。
[0036] 需要说明的是,清洁机器人10还可以包括其他单元或组件,或者,仅包括上述部分单元或组件,本申请实施例对此不作限定,仅以上述清洁机器人10为例进行说明。
[0037] 请参考图5,为现有技术的一个示例中的清洁机器人的清扫路径的示意图,在现有技术中虽然将清扫环境分成了多个区域,例如区域A、区域B、区域C。但区域A、区域B、区域C中都是一样的清扫方向,例如,在区域A及区域B中,针对狭长的清扫区域、三角区域、不规则区域等,清洁机器人的路径重复率较高;同时会造成清洁机器人比较多的转弯路径,从而降低了清扫效率。
[0038] 请参阅图6,在一个实施例中,提供一种清洁机器人的控制方法,以该方法应用于图1-4中的清洁机器人10为例进行说明,包括如下步骤:步骤S11,获取待清扫环境的地图信息。
[0039] 在本实施例中,通过读取已经生成的待清扫环境的地图信息,或者预存的房间布局地图信息等,为后面的清扫区域的划分和路径的生成做准备。
[0040] 其中,待清扫环境的地图信息可以是具备激光探测器或者红外探测器的清洁机器人自动侦测生成的障碍物的占据概率栅格地图,也可以是已经预存的房间布局图等,在此不做具体限制。在一个实施例中,清洁机器人探测外界的障碍物,探测信息包括探测射线的观测范围以及探测到的外界障碍物到机器人的距离信息,识别并匹配当前的环境特征与地图信息中的特征,清洁机器人可以实现定位当前位置信息。
[0041] 优选地,在一可选地实施例中,清洁机器人自动侦测生成地图的步骤中,并不需要构建完整的地图,只需已经构建的地图满足后续的控制方法中的子区域划分的条件,即可停止清洁机器人建立地图,清洁机器人会在遍历地图的过程中同时构建地图。
[0042] 优选地,在另一实施例中,当已知的地图未封闭且存在未知区域时,清洁机器人可在前往未知区域执行侦测和建立地图步骤。
[0043] 步骤S12,根据所述地图信息将所述待清扫环境划分成多个子区域。
[0044] 其中,多个子区域之间互相独立且不重合,这样可以实现清扫区域的不重合。当然,本领域技术人员应当知道,也可以设置某些子区域可以重合,例如需要重点清扫的地方对应的子区域可以重合,这样有利于提升清扫效果。
[0045] 具体的,多个子区域可以是大小相同/不同的矩形;或者,多个子区域为形状相同或不同的、大小相同或不同的多边形。
[0046] 本领域技术人员应当知道,在本实施例中,多个子区域根据地图中的总面积、局部面积、相邻关系与障碍分布而设置,所设置的多个子区域的边界变得更为合理,如局部狭长的一个较大子区域可分而设置成两个较小的子区域,能很好地减少后续生成路径的不连续性。
[0047] 在另一个实施例中,根据预设矩形或多边形的区域设置地图中的子区域,可以在地图未完全建立的情况下预先设置子区域,此方法能减少分区对地图的依赖度,在已建立的地图比较零散时效果较好;使得清洁机器人在预设区域内可预知地遍历各个子区域,减少清洁机器人探索环境的难度。
[0048] 请一并结合图7,在一具体示例中,将待清扫环境分成了多个区域,例如区域A、区域B、区域C;其中,A、B、C为根据房间的边界、障碍物的分布设置的三个大小形状不等的矩形。
[0049] 步骤S13,分别计算所述多个子区域中每个所述子区域的第一清扫方向,其中,每个所述子区域的所述第一清扫方向为所述清洁机器人在该子区域内的清扫路径平行的方向。
[0050] 具体的,针对每个所述子区域,依据子区域的形状、障碍物的分布,都有对应的最优清扫方向,找到最优清扫方向可以减少路径重复率,拐弯次数以提高清扫效率。
[0051] 每个所述子区域的所述第一清扫方向可以理解为与所述清洁机器人在该子区域内的清扫路径大致平行的方向。在子区域中没有障碍物时,一条清扫路径可以理解是一条清扫直线,子区域中的这些清扫直线平行。在子区域中有障碍物时,可能某一条或者多条清扫路径中有一小段有弯曲,但从整体上看,子区域中的这些清扫路径也是大致平行的。
[0052] 可选地,在一较佳的实施例中,每个所述子区域的所述第一清扫方向为每个所述子区域内生成所述清扫路径的条数最少的方向。其中,所述子区域内生成所述清扫路径的条数最少的方向指的是,以预设的角度间隔预先生成多个候选的清扫方向,计算每个清扫方向上对该子区域进行遍历清扫的清扫路径的条数最少的一个方向。通过选择每个所述子区域内生成所述清扫路径的条数最少的方向为最优清扫方向,可以减少拐弯次数,降低路径的重复率,从而提高清扫效率。
[0053] 具体的,请一并结合图8,所述步骤S13中,具体采用根据每个所述子区域中多个候选清扫方向生成的所述清扫路径的条数分别确定每个所述子区域的所述第一清扫方向;包括步骤:步骤S131,对每个所述子区域采样多个所述候选清扫方向;本实施例的采样分法可以为,以预设的角度间隔,从0~180度范围内等间隔采样多个角度作为可能的清扫方向作为候选清扫方向。
[0054] 步骤S132,计算每个所述子区域的每个所述候选清扫方向生成的所述清扫路径的条数,选择所述清扫路径的条数最少的所述清扫方向分别作为每个所述子区域的所述第一清扫方向。
[0055] 可选地,在另一较佳的实施例中,每个所述子区域的所述第一清扫方向为沿着每个所述子区域的最长的边界的方向。特别地,针对狭长型的子区域,选择子区域的最长的边界的方向作为第一清扫方向,有助于降低清扫重复率和减少转弯。
[0056] 具体地,在另一较佳的实施例中,请一并结合图9和图10,所述步骤S13中,具体采用根据每个所述子区域的障碍物的分布确定每个所述子区域的所述第一清扫方向;包括步骤:步骤S133,从所述地图信息中获取每个所述子区域中的所述障碍物分布图像。
[0057] 由于障碍物的分布情况会影响可能生成的清扫路径,且一般结论认为沿着墙垂直或平行的方向移动清扫,所形成的清扫路径更加规整而高效,因此,通过提取所述子区域中的所述障碍物分布图像,做进一步分析,可以针对性的计算出每个子区域的第一清扫方向,即每个子区域的最优清扫方向。
[0058] 步骤S134,计算所述每个所述子区域中的所述障碍物分布图像的频谱图像。
[0059] 障碍物的分布情况体现在障碍物分布图像的纹理方向,障碍物分布图像中不同的纹理方向会在频谱图中形成不同的辐射状的图案,计算频谱中辐射状图案的主要分布方向,可获取障碍物图像的主要纹理方向,进而获取障碍物的主要分布方向,这样就能找出子区域的最长的边界的方向。
[0060] 步骤S135,分别计算每个所述子区域对应的所述频谱图像中的障碍物分布辐射图中每个分布方向在各自对应的累加分布区间中的累加辐值,并将累加辐值最大的分布方向确定为每个所述子区域的所述第一清扫方向。
[0061] 在本实施例中,在每个子区域中,采用计算每个所述子区域对应的所述频谱图像中的障碍物分布辐射图中每个分布方向在各自对应的累加分布区间中的累加辐值,计算频谱中更能反应辐射状图案的主要分布方向,进而可获取障碍物图像的主要纹理方向,从而使后续生成的路径更符合障碍物的分布情况。
[0062] 具体的,在本实施例中,对一个子区域对应的所述频谱图像中的障碍物分布辐射图中可能有一个或者多个累加分布方向,对每个分布方向计算各自对应的累加分布区间中的累加辐值,通过累加辐值最大的分布方向能表示子区域的最长的边界的方向,并将累加辐值最大的分布方向确定为该子区域的所述第一清扫方向,即最优清扫方向。例如,如图10所示,在一个子区域对应的所述频谱图像中的障碍物分布辐射图中有三个分布方向,Y1、Y2、Y3,这三个分布方向的累加分布区间分别为Q1、Q2、Q3,若计算出在Y3这个分布方向计算出的累加辐值最大,则Y3即为该子区域的第一清扫方向。
[0063] 其他实施例中,沿着环境中障碍物分布的主要方向清扫可生成规整且高效的清扫路径,通过提取地图图像中的障碍物部分从而获取障碍物分布图像,并计算障碍物分布图像的频谱图像,获取频谱图像中的辐射状图案的主要方向,作为最优清扫方向。具体的,可将障碍物分布辐射图中幅值大于预设阈值的一个或多个分布方向作为备选,从备选中随机选择分布方向或者选择幅值最大的分布方向确定为每个对应所述子区域的所述第一清扫方向。
[0064] 在本实施例中,对于根据障碍物确定所述最优清扫方向的计算方式,是沿着障碍物分布的方向或其垂直方向移动,无需多次计算每个可能方向的清扫路径及其遍历顺序,相比于选择清扫路径数量最少的方向作为清扫方向的计算方式,计算量较小,因此计算速度较快。在要求短时间内获取最优清扫方向的场景,例如首次遍历的新环境,根据障碍物确定所述最优清扫方向的计算方式能较快地得到较好的清扫方向,是一种性价比高的计算方式。
[0065] 对于选择清扫路径数量最少的方向作为清扫方向的计算方式,此方法需要多次计算每个可能方向的清扫路径及其遍历顺序,计算比较耗时,适合在计算任务较少的情况下选用。
[0066] 优选地,在一实施例中,分别计算所述多个子区域中每个所述子区域的第一清扫方向的方式,可以根据清洁机器人的工作状态进行选择,具体包括:在第一次对所述待清扫环境进行清扫时,进入根据每个所述子区域的所述障碍物的分布确定每个所述子区域的所述第一清扫方向的步骤;
在所述清洁机器人处于空闲状态的情况下,根据每个所述子区域中所述多个候选清扫方向生成的所述清扫路径的条数确定每个所述子区域的所述第一清扫方向。具体的,在清洁机器人空闲的情况下,计算所有的地图信息中的各个子区域的最优清扫方向并且保存在存储器中,供再次遍历地图区域时使用。
[0067] 可选地,在另一较佳的实施例中,清洁机器人的处于等待指令的空闲状态,可以确定每个所述子区域的所述第一清扫方向为沿着每个所述子区域的最长的边界的方向。特别地,针对狭长型的子区域,选择子区域的最长的边界的方向作为第一清扫方向,有助于降低清扫重复率和减少转弯。
[0068] 另外,在另一种实施方式中,清洁机器人的处于等待指令的空闲状态,且地图中存在未设置子区域的未知区域时,清洁机器人可以设置对此未知区域执行划分子区域并且计算其最优清扫方向的步骤。
[0069] 可以理解的是,对于不同的应用环境,可能面临的需求有所不同,可以灵活调整最优清扫方向来提升工作效率,相对于现有的栅格遍历方法,大大减少了不必要的转弯路径。
[0070] 步骤S14,根据每个所述子区域的所述第一清扫方向,分别确定每个所述子区域的清扫遍历路径。
[0071] 具体的,在子区域确定第一清扫方向后,清洁机器人在该子区域内从起点开始按照第一清扫方向来回的清扫路径,即为所述子区域的清扫遍历路径。
[0072] 步骤S15,根据每个所述子区域的所述清扫遍历路径分别对每个所述子区域执行清扫操作。
[0073] 请再次结合图7,区域A、区域B、区域C具有不同的第一清扫方向,分别根据每个子区域的对应生成各自子区域的清扫遍历路径,然后分别对每个所述子区域执行清扫操作。相对于图5中的现有技术,在每个子区域中会各自计算各自区域的第一清扫方向,例如在区域A中,采用计算后的第一清扫方向生成后,相对于图5中的清扫方式,清洁机器人的路径重复率更低,转弯路径更少,机器人的工作效率更高。
[0074] 在本申请中,通过待清扫环境的地图信息将所述待清扫环境划分成多个子区域;分别计算所述多个子区域中每个所述子区域的第一清扫方向;根据每个所述子区域的所述第一清扫方向,分别确定每个所述子区域的清扫遍历路径;根据每个所述子区域的所述清扫遍历路径分别对每个所述子区域执行清扫操作。本申请实施例中在每个子区域中都会根据每个子区域的清扫环境中确定路径遍历方向,这样能更好地适配当前清扫环境,从而尽可能减少转弯次数和遗漏的遍历区域,清洁机器人的路径重复率更低,工作效率更高。
[0075] 可选地,请一并结合图11和图12,在一较佳的实施例中,步骤S14具体包括:步骤S141,根据每个所述子区域的所述第一清扫方向确定每个所述子区域的第二清扫方向,其中,每个子区域的所述第一清扫方向与所述第二清扫方向相垂直。
[0076] 步骤S142,根据每个所述子区域的所述第二清扫方向生成多条平行的所述清扫路径作为所述清扫遍历路径。
[0077] 在本实施例中,可以分别沿着与所述第一清扫方向相垂直的第二清扫方向,将所述子区域的边界进行等间距离散化,获得若干节点的集合,并连接在所述第一清扫方向上共线的节点,形成多条平行的清扫直线集合,即将多条平行的所述清扫路径作为所述清扫遍历路径。
[0078] 在本实施例中,步骤S15具体包括:根据每个所述子区域的多条平行的所述清扫路径分别对每个所述子区域执行清扫。
[0079] 可选地,在确定每个所述子区域的清扫遍历路径为多条平行的所述清扫路径后,多条平行的所述清扫路径的遍历顺序可以根据实际情况进行设置。
[0080] 例如,在一实施例中,步骤S15,根据每个所述子区域的多条平行的所述清扫路径分别对每个所述子区域执行清扫,具体包括:在一个所述子区域内执行清扫时,计算从当前清扫路径的末端点到相邻清扫路径的起点的路径长度;
若所述路径长度大于第一预设阈值,放弃所述相邻清扫路径,并从所述子区域内的多条所述清扫路径中选择具有距离所述末端点最近的端点的进行清扫,直至所述子区域内所有的所述清扫路径完成清扫。
[0081] 本实施例中,针对相邻两条清扫路径之间的连通路径过长的情况,若连通路径过长,放弃所述相邻清扫路径,并从所述子区域内的多条所述清扫路径中选择具有距离所述末端点最近的端点的清扫路径进行清扫,直至所述子区域内所有的所述清扫路径完成清扫,可以避免较大的转弯和非必要的清扫线路。
[0082] 进一步地,根据相邻两条清扫路径之间的连通路径可以加权计算连通代价,生成最优化的多条平行的所述清扫路径的遍历顺序。具体的,请一并结合图12和图13,在一实施例中,步骤S15,根据每个所述子区域的多条平行的所述清扫路径分别对每个所述子区域执行清扫,具体包括:步骤S151,根据一个所述子区域的多条所述清扫路径在所述子区域的边界上的端点的相邻性,确定相连通的所述清扫路径。具体的,若两直线的节点在区域边界上相邻,则认为两直线在对应节点上连通;例如图11中,H1H2、H4H3、H5H6、H8H7、H9H10为依次连通的清扫路径。
[0083] 步骤S152,计算相连通的所述清扫路径间的连通代价。具体的,相连通的所述清扫路径间的连通代价为相连通的所述清扫路径的首尾节点间的距离。若连通代价大于设定阈值,则认为两直线不连通。
[0084] 步骤S153,根据相连通的清扫路径及所述连通代价生成无向图。
[0085] 步骤S154,根据所述无向图确定所述子区域的多条所述清扫路径的遍历顺序。
[0086] 本领域技术人员可以知道,无向图可以用于求解连通性。在本实施例中求以最小代价遍历无向图的所有节点的路径,则得到清扫路径集合的遍历顺序。其中,求解方法可以采用如贪心算法、动态规划法等求解,在此不再赘述。
[0087] 步骤S155,根据多条所述清扫路径的所述遍历顺序对所述子区域执行清扫。
[0088] 本实施例中,根据相邻两条清扫路径之间的连通路径可以加权计算连通代价,生成最优化的多条平行的所述清扫路径的遍历顺序,由此实现的清洁机器人的控制方法,能够适配各种环境特别是复杂地形或者障碍物较多的场合,而且具有转弯路径少的优点。
[0089] 请再次结合图1-13,本发明提供的一种清洁机器人10,所述处理单元150存储单元160存储的所述程序时实现上述任一实施例的控制方法的步骤。
[0090] 需要说明的是,由于清洁机器人10的处理单元150执行计算机程序时实现上述的控制方法的步骤,因此上述方法的所有实施例均适用于该清洁机器人10,且均能达到相同或相似的有益效果。
[0091] 发明还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中的控制方法。
[0092] 需要说明的是,由于计算机可读存储介质的计算机程序被处理器执行时实现上述的控制方法,因此上述方法的所有实施例均适用于该计算机可读存储介质,且均能达到相同或相似的有益效果。
[0093] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈