一种机器人的清扫控制方法和芯片以及清洁机器人与流程

文档序号:16664030发布日期:2019-01-18 23:09阅读:178来源:国知局
一种机器人的清扫控制方法和芯片以及清洁机器人与流程

本发明涉及智能机器人领域,具体涉及一种机器人的清扫控制方法和芯片以及清洁机器人。



背景技术:

slam算法有很多种,比如基于激光扫描导航的,基于视觉导航的,前者成本上比较贵,普通的都要300~500元之间,小米扫地机器人也是基于这个原理实现的slam算法,后者成本相对低点,但是技术门槛比较高,目前市面上带有视觉导航的,做得效果不错的不是很多,如roomba980,效果就比较好。但是上面两种做法,从成本上都是比较高的。目前市面上大部分低成本的地图导航方案,还是基于陀螺仪的,但是仅仅基于陀螺仪的方案,要做到地图准确,以及各种复杂环境下都能实现路径规划和导航效率高,是很有技术门槛的。目前市面上的扫地机器人,还有很大一部分是随机算法的,这个随机算法的各种弊端随着地图导航方案的出现慢慢的放大了,比如没有目标性,清扫效率低等等。近几年新出来的slam算法的扫地机器人也呈现出了各家的技术,这些技术都各有优劣。



技术实现要素:

本发明提供了一种机器人的清扫控制方法和芯片以及清洁机器人,可以提高机器人的清扫效率。本发明所述的具体技术方案如下:

一种机器人的清扫控制方法,包括如下步骤:步骤s1:机器人接收到启动清扫的控制指令,并判断当前是否处于充电座的位置,如果是,则进入步骤s2,如果否,则进入步骤s4;步骤s2:机器人下座,并对以所述充电座为基点的预设范围进行规划清扫,清扫结束后进入步骤s3;步骤s3:机器人以当前清扫结束点为基点,根据就近原则对所述预设范围以外的区域进行清扫,如果就近原则不适用,则进入步骤s5;步骤s4:机器人以当前位置点为基点,开始进行区域规划清扫,并根据就近原则进行其它区域的区域规划清扫,如果就近原则不适用,则进入步骤s5;步骤s5:选择与当前清扫结束点的导航距离最近的未清扫区域中的一个位置点为基点,再根据就近原则对该未清扫区域进行区域规划清扫,在清扫过程中,如果就近原则不适用,则选择下一个与当前的清扫结束点的导航距离最近的未清扫区域中的一个位置点为基点,继续根据就近原则对该未清扫区域进行区域规划清扫,以此类推,直到所有区域清扫完毕。其中,所述就近原则是指机器人优先选择与当前清扫方向相同的方向上,以所述基点所对应的已清扫区域的一条区域边界为邻边的未清扫区域进行区域规划清扫;其次选择与当前清扫方向相垂直的方向上,以所述基点所对应的已清扫区域的一条区域边界为邻边的未清扫区域进行区域规划清扫;最后选择与当前清扫方向相垂直的方向上,以所述基点所对应的已清扫区域的一条区域边界相对的另一条区域边界为邻边的未清扫区域进行区域规划清扫。其中,所述区域规划清扫是指机器人对预设长度和预设宽度的区域按照预定轨迹形式进行清扫的方式。其中,所述清扫方向是指机器人进行区域规划清扫时,清扫范围从区域的一端向另一端延伸时的方向。

具体的,步骤s2中所述的对以所述充电座为基点的预设范围进行规划清扫的步骤,具体包括如下步骤:机器人朝所述充电座的正前方向前行走,开始对所述充电座的正前方的一侧的第一区域进行弓字型规划清扫,清扫结束后,再沿所述第一区域的区域边界回到所述充电座的正前方,然后对所述充电座的正前方的另一侧的第二区域进行弓字型规划清扫。其中,所述第一区域和所述第二区域的长度相同,所述第一区域和所述第二区域的宽度相同,并且,所述第一区域和所述第二区域的长度之和等于所述预设范围的长度,所述第一区域的宽度或者所述第二区域的宽度等于所述预设范围的宽度。

具体的,所述步骤s3具体包括如下步骤:步骤s31:机器人确定当前清扫结束点为基点,然后判断当前清扫方向上是否有未清扫区域,如果是,则进入步骤s32,如果否,则进入步骤s34;步骤s32:机器人选择与当前清扫方向相同的方向上,以所述基点所对应的当前已清扫区域的一条区域边界为邻边的未清扫区域进行区域规划清扫,清扫方向保持为当前清扫方向,然后进入步骤s33;步骤s33:机器人判断沿当前清扫方向是否清扫至所述未清扫区域的物理边界或者虚拟边界,如果是,则进入步骤s34;如果否,则机器人继续清扫,直到机器人完成当前区域的区域规划清扫,然后返回步骤s31;步骤s34:机器人确定当前清扫结束点为基点,然后判断与当前清扫方向相垂直的方向上是否有未清扫区域,如果是,则进入步骤s35,如果否,则进入步骤s5;步骤s35:机器人选择与当前清扫方向相垂直,且朝向当前已清扫区域的第一侧的方向上,以当前已清扫区域的第一侧的区域边界为邻边的未清扫区域进行区域规划清扫,清扫方向改变为朝向当前已清扫区域的第一侧的方向,清扫结束后返回步骤s31;如果朝向当前已清扫区域的第一侧的方向上没有未清扫区域,则机器人选择与当前清扫方向相垂直,且朝向当前已清扫区域的第二侧的方向上,以当前已清扫区域的第二侧的区域边界为邻边的未清扫区域进行区域规划清扫,清扫方向改变为朝向当前已清扫区域的第二侧的方向,清扫结束后返回步骤s31;其中,所述当前已清扫区域的第一侧为所述基点所在的当前已清扫区域的一侧,所述当前已清扫区域的第二侧为当前已清扫区域中与其第一侧相对的另一侧。

