一种清洁机器人控制方法以及清洁机器人与流程

文档序号:20572608发布日期:2020-04-29 00:54阅读:159来源:国知局
一种清洁机器人控制方法以及清洁机器人与流程

本发明涉及智能机器人领域,尤其涉及一种清洁机器人控制方法以及清洁机器人。



背景技术:

现代生活中,清洁机器人逐渐应用和普及。在清洁机器人的清扫过程中,会遇到各种障碍物,如墙壁、桌椅、花瓶等。现有的障碍物处理方案主要是通过在清洁机器人前部或顶部安装非接触式传感器,如红外,激光或超声波等测距传感器,通过测量机器人与障碍物的距离实现沿墙行走。现有技术中,清洁机器人在清扫过程中遇到障碍物时,采用固定间隔进行沿墙,这样可能会出现有的障碍物区域漏扫太多,有的障碍物区域会碰坏障碍物等等,因此清洁机器人面对障碍物时如何控制清洁机器人的沿墙运动就很重要。



技术实现要素:

本申请实施例提供一种清洁机器人控制方法以及清洁机器人,可实现针对不同障碍物进行不同的沿墙运动,提高沿墙运动过程中清扫覆盖率,同时降低清扫风险。

第一方面,本申请实施例提供了一种清洁机器人控制方法,所述方法应用于清洁机器人,清洁机器人包括机身主体和清扫装置,清扫装置延伸超过所述机身主体的边缘并且用于清扫所述机身主体的边缘之外的地面区域。所述方法包括:采集所述清洁机器人的运行环境中的障碍物的图像;根据所述障碍物的图像,识别所述障碍物的类型;确定所述障碍物的类型对应的沿墙间距,其中不同的障碍物类型对应不同的沿墙间距;根据所述障碍物的类型对应的沿墙间距,控制所述清洁机器人沿着障碍物边界进行沿墙运动。

可以看出,实施本申请实施例,清洁机器人能够区分环境中不同类型的障碍物,依据不同障碍物类型,采用不同的沿墙间距进入沿墙模式,因此可以达到更优的沿墙路径,避免机器人陷入威胁境界或接触到不能接触的物品,这样,能够针对不同障碍物实现不同的避障距离,确保该远离的障碍物就远离,该尽量靠近的障碍物则尽量靠近,从而可以极大提升清扫覆盖率,同时,极大程度降低障碍物和/或清洁机器人的风险或负面影响,提高清扫安全性。

本申请实施例通过图像检测的方法来确定障碍物类型,受障碍物颜色影响较小,不会因为障碍物颜色不一样,而导致避障距离不一样,避免现有技术的一些缺陷。

基于第一方面,在可能的实施例中,所述确定所述障碍物的类型对应的沿墙间距之后,还包括:获取所述障碍物边界的可信度,所述障碍物边界的可信度与所述障碍物的沿墙间距呈反相关关系;根据所述障碍物边界的可信度,对所述障碍物的类型对应的沿墙间距进行修正,得到修正后的沿墙间距;

相应的,所述根据所述障碍物的类型对应的沿墙间距,控制所述清洁机器人沿着障碍物边界进行沿墙运动包括:根据所述修正后的沿墙间距,控制所述清洁机器人沿着所述障碍物边界进行沿墙运动。

也就是说,本申请实施例可在考虑障碍物类型的基础上再综合考虑了边界置信度水平的影响,对沿墙间距进行修正,因此所规划的沿墙路径更优,沿墙路径更具有更高的准确性和实用可操作性,有利于将清扫覆盖率提升到最高,同时,将风险或负面影响控制到最低。

基于第一方面,在可能的实施例中,所述确定所述障碍物的类型对应的沿墙间距之后,还包括:获取所述清洁机器人的运动速度,所述机器人的运动速度与所述障碍物的沿墙间距呈正相关关系;根据所述清洁机器人的运动速度,对所述障碍物的沿墙间距进行修正,得到修正后的沿墙间距;

相应的,所述根据所述障碍物的类型对应的沿墙间距,控制所述清洁机器人沿着障碍物边界进行沿墙运动包括:根据所述修正后的沿墙间距,控制所述清洁机器人沿着所述障碍物边界进行沿墙运动。

也就是说,本申请实施例还可在考虑障碍物类型的基础上再综合考虑了清洁机器人的移动速度的影响,对沿墙间距进行修正,因此所规划的沿墙路径更优,沿墙路径更具有更高的准确性和实用可操作性,有利于将清扫覆盖率提升到最高,同时,将风险或负面影响控制到最低。

