地图处理方法以及清洁机器人与流程

文档序号:19013480发布日期:2019-11-01 19:18阅读:413来源:国知局
地图处理方法以及清洁机器人与流程

本申请涉及智能机器人领域,尤其涉及一种地图处理方法以及清洁机器人。



背景技术:

现代生活中,清洁机器人逐渐应用和普及。在清洁机器人的清扫过程中,会遇到各种障碍物,如墙壁、桌椅、花瓶等。现有的障碍物处理方案主要是通过在清洁机器人前部或顶部安装非接触式传感器,如红外,激光或超声波等测距传感器,通过非接触式方式检测远方障碍物;然后在前部安装一套接触传感器,如开关或电容传感等,来检测清洁机器人与障碍物的触碰。非接触式传感器与接触式传感器相互配合,从而形成一套避障路径。现有技术中,清洁机器人在运动过程中,通过自身的slam系统构建周围障碍物的地图并以此导航,进行有序的清扫规划。然而现有技术所构建的地图一般是只包含障碍物边界位置的栅格地图或节点地图,清洁机器人无法在地图中区分障碍物的属性而制定更加智能的清扫规划。



技术实现要素:

本申请实施例提供一种地图处理方法以及清洁机器人,可实现清洁机器人在地图中区分障碍物的属性,针对不同障碍物提高清扫覆盖率的同时,降低清扫风险。

第一方面,本申请实施例提供了一种地图处理方法,所述方法应用于清洁机器人,包括:建立所述清洁机器人的自主定位及导航的边界地图,所述边界地图包括基于所述测量物的区域的属性及所述区域的位置,其中所述区域的属性包括所述区域的类型;存储所述边界地图;根据所述边界地图,控制所述清洁机器人。

可以看到,实施本申请实施例,清洁机器人建立的用于定位与导航的边界地图(如slam地图)包括有基于测量物(如地面或障碍物)的区域的属性及位置,所述区域的属性包括所述区域的类型。从而,清洁机器人能够根据所述边界地图制定适宜的清扫策略。这样,清洁机器人就能够利用边界地图中的相关区域属性来执行路径规划和清扫,有利于实现提高清洁机器人的清扫覆盖率,降低风险或负面影响。

基于第一方面,在可能的实施例中,所述建立所述清洁机器人的自主定位及导航的边界地图之前,还包括:感测所述测量物的高度;相应的,所述建立所述清洁机器人的自主定位及导航的边界地图,具体为:根据所述测量物的高度,建立所述清洁机器人的自主定位及导航的边界地图;其中所述测量物包括地面上区域,所述边界地图包括基于所述地面上区域的高度信息配置的地形区域的类型,所述地形区域用于指示清洁机器人的运动。

具体的,获得各个测量物的高度后,清洁机器人分别为所述边界地图中各个测量物添加高度标识,当测量物为障碍物时,障碍物对应的高度标识用于指示障碍物的顶部和/或底部距离地面的高度,或者用于指示障碍物的顶部和/或底部距离水平面的高度。当测量物为地面时,地面的高度标识可为零或者接近于零,或者用于指示地面上缘距离水平面的高度。

然后,清洁机器人可根据地图中各个障碍物的高度标识配置地形区域。具体的,可根据各个障碍物的高度标识所指示的高度,与预配置的高度阈值进行比较,从而对各个障碍物进行聚类处理,如将凸起地面的物体基于一定的规则进行聚类,将凹陷地面的物体基于一定的规则进行聚类,将上实下空的物体基于一定的规则进行聚类,等等,从而获得一种或多种地形区域。

其中,所述预配置的高度阈值包括以下至少一种:最大越障凸起高度、最大越障凹陷高度、最小凸起高度、最小凹陷高度、所述清洁机器人的机身高度、所述清洁机器人的底盘高度。

在可能的实现中,通过上述方式形成的地形区域的类型可包括障碍区域、崎岖凸起区域、平坦区域、崎岖凹陷区域、悬崖区域、上实下空区域中的一种或多种。其中障碍区域和悬崖区域又可统称为回避区域,其中崎岖凸起区域、平坦区域、崎岖凹陷区域、上实下空区域又可统称为跨越区域。

在一可能的实施例中,当获取的地形区域的类型表示回避区域时,可控制清洁机器人根据所获取的地形区域的位置生成回避路径,并基于所述回避路径,所述回避路径用于使清洁机器人回避所述回避区域。

在又一可能的实施例中,当获取的地形区域的类型表示跨越区域时,可控制清洁机器人根据所获取的地形区域的位置生成跨越路径,并基于所述跨越路径,所述跨越路径用于使所述清洁机器人跨越所述跨越区域。

可以看到,通过配置地形区域,可实现了将环境基于不同的地形特征进行划分,那么,后续根据清洁机器人可所划分的所述一种或多种地形区域来确定清洁机器人在环境中的运动模式,提高清洁机器人的智能化程度,实现该回避的测量物就回避,该跨越的测量物就跨越,有针对性地提高各个区域的清扫效果。

基于第一方面,在可能的实施例中,所述测量物包括障碍物,所述边界地图包括所述障碍物的清扫属性及基于所述障碍物的清扫属性配置的清扫区域的类型,所述清扫区域用于指示清洁机器人的清扫。

具体实现中,清洁机器人可先确定测量物的物体类型,也就是识别测量物具体是什么物体。然后,根据所述各个测量物的物体类型确定各个测量物对应的清扫类型。所述清扫类型用于表征测量物是否能够被清扫或者能否被推动。然后,对地图中的测量物添加清扫类型标识,清扫类型标识即用于指示该测量物的清扫类型。

这样,清洁机器人可根据地图中各个障碍物的清扫类型标识配置地形区域。具体的,清洁机器人可根据所述地图中各个障碍物的清扫类型标识,对所述各个障碍物进行聚类处理,比如将可清扫类测量物基于一定的规则进行聚类,将不可清扫类测量物基于一定的规则进行聚类,将可推动类障碍物基于一定的规则进行聚类,等等,从而获得一种或多种清扫区域。

在可能的实现中,这样形成的清扫区域的类型可包括可清扫区域、不可清扫区域、可推动障碍区域中的一种或多种。

在一可能的实施例中,当获取的清扫区域的类型表示可清扫区域时,可控制所述清洁机器人清扫所述可清扫区域。

在又一可能的实施例中,当获取的清扫区域的类型表示不可清扫区域时,可控制所述清洁机器人不清扫所述不可清扫区域。

在又一可能的实施例中,当获取的清扫区域的类型表示可推动障碍区域时,可控制所述清洁机器人移动所述清扫区域中的障碍物,并对移动障碍物后的区域进行清扫。

可以看到,通过设置清扫区域,实现了将环境基于不同的清扫属性特征进行划分,那么,后续根据清洁机器人可所划分的所述一种或多种清扫区域来确定清洁机器人在环境中的清扫模式,这样,提高了清洁机器人的智能化程度,实现该清扫的测量物就清扫,不该清扫的测量物就不清扫,有针对性地提高各个区域的清扫效果。

