清洁机器人控制方法和清洁机器人转让专利

申请号 : CN201710764950.5

文献号 : CN108209741B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴悠李昂

申请人 : 深圳乐动机器人有限公司

摘要 :

本发明涉及一种清洁机器人控制方法,包括:探测清洁机器人所处环境信息,生成清洁环境地图,所述清洁环境地图中包括障碍物信息和无障碍物区域;网络划分所述清洁环境地图,生成若干个清洁子区域;根据所述清洁子区域内的障碍物信息和无障碍物区域生成相应清洁子区域内的清洁路径,控制所述清洁机器人按照所述清洁子区域内的清洁路径逐一对所述清洁子区域进行清洁。上述方法能够使清洁机器人的清洁覆盖度更大、清洁效率更高。

权利要求 :

1.一种清洁机器人控制方法,所述方法包括:

探测清洁机器人所处环境信息,生成清洁环境地图,所述清洁环境地图中包括障碍物信息和无障碍物区域;

所述探测清洁机器人所处环境信息,生成清洁环境地图,包括:生成标注有最大清洁空间的空白地图;获取所述清洁机器人的当前位置和机器人朝向,映射所述清洁机器人的当前位置至所述空白地图中的设定位置,以映射到所述空白地图中的设定位置为坐标原点,根据所述机器人朝向以及所述空白地图中的设定位置生成所述空白地图的二维坐标系;通过安装在所述清洁机器人上的探测传感器获取清洁机器人所处的环境信息,根据生成的所述二维坐标系中坐标原点在所述空白地图中的设定位置和所述环境信息,在所述空白地图的相应位置生成障碍物特征并标识无障碍物区域,得到清洁环境地图;

根据所述清洁环境地图的大小以及障碍物的分布情况对所述清洁环境地图进行网络划分,生成若干个清洁子区域;查找所述清洁环境地图中是否存在满足设定条件的直线特征障碍物,若是,计算所述满足预设条件的直线特征障碍物与所述二维坐标系的夹角;根据所述夹角对应的角度旋转所述二维坐标系,使任一坐标轴与所述直线特征障碍物的长边平行或者垂直;以旋转后的所述二维坐标系的坐标轴为网格行和网格列的取向网格划分所述清洁环境地图,划分的每个网格为清洁子区域;

根据所述清洁子区域内的障碍物信息和无障碍物区域生成相应清洁子区域内的清洁路径,包括:根据划分到每个所述清洁子区域内的障碍物信息,确定每个所述清洁子区域的可行走区域;当所述清洁子区域内未包含未探测区域时,则所述可行走区域为所述无障碍物区域;当所述清洁子区域内包含未探测区域时,则所述可行走区域为经二次探测后确定的无障碍物区域;在确定的所述可行走区域内生成清洁路径,所述清洁路径包括直行路段和折弯路段;

控制所述清洁机器人按照所述清洁子区域内的清洁路径逐一对所述清洁子区域进行清洁。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

查找所述清洁子区域内的无障碍物区域是否存在面积小于设定阈值的狭小区域;

若是,则将去除狭小区域的无障碍区域作为可行走区域。

3.根据权利要求1所述的方法,其特征在于,所述在确定的所述可行走区域内生成清洁路径,包括:

在所述可行走区域内生成多条待选的清洁路径;

计算每个待选的所述清洁路径的折弯次数和直线行走长度;

根据折弯次数和/或所述直线行走长度选取合适的清洁路径。

4.根据权利要求3所述的方法,其特征在于,待选的所述清洁路径是直行路段平行于所在清洁子区域某一边缘线的清洁路径、直行路段垂直于所在清洁子区域的所述边缘线的清洁路径以及直行路段平行于所在清洁子区域内的直线特征障碍物长边的清洁路径中的任意一种。

5.一种清洁机器人,其特征在于,包括:

传感器,用于探测清洁机器人所处环境信息,将所述环境信息发送至控制器;获取所述清洁机器人的当前位置和机器人朝向;

