机器人的续扫控制方法与流程

文档序号:13735346阅读:536来源:国知局
机器人的续扫控制方法与流程

本发明涉及机器人领域,具体涉及一种机器人的续扫控制方法。



背景技术:

目前扫地机器人的电池容量都不会很大,一般是2000~2500mah,如果扫地机器人平均电流为1000ma,则极限是2~2.5个小时,但是通常不可能用尽全部电量,所以一般只能清扫1.5-2小时,甚至很多时候还达不到这个水平,比如随着电池寿命下降等原因。在清扫面积比较大的空间时,扫地机器人一般还没有清扫完所有区域,在预测快没有电时,就需要自动导航回去找充电座进行充电。目前市面上的扫地机器人充满电后都是重新开始清扫,导致有些区域可能永远扫不到。



技术实现要素:

为解决上述问题,本发明提供了一种机器人的续扫控制方法,在充电结束后可以继续对未清扫区域进清扫,从而完成一次完整的清扫。本发明的具体技术方案如下:

一种机器人的续扫控制方法,包括如下步骤:

机器人在清扫过程中接收到充电信号时,记录当前位置和清扫状态;

然后回座充电;

充电的电量达到预设电量值后,机器人根据所述记录的清扫状态,从充电位置开始进行后续的清扫,或者回到所述记录的当前位置开始进行后续的清扫。

进一步地,所述机器人在清扫过程中接收到充电信号,包括如下步骤:

机器人在清扫过程中,内部的电量检测模块检测到电池电量低于预定电量时,给系统发送充电信号;

或者,

机器人在清扫过程中,系统接收到遥控装置或者机体上的控制面板发出的充电信号。

进一步地,所述记录当前位置,包括如下步骤:

记录当前位置点的xy坐标信息;

记录当前位置点的角度信息。

进一步地,所述记录清扫状态,包括如下步骤:

判断当前所处的清扫阶段是否属于局部清扫阶段;

如果是,则记录为局部清扫阶段,并记录当前局部区域的清扫范围和当前全局区域的清扫范围,还要记录当前状态是处于弓字型清扫状态,还是处于绕障清扫状态,以及记录处于弓字型清扫状态时的清扫方向或者处于绕障清扫状态时的绕障方向;

如果否,则判断当前所处的清扫阶段是否属于全局清扫阶段;

如果是,则记录为全局清扫阶段,并记录当前全局区域的清扫范围;

如果否,则记录为全局沿边阶段,并记录沿边的起始位置点、在起始位置点时的角度、已沿边的路径和当前的沿边方向。

进一步地,所述记录当前局部区域的清扫范围,包括如下步骤:

基于机器人在当前局部区域的行进路径,在所述行进路径中确定一个位于最左侧的第一最左位置点,确定一个位于最右侧的第一最右位置点,确定一个位于最上端的第一最上位置点,确定一个位于最下端的第一最下位置点;

基于所述第一最左位置点建立一条虚拟的第一最左竖直线,基于所述第一最右位置点建立一条虚拟的第一最右竖直线,基于所述第一最上位置点建立一条虚拟的第一最上水平线,基于所述第一最下位置点建立一条虚拟的第一最下水平线;

记录所述第一最左竖直线、所述第一最右竖直线、所述第一最上水平线和所述第一最下水平线所围成的区域为所述当前局部区域的清扫范围;

和/或,

所述记录当前全局区域的清扫范围,包括如下步骤:

基于机器人在当前全局区域的行进路径,在所述行进路径中确定一个位于最左侧的第二最左位置点,确定一个位于最右侧的第二最右位置点,确定一个位于最上端的第第二最上位置点,确定一个位于最下端的第二最下位置点;

基于所述第二最左位置点建立一条虚拟的第二最左竖直线,基于所述第二最右位置点建立一条虚拟的第二最右竖直线,基于所述第二最上位置点建立一条虚拟的第二最上水平线,基于所述第二最下位置点建立一条虚拟的第二最下水平线;

记录所述第二最左竖直线、所述第二最右竖直线、所述第二最上水平线和所述第二最下水平线所围成的区域为所述当前局部区域的清扫范围。

进一步地,所述充电的电量达到预设电量值,包括如下步骤:

判断机器人是否记录过一次完整清扫的全面积;

如果否,则所述预设电量值为电池充满时的电量;

如果是,则通过未清扫面积除以已清扫面积与已耗电量的比值,来计算完成未清扫面积需要的待耗电量,把所述待耗电量乘以预设倍数后作为所述预设电量值;

其中,所述未清扫面积为所述全面积与所述已清扫面积之差,所述预设倍数大于1。

进一步地,所述全面积包括全部区域清扫面积和全局沿边所走过的面积,其中,确定所述全局沿边所走过的面积,包括如下步骤:

基于所述全部区域清扫面积,确定总周长为p,则p=所述全部区域清扫面积的开平方再乘以4;

确定每个栅格单元的边长为l,则每个栅格单元的面积为l*l;

确定总周长所占用的栅格单元的数量为x,则x=p/l;