基于第一方面,在可能的实施例中,所述建立所述清洁机器人的自主定位及导航的边界地图之前,还包括:采集测量物的图像;所述测量物的图像包括所述测量物的表面点的特征数据;相应的,所述根据建立所述清洁机器人的自主定位及导航的边界地图,具体包括:根据所述特征数据,获得所述测量物的当前点云数据;使用所述当前点云数据与历史点云数据进行特征匹配,获得所述清洁机器人的位姿数据;根据所述当前点云数据、所述历史点云数据和所述位姿数据,建立所述边界地图。

其中,所述测量物的表面点的特征数据包括以下一种或多种的组合:所述表面点的图像数据、所述表面点的深度数据、所述表面点与所述清洁机器人之间的距离数据。

也就是说,本申请中有至少3种方式来建立slam地图。

一种方式是,清洁机器人根据采集的图像数据建立slam地图。

一种方式是,清洁机器人根据测量物的深度数据建立slam地图。

一种方式是,清洁机器人根据测量物的距离数据建立slam地图。

需要说明的是,本申请还可根据上述三种方式中的若干种的组合来建立slam地图。所以,本申请的技术方案具有广泛的应用性和实用性。

基于第一方面,在可能的实施例中,本申请建立的边界地图可以是slam地图,也可以是二维地图。在可能的实施例中,清洁机器人可将所述slam地图中各个测量物投射到二维平面,获得所述二维地图。由于slam地图中各个测量物具有相应的标识(如高度标识、清扫类型标识等),所以,所生成的二维地图中的各个障碍物同样具有相应的标识。

可以看到,本申请实施例将slam地图投射形成二维地图,由于二维地图中的测量物包含slam地图的测量物的关键特征,所以该二维地图同样可以实现增量式建图、定位以及导航。还可以看到,二维地图能够极大节省地图的数据量,有利于提高建图、定位以及导航的效率。

基于第一方面,在可能的实施例中,清洁机器人根据添加有所述标识的边界地图来制定障碍物处理策略,障碍物处理策略包括了清洁机器人在环境中的运动模式和清扫模式。所述运动模式用于指示所述清洁机器人的运动路径和所述清洁机器人的运动状态。所述清扫模式用于指示所述清洁机器人的清扫装置的工作状态。

基于第一方面,在可能的实施例中,所述根据所述边界地图,控制所述清洁机器人,包括:根据所述边界地图,获取一种或多种地形区域;根据所述一种或多种地形区域确定运动模式,所述运动模式用于指示所述清洁机器人的运动路径和所述清洁机器人的运动状态;根据所述运动模式,控制所述清洁机器人。

具体的,清洁机器人可将运动模式中的运动路径(回避路径和/或跨越路径)配置为直线路径、曲线路径、沿墙路径、弓字形路径、螺旋路径中的一种或多种的组合;清洁机器人可将运动模式中的运动状态配置为以下行为或内容中的一个或多个:减速、加速、调整加速度(比如调整减速加速度)、调整前进方向、直线后退、指定动作起始点(动作起始点用于确定进行避障动作的起始点),等等。基于此,后续可控制清洁机器人,实现清洁机器人在环境中的运动。

在一具体实现中,当获取的地形区域的类型表示回避区域时,所述控制器根据所获取的地形区域的位置生成回避路径;并基于所述回避路径,控制所述清洁机器人回避所获取的地形区域;

在一具体实现中,当获取的地形区域的类型表示跨越区域时,所述控制器根据所获取的地形区域的位置生成跨越路径;并基于所述跨越路径,控制所述清洁机器人跨越所获取的地形区域。

可以看到,实施本申请实施例,清洁机器人能够根据边界地图制定适宜的运动模式,提高清扫覆盖率,避免清洁机器人陷入危险状况和对周围环境造成危害,降低风险或负面影响,从而,提高了清洁机器人自动完成清洁作业的效率。

基于第一方面,在可能的实施例中,所述根据所述边界地图,控制所述清洁机器人,包括:从所述边界地图中获取一种或多种清扫区域;根据所述一种或多种清扫区域确定清扫模式,所述清扫模式用于指示所述清洁机器人的清扫装置的工作状态;根据所述清扫模式,控制所述清洁机器人。

具体的,清洁机器人可执行以下一种或多种组合的操作指令:调节所述边扫的清扫速度、调节所述中扫的清扫速度及清扫高度、调节所述风机组件的吸力、控制所述清洁机器人的喷水装置的喷水操作中的至少一项。基于此,后续可控制该清扫装置实施对环境的清扫。

在一具体实现中,当获取的清扫区域的类型表示可清扫区域时,控制所述清洁机器人清扫所获取的清扫区域;

在一具体实现中,当获取的清扫区域的类型表示可推动障碍区域时,控制所述清洁机器人移动所述清扫区域中的障碍物,并对移动障碍物后的区域进行清扫。

可以看到,实施本申请实施例,清洁机器人能够根据所述边界地图制定适宜的清扫模式,实现清洁机器人对垃圾的清扫无遗漏,提高清扫覆盖率,又能避免清洁机器人陷入危险状况和对周围环境造成危害,降低风险或负面影响。从而,提升了清洁机器人的智能化程度和清扫效果。

第二方面,本申请实施例提供了一种清洁机器人,所述清洁机器人包括机身主体以及与所述机身主体连接的清扫装置,其中所述机身主体包括控制器、采集装置和高度传感器。其中,所述控制器,用于建立所述清洁机器人的自主定位及导航的边界地图,所述边界地图包括基于所述测量物的区域的属性及所述区域的位置,其中所述区域的属性包括所述区域的类型;所述控制器还用于根据所述边界地图,控制所述清洁机器人。所述高度传感器用于感测所述测量物的高度。所述采集装置用于采集测量物的图像,所述测量物的图像包括所述测量物的表面点的特征数据。

所述清洁机器人的各个部件具体可用于实现第一方面所描述的方法。

第三方面,本申请实施例提供了一种清洁机器人,包括数据获取模块、数据处理模块、障碍物识别模块、地图处理模块(也可称为slam模块或slam系统)、障碍物处理模块,所述清洁机器人的各个功能模块具体可用于实现第一方面所描述的方法。

第四方面,本申请实施例提供了一种非易失性存储介质,用于存储程序指令,当该程序指令应用于清洁机器人时,可用于实现第一方面所描述的方法。

第五方面,本申请实施例提供了一种计算机程序产品;该计算机程序产品包括程序指令,当该计算机程序产品被清洁机器人执行时,该清洁机器人执行前述第一方面所述方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面的任一种可能的设计提供的方法的情况下,可以下载该计算机程序产品并在清洁机器人上执行该计算机程序产品,以实现第一方面所述方法。

可以看到,实施本申请实施例,清洁机器人建立定位与导航的边界地图(如slam地图)后,能对边界地图中的测量物添加测量物属性标识,如高度标识、清扫类型标识等,这样,所建立的边界地图将包括有基于所述测量物的区域的属性及所述区域的位置,所述区域的属性包括所述区域的类型(如各种类型的地形区域、各种类型的清扫区域)。从而能够根据所述边界地图制定适宜的清扫策略(如运动模式、清扫模式等)。既可实现清洁机器人对垃圾的清扫无遗漏,提高清扫覆盖率,又能避免清洁机器人陷入危险状况和对周围环境造成危害,降低风险或负面影响。从而,提高了清洁机器人自动完成清洁作业的效率,提升了清洁机器人的智能化程度和清扫效果。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a为本申请实施例示例性提供的清洁机器人的俯视示意图;