控制器,与所述传感器相连,用于接收传感器探测到的环境信息,根据所述环境信息生成清洁环境地图,所述清洁环境地图中包括障碍物信息和无障碍物区域;生成标注有最大清洁空间的空白地图;接收所述传感器获取的所述清洁机器人的当前位置信息和机器人朝向,映射所述当前位置信息至所述空白地图中的设定位置,以映射的所述空白地图中的设定位置为坐标原点,根据所述机器人朝向以及所述空白地图中的设定位置生成所述空白地图的二维坐标系;根据生成的所述二维坐标系中坐标原点在所述空白地图中的设定位置和所述传感器探测的环境信息,在所述空白地图的相应位置生成障碍物特征并标识无障碍物区域,得到清洁环境地图;根据所述清洁环境地图的大小以及障碍物的分布情况对所述清洁环境地图进行网络划分,生成若干个清洁子区域;查找所述清洁环境地图中是否存在满足设定条件的直线特征障碍物,若是,计算所述满足预设条件的直线特征障碍物与所述二维坐标系的夹角;根据所述夹角对应的角度旋转所述二维坐标系,使任一坐标轴与所述直线特征障碍物的长边平行或者垂直;以旋转后的所述二维坐标系的坐标轴为网格行和网格列的取向网格划分所述清洁环境地图,划分的每个网格为清洁子区域;根据所述清洁子区域内的障碍物信息和无障碍物区域生成相应清洁子区域内的清洁路径,根据划分到每个所述清洁子区域内的障碍物信息,确定每个所述清洁子区域的可行走区域;当所述清洁子区域内未包含未探测区域时,则所述可行走区域为所述无障碍物区域;当所述清洁子区域内包含未探测区域时,则所述可行走区域为二次探测后确定的无障碍物区域;在确定的所述可行走区域内生成清洁路径,所述清洁路径包括直行路段和折弯路段;并根据所述清洁路径控制执行组件;

执行组件,与所述控制器相连,用于在所述控制器的控制下按照所述清洁子区域内的清洁路径逐一对所述清洁子区域进行清洁。

6.根据权利要求5所述的清洁机器人,其特征在于,所述控制器,还用于查找所述清洁子区域内的无障碍物区域是否存在面积小于设定阈值的狭小区域;若是,则将去除狭小区域的无障碍区域作为可行走区域。

7.根据权利要求5所述的清洁机器人,其特征在于,所述控制器,还用于在所述可行走区域内生成多条待选的清洁路径;计算每个待选的所述清洁路径的折弯次数和直线行走长度;根据折弯次数和/或所述直线行走长度选取合适的清洁路径。

8.根据权利要求5所述的清洁机器人,其特征在于,待选的所述清洁路径是直行路段平行于所在清洁子区域某一边缘线的清洁路径、直行路段垂直于所在清洁子区域的所述边缘线的清洁路径以及直行路段平行于所在清洁子区域内的直线特征障碍物长边的清洁路径中的任意一种。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述方法的步骤。

说明书 :

清洁机器人控制方法和清洁机器人

技术领域

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

背景技术

[0002] 清洁机器人是在用户没有干预的情况下自动地行走于地面吸入地面上存在的异物的智能机器人。市面上的清洁机器人形态各异,其中以圆形主体的机器人为主。
[0003] 然而无论何种形态的清洁机器人,均基于传统的清洁方式进行清洁。传统的机器人清洁方式为:机器人在执行清洁任务期间,通过设置在主体上的传感器感测清洁区域内的障碍物,当检测到即将触碰到障碍物时,随机旋转方向或者旋转固定角度来躲避障碍物,然后基于旋转后的角度继续直线或者S形曲线清洁,直至遇到下一个障碍物。传统的清洁机器人的清洁方式没有对清洁路径进行全局的规划,清洁路径杂乱低效,清洁覆盖度低。

发明内容