基于第一方面,在可能的实施例中,所述根据所述障碍物的图像,识别所述障碍物的类型包括:根据所述障碍物的图像,将所述障碍物的类型识别为以下一种:非危险类障碍物;危险类障碍物。

当所述障碍物的类型表示非危险类障碍物时,所述沿墙间距为第一沿墙间距;

相应的,所述根据所述障碍物的类型对应的沿墙间距,控制所述清洁机器人沿着障碍物边界进行沿墙运动包括:基于所述第一沿墙间距,控制所述清洁机器人沿着所述障碍物边界进行沿墙运动;

当所述障碍物的类型表示危险类障碍物时,所述沿墙间距为第二沿墙间距;

相应的,所述根据所述障碍物的类型对应的沿墙间距,控制所述清洁机器人沿着障碍物边界进行沿墙运动包括:基于所述第二沿墙间距,控制所述清洁机器人沿着所述障碍物边界进行沿墙运动;

其中,所述第二沿墙间距大于所述第一沿墙间距,所述第一沿墙间距使所述清扫装置接触所述障碍物边界;所述第二沿墙间距使所述清扫装置不能接触所述障碍物边界。

这样,能够针对不同障碍物实现不同的避障距离,确保不该靠近的障碍物(如危险类)就不靠近,该尽量靠近的障碍物(如非危险类)则尽量靠近,从而可以极大提升清扫覆盖率,同时,极大程度降低障碍物和/或清洁机器人的风险或负面影响,提高清扫安全性。

基于第一方面,在可能的实施例中,所述危险类障碍物包括以下至少一种:危险不可靠近类障碍物;高危险需远离类障碍物。

当所述障碍物的类型表示危险不可靠近类障碍物时,所述沿墙间距为第三沿墙间距;

相应的,所述根据所述障碍物的类型对应的沿墙间距,控制所述清洁机器人沿着障碍物边界进行沿墙运动包括:基于所述第三沿墙间距,控制所述清洁机器人沿着所述障碍物边界进行沿墙运动;

当所述障碍物的类型表示高危险需远离类障碍物时,所述沿墙间距为第四沿墙间距;

相应的,所述根据所述障碍物的类型对应的沿墙间距,控制所述清洁机器人沿着障碍物边界进行沿墙运动包括:基于所述第四沿墙间距,控制所述清洁机器人沿着所述障碍物边界进行沿墙运动;

其中,所述第四沿墙间距大于所述第三沿墙间距。

这样,能够针对不同障碍物实现不同的避障距离,确保该高危险需远离类障碍物就远离障碍物的距离大于危险不可靠近类障碍物,从而针对障碍物危险程度的不同对避障距离进行不同的设计,可以提升清扫覆盖率的同时,有针对性地降低障碍物和/或清洁机器人的风险或负面影响,提高清扫安全性。

基于第一方面,在可能的实施例中,所述根据所述障碍物的类型对应的沿墙间距,控制所述清洁机器人沿着障碍物边界进行沿墙运动之前,还包括:

确定所述清洁机器人的前进方向上的动作起始点,所述动作起始点与所述障碍物边界之间的距离大于所述沿墙间距;从所述动作起始点的位置开始控制所述清洁机器人减速,从而预留距离和避障时间做为缓冲,以便于更好实现后面的沿墙路径。

比如,对于一些可以让清洁机器人靠近的障碍物类型,动作起始点距离可以短一些,或者减速加速度小一些。例如障碍物为床边,清洁机器人可以较短的动作起始点距离启动动作,使清洁机器人可以尽量靠近障碍物,尽量提高清扫覆盖率。

基于第一方面,在可能的实施例中,所述沿墙间距能够使得包括进入沿墙路径时,清洁机器人的机身主体与所述障碍物之间的间距满足一预设条件(该间距可称为第一距离),以及清洁机器人的边扫与所述障碍物之间的间距满足又一预设条件(该间距可称为第二距离)。

基于第一方面,在可能的实施例中,所述机身主体与所述清扫装置进行可伸缩连接;所述根据所述障碍物的类型对应的沿墙间距,控制所述清洁机器人沿着障碍物边界进行沿墙运动之前,还包括:

当所述机身主体达到所述第一距离时,控制所述清扫装置相对于所述机身主体进行伸缩,以使所述清扫装置达到所述第二距离。