图1b为本申请实施例示例性提供的清洁机器人的仰视示意图;

图2为本申请实施例示例性提供的清洁机器人的结构示意图;

图3为本申请实施例示例性提供的清洁机器人的控制器功能结构示意图;

图4为本申请实施例提供的一种地图处理方法的流程示意图;

图5为本申请实施例提供的又一种地图处理方法的流程示意图;

图6为本申请实施例提供的一种slam地图的示意图;

图7为本申请实施例提供的一种二维地图的示意图;

图8为本申请实施例提供的一种地图中的地形区域的示意图。

图9为本申请实施例提供的一种地图中的清扫类型区域的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

图1a和图1b是本申请的一个实施例提供的一种清洁机器人10的结构示意图,其中图1a示出了该清洁机器人10的俯视图,图1b示出了该清洁机器人10的仰视图。如图1a和图1b所示,该清洁机器人10包括:机身主体101以及与所述机身主体101连接的清扫装置,清扫装置例如可包括一个或多个边扫(如图示中清扫装置包括边扫1021和边扫1022)。可选的实施例中,清扫装置还可包括一个或多个中扫1041。

清洁机器人10还可包括风机组件(如风机,图未示),风机组件可设置于机身主体101的内部。与地面具有一定干涉的中扫将地面上的垃圾扫起并卷带到中扫与尘盒结构之间的吸尘口的前方,然后被风机组件产生并经过尘盒的有吸力的气体吸入尘盒中。一可选的实施例中,清洁机器人10还可包括一个或多个喷水装置(图未示)。

清洁机器人10包括轮子装置,如图示中轮子装置包括主动轮1031、主动轮1032和从动轮1033。其中主动轮1031及主动轮1032中一个为左轮子装置,一个为右轮子装置。主动轮1031及主动轮1032分别以对称的方式居中地布置在机器主体101的底部的相对侧。在执行清洁期间执行包括向前运动、向后运动及旋转的运动操作。从动轮1033设置在机器主体101前部,用于改变清洁机器人在行进过程中的行驶方向。

清洁机器人10还包括位于壳体上面的采集装置。采集装置可用于采集清洁机器人前方的障碍物的表面点的特征数据(例如所述表面点的图像数据、所述表面点的深度数据、所述表面点与所述清洁机器人之间的距离数据等等)。具体实现中,采集装置可包括图像采集装置,图像采集装置例如包括图示中的摄像头1051。采集装置也可包括障碍物测量装置,障碍物测量装置例如包括图示中的一个或多个传感器1061,所述一个或多个传感器1061例如可以是高度传感器、rgbd传感器、激光测距传感器、红外障碍传感器、超声波障碍传感器、红外悬崖传感器、接触传感器等等中的一种或多种。其中rgbd传感器可包括用于采集颜色图像的第一摄像头、用于采集深度图像的第二摄像头、以及用于向外投射红外散斑图案的红外发射器,第一摄像头、第二摄像头可分别与图像传感器耦合(图未示)。

在一具体实现中,清洁机器人10的壳体可以呈圆形,也可以是其他形状(如方形、椭圆等),这里不做限定。

在一具体实现中,图像采集装置包括,但不限于单目摄像头、双目摄像头、深度摄像头中的至少一种。图像采集装置设置于机身主体的壳体上面的前方位置(即前置摄像装置),用于实现对清洁机器人在前进方向行进中遭遇的障碍物进行拍摄或录像功能,并将图像或视频传输至容纳于壳体中的相关部件,相关部件基于图像或视频实现清洁机器人10的路线规划。其中,容纳于壳体中的相关部件可参考图2实施例的描述,这里不再赘述。

在一些实施例中,除了安装有前置摄像装置之外,还可以在机身主体的后部、底部等其他部位安装摄像装置,用于采集机身主体周边的环境图像,并将采集的环境图像存储于存储器315中。

在一具体实现中,轮子装置可与壳体固定连接,轮子装置用于基于机身主体的相关部件的驱动而进行运动。具体的,可用于前进、后退、调整前进方向等运动以及用于加速、减速、匀速、暂停等运动。举例来说,如图1b所示,主动轮1031和主动轮1032可用于前进或后退,从动轮1033可用于调整前进方向。主动轮1031和主动轮1032还可用于实现加速、减速、匀速、暂停等运动。需要说明的是,本申请对轮子装置设置在壳体下面的具体位置不作限定。

在一具体实现中,边扫可设置于壳体下面的前方位置,用于在清洁机器人10行进中进行垃圾清扫。举例来说,如图1b所示,边扫包括边扫1021和边扫1022,且边扫1021和边扫1022皆相较于壳体前伸出一定的相对距离,以扩大清扫范围和实现本申请实施例所描述的地图处理方法。在一实例中,边扫可与壳体进行固定连接,此时,边扫的边缘相对壳体的距离是固定的。在又一实例中,边扫可与壳体进行可伸缩连接,此时,边扫的边缘相对壳体的距离是可以改变的,即可根据处理方式需要而改变清扫距离。

在一具体实现中,中扫1041可设置于壳体底部的位置,用于在清洁机器人10行进中与地面形成干涉,将地面上的垃圾进行清扫和回收。举例来说,如图1b所示,中扫1041可以是以滚轮形进行转动的鼓形转刷,在壳体内部还设置有尘盒(图未示),尘盒与中扫1041接合,用于收集经中扫1041所回收的垃圾。

在一具体实现中,风机组件例如为风机,风机组件可设置于壳体内部,用于提供可调的吸力,从而使中扫1041在执行清扫操作的同时,垃圾(如粉尘、纸屑等)被引入到尘盒中,以确保中扫1041将垃圾送入尘盒。

在一具体实现中,喷水装置可设置于壳体底部的位置,还可设置于壳体下面的前方位置,用于进行喷水或洒水操作,以便于使垃圾(如食物残渣)湿润而便于清扫。具体实现中,在壳体内部还设置有用于蓄水的水箱(图未示),水箱可与喷水装置接合,从而为喷水装置提供水源。

需要说明的是,实际应用中,清洁机器人10还可包括其他模块或组件,例如清洁机器人10还包括回充座,用于实现清洁机器人10的自主智能充电等等,本申请实施例不作限定。

参见图2,图2为本申请实施例提供的清洁机器人10的一种具体实现方式的结构框图。如图2所示,清洁机器人10可包括:芯片310、存储器315(一个或多个计算机可读存储介质)、外围系统317。这些部件可在一个或多个通信总线314上通信。

外围系统317主要用于实现slam终端300和用户/外部环境之间的交互功能,具体实现中,外围系统317可包括:运动管理模块318、摄像头管理模块319、清扫管理模块320以及传感器管理模块321中的若干个部件。其中,各个管理模块可与各自对应的外围设备如轮子装置323、摄像头324、清扫装置325以及传感器326等耦合。所述运动管理模块318、所述清扫管理模块320、所述轮子装置323。其中:

在一些实施例中,轮子装置323可进一步包括主动轮和从动轮,主动轮和从动轮的功能可参考上文的描述。