[0004] 基于此,有必要针对上述问题,提供一种使清洁覆盖度更大、清洁效率更高的清洁机器人控制方法和清洁机器人。
[0005] 一种清洁机器人控制方法,所述方法包括:
[0006] 探测清洁机器人所处环境信息,生成清洁环境地图,所述清洁环境地图中包括障碍物信息和无障碍物区域;
[0007] 网络划分所述清洁环境地图,生成若干个清洁子区域;
[0008] 根据所述清洁子区域内的障碍物信息和无障碍物区域生成相应清洁子区域内的清洁路径,控制所述清洁机器人按照所述清洁子区域内的清洁路径逐一对所述清洁子区域进行清洁。
[0009] 在一个实施例中,所述探测清洁机器人所处环境信息,生成清洁环境地图,包括:
[0010] 当监听到清洁指令时,生成空白地图;
[0011] 获取所述清洁机器人的当前位置和机器人朝向,映射所述清洁机器人的当前位置至所述空白地图中的设定位置,以映射的所述设定位置为坐标原点生成所述空白地图的二维坐标系;
[0012] 通过安装在所述清洁机器人上的探测传感器获取清洁机器人所处的环境信息,根据生成的所述二维坐标系和所述环境信息,在所述空白地图的相应位置生成障碍物特征并标识无障碍物区域,得到清洁环境地图。
[0013] 在一个实施例中,所述网络划分所述清洁环境地图,生成若干个清洁子区域,包括:
[0014] 以所述二维坐标系的坐标轴为网格行和网格列的取向网格划分所述清洁环境地图,划分的每个网格为清洁子区域。
[0015] 在一个实施例中,所述网络划分所述清洁环境地图,生成若干个清洁子区域,包括:
[0016] 查找所述清洁环境地图中是否存在满足设定条件的直线特征障碍物,若是,旋转所述二维坐标系使任一坐标轴与所述直线特征障碍物的长边平行或者垂直;
[0017] 以旋转后的所述二维坐标系的坐标轴为网格行和网格列的取向网格划分所述清洁环境地图,划分的每个网格为清洁子区域。
[0018] 在一个实施例中,所述根据所述清洁子区域内的障碍物信息和无障碍物区域生成相应清洁子区域内的清洁路径,包括:
[0019] 根据划分到每个所述清洁子区域内的障碍物信息,确定每个所述清洁子区域的可行走区域;
[0020] 在确定的所述可行走区域内生成清洁路径,其中,所述清洁路径包括直行路段和折弯路段。
[0021] 在一个实施例中,所述在确定的所述可行走区域内生成清洁路径,包括:
[0022] 在所述可行走区域内生成多条待选的清洁路径;
[0023] 计算每个待选的所述清洁路径的折弯次数和直线行走长度;
[0024] 根据折弯次数和/或所述直线行走长度选取合适的清洁路径。
[0025] 在一个实施例中,待选的所述清洁路径是直行路段平行于所在清洁子区域某一边缘线的清洁路径、直行路段垂直于所在清洁子区域的所述边缘线的清洁路径以及直行路段平行于所在清洁子区域内的直线特征障碍物长边的清洁路径中的任意一种。
[0026] 一种清洁机器人,其特征在于,包括:
[0027] 传感器,用于探测清洁机器人所处环境信息,将所述环境信息发送至控制器;
[0028] 控制器,与所述传感器相连,用于接收传感器探测到的环境信息,根据所述环境信息生成清洁环境地图,所述清洁环境地图中包括障碍物信息和无障碍物区域;网络划分所述清洁环境地图,生成若干个清洁子区域;根据所述清洁子区域内的障碍物信息和无障碍物区域生成相应清洁子区域内的清洁路径,并根据所述清洁路径控制执行组件;
[0029] 执行组件,与所述控制器相连,用于在所述控制器的控制下按照所述清洁子区域内的清洁路径逐一对所述清洁子区域进行清洁。
[0030] 在一个实施例中,所述传感器,还用于获取所述清洁机器人的当前位置和机器人朝向;
[0031] 所述控制器,还用于当监听到清洁指令时,生成空白地图;接收所述传感器获取的所述清洁机器人的当前位置信息和机器人朝向,映射所述当前位置至所述空白地图中的设定位置,以映射的所述设定位置为坐标原点生成所述空白地图的二维坐标系;根据生成的所述二维坐标系和所述传感器探测的环境信息,在所述空白地图的相应位置生成障碍物特征并标识无障碍物区域,得到清洁环境地图。
[0032] 在一个实施例中,所述控制器,还用于以所述二维坐标系的坐标轴为网格行和网格列的取向网格划分所述清洁环境地图,划分的每个网格为清洁子区域。
[0033] 在一个实施例中,所述控制器,还用于查找所述清洁环境地图中是否存在满足设定条件的直线特征障碍物,若是,旋转所述二维坐标系使任一坐标轴与所述直线特征障碍物的长边平行或者垂直;以旋转后的所述二维坐标系的坐标轴为网格行和网格列的取向网格划分所述清洁环境地图,划分的每个网格为清洁子区域。
[0034] 在一个实施例中,所述控制器,还用于根据划分到每个所述清洁子区域内的障碍物信息,确定每个所述清洁子区域的可行走区域;在确定的所述可行走区域内生成清洁路径,其中,所述清洁路径包括直行路段和折弯路段。
[0035] 在一个实施例中,所述控制器,还用于在所述可行走区域内生成多条待选的清洁路径;计算每个待选的所述清洁路径的折弯次数和直线行走长度;根据折弯次数和/或所述直线行走长度选取合适的清洁路径。
[0036] 在一个实施例中,待选的所述清洁路径是直行路段平行于所在清洁子区域某一边缘线的清洁路径、直行路段垂直于所在清洁子区域的所述边缘线的清洁路径以及直行路段平行于所在清洁子区域内的直线特征障碍物长边的清洁路径中的任意一种。
[0037] 上述清洁机器人控制方法和清洁机器人,通过架设在清洁机器人主体上的传感器探测机器人所处清洁环境信息,并基于探测的清洁环境信息生成清洁环境地图,该地图中显示有障碍物信息和无障碍物区域;继而通过生成的清洁环境地图对清洁进行全局把控,先对清洁环境地图进行网络划分,将清洁环境划分成多个清洁子区域,再生成每个清洁子区域的清洁路径,并控制机器人按照生成的清洁路径逐一有序的对每个清洁子区域进行清洁,有效避免了漏扫和重扫,实现了对清洁环境更大覆盖率和更高效的清洁。