基于第一方面,在可能的实施例中,所述根据所述沿墙路径进行运动及清扫之前,还包括:根据所述障碍物的图像,计算得到障碍物边界;以及,根据所述障碍物的图像,计算得到所述障碍物边界到所述机身主体的第三距离;根据所述第三距离,将所述障碍物边界标定在slam地图;根据标定有所述障碍物边界的slam地图和所述沿墙路径进行路径规划,得到全局的运动路径;

相应的,所述根据所述沿墙路径进行运动及清扫,包括:根据所述全局的运动路径进行运动及清扫。

可以看到,本申请实施例中清洁机器人能够通过图像检测或者已存储在slam地图上的障碍物边界区分环境中不同类型的障碍物,依据不同障碍物类型确定不同的沿墙间距,从而获得不同的沿墙路径,并可将障碍物边界标定到slam地图中,结合slam地图和沿墙路径进行综合的路线规划。这样,既能够针对不同障碍物实现不同的沿墙间距,从而将清扫覆盖率提升到最高的同时将风险或负面影响控制到最低,还能有较充分的距离制定全局的运动路径,因此沿墙路径会更加合理,更具有实际可操作性。

基于第一方面,在可能的实施例中,清洁机器人调整原运动路径的方向进入沿墙路径时,如果清洁机器人的壳体是圆形,那么清洁机器人基于轮子装置可通过同圆心旋转实现转向,如果清洁机器人的壳体是非圆形机器人,则清洁机器人除了基于轮子装置实现转向外,对于调整方向时的距离还可根据清洁机器人调整方向的时候是否会撞到障碍物来进行进一步调整。

第二方面,本申请实施例提供了一种清洁机器人,包括机身主体以及与所述机身主体连接的清扫装置,机身主体包括控制器、图像采集装置;清扫装置延伸超过所述机身主体的边缘并且用于清扫所述机身主体的边缘之外的地面区域。其中:所述图像采集装置用于,采集所述清洁机器人的运行环境中的障碍物的图像;所述控制器用于,根据所述障碍物的图像,识别所述障碍物的类型;还用于确定所述障碍物的类型对应的沿墙间距,其中不同的障碍物类型对应不同的沿墙间距;所述控制器用于,根据所述障碍物的类型对应的沿墙间距,控制所述清洁机器人沿着障碍物边界进行沿墙运动。

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

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

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

可以看出,实施本申请实施例,清洁机器人能够区分环境中不同类型的障碍物,依据不同障碍物类型,采用不同的沿墙间距进入沿墙模式,因此可以达到更优的沿墙路径,避免机器人陷入威胁境界或接触到不能接触的物品(如动物粪便),这样,能够针对不同障碍物实现不同的避障距离,确保该远离的障碍物(如高危险类)就远离,该尽量靠近的障碍物(如非危险类)则尽量靠近,从而可以极大提升清扫覆盖率,同时,极大程度降低障碍物和/或清洁机器人的风险或负面影响,提高清扫安全性。另外,本申请实施例还可在考虑障碍物类型的基础上再综合考虑了边界置信度水平、清洁机器人的移动速度等因素的影响,对沿墙间距进行修正,因此所规划的沿墙路径更优,沿墙路径更具有更高的准确性和实用可操作性,有利于将清扫覆盖率提升到最高,同时,将风险或负面影响控制到最低。此外,本申请实施例受障碍物颜色影响较小,不会因为障碍物颜色不一样,而导致避障距离不一样,避免现有技术的一些缺陷。

附图说明

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

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

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

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

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

图4为本申请实施例提供的一种清洁机器人控制方法的流程示意图;

图5为本申请实施例提供的一种应用场景中清洁机器人基于障碍物边界的沿墙路径的示意图;

图6为本申请实施例提供的一种应用场景中清洁机器人的沿墙间距的示意图;

图7为本申请实施例提供的又一种应用场景中清洁机器人的沿墙间距的示意图;

图8为本申请实施例提供的又一种清洁机器人控制方法的流程示意图;

图9为本申请实施例提供的一种应用场景中清洁机器人的全局运动路径的示意图;

图10为本申请实施例提供的又一种应用场景中清洁机器人的全局运动路径的示意图。

具体实施方式

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

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

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

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

图像采集装置(如图示中的摄像头1051)设置在壳体上。可选的,壳体上还设置有一个或多个传感器(如图示中包括接触传感器1061)。

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

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

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

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

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