在一些实施例中,摄像头324可以为单目摄像头或双目摄像头。

在一些实施例中,清扫装置325可进一步包括边扫和中扫,边扫和中扫的功能可参考上文的描述。

在一些实施例中,风机组件和喷水装置中的一个或多个(图未示)的功能可参考上文的描述。

在一些实施例中,传感器326可进一步包括以下传感器中的一个或多个:例如可以是高度传感器、rgbd传感器、激光测距传感器、红外障碍传感器、超声波障碍传感器、红外悬崖传感器、接触传感器等等中的一种或多种。其中rgbd传感器可参考上文的描述。其中接触传感器可用于检测清洁机器人10是否与障碍物接触,接触传感器可进一步包含开关、电容传感、压力感应等。在一些可选实施例中,传感器326还包括速度计,加速计,里程计,射频(rf)传感器,地磁传感器,位置敏感设备(psd)传感器等中的一种或多种(图未示)。传感器326用于感测清洁机器人周围的障碍数据。

需要说明的,外围系统317还可以包括其他i/o外设,这里不做限定。

芯片310可集成包括:一个或多个控制器311(或称处理器)、时钟模块312以及可能的电源管理模块313。集成于芯片310中的时钟模块312主要用于为控制器311产生数据传输和时序控制所需要的时钟。集成于基带芯片310中的电源管理模块313主要用于为控制器311以及外围系统提供稳定的、高精确度的电压。

存储器315与控制器311耦合,用于存储各种数据(如地图数据、地图中的标识、障碍物的物体类型、障碍物的表面点的特征数据、障碍物的点云数据、障碍物的位姿数据、运动模式数据、清扫模式数据,等等)、各种软件程序和/或多组程序指令、存储清洁机器人10的行进区域的地图。具体实现中,存储器315可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器315还可以存储一个或多个应用程序,如slam系统程序、深度学习图像算法等。控制器311包括,但不限于:中央处理器、单片机、数字信号处理器、微处理器等。

一些实施例中,所述地图包括全局位置图、行进区域中各个房间的位置、测量物的位置信息、测量物的类型等等。在清洁机器人10的行进过程中,基于各种传感器感测到的数据,更新所述地图中的数据。

应当理解,具体应用场景中,清洁机器人10可具有比图2示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。

本申请具体实施例中,所述控制器311可用于调用存储器中的程序指令和数据,以实现下文所描述的地图处理方法,为了说明书的简洁,这里不赘述。

下面进一步描述控制器311的相关功能模块。参见图3,图3是控制器311的一种具体实现方式的结构框图,如图3所示,控制器311进一步包括数据获取模块401、数据处理模块403、障碍物识别模块405、地图处理模块407(也可称为slam模块或slam系统)、障碍物处理模块409,其中:

数据获取模块401,用于采集所述多个测量物的表面点的特征数据;

数据处理模块403用于,根据所述特征数据,获得所述测量物的当前点云数据;使用所述当前点云数据与历史点云数据进行特征匹配,获得所述清洁机器人的位姿数据;

地图处理模块407,用于根据所述当前点云数据、所述历史点云数据和所述位姿数据,建立用于所述清洁机器人的自主定位及导航的地图,所述边界地图包括基于所述测量物的区域的属性及所述区域的位置,其中所述区域的属性包括所述区域的类型(如各种类型的地形区域和各种类型的清扫区域),即清洁机器人所采用的实时定位与导航的地图可为slam地图。此外,地图处理模块407还可用于,将所述slam地图中各个测量物投射到二维平面,获得二维地图,这种情况下,即清洁机器人所采用的实时定位与导航的地图即为所述二维地图。

此外,地图处理模块407可用于,分别为地图(slam地图或二维地图)中各个测量物添加标识,所述标识用于指示对应测量物的物体属性和/或清扫属性,所述标识例如包括高度标识和清扫类型标识。

障碍物识别模块405可用于识别清洁机器人的前进方向上的多个测量物的物体类型,以便于获得测量物的物体属性和/或清扫属性。

障碍物处理模块409,用于根据添加有所述标识的边界地图,确定清洁机器人的运动模式和清扫模式。

后续,控制器311可将运动模式和清扫模式的指令发送至图2所示的相关驱动装置,例如运动管理模块318和清扫管理模块319,从而通过运动管理模块318进一步驱动该轮子装置323进行运动,通过清扫管理模块319进一步驱动清扫装置325进行清扫。

上述各个模块具体用以实现下文所描述的地图处理方法,为了说明书的简洁,这里不赘述。

参见图4,基于上文所描述清洁机器人,下面描述本申请实施例提供的一种地图处理方法,该方法以清洁机器人的清扫装置包括边扫为例进行详细说明,该方法包括但不限于以下步骤:

步骤201、清洁机器人建立用于所述清洁机器人的自主定位及导航的边界地图,所述边界地图包括所述清洁机器人的前进方向上的多个测量物。

具体实施例中,清洁机器人在工作中,采集行进方向上测量物的图像,然后根据所述测量物的图像,建立所述清洁机器人的自主定位及导航的边界地图。其中,本申请实施例中,所述测量物可包括机器人所处环境中的地面(如室内家居环境的地面)、以及障碍物。需要说明的是,本文的各个实施例中,也可以把地面视为一种高度为零或接近零的特殊障碍物。这种情况下,本文的各个实施例中所描述的障碍物也可以等同于测量物的概念。

其中,本文中所描述的地面可以是平坦的(例如水泥地面、瓷砖地面、木板地面、塑料地面),也可以是不平坦的(例如毛毯地面、褶皱地面)

其中,本文中所描述的障碍物为清洁机器人在行进过程中遇到的任意的可能会对清洁机器人的运动造成影响的物体。具体的,障碍物可以是凸起地面的物体,例如家具、家电、玩具、瓶装物、动物粪便、墙壁、电线、茶几布帘、门槛、鞋子等等;障碍物也可以是紧贴地面的物体,例如地面的水渍、粉末堆等等;障碍物可以是从地面凹陷下去的物体,例如楼梯、凹槽等等。

具体的,清洁机器人在未知环境(例如室内家居环境)中从一个未知位置开始移动时,可通过自身的slam(simultaneouslocalizationandmapping,中文:同时定位与建图)系统,在移动过程中,采集障碍物的特征数据(例如障碍物的图像数据,或者障碍物的表面点的深度数据,或者障碍物的表面点的距离数据等),根据位置估计和地图进行自身定位,同时在自身定位的基础上继续建造增量式地图,从而实现清洁机器人的自主定位和导航。可以理解的,所建立的地图中将包括环境中的多个测量物。在具体应用中,地图中所包括的障碍物实际上可能是障碍物的边界(简称障碍物边界),所述障碍物边界可以为障碍物的外边缘的表面点的集合,障碍物边界也可以为将障碍物的外边缘进行膨胀扩展后形成的边界。所以应理解的是,在本文中,虽然以地图包括障碍物为例进行描述,但是本申请的技术思想涵盖了地图包括障碍物边界的实施例。