具体的,所述步骤s4具体包括如下步骤:步骤s41:机器人确定当前位置点为基点,然后向前行走,开始对其正前方的一侧的区域进行区域规划清扫,清扫方向为朝向所述机器人正前方的所述一侧的方向,清扫结束后,进入步骤s42;步骤s42:机器人以当前清扫结束点为基点,然后判断当前清扫方向上是否有未清扫区域,如果是,则进入步骤s43,如果否,则进入步骤s45;步骤s43:机器人选择与当前清扫方向相同的方向上,以所述基点所对应的当前已清扫区域的一条区域边界为邻边的未清扫区域进行区域规划清扫,清扫方向保持为当前清扫方向,然后进入步骤s44;步骤s44:机器人判断沿当前清扫方向是否清扫至所述未清扫区域的物理边界或者虚拟边界,如果是,则进入步骤s45;如果否,则机器人继续清扫,直到机器人完成当前区域的区域规划清扫,然后返回步骤s42;步骤s45:机器人确定当前清扫结束点为基点,然后判断与当前清扫方向相垂直的方向上是否有未清扫区域,如果是,则进入步骤s46,如果否,则进入步骤s5;步骤s46:机器人选择与当前清扫方向相垂直,且朝向当前已清扫区域的第一侧的方向上,以当前已清扫区域的第一侧的区域边界为邻边的未清扫区域进行区域规划清扫,清扫方向改变为朝向当前已清扫区域的第一侧的方向,区域规划清扫结束后返回步骤s42;如果朝向当前已清扫区域的第一侧的方向上没有未清扫区域,则机器人选择与当前清扫方向相垂直,且朝向当前已清扫区域的第二侧的方向上,以当前已清扫区域的第二侧的区域边界为邻边的未清扫区域进行区域规划清扫,清扫方向改变为朝向当前已清扫区域的第二侧的方向,清扫结束后返回步骤s42;其中,所述当前已清扫区域的第一侧为所述基点所在的当前已清扫区域的一侧,所述当前已清扫区域的第二侧为当前已清扫区域中与其第一侧相对的另一侧。

具体的,机器人进行所述区域规划清扫时,具体包括如下步骤:步骤s61:机器人从所述基点开始,以弓字型轨迹形式进行规划清扫,进入步骤s62;步骤s62:机器人在清扫过程中实时判断是否有漏扫区域,如果是,则进入步骤s63,如果否,则继续进行规划清扫,直到所述区域规划清扫结束;步骤s63:机器人确定当前位置点为补扫起始点,从所述补扫起始点开始对所述漏扫区域进行补扫,补扫结束后,机器人回到所述补扫起始点,继续对剩余的未清扫区域进行规划清扫,并返回步骤s62。其中,所述区域规划清扫结束是指机器人沿清扫方向清扫至区域边界、虚拟边界或者物理边界时,完成所述区域的全部清扫。

具体的,步骤s61所述的机器人从所述基点开始,以弓字型轨迹形式进行规划清扫的步骤,具体包括如下步骤:步骤s611:机器人从所述基点开始,沿所述区域的区域边界行走,并进入步骤s612;步骤s612:机器人判断是否检测到障碍物,如果是,则进入步骤s613,否则继续沿所述区域的区域边界行走,直到机器人回到所述基点,此时,机器人在所述区域边界范围内行走圈定了一个内区域,然后机器人以弓字型轨迹形式对所圈定的所述内区域进行规划清扫;步骤s613:机器人沿着所述障碍物中位于所述区域范围内的一侧进行沿边行走,并判断是否到达所述区域边界,如果否,则继续沿边行走,如果是,则沿所述区域边界行走,并返回步骤s612。

具体的,步骤s62中所述的机器人在清扫过程中实时判断是否有漏扫区域的步骤,具体包括如下步骤:步骤s621:机器人判断其沿清扫方向所走过的范围中,是否具有闭环的未清扫区块,如果是,则进入步骤s622,如果否,则继续清扫;步骤s622:机器人判断所述未清扫区块中是否具有长度大于预设距离的未清扫边界线,如果是,则确定有漏扫区域,如果否,则确定没有漏扫区域。其中,所述闭环的未清扫区块是指由区域边界、障碍物边界线和/或未清扫边界线所围成的一块未清扫区域。

具体的,步骤s63中所述的机器人确定当前位置点为补扫起始点,从所述补扫起始点开始对所述漏扫区域进行补扫的步骤,具体包括如下步骤:步骤s631:机器人确定当前位置点为补扫起始点,并搜索行走过程中所构建的地图,然后进入步骤s632;步骤s632:机器人选择所述漏扫区域中与所述补扫起始点的导航距离最近的补扫入口,并选择所述最近的补扫入口的两个端点位置中距离所述补扫起始点最近的一个端点位置作为第一补扫点,选择所述最近的补扫入口中的另一个端点位置作为第二补扫点,然后进入步骤s633;步骤s633:机器人导航至所述第一补扫点,开始朝所述第二补扫点行走清扫,并以朝向所述漏扫区域内部,且平行于所述区域规划清扫的清扫方向的方向为当前清扫方向,对所述漏扫区域进行弓字型规划清扫,直到机器人完成对所述漏扫区域的清扫,则补扫结束。

一种芯片,用于存储程序指令,所述程序指令用于控制机器人执行上述任一方案所述的清扫控制方法。

一种清洁机器人,包括主控芯片,所述主控芯片为上述的芯片。

所述机器人的清扫控制方法,在机器人处于充电座的位置时,先控制机器人对充电座周围的预设范围进行清扫,形成一个清扫禁区,以便机器人在后续的清扫过程中不会进入该禁区,避免机器人误撞到充电座而改变充电座位置的情况。此外,通过控制机器人根据就近原则进行区域规划清扫,可以提高机器人清扫的高效性和有序性。

附图说明

图1为本发明所述的一种机器人清扫控制方法实施例的流程示意图。

图2为机器人位于充电座位置时的清扫规划分析示意图。

图3为机器人不是位于充电座位置时的清扫规划分析示意图。

图4为机器人对以充电座为基点的预设范围进行规划清扫的分析示意图。

图5为机器人根据就近原则对充电座附近的预设范围以外的区域进行规划清扫的分析示意图。

图6为机器人进行区域规划清扫时的分析示意图。

图7为机器人圈定栅格区域时的分析示意图。

图8为机器人判断是否有漏扫区域的分析示意图。

图9为机器人进行补扫时的分析示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。应当理解,下面所描述的具体实施例仅用于解释本发明,并不用于限定本发明。在下面的描述中,给出具体细节以提供对实施例的透彻理解。然而,本领域的普通技术人员将理解,可以在没有这些具体细节的情况下实施实施例。例如,电路可以在框图中显示,避免在不必要的细节中使实施例模糊。在其他情况下,为了不混淆实施例,可以不详细显示公知的电路、结构和技术。

一种机器人的清扫控制方法,其中,所述机器人是可以自主移动的智能机器人,所述清扫不局限于扫地和吸尘,还可以指代拖地、抛光或者打蜡等清洁功能。即机器人按照所述清扫控制方法,可以进行扫地吸尘、拖地、地板的抛光或者打蜡。如图1所示,所述清扫控制方法包括如下步骤:在步骤s1中,机器人接收到启动清扫的控制指令,并判断当前是否处于充电座的位置。所述控制指令可以是用户通过遥控器或者智能手机等遥控装置发出的控制信号,也可以是用户操作机器人机体上的控制面板的按键所产生的控制信号。判断是否处于充电座的方式,则可以通过检测机器人充电端的接触片的电信号状态进行判断。当机器人检测到当前是处于充电座的位置时,则进入步骤s2。当机器人检测到当前不是处于充电座的位置时,则进入步骤s4。

在步骤s2中,机器人先后退,从充电座上退下来以后,原地转向180°,朝向充电座的正前方,从而完成下座。机器人完成下座以后,开始对以所述充电座为基点的预设范围进行规划清扫,所述预设范围可以根据具体的产品设计需求进行相应设置,一般可以设置为一个2*2米的矩形区域,具体的,所述充电座位于矩形区域的一条边的中点,矩形区域中相对的另一条边则位于所述充电座的正前方,如此,以充电座的正前方的方向为分割线,可以把所述矩形区域分为相互对称的1*2米的长方形区域。机器人分别对这两个长方形区域进行规划清扫。通过先清扫所述预设范围,可以在机器人行走累积的误差不是很大的情况下,完成充电座周边区域的清扫,划分出一个禁区,机器人后续清扫时不会再进入该禁区,从而避免后续长时间清扫后,累积的行走误差较大,机器人容易碰撞到充电座,无法有效回座充电的问题。当然,所设置的预设范围的形状和大小可以与此不同。所述规划清扫的方式也是可以根据具体的产品设计需求进行设置的,比如设置为弓字型规划清扫、回字型规划清扫或者辐射形式的规划清扫等,优选的,本实施例和后续其它实施例所述的规划清扫,都是按照弓字型轨迹形式进行清扫的方式。机器人对所述预设范围清扫结束后进入步骤s3。在步骤s3中,机器人以当前清扫结束点为基点,如果机器人是对所述预设范围进行清扫,则当前清扫结束点为完成预设范围遍历清扫的最后一个位置点。如果机器人是对其它区域进行清扫,则当前结束点是遍历清扫完相应区域的最后一个位置点。机器人基于所述基点,根据就近原则对所述预设范围以外的区域进行清扫。其中,所述就近原则是指机器人优先选择与当前清扫方向相同的方向上,以所述基点所对应的已清扫区域的一条区域边界为邻边的未清扫区域进行区域规划清扫;如果没有相应区域,其次选择与当前清扫方向相垂直的方向上,以所述基点所对应的已清扫区域的一条区域边界为邻边的未清扫区域进行区域规划清扫;如果也没有相应区域,则最后选择与当前清扫方向相垂直的方向上,以所述基点所对应的已清扫区域的一条区域边界相对的另一条区域边界为邻边的未清扫区域进行区域规划清扫。所述区域规划清扫是指机器人对预设长度和预设宽度的区域按照预定轨迹形式进行清扫的方式。所述预设长度和所述预设宽度可以根据具体的设计需求进行设置,比如,预设长度可以设置为3米、4米或者5米,预设宽度也可以设置为3米、4米或者5米,所述预设长度可以与所述预设宽度相同,也可以不同。所述预定轨迹线形式可以根据具体的设计需求进行设置,可以设置为弓字型轨迹形式、回字型轨迹形式或者辐射状的轨迹形式等。所述清扫方向是指机器人进行区域规划清扫时,清扫范围从区域的一端向另一端延伸时的方向。如果所述的就近原则不适用,即上述可以选择的区域都没有,则进入步骤s5。该步骤通过控制机器人根据就近原则进行区域规划清扫,可以提高机器人清扫的高效性和有序性。

在步骤s4中,机器人以当前位置点为基点,开始进行区域规划清扫,并根据所述就近原则进行其它区域的区域规划清扫,如果就近原则不适用,则进入步骤s5。

在步骤s5中,机器人选择与当前清扫结束点的导航距离最近的未清扫区域中的一个位置点为基点,再根据就近原则对该未清扫区域进行区域规划清扫,在清扫过程中,如果就近原则不适用,则选择下一个与当前的清扫结束点的导航距离最近的未清扫区域中的一个位置点为基点,继续根据就近原则对该未清扫区域进行区域规划清扫,以此类推,直到所有区域清扫完毕。其中,所述导航距离是指机器人搜索地图所确定的从当前位置点到达目标位置点的机器人可行走的路径长度。如果到达目标位置点的路径有多条,则路径长度最短的就是导航距离最近的。所述地图是机器人在行走过程中所构建的栅格地图,所述栅格地图由很多个栅格单元构成,机器人会把已行走过的栅格单元标示为已行走单元,把检测到障碍物时所对应的栅格单元标示为障碍单元,等等。每个栅格单元可以设置为以机器人的半个机身宽度为边长的正方形格子,或者设置为以机器人的整个机身宽度为边长的正方形格子。若干个栅格单元共同组成一个规划清扫区域,即栅格区域。

所述机器人的清扫控制方法,在机器人处于充电座的位置时,先控制机器人对充电座周围的预设范围进行清扫,形成一个清扫禁区,以便机器人在后续的清扫过程中不会进入该禁区,避免机器人误撞到充电座而改变充电座位置的情况,提高机器人的回座准确率和回座效率。

具体的,如图2所示,每个方格表示一个规划清扫区域,o点为充电座所在的位置点,y轴方向为充电座的正前方。当机器人接收到启动清扫的控制指令,并判断当前是处于充电座的位置0点时,机器人从充电退下来,并转向180°,朝向y轴方向。然后机器人朝前行走,并对以0点为基点的预设范围1#进行规划清扫,清扫至p1点时,预设范围清扫结束。此时,机器人的清扫方向是沿x轴正方向。然后,机器人以p1点为基点,选择在x轴正方向上,与预设范围1#相邻的未清扫的区域2#作为待清扫区域,并对区域2#进行规划清扫。到达p2点时完成区域2#的清扫。同样的,继续沿x轴正方向规划清扫至p3点,此时,沿当前清扫方向(x轴正方向)已经没有可清扫的区域了,所以,机器人选择与x轴方向相垂直的y轴方向上,p3点所对应的区域边界(即区域3#的上边界)为邻边的未清扫的区域4#作为待清扫区域,然后以y轴正方向为清扫方向,对区域4#进行规划清扫。到达p4点时完成区域4#的清扫。由于沿当前清扫方向(y轴正方向)已没有其它清扫区域,所以,机器人以p4为基点,以x轴负方向为清扫方向,对区域5#进行规划清扫。到达p5点时完成区域5#的清扫后,继续以x轴负方向为清扫方向,一直清扫至p8点,完成了区域6#、7#和8#的规划清扫。机器人位于p8点时,沿x轴负方向已经没有可清扫区域,沿y轴正方向也没有可清扫区域,所以,机器人选择y轴负方向的未清扫的区域9#作为待清扫区域,从p8点行走至p9点,然后从p9点开始,以y轴负方向为清扫方向,对区域9#进行规划清扫。清扫至p10点时,完成对区域9#和10#的规划清扫。接着,又以x轴正方向为清扫方向,清扫至p14点,完成对区域11#、12#、13#和14#的规划清扫。机器人在p14点时,在x轴正方向、y轴正方向和y轴负方向上,都已经没有可选择的未清扫的区域。所以,机器人开始搜索地图,选择与p14点的导航距离最近的未清扫的区域15#的p15点作为基点,从p15点开始对区域15#进行规划清扫,清扫方向可以是沿x轴负方向,也可以是沿y轴正方向。由于区域15#的面积刚好为一个规划清扫区域的大小,所以清扫结束后,就完成了全部区域的清扫。假设区域15#的面积大于一个规划清扫区域的大小,则按照上述的就近原则进行相邻区域的清扫。如果15#区域以外还有不相邻的未清扫区域,则继续通过地图搜索和导航的方式,清扫其它区域,直到全部区域都清扫完毕为止。

如图3所示,机器人的清扫方式与上述实施例类似,不同之处在于:机器人接收到启动清扫的控制指令时,不是处于充电座的位置,而是处于地面的任意一位置点o点。此时,机器人不需要先清扫预设范围的区域,即不需要先划分出禁区,可以从0点开始直接进行区域规划清扫。机器人从0点开始,向前沿y轴正方向行走,并对区域1#进行规划清扫,然后按上述实施例相同的方式,依次清扫完成区域1#至15#。

作为其中一种实施方式,步骤s2中所述的对以所述充电座为基点的预设范围进行规划清扫的步骤,具体包括如下步骤:机器人朝所述充电座的正前方向前行走,开始对所述充电座的正前方的一侧的第一区域进行弓字型规划清扫,清扫结束后,再沿所述第一区域的区域边界回到所述充电座的正前方,然后对所述充电座的正前方的另一侧的第二区域进行弓字型规划清扫。其中,所述第一区域和所述第二区域的长度相同,所述第一区域和所述第二区域的宽度相同,并且,所述第一区域和所述第二区域的长度之和等于所述预设范围的长度,所述第一区域的宽度或者所述第二区域的宽度等于所述预设范围的宽度。具体的,如图4所示,充电座所在的位置点为o1点,充电座的正前方为y轴正方向。所述第一区域为o1、o2、o3和o4所围成的区域,所述第二区域为o1、o2、o5和o6所围成的区域。机器人从o1点开始,沿y轴正方向朝o2点行走,并以x轴负方向为清扫方向,对第一区域进行弓字型清扫。到达o4点时,完成对第一区域的规划清扫。然后,机器人沿边界o4o1行走至o1点,然后又从o1点开始,沿y轴正方向朝o2点行走,并以x轴正方向为清扫方向,对第二区域进行弓字型清扫。达到o6点时,完成对第二区域的规划清扫。如此,就完成了对预设范围o3o4o5o6的清扫,确定了禁区。避免后续长时间清扫后,累积的行走误差较大,机器人容易碰撞到充电座,无法有效回座充电的问题。此外,通过将预设范围的面积等同于规划清扫区域(区域2#、3#或者4#等)的大小,把预设范围划分为相同的第一区域和第二区域,可以使得机器人的清扫更有条理,更加有序,也能由此提高机器人的清扫效率。

作为其中一种实施方式,所述步骤s3具体包括如下步骤:在步骤s31中,机器人确定当前清扫结束点为基点,然后判断当前清扫方向上是否有未清扫区域,如果是,则进入步骤s32,如果否,则进入步骤s34;在步骤s32中,机器人选择与当前清扫方向相同的方向上,以所述基点所对应的当前已清扫区域的一条区域边界为邻边的未清扫区域进行区域规划清扫,清扫方向保持为当前清扫方向,然后进入步骤s33;在步骤s33中,机器人判断沿当前清扫方向是否清扫至所述未清扫区域的物理边界或者虚拟边界,如果是,则进入步骤s34;如果否,则机器人继续清扫,直到机器人完成当前区域的区域规划清扫,然后返回步骤s31。在步骤s34中,机器人确定当前清扫结束点为基点,然后判断与当前清扫方向相垂直的方向上是否有未清扫区域,如果是,则进入步骤s35,如果否,则进入步骤s5。在步骤s35中,机器人选择与当前清扫方向相垂直,且朝向当前已清扫区域的第一侧的方向上,以当前已清扫区域的第一侧的区域边界为邻边的未清扫区域进行区域规划清扫,清扫方向改变为朝向当前已清扫区域的第一侧的方向,清扫结束后返回步骤s31;如果朝向当前已清扫区域的第一侧的方向上没有未清扫区域,则机器人选择与当前清扫方向相垂直,且朝向当前已清扫区域的第二侧的方向上,以当前已清扫区域的第二侧的区域边界为邻边的未清扫区域进行区域规划清扫,清扫方向改变为朝向当前已清扫区域的第二侧的方向,清扫结束后返回步骤s31。其中,所述当前已清扫区域的第一侧为所述基点所在的当前已清扫区域的一侧,所述当前已清扫区域的第二侧为当前已清扫区域中与其第一侧相对的另一侧。

具体地,如图5所示,机器人从0点开始,以x轴正方向为清扫方向,完成区域1#的清扫后,到达p1点;接着完成区域2#的清扫,到达p2点;然后,继续从p2点开始进行区域3#的清扫。在区域3#的清扫过程中,机器人在当前清扫方向上检测到该区域的物理边界p3p14,该物理边界的存在,表明该区域中继续沿x轴正方向延伸已经没有可清扫的区域了,所以,机器人清扫至p3点后,即使清扫面积未达到标准区域的面积,也不会继续清扫,将p3点作为该区域的清扫结束点。接着,机器人从p3点开始朝p2点行走,并以y轴负方向为清扫方向,对区域4#进行清扫。虽然区域4#中也存在物理边界p3a2,但是该边界并不是在当前清扫方向上,即该边界不能表明沿y轴负方向上是否还有未清扫的区域。所以,机器人会继续清扫,直到p4点结束。此时,沿y轴负方向已经没有可清扫区域了,机器人将p4点作为基点,以x轴负方向作为清扫方向,清扫区域5#,并依次清扫完成区域6#、7#和8#。同样的,在区域8#中,机器人也检测到了物理边界p9a5和虚拟边界a5p8构成的边界线,所以,机器人清扫至p8点时结束并完成区域8#的清扫。紧接着,机器人又从p9点开始,以y轴正方向为清扫方向,对区域9#进行清扫,并依次清扫完成区域10#,虽然这两个区域也存在物理边界p9a4和a4a3,但是该物理边界不是在当前清扫方向(y轴正方向)上,只能表明该物理边界的外侧没有可清扫区域,所以机器人会一直清扫至虚拟边界a3p10,并在到达p10点后完成清扫。再接着,机器人又从p10点开始,以x轴正方向为清扫方向,依次清扫完成区域11#、12#、13#和14#。在区域14#进行清扫时,机器人在当前清扫方向(x轴正方向)上检测到物理边界a1p14,表明该边界的外侧已经没有可清扫区域,机器人清扫至p14点时,结束并完成对区域14#的清扫。此时,机器人判断垂直x轴正方向也已经没有未清扫区域,所以,搜索离p14点的导航距离最近的p15点,并导航至p15点开始对区域15#进行规划清扫,清扫方向可以是沿x轴负方向,也可以是沿y轴负方向。由于区域15#的面积刚好为一个规划清扫区域的大小,所以清扫结束后,就完成了全部区域的清扫。假设区域15#的面积大于一个规划清扫区域的大小,则按照上述的就近原则进行相邻区域的清扫。如果15#区域以外还有不相邻的未清扫区域,则继续通过地图搜索和导航的方式,清扫其它区域,直到全部区域都清扫完毕为止。

作为其中一种实施方式,所述步骤s4具体包括如下步骤:在步骤s41中,机器人确定当前位置点为基点,然后向前行走,开始对其正前方的一侧的区域进行区域规划清扫,这一侧可以是机器人的左侧,也可以是机器人的右侧,具体可以根据需求对机器人进行设置。清扫方向为朝向所述机器人正前方的所述一侧的方向,即机器人开始清扫的是左侧,则清扫方向是从右向左,机器人开始清扫的是右侧,则清扫方向是从左向右。该区域清扫结束后,进入步骤s42;在步骤s42中,机器人以当前清扫结束点为基点,然后判断当前清扫方向上是否有未清扫区域,如果是,则进入步骤s43,如果否,则进入步骤s45;在步骤s43中,机器人选择与当前清扫方向相同的方向上,以所述基点所对应的当前已清扫区域的一条区域边界为邻边的未清扫区域进行区域规划清扫,清扫方向保持为当前清扫方向,然后进入步骤s44;在步骤s44中,机器人判断沿当前清扫方向是否清扫至所述未清扫区域的物理边界或者虚拟边界,如果是,则进入步骤s45;如果否,则机器人继续清扫,直到机器人完成当前区域的区域规划清扫,然后返回步骤s42;在步骤s45中,机器人确定当前清扫结束点为基点,然后判断与当前清扫方向相垂直的方向上是否有未清扫区域,如果是,则进入步骤s46,如果否,则进入步骤s5;在步骤s46中,机器人选择与当前清扫方向相垂直,且朝向当前已清扫区域的第一侧的方向上,以当前已清扫区域的第一侧的区域边界为邻边的未清扫区域进行区域规划清扫,清扫方向改变为朝向当前已清扫区域的第一侧的方向,区域规划清扫结束后返回步骤s42;如果朝向当前已清扫区域的第一侧的方向上没有未清扫区域,则机器人选择与当前清扫方向相垂直,且朝向当前已清扫区域的第二侧的方向上,以当前已清扫区域的第二侧的区域边界为邻边的未清扫区域进行区域规划清扫,清扫方向改变为朝向当前已清扫区域的第二侧的方向,清扫结束后返回步骤s42。其中,所述当前已清扫区域的第一侧为所述基点所在的当前已清扫区域的一侧,所述当前已清扫区域的第二侧为当前已清扫区域中与其第一侧相对的另一侧。

本实施例与上一实施例的区别在于,增加了第一个步骤(步骤s41),也就是在机器人不处于充电位置时,如何开始规划清扫。如图3所示,机器人从o点开始,直接向前行走,开始对其右侧的区域进行区域规划清扫,清扫方向为x轴正方向,完成区域1#的规划清扫。清扫完成后,继续沿当前清扫方向,依次完成区域2#和3#的清扫。相关清扫方式与上一实施例相似,在此不再赘述。

作为其中一种实施方式,机器人进行所述区域规划清扫时,具体包括如下步骤:在步骤s61中,机器人从所述基点开始,以弓字型轨迹形式进行规划清扫,进入步骤s62;在步骤s62中,机器人在清扫过程中实时判断是否有漏扫区域,所述漏扫区域是指机器人在规划清扫过程中,沿清扫方向清扫过的区域中,包含有由区域边界、障碍物边界线和/或未清扫边界线所围成的一块闭环的未清扫区块,且该区块具有长度大于1.5个机器人的机身宽度的未清扫边界线。如果是,则进入步骤s63进行补扫,如果否,则继续进行规划清扫,直到所述区域规划清扫结束。在步骤s63中,机器人确定当前位置点为补扫起始点,从所述补扫起始点开始对所述漏扫区域进行补扫,补扫结束后,机器人回到所述补扫起始点,继续对剩余的未清扫区域进行规划清扫,并返回步骤s62。其中,所述区域规划清扫结束是指机器人沿清扫方向清扫至区域边界、虚拟边界或者物理边界时,完成所述区域的全部清扫。该实施例中,机器人通过实时判断是否有漏扫区域,并及时对发现的漏扫区域进行补扫,使得机器人的清扫更有序,清扫效率更高,避免现有的机器人先进行区域整体弓字型清扫,再进行漏扫区域的补扫,这种清扫方式所带来的清扫轨迹杂乱,清扫效率比较低的问题。

具体的,如图6所述,图中的最外侧的长方形边框是一个虚拟的区域边界,所围成的区域就是一个栅格区域,机器人进行规划清扫时,就是按这样一个一个栅格区域清扫的方式进行的。栅格区域中的带箭头的弓字型线路就是机器人进行区域规划清扫时所行走的轨迹。标示w1和w2的小方框则表示障碍物。机器人从t1点位置开始,沿箭头指引的方向进行弓字型规划清扫。当机器人行走至b点位置时,判断其右侧有一个漏扫区域,于是,机器人以b点为补扫起始点,沿b1b2b3的弓字型轨迹线进行漏扫区域的补扫,并在行走至b3点时,完成该漏扫区域的补扫。然后机器人回到b点,继续按区域规划清扫的弓字型轨迹线行走,清扫剩余的未清扫区块。当机器人清扫至b4点位置时,判断其左侧又有一个漏扫区域,于是以b4点作为补扫起始点,沿b5b6b7的弓字型轨迹线进行该漏扫区域的补扫,并在行走至b7点时,完成该漏扫区域的补扫。接着,机器人回到b4点,继续按区域规划清扫的弓字型轨迹线行走,清扫剩余的未清扫区块,行走至t2点位置时,完成整个栅格区域的规划清扫。如此,机器人从t1点行走至t2点,就完成了整个栅格区域的清扫,清扫路径十分有序,清扫效率也很高。如果按照现有的机器人清扫方式,是从t1点位置一直按弓字型轨迹行走至t2点位置,然后再从t2点位置回到障碍物w1和w2所对应的两个漏扫区域进行补扫,如此,机器人的行走轨迹就会有较多的交叉,清扫路径就显得比较杂乱,不仅降低了清扫效率,还会让用户看到机器人清扫的无序性,认为机器人是在乱扫,从而影响用户的使用体验。

机器人进行补扫时,除了上述的补扫路径外,还可以进行其它方式的补扫。比如,机器人从b点开始,直线行走至b3点,然后从b3点开始,按b3-b2-b1-b的弓字型轨迹,进行补扫。当然,也可以把从上向下作为清扫方向,或者从下往上作为清扫方向,进行补扫。具体的补扫方式,可以根据具体的使用环境和产品需求进行设计。

作为其中一种实施方式,步骤s61所述的机器人从所述基点开始,以弓字型轨迹形式进行规划清扫的步骤,具体包括如下步骤:在步骤s611中,机器人从所述基点开始,沿所述区域的区域边界行走,并进入步骤s612。在步骤s612中,机器人判断是否检测到障碍物,如果是,则进入步骤s613,否则继续沿所述区域的区域边界行走,直到机器人回到所述基点,此时,机器人在所述区域边界范围内行走圈定了一个内区域,然后机器人以弓字型轨迹形式对所圈定的所述内区域进行规划清扫。在步骤s613中,机器人沿着所述障碍物中位于所述区域范围内的一侧进行沿边行走,并判断是否到达所述区域边界,如果否,则继续沿边行走,如果是,则沿所述区域边界行走,并返回步骤s612。本实施例通过先圈定栅格区域的可清扫范围,再对圈定的范围进行规划清扫,机器人可以在清扫过程中预先知道大概的地形,提前做好规划。比如,机器人准备到达物理边界时,靠地图就能知道,而不用碰撞或者其他传感器判断边界,此外,有些比较窄的入口,在圈定时已经提前知道,后续进行规划清扫时就不容易遗漏。

具体的,如图7所示,图中的w3、w4和w5表示障碍物。机器人从d1点开始沿区域边界行走,首先往上朝d2点行走,然后在d2点转向,朝d3点方向行走。在d3点检测到障碍物w3,则沿障碍物w3的位于该区域范围内的一侧进行沿边行走,即沿着d3-d4-d5-d6轨迹行走。当机器人沿边行走至d6点时,到达了区域边界d2d7,则沿d6d7方向继续行走。在d7点到达区域边界d7d8,则转向朝d8方向行走。机器人在d8点检测到障碍物w4,并沿着障碍物w4的边缘行走。在d9点到达区域边界d1d9,然后沿着d9d10方向,行走至d10点。此时,机器人检测到障碍物w5,并沿着障碍物w5的位于该区域范围内的一侧进行沿边行走,即沿着d10-d11-d12-d13轨迹行走,到达d13点后继续沿d13d1方向,行走至d1点。最终,机器人在该区域边界范围内行走圈定了一个由d1-d2-d3-d4-d5-d6-d7-d8-d9-d10-d11-d12-d13-d1围成的内区域。然后机器人以弓字型轨迹形式对所圈定的所述内区域进行规划清扫。机器人通过先进行范围圈定,有利于后续的规划清扫,不仅可以使机器人在规划清扫时预知障碍物的位置而减少碰撞,还可以提前获取一些入口较窄的位置信息,避免出现漏扫的情况。

作为其中一种实施方式,步骤s62中所述的机器人在清扫过程中实时判断是否有漏扫区域的步骤,具体包括如下步骤:在步骤s621中,机器人判断其沿清扫方向所走过的范围中,是否具有闭环的未清扫区块,如果是,则进入步骤s622,如果否,则继续清扫;在步骤s622中,机器人判断所述未清扫区块中是否具有长度大于预设距离的未清扫边界线,所述预设距离可以根据具体的产品设计需求进行设置,一般可以设置为1.5至2倍机器人机身宽度。如果具有,则表明机器人可以从该未清扫的边界线进入该区块进行清扫,所以,可以确定有漏扫区域,如果否,则表明该区块无法清扫,所以,确定没有漏扫区域。其中,所述闭环的未清扫区块是指由区域边界、障碍物边界线和/或未清扫边界线所围成的一块未清扫区域。通过本实施例所述方法,可以实时准确地判断是否有漏扫区域,有效避免机器人漏扫的情况,提高机器人的清扫质量。

如图8所示,该图与图6近似,主要区别在于:图8通过虚线框对漏扫区域进行标示。首先,机器人从t1点开始行走,并对该区域进行弓字型规划清扫。当机器人行走至b1点时,判断机器人右侧有一个闭环的未清扫区块n1n2n3n4,该区块由区域边界n1n4、障碍物边界线n2n3、未清扫边界线n1n2和n3n4共同围成。并且,未清扫边界线n1n2和n3n4都比较长,大于2倍的机器人机身宽度,所以,机器人可以从这两个边界入口进入该区块进行清扫。最优的,机器人直接从b1点行走至n4点,然后从n4点开始,以从右向左的方向为清扫方向,对该区块进行规划清扫。清扫完成后又回到b1点,继续原来的区域规划清扫。当机器人清扫至b2点时,判断其左侧有一个闭环的未清扫区块n5n6n7n8,该区块由区域边界n6n7、障碍物边界线n5n8、未清扫边界线n5n6和n7n8共同围成。并且,未清扫边界线n5n6和n7n8都比较长,大于1.5倍的机器人机身宽度,所以,机器人可以从这两个边界入口进入该区块进行清扫。最优的,机器人直接从b2点行走至n7点,然后从n7点开始,以从右向左的方向为清扫方向,对该区块进行规划清扫。清扫完成后机器人又回到b2点,继续原来的区域规划清扫,直到行走至t2点,完成整个区域的规划清扫。

作为其中一种实施方式,步骤s63中所述的机器人确定当前位置点为补扫起始点,从所述补扫起始点开始对所述漏扫区域进行补扫的步骤,具体包括如下步骤:在步骤s631中,机器人确定当前位置点为补扫起始点,并搜索行走过程中所构建的地图,然后进入步骤s632;在步骤s632中,机器人选择所述漏扫区域中与所述补扫起始点的导航距离最近的补扫入口,并选择所述最近的补扫入口的两个端点位置中距离所述补扫起始点最近的一个端点位置作为第一补扫点,选择所述最近的补扫入口中的另一个端点位置作为第二补扫点,然后进入步骤s633。在步骤s633中,机器人导航至所述第一补扫点,开始朝所述第二补扫点行走清扫,并以朝向所述漏扫区域内部,且平行于所述区域规划清扫的清扫方向的方向为当前清扫方向,对所述漏扫区域进行弓字型规划清扫,直到机器人完成对所述漏扫区域的清扫,则补扫结束。通过本实施例的补扫方式,机器人可以就近进行补扫,补扫效率和补扫质量更高,避免其它补扫方式所带来的清扫路径比较杂乱,清扫效率较低的问题。

具体的,如图9所示,图中的最外侧的长方形边框是一个虚拟的区域边界,所围成的区域就是一个栅格区域。栅格区域中的带箭头的弓字型线路就是机器人进行区域规划清扫时所行走的轨迹。标示w1和w2的小方框则表示障碍物。机器人从t1点位置开始,沿箭头指引的方向进行弓字型规划清扫。当机器人行走至b点位置时,判断其右侧有一个漏扫区域(图中下方的虚线框标示的区域),通过搜索地图可知,该区域有两个补扫入口,一个是虚线框左边的虚线所对应的入口,一个是虚线框右边的虚线所对应的入口,该右边的入口距离机器人当前位置最近。机器人在右边入口中的b1和b2两个端点位置中,选择距离当前位置最近的b1点作为第一补扫点,然后行走至b1点,并朝向b2点,开始对该漏扫区域进行弓字型规划清扫,清扫方向为从右向左。机器人沿着b1-b2-b3的轨迹完成清扫后,直接返回b点,继续进行剩余的区域规划清扫。同样的,当机器人行走至b4点位置时,判断其左侧有一个漏扫区域(图中上方的虚线框标示的区域),通过搜索地图可知,该区域有两个补扫入口,一个是虚线框左边的虚线所对应的入口,一个是虚线框右边的虚线所对应的入口,该右边的入口距离机器人当前位置最近。机器人在右边入口中的b5和b6两个端点位置中,选择距离当前位置最近的b5点作为第一补扫点,然后行走至b5点,并朝向b6点,开始对该漏扫区域进行弓字型规划清扫,清扫方向为从右向左。机器人沿着b5-b6-b7的轨迹完成清扫后,直接返回b4点,继续进行剩余的区域规划清扫。从图中可以明显看出,机器人按此方式进行补扫,没有出现交叉错乱的轨迹线,补扫质量和效果很好,并且让用户觉得清扫很有条理性,用户体验很高。

一种芯片,用于存储程序指令,所述程序指令用于控制机器人执行如上各实施例所述的清扫控制方法。所述芯片通过配置所述程序指令,可以在机器人处于充电座的位置时,先控制机器人对充电座周围的预设范围进行清扫,形成一个清扫禁区,以便机器人在后续的清扫过程中不会进入该禁区,避免机器人误撞到充电座而改变充电座位置的情况。此外,通过控制机器人根据就近原则进行区域规划清扫,可以提高机器人清扫的高效性和有序性。

一种清洁机器人,可以是扫地机器人或者拖地机器人,该机器人中装配有主控芯片,所述主控芯片为如上各实施例所述的芯片。机器人通过装配所述芯片,可以在机器人处于充电座的位置时,先控制机器人对充电座周围的预设范围进行清扫,形成一个清扫禁区,以便机器人在后续的清扫过程中不会进入该禁区,避免机器人误撞到充电座而改变充电座位置的情况。此外,通过控制机器人根据就近原则进行区域规划清扫,可以提高机器人清扫的高效性和有序性。

需要说明的是,上述各实施例中,机器人清扫的最大范围是由系统中预设的虚拟边界进行限定的,当机器人清扫至最外围的虚拟边界时,就不会继续向外扩张清扫。比如图2中,最外围的四条长边就是虚拟边界,四条虚拟边界所围成的区域被划分为15个栅格区域。栅格区域由虚拟的区域边界限定,只要该虚拟的区域边界不在最外围的虚拟边界上,机器人在进行逐个栅格区域的清扫时,就可以跨过虚拟的区域边界。图2中所示的虚拟的区域边界p8p9在虚拟边界上,机器人清扫至区域8#的p8p9线后,就会认为p8p9线左侧外的区域已经没有可清扫的区域了。如果,在虚拟边界所限定的范围内,有物理边界,则机器人所清扫的范围就会限定在由虚拟边界和物理边界连续围成的区域内,或者完全由物理边界围成的区域内(如果物理边界围成的范围完全在虚拟边界围成的范围内)。如图5所示,机器人清扫的范围为a3-a5-p8-p4-a2-a1-p10-a3所限定的区域,其中,a3-a5为物理边界,a5-p8-p4-a2为虚拟边界,a2-a1为物理边界,a1-a3为虚拟边界。机器人行走至虚拟边界和物理边界时,会认为边界对应的外侧已经没有可清扫的区域。所述物理边界是指机器人检测到障碍物时,基于检测到的障碍物的位置,对应地图所标示的边界线,该边界线可以表明边界线对应的区域外侧已经没有可清扫区域。未清扫边界线是指已清扫区域和未清扫区域之间的交界线。

上述实施例中所提到的“上”、“下”、“左”和“右”等方向字词,如果没有具体说明,则是指代附图中的上下左右等方向。如果有具体说明,则按具体说明定义,比如机器人的左侧,则是指代机器人前进方向的左侧,不是指代附图的左侧。

上述实施例所提到的充电座的正前方是指充电座中与机器人对接的一侧所朝向的方向,该侧面上设有用于引导机器人回座的红外传感器。所述充电座的正前方的一侧,可以是充电座的左侧,也可以是充电座的右侧,具体可以根据产品设计需求进行设置,如果所述充电座的正前方的一侧设置为左侧时,另一侧则为充电座的右侧,如果所述充电座的正前方的一侧设置为右侧时,另一侧则为充电座的左侧。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。这些程序可以存储于计算机可读取存储介质(比如rom、ram、磁碟或者光盘等各种可以存储程序代码的介质)中。该程序在执行时,执行包括上述各方法实施例的步骤。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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