在一具体实现中,主扫1041可设置于壳体底部的位置,用于在清洁机器人10行进中对经过边扫所清扫的垃圾进行进一步清扫和回收。举例来说,如图1b所示,主扫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等耦合。其中:

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

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

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

在一些可选的实施例中,传感器326可进一步包括以下传感器中的一个或多个:接触传感器,用于检测清洁机器人10是否与障碍物接触,接触传感器可进一步包含开关、电容传感、压力感应等;速度计,用于检测清洁机器人10的行驶速度;加速计,用于检测清洁机器人10的加速度;里程计,用于检测清洁机器人10的行驶里程。在一些实施例中,传感器326还包括红外传感器,超声波传感器,射频(rf)传感器,地磁传感器,位置敏感设备(psd)传感器等。传感器326用于感测清洁机器人周围的障碍数据。

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

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

存储器315与控制器311耦合,用于存储各种数据(如障碍物类型、障碍物类型与沿墙间距之间的映射关系)、各种软件程序和/或多组程序指令、存储清洁机器人10的行进区域的地图。具体实现中,存储器315可包括高速随机存取的存储器,并且也可包括非易失性存储器。例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器315还可以存储一个或多个应用程序,如slam系统程序、深度学习图像算法、路线规划算法等等。

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

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

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

下面进一步描述控制器311的相关功能模块。参见图3,图3是控制器311的一种具体实现方式的结构框图,如图3所示,控制器311进一步包括图像获取模块401、沿墙运动模块403、图像测距模块405、沿墙运动模块407、slam模块409(或称slam系统),其中:

图像获取模块401,用于获取摄像头所采集的障碍物的图像。具体实现中,图像获取模块401例如可用于执行后文步骤201。

沿墙运动模块403,根据所述障碍物的图像,确定所述障碍物的类型;还用于根据障碍物的图像,计算得到障碍物边界。具体实现中,沿墙运动模块403例如可用于执行后文步骤202。

图像测距模块405,用于根据所述障碍物的图像,计算得到所述障碍物到所述机身主体的距离。

障碍物处理模块407,用于确定所述障碍物的类型对应的沿墙间距。具体实现中,障碍物处理模块407例如可用于执行后文步骤203。

在一些实施例中,所述沿墙间距能使清洁机器人进入沿墙模式时,清洁机器人的机身主体与所述障碍物之间满足第一预设条件的间距(满足第一预设条件的间距可称为第一距离),以及清洁机器人的边扫与所述障碍物之间满足第二预设条件的间距(满足第二预设条件的间距可称为第二距离)。因此,所述第一距离用于指示进入沿墙路径时所述机身主体与所述障碍物之间的间距,所述第二距离用于指示进入所述沿墙路径时所述边扫与所述障碍物之间的间距。

地图处理模块409,用于根据所述距离,将所述障碍物边界标定在slam地图,以及用于根据标定有所述障碍物边界的slam地图和所述沿墙路径进行路径规划,得到全局的运动路径。

后续,控制器311可将运动路径(沿墙路径)的指令发送至图2所示的运动管理模块318和清扫管理模块319,从而通过运动管理模块318进一步驱动该轮子装置323进行运动,通过清扫管理模块319进一步驱动清扫装置325进行清扫。具体实现中,清扫管理模块319例如可用于执行后文步骤204。

上述各个模块具体用以实现下文所描述的清洁机器人控制方法,为了说明书的简洁,这里不赘述。

参见图4,基于上文所描述清洁机器人,下面描述本申请实施例提供的一种清洁机器人控制方法,该方法主要以清洁机器人的清扫装置包括边扫为例进行描述,如图4所示,该方法包括但不限于以下步骤:

步骤201、采集清洁机器人的运行环境中的障碍物的图像。

其中,本文中所描述的障碍物为清洁机器人在行进过程中遇到的任意的可能会对清洁机器人的运动造成影响的物体。

具体的,障碍物可以是凸起地面的物体,例如家具、家电、玩具、瓶装物、动物粪便、墙壁、电线、茶几布帘、门槛、鞋子等等;障碍物也可以是紧贴地面的物体,例如地面的水渍、粉末堆等等;障碍物可以是从地面凹陷下去的物体,例如楼梯、凹槽、悬崖等等。