具体实施例中,清洁机器人最终用于自身定位和导航的边界地图可能是slam地图,也可能是对slam地图进行处理后的地图,如将slam地图中各个障碍物投射到二维平面,从而形成的二维地图。具体实施过程还可参考后文实施例步骤401a-步骤401c以及步骤402的描述,这里不再赘述。

步骤202、清洁机器人分别为所述边界地图中各个测量物添加标识,所述标识用于指示对应测量物的物体属性和/或清扫属性。

所述测量物的物体属性表示物体的特征。物体属性包括但不限于:物体类型,物体的高度、物体的位置、物体的尺度数据等等。清扫属性包括,但不限于:物体所在区域的清扫类型,物体所在区域的尺寸等等。

本申请实施例中,所述标识例如包括高度标识和清扫类型标识,当测量物为障碍物时,障碍物对应的高度标识用于指示障碍物的顶部和/或底部距离地面的高度,或者用于指示障碍物的顶部和/或底部距离水平面的高度。当测量物为地面时,地面的高度标识可为零或者接近于零,或者用于指示地面上缘距离水平面的高度。

具体实现中,在确定测量物的高度标识之前,可以先确定测量物的物体类型以及测量物的高度值,也就是识别测量物具体是什么物体,以及该测量物的顶部或者底部到参考平面(地面或水平面)的距离。这样,就可将高度标识(高度标识包括高度值)绑定到所建立的地图中的测量物。

比如,测量物为门槛、家电等凸起于地面的物体,那么可分别检测门槛、家电等物体的顶部到地面的高度值,将这些高度值分别作为门槛、家电等物体的高度标识(高度值为正值,并可记录该高度值为门槛、家电等物体的最大凸起高度),并将这些高度标识分别绑定到所建立的地图中的门槛、家电等物体。

又比如,测量物为低洼地面、楼梯等从地面凹陷下去的物体,那么可分别检测低洼地面、楼梯等物体的凹陷面到地面的高度值,将这些高度值分别作为低洼地面、楼梯等物体的高度标识(高度值为负值,并可记录该高度值为低洼地面、楼梯等物体的最大凹陷高度),并将这些高度标识分别绑定到所建立的地图中的低洼地面、楼梯等物体。

又比如,测量物为茶几、沙发等从上实下空的物体,那么可分别检测茶几、沙发等物体的底面到地面的高度值,将这些高度值分别作为低洼地面、楼梯等物体的高度标识(高度值为正值,并可记录该高度值为茶几、沙发等物体的最小凸起高度),并将这些高度标识分别绑定到所建立的地图中的茶几、沙发等物体。

本申请实施例中,所述标识例如还包括清扫类型标识,所述清扫类型标识用于指示测量物的清扫类型。

具体实现中,在确定测量物的清扫类型标识之前,可以先确定测量物的物体类型,也就是识别测量物具体是什么物体。然后,根据所述各个测量物的物体类型确定各个测量物对应的清扫类型。所述清扫类型用于表征测量物是否能够被清扫或者能否被推动。其中,一可能实施例中,清洁机器人可以预先配置物体类型与清扫类型之间的对应关系(如配置映射表)。又一可能实施例中,清洁机器人可预先配置训练好的机器学习模型(例如神经网络模型),将物体类型输入至该机器学习模型,即可获得测量物对应的清扫类型。这样,就可将清扫类型标识(清扫类型标识用于指示清扫类型)绑定到所建立的地图中的测量物。

举例来说,清扫类型可以分类为:

可清扫类测量物:如地面、家具、家电、墙壁、门槛等等。

不可清扫类测量物,如动物粪便、电线、花瓶、液体(咖啡,果汁,牛奶等)。

可推动障碍类测量物,如窗帘、鞋子、垃圾桶等。

需要说明的是,上述清扫类型的分类方式只是举例,而非对本申请的限制。在实际应用中,可根据清扫的需要去设置更多的清扫类型。举例来说,在可能应用场景中,可将地毯、小型颗粒垃圾、纸屑等难以清扫的物体的清扫类型归类为“强力清扫类测量物”。将电线、袜子、花瓶等易卷入或易破碎物体的清扫类型归类为“远离类测量物”。将桌椅、床等物体的清扫类型归类为“重点清扫类测量物”等等。

还需要说明的是,上述物体与清扫类型的之间的对应关系只是举例,而非对本申请的限制。在实际应用中,可根据清扫的需要去设置该对应关系。

需要说明的是,本步骤的具体实施过程还可参考后文实施例步骤403的描述,这里不再赘述。

步骤203、清洁机器人根据添加有所述标识的边界地图,确定运动模式和清扫模式。

本申请实施例中,清洁机器人根据添加有所述标识的边界地图来制定测量物处理策略,测量物处理策略包括了清洁机器人在环境中的运动模式及/或清扫模式。所述运动模式用于指示所述清洁机器人的运动路径和所述清洁机器人的运动状态。所述清扫模式用于指示所述清洁机器人的清扫装置的工作状态。

本申请实施例中,由于边界地图添加有所述标识,所以所述边界地图包括了基于所述测量物的区域的属性及所述区域的位置,其中所述区域的属性包括所述区域的类型。具体的,所述区域的类型可进一步包括地形区域的类型和清扫区域的类型。

在一具体实现中,当测量物为地面时,清洁机器人可根据地图中各个测量物的高度标识配置地形区域。具体的,可根据各个测量物的高度标识所指示的高度,与预配置的高度阈值进行比较,从而对各个测量物进行聚类处理。如将凸起地面的物体基于预定规则进行聚类,将凹陷地面的物体基于预定规则进行聚类,将上实下空的物体基于预定规则进行聚类等等,从而获得一种或多种地形区域。

例如这样形成的地形区域的类型可包括障碍区域、崎岖凸起区域、平坦区域、崎岖凹陷区域、悬崖区域、上实下空区域中的一种或多种。其中障碍区域和悬崖区域又可统称为回避区域,其中崎岖凸起区域、平坦区域、崎岖凹陷区域、上实下空区域又可统称为跨越区域。

其中,所述预配置的高度阈值包括以下至少一种:最大越障凸起高度、最大越障凹陷高度、最小凸起高度、最小凹陷高度、所述清洁机器人的机身高度、所述清洁机器人的底盘高度。

通过设置地形区域,实现了将环境基于不同的地形特征进行划分,那么,后续根据清洁机器人可所划分的所述一种或多种地形区域来确定清洁机器人在环境中的运动模式。例如,当获取的地形区域的类型表示回避区域时,可控制清洁机器人根据所获取的地形区域的位置生成回避路径,并基于所述回避路径,所述回避路径用于使清洁机器人回避所述回避区域;当获取的地形区域的类型表示跨越区域时,可控制清洁机器人根据所获取的地形区域的位置生成跨越路径,并基于所述跨越路径,所述跨越路径用于使所述清洁机器人跨越所述跨越区域。

具体的,清洁机器人可将运动模式中的运动路径(回避路径和/或跨越路径)配置为直线路径、曲线路径、沿墙路径、弓字形路径、螺旋路径中的一种或多种的组合;清洁机器人可将运动模式中的运动状态配置为以下行为或内容中的一个或多个:减速、加速、调整加速度(比如调整减速加速度)、调整前进方向、直线后退、指定动作起始点(动作起始点用于确定进行避障动作的起始点),等等。基于此,后续可驱使清洁机器人,实现清洁机器人在环境中的运动。