确定机器人的机身宽度与栅格单元的边长的比值为w;

确定全局沿边所走过的栅格单元的数量为z,z=x*w;

确定全局沿边所走过的面积为q=z*l*l;

其中,所述栅格单元为正方形,所述机器人的机身为圆形或者正方形。

进一步地,所述机器人根据所述记录的清扫状态,从充电位置开始进行后续的清扫,或者回到所述记录的当前位置开始进行后续的清扫,包括如下步骤:

判断所述记录的清扫状态是否为局部清扫阶段,如果是,则机器人根据记录的xy坐标信息和角度信息回到记录的当前位置点,并判断所记录的当前状态是否处于弓字型清扫状态,如果是,则按照记录的所述清扫方向继续清扫,如果否,则确定所记录的当前状态处于绕障清扫状态,按照记录的所述绕障方向继续清扫;

如果否,则判断所述记录的清扫状态是否为全局清扫阶段,如果是,则机器人搜索全局地图,然后从充电位置开始,自动导航至搜索出来的漏扫区域继续进行清扫;

如果否,则确定所述记录的清扫状态为全局沿边阶段,则机器人根据记录的xy坐标信息和角度信息回到记录的当前位置点,然后按记录的沿边方向继续进行清扫。

进一步地,所述机器人搜索全局地图,然后从充电位置开始,自动导航至搜索出来的漏扫区域继续进行清扫,包括如下步骤:

基于搜索的全局地图,确定已清扫区和未清扫区的入口边界;

基于每条所述入口边界的两端的端点分别作为两个入口参考点;

以充电位置作为坐标原点建立xy轴坐标系;分析同一条所述入口边界的两个所述入口参考点的坐标位置;当两个所述入口参考点的x轴值相同,则选择与充电位置距离最近的所述入口参考点作为最佳入口点;当两个所述入口参考点的y轴值相同,则选择与充电位置距离最近的所述入口参考点作为最佳入口点;当两个所述入口参考点的x轴值和y轴值都不相同,则判断未清扫区与已清扫区的位置关系;如果未清扫区在已清扫区的左边,则选择x轴值大的所述入口参考点作为最佳入口点;如果未清扫区在已清扫区的右边,则选择x轴值小的所述入口参考点作为最佳入口点;

在一个未清扫区中选择一个与充电位置距离最近的所述最佳入口点作为优先清扫参考点,选择与充电位置距离最近的两个所述优先清扫参考点;判断充电位置分别到两个所述优先清扫参考点的距离差值是否小于预设距离值;如是,则选择长度较长的所述入口边界所对应的所述优先清扫参考点作为清扫起始点;如否,则选择与充电位置的距离最近的那一个所述优先清扫参考点作为清扫起始点;

从充电位置行进至所述清扫起始点,判断所述清扫起始点所在的所述入口边界的两个端点的位置关系;当两个端点的x轴值相同时,则从清扫起始点开始,直接朝所述入口边界的另一个端点行进,按弓字型的轨迹形式清扫未清扫区;当两个端点的y轴值相同时;如果未清扫区位于所述入口边界的上方,则从清扫起始点开始,沿y轴正方向行进,按弓字型的轨迹形式清扫未清扫区;如果未清扫区位于所述入口边界的下方,则从清扫起始点开始,沿y轴负方向行进,按弓字型的轨迹形式清扫未清扫区;当两个端点的x轴值和y轴值都不相同时,则从清扫起始点开始,沿垂直另一个端点所在的x轴的方向行进,按弓字型的轨迹形式清扫未清扫区;

清扫完毕后,再确定下一个最佳入口点为下一个优先清扫区的清扫起始点,以此类推,至所有满足未清扫区清扫条件的未清扫区都清扫完毕,则全局清扫阶段结束。

进一步地,所述按记录的沿边方向继续进行清扫的步骤之后,还包括如下步骤:

判断继续沿边清扫时所走过的路径长度与所述已沿边的路径长度之和是否大于等于总周长;以及判断继续沿边清扫过程中,机器人的当前角度与记录的所述在起始位置点时的角度之差是否大于360°;以及判断继续沿边清扫过程中,机器人的当前位置点是否在记录的沿边的起始位置点的预设范围内;

如果判断结果都为是,则沿边结束;

如果判断结果有一个为否,则继续沿边,当继续沿边清扫过程中,机器人的当前角度与记录的所述在起始位置点时的角度之差大于540°,或者继续沿边清扫时所走过的路径长度与所述已沿边的路径长度之和大于总周长的2.5倍,则沿边结束。

本发明的有益效果在于:机器人在清扫过程中接收到充电信号时,会记录当前位置和清扫状态;然后回座充电;在充电的电量达到预设电量值后,机器人再根据所述记录的清扫状态,从充电位置开始进行后续的清扫,或者回到所述记录的当前位置开始进行后续的清扫。通过这种方式,能让机器人在中止当前清扫后,后续还能准确找到续扫的位置点并依照原来的清扫状态继续进行清扫,从而提高了机器人的清扫效率以及清扫的全面性和完整性。