在一实施例中,清洁机器人在沿前进方向行进中,通过其自身的摄像头对环境进行拍摄,可以理解的,当清洁机器人前方有障碍物时,其所拍摄的图像或录像中就会存在障碍物的图像。

步骤202、根据所述障碍物的图像,识别所述障碍物的障碍物类型(可简称为所述障碍物的类型)。

障碍物类型表征了障碍物的属性,可预先在清洁机器人中设置多个种类的障碍物类型。举例来说,可将障碍物类型分为以下几种:

非危险可靠近类障碍物,如墙壁、桌椅等固定物体。

危险不可靠近类障碍物,如花瓶、回充座、电线、与清洁机器人高度相等的上实下空的家具等。

高危险需远离类障碍物,如宠物粪便、地面水渍、楼梯、凹槽等。

需要说明的是,上述障碍物类型仅仅作为示例,实际应用中,对障碍物类型的划分种类可以是多种多样的,用户或者厂商可根据实际的清扫需要进行更多或更少的障碍物类型的预设置。比如,将障碍物类型划分为非危险类障碍物和危险类障碍物(如可将危险不可靠近类障碍物和高危险需远离类障碍物统一为危险类障碍物),等等,本申请对此不做限定。

还需要说明的是,实际应用中,还可以根据实际的清扫需要将障碍物归类为某种障碍物类型。比如,也可将宠物粪便、地面水渍、楼梯、凹槽等等归类为危险不可靠近类障碍物,等等,本申请对此不做限定。

在具体实施例中,清洁机器人在行进过程中,通过摄像头获得障碍物的图像后,可根据该图像通过预先训练好的深度学习模型(或称深度学习算法)进行识别,从而识别出该障碍物对应的障碍物类型。举例来说,通过深度学习模型识别出当前拍摄的障碍物为花瓶,进而确定该障碍物的类型表示危险不可靠近类障碍物。

需要说明的是,在其他可能的实施方式中,也可通过其他图像识别算法或传感器方法来识别障碍物的类型。

在具体的实施例中,清洁机器人还根据障碍物的图像,采用图像测距算法进行测距,从而获得障碍物到清洁机器人的距离(也可称为第三距离)。

步骤203、确定所述障碍物的类型对应的沿墙间距。

其中,沿墙路径表示清洁机器人进入沿墙运动的模式(简称沿墙模式)后的路径轨迹。具体的,沿墙模式是指:清洁机器人将障碍物边界或膨胀后的虚拟边界(指障碍物的四周同时向外扩展一段距离,以确保机器人不会触碰到障碍物)模拟成实际的墙,清洁机器人以接触或者不接触障碍物的方式,模拟沿墙行走一段距离。清洁机器人跟随障碍物边界的距离可以根据障碍物类型进行调整,最后形成的路径轨迹近似于障碍物边界的一段或整段,这样的路径轨迹即为沿墙路径。

如图5所示,所谓障碍物边界为:清洁机器人根据障碍物的图像进行特征提取(如点云特征提取),从而获得障碍物的最外边缘的位置特征,可将该位置特征或者将该位置特征膨胀后的虚拟边界作为障碍物的边界(简称障碍物边界)。如图5示出了清洁机器人以及其所遇见的一种障碍物边界为七边形的障碍物。后续,清洁机器人可将该障碍物边界标定在清洁机器人通过自身的slam系统所构建的slam地图上。

需要说明的是,在本申请实施例的清洁机器人的实际应用中,清洁机器人遇见障碍物时,除了可能会进入沿墙模式而走沿墙路径外,还可能会进入避障模式而走避障路径。避障模式是指清洁机器人遇到障碍物时,不沿着障碍物行走一段距离,而是避开障碍物,调整方向进行移动而离开障碍物、或者直线后退而离开障碍物,其相应的路径轨迹即为避障路径。

本申请实施例中,为了解决现有技术在沿墙模式中的缺陷,可在清洁机器人中预先设置障碍物类型与沿墙间距之间的对应关系。所述沿墙间距可用于指示清洁机器人与障碍物之间的距离远近,如指示清洁机器人是否接触障碍物边界,如指示清洁机器人靠近或远离障碍物边界的程度,等等。其中不同的障碍物类型对应不同的沿墙间距。