在一具体实现中,清洁机器人可根据地图中各个障碍物的清扫类型标识配置地形区域。具体的,清洁机器人可根据所述地图中各个障碍物的清扫类型标识,对所述各个障碍物进行聚类处理,比如将可清扫类测量物基于一定的规则进行聚类,将不可清扫类测量物基于一定的规则进行聚类,将可推动类障碍物基于一定的规则进行聚类,等等,从而获得一种或多种清扫区域,例如这样形成的清扫区域的类型可包括可清扫区域、不可清扫区域、可推动障碍区域中的一种或多种。

通过设置清扫区域,实现了将环境基于不同的清扫属性特征进行划分,那么,后续根据清洁机器人可所划分的所述一种或多种清扫区域来确定清洁机器人在环境中的清扫模式。例如,当获取的清扫区域的类型表示可清扫区域时,可控制所述清洁机器人清扫所述可清扫区域。当获取的清扫区域的类型表示不可清扫区域时,可控制所述清洁机器人不清扫所述不可清扫区域。当获取的清扫区域的类型表示可推动障碍区域时,可控制所述清洁机器人移动所述清扫区域中的障碍物,并对移动障碍物后的区域进行清扫。

具体的,清洁机器人可将清扫模式配置为:驱使清扫装置调节该清扫装置相关部件(如边扫、中扫)的清扫速度、清扫高度、调节风机组件的吸力、调节喷水装置的喷水操作中的至少一项。基于此,后续可控制该清扫装置实施对环境的清扫。

本步骤的具体实现过程还可参考后文实施例步骤405和步骤407的描述,这里不再赘述。

步骤204、清洁机器人根据所述运动模式驱使所述清洁机器人运动,以及根据所述清扫模式驱使所述清洁机器人清扫。相关内容可参考步骤203的描述,这里不再赘述。

可以看到,实施本申请实施例,清洁机器人建立定位与导航的边界地图(如slam地图)后,能对边界地图中的测量物添加测量物属性标识,如高度标识、清扫类型标识等。这样,所建立的边界地图将包括有基于所述测量物的区域的属性及所述区域的位置,所述区域的属性包括所述区域的类型(如各种类型的地形区域、各种类型的清扫区域)。从而能够根据所述边界地图制定适宜的清扫策略(如运动模式、清扫模式等)。既可实现清洁机器人对垃圾的清扫无遗漏,提高清扫覆盖率,又能避免清洁机器人陷入危险状况和对周围环境造成危害,降低风险或负面影响。从而,提高了清洁机器人自动完成清洁作业的效率,提升了清洁机器人的智能化程度和清扫效果。

参见图7,基于前文描述的清洁机器人,下面进一步描述本申请实施例提供的又一种地图处理方法,如图7所示,该方法包括但不限于以下步骤:

步骤401a、清洁机器人根据采集的图像数据建立slam地图。

具体实现中,清洁机器人中设置有摄像头324,摄像头324可在不同的时刻采集当前清洁机器人的前方环境的图像,可以理解的,由于前方环境中有测量物,所以该图像中包括有测量物的图像数据。其中本文中所述测量物包括地面和障碍物。

清洁机器人的控制器311进一步根据测量物的图像数据获得测量物的当前点云数据,对当前点云数据与历史点云数据(即先前时刻获得的点云数据)进行匹配,计算匹配误差最小的位姿作为当前的清洁机器人的位姿,从而,清洁机器人通过slam系统,根据所述当前点云数据、所述历史点云数据和所述位姿建立slam地图。

步骤401b、清洁机器人根据测量物的深度数据建立slam地图。

具体实现中,清洁机器人中配置有传感器326(例如为rgbd传感器)或摄像头324,清洁机器人还配置硬件形式或软件形式的深度转换单元。传感器326或摄像头324用于获取图像信息,深度转换单元用于将该图像信息转换为深度信息,从而获得该图像对应的深度数据(又可称为当前深度数据或者当前深度图)。

清洁机器人的控制器311进一步对当前深度数据和历史深度数据(即先前时刻所获得的测量物的表面点的深度数据)进行匹配,计算匹配误差最小的位姿作为当前的清洁机器人的位姿,从而,清洁机器人通过slam系统,根据所述当前深度数据、所述历史深度数据和所述位姿建立slam地图。

步骤401c、清洁机器人根据测量物的距离数据建立slam地图。

具体实现中,清洁机器人中配置有传感器326,传感器326例如为激光测距传感器,用于测量清洁机器人前方环境或周围环境的测量物与清洁机器人之间的距离,从而获得测量物的表面点的当前距离数据;

清洁机器人的控制器311进一步对当前距离数据获得测量物的当前点云数据,使用当前点云数据和历史距离数据(即先前时刻所获得的点云数据)进行匹配,计算匹配误差最小的位姿作为当前的清洁机器人的位姿。从而,清洁机器人通过slam系统,根据所述当前点云数据、所述历史点云数据和所述位姿建立slam地图。

需要说明的是,在一种实施例中,清洁机器人可根据上述步骤401a、步骤401b、步骤401c中的任一种方案来建立slam地图。

在又一种实施例中,清洁机器人可根据上述步骤401a、步骤401s、步骤401c中的二种或三种方案的组合来建立slam地图。比如在一些应用场景中,可以将步骤401a和步骤401b的方案进行组合,或者步骤401a和步骤401c的方案进行组合。也就是说,考虑到激光测距传感器或者rgbd传感器或红外障碍传感器不能准确获取相对较远位置的障碍物的相关信息,那么也可以通过摄像头拍摄该较远障碍物来获得图像数据,从而提升本申请所建立的地图的准确性。

步骤402、为所述slam地图中各个测量物添加标识。所述标识例如包括高度标识和清扫类型标识,其中,本申请实施例中,所述标识例如包括高度标识和清扫类型标识。当测量物为障碍物时,障碍物对应的高度标识用于指示障碍物的顶部和/或底部距离地面的高度,或者用于指示障碍物的顶部和/或底部距离水平面的高度。当测量物为地面时,地面的高度标识可为零或者接近于零,或者用于指示地面上缘距离水平面的高度。所述清扫类型标识用于指示测量物的清扫类型。

具体实现中,在确定测量物的高度标识之前,可以先确定测量物的物体类型以及测量物的高度值。

在一实施例中,这样,可通过摄像头对环境中测量物进行拍摄,获得测量物,将测量物的图像输入到预先训练好的机器学习模型中,从而输出测量物的物体类型。此外,可能的实施例中,机器学习模型还可输出该测量物的高度值。其中,所述机器学习模型可以为卷积神经网络(cnn)、深度神经网络模型(dnn)、支持向量机(svm)、或k最邻近模型(knn)中的一种。

需要说明的是,测量物的高度值还可以通过其他方式来获得,比如通过清洁机器人的高度传感器对测量物进行测量,从而获得测量物的高度值。

这样,就可将各个测量物的高度标识(高度标识包括高度值)分别相应绑定到所建立的slam地图中的测量物(如图6所示的障碍物1、障碍物2)。