附图说明

图1为本发明所述的机器人的续扫控制方法的流程图。

图2为本发明所述的记录当前局部区域的清扫范围的示意图。

图3为本发明所述的机器人与栅格单元的示意图。

图4为本发明所述的全局清扫阶段的示意图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明:

本发明所述的机器人主要指扫地机器人,又称清洁机器人、自动打扫机、智能吸尘器等,是智能家用电器的一种,能凭借一定的人工智能,自动在房间内完成地板清理工作。一般采用刷扫和真空方式,将地面杂物先吸纳进入自身的垃圾收纳盒,从而完成地面清理的功能。一般来说,将完成扫地、吸尘、擦地等工作的机器人,也统一归为扫地机器人。扫地机器人的机体为无线机器,以圆盘型为主。使用充电电池运作,操作方式为遥控或是机器上的操作面板。一般能设定时间预约打扫,自行充电。机体上设有各种传感器,可检测行进距离、行进角度、机身状态和障碍物等,如碰到墙壁或其他障碍物,会自行转弯,并依不同的设定,而走不同的路线,有规划地清扫地区。本发明所述机器人至少包括如下结构:带有驱动轮的能够自主行进的机器人机体,机体上设有人机交互界面,机体外周设有障碍检测单元(可以是红外传感器或者超声波传感器等),机体下部设有主刷(也可以叫中刷)和边刷。机体内部设置有惯性传感器,包括加速度计和陀螺仪等,驱动轮上设有用于检测驱动轮的行进距离的里程计(一般是码盘),还设有能够处理相关传感器的参数,并能够输出控制信号到执行部件的控制模块和用于检测电池电量的电量检测模块。

如图1所示,本发明所述的机器人的续扫控制方法,包括如下步骤:机器人在清扫过程中接收到充电信号时,记录当前位置和清扫状态;然后回座充电;充电的电量达到预设电量值后,机器人根据所述记录的清扫状态,从充电位置开始进行后续的清扫,或者回到所述记录的当前位置开始进行后续的清扫。通过这种方式,能让机器人在中止当前清扫后,后续还能准确找到续扫的位置点并依照原来的清扫状态继续进行清扫,从而提高了机器人的清扫效率以及清扫的全面性和完整性。

优选的,所述机器人在清扫过程中接收到充电信号,包括如下步骤:机器人在清扫过程中,内部的电量检测模块检测到电池电量低于预定电量时,给系统发送充电信号;或者,机器人在清扫过程中,系统接收到遥控装置或者机体上的控制面板发出的充电信号。其中,所述预定电量可以根据电池的规格、性能、距离充电座的远近等条件进行相应设置,所设置的预定电量必须能够保证机器人有足够的电能回到充电座。当系统接收到电量检测模块发送的充电信号时,记录相关信息后,控制机器人搜索地图,找出最短的回座路径,并将机器人导航至充电座进行充电。在某些情况下,用户认为机器人已经工作了较长时间,需要充电了,就会通过遥控装置(遥控器或者装有遥控应用的智能手机)或者机器人机体上的控制面板,控制机器人回座充电,当系统接收到遥控装置或者机体上的控制面板发出的充电信号时,同样会记录相关信息后,然后控制机器人搜索地图,找出最短的回座路径,并将机器人导航至充电座进行充电。

优选的,所述记录当前位置,包括如下步骤:记录当前位置点的xy坐标信息;记录当前位置点的角度信息。基于地图中的xy坐标系,机器人一边行进一边记录里程计所检测到的行进距离和陀螺仪所检测到的角度值,并把所检测的行进距离和角度值转换为xy坐标信息和角度信息。通过记录当前位置点的xy坐标信息和角度信息,机器人可以快速地在续扫时准确地找到续扫的位置点,避免因为续扫位置点不准确而导致的重复清扫或者漏扫问题。

优选的,所述记录清扫状态,包括如下步骤:判断当前所处的清扫阶段是否属于局部清扫阶段;如果是,则记录为局部清扫阶段,并记录当前局部区域的清扫范围和当前全局区域的清扫范围,还要记录当前状态是处于弓字型清扫状态,还是处于绕障清扫状态,以及记录处于弓字型清扫状态时的清扫方向或者处于绕障清扫状态时的绕障方向。如果否,则判断当前所处的清扫阶段是否属于全局清扫阶段;如果是,则记录为全局清扫阶段,并记录当前全局区域的清扫范围。如果否,则记录为全局沿边阶段,并记录沿边的起始位置点、在起始位置点时的角度、已沿边的路径和当前的沿边方向。由于机器人完成一次完整清扫,需要经过局部清扫、全局清扫和全局沿边阶段,而不同阶段,机器人的清扫方式又不一样,所以,在记录机器人续扫位置点的基础上,还需要记录机器人当时处于哪个清扫阶段,如此可以进一步避免重复清扫或者漏扫的问题。在确定了清扫阶段后,还需要记录当前阶段的一些相关数据,否则,机器人到达续扫位置点后,还是不知道该如何开始清扫,这样也会由于机器人乱扫而导致重复清扫或者漏扫的现象。

优选的,所述记录当前局部区域的清扫范围,包括如下步骤:基于机器人在当前局部区域的行进路径,在所述行进路径中确定一个位于最左侧的第一最左位置点,确定一个位于最右侧的第一最右位置点,确定一个位于最上端的第一最上位置点,确定一个位于最下端的第一最下位置点;基于所述第一最左位置点建立一条虚拟的第一最左竖直线,基于所述第一最右位置点建立一条虚拟的第一最右竖直线,基于所述第一最上位置点建立一条虚拟的第一最上水平线,基于所述第一最下位置点建立一条虚拟的第一最下水平线;记录所述第一最左竖直线、所述第一最右竖直线、所述第一最上水平线和所述第一最下水平线所围成的区域为所述当前局部区域的清扫范围。如图2所示,图中,标有x的小方格表示机器人碰到障碍物的栅格单元,外周的最大的长方形边框表示一个完整的局部区域的范围,机器人按照abcdefgh的弓字型路径(带箭头的线路)进行清扫。在弓字型的行进路径中确定一个位于最左侧的第一最左位置点a,确定一个位于最右侧的第一最右位置点h,确定一个位于最上端的第一最上位置点g,确定一个位于最下端的第一最下位置点e。再基于所述第一最左位置点a建立一条虚拟的第一最左竖直线k1k2,基于所述第一最右位置点h建立一条虚拟的第一最右竖直线k3k4,基于所述第一最上位置点g建立一条虚拟的第一最上水平线k1k4,基于所述第一最下位置点e建立一条虚拟的第一最下水平线k2k3。将k1、k2、k3和k4所构成的方形区域记录为所述当前局部区域的清扫范围。当机器人重新回到续扫的位置点后,继续沿当前的清扫方向(从左向右),按弓字型轨迹进行清扫,清扫至该局部区域的右边界时,再对该局部区域中漏扫的地方(即图中障碍物后方没有弓字型路径的空白区域)进行补扫,以完成对该局部区域的全面清扫。通过位于极端的位置点来确定已经清扫过的清扫范围,机器人可以直接在该确定区域内进行位置和路径的搜索,从而提高机器人的地图搜索效率,同时,机器人续扫时不会重复清扫,提高了机器人的清扫效率。

同理,所述记录当前全局区域的清扫范围,包括如下步骤:基于机器人在当前全局区域的行进路径,在所述行进路径中确定一个位于最左侧的第二最左位置点,确定一个位于最右侧的第二最右位置点,确定一个位于最上端的第第二最上位置点,确定一个位于最下端的第二最下位置点;基于所述第二最左位置点建立一条虚拟的第二最左竖直线,基于所述第二最右位置点建立一条虚拟的第二最右竖直线,基于所述第二最上位置点建立一条虚拟的第二最上水平线,基于所述第二最下位置点建立一条虚拟的第二最下水平线;记录所述第二最左竖直线、所述第二最右竖直线、所述第二最上水平线和所述第二最下水平线所围成的区域为所述当前局部区域的清扫范围。当机器人充电后,从充电位置开始搜索地图,通过极端的位置点来确定全局区域中已经清扫过的清扫范围,机器人可以直接在该确定区域内进行位置和路径的搜索,不必全部搜索规划中的全局区域,从而提高机器人的地图搜索效率。并且,通过记录该确定的区域,机器人续扫时就不会重复清扫,提高了机器人的清扫效率。

优选的,所述充电的电量达到预设电量值,包括如下步骤:判断机器人是否记录过一次完整清扫的全面积;如果否,则所述预设电量值为电池充满时的电量;如果是,则通过未清扫面积除以已清扫面积与已耗电量的比值,来计算完成未清扫面积需要的待耗电量,把所述待耗电量乘以预设倍数后作为所述预设电量值。其中,所述未清扫面积为所述全面积与所述已清扫面积之差,所述预设倍数大于1。现有的机器人回座充电时,一般都是全部充满电后才开始清扫。如果机器人已经快清扫完了,还要等三四个小时的充满电时间,才能把剩下的那一小部分区域清扫完,这样显然会降低机器人的清扫效率。本发明所述的方法,通过判断机器人是否记录过一次完整清扫的全面积(即机器人完成局部清扫、全局清扫和全局沿边三个阶段的清扫时的面积),来确定机器人的电量要全部充满,还是只充一部分。如果没有记录,机器人就无法判断后面需要清扫的面积还有多少,也就无法确定还需要多少电量,所以,最好的方式就是全部充满,避免还有很大面积没有清扫时,机器人反复回座充电而降低清扫效率。如果有了一次完整清扫的全面积记录,机器人就知道需要清扫的全部面积有多大,全部面积减去已清扫的面积,就得到机器人还需要清扫的面积剩下多少了。得出了未清扫面积,还要判断需要多少电量才能清扫完这些未清扫面积。由于电池的规格、质量或者使用年限等原因的影响,机器人清扫相同面积需要消耗的电池电量是不一样的,比如新的机器人清扫一个100平米的地面需要消耗一半的电池电量,当这个机器人使用了一年以后,电池的电量可能有比较多的虚电,清扫同样的100平米的地面,则需要消耗八成的电池电量了。所以,本发明所述的方法通过先确定机器人完成已清扫面积时消耗的电量,得出已清扫面积与已耗电量的比值,然后再用未清扫面积除以这个比值,就可以准确地知道,当前机器人还需要多少待耗电量才能完成未清扫面积的清扫。此时,如果机器人充电量达到待耗电量就开始清扫,则会由于清扫地面太复杂或者回充路程较远等原因,而无法全部完成清扫,所以,为了避免此类情况发生,需要在所述待耗电量的基础上,乘以预设倍数,来确定最终需要充的预设电量值。所述预设倍数可以根据机器人的电池性能和地面环境等情况进行相应设置,其前提是必须要大于1,使得所述预设电量值必须大于所述待耗电量,预留一些电量,这样才可以保证机器人有效地完成未清扫面积的清扫。同时,所述预设倍数又不能过大,不然就会导致预留的电量过多,需要的充电时间过长而影响机器人的清扫效率。优选的,可以将所述预设倍数设置为1.1、1.2或者1.3,以达到最高性价比。举个例子进行说明:如果记录的总面积为100平方米,而清扫完成70平方米的面积消耗了1200mah,然后清扫剩下的30平方米,则需要待耗电量为30/(70/1200)=514mah,则需要充入的预设电量值为514*1.15=591mah,其中,1.15为预设倍数。

优选的,所述全面积包括全部区域清扫面积和全局沿边所走过的面积,其中,确定所述全局沿边所走过的面积,包括如下步骤:基于所述全部区域清扫面积,确定总周长为p,则p=所述全部区域清扫面积的开平方再乘以4;确定每个栅格单元的边长为l,则每个栅格单元的面积为l*l;确定总周长所占用的栅格单元的数量为x,则x=p/l;确定机器人的机身宽度与栅格单元的边长的比值为w;确定全局沿边所走过的栅格单元的数量为z,z=x*w;确定全局沿边所走过的面积为q=z*l*l。其中,所述栅格单元为正方形,所述机器人的机身为圆形或者正方形,所述全部区域清扫面积为完成局部清扫阶段和全局清扫阶段所清扫的面积。如图3所示,图中的一个小方格(比如s1、s2、s3和s4标示的方格)表示一个栅格单元,圆圈表示机器人的机身,本实施例中,机器人的机身的直径等于两个栅格单元的长度,则一个机器人机身占据了四个栅格单元,假设一个栅格单元的长度l=0.2m,则机器人行进一个栅格单元的长度,就相当于清扫了0.08平面米的面积。确定所述全局沿边所走过的面积时,先通过全部区域清扫面积来计算总周长,即把全部区域清扫面积近似成一个正方形,通过开平方求得该正方形的边长,边长再乘以4得出总周长为p;然后通过总周长p除以栅格单元的长度l求得总周长所占据的栅格单元的数量为x=p/l;由于机器人沿周长向前行进时,除了占据前面的栅格单元外,其机身宽度还会占据侧边的一定数量的栅格单元,所以,通过机器人的机身宽度与栅格单元的边长的比值w来确定侧边占据的栅格单元的数量,则机器人全局沿边所走过的栅格单元的数量为z=x*w;最后再把该数量乘以一个栅格单元的面积,即得出了全局沿边所走过的面积为q=x*w*l*l=p*w*l。这种近似算法,虽然会产生一定误差,但是这些误差已在估算范围内,不会影响机器人的实际运行。

优选的,所述机器人根据所述记录的清扫状态,从充电位置开始进行后续的清扫,或者回到所述记录的当前位置开始进行后续的清扫,包括如下步骤:判断所述记录的清扫状态是否为局部清扫阶段,如果是,则机器人根据记录的xy坐标信息和角度信息回到记录的当前位置点,并判断所记录的当前状态是否处于弓字型清扫状态,如果是,则按照记录的所述清扫方向继续清扫,如果否,则确定所记录的当前状态处于绕障清扫状态,按照记录的所述绕障方向继续清扫;如果否,则判断所述记录的清扫状态是否为全局清扫阶段,如果是,则机器人搜索全局地图,然后从充电位置开始,自动导航至搜索出来的漏扫区域继续进行清扫;如果否,则确定所述记录的清扫状态为全局沿边阶段,则机器人根据记录的xy坐标信息和角度信息回到记录的当前位置点,然后按记录的沿边方向继续进行清扫。由于机器人在不同清扫阶段,所采取的清扫方式是不一样的,所以,本发明所述的方法通过记录的阶段性,来控制机器人后续采取对应的清扫动作,以达到机器人清扫的高效性。

具体的,如果根据记录信息确定当前需要进行局部清扫,当机器人到达续扫位置点(即记录的当前位置点)时,则基于所记录的当前局部区域的清扫范围,在该清扫范围的基础上继续对其它未清扫的地方进行清扫,在完成整个局部区域的弓字型清扫后,再对局部区域中漏扫的地方进行补扫。还基于所记录的当前全局区域的清扫范围,在完成当前的局部区域的清扫后,继续对全局区域中其它未清扫的局部区域进行清扫。如果不对当前局部区域的清扫范围和当前全局区域的清扫范围进行记录,机器人就无法判断当前局部区域和当前全局区域中,哪些地方扫了,哪些地方没有扫,也就无法有效地进行后续清扫工作。此外,还基于所记录的当前状态是处于弓字型清扫状态,还是处于绕障清扫状态;如果处于弓字型清扫状态,还要记录处于弓字型清扫状态时的清扫方向,如果处于绕障清扫状态,还要记录处于绕障清扫状态时的绕障方向。如果不对这些具体的状态和方向进行记录,机器人也无法判断下一步该怎么走,往哪走。作了记录之后,机器人就不会盲目清扫了。比如,如果清扫方向是从左向右,则机器人在进行弓字型清扫过程中,在转弯掉头时,就会向右边转向,如果清扫方向是从右向左,则转弯掉头时就向左转向。如果绕障方向是从障碍物的左侧绕,则机器人继续沿障碍物左侧进行清扫;如果绕障方向是从障碍物的右侧绕,则机器人继续沿障碍物右侧进行清扫。

具体的,如果根据记录信息确定当前需要进行全局清扫,则搜索全局地图,基于所记录的当前全局区域的清扫范围,然后从充电位置开始,自动导航至搜索出来的漏扫区域,继续对全局区域中其它未清扫的区域进行清扫。如果不对当前全局区域的清扫范围进行记录,机器人就无法判断当前全局区域中,哪些地方扫了,哪些地方没有扫,也就无法有效地进行后续清扫工作。在全局清扫阶段时,机器人不需要再回到记录的位置点,而是直接从当前位置开始进行后续的清扫,即直接在当前位置进行地图搜索,再导航至搜索出来的漏扫区域进行清扫。通过这种控制方式可以进一步提高机器人的清扫效率,因为在全局清扫阶段,机器人主要任务就是搜索出漏扫区域并进行清扫,所以,不管在哪个位置搜索,最终都要将漏扫区域都搜索出来并完成清扫,而直接在当前位置搜索,比回到记录的位置点再搜索,减少了从当前位置行走至记录的位置的环节,从而缩短了清扫时间,提高了清扫效率。

具体的,如果根据记录信息确定当前需要进行全局沿边,当机器人到达续扫位置点(即记录的当前位置点)时,则基于所记录的沿边的起始位置点和已沿边的路径,得出机器人沿边了多长,并根据记录的当前的沿边方向,准确地确定接下来该往哪个方向继续沿边。在继续沿边的过程中,根据在起始位置点时的角度,判断机器人当前的角度与该角度的差值,作为是否结束沿边的条件之一。如果不对沿边的起始位置点和已沿边的路径进行记录,就无法知道机器人沿边了多长;如果不对沿边的方向进行记录,也就无法知道该往哪个方向沿边;如果不对起始位置点时的角度进行记录,就无法判断机器人是否沿边了一圈。所以,根据这些记录信息,可以帮助机器人更好地完成后续的沿边工作。

如图4所示,带有箭头的线路表示机器人的行进轨迹。最外侧的四条边所组成的一个最大的长方形,则表示全局地图的边界。位置点b为机器人的充电位置,带有箭头的弓字型线路为机器人的清扫轨迹。其中,所述弓字型清扫是指机器人沿直线移动路径直线行进至转弯点时,转向90°后行进一定宽度,然后再转向90°,使当前行进方向与原来的直线移动路径方向相反,接着继续行进至下一个转弯点。由于机器人按此方式行进的轨迹类似弓字,故称之为弓字形清扫。

优选的,所述机器人搜索全局地图,然后从充电位置开始,自动导航至搜索出来的漏扫区域继续进行清扫,包括如下步骤:

第一步,基于搜索的全局地图,确定已清扫区和未清扫区(即所述漏扫区域,下同)的入口边界。图4中,弓字型线路占据的区域为已清扫区,虚线框内的区域为未清扫区。常规清扫完成后,需要进行未清扫区的补扫,所以要先确定已清扫区和未清扫区的入口边界(即图中d1点至d2点之间的线段、c1点至c2点之间的线段、c3点至c4点之间的线段等)。

第二步,基于每条所述入口边界的两端的端点分别作为两个入口参考点。如图4所示,把d1点、d2点、c1点、c2点、c3点和c4点等作为入口参考点。

第三步,以充电位置作为坐标原点建立xy轴坐标系;分析同一条所述入口边界的两个所述入口参考点的坐标位置;当两个所述入口参考点的x轴值相同,则选择与充电位置距离最近的所述入口参考点作为最佳入口点;当两个所述入口参考点的y轴值相同,则选择与充电位置距离最近的所述入口参考点作为最佳入口点;当两个所述入口参考点的x轴值和y轴值都不相同,则判断未清扫区与已清扫区的位置关系;如果未清扫区在已清扫区的左边,则选择x轴值大的所述入口参考点作为最佳入口点;如果未清扫区在已清扫区的右边,则选择x轴值小的所述入口参考点作为最佳入口点。如图4所示,充电位置为b点,以b点为原点建立一个xy轴坐标系,分析未清扫区中的a区的两条入口边界a1-a3边界和a4-a5边界(由于a1-a2边界和a2-a3边界互相连接,可以作为一条入口边界)的a1点和a3点、a4点和a5点的坐标位置,由于a1点和a3点相对于坐标原点(b点)的x轴值和y轴值都不同,且a区在已清扫区的左侧,所以选择x轴值大的a1点作为最佳入口点(由于a1点和a3点的x轴值都为负值,所以,在x轴方向距离原点越近的点,x轴值越大)。由于a4点和a5点的y轴值相同,所以,选择与当前位置点距离最近的a5点作为a区的另一个最佳入口点。同理,选择b2点、b4点和b8点作为b区的最佳入口点;选择c1点、c5点和c4点作为c区的最佳入口点;选择d1点作为d区的最佳入口点。通过这些入口选择条件,可以对每个未清扫区的每条入口边界都进行分析,从中选取最佳入口点作为后续的优先清扫参考点的选择对象,如此,即使未清扫区的形状很复杂,也可以全面有效地分析哪个位置点更合适作为最佳入口点,从而为优先清扫参考点的选取提供更客观、更准确的对象。

第四步,在一个未清扫区中选择一个与充电位置距离最近的所述最佳入口点作为优先清扫参考点。选择与充电位置距离最近的两个所述优先清扫参考点;判断充电位置分别到两个所述优先清扫参考点的距离差值是否小于预设距离值;如是,则选择长度较长的所述入口边界所对应的所述优先清扫参考点作为清扫起始点;如否,则选择与充电位置的距离最近的那一个所述优先清扫参考点作为清扫起始点。通过对两个与充电位置距离最近的优先清扫参考点进行分析,同时结合所述入口边界的长度,可以更全面更准确地确定更适合优先清扫的区域,避免现有的仅仅依靠距离的远近来确定优先清扫区域所导致清扫效率不高的问题,由此提高机器人清扫的高效性。比如,有两个与当前位置点都比较接近的区域,其中距离最近的一个区域的入口边界的长度很短,一般情况下表明该区域的面积也较小,而另外一个区域的入口边界很长,一般情况下表明该区域的面积也较大。如果机器人只考虑距离的话,就会先去入口边界的长度很短的区域,如此,不仅会导致大面积的区域未得到及时清扫而导致清扫效率低,影响用户的产品使用体验,还会导致机器人先去长度较短的入口边界时,由于地图误差或行进误差等原因,需要花费较长时间来找到清扫起始点。所以,最高效的方式是,在确定两个距离都比较接近的区域时,优先清扫入口边界较长的区域,只有当这两个区域与充电位置的距离相差较大的情况下,才清扫距离最近的区域。如果机器人不先清扫身边比较近的区域,跑很远的距离去清扫虽然面积比较大的区域,也会由于花费太多的时间在行进路程上而降低机器人的清扫效率,同时让用户觉得机器人比较笨,不够智能,而降低了产品的使用体验。如图4所示,在确定了每个未清扫区的最佳入口点后,在a区的最佳入口点(a1点和a5点)中选择与b点距离最近的a1点作为优先清扫参考点;在b区中选择b4点作为优先清扫参考点;在c区中选择c1点作为优先清扫参考点;在d区中选择d1点作为优先清扫参考点。然后再选择与b点距离最近的两个优先清扫参考点a1点和b4点,由于a1点到b点的距离与b4点到b点的距离的差值大于预设距离值,所以,选择距离最近的a1点作为清扫起始点。所述预设距离值为一个可设置的值,可以根据具体的需求设置不同的参数值,本实施例中选择两个机器人的机身宽度作为该预设距离值。

第五步,从充电位置行进至所述清扫起始点,判断所述清扫起始点所在的所述入口边界的两个端点的位置关系;当两个端点的x轴值相同时,则从清扫起始点开始,直接朝所述入口边界的另一个端点行进,按弓字型的轨迹形式清扫未清扫区;当两个端点的y轴值相同时;如果未清扫区位于所述入口边界的上方,则从清扫起始点开始,沿y轴正方向行进,按弓字型的轨迹形式清扫未清扫区;如果未清扫区位于所述入口边界的下方,则从清扫起始点开始,沿y轴负方向行进,按弓字型的轨迹形式清扫未清扫区;当两个端点的x轴值和y轴值都不相同时,则从清扫起始点开始,沿垂直另一个端点所在的x轴的方向行进,按弓字型的轨迹形式清扫未清扫区。如图4所示,清扫a区时,判断a1点和a3点的位置关系,由于a1点和a3点的x轴值和y轴值都不相同,所以,从a1点开始沿垂直a3点所在的x轴方向(即a2点)行进,按弓字型的轨迹形式,从右到左清扫a区。通过判断入口边界两点的位置关系,对应采用不同的清扫方式,可以有效避免复杂形状的未清扫区域的一些边角的地方被漏扫的问题,从而提高机器人清扫的全面性和完整性。

