机器人清洁器及其控制方法 【技术领域】
实施例涉及采用改进的行进模式的机器人清洁器及其控制方法。背景技术 一般的, 机器人清洁器是指这样的器械 : 其无使用者操纵, 而在某一待清洁区域自 动行进的同时, 从地上吸入诸如灰尘等杂质, 以进行清洁操作。
机器人清洁器沿着预定的行进方式在待清洁区域行进的同时, 重复清洁操作。现 有的代表性的行进模式是之字形行进模式和随机行进模式。在之字形行进方式中, 当机器 人清洁器在直线行进中遭遇障碍物 ( 例如墙壁 ) 时, 机器人转动 90 度。另一方面, 在随机 行进模式中, 当机器人在直线行进中遭遇障碍物 ( 例如墙壁 ) 时, 机器人在随机方向转动, 并再次直线行进。
发明内容 在一个或多个实施例的一个方面, 提供了一种机器人清洁器及其控制方法, 所述 机器人清洁器采用之字形行进模式, 使得不管机器人清洁器与墙壁的碰撞角度, 机器人清 洁器能够在与前进到墙壁的行进路径保持指定间距的同时进行之字形行进。
在一个或多个实施例的一个方面, 提供了一种机器人清洁器及其控制方法, 所述 机器人清洁器采用改进的之字形行进模式, 使得如果机器人清洁器在之字形行进期间感应 到障碍物, 机器人清洁器也能保持之字形行进模式。
在一个或多个实施例的一个方面, 提供了一种机器人清洁器及其控制方法, 所述 机器人清洁器以之字形行进作为基本清洁行进方式进行清洁操作, 并以随机行进作为结束 清洁行进方式进行清洁操作, 以清洁之字形行进时跳过的区域。
在一个或多个实施例的一个方面, 提供了一种机器人清洁器的控制方法, 所述方 法包括进行之字形行进, 所述之字形行进包括第一行进和第二行进 ; 所述第一行进使得机 器人清洁器能从待清洁区域中的一点, 朝向指定墙壁行进 ; 所述第二行进使得机器人清洁 器在第一行进后更远地离开所述指定墙壁 ; 重复所述第一行进和所述第二行进 ; 其中, 所 述第一行进路径和所述第二行进路径相互各自保持指定间距。
所述第一行进路径和墙壁之间的角度可处于 0 ~ 180°的范围内。所述第一行进 路径和所述第二行进路径之间的指定间距的保持包括 : 所述第二行进路径保持与所述第一 行进路径的第一指定间距, 以及所述第一行进路径保持与所述第二行进路径的第二指定间 距。
可进行所述第二行进, 直至所述第二行进路径的距离达到第三指定距离。所述之 字形行进可还包括第三行进, 以使得所述机器人清洁器能在所述第二行进后改变方向, 然 后行进直到所述机器人清洁器与所述第二行进的路径间隔第二指定间距。
所述之字形行进可通过以下过程进行 : 如果所述机器人清洁器在所述之字形行进 期间遇到障碍物, 进行障碍物跟随行进 ; 获得所述机器人清洁器与所述之字形行进路径的
间隔距离 ; 如果所述间隔距离达到零, 则使所述机器人清洁器在与障碍物跟随行进前的之 字形行进路径平行的方向行进。
所述之字形行进可通过以下过程进行 : 如果所述机器人清洁器在所述第一行进期 间遇到障碍物, 则进行障碍物跟随行进 ; 获得所述机器人清洁器与所述第一行进路径的间 隔距离 ; 如果所述间隔距离达到所述第一指定间距, 则进行所述第二行进。
进行障碍物行进可指沿障碍物的边行进。
所述之字形行进可通过以下过程进行 : 如果所述机器人清洁器在所述第二行进期 间遇到障碍物, 则进行障碍物跟随行进 ; 获得所述机器人清洁器与所述第二行进路径的间 隔距离 ; 如果所述间隔距离达到所述第二指定间距, 则进行所述第一行进。
所述之字形行进可通过以下过程进行 : 如果所述机器人清洁器在所述第二行进期 间遇到障碍物, 则进行障碍物跟随行进 ; 如果所述第二行进的距离和所述机器人清洁器在 障碍物跟随行进期间在所述第二行进方向行进的距离的总和达到所述第三指定距离, 则进 行所述第三行进。
所述之字形行进可通过以下过程进行 : 如果所述机器人清洁器在所述第三行进期 间遇到障碍物, 则进行障碍物跟随行进 ; 如果所述第三行进的距离和所述机器人清洁器在 障碍物跟随行进期间在所述第三行进方向行进的距离的总和达到所述第二指定间距, 则进 行所述第一行进。
所述之字形行进可通过以下过程进行 : 如果所述机器人清洁器在所述第二行进期 间遇到障碍物, 则进行障碍物跟随行进 ; 如果所述机器人清洁器的前进方向处于以所述第 二行进方向为基准的指定角度范围内, 则所述机器人清洁器在当前位置上进行所述第三行 进。
所述之字形行进可通过以下过程进行 : 如果所述机器人清洁器在所述第三行进期 间遇到障碍物, 则进行障碍物跟随行进 ; 如果所述机器人清洁器的前进方向处于以所述第 三行进方向为基准的指定角度范围内, 则所述机器人清洁器在当前位置上进行所述第三行 进。
所述之字形行进可通过以下过程进行 : 如果机器人清洁器在所述第一行进期间遇 到障碍物, 则进行障碍物跟随行进 ; 如果所述机器人清洁器的前进方向处于以所述第一行 进方向为基准的指定角度范围内, 则所述机器人清洁器在当前位置上进行所述第一行进。
所述之字形行进可通过以下过程进行 : 如果所述机器人清洁器在所述第二行进和 所述第三行进期间遇到障碍物, 则进行障碍物跟随行进 ; 如果所述机器人清洁器的前进方 向处于以所述第二行进和所述第三行进为基准的指定角度范围内, 或如果所述障碍物跟随 行进的距离大于第四指定距离, 则改变所述机器人清洁器的方向, 然后沿改变后的方向进 行障碍物跟随行进。
如果机器人清洁器与一点间隔第一指定间距, 可进行所述第二行进, 所述点在所 述机器人清洁器开始障碍物跟随行进的点与所述机器人清洁器沿在改变后的方向上开始 障碍物跟随行进的点之间。
所述之字形行进可通过以下过程进行 : 如果所述机器人清洁器在所述第二行进和 所述第三行进期间遇到障碍物, 则进行障碍物跟随行进 ; 获得所述机器人清洁器与所述第 二行进路径的间隔距离 ; 如果所述间隔距离达到零, 则改变所述机器人清洁器的方向, 然后沿改变后的方向进行障碍物跟随行进。
如果机器人清洁器与一点间隔第一指定间距, 可进行所述第二行进, 所述点介于 所述机器人清洁器开始障碍物跟随行进的点与所述机器人清洁器在改变后的方向上开始 障碍物跟随行进的点之间的。
所述之字形行进可通过以下过程进行 : 如果机器人清洁器在所述之字形行进期间 遇到障碍物, 则障碍物跟随行进 ; 在障碍物跟随行进期间, 根据障碍物跟随行进前的所述之 字形行进路径, 判断所述机器人清洁器是否进入与所述之字形行进的方向相反的区域 ; 如 果所述机器人清洁器与障碍物跟随行进前的所述之字形行进的路径间隔指定间距, 或者所 述机器人清洁器的前进方向达到指定方向, 则改变所述机器人清洁器的方向至相反方向, 而沿相反方向进行之字形行进。
如果所述机器人清洁器与所述之字形行进路径的间隔距离达到零, 且所述机器人 清洁器的前进方向处于以障碍物跟随行进前的所述之字形行进路径为基准的指定角度内, 可在障碍物跟随行进期间, 基于障碍物跟随行进前的所述之字形行进的路径, 判断所述机 器人清洁器进入与所述之字形行进方向相反的区域。
所述控制方法可还包括 : 如果所述之字形行进方向改变的次数超过指定次数, 或 所述之字形行进的时间达到指定时间, 则判断到达结束之字形行进的时间 ; 进行作为结束 清洁行进方式的随机行进, 以进行清洁。 所述控制方法可还包括 : 如果根据与随机行进的平均直线行进距离成比例所确定 的指定时间过去, 则判断到达结束随机行进的时间。
在一个或多个实施例的一个方面, 其提供了一种机器人清洁器, 包括 : 主体, 其构 成所述机器人清洁器的外部形状 ; 驱动轮, 其安装在所述主体上 ; 以及控制单元, 用以控制 所述驱动轮, 使得所述主体能够沿直线运动或转动, 其中, 所述控制单元通过重复第一行进 和第二行进以进行之字形行进 ; 所述第一行进使得机器人清洁器能从待清洁区域中的一点 朝向指定墙壁行进 ; 所述第二行进使得机器人清洁器能在第一行进后更远地离开所述指定 墙壁 ; 以及, 所述第一行进路径和所述第二行进路径相互各自保持指定间距。
所述控制单元可进一步进行作为结束清洁行进方式的随机行进, 以进行清洁。
根据一个或多个实施例的另一方面, 提供至少一种用于存储计算机可读指令的计 算机可读介质, 以实施一个或多个实施例的方法。
附图说明 通过以下结合附图所做的说明, 具体实施例的这些以及其他方面将变得更加清楚 并更易于理解。
图 1 是根据实施例的机器人清洁器的俯视透视图 ;
图 2 是根据实施例的机器人清洁器的仰视透视图 ;
图 3 是根据实施例的机器人清洁器的控制方框图 ;
图 4 是示出根据实施例的机器人清洁器的基本之字形行进轨迹的视图 ;
图 5 是示出根据实施例的机器人清洁器的第一障碍物避开行进轨迹的视图 ;
图 6 是示出根据实施例的机器人清洁器的第二障碍物避开行进轨迹的视图 ;
图 7 是示出根据实施例的机器人清洁器的第三障碍物避开行进轨迹的视图 ;
图 8 是示出根据实施例的机器人清洁器的第四障碍物避开行进轨迹的视图 ; 图 9 是示出根据实施例的机器人清洁器的第五障碍物避开行进轨迹的视图 ; 图 10 是示出根据实施例的机器人清洁器的第六障碍物避开行进轨迹的视图 ; 图 11 是示出根据实施例的机器人清洁器的第七障碍物避开行进轨迹的视图 ; 图 12 是示出根据实施例的机器人清洁器的第一之字形行进方向改变轨迹的视 图 13 是示出根据实施例的机器人清洁器的第二之字形行进方向改变轨迹的视 图 14 是示出根据实施例的随机行进轨迹的视图 ; 图 15 是示出根据实施例的第一之字形行进轨迹的视图 ; 图 16 是示出根据实施例的第二之字形行进轨迹的视图 ; 图 17 是示出根据实施例的第三之字形行进轨迹的视图 ; 以及 图 18 是示出根据实施例的全部清洁行进轨迹的视图。图;
图;
具体实施方式
现将对实施例进行详细介绍, 其实例已在附图中示出, 其中相似的标号指示相似的部件。 图 1 是根据实施例的机器人清洁器的俯视透视图 ; 图 2 是根据实施例的机器人清 洁器的仰视透视图。
如图 1 和图 2 所示, 根据实施例的机器人清洁器 7 包括 : 主体 10, 其构成机器人清 洁器 7 外形 ; 驱动装置 20, 其安装在主体 10 的下部, 以驱动机器人清洁器 7 ; 刷装置 30 和 40, 以从机器人清洁器 7 行进于其上的地面上扫去或除去灰尘, 以便完成清洁。
除驱动装置 20 和刷装置 30 和 40 之外, 主体 10 上还安装着接触传感器和接近传 感器以感应障碍物。例如, 安装在主体 10 前部的缓冲器 11 可用来感应诸如墙壁等障碍物, 安装在主体 10 底部的红外传感器 ( 或超声波传感器 ) 可用来感应诸如楼梯等障碍物。主 体 10 上还可以安装着显示装置 12, 以告知使用者机器人清洁器 7 的状态或操作。
驱动装置 20 包括 : 一对安装在主体 10 中部两侧的驱动轮 21 和 22, 以调整机器人 清洁器 7 的运动 ; 安装在主体 10 前部的自由轮 23, 以根据机器人清洁器 7 移动于其上的地 面的情况而改变转动角度。自由轮 23 支撑着机器人清洁器 7, 并被用来稳定机器人清洁器 7 的姿势或防止机器人清洁器 7 翻倒。自由轮 23 可包括一个滚轮或脚轮形状的轮子。
根据将在后面说明的控制单元 110 的命令, 可向前或向后驱动驱动轮 21 和 22, 进 而调整机器人清洁器 7 的运动。例如, 向前或向后驱动驱动轮 21 和 22 这两者, 从而向前或 向后移动机器人清洁器 7 ; 进一步, 向前驱动右驱动轮 22 而向后驱动左驱动轮 21, 进而使机 器人清洁器 7 向左转动。另一方面, 从机器人清洁器 7 的前部看去, 向后驱动右驱动轮 22 而向前驱动左驱动轮 21, 从而向右转动机器人清洁器 7。
刷装置 30 和 40 包括 : 主刷单元 30, 其从地面上扫去或除去灰尘 ; 副刷单元 40, 其 安装在主体 10 底部的前部两侧。
主刷单元 30 包括 : 以滚轮型相对于地面转动的鼓形转刷 31( 以下称为 “主刷” ), 以扫去或除去地面上的灰尘 ; 以及用以转动主刷 31 的主刷电机 33。
副刷单元 40 以指定间距安装在主体 10 底部的前部两侧。各副刷单元 40 包括相 对于地面水平转动的转刷 41( 以下称为 “副刷” ) 和用以转动副刷 41 的副刷电机 43。
图 3 是根据实施例的机器人清洁器的控制方框图。机器人清洁器 7 包括 : 输入单 元 100、 障碍物感应单元 102、 行进距离检测单元 104、 行进方向检测单元 106、 控制单元 110、 行进驱动单元 112、 清洁器械驱动单元 114, 以及存储单元 116。
输入单元 110 包括多个设置在主体 10 上部或远程控制器 ( 未示出 ) 上的按钮, 以 接受使用者输入的行进或清洁命令。
障碍物感应单元 102 用于感应设置在机器人清洁器 7 行进的清洁区域内的诸如家 具、 办公设备、 墙壁等障碍物。障碍物感应单元 102 在机器人清洁器 7 的行进路径上发出超 声波并接受障碍物反射的超声波, 进而感应是否出现障碍物以及障碍物的方向。其中, 障 碍物感应单元 102 可包括红外传感器, 该红外传感器包括发射红外线的多个红外线发射元 件, 以及接受障碍物反射的红外线的多个红外线接收单元。
行进距离检测单元 104 用于检测机器人清洁器 7 的行进距离。行进距离检测单元 104 通过编码器测量驱动轮 21 和 22 的转动, 进而检测机器人清洁器 7 的行进距离。
行进方向检测单元 106 用于检测机器人清洁器 7 的移动方向以及机器人清洁器 7 的转动角度。行进方向检测单元 106 可包括诸如陀螺仪传感器等转动角度传感器, 以感应 机器人清洁器 7 的转动角度。 控制单元 110 控制机器人清洁器 7 的总体操作。控制单元 110 控制机器人清洁器 7, 以当向机器人清洁器 7 输入清洁命令时, 机器人清洁器 7 以之字形行进为基本清洁行进 方式进行清洁, 并以随机行进为结束清洁行进方式进行清洁, 以清洁之字形行进时跳过的 区域。
行进驱动单元 112 驱动安装在机器人清洁器 7 的主体 10 底部的驱动轮 21 和 22, 以根据控制单元 110 识别的位置数据或根据障碍物感应单元 102 感应的障碍物数据, 在清 洁区域自动行进时进行例如转动等方向改变, 这样不会与墙壁或障碍物碰撞。
清洁装置驱动单元 114, 根据控制单元 110 的控制信号, 驱动主刷电机 33 和副刷电 机 43, 以从机器人清洁器 7 行进于其上的待清洁区域的地面上吸入诸如灰尘等杂质, 以便 完成清洁操作。
存储单元 116 根据机器人清洁器 7 的清洁指令, 存储给定的行进模式和行进路径, 以及机器人清洁器 7 行进过程中感应到的障碍物数据。
以下将详细说明上述机器人清洁器 7 以及控制其行进的方法。
根据实施例的机器人清洁器 7 以之字形行进方式和随机行进方式进行清洁。此 外, 如果在之字形行进期间感应到障碍物, 机器人清洁器 7 则采用改进的之字形行进方式, 以保持之字形行进模式。首先将说明机器人清洁器 7 的改进的之字形行进方式。
图 4 是示出根据实施例的机器人清洁器的基本之字形行进轨迹的视图。
在图 4 中, 以行进 1、 行进 2、 行进 3、 行进 1 等的次序, 实现机器人清洁器 7 的基本 清洁行进过程。其中, 在行进 1 中, 在机器人清洁器 7 接受到清洁命令的时点, 机器人清洁 器 7 的前进方向被设定为清洁方向。机器人清洁器 7 沿清洁方向移动, 直到机器人清洁器 7 感应到障碍物。在行进 4 中, 当机器人清洁器 7 在行进 2 中感应到障碍物时, 机器人清洁 器 7 改变方向, 进行障碍物跟随行进, 直至到达与行进 1 的直线相距第一指定间隔的点。其
中, 第一指定间隔设定为处于从主刷单元宽度 ( 最小值 : Wmin+α1) 到通过将主刷单元宽度 和副刷单元宽度相加而得的宽度 ( 最大值, Wmin+α2) 的范围内。通过将障碍物跟随距离 和转动角度的累积计算, 而获得关于机器人清洁器 7 是否运动到与行进 1 的直线相距第一 指定间隔的点的判断。在行进 2 中, 机器人清洁器 7 在行进 4 之后沿与行进 1 相反的方向 运动第三指定距离 (Lmax)。其中, 考虑房屋的普通房间尺寸计算, 所述第三指定距离可设 定为 3m。但是, 如果房间尺寸小或大, 第三指定距离可设定为长度大于或小于 3m。在行进 3 中, 机器人清洁器 7 在行进 2 后改变方向, 并移动直至与行进 2 的直线相距第二指定间隔 的点。
在上述行进 1、 4、 2、 3 之前, 分别进行转动 a、 b、 c、 d。在转动 a 中, 机器人清洁器 7 在第三行进后向左转动, 直至机器人清洁器 7 的前进方向与清洁方向重合。在转动 b 中, 机 器人清洁器 7 向右转动, 直到前障碍物传感器感应不到障碍物。此时, 进行第四行进, 即障 碍物跟随行进。第四行进以这样的方式进行 : 如果进行转动 b 且左障碍物传感器感应不到 障碍物, 机器人清洁器 7 向左转动, 直至左障碍物传感器感应到障碍物, 然后向右转动, 直 至左障碍物传感器感应不到障碍物。在转动 c 中, 机器人清洁器 7 在行进 4 后向右转动, 直 至机器人清洁器 7 的前进方向与清洁方向的相反方向重合。在转动 d 中, 机器人清洁器 7 在行进 2 后向左转动, 直至以清洁方向的相反方向为基准, 机器人清洁器 7 的前进方向到达 向左 90°。
通过上述方法, 尽管机器人清洁器 7 相对于墙壁以任意角度行进, 机器人清洁器 7 可在与行进路径保持指定间隔的同时保持之字形行进模式。尽管图 4 示出的之字形行进方 式中, 机器人清洁器 7 在行进 1 后向右转动, 以进行障碍物跟随行进, 机器人清洁器 7 也可 以沿相反方向进行之字形行进方式, 以使得机器人清洁器 7 在行进 1 后向左转动以进行障 碍物跟随行进。在此情况下, 转动 a、 b、 c 和 d 被分别设定, 以使得机器人清洁器 7 转向相反 方向。
图 5 是示出根据实施例的机器人清洁器的第一障碍物避开行进轨迹的视图 ;
图 5 示出的情形中, 尽管机器人清洁器 7 感应到障碍物, 但障碍物足够小, 允许机 器人清洁器 7 在障碍物跟随行进之前回到行进的直线上。
在图 5 中, 当机器人清洁器 7 在行进 1 期间感应到障碍物时, 机器人清洁器 7 沿障 碍物向左方向, 进行障碍物跟随行进, 当机器人清洁器 7 再次遇到行进 1 的路径, 机器人清 洁器 7 在该位置再次完成行进 1。 通过诸如陀螺仪传感器等转动角度传感器和解码器, 实现 关于机器人清洁器 7 在障碍物跟随行进期间是否遇到行进 1 的路径的判断。也就是说, 采 用解码器获得机器人清洁器 7 的障碍物跟随行进的距离, 采用陀螺仪感应器获得机器人清 洁器 7 前进方向的转动角度。当获得了障碍物跟随行进距离和转动角度后, 可以很容易地 计算出机器人清洁器 7 沿行进 1 方向的行进距离和机器人清洁器 7 与行进 1 的路径的间隔 距离。具体地说, 如果间隔距离为零, 则可判断机器人清洁器 7 再次遇到行进 1 的路径。
原则上, 当机器人清洁器在行进 1 中感应到障碍物, 机器人清洁器 7 从行进 1 改变 至行进 4 因而完成行进 1, 即障碍物跟随行进, 直至机器人清洁器 7 遇到下一行进的直线, 即 行进 2 的路径。但是, 如果存在如图 5 所示的障碍物, 尽管机器人清洁器 7 继续障碍物跟随 行进, 机器人清洁器 7 不会遇到行进 2 的路径。因而, 机器人清洁器 7 从行进 1 改变至作为 障碍物跟随行进的行进 1’ , 并且, 如果判断机器人清洁器 7 遇到行进 1 的直线, 则返其回到行进 1, 从而回到了之字形行进模式。其中, 行进 1’ 实质上与行进 4 相同, 但区别于行进 4 以表示回到行进 1 的行进。
在行进 4 之后进行的行进 2 和行进 3 中, 障碍物跟随行进以上述方式进行。但是, 如果在第三行进和第四行进中感应到障碍物, 则沿障碍物向左方向进行障碍物跟随行进。
尽管图 5 将各行进中的障碍物跟随行进限制为分别在障碍物左侧或右侧方向进 行, 但在所有行进中, 障碍物跟随行进都可限制为沿障碍物向右或向左方向, 或者限制为沿 随机方向进行。
图 6 是示出根据实施例的机器人清洁器的第二障碍物避开行进轨迹的视图。
图 6 示出的情形中, 如果机器人清洁器 7 在之字形行进中感应到障碍物, 则进行障 碍物跟随行进, 然后遇到下一直线行进而不是障碍物跟随行进之前的行进路径, 机器人清 洁器 7 在此位置进行下一直线行进。如图 6 所示, 如果机器人清洁器 7 在行进 2 中感应到 障碍物, 而进行障碍物跟随行进, 机器人清洁器 7 可能遇到下一行进路径, 即行进 3, 或者遇 到下一个但为同一个的行进的路径, 即行进 1。然而, 如果机器人清洁器 7 在行进 3 中感应 到障碍物, 而进行障碍物跟随行进, 机器人清洁器 7 遇到下一行进, 即行进 1, 的路径。
当机器人清洁器 7 在行进 2 中感应到障碍物时, 进行转动 d’ 并进行行进 3’ , 即障 碍物跟随行进, 然后当机器人清洁器 7 遇到下一行进路径, 即行进 3 时, 机器人清洁器 7 在 此位置进行行进 3。在转动 d’ 中, 机器人清洁器 7 向左转, 直至前障碍物传感器感应不到障 碍物。在行进 3’ 中, 机器人清洁器 7 进行障碍物跟随行进, 直至在转动 d’ 后, 到达与行进 2 的路径相距第二指定间隔的地点。其中, 如果进行转动 d’ , 且右障碍物传感器感应不到障 碍物, 通过机器人清洁器 7 向右重复转动直至右障碍物传感器感应到障碍物实现障碍物跟 随行进, 然后如果右障碍物传感器再次感应不到障碍物, 则机器人清洁器 7 向左转动。如上 所述, 采用陀螺仪传感器和解码器实现关于机器人清洁器 7 是否遇到行进 1 的路径的判断。
当机器人清洁器 7 在行进 2 或行进 3 中感应到障碍物, 机器人清洁器 7 进行转动 d’ 和行进 3’ , 即障碍物跟随行进 ; 当机器人清洁器 7 在行进 3’ 中遇到下一行进, 即行进 1 的路径, 则机器人清洁器 7 进行行进 1。
图 7 是示出根据实施例的机器人清洁器的第三障碍物避开行进轨迹的视图 ;
图 7 示出的情形中, 如果机器人清洁器 7 在行进 2 或行进 3 中感应到障碍物, 并进 行障碍物跟随行进, 且机器人清洁器 7 的前进方向到达指定方向, 机器人清洁器 7 判断机器 人清洁器 7 的前进方向偏离了之字形行进方向, 则停止障碍物跟随行进, 而进行与行进 3 平 行的新行进 3。当机器人清洁器 7 在此位置没有遇到障碍物时进行。
如果机器人清洁器 7 在行进 2 中感应到障碍物, 机器人清洁器 7 进行转动 d’ , 然后 进行障碍物跟随行进, 即行进 3’ 。此后, 如果机器人清洁器 7 的前进方向在基于与清洁方 向相反方向, 即行进 2 的方向, 所成的第一指定角度的范围内, 在机器人清洁器 7 遇到行进 3 或行进 1 的路径前, 机器人清洁器 7 进行与行进 3 平行的新行进 3。当机器人清洁器 7 在 此位置没有遇到障碍物时进行。
其中, 第一指定角度可以是 ±90°内的任意角度。 特别是, 如果第一指定角度是如 图 7 所示的 +90°, 则判断机器人清洁器 7 的行进方向偏离了之字形行进方向。 进一步, 当机 器人清洁器 7 沿与图 7 所示方向相反的方向进行之字形行进, 如果第一指定角度为 -90°, 则判断机器人清洁器 7 的行进方向偏离了之字形行进方向。采用转动角度传感器来实现关于机器人清洁器 7 的前进方向是否在与清洁方向 相反的方向所成的第一指定角度的范围内的判断。 也就是说, 在障碍物跟随行进中, 通过采 用转动角度传感器累计机器人清洁器 7 前进方向的转动角度, 实现关于机器人清洁器 7 的 前进方向是否在第一指定角度范围内的判断
以同样的方式, 如果机器人清洁器 7 在行进 3 中感应到障碍物, 机器人清洁器 7 进 行转动 d’ , 然后进行障碍物跟随行进, 即行进 3’ 。此后, 如果机器人清洁器 7 的前进方向在 与清洁方向相反的方向, 即行进 2 的方向, 所成的第一指定角度范围内, 在机器人清洁器 7 遇到行进 1 的路径前, 机器人清洁器 7 进行平行于行进 3 的新行进 3, 当机器人清洁器 7 在 此位置没有遇到障碍物时进行。其中, 第一指定角度可是 ±90°内的任意角度。
图 8 是示出根据实施例的机器人清洁器的第四障碍物避开行进轨迹的视图。
如图 8 所示, 如果机器人清洁器 7 在行进 1 中感应到障碍物, 机器人清洁器 7 进行 转动 d’ , 然后进行障碍物跟随行进, 即行进 1’ 。此后, 如果机器人清洁器 7 的前进方向在与 清洁方向, 即行进 1 的方向, 所成的第二指定角度范围内, 在机器人清洁器 7 遇到障碍物跟 随行进前的行进 1 的路径前或障碍物跟随行进后的行进 2 的路径前, 机器人清洁器 7 进行 平行于行进 1 的新行进 1, 当机器人清洁器 7 在此位置没有遇到障碍物时进行。 其中, 第二指定角度可以是 ±90°内的任意角度。 特别是, 如果第二指定角度是如 图 8 所示的 -90°, 则判断机器人清洁器 7 的行进方向偏离了之字形行进方向。 进一步, 当机 器人清洁器 7 沿与图 8 所示方向相反的方向进行之字形行进, 如果第二指定角度为 +90°, 则判断机器人清洁器 7 的行进方向偏离了之字形行进方向。
图 9 是示出根据实施例的机器人清洁器的第五障碍物避开行进轨迹的视图 ;
在图 9 所示情形中, 如果机器人清洁器 7 在行进 2 或行进 3 中感应到障碍物, 并进 行障碍物跟随行进, 如果机器人清洁器 7 的前进方向到达指定方向, 则判断机器人清洁器 7 偏离了之字形行进模式, 机器人清洁器 7 的前进方向被改变为相反方向, 然后进行机器人 清洁器 7 的障碍物跟随行进。
也就是说, 如果机器人清洁器 7 在行进 2 或行进 3 中感应到障碍物, 机器人清洁器 7 进行转动 d’ , 然后进行障碍物跟随行进, 即行进 3’ 。此后, 如果机器人清洁器 7 的前进方 向在以清洁方向, 即行进 1 的方向, 为基准的第二指定角度范围内, 则机器人清洁器在此位 置设定虚拟的第一行进的路径, 改变其方向至相反方向, 然后进行障碍物跟随行进。此后, 如果机器人清洁器 7 与虚拟行进 1 的路径间隔第一指定间距, 则机器人清洁器 7 进行下一 行进, 即行进 2。 其中, 虚拟行进 1 的路径可以通过上述方法设定, 或者可以设定在介于障碍 物跟随行进开始的那一点和机器人清洁器 7 的方向改变至相反方向且沿相反方向的障碍 物跟随行进开始的那一点之间的一点。图 9 显示 : 虚拟行进 1 的路径设定在机器人清洁器 7 的方向开始转变至相反方向的那一点。
通过采用诸如陀螺仪传感器等转动角度传感器, 累计机器人清洁器 7 在障碍物跟 随行进前, 从行进 2 或行进 3 的转动角度, 实现关于机器人清洁器 7 的前进方向是否在与清 洁方向所成的第二指定角度范围内的判断。
其中, 第二指定角度可以是 ±90°内的任意角度。 特别是, 如果第二指定角度是如 图 9 所示的 -90°, 则判断机器人清洁器 7 的行进方向偏离了之字形行进方向。此外, 当机 器人清洁器 7 沿与图 9 所示方向相反的方向进行之字形行进, 如果第二指定角度为 +90°,
则判断机器人清洁器 7 的行进方向偏离了之字形行进方向。
图 10 是示出根据实施例的机器人清洁器的第六障碍物避开行进轨迹的视图 ;
在图 10 所示情形中, 如果机器人清洁器 7 在行进 2 或行进 3 中感应到障碍物, 并 进行障碍物跟随行进, 当判断机器人清洁器 7 的障碍物跟随行进距离过分长时, 则机器人 清洁器 7 的方向改变为相反方向, 然后进行机器人清洁器 7 的障碍物跟随行进。
也就是说, 如果机器人清洁器 7 在行进 2 或行进 3 中感应到障碍物, 机器人清洁器 7 进行转动 d’ , 然后进行障碍物跟随行进, 即行进 3’ 。此时, 如果障碍物跟随行进距离达到 第四指定距离, 则机器人清洁器 7 在此位置设定虚拟行进 1 的路径, 改变其路径至相反方 向, 然后进行障碍物跟随行进, 即行进 3’ 。此后, 如果机器人清洁器 7 与虚拟行进 1 的路径 间隔第一指定间距, 则机器人清洁器 7 进行下一行进, 即行进 2。 其中, 行进 1 的虚拟路径可 以通过上述方法设定, 或者可以设定在介于障碍物跟随行进开始的点和机器人清洁器 7 的 方向改变至相反方向且沿相反方向的障碍物跟随行进开始的点之间的一点。 图 10 显示 : 虚 拟行进 1 的路径设定在机器人清洁器 7 的方向开始转变至相反方向的点。
采用解码器实现障碍物跟随行进距离的测量, 如上所述, 采用陀螺仪传感器和解 码器实现关于机器人清洁器 7 是否与虚拟行进 1 的路径间隔第一指定间距的判断。其中, 第四指定距离可设定为任意值, 通常是第一指定间距或第二指定间距的两倍。 图 11 是示出根据实施例的机器人清洁器的第七障碍物避开行进轨迹的视图。
在图 11 所示情形中, 如果机器人清洁器 7 在行进 2 或行进 3 中感应到障碍物, 并 进行障碍物跟随行进, 当判断机器人清洁器 7 的障碍物跟随行进距离过于长, 因而机器人 清洁器 7 在进行障碍物跟随行进前遇到行进路径, 则机器人清洁器 7 的方向改变为相反方 向, 然后进行机器人清洁器 7 的障碍物跟随行进。
也就是说, 如果机器人清洁器 7 在行进 2 或行进 3 中感应到障碍物, 机器人清洁器 7 进行转动 d’ , 然后进行障碍物跟随行进, 即行进 3’ 。此时, 如果机器人清洁器 7 在进行障 碍物跟随行进前遇到行进 2 的路径, 则机器人清洁器 7 改变其方向至相反的方向, 然后进行 障碍物跟随行进, 即行进 3’ 。此后, 如果机器人清洁器 7 与行进 3’ 前的行进 2 的路径间隔 第一指定间距, 则机器人清洁器 7 进行下一行进, 即行进 2。 尽管图 11 示出了机器人清洁器 7 在障碍物跟随行进前遇到行进 2 的路径, 如果机器人清洁器 7 在障碍物跟随行进前, 遇到 虚拟行进 1 或行进 2 的路径, 机器人清洁器 7 可改变方向至相反方向, 然后进行障碍物跟随 行进。其中, 通过确定机器人清洁器 7 与行进 2 的间隔距离是否达到零, 实现关于机器人清 洁器 7 在障碍物跟随行进前是否遇到行进 2 的路径的判断。
图 12 是示出根据实施例的机器人清洁器的第一之字形行进方向改变轨迹的视 图。
如图 12 所示, 如果机器人清洁器 7 在之字形行进期间遇到障碍物, 因而进行障碍 物跟随行进, 则判断机器人清洁器 7 在障碍物跟随行进期间进入与障碍物跟随行进前的之 字形行进路径相反的区域, 且机器人清洁器 7 与障碍物跟随行进前的之字形行进路径间隔 指定间距, 或者机器人清洁器 7 的前进方向到达指定方向, 则机器人清洁器 7 沿相反方向进 行之字形行进。其中, 如果机器人清洁器 7 与之字形行进路径的间隔距离为零, 且机器人清 洁器 7 的前进方向到达与障碍物跟随行进前的之字形行进方向所成的指定角度范围内, 则 判断机器人清洁器 7 进入与障碍物跟随行进前的之字形行进路径相反的区域。这点将在下
面结合附图 12 进行详细说明。
在图 12 中, 用黑圈表示机器人清洁器 7 遇到虚拟行进 1 的路径的点, 所述虚拟行 进 1 平行于与行进 4 前的行进相对应的行进 1, 而不是行进 4 中的下一行进。当机器人清洁 器 7 遇到该点, 机器人清洁器 7 回到行进 1。但是, 由于障碍物的方向, 机器人清洁器 7 可不 回到与障碍物跟随行进前的方向同向的行进 1。 也就是说, 如果感应到机器人清洁器 7 的前 进方向是障碍物跟随行进前的行进 1 的相反方向的右侧, 则判断机器人清洁器 7 进入与之 字形行进路径相反的区域。此时, 如果之字形行进的方向改变, 而行进 4 后的行进 2 沿与行 进 1 的方向相同的方向进行, 机器人清洁器 7 则可能会被障碍物阻挡。
因而, 如果机器人清洁器 7 与障碍物跟随行进前的行进 1 的路径间隔指定间距, 或 者如果机器人清洁器 7 的前进方向到达指定方向, 在沿与行进 1 的方向相同的方向进行行 进 2 的同时, 机器人清洁器 7 沿相反方向进行之字形行进。图 12 显示 : 机器人清洁器 7 进 行障碍物跟随行进, 直至机器人清洁器 7 移动至与朝向相反区域的行进 1 的路径间隔第一 指定间距, 然后沿相反方向进行行进 2。
其中, 如上所述, 通过采用陀螺仪传感器和解码器获得障碍物跟随行进距离和转 动角度, 容易地实现关于机器人清洁器 7 是否再次遇到行进 1 的路径的判断。也就是说, 通 过搜索机器人清洁器 7 与行进 1 的路径的间隔距离达到零的点, 容易地实现关于机器人清 洁器 7 是否再次遇到行进 1 的路径的判断。此外, 通过累计障碍物跟随行进期间机器人清 洁器 7 的转动角度, 实现关于机器人清洁器 7 的前进方向是否与指定方向重合的判断。
图 13 是示出根据实施例的机器人清洁器的第二之字形行进方向改变轨迹的视 图。
图 13 所示的第二之字形行进方向改变轨迹与图 12 中的轨迹相同之处在于 : 判断 机器人清洁器 7 进入与之字形行进方向相反的区域 ; 与图 12 中的轨迹不同之处在于 : 是根 据机器人清洁器 7 的前进方向, 而不是机器人清洁器 7 与行进 1 的路径的间隔距离来确定 在相反方向进行之字形行进的时点。
也就是说, 如果机器人清洁器 7 进入与障碍物跟随行进, 即行进 4 期间之字形行进 方向相反的区域, 且机器人清洁器 7 的前进方向处于以清洁方向, 即障碍物跟随行进前的 行进 1 的方向, 为基准的第二指定角度范围内, 则判断存在不沿与清洁方向相反的方向进 行行进 2 的很大可能, 从而在沿清洁方向进行第二行进的条件下进行之字形行进。
其中, 第二指定角度可以是 ±90°内的任意角度。 特别是, 如果第二指定角度是如 图 13 所示的 -90°, 则判断机器人清洁器 7 的行进方向偏离了之字形行进方向。 此外, 当机 器人清洁器 7 沿与图 13 所示方向相反的方向进行之字形行进, 如果第二指定角度为 +90°, 则判断机器人清洁器 7 的行进方向偏离了之字形行进方向。
图 14 是示出根据实施例的随机行进轨迹的视图。
在图 14 中, 通过重复行进 R 和转动 rL 或转动 rR, 进行随机行进。在行进 R 中, 机 器人清洁器 7 在保持当前方向的同时直线行进。在行进 R 时, 当左障碍物首先被感应到, 机 器人清洁器 7 进行转动 rR, 或者当右侧障碍物首先被感应到, 机器人清洁器 7 进行转动 rL。 在转动 rR 中, 机器人清洁器 7 向右转动, 直至不再感应到左障碍物, 然后并不停止而是再额 外向右转动 0 ~ 120°之间的随机角度。另外, 在转动 rL 中, 机器人清洁器 7 向左转动, 直 至不再感应到右障碍物, 然后并不停止而是额外再向左转动 0 ~ 120°之间的任意角度。图 15 是示出根据实施例的第一之字形行进轨迹的视图。
图 16 是示出根据实施例的第二之字形行进轨迹的视图。
图 17 是示出根据实施例的第三之字形行进轨迹的视图。
请参见图 15 至图 17, 当机器人清洁器 7 在之字形行进中满足如图 12 和图 13 所示 的指定要求, 机器人清洁器 7 改变之字形行进的方向。尽管这点将在后面说明, 如果之字形 行进的方向改变的次数超过指定次数, 则判断到达结束之字形行进的时间。考虑普通房屋 的房间尺寸, 所述指定次数可设定为三次, 但也可根据房间尺寸而改变。如图 15 到图 17 所 示, 当之字形行进的方向改变三次, 则判断到达结束之字形行进的时间, 如图 18 所示, 之字 形行进被改变为随机行进。
图 18 是示出根据实施例的总体清洁行进轨迹的视图。
在图 18 中, 机器人清洁器 7 通过之字形行进进行清洁, 然后通过随机行进进行清 洁。通过结束清洁行进方式, 在之字形行进期间跳过的区域, 进行随机行进。其中, 结束清 洁行进方式是指通过随机行进方式行进, 来清洁之字形行进期间跳过区域的方式。尽管可 在之字形行进前进行随机行进, 机器人清洁器 7 可首先通过之字形行进进行清洁, 然后通 过随机行进来进行清洁。下面将说明判断之字形行进时间和随机行进时间, 以及判断之字 形行进和随机行进是否结束的方法。
如果之字形行进方向改变的次数超过指定次数, 机器人清洁器 7 判断到达结束之 字形行进的时间。进一步, 如果之字形行进的时间超过指定时间, 机器人清洁器 7 可判断到 了结束之字形行进的时间。 考虑普通房屋的房间尺寸, 所述指定次数可设定为三次, 但当房 间尺寸大或者小, 所述指定次数则可设定为小于或大于三次的值。 进一步, 考虑普通房屋的 房间尺寸, 所述指定时间可设定为 20 分钟, 但当房间尺寸大或者小, 所述指定时间则可设 定为短于或长于 20 分钟的值。
如果根据与随机行进的平均直线行进距离成比例而确定的指定时间过去了, 则机 器人清洁器 7 判断到达结束随机行进的时间。由于随机行进的平均直线行进距离与房间尺 寸成比例, 当随机行进的平均直线行进距离短时, 则进行短时间的随机行进 ; 当随机行进的 平均直线行进距离长时, 则进行长时间的随机行进。该平均直线行进距离与图 12 中的行进 R 的行进距离的平均值相对应。考虑普通房屋的房间尺寸, 随机行进可进行 5 分钟 ( 最小 值 ) 到 20 分钟 ( 最大值 )。然而, 随机行进的时间可以基于房间尺寸的考虑而增加或减少。 另外, 如果随机行进方向改变的次数超过指定次数, 或随机行进的时间超过指定时间, 机器 人清洁器 7 可判断到达结束随机行进的时间。
通过上述构型, 即使机器人清洁器 7 以任何角度碰撞到墙壁, 机器人清洁器 7 都能 保持之字形行进模式同时保持与碰撞墙壁的行进路径有指定间距, 且采用改进的之字形行 进模式, 使得即使机器人清洁器 7 遇到障碍物, 机器人清洁器 7 也能保持之字形行进模式。 此外, 机器人清洁器 7 在之字形行进后通过随机行进进行清洁, 因而能使清洁覆盖最大化。
除上述实施例之外, 通过执行在诸如计算机可读介质 / 媒介等介质 / 媒介中 / 上 的计算机可读代码 / 指令, 来控制机器人清洁器, 也可实现实施例。介质 / 媒介与任意的存 储计算机可读代码 / 指令的介质 / 媒介相对应。介质 / 媒介还可以包括单独的计算机可读 代码 / 指令、 数据文件、 数据结构, 以及类似物或者其结合。代码 / 指令的实例包括诸如编 译器生成的机器代码, 以及包含由计算机装置以及使用解码器的类似设备所执行的高等代码的文件这两者。此外, 代码 / 指令可包括函数程序和代码段。
计算机可读代码 / 指令可以以各种形式记录在介质 / 媒介中, 所述媒介的实例包 括: 磁存储媒介 ( 例如软盘、 硬盘、 磁带等 )、 光媒介 ( 例如 CD-ROM、 DVD 等 )、 光磁媒介 ( 例 如可光读软盘 )、 硬件存储设备 ( 例如只读记忆媒介、 随机存取记忆媒介、 闪存等 )、 以及其 他存储媒介 ; 其包括计算机可读代码 / 指令、 数据文件、 数据结构等。所述媒介可以存储在 分布式网络中, 以使得所述计算机可读代码 / 指令以分布方式存储和执行。可由一个或多 个处理器或控制器执行所述计算机可读代码 / 指令。 还可在至少一个专用集成电路 (ASIC) 或现场可编程门阵列 (FPGA) 执行或实现 (embody) 所述计算机可读代码 / 指令。
尽管示出且说明了一些实施例, 但将能理解的是 ; 在不偏离上述公开内容的原则 和精神的情况下, 本领域技术人员可以对所示出并说明的实施例进行改变, 上述公开内容 的范围由权利要求及其等同物限定。