具体实现中,在确定测量物的清扫类型标识之前,可以先确定测量物的物体类型,也就是识别测量物具体是什么物体。然后,根据所述各个测量物的物体类型确定各个测量物对应的清扫类型。所述清扫类型用于表征测量物是否能够被清扫或者能否被推动。

其中,一可能实施例中,清洁机器人可以预先配置物体类型与清扫类型之间的对应关系,即配置映射表。通过查询映射表,就可以根据物体类型确定对应的清扫类型。

又一可能实施例中,清洁机器人可预先配置训练好的又一机器学习模型,所述机器学习模型可以为卷积神经网络(cnn)、深度神经网络模型(dnn)、支持向量机(svm)、或k最邻近模型(knn)中的一种。清洁机器人将物体类型输入至该机器学习模型,即可获得对应的清扫类型。

这样,就可将各个测量物的清扫类型标识(清扫类型标识用于指示清扫类型)分别相应绑定到所建立的slam地图中的测量物(如图6所示的障碍物1、障碍物2)。

需要说明的是,本步骤的相关内容还可参考前文实施例步骤202的描述,这里不再赘述。

步骤403、将所述slam地图中各个测量物投射到二维平面,获得二维地图(或称二维边界地图)。

具体实施例中,通过上述步骤建立的slam地图可能是三维地图(或称三维边界地图),那么,可以是对slam地图中测量物位置的特征点加以统计聚类,将具有同类特征的特征点投射二维平面,从而获得二维地图。也就是说,同一测量物的特征点投射到二维平面所形成的二维测量物(或称二维测量物边界),就是该测量物对应在二维地图中的测量物。由于slam地图中各个测量物具有相应的标识(如高度标识、清扫类型标识等),所以,所生成的二维地图中的各个障碍物同样具有相应的标识。

举例来说,参见图6和图7,图6示例性地示出了一种slam地图。该slam地图为三维地图,该slam地图包括障碍物1、障碍物2和地面。那么可以对slam地图中障碍物1、障碍物2、地面的特征点分别加以统计聚类。图7示出了将slam地图投射到二维平面后所获得的一种二维地图,可以看到,二维地图中的障碍物1、障碍物2、地面即为经过投射而形成的二维障碍物。二维地图中的障碍物1、障碍物2、地面分别具有各自的标识,如高度标识、清扫类型标识等。

本申请实施例将slam地图投射形成二维地图,由于二维地图中的测量物包含slam地图的测量物的关键特征,所以该二维地图同样可以实现增量式建图、定位以及导航。还可以看到,二维地图能够极大节省地图的数据量,有利于提高建图、定位以及导航的效率。

需要说明的是,本申请可能的实施方式中,上述步骤403也可能在步骤402之前执行。也就是说,清洁机器人可先根据slam地图生成二维地图,再对二维地图中的测量物分别添加相应的标识。

步骤404、根据所述地图中各个测量物的高度标识,对所述各个测量物进行聚类处理,获得一种或多种地形区域。

在一些实施例中,所述一种或多种地形区域包括以下的一种或多种:障碍区域;崎岖凸起区域;平坦区域;崎岖凹陷区域;悬崖区域;上实下空区域。

具体实现中,关于清洁机器人对地形区域的配置方式可描述如下:

首先,描述相关概念的定义。具体的,可将清洁机器人最高点到地面的距离定义为机身高度;将清洁机器人的接触传感器(例如碰撞传感器)到地面距离定义最大凸起越障高度;将地面凹陷高度等于最大越障高度的距离值视为最大凹陷越障高度;将清洁机器人底盘高度的一半(或者其他值,如三分之一)定义为最小凸起高度(或最小凹陷高度)。

然后,清洁机器人根据二维地图中的高度标识,对二维地图中的障碍物进行聚类。

对于凸起地面的实体障碍物(即非上实下空的物体),可通过以下规则,对障碍物进行聚类形成相关的地形区域。

例如,清洁机器人可将高度值(该高度值为凸起地面的实体障碍物的顶部到地面的距离,下同)大于清洁机器人的最大凸起越障高度的障碍物的集合标记为“障碍区域”。

例如,清洁机器人可将高度值大于等于最小凸起高度,且小于等于最大凸起越障高度的障碍物的集合标记为“崎岖凸起区域”。

例如,清洁机器人可将高度值小于最小凸起高度,且高度值大于或接近于0的障碍物的集合标记为“凸起类平坦区域”。

对于凹陷地面的障碍物,可通过以下规则,对障碍物进行聚类形成相关的地形区域。

例如,清洁机器人可将高度值(如果凹陷类物体的高度值用负值表示,那么这里的高度值即凹陷类物体的高度值的绝对值,该高度值表示凹陷地面的障碍物的顶部到地面的距离,下同)小于最小凹陷高度,且高度值大于或接近于0的障碍物的集合标记为“凹陷类平坦区域”。

可以理解的,本文中所描述的地面对应的地形区域可以属于凸起类平坦区域或凹陷类平坦区域。

例如,清洁机器人可将高度值大于等于最小凹陷高度,且小于等于最大凹陷越障高度的障碍物的集合标记为“崎岖凹陷区域”。

例如,清洁机器人可将高度值大于清洁机器人的最大凹陷越障高度的障碍物的集合标记为“悬崖区域”。

需要说明的是,在可能的实施例中,也可将上述崎岖凸起区域和崎岖凹陷区域统称为“崎岖区域”;在可能实施例中,也可将上述凸起类平坦区域和凹陷类平坦区域统称为“凹陷区域”。

对于上实下空类障碍物,可通过以下规则,对障碍物进行聚类形成相关的地形区域。

例如,清洁机器人可将障碍物的高度值(该高度值为上实下空类障碍物的底部平面到地面的距离,下同)大于清洁机器人的机身高度的障碍物的集合标记为“上实下空区域”。

例如,清洁机器人可将障碍物的高度值小于清洁机器人的机身高度的障碍物的集合标记为“障碍区域”。

参见图8,图8为基于上述地形区域的配置方式对二维地图进行划分的示意图,可以看到,在该场景中,二维地图被划分成了多种类型的地形区域,如崎岖凸起区域、平坦区域、崎岖凹陷区域、悬崖区域、上实下空区域、障碍区域等等,每种类型的地形区域的数量可以是一种也可以是多种(如图示中有多种障碍区域),这里不做限制。

需要说明的是,本步骤中的相关地形区域仅仅作为示例,在实际应用中,还可根据其他规则配置更多或更少的地形区域。

结合清洁机器人的机身配置(如机身高度、底盘高度、传感器)等等,将地面划分成不同类型的区域,可以使清洁机器人更能智能化的根据不同类型的区域规划符合清洁机器人自身性能的运动路径,从而提高清扫效率。

步骤405、根据所述一种或多种地形区域,制定所述清洁机器人的运动模式。所述运动模式用于指示所述清洁机器人的运动路径和所述清洁机器人的运动状态。

具体的,清洁机器人可将运动模式中的运动路径配置为直线路径、曲线路径、沿墙路径、弓字形路径、螺旋路径中的一种或多种的组合;清洁机器人可将运动模式中的运动状态配置为以下行为或内容中的一个或多个:减速、加速、调整加速度(比如调整减速加速度)、调整前进方向、直线后退、指定动作起始点(动作起始点用于确定进行避障动作的起始点),等等。基于此,后续可驱使清洁机器人的轮子装置,实现清洁机器人在环境中的运动。