第六步,清扫完毕后,再确定下一个最佳入口点为下一个优先清扫区的清扫起始点,以此类推,至所有满足未清扫区清扫条件的未清扫区都清扫完毕,则全局清扫阶段结束。如图4所示,在清扫完a区时,机器人行进至清扫结束点(即a5点),此时,a5点作为当前位置点(即相当于新的充电位置),根据上述的入口选择条件,选择d1点、c1点、c4点、c5点、b1点、b3点和b8点作为最佳入口点,再根据优先清扫条件确定d1点作为清扫起始点。机器人从a5点行进至d1点后,朝d2点的方向,以弓字型的轨迹形式,从右至左清扫d区,至清扫结束点(d4点)时,对该区的清扫结束。又以d4点为当前位置点,继续根据入口选择条件和优先清扫条件确定c4点作为清扫起始点,机器人从d4点行进至c4点后,朝c3点的方向,以弓字型的轨迹形式,从左至右清扫c区,至清扫结束点(c1点)时,对该区的清扫结束。又以c1点为当前位置点,继续根据入口选择条件和优先清扫条件确定b8点作为清扫起始点,机器人从c1点行进至b8点后,沿垂直b6所在的x轴的方向行进,以弓字型的轨迹形式,从左至右清扫b区,至清扫结束点(b4点),此时,全局清扫阶段结束。

其中,判断是否满足所述未清扫区清扫条件,包括如下步骤:判断一个所述未清扫区的所有所述入口边界的长度是否都小于预设入口长度;如果是,则所述入口边界所对应的所述未清扫区不满足所述未清扫区清扫条件;如果否,则所述入口边界所对应的所述未清扫区满足所述未清扫区清扫条件。其中,所述预设入口长度也是一个可设置的值,可以根据具体的需求进行相应设置,本实施例中设置为1.2倍的机器人机身宽度,只要有一个入口边界的长度大于或等于1.2倍的机器人机身宽度,即可以通过该入口边界对该区域进行清扫。如果所有的入口边界都小于1.2倍的机器人机身宽度,则机器人无法或者很难进入该区进行清扫。

优选的,所述按记录的沿边方向继续进行清扫的步骤之后,还包括如下步骤:判断继续沿边清扫时所走过的路径长度与所述已沿边的路径长度之和是否大于等于总周长;以及判断继续沿边清扫过程中,机器人的当前角度与记录的所述在起始位置点时的角度之差是否大于360°;以及判断继续沿边清扫过程中,机器人的当前位置点是否在记录的沿边的起始位置点的预设范围内;如果判断结果都为是,则沿边结束;如果判断结果有一个为否,则继续沿边,当继续沿边清扫过程中,机器人的当前角度与记录的所述在起始位置点时的角度之差大于540°,或者继续沿边清扫时所走过的路径长度与所述已沿边的路径长度之和大于总周长的2.5倍,则沿边结束。由于机器人在沿边行进过程中,会因为各种自身或者外界环境的影响,产生行进误差。此时,如果简单地以是否达到总周长,或者是否转了360°等单一条件作为判断基础,就很容易出现误判的情况。本发明所述的方法,通过结合三种条件进行判断,可以提高判断的准确性。即当继续沿边清扫时所走过的路径长度与所述已沿边的路径长度之和大于等于总周长;以及继续沿边清扫过程中,机器人的当前角度与记录的所述在起始位置点时的角度之差大于360°;以及继续沿边清扫过程中,机器人的当前位置点在记录的沿边的起始位置点的预设范围内;才能确定机器人已经沿边完成。如果沿边过程中,出现了一些意外(比如陀螺仪坏了),导致三个条件中的某个无法准确得到,则需要增加强制判断条件,即只要机器人的当前角度与记录的所述在起始位置点时的角度之差大于540°,或者继续沿边清扫时所走过的路径长度与所述已沿边的路径长度之和大于总周长的2.5倍,就可确定机器人沿边结束。通过增加强制判断条件,可以有效避免一些意外情况导致机器人无期限沿边的情况,进一步提高了机器人的实用性。

上述实施例中,所述的清扫包括扫地、吸尘和/或擦地等动作。所述的地图是以栅格单元为基本单位的栅格地图。

综上所述,本发明通过利用地图技术和算法策略,使扫地机器人可以进行断点续扫功能,在电池容量少或者电池老化容量变少的情况下也能保证大面积的空间高效全覆盖清扫的效果。

以上实施例仅为充分公开而非限制本发明,凡基于本发明的创作主旨、未经创造性劳动的等效技术特征的替换,应当视为本申请揭露的范围。

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