举例来说,在一种应用场景中,障碍物类型包括:非危险可靠近类障碍物、危险不可靠近类障碍物和高危险需远离类障碍物。当清洁机器人沿着非危险可靠近类障碍物执行沿墙运动时,非危险可靠近类障碍物对应的沿墙间距为:第一距离为1cm,第二距离为0cm(即边扫可直接接触障碍物)。当清洁机器人沿着危险不可靠近类障碍物执行沿墙运动时,危险不可靠近类障碍物对应的沿墙间距为:第一距离为5cm,第二距离为5cm。当清洁机器人沿着高危险需远离类障碍物执行沿墙运动时,高危险需远离类障碍物对应的沿墙间距为:第一距离为10cm,第二距离为8cm。需要说明的是,上述例子仅仅是用于解释而非限定。可以理解的,对应于不同的沿墙间距,上述各种障碍物类型对应的沿墙路径也将有差异。

本申请实施例中,为不同障碍物类型对应的沿墙路径设置不同沿墙间距,是为了实现尽可能大的清扫覆盖率,还能兼顾清洁机器人或环境中障碍物的安全性。

举例来说,清洁机器人遇到墙、床脚等坚固物体时,清洁机器人判断这些障碍物属于非危险可靠近类障碍物,相对于危险类障碍物,清洁机器人采用较小的沿墙间距进入沿墙模式实现绕着障碍物运动。如图6所示,清洁机器人进入沿墙模式时,清洁机器人的机身主体与所述障碍物之间的间距(即第一距离)很小(例如,该第一距离比下述图7实施例场景中的第一距离小),清洁机器人的边扫与所述障碍物之间的间距(即第二距离)更小(例如,该第二距离比下述图7实施例场景中的第二距离小),第二距离甚至可以等于0,即边扫可直接接触到障碍物进行清扫,以最大化地提高清扫覆盖率。

又举例来说,清洁机器人遇到玻璃瓶、回充座等物体时,清洁机器人判断这些障碍物属于危险不可靠近类障碍物(因为如果靠近的话,边扫或机身主体可能会撞歪回充座导致以后充电失败,或者撞倒玻璃瓶),相对于非危险类障碍物,清洁机器人采用较大的沿墙间距进入沿墙路径实现绕着障碍物运动。如图7所示,清洁机器人进入沿墙路径时,第一距离较大(例如,该第一距离比图6实施例场景中的第一距离大),第二距离也较大(例如,该第二距离比图6实施例场景中的第二距离大),以确保边扫和机身主体不能和障碍物有任何接触的可能性。但是清洁机器人的清扫控制中,第一距离和第二距离的值又不能设置得太大,因为第一距离和第二距离的值太大会影响清扫覆盖率。所以,在配置第一距离和第二距离的值时,既要保证障碍物的安全性,又要兼顾较大的清扫覆盖率。

又举例来说,可以理解的,清洁机器人遇到动物粪便、水渍、楼梯等物体时,在清洁机器人判断这些障碍物属于高危险需远离类障碍物,相对于危险不可靠近类障碍物,清洁机器人采用更大的沿墙间距进入沿墙模式实现绕着障碍物运动,即第一距离和第二距离的值比图7的示例更大,从而保证清洁机器人的安全性,同时兼顾稍大的清扫覆盖率。

也就是说,在一种应用场景中,在清洁机器人在执行沿墙模式时,高危险需远离类障碍物对应的第二距离大于或等于危险不可靠近类障碍物对应的第二距离,危险不可靠近类障碍物对应的第二距离大于非危险可靠近类障碍物对应的第二距离,非危险可靠近类障碍物对应的第二距离大于或等于0。

此外,在一种应用场景中,在清洁机器人在执行沿墙模式时,高危险需远离类障碍物对应的第一距离大于或等于危险不可靠近类障碍物对应的第一距离;危险不可靠近类障碍物对应的第一距离大于非危险可靠近类障碍物对应的第一距离;非危险可靠近类障碍物对应的第一距离大于0。

当然,本申请还可根据实际的清扫需要执行其他的配置,比如在又一种应用场景中障碍物类型包括非危险类障碍物和危险类障碍物时,危险类障碍物对应的沿墙间距大于非危险类障碍物对应的沿墙间距,其中,危险类障碍物对应的沿墙间距使所述清扫装置不能接触所述障碍物边界,非危险类障碍物对应的沿墙间距使所述清扫装置接触所述障碍物边界。

需要说明的是,在可能的实施例中,障碍物类型对应的沿墙间距不是固定不变。可以根据一些因素进行调整、修正沿墙间距。这些因素包括障碍物边界的置信度水平、清洁机器人的当前运动速度,环境对清洁机器人的影响、多个障碍物之间的相关影响,等等。

在一种实施例中,沿墙间距(第一距离和/或第二距离)可与障碍物边界的置信度水平成反向关系,因为障碍物边界的置信度水平低`,则障碍物边界错误的可能性增大,即实现沿墙路径的难度就越大,所以需要预留更长距离作为缓冲,所以沿墙间距(第一距离和/或第二距离)会更大。即本申请实施例可根据障碍物边界的置信度水平修正沿墙间距。

在一种实施例中,沿墙间距(第一距离和/或第二距离)可与清洁机器人的当前移动速度成正向关系,因为清洁机器人的当前移动速度越高,要实现沿墙路径的难度就越大,则需要预留更长距离做为缓冲,所以沿墙间距(第一距离和/或第二距离)会更大。即本申请实施例可根据清洁机器人的当前移动速度修正沿墙间距。

当然,可以理解的,在可能实施例中,还可以同时根据障碍物边界的置信度水平和清洁机器人的当前移动速度来修正沿墙间距。

参见表1,表1示例性地示出了障碍物类型与沿墙间距之间的一些对应关系,以及基于障碍物边界的置信度水平和当前移动速度来修正沿墙间距的示例。

表1

从表1可以看到,对于沿墙间距,障碍物类型是最基础因素。还可以根据障碍物边界的置信度水平和当前移动速度等因素对沿墙间距(第一距离和/或第二距离)进行调整、修正。

需要说明的是,上述表1仅用于示例性解释本申请实施例的障碍物类型与沿墙间距的关系,以及沿墙间距中第一距离和第二距离所满足的预设条件,而非限定。本申请实施例的具体应用中,可根据实际清扫的需要进行各种障碍物类型的预设、各种沿墙间距的预设、以及障碍物类型与沿墙间距的各种对应关系的预设。

还需要说明的是,在清洁机器人执行沿墙模式时,清洁机器人调整原运动路径的方向进入沿墙路径时,如果清洁机器人的壳体是圆形,那么清洁机器人基于轮子装置可通过同圆心旋转实现转向。如果清洁机器人的壳体是非圆形机器人,则清洁机器人除了基于轮子装置实现转向外,对于调整方向时的距离还可根据清洁机器人调整方向的时候是否会撞到障碍物来进行进一步调整。

还需要说明的是,在可能的实施例中,如果所述机身主体与所述清扫装置进行可伸缩连接;当所述机身主体达到所述第一距离时,可控制清扫装置相对于所述机身主体进行伸缩,以使所述清扫装置达到所述第二距离。

步骤204、清洁机器人根据所述沿墙路径进行运动及清扫。

可以理解的,在确定沿墙距离后,清洁机器人可根据沿墙距离和障碍物边界来规划得到针对该障碍物的沿墙路径,然后,控制清洁机器人沿着沿墙路径进行相应的运动,以及控制清扫装置进行清扫。

可以看出,实施本申请实施例,清洁机器人能够区分环境中不同类型的障碍物,依据不同障碍物类型,采用不同的沿墙间距进入沿墙模式,因此可以达到更优的沿墙路径,避免机器人陷入威胁境界或接触到不能接触的物品(如动物粪便),这样,能够针对不同障碍物实现不同的避障距离,确保该远离的障碍物(如高危险类)就远离,该尽量靠近的障碍物(如非危险类)则尽量靠近,从而可以极大提升清扫覆盖率,同时,极大程度降低障碍物和/或清洁机器人的风险或负面影响,提高清扫安全性。

另外,根据本申请实施例,还可在考虑障碍物类型的基础上再综合考虑了边界置信度水平、清洁机器人的移动速度等因素的影响,对沿墙间距进行修正,因此所规划的沿墙路径更优,沿墙路径更具有更高的准确性和实用可操作性,有利于将清扫覆盖率提升到最高,同时,将风险或负面影响控制到最低。

此外,根据本申请实施例,受障碍物颜色影响较小,不会因为障碍物颜色不一样,而导致沿墙距离不一样,避免现有技术的一些缺陷。

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

步骤401、清洁机器人预先配置路径规划算法、slam系统、图像识别算法、图像测距算法等。

其中,slam(simultaneouslocalizationandmapping,中文:同时定位与建图)系统可用于,当清洁机器人在未知环境中从一个未知位置开始移动时,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图(称为slam地图),从而实现清洁机器人的自主定位和导航。

步骤402、清洁机器人在工作中,通过摄像头获得障碍物的图像后,根据障碍物的图像,通过图像识别算法识别出该障碍物的障碍物类型,并获得障碍物边界,通过图像测距算法计算此时障碍物边界与清洁机器人的距离(又可称为第三距离)。相关内容还可参考图4实施例步骤202的描述,这里不再赘述。

步骤403、清洁机器人根据障碍物边界与清洁机器人的距离,将障碍物边界标定在slam地图中,这样,清洁机器人就能够根据slam地图同时实现清洁机器人的自定位和障碍物的再定位。也就是说,后续在清洁机器人的运行中,由于障碍物边界已标定在slam地图中,所以清洁机器人也可以直接根据slam地图来判断前方是否有障碍物以及对应的障碍物类型。

步骤404、基于更新的slam地图,清洁机器人进入避障处理子程序,以便于实现后续对障碍物的处理操作。

步骤405、清洁机器人判断前方是否有障碍物。如果判断结果为是,则执行后续步骤406;如果判断结果为否,则重新执行步骤404。

具体的,清洁机器人在以后的工作过程中,判断前方是否有障碍物有两种方式:一种方式是,清洁机器人可通过实时拍摄障碍物的图像来判断前方是否有障碍物;另一种方式是,当slam地图已存在有障碍物边界,那么也可以直接根据slam地图判断前方是否有障碍物,此时可查询历史数据来确定该障碍物边界对应的障碍物类型。

步骤406、清洁机器人判断是否需要进入沿墙模式。若是,则执行后续步骤407-步骤410;若否,则执行后续步骤411。

步骤407、清洁机器人确定障碍物类型对应的沿墙间距,相关内容还可参考图4实施例步骤203的描述,这里不再赘述。

步骤408、清洁机器人根据沿墙间距规划针对该障碍物的沿墙路径。

步骤409、清洁机器人根据标定有所述障碍物边界的slam地图和所确定的沿墙路径进行进一步规划,得到全局的运动路径。

参见图9,在一种实现中,在清洁机器人开始工作时,如果离某个障碍物较近,或者清扫空间较为狭窄,那么清洁机器人可根据slam地图和所确定的沿墙路径规划简单的运动路径,如图9所示,清洁机器人在第三距离处通过拍摄发现该障碍物,进行运动路径规划。这样,清洁机器人可先向着障碍物直线前进运动,然后在某个动作起始点开始减速,并在机身主体距离障碍物边界为第一距离、边扫距离障碍物边界为第二距离处暂停,并调整方向并沿着障碍物边界进入沿墙路径。

参见图10,在又一种实现中,如果离某个障碍物较远,或者清扫空间较大,那么清洁机器人可根据slam地图初步生成全局的弓字形路径,将弓字形路径与沿墙路径进行结合,从而获得全局的运动路径,如图10所示。具体的,在图10示出的全局的运动路径中,当清洁机器人朝向障碍物直线移动时,如果清洁机器人朝向的障碍物的面的长度小于设定长度(可设置为机身主体的长度),则清洁机器人可选择沿着障碍物边界绕到障碍物另一侧,并旋转到与刚进入沿墙路径时一致的朝向后继续弓字型清扫。如果清洁机器人朝向的障碍物的面的长度大于设定长度,则清洁机器人可选择沿着障碍物行走小于或等于设定长度的距离后,再旋转到与刚进入沿墙路径时的相反朝向,继续弓字型清扫。这样,能够保证无论障碍物相比起清洁机器人的大小如何,障碍物周围都能够得到足够的清扫覆盖。

步骤410、清洁机器人根据所述全局的运动路径进行运动及清扫。

可以理解的,在确定全局的运动路径后,清洁机器人可根据该运动路径的具体内容,控制轮子装置进行相应的运动,以及控制清扫装置进行清扫。

步骤411、清洁机器人进入避障模式。避障模式是指清洁机器人遇到障碍物时,不沿着障碍物行走一段距离,而是避开障碍物,调整方向进行移动而离开障碍物、或者直线后退而离开障碍物。

可以看出,实施本申请实施例,清洁机器人能够通过图像检测或者已存储在slam地图上的障碍物边界区分环境中不同类型的障碍物,依据不同障碍物类型确定不同的沿墙间距,从而获得不同的沿墙路径,并可将障碍物边界标定到slam地图中,结合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