举例来说,在图8所示场景中,清洁机器人在规划运动路径时,可综合平坦区域、上实下空区域、崎岖凹陷区域、崎岖凸起区域各自的属性进行路径规划,从而使规划后的运动路径尽量规避障碍区域和悬崖区域,以避免障碍物被卡死或者避免损坏物体或清洁机器人。

又举例来说,在清洁机器人在行进过程中,如果检测行进前方存在“悬崖区域”或“障碍区域”时,可控制清洁机器人提前减速,并采用合适路径来回避这些地形区域,如调整运动方向远离这些地形区域,或者采用沿墙模式沿这些地形区域的边缘进行运动,避免清洁机器人触碰到这些地形区域,并继续清扫任务。

又举例来说,在清洁机器人在行进过程中,如果检测行进前方存在“崎岖区域”时,可控制清洁机器人提前切换为越障模式,也就是说,清洁机器人可采取特定的运动路径(如曲线路径或组合路径)、或者改变轮子装置的运动速率和功率,以尝试以跨越的方式通过该崎岖区域。需要说明的是,若清洁机器人经过多次尝试依然无法通过该崎岖区域,那么还可将区域重新标记成障碍区域,这样下次清扫经过时,可控制清洁机器人及时回避此区域,提高运动效率。

又举例来说,在清洁机器人执行自主返回充电时,清洁机器人可规划最短运动路径,并“悬崖区域”、“障碍区域”充当最短路径算法中的障碍物。也就是说,清洁机器人可根据二维地图中除“悬崖区域”、“障碍区域”以外的其他地形区域,寻找最合适的运动路径返回,其中最短路径算法例如为a*最短路径算法、d*最短路径算法或以上算法的变形。

步骤406、根据所述地图中各个测量物的清扫类型标识,对所述各个测量物进行聚类处理,获得一种或多种清扫区域。

在一些实施例中,对于地图中各个测量物,如果所标记的清扫类型标识所指示测量物的清扫类型为可清扫类测量物、不可清扫类测量物、可推动障碍类测量物中的一种或多种,那么,通过对测量物的聚类处理,所形成的清扫区域对应包括可清扫区域、不可清扫区域、可推动障碍区域中的一种或多种。

可理解的,在一些应用场景中,如果将清扫类型进一步进行细分,那么清扫区域的种类也将对应性地细分。

例如,可清扫类测量物细分为强力清扫类测量物(如小型颗粒垃圾、纸屑等难以清扫的物体)、轻微清扫类测量物(如桌脚、椅脚等支撑物体)、重点清扫类测量物(如墙角、床边等)、普通清扫类测量物(如家具、家电等物体),那么可清扫区域还可以进一步细分为强力清扫区域、轻微清扫区域、重点清扫区域、普通清扫区域,等等。

例如,不可清扫类测量物可以进一步细分为:禁止清扫类测量物(如电线、袜子等易卷入物体)、需远离类测量物(如花瓶等易破碎物体),那么不可清扫区域可以进一步细分为:禁入清扫区域、需远离清扫区域,等等。

参见图9,图9为基于上述清扫区域的配置方式对二维地图进行划分的示意图,可以看到,在该场景中,二维地图被划分成了多种类型的清扫区域,如可清扫区域、不可清扫区域、可推动障碍区域等等,每种类型的清扫区域的数量可以是一种也可以是多种(如图示中有多种可清扫区域和多种不可清扫区域),这里不做限制。

需要说明的是,本步骤中的相关清扫区域仅仅作为示例,在实际应用中,还可根据其他规则配置更多或更少的清扫区域。

还需要说明的是,本申请具体实施例中,基于二维地图所划分的地形区域和清扫区域之间没有必然的位置关系。也就是说,某地形区域可能和某清扫区域不重叠、或者部分重叠、或者全部重叠,这里不做限定。

步骤407、根据所述一种或多种清扫区域,制定所述清洁机器人的所述清扫模式。所述清扫模式用于指示所述清洁机器人的清扫装置的工作状态。

对于不同的清扫区域,清洁机器人可根据清扫区域的属性进行不同的清扫模式配置。

举例来说,对于可清扫区域,其对应的清扫模式可配置为:驱使清扫装置调节该清扫装置相关部件(如边扫、中扫)的清扫速度、清扫高度、调节风机组件的吸力、调节喷水装置的喷水操作中的至少一项,以实施对该区域的障碍物的清扫。

例如,对于强力清扫区域,清洁机器人可主动降低行走速率、并提高清扫装置的清洁功率(加大吸力,减小边刷转速等)。

举例来说,对于不可清扫区域,其对应的清扫模式可配置为:驱使清扫装置调节该清扫装置相关部件(如边扫、中扫)的调节清扫装置的清扫速度、清扫高度和调节风机组件的吸力中的至少一项,以避免清扫到该区域中的障碍物。

举例来说,对于可推动清扫区域,其对应的清扫模式可配置为:清洁机器人执行可推动清扫路径,并主动降低运动速度,并尝试推动可推动清扫区域中的障碍物移动一段距离。若前方障碍物被推动,则可记录障碍物被推移前/后的位置。后续在完成当前区域清扫后,还可把该障碍物推回到原位置。

需要说明的是,具体应用场景中,可根据实际的清扫需要配置与清扫区域对应的具体清扫模式,本申请不具体限制。

还需要说明的是,上述步骤404-步骤405、与步骤406-步骤407之间没有必然的先后顺序。也就是说,步骤404-步骤405可在与步骤406之前执行,步骤404-步骤405可在与步骤407之后执行,步骤404-步骤405与步骤406-步骤407也可同步执行,这里不做限定。

还需要说明的是,上述步骤404-步骤405与步骤406-步骤407的相关内容还可参考前文步骤203的相关描述,这里不再赘述。

步骤408、根据所述运动模式驱使所述清洁机器人运动以及根据所述清扫模式驱使所述清洁机器人清扫。具体实现过程可参考上述步骤405、步骤407的相关描述,这里不再赘述。

可以看到,实施本申请实施例,清洁机器人能根据slam地图生成二维地图,并对二维地图中的障碍物添加障碍物属性标识,如高度标识、清扫类型标识等。这样,所建立的边界地图将包括有基于所述测量物的区域的属性及所述区域的位置,所述区域的属性包括所述区域的类型(如各种类型的地形区域、各种类型的清扫区域)。后续能够根据所述二维地图制定适宜的清扫策略(如运动模式、清扫模式等)。既可实现清洁机器人对垃圾的清扫无遗漏,提高清扫覆盖率,又能避免清洁机器人陷入危险状况和对周围环境造成危害,降低风险或负面影响。从而,提高了清洁机器人自动完成清洁作业的效率,提升了清洁机器人的智能化程度和清扫效果。

需要说明的是,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(read-onlymemory,rom)、随机存储器(randomaccessmemory,ram)、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子抹除式可复写只读存储(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

在上述的实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是个人计算机,服务器,或者网络设备、机器人、单片机、芯片等)等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

以上对本申请实施例公开的进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1