附图说明

[0038] 图1为一个实施例中清洁机器人的内部组成部分的示意图;
[0039] 图2为一个实施例中清洁机器人控制方法的流程图;
[0040] 图3为一个实施例中生成的清洁环境地图(带有部分清洁路径)的示意图;
[0041] 图4为一个实施例中对清洁环境地图进行网格划分的示意图;
[0042] 图5为清洁机器人实施清洁所产生的实景清洁图;
[0043] 图6为另一个实施例中清洁机器人控制方法的流程图;
[0044] 图7为一个实施例中根据空白地图生成清洁环境地图的示意图;
[0045] 图8(a)-图8(d)为一个实施例中确定地图坐标系的方法以及根据地图坐标系进行网格划分所涉及的原理图;
[0046] 图9为一个实施例中生成清洁子区域内的清洁路径所涉及的流程图;
[0047] 图10(a)-图10(c)为一个实施例中清洁子区域内的清洁路径的示意图。

具体实施方式

[0048] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0049] 在一个实施例中,如图1所示,提供了一种清洁机器人,该清洁机器人包括以下3个主要部分:传感器102、控制器104和执行组件106。其中,传感器102包括安装在清洁机器人机身上探测传感器和定位传感器,传感器用于探测清洁机器人所处外部环境信息的清洁机器人的位置信息,可以是激光雷达、深度相机、红外测距、超声波IMU(Inertial Measurement Unit惯性测量单元)、里程计等单个或多个传感器。定位传感器用于获取清洁机器人的实时位置。控制器104包括芯片(处理器)和控制电路,主要通过接收传感器的获取的外部环境信息和定位信息,结合定位算法生成清洁环境地图,并对生成的清洁环境地图进行网格化处理以及生成每个网格的清洁路径。执行组件106包括行走组件和清洁组件,用于接收控制器的控制指令,按照预先规划好的路径行走并实施清洁操作。
[0050] 如图2所示,在一个实施例中,提供了一种清洁机器人控制方法,该方法具体包括如下步骤:
[0051] 步骤S202:探测清洁机器人所处环境信息,生成清洁环境地图,清洁环境地图中包括障碍物信息和无障碍物区域。
[0052] 用户开启机器人,并对机器人进行初始化设置和功能选择等清洁前准备。清洁机器人检测到用户触发的“开启清洁”指令后,启动传感器。传感器探测机器人所处的外部环境并将探测到的信息发送至机器人的控制器,控制器根据所检测的外部环境信息生成清洁环境地图。
[0053] 在一个实施例中,探测传感器可以是激光雷达、深度相机、红外测距、超声波等单个或者多个传感器组合。以激光雷达为例,其探测环境中障碍物的原理为:向环境中发出激光光束,通过分析接收到的反射光束得到周围是否有障碍物,与障碍物的距离以及障碍物的轮廓信息。障碍物包括墙体和分布在空间中的各种设备、家具、装饰等。
[0054] 障碍物信息包括障碍物相对于机器人本体的定位信息和障碍物轮廓信息(包括形状和尺寸)。无障碍物区域是指传感器所能探测的区域范围除去障碍物所占区域以外的区域。
[0055] 清洁机器人的控制器将根据传感器探测的障碍物信息进行障碍物特征构图,并对确定的无障碍区域进行区域标识以生成清洁环境图。如图3所示的清洁环境图,图中标注1所在的浅灰色区域为无障碍区域,图中标注2的粗线条和嵌入无障碍区域内的点状/条状部分为障碍物。
[0056] 步骤S204:网络划分清洁环境地图,生成若干个清洁子区域。
[0057] 使用垂直的横纵网格线将清洁环境地图划分成紧密排列的多个矩形区域,每个矩形区域即为清洁子区域。
[0058] 划分的清洁区域的个数可根据清洁环境地图的大小,障碍物的分布情况按照设定的规则进行等网格或者不等网格划分。本实施例中对网络划分不做具体要求,只要不存在过大或者过小的网格即可。
[0059] 如图4为一种等网格划分的示意图。图中将清洁环境地图划分成20个清洁子区域,每个清洁子区域内的障碍物特征以及无障碍区域不尽相同。图中的白色区域为未探测区域,清洁机器人可对未探测区域进行二次探测,以不断补充清洁环境地图。
[0060] 步骤S206:根据清洁子区域内的障碍物信息和无障碍物区域生成相应清洁子区域内的清洁路径,控制清洁机器人按照清洁子区域内的清洁路径逐一对清洁子区域进行清洁。
[0061] 清洁子区域划分完成后,机器人根据划分的每个清洁子区域的障碍物特征、无障碍区域以及未探测区域的情况在清洁子区域内生成相应的清洁路径。根据障碍物的形态特征以及分布情况确定清洁路径的路径方向且生成的路径尽可能完全覆盖无障碍区域。对于存在未探测区域的清洁子区域可在机器人在对该区域进行清洁前,先对未探测区域进行充分探测补充清洁环境地图,再根据补充后的清洁环境地图对清洁子区域进行路径规划。
[0062] 图5为清洁机器人在清洁环境地图规划的路径的指引下实施清洁所产生的清洁实景图,由图可以看出,清洁机器人根据清洁环境地图采取的分区域清洁可使清洁路径更加规整,
[0063] 本实施例中,通过生成的清洁环境地图对清洁进行全局把控,先对清洁环境地图进行网络划分,将清洁环境划分成多个清洁子区域,再生成每个清洁子区域的清洁路径,并控制机器人按照生成的清洁路径逐一有序的对每个清洁子区域进行清洁,有效避免了漏扫和重扫,实现了对清洁环境更大覆盖率和更高效的清洁。
[0064] 在一个实施例中,如图6所示,在一个实施例中,提供了一种清洁机器人控制方法,具体包括如下步骤:
[0065] 步骤S302:当监听到清洁指令时,生成空白地图。
[0066] 用户可通过触发清洁机器人本体上的“开始”按钮向清洁机器人发起清洁指令,还可以通过远程遥控设备向清洁机器人发送清洁指令。
[0067] 清洁机器人接收到清洁指令后,生成一张空白地图,生成的空白地图可以是预设的固定大小,也可以是根据用户的需求生成用户配置/选择大小的空白地图。如清洁机器人中预存有多种规格的空白地图,如a×a的方形地图,a×b的矩形地图,其中a和b可以配置多种数值,还可以标注不同的空白地图对应的最大清洁空间,用户根据实际要清洁的空间的大小选择相应规格的空白地图。
[0068] 步骤S304:获取清洁机器人的当前位置和机器人朝向,映射清洁机器人的当前位置至空白地图中的设定位置,以映射的设定位置为坐标原点生成空白地图的二维坐标系。
[0069] 具体的,可通过定位传感器获取机器人的实时位置信息和机器人朝向,其中机器人朝向是指机器人正面所面对的方向,当机器人处于前进模式下,机器人朝向即为机器人的行进方向。
[0070] 将机器人当前位置(也就是开始清洁时机器人所在的初始位置)映射到生成的空白地图中,该初始位置在空白地图中的映射位置可以任意设定。清洁机器人探测的障碍物的位置均以机器人的当前位置为基准在空白地图的相应位置不断添加。
[0071] 在一个实施例中,获取的机器人的当前位置可以映射到空白地图的中心位置。为了使最终生成的带有障碍物信息和无障碍物区域标注的清洁环境地图能够自空白地图中心向四周展开,在清洁开始前,用户最好将清洁机器人置于清洁环境的中心位置。
[0072] 根据获取的清洁机器人的当前位置信息和机器人朝向生成地图的二维坐标系,生成的二维坐标系的原点即为清洁机器人在空白地图上的初始映射位置(如空白地图的中心位置),坐标系的其一坐标轴(如x轴)与机器人朝向平行(坐标轴的指向可以与机器人朝向一致,也可以与机器人朝向相反)或者垂直。
[0073] 在一个实施例中,在空白地图中标注机器人的当前位置信息和机器人朝向,并显示生成的二维坐标系。
[0074] 步骤S306:通过安装在清洁机器人上的探测传感器获取清洁机器人所处的环境信息,根据生成的二维坐标系和环境信息,在空白地图的相应位置生成障碍物特征并标识无障碍物区域,得到清洁环境地图。
[0075] 安装在清洁机器人本体上的探测传感器可探测机器人所处环境中的障碍物信息和无障碍物区域,其中,探测到的障碍物信息中的障碍物的位置信息是障碍物相对于机器人本体(也就是生成的坐标系原点)之间的相对位置。根据确定的坐标系原点的在空白地图中的位置,即可确定探测到的障碍物和无障碍区域在空白地图中的位置。在空白地图的相应位置添加探测到的障碍物,并对无障碍物区域进行标识,其中,添加在空白地图的障碍物能够清晰的显示出探测的障碍物的特征,包括形态特征和尺寸特征。如图7为根据本实施例的方法生成的清洁环境地图,图7未被填充的白色区域为未探测区域。
[0076] 本实施例中,根据机器人初始位置建立地图坐标系,根据地图坐标系在地图中添加探测到的清洁环境信息,构建完整的与实际清洁环境对应的清洁环境地图。
[0077] 步骤S308:以二维坐标系的坐标轴为网格行和网格列的取向网格划分清洁环境地图,划分的每个网格为清洁子区域。
[0078] 以根据机器人初始位置生成的二维坐标系的坐标轴为基准确定网格的取向,对清洁环境地图进行等网格划分,划分的每个网格为清洁子区域。如图8(a)和图8(b)所示。
[0079] 在另一个实施例中,步骤S308还可以是:查找清洁环境地图中是否存在满足设定条件的直线特征障碍物,若是,旋转二维坐标系使任一坐标轴与直线特征障碍物的长边平行或者垂直;以旋转后的二维坐标系的坐标轴为网格行和网格列的取向网格划分清洁环境地图,划分的每个网格为清洁子区域。
[0080] 直线特征障碍物是障碍物的长边与清洁环境地图的长度或者宽度的比例大于设定阈值的障碍物。当清洁环境地图中有多个满足要求的直线特征障碍物时,选择尺寸最大的直线特征障碍物调整二维坐标系的坐标轴方向。在图8(a)中,直线特征的障碍物为位于边缘的四个障碍物,优选上边缘或者左边缘的障碍物进行坐标系调整。
[0081] 具体的基于直线特征障碍物调整二维坐标系的方法是:将二维坐标系的其一坐标轴调整至与直线特征障碍物的长边平行。具体为:计算直线特征的障碍物与二维坐标系的夹角;将二维坐标系旋转计算的夹角所对应的角度,使二维坐标系的其中一个坐标轴与直线特征的障碍物的长边平行。如图8(c)为旋转后的二维坐标系的示意图。根据旋转后的坐标系划分的网格如图8(d)所示。容易理解的,二维坐标系的其一坐标轴与直线特征障碍物的长边平行,则另一坐标轴将与该直线特征障碍物的长边垂直。在坐标系调整时,可任意选择一个坐标轴进行调整,调整为与直线特征障碍物的长边平行或者垂直。
[0082] 在一个实施例中,还可根据查找到的直线特征障碍物旋转清洁环境地图,二维坐标系不变,且仍然以原始的二维坐标系划分网格,采用该种旋转地图的方式进行网格划分与旋转坐标系进行网格划分效果相同,划分的网格仍然如图8(d)所示。
[0083] 上述的直线特征障碍物可以是墙体,按照直线特征障碍物调整坐标系,进而调整网格的划分,可使划分的网格的边界与墙体平行或者垂直,对清洁子区域的路径规划更加规则,避免在清洁子区域出现过多歪斜的夹角。
[0084] 在另一个实施例中,在步骤S308根据坐标系对清洁环境地图进行网格划分后,还包括对划分的网格进行调整。如对网格进行整体的偏移,使某一个连通区域(如房间)的墙处于矩形区域的一条边附近,这样可以防止矩形区域被墙隔开,需要绕道墙另一边才能清扫的情况,可以提高清洁效率。
[0085] 步骤S310:根据清洁子区域内的障碍物信息和无障碍物区域生成相应清洁子区域内的清洁路径,控制清洁机器人按照清洁子区域内的清洁路径逐一对清洁子区域进行清洁。
[0086] 本实施例中,根据障碍物特征实现了对清洁环境地图更加优化的网格划分,为后续的每个清洁子区域的最优路径的生成打下了坚实的基础。
[0087] 在一个实施例中,可以根据机器人探测的所处环境信息,查找控制器的存储器中是否存在已经构建好的与探测的所处环境信息相匹配的清洁环境地图,若是,则调取预存的清洁环境地图。
[0088] 若预存的清洁环境地图中带有预先划分的网格和每个清洁子区域的清洁路径,则不重复对该清洁环境地图进行网格划分和路径规划,按照已有数据进行清洁。
[0089] 在一个实施例中,清洁机器人可与云端服务器连接,云端服务器中存储有清洁机器人历史生成的清洁环境地图(可包括网格数据和清洁路径数据),清洁机器人可从云端服务器中获取其存储的清洁环境地图并显示,用户可对显示的清洁环境地图进行选择,选择出当前清洁所依赖的清洁环境地图。
[0090] 在一个实施例中,如图9所示,步骤S206:根据清洁子区域内的障碍物信息和无障碍物区域生成相应清洁子区域内的清洁路径的步骤包括:
[0091] 步骤S402:根据划分到每个清洁子区域内的障碍物信息,确定每个清洁子区域中的可行走区域。
[0092] 可行走区域为清洁子区域中去障碍物所占区域外的区域。当清洁子区域内没有未探测区域时,可行走区域即为无障碍物区域。当清洁子区域内包含有未探测区域时,可行走区域为经二次探测后确定的无障碍物区域。
[0093] 在一个实施例中,查找清洁子区域内的无障碍物区域是否存在面积小于设定阈值的狭小区域,若是,则去除狭小区域的无障碍区域为可行走区域。
[0094] 步骤S404:在确定的可行走区域内生成清洁路径,其中,清洁路径包括直行路段和折弯路段。
[0095] 在确定的可行走区域内规划清洁路径,本实施例中将包括直行路段和折弯路段的清洁路径称为弓字形清洁路径。也就是,弓字形清洁路径包括直行路段和折弯路段。
[0096] 在一个实施例中,使折弯路段的宽度不大于清洁器的清洁宽度。也就是相邻的直行路段所清洁的区域紧密邻接或者部分重合,以使对可行走区域进行全覆盖式清洁。
[0097] 在一个实施例中,生成的弓字形清洁路径的直行路段可以是沿任意方向的直行路段,当在直行时遇到可行走区域的边缘线时折弯反行;或者当在直行时遇到可行走区域的边缘线时,绕过边缘线后进入相邻可行走区域继续直行直至沿直行方向没有可行走区域则折弯反行。
[0098] 清洁子区域网格划分后后会形成在某个连通区域(如房间)内有狭窄的矩形区域,或由于障碍物特征会有其他歪斜区域。如果用同一个方向的弓字形路径清洁,将会有许多弓字形转弯的规划,且弓字形的直线部分会比较短,导致清洁效率低。本实施例中,采用如下方式灵活调整弓字形清洁路径的直行路段的方向,以使规划的弓字形路径更加高效地清洁每个清洁子区域,具体为:在可行走区域内生成多条待选的清洁路径,其中,待选的清洁路径包括直行路段和折弯路段;计算每个待选的清洁路径的折弯次数和直线行走长度;根据折弯次数和/或所述直线行走长度选取合适的清洁路径。
[0099] 在一个实施例中,选取的合适的清洁路径可以是折弯次数最少的清洁路径,还可以是执行行走长度最长的清洁路径,还可以是折弯次数最少且直线行走长度最长的清洁路径。
[0100] 具体为:在清洁子区域内预生成多条弓字形清洁路径,也就是指定多个直行路段方向,根据指定的每个直行路段方向生成相应的弓字形清洁路径。统计生成的每个弓字形清洁路径的直行行走总长度以及折弯次数,选择折弯次数最少、直行行走总长度最大的清洁路径作为相应清洁子区域的最终规划的路径。
[0101] 在一个实施例中,指定的直行路段的方向可以与清洁子区域边缘线平行或者垂直,如图10(a)和图10(b)所示,图中指定的边缘线为垂直的网格线。还可以与清洁子区域内的直行特征障碍物长边平行,如图10(c)所示。
[0102] 本实施例中,通过预先生成多条待选清洁路径,并基于折弯次数和直行行走长度两个指标对待选清洁路径进行评估,得到最优的清洁路径,按照最优的清洁路径进行清洁,可使清洁效率更高。
[0103] 在一个实施例中,提供了一种清洁机器人,该清洁机器人包括:
[0104] 传感器,用于探测清洁机器人所处环境信息,将环境信息发送至控制器。
[0105] 控制器,与传感器相连,用于接收传感器探测到的环境信息,根据环境信息生成清洁环境地图,清洁环境地图中包括障碍物信息和无障碍物区域;网络划分清洁环境地图,生成若干个清洁子区域;根据清洁子区域内的障碍物信息和无障碍物区域生成相应清洁子区域内的清洁路径,并根据清洁路径控制执行组件。
[0106] 执行组件,与控制器相连,用于在控制器的控制下按照清洁子区域内的清洁路径逐一对清洁子区域进行清洁。
[0107] 在一个实施例中,传感器还用于获取清洁机器人的当前位置和机器人朝向;
[0108] 控制器还用于当监听到清洁指令时,生成空白地图;接收传感器获取的清洁机器人的当前位置信息和机器人朝向,映射当前位置至空白地图中的设定位置,以映射的设定位置为坐标原点生成空白地图的二维坐标系;根据生成的二维坐标系和传感器探测的环境信息,在空白地图的相应位置生成障碍物特征并标识无障碍物区域,得到清洁环境地图。
[0109] 在一个实施例中,控制器还用于以二维坐标系的坐标轴为网格行和网格列的取向网格划分清洁环境地图,划分的每个网格为清洁子区域。
[0110] 在一个实施例中,控制器还用于查找清洁环境地图中是否存在满足设定条件的直线特征障碍物,若是,旋转二维坐标系使任一坐标轴与直线特征障碍物的长边平行或者垂直;以旋转后的二维坐标系的坐标轴为网格行和网格列的取向网格划分清洁环境地图,划分的每个网格为清洁子区域。
[0111] 在一个实施例中,控制器还用于根据划分到每个清洁子区域内的障碍物信息,确定每个清洁子区域的可行走区域;在确定的可行走区域内生成清洁路径,其中,清洁路径包括直行路段和折弯路段。
[0112] 在一个实施例中,控制器还用于在可行走区域内生成多条待选的清洁路径;计算每个待选的清洁路径的折弯次数和直线行走长度;从多条待选的清洁路径中选取折弯次数最少和/或直线行走长度最长的清洁路径作为对应可行走区域的清洁路径。
[0113] 在一个实施例中,待选的清洁路径是直行路段平行于所在清洁子区域某一边缘线的清洁路径、直行路段垂直于所在清洁子区域的边缘线的清洁路径以及直行路段平行于所在清洁子区域内的直线特征障碍物长边的清洁路径中的任意一种。
[0114] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是以计算机程序的形式可存储于机器人控制器的存储器中,控制器通过执行存储器中的计算机程序实现对机器人的控制。
[0115] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0116] 以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。