CN107544517B - 智能清洁机器人的控制方法 - Google Patents
智能清洁机器人的控制方法 Download PDFInfo
- Publication number
- CN107544517B CN107544517B CN201710941879.3A CN201710941879A CN107544517B CN 107544517 B CN107544517 B CN 107544517B CN 201710941879 A CN201710941879 A CN 201710941879A CN 107544517 B CN107544517 B CN 107544517B
- Authority
- CN
- China
- Prior art keywords
- cleaning
- point
- current
- area
- robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明涉及一种智能清洁机器人的控制方法,机器人在接收到外部导航指令时,能够记录当前位置和清扫状态,使得机器人中断清扫,按外部导航指令行走后,还能在后续的行动过程中,根据记录的当前位置和外部导航路径准确找到续扫的位置点,并根据记录的清扫状态确定后续的清扫方式,从而避免漏扫或者重复清扫的问题,提高了机器人的清扫效率以及清扫的全面性和完整性。
Description
技术领域
本发明涉及机器人领域,具体涉及一种智能清洁机器人的控制方法。
背景技术
在扫地机器人的实际使用过程中,很多时候用户需要中断其当前的清扫,比如用遥控器把机器人导航到一个比较脏的地方重点清扫这个区域,因为不是所有机器人都有垃圾检测传感器,在清扫过程中扫地机不知道哪个地方特别脏,所以不会重点在某个区域清扫。还有,用户也可以通过远程遥控,把机器人导航到某一个区域进行清扫,比如某一个房间,这样就可以灵活让用户进行操作。但是目前市面上的扫地机器人在清扫过程中是不能随便被打断的,因为打断后地图会被清掉,无法恢复原来的清扫流程,这样会降低机器人的清扫效率和用户体验。
发明内容
为解决上述问题,本发明提供了一种智能清洁机器人的控制方法,可以提高机器人的清扫效率以及清扫的全面性和完整性。本发明的具体技术方案如下:
一种智能清洁机器人的控制方法,包括如下步骤:
接收外部导航指令;
记录当前位置和清扫状态;
按所述外部导航指令行走,并记录行走的外部导航路径;
接收功能指令,基于记录的当前位置和清扫状态以及外部导航路径,按所述功能指令行动。
进一步地,所述记录当前位置,包括如下步骤:
记录当前位置点的XY坐标信息;
记录当前位置点的角度信息。
进一步地,记录清扫状态,包括如下步骤:
判断当前所处的清扫阶段是否属于局部清扫阶段;
如果是,则记录为局部清扫阶段,并记录当前局部区域的清扫范围和当前全局区域的清扫范围,还要记录当前状态是处于弓字型清扫状态,还是处于绕障清扫状态,以及记录处于弓字型清扫状态时的清扫方向或者处于绕障清扫状态时的绕障方向;
如果否,则判断当前所处的清扫阶段是否属于全局清扫阶段;
如果是,则记录为全局清扫阶段,并记录当前全局区域的清扫范围;
如果否,则记录为全局沿边阶段,并记录沿边的起始位置点、在起始位置点时的角度、已沿边的路径和当前的沿边方向。
进一步地,所述记录当前局部区域的清扫范围,包括如下步骤:
基于机器人在当前局部区域的行走路径,在所述行走路径中确定一个位于最左侧的第一最左位置点,确定一个位于最右侧的第一最右位置点,确定一个位于最上端的第一最上位置点,确定一个位于最下端的第一最下位置点;
基于所述第一最左位置点建立一条虚拟的第一最左竖直线,基于所述第一最右位置点建立一条虚拟的第一最右竖直线,基于所述第一最上位置点建立一条虚拟的第一最上水平线,基于所述第一最下位置点建立一条虚拟的第一最下水平线;
记录所述第一最左竖直线、所述第一最右竖直线、所述第一最上水平线和所述第一最下水平线所围成的区域为所述当前局部区域的清扫范围;
和/或,
所述记录当前全局区域的清扫范围,包括如下步骤:
基于机器人在当前全局区域的行走路径,在所述行走路径中确定一个位于最左侧的第二最左位置点,确定一个位于最右侧的第二最右位置点,确定一个位于最上端的第二最上位置点,确定一个位于最下端的第二最下位置点;
基于所述第二最左位置点建立一条虚拟的第二最左竖直线,基于所述第二最右位置点建立一条虚拟的第二最右竖直线,基于所述第二最上位置点建立一条虚拟的第二最上水平线,基于所述第二最下位置点建立一条虚拟的第二最下水平线;
记录所述第二最左竖直线、所述第二最右竖直线、所述第二最上水平线和所述第二最下水平线所围成的区域为所述当前全局区域的清扫范围。
进一步地,所述接收功能指令,基于所述记录的当前位置和清扫状态以及外部导航路径,按所述功能指令行动,包括如下步骤:
接收功能指令,判断所述功能指令是否为重点清扫指令;
如果是,则进行重点清扫;
如果否,则判断所述功能指令是否为当前点清扫指令;
如果是,则从当前位置点开始进行清扫;
如果否,则判断所述功能指令是否为自动回充指令;
如果是,则自动回座充电;
如果否,则判断所述功能指令是否为记录点续扫指令;
如果是,则根据记录的清扫状态,从当前位置开始进行后续的清扫,或者回到记录的当前位置开始进行后续的清扫;
如果否,则等待下一条功能指令。
进一步地,所述进行重点清扫,包括如下步骤:
以当前位置点为第一参考点,从所述第一参考点开始沿第一方向向前行走设定距离,然后后退至所述第一参考点,再从所述第一参考点开始沿与所述第一方向相反的第二方向后退设定距离,然后向前行走至所述第一参考点;
从所述第一参考点开始沿垂直所述第一方向的第三方向行走设定宽度,然后以当前位置点为第二参考点,从所述第二参考点开始沿第一方向向前行走设定距离,然后后退至所述第二参考点,再从所述第二参考点开始沿所述第二方向后退设定距离,然后向前行走至所述第二参考点;
从所述第二参考点开始沿与第三方向相反的第四方向行走两倍的设定宽度,然后以当前位置点为第三参考点,从所述第三参考点开始沿第一方向向前行走设定距离,然后后退至所述第三参考点,再从所述第三参考点开始沿所述第二方向后退设定距离,然后向前行走至所述第三参考点;
从所述第三参考点开始沿第三方向行走三倍的设定宽度,然后以当前位置点为第四参考点,从所述第四参考点开始沿第一方向向前行走设定距离,然后后退至所述第四参考点,再从所述第四参考点开始沿所述第二方向后退设定距离,然后向前行走至所述第四参考点;
从所述第四参考点开始沿第四方向行走四倍的设定宽度,然后以当前位置点为第五参考点,从所述第五参考点开始沿第一方向向前行走设定距离,然后后退至所述第五参考点,再从所述第五参考点开始沿所述第二方向后退设定距离,然后向前行走至所述第五参考点;
以此类推,至从所述第一参考点开始沿所述第三方向行走的距离达到N倍的设定宽度,重点清扫结束;
其中,所述N为大于1的自然数。
进一步地,所述重点清扫结束后,还包括如下步骤:根据所述记录的清扫状态,从当前位置开始进行后续的清扫,或者回到所述记录的当前位置开始进行后续的清扫。
进一步地,如果机器人在沿所述第一方向向前行走的过程中,检测到障碍物或者悬崖,则直接后退至对应的参考点;
如果机器人在沿所述第二方向后退的过程中,检测到障碍物或者悬崖,则直接向前行走至对应的参考点。
进一步地,所述从当前位置点开始进行清扫,包括如下步骤:
基于机器人最初开始清扫时的最初位置点,确定从所述最初位置点开始的最初清扫角度;
调整机器人在当前位置点的当前清扫角度,使所述当前清扫角度与所述最初清扫角度相同;
开始弓字型清扫,在弓字型清扫过程中,如果检测到连续M个栅格单元为已清扫单元,则停止当前路线的清扫,转入弓字型的下一条路线继续清扫;
其中,M为大于或者等于3的自然数。
进一步地,所述根据所述记录的清扫状态,从当前位置开始进行后续的清扫,或者回到所述记录的当前位置开始进行后续的清扫,包括如下步骤:
判断所述记录的清扫状态是否为局部清扫阶段,如果是,则机器人根据记录的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所构成的方形区域记录为所述当前局部区域的清扫范围。当机器人重新回到续扫的位置点后,继续沿当前的清扫方向(从左向右),按弓字型轨迹进行清扫,清扫至该局部区域的右边界时,再对该局部区域中漏扫的地方(即图中障碍物后方没有弓字型路径的空白区域)进行补扫,以完成对该局部区域的全面清扫。通过位于极端的位置点来确定已经清扫过的清扫范围,机器人可以直接在该确定区域内进行位置和路径的搜索,从而提高机器人的地图搜索效率,同时,机器人续扫时不会重复清扫,提高了机器人的清扫效率。
同理,所述记录当前全局区域的清扫范围,包括如下步骤:基于机器人在当前全局区域的行走路径,在所述行走路径中确定一个位于最左侧的第二最左位置点,确定一个位于最右侧的第二最右位置点,确定一个位于最上端的第二最上位置点,确定一个位于最下端的第二最下位置点;基于所述第二最左位置点建立一条虚拟的第二最左竖直线,基于所述第二最右位置点建立一条虚拟的第二最右竖直线,基于所述第二最上位置点建立一条虚拟的第二最上水平线,基于所述第二最下位置点建立一条虚拟的第二最下水平线;记录所述第二最左竖直线、所述第二最右竖直线、所述第二最上水平线和所述第二最下水平线所围成的区域为所述当前全局区域的清扫范围。当机器人充电后,从当前位置开始搜索地图,通过极端的位置点来确定全局区域中已经清扫过的清扫范围,机器人可以直接在该确定区域内进行位置和路径的搜索,不必全部搜索规划中的全局区域,从而提高机器人的地图搜索效率。并且,通过记录该确定的区域,机器人续扫时就不会重复清扫,提高了机器人的清扫效率。
优选的,所述接收功能指令,基于所述记录的当前位置和清扫状态以及外部导航路径,按所述功能指令行动,包括如下步骤:接收功能指令,判断所述功能指令是否为重点清扫指令;如果是,则进行重点清扫;如果否,则判断所述功能指令是否为当前点清扫指令;如果是,则从当前位置点开始进行清扫;如果否,则判断所述功能指令是否为自动回充指令;如果是,则自动回座充电;如果否,则判断所述功能指令是否为记录点续扫指令;如果是,则根据记录的清扫状态,从当前位置开始进行后续的清扫,或者回到记录的当前位置开始进行后续的清扫;如果否,则等待下一条功能指令。所述功能指令是可以自定义的,可以根据不同需求增加或者删除不同的功能项。机器人接收到不同的功能指令,会根据所述记录的当前位置和清扫状态以及外部导航路径,对应执行不同的功能。
优选的,如图3所示,所述进行重点清扫,包括如下步骤:以当前位置点为第一参考点P1,从所述第一参考点P1开始沿第一方向S1向前行走设定距离,然后后退至所述第一参考点P1,再从所述第一参考点P1开始沿与所述第一方向S1相反的第二方向S2后退设定距离,然后向前行走至所述第一参考点P1;从所述第一参考点P1开始沿垂直所述第一方向S1的第三方向S3行走设定宽度,然后以当前位置点为第二参考点P2,从所述第二参考点P2开始沿第一方向S1向前行走设定距离,然后后退至所述第二参考点P2,再从所述第二参考点P2开始沿所述第二方向S2后退设定距离,然后向前行走至所述第二参考点P2;从所述第二参考点P2开始沿与第三方向S3相反的第四方向S4行走两倍的设定宽度,然后以当前位置点为第三参考点P3,从所述第三参考点P3开始沿第一方向S1向前行走设定距离,然后后退至所述第三参考点P3,再从所述第三参考点P3开始沿所述第二方向S2后退设定距离,然后向前行走至所述第三参考点P3;从所述第三参考点P3开始沿第三方向S3行走三倍的设定宽度,然后以当前位置点为第四参考点P4,从所述第四参考点P4开始沿第一方向S1向前行走设定距离,然后后退至所述第四参考点P4,再从所述第四参考点P4开始沿所述第二方向S2后退设定距离,然后向前行走至所述第四参考点P4;从所述第四参考点P4开始沿第四方向S4行走四倍的设定宽度,然后以当前位置点为第五参考点P5,从所述第五参考点P5开始沿第一方向S1向前行走设定距离,然后后退至所述第五参考点P5,再从所述第五参考点P5开始沿所述第二方向S2后退设定距离,然后向前行走至所述第五参考点P5;以此类推,至从所述第一参考点P1开始沿所述第三方向S3行走的距离达到N倍的设定宽度,重点清扫结束。其中,所述设定距离和设定宽度可以根据不同的要求进行不同的设置,一般设定距离可设置在0.5m至1.5m之间,设定宽度可设置在0.1m至0.3m之间。所述N为大于1的自然数,且N也是可以根据实际要求设置的,一般基于常规家庭的地面,N可以设置为3。当需要重点清扫的区域(即很脏的区域)很大时,用户也可以根据实际面积人工输入设定距离和设定宽度的值以及N的值。此外,机器人采用前进后退的方式,可以极大地提高清扫效率,避免频繁转向所带来的时间浪费,同时,往复行走清扫可以提高清扫的干净度。当然,除了上述方式进行重点清扫之外,还可以采用螺旋方式进行重点清扫,即以当前点为原点,逐渐螺旋向外行走清扫,到达一定半径后,又按原路逐渐螺旋向内回到原点,以此反复,可以将重点清扫区域打扫得很干净。
其中,重点清扫结束后,还包括如下步骤:根据所述记录的清扫状态,从当前位置开始进行后续的清扫,或者回到所述记录的当前位置开始进行后续的清扫。该步骤的具体实施方式与后面所述的接收记录点续扫指令后的续扫方式相同。
其中,如果机器人在沿所述第一方向S1向前行走的过程中,检测到障碍物或者悬崖(即指悬空的地方),则直接后退至对应的参考点。如果机器人在沿所述第二方向S2后退的过程中,检测到障碍物或者悬崖,则直接向前行走至对应的参考点。由于机器人在重点清扫过程中,是针对垃圾较多的特定范围进行清扫,一般该范围都比较小,所以不用像局部区域清扫和全局区域清扫那样,需要考虑是否绕过障碍物的问题,以此进一步提高重点清扫的效率。
优选的,所述从当前位置点开始进行清扫,包括如下步骤:基于机器人最初开始清扫时的最初位置点,确定从所述最初位置点开始的最初清扫角度;调整机器人在当前位置点的当前清扫角度,使所述当前清扫角度与所述最初清扫角度相同;开始弓字型清扫,在弓字型清扫过程中,如果检测到连续M个栅格单元为已清扫单元,则停止当前路线的清扫,转入弓字型的下一条路线继续清扫。其中,M为大于或者等于3的自然数。当机器人收到当前位置点开始进行清扫的指令,意味着从这个位置开始重新清扫,但是,原来扫过的区域的地图依然需要保留,而且所有的方位信息需要继承,否则,机器人重新开始清扫后,又会再次对原来已经清扫过的区域再次清扫,导致清扫效率低下。所以本发明所述的方法,通过记录最初开始清扫时的最初位置点和最初清扫角度,使得后续重新清扫时,按照相同的清扫角度进行,可以实现当前清扫方式与原来的清扫方式相融合,所形成的地图也能继承续接,从而可以有效避免重复清扫的问题,清扫效率大大提高。比如最初开始清扫时的起点方位是(x0,y0,theta0),现在开始清扫的起点方位是(x1,y1,theta1),为了保证地图的继承性,设置theta1=theta0。其中,theta表示机器人的陀螺仪所检测到的角度值。当弓字型清扫过程中,机器人判断前方连续3(3即为M的值,也可以根据不同要求把3设置为其它值)个栅格单元是否已经被扫过,如果扫过(机器人会在地图中把已清扫过的栅格单元标示为已清扫单元),则停止继续往前扫,转入弓字型的下一条路线继续清扫,避免重复清扫。
优选的,所述根据所述记录的清扫状态,从当前位置开始进行后续的清扫,或者回到所述记录的当前位置开始进行后续的清扫,包括如下步骤:判断所述记录的清扫状态是否为局部清扫阶段,如果是,则机器人根据记录的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倍,就可确定机器人沿边结束。通过增加强制判断条件,可以有效避免一些意外情况导致机器人无期限沿边的情况,进一步提高了机器人的实用性。
上述实施例中,所述的清扫包括扫地、吸尘和/或擦地等清洁动作。所述的地图是以栅格单元为基本单位的栅格地图。
以上实施例仅为充分公开而非限制本发明,凡基于本发明的创作主旨、未经创造性劳动的等效技术特征的替换,应当视为本申请揭露的范围。
Claims (10)
1.一种智能清洁机器人的控制方法,其特征在于,包括如下步骤:
接收外部导航指令,所述外部导航指令是通过机器人遥控器上的方向键产生的导航指令,或者是通过智能手机产生的导航指令;
记录当前位置和清扫状态;
按所述外部导航指令行走,并记录行走的外部导航路径;
接收功能指令,基于记录的当前位置和清扫状态以及外部导航路径,按所述功能指令行动;
所述记录当前位置,包括如下步骤:
记录当前位置点的XY坐标信息;
记录当前位置点的角度信息;
如果所述功能指令是记录点续扫指令,则根据记录的清扫状态,从当前位置开始进行后续的清扫,或者回到记录的当前位置开始进行后续的清扫;
所述根据所述记录的清扫状态,从当前位置开始进行后续的清扫,或者回到所述记录的当前位置开始进行后续的清扫,包括如下步骤:
判断所述记录的清扫状态是否为局部清扫阶段,如果是,则机器人根据记录的XY坐标信息和角度信息回到所述记录的当前位置,并判断所记录的当前状态是否处于弓字型清扫状态,如果是,则按照记录的清扫方向继续清扫,如果否,则确定所记录的当前状态处于绕障清扫状态,按照记录的绕障方向继续清扫;
如果否,则判断所述记录的清扫状态是否为全局清扫阶段,如果是,则机器人搜索全局地图,然后从当前位置开始,自动导航至搜索出来的漏扫区域继续进行清扫;
如果否,则确定所述记录的清扫状态为全局沿边阶段,则机器人根据记录的XY坐标信息和角度信息回到所述记录的当前位置,然后按记录的沿边方向继续进行清扫。
2.根据权利要求1所述的方法,其特征在于,记录清扫状态,包括如下步骤:
判断当前所处的清扫阶段是否属于局部清扫阶段;
如果是,则记录为局部清扫阶段,并记录当前局部区域的清扫范围和当前全局区域的清扫范围,还要记录当前状态是处于弓字型清扫状态,还是处于绕障清扫状态,以及记录处于弓字型清扫状态时的清扫方向或者处于绕障清扫状态时的绕障方向;
如果否,则判断当前所处的清扫阶段是否属于全局清扫阶段;
如果是,则记录为全局清扫阶段,并记录当前全局区域的清扫范围;
如果否,则记录为全局沿边阶段,并记录沿边的起始位置点、在起始位置点时的角度、已沿边的路径和当前的沿边方向。
3.根据权利要求2所述的方法,其特征在于:
所述记录当前局部区域的清扫范围,包括如下步骤:
基于机器人在当前局部区域的行走路径,在所述行走路径中确定一个位于最左侧的第一最左位置点,确定一个位于最右侧的第一最右位置点,确定一个位于最上端的第一最上位置点,确定一个位于最下端的第一最下位置点;
基于所述第一最左位置点建立一条虚拟的第一最左竖直线,基于所述第一最右位置点建立一条虚拟的第一最右竖直线,基于所述第一最上位置点建立一条虚拟的第一最上水平线,基于所述第一最下位置点建立一条虚拟的第一最下水平线;
记录所述第一最左竖直线、所述第一最右竖直线、所述第一最上水平线和所述第一最下水平线所围成的区域为所述当前局部区域的清扫范围;
和/或,
所述记录当前全局区域的清扫范围,包括如下步骤:
基于机器人在当前全局区域的行走路径,在所述行走路径中确定一个位于最左侧的第二最左位置点,确定一个位于最右侧的第二最右位置点,确定一个位于最上端的第二最上位置点,确定一个位于最下端的第二最下位置点;
基于所述第二最左位置点建立一条虚拟的第二最左竖直线,基于所述第二最右位置点建立一条虚拟的第二最右竖直线,基于所述第二最上位置点建立一条虚拟的第二最上水平线,基于所述第二最下位置点建立一条虚拟的第二最下水平线;
记录所述第二最左竖直线、所述第二最右竖直线、所述第二最上水平线和所述第二最下水平线所围成的区域为所述当前全局区域的清扫范围。
4.根据权利要求1所述的方法,其特征在于:所述接收功能指令,基于所述记录的当前位置和清扫状态以及外部导航路径,按所述功能指令行动,包括如下步骤:
接收功能指令,判断所述功能指令是否为重点清扫指令;
如果是,则进行重点清扫;
如果否,则判断所述功能指令是否为当前点清扫指令;
如果是,则从当前位置点开始进行清扫;
如果否,则判断所述功能指令是否为自动回充指令;
如果是,则自动回座充电;
如果否,则判断所述功能指令是否为记录点续扫指令;
如果否,则等待下一条功能指令。
5.根据权利要求4所述的方法,其特征在于:所述进行重点清扫,包括如下步骤:
以当前位置点为第一参考点,从所述第一参考点开始沿第一方向向前行走设定距离,然后后退至所述第一参考点,再从所述第一参考点开始沿与所述第一方向相反的第二方向后退设定距离,然后向前行走至所述第一参考点;
从所述第一参考点开始沿垂直所述第一方向的第三方向行走设定宽度,然后以当前位置点为第二参考点,从所述第二参考点开始沿第一方向向前行走设定距离,然后后退至所述第二参考点,再从所述第二参考点开始沿所述第二方向后退设定距离,然后向前行走至所述第二参考点;
从所述第二参考点开始沿与第三方向相反的第四方向行走两倍的设定宽度,然后以当前位置点为第三参考点,从所述第三参考点开始沿第一方向向前行走设定距离,然后后退至所述第三参考点,再从所述第三参考点开始沿所述第二方向后退设定距离,然后向前行走至所述第三参考点;
从所述第三参考点开始沿第三方向行走三倍的设定宽度,然后以当前位置点为第四参考点,从所述第四参考点开始沿第一方向向前行走设定距离,然后后退至所述第四参考点,再从所述第四参考点开始沿所述第二方向后退设定距离,然后向前行走至所述第四参考点;
从所述第四参考点开始沿第四方向行走四倍的设定宽度,然后以当前位置点为第五参考点,从所述第五参考点开始沿第一方向向前行走设定距离,然后后退至所述第五参考点,再从所述第五参考点开始沿所述第二方向后退设定距离,然后向前行走至所述第五参考点;
以此类推,至从所述第一参考点开始沿所述第三方向行走的距离达到N倍的设定宽度,重点清扫结束;
其中,所述N为大于1的自然数。
6.根据权利要求5所述的方法,其特征在于:所述重点清扫结束后,还包括如下步骤:
根据所述记录的清扫状态,从当前位置开始进行后续的清扫,或者回到所述记录的当前位置开始进行后续的清扫。
7.根据权利要求5所述的方法,其特征在于:
如果机器人在沿所述第一方向向前行走的过程中,检测到障碍物或者悬崖,则直接后退至对应的参考点;
如果机器人在沿所述第二方向后退的过程中,检测到障碍物或者悬崖,则直接向前行走至对应的参考点。
8.根据权利要求4所述的方法,其特征在于:所述从当前位置点开始进行清扫,包括如下步骤:
基于机器人最初开始清扫时的最初位置点,确定从所述最初位置点开始的最初清扫角度;
调整机器人在当前位置点的当前清扫角度,使所述当前清扫角度与所述最初清扫角度相同;
开始弓字型清扫,在弓字型清扫过程中,如果检测到连续M个栅格单元为已清扫单元,则停止当前路线的清扫,转入弓字型的下一条路线继续清扫;
其中,M为大于或者等于3的自然数。
9.根据权利要求4或6所述的方法,其特征在于:所述机器人搜索全局地图,然后从当前位置开始,自动导航至搜索出来的漏扫区域继续进行清扫,包括如下步骤:
基于搜索的全局地图,确定已清扫区和未清扫区的入口边界;
基于每条所述入口边界的两端的端点分别作为两个入口参考点;
以当前位置作为坐标原点建立XY轴坐标系;分析同一条所述入口边界的两个所述入口参考点的坐标位置;当两个所述入口参考点的X轴值相同,则选择与当前位置距离最近的所述入口参考点作为最佳入口点;当两个所述入口参考点的Y轴值相同,则选择与当前位置距离最近的所述入口参考点作为最佳入口点;当两个所述入口参考点的X轴值和Y轴值都不相同,则判断未清扫区与已清扫区的位置关系;如果未清扫区在已清扫区的左边,则选择X轴值大的所述入口参考点作为最佳入口点;如果未清扫区在已清扫区的右边,则选择X轴值小的所述入口参考点作为最佳入口点;
在一个未清扫区中选择一个与当前位置距离最近的所述最佳入口点作为优先清扫参考点,选择与当前位置距离最近的两个所述优先清扫参考点;判断当前位置分别到两个所述优先清扫参考点的距离差值是否小于预设距离值;如是,则选择长度较长的所述入口边界所对应的所述优先清扫参考点作为清扫起始点;如否,则选择与当前位置的距离最近的那一个所述优先清扫参考点作为清扫起始点;
从当前位置行走至所述清扫起始点,判断所述清扫起始点所在的所述入口边界的两个端点的位置关系;当两个端点的X轴值相同时,则从清扫起始点开始,直接朝所述入口边界的另一个端点行走,按弓字型的轨迹形式清扫未清扫区;当两个端点的Y轴值相同时;如果未清扫区位于所述入口边界的上方,则从清扫起始点开始,沿Y轴正方向行走,按弓字型的轨迹形式清扫未清扫区;如果未清扫区位于所述入口边界的下方,则从清扫起始点开始,沿Y轴负方向行走,按弓字型的轨迹形式清扫未清扫区;当两个端点的X轴值和Y轴值都不相同时,则从清扫起始点开始,沿垂直另一个端点所在的X轴的方向行走,按弓字型的轨迹形式清扫未清扫区;
清扫完毕后,再确定下一个最佳入口点为下一个优先清扫区的清扫起始点,以此类推,至所有满足未清扫区清扫条件的未清扫区都清扫完毕,则全局清扫阶段结束。
10.根据权利要求4或6所述的方法,其特征在于:所述按记录的沿边方向继续进行清扫的步骤之后,还包括如下步骤:
判断继续沿边清扫时所走过的路径长度与已沿边的路径长度之和是否大于等于总周长;以及判断继续沿边清扫过程中,机器人的当前角度与记录的在起始位置点时的角度之差是否大于360°;以及判断继续沿边清扫过程中,机器人的当前位置点是否在记录的沿边的起始位置点的预设范围内;
如果判断结果都为是,则沿边结束;
如果判断结果有一个为否,则继续沿边,当继续沿边清扫过程中,机器人的当前角度与记录的在起始位置点时的角度之差大于540°,或者继续沿边清扫时所走过的路径长度与已沿边的路径长度之和大于总周长的2.5倍,则沿边结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710941879.3A CN107544517B (zh) | 2017-10-11 | 2017-10-11 | 智能清洁机器人的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710941879.3A CN107544517B (zh) | 2017-10-11 | 2017-10-11 | 智能清洁机器人的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107544517A CN107544517A (zh) | 2018-01-05 |
CN107544517B true CN107544517B (zh) | 2021-06-01 |
Family
ID=60967022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710941879.3A Active CN107544517B (zh) | 2017-10-11 | 2017-10-11 | 智能清洁机器人的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107544517B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11009882B2 (en) * | 2018-01-12 | 2021-05-18 | Pixart Imaging Inc. | Method, system for obstacle detection and a sensor subsystem |
CN108261146A (zh) * | 2018-01-18 | 2018-07-10 | 安徽三弟电子科技有限责任公司 | 自记录智能扫地机扫行方法及其控制*** |
CN108189039B (zh) * | 2018-02-09 | 2020-05-12 | 意诺科技有限公司 | 一种移动机器人的行进方法及装置 |
CN108549379A (zh) * | 2018-05-04 | 2018-09-18 | 安徽三弟电子科技有限责任公司 | 一种基于时控预约的扫地机器人调控*** |
CN108445889B (zh) * | 2018-05-15 | 2021-06-29 | 深圳市无限动力发展有限公司 | 一种基于智能音响辅助扫地机清扫的方法及其*** |
CN108634886B (zh) * | 2018-05-29 | 2020-08-28 | 珠海市一微半导体有限公司 | 机器人清扫中断后的控制方法及芯片 |
CN108888187A (zh) * | 2018-05-31 | 2018-11-27 | 四川斐讯信息技术有限公司 | 一种基于深度相机的扫地机器人 |
CN110946513B (zh) * | 2018-09-27 | 2021-08-06 | 广东美的生活电器制造有限公司 | 扫地机器人的控制方法及装置 |
CN109124499B (zh) * | 2018-10-23 | 2023-10-24 | 珠海一微半导体股份有限公司 | 一种基于清洁机器人的清扫控制方法及芯片 |
CN111123905B (zh) * | 2018-10-31 | 2022-08-26 | 苏州科瓴精密机械科技有限公司 | 行走机器人的控制方法及*** |
CN111166244A (zh) * | 2018-11-12 | 2020-05-19 | 北京奇虎科技有限公司 | 指定区域清扫的方法、装置及电子设备 |
CN109298716B (zh) * | 2018-11-23 | 2022-10-14 | 珠海一微半导体股份有限公司 | 一种机器人的规划清扫方法和芯片 |
CN109298718A (zh) * | 2018-11-24 | 2019-02-01 | 珠海市微半导体有限公司 | 智能机器人的补扫方法和芯片以及智能机器人 |
CN109298717A (zh) * | 2018-11-24 | 2019-02-01 | 珠海市微半导体有限公司 | 智能机器人的清扫方法和芯片以及智能清洁机器人 |
CN111657791A (zh) * | 2019-03-07 | 2020-09-15 | 北京奇虎科技有限公司 | 一种遥控清扫方法和装置 |
CN109798901B (zh) * | 2019-03-18 | 2022-08-12 | 国网江苏省电力有限公司电力科学研究院 | 一种档案用机器人及其导航定位***及导航定位方法 |
CN109984684B (zh) * | 2019-04-11 | 2021-04-27 | 云鲸智能科技(东莞)有限公司 | 清洁控制方法、装置、清洁机器人和存储介质 |
CN112967002A (zh) * | 2019-06-29 | 2021-06-15 | 深圳市海柔创新科技有限公司 | 取货任务分配方法及其货品分拣*** |
CN110179406A (zh) * | 2019-07-03 | 2019-08-30 | 李滢建 | 一种用于公司大楼自动化扫地机器人 |
CN110362079B (zh) * | 2019-07-11 | 2022-07-08 | 珠海一微半导体股份有限公司 | 机器人的遍历控制方法和芯片以及清洁机器人 |
CN111061263B (zh) * | 2019-11-27 | 2023-11-28 | 小狗电器互联网科技(北京)股份有限公司 | 机器人清扫绕障的方法和扫地机器人 |
CN111552290B (zh) * | 2020-04-30 | 2023-09-05 | 珠海一微半导体股份有限公司 | 一种机器人沿墙找直线的方法及清扫方法 |
CN111930111B (zh) * | 2020-06-23 | 2024-04-02 | 深圳拓邦股份有限公司 | 一种清洁机器人路径规划方法及清洁机器人 |
CN111759241B (zh) * | 2020-06-24 | 2021-10-15 | 湖南格兰博智能科技有限责任公司 | 一种扫地机器人清扫路径规划及导航控制方法 |
CN112859848B (zh) * | 2021-01-06 | 2023-03-10 | 国电内蒙古东胜热电有限公司 | 管道机器人的无线导航方法及*** |
CN114557641B (zh) * | 2022-02-25 | 2023-07-25 | 杭州萤石软件有限公司 | 机器人清扫控制方法、机器人及机器可读存储介质 |
CN114934489B (zh) * | 2022-04-28 | 2023-03-28 | 中国地质大学(武汉) | 一种多智能体分布式海洋油污清扫方法 |
CN115443793B (zh) * | 2022-08-18 | 2024-04-30 | 深圳拓邦股份有限公司 | 一种割草机及割草机路径规划方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2004202834B2 (en) * | 2003-07-24 | 2006-02-23 | Samsung Gwangju Electronics Co., Ltd. | Robot Cleaner |
CN102138769B (zh) * | 2010-01-28 | 2014-12-24 | 深圳先进技术研究院 | 清洁机器人及其清扫方法 |
CN103217926B (zh) * | 2012-01-20 | 2015-08-19 | 苏州宝时得电动工具有限公司 | 自动工作设备及其控制方法 |
TWM451103U (zh) * | 2012-10-30 | 2013-04-21 | Agait Technology Corp | 行走裝置 |
CN104188598B (zh) * | 2014-09-15 | 2016-09-07 | 湖南格兰博智能科技有限责任公司 | 一种自动地面清洁机器人 |
CN104199449A (zh) * | 2014-09-16 | 2014-12-10 | 湖南格兰博智能科技有限责任公司 | 一种基于智能手机的自动地面清洁机器人遥控***及方法 |
CN105739500B (zh) * | 2016-03-29 | 2020-06-30 | 海尔优家智能科技(北京)有限公司 | 一种智能扫地机器人的交互控制方法及装置 |
CN106805856A (zh) * | 2016-12-31 | 2017-06-09 | 鸿奇机器人股份有限公司 | 控制清洁机器人的方法 |
-
2017
- 2017-10-11 CN CN201710941879.3A patent/CN107544517B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107544517A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107544517B (zh) | 智能清洁机器人的控制方法 | |
CN107703930B (zh) | 机器人的续扫控制方法 | |
JP7212074B2 (ja) | 自律移動ロボットの縁沿い走行の制御方法 | |
US11774980B2 (en) | Method for controlling cleaning of robot, chip, and robot cleaner | |
JP6622215B2 (ja) | 自走式ロボットの障害物回避走行方法 | |
CN111857127B (zh) | 一种机器人沿边行走的清洁分区规划方法、芯片及机器人 | |
CN108634886B (zh) | 机器人清扫中断后的控制方法及芯片 | |
CN214484411U (zh) | 自主式地板清洁器 | |
CN106970623B (zh) | 智能清洁装置及其网格路径作业方法 | |
CN107678429B (zh) | 一种机器人的控制方法及芯片 | |
CN103349531B (zh) | 机器人吸尘器的侧边回归充电方法 | |
KR101403954B1 (ko) | 로봇청소기 시스템의 제어방법 | |
CN110772178A (zh) | 扫地机清扫的方法、装置、计算机设备和存储介质 | |
CN109997089A (zh) | 地面处理机和地面处理方法 | |
JP7204990B2 (ja) | 自律移動ロボットのための地図作成 | |
JP2017511549A5 (zh) | ||
CN108852174B (zh) | 自主移动机器人及其寻桩方法、控制装置和智能清洁*** | |
CN103054519A (zh) | 机器人吸尘器以及用于控制该机器人吸尘器的方法 | |
CN108873879B (zh) | 自主移动机器人及其寻桩方法、控制装置和智能清洁*** | |
CN108931980B (zh) | 机器人内建地图的标记方法和芯片及室内清洁机器人 | |
CN109298716B (zh) | 一种机器人的规划清扫方法和芯片 | |
KR100963781B1 (ko) | 로봇 청소기의 제어방법 | |
CN114601399A (zh) | 清洁设备的控制方法、装置、清洁设备和存储介质 | |
WO2024051705A1 (zh) | 清洁机器人及其控制方法、装置、***及存储介质 | |
KR102521940B1 (ko) | 로봇 청소기 및 그 로봇 청소기의 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |