机器人清洁器及其控制方法与流程

文档序号:15063874发布日期:2018-07-31 22:20阅读:252来源:国知局

本公开的实施例涉及一种机器人清洁器及其控制方法,并且更具体地涉及一种被配置为在清洁空间中到处行进的同时自动清洁清洁空间的机器人清洁器及其控制方法。



背景技术:

机器人清洁器(也称为清洁机器人)是这样一种装置:通过在没有用户干预的情况下自主地在要被清洁的区域(下文中成为清洁空间)中到处行进的同时从地板抽吸杂质(比如,灰尘等)来自动清洁清洁空间。也就是说,机器人清洁器在清洁空间中到处行进的同时清洁清洁空间。

由于常规的机器人清洁器不预先存储关于清洁空间的信息,因此机器人清洁器已经被设计为在清洁空间中移动的同时生成清洁空间的地图。

为了如上所述地生成清洁空间的地图,常规的机器人清洁器需要被配置为收集清洁空间的环境信息的多个传感器和被配置为生成地图的昂贵处理器。

结果,不管清洁清洁空间的功能如何,常规的机器人清洁器都必须在清洁空间中到处行进,从而生成地图,导致机器人清洁器的生产成本增加。



技术实现要素:

技术问题

因此,本公开的一个方面是提供一种机器人清洁器及其控制方法,所述机器人清洁器包括在清洁空间中首次行进之前存储的拓扑地图和网格地图。

本公开的另一方面是提供一种机器人清洁器及其控制方法,所述机器人清洁器用于根据用户输入信号修改在清洁空间中首次行进之前存储的拓扑地图和网格地图。

本公开的另一方面是提供一种机器人清洁器及其控制方法,所述机器人清洁器用于根据行进记录修改在清洁空间中首次行进之前存储的拓扑地图和网格地图。

本公开的附加方面将部分地在下面的描述中阐述,并且部分将从描述中显而易见,或者可以通过本公开的实践而获悉。

问题的解决方案

根据本公开的一个方面,一种机器人清洁器包括:主机身;驱动器,被配置为移动主机身;存储装置,被配置为存储基于清洁空间的建筑平面图而生成的拓扑地图和网格地图;以及控制器,被配置为对驱动器进行控制,使得主机身基于拓扑地图和网格地图在清洁空间中行进。拓扑地图和网格地图可以是在清洁空间的初始行进之前生成的。

拓扑地图可以包括指示清洁空间中包含的至少一个清洁区域的至少一个清洁节点以及至少一个清洁节点之间的连接关系。

至少一个清洁节点可以根据建筑平面图上显示的文字、数字、符号和图像中的至少一个生成。

至少一个清洁节点之间的连接关系可以根据在建筑平面图上显示的文字、数字、符号和图像中的至少一个之间的最短路径生成。

网格地图可以被划分为多个清洁块。清洁块可以分别包括清洁块的位置信息,并且被成组为至少一个清洁区域。

网格地图可以根据建筑平面图的三维(3d)空间模型的行进模拟而生成。

网格地图可以基于机器人清洁器的3d机器人模型在3d空间模型中行进时获得的行进记录而生成。

拓扑地图或网格地图可以通过用户输入来修改。

拓扑地图中包含的至少一个清洁节点之中的至少一些清洁节点的名称可以由用户输入来修改。

拓扑地图中包含的至少一个清洁节点之中的至少一些清洁节点可以由用户输入来删除。

可以删除网格地图中包含的至少一个清洁区域之中的与至少一些删除的清洁节点相对应的清洁区域。

机器人清洁器还可以包括被配置为检测位于清洁空间中的障碍物的障碍物检测器。控制器基于障碍物检测器的输出信号来确定主机身在拓扑地图和网格地图中的位置。

控制器可以基于接入点(ap)的射频(rf)信号强度、灯的照度和地磁强度中的至少一个,来确定主机身在拓扑地图和网格地图中的位置。

控制器可以基于拓扑地图和网格地图来生成行进路径。

机器人清洁器还可以包括被配置为检测位于清洁空间中的障碍物的障碍物检测器以及被配置为测量主机身的移动的移动检测器。当机器人清洁器沿着行进路径行进时,控制器可以基于障碍物检测器的输出信号和移动检测器的输出信号来修改拓扑地图和网格地图。

如果障碍物检测器检测到拓扑地图和网格地图中未示出的障碍物,则控制器可以以使主机身沿着障碍物的轮廓行进的方式来控制驱动器。

当主机身沿着障碍物的轮廓行进时,控制器可以基于移动检测器的输出信号存储行进记录。

控制器可以基于行进期间获得的行进记录来修改拓扑地图和网格地图。

根据本公开的另一方面,一种用于控制机器人清洁器的方法可以包括:在清洁空间的初始行进之前,存储基于清洁空间的建筑平面图的拓扑地图和网格地图;基于拓扑地图和网格地图在清洁空间中行进;以及当机器人清洁器在清洁空间中行进时,修改拓扑地图和网格地图。

拓扑地图可以包括指示清洁空间中包含的至少一个清洁区域的至少一个清洁节点以及至少一个清洁节点之间的连接关系。

至少一个清洁节点可以根据建筑平面图上显示的文字、数字、符号和图像中的至少一个生成。

至少一个清洁节点之间的连接关系可以根据在建筑平面图上显示的文字、数字、符号和图像中的至少一个之间的最短路径生成。

网格地图可以被划分为多个清洁块。清洁块可以包括清洁块的位置信息,并且被成组为至少一个清洁区域。

网格地图可以根据建筑平面图的三维(3d)空间模型的行进模拟而生成。

网格地图可以基于机器人清洁器的3d机器人模型在3d空间模型中行进时获得的行进记录而生成。

基于拓扑地图或网格地图在清洁空间中行进可以包括:确定机器人清洁器在拓扑地图和网格地图中的位置;基于拓扑地图和网格地图来生成行进路径。

当机器人清洁器在清洁空间中行进时修改拓扑地图和网格地图可以包括:检测位于清洁空间中的障碍物;检测机器人清洁器的移动;以及基于障碍物的位置和机器人清洁器的移动,修改拓扑地图和网格地图。

基于障碍物的位置和机器人清洁器的移动修改拓扑地图和网格地图包括:如果检测到了拓扑地图和网格地图中未示出的障碍物,则沿着障碍物的轮廓行进;在机器人清洁器沿着障碍物的轮廓行进的同时存储机器人清洁器的移动;以及基于机器人清洁器的移动,修改拓扑地图和网格地图。

所述方法还可以包括:根据用户输入修改拓扑地图和网格地图。

根据用户输入修改拓扑地图和网格地图可以包括:通过用户输入,修改拓扑地图中包含的至少一个清洁节点之中的至少一些清洁节点的名称。

根据用户输入修改拓扑地图和网格地图可以包括:通过用户输入,删除拓扑地图中包含的至少一个清洁节点之中的至少一些清洁节点。

根据用户输入修改拓扑地图和网格地图可以包括:从网格地图中包含的至少一个清洁区域之中删除与至少一些删除的清洁节点相对应的清洁区域。

发明的有益效果

从以上描述中显而易见的是,根据实施例的机器人清洁器及其控制方法可以包括在清洁空间中首次行进之前存储的拓扑地图和网格地图。

根据实施例的机器人清洁器及其控制方法可以根据用户输入信号,修改在清洁空间中首次行进之前存储的拓扑地图和网格地图。

根据实施例的机器人清洁器及其控制方法可以根据行进记录,修改在清洁空间中首次行进之前存储的拓扑地图和网格地图。

尽管示出和描述了本公开的一些实施例,然而本领域技术人员将理解,在不脱离由所附权利要求及其等价物限定范围的本公开的原理和精神的前提下,可以对这些实施例进行改变。

附图说明

图1是示出了根据本公开实施例的机器人清洁器的框图。

图2是示出了根据本公开实施例的机器人清洁器的外观的示图。

图3是示出了根据本公开实施例的机器人清洁器的内部结构的示图。

图4是示出了根据本公开实施例的机器人清洁器的底面的仰示图。

图5是示出了根据本公开实施例的用于允许机器人清洁器中包含的障碍物检测器检测位于前向方向上的障碍物的方法的概念图。

图6是示出了根据本公开实施例的用于允许机器人清洁器中包含的障碍物检测器检测位于侧向上的障碍物的方法的概念图。

图7是示出了根据本公开实施例的用于生成地图数据的方法的流程图。

图8示出了指示平面图的建筑平面图(fp)的示例。

图9是示出了基于图8中所示的fp、由图7中所示的地图数据生成方法而生成的拓扑地图的示图。

图10是示出了基于图8的fp、由图7中所示的地图数据生成方法而生成的网格地图的示图。

图11是示出了基于图8的fp、由图7中所示的地图数据生成方法而生成的拓扑网格地图的示图。

图12是示出了根据本公开实施例的用于生成拓扑地图的方法的流程图。

图13是示出了通过图12的拓扑地图生成方法提取的文字区域的示图。

图14是示出了通过图12的拓扑地图生成方法提取的墙壁(w)的示图。

图15是示出了通过图13的拓扑地图生成方法生成的多个清洁节点之间的最短路径的示图。

图16是示出了根据本公开实施例的用于生成网格地图的方法的流程图。

图17是示出了通过图16的网格地图生成方法生成的三维(3d)空间模型的示图。

图18是示出了虚拟机器人清洁器根据图16的网格地图生成方法行进的示图。

图19是示出了通过图16的网格地图生成方法生成的网格地图的示图。

图20是示出了根据本公开一个实施例的用于修改地图的方法的流程图。

图21至图30示出了根据图20的地图修改方法来修改拓扑网格地图的示例。

图31是示出了根据本公开另一实施例的用于修改地图的方法的流程图。

图32至图34是示出了用于根据图31的地图修改方法来确定机器人清洁器的位置的方法的概念图。

图35和图36是示出了允许机器人清洁器在清洁空间中行进以根据图31的地图修改方法收集环境信息的方法的概念图。

图37是示出了通过图31的地图修改方法修改的拓扑网格地图的示图。

图38是示出了根据本公开实施例的用于显示清洁进展状态的方法的概念图。

图39和图40是示出了用于根据图38的方法显示清洁进展状态的示例的概念图。

图41是示出了根据本公开实施例的机器人清洁器与用户终端(也称为用户设备ue)之间的示例性交互的概念图。

图42、图43和图44示出了根据图41的方法的机器人清洁器与用户设备(ue)之间的交互的示例。

图45示出了根据本公开实施例的机器人清洁器与用户设备(ue)之间的交互的另一示例。

图46和图47示出了根据图45的方法的机器人清洁器与用户设备(ue)之间的交互的示例。

具体实施方式

现在将详细参考本公开的实施例,其示例在附图中示出,其中贯穿附图,类似的附图标记指代类似的元件。

图1是示出了根据本公开实施例的机器人清洁器的框图。图2是示出了根据本公开实施例的机器人清洁器的外观的示图。图3是示出了根据本公开实施例的机器人清洁器的内部结构的示图。图4是示出了根据本公开实施例的机器人清洁器的底面的仰示图。

参考图1至图4,机器人清洁器100可以包括主机身101和副机身103。如图2所示,主机身101可以具有近似半圆形状,以及副机身103可以具有近似矩形的形状。

然而,机器人清洁器100的形状不限于包括主机身101和副机身103在内的上述机器人清洁器,机器人清洁器100可以包括单个机身或至少三个机身。此外,主机身101和副机身103被设计为执行最佳效果的清洁,并且主机身101不限于近似半圆形状,并且副机身103不限于近似矩形形状。例如,机器人清洁器100的整个机身可以具有近似圆形形状或者可以具有近似矩形形状。

用于实现机器人清洁器100的功能的构成元件可以设置在主机身101和副机身103的内部和外部。

更详细地,主机身101和副机身103的内部和外部部分可以包括:用户接口(ui),被配置用于用户交互;移动检测器130,被配置为检测与机器人清洁器100的移动相关的信息;障碍物检测器140,被配置为检测部署在清洁空间中的障碍物;图像获取器150,被配置为获取机器人清洁器100的外围图像;驱动器160,被配置为移动机器人清洁器100;清洁器150,被配置为清洁清洁空间;存储装置180,被配置为存储与机器人清洁器100的操作相关的程序和数据;通信器190,被配置为与外部设备通信;以及控制器110,被配置为控制机器人清洁器100。

然而,机器人清洁器100中包含的构成元件的名称不限于用户接口(ui)120、移动检测器130、障碍物检测器140、图像获取器150、驱动器160、清洁器170、存储装置180、通信器190和控制器110,并且应该注意,必要时,上述构成元件也可以被称为具有相同功能的其它名称。ui120可以设置在如图2中所示的机器人清洁器100的主机身101的顶面处,并且可以包括被配置为从用户接收控制命令的多个输入按钮121以及被配置为显示机器人清洁器100的操作信息的显示器123。

多个输入按钮121可以包括:用于接通或关闭机器人清洁器100的电源按钮121a、用于操作或停止机器人清洁器100的操作按钮121b、以及用于允许机器人清洁器100返回到充电站(未示出)的返回按钮121c。

多个输入按钮121中包含的每个按钮可以被实现为用于检测用户加压的推动开关或膜片开关,或者可以被实现为用于检测用户身体的一些部位的接触的触摸开关。

显示器123可以响应于用户输入的控制命令来显示机器人清洁器100的信息。例如,显示器123可以显示机器人清洁器100的操作状态、电力状态、用户选择的清洁模式、指示是否返回充电站的信息等。

显示器123可以被实现为发光二极管(led)、有机发光二极管(oled)、液晶显示器(lcd)等。

此外,显示器123还可以被实现为触摸屏面板(tsp),触摸屏面板被配置为从用户接收控制命令以及显示与所接收到的控制命令相对应的操作信息。

tsp可以包括用于显示操作信息和用户输入的控制命令的显示器、用于检测接触用户身体的一些部位的坐标的触摸板、以及用于基于由tsp检测到的接触坐标来确定用户输入控制命令的触摸屏控制器。

触摸屏控制器可以将通过触摸面板检测到的用户触摸的坐标与通过显示器显示的控制命令坐标进行比较,使得其可以识别用户输入的控制命令。

当机器人清洁器100在清洁空间a中到处行进时,移动检测器130可以检测机器人清洁器100的移动。

更详细地,当机器人清洁器100在清洁空间中线性移动时,移动检测器130可以测量机器人清洁器100的加速度、移动速度、移动电势、移动方向等。此外,当机器人清洁器100执行旋转移动时,移动检测器130可以测量机器人清洁器100的旋转速度、旋转电势、旋转半径等。

移动检测器130可以包括:加速度传感器131和陀螺仪传感器133,用以自主地检测机器人清洁器100的移动;以及编码器135和霍尔传感器模块137,用以检测轮163的旋转。

加速度传感器131可以检测线性移动。例如,加速度传感器131可以使用牛顿的第二运动定律(即,牛顿加速定律)来测量机器人清洁器100的线性加速度、线速度、线性位移等。

加速度传感器131可以被实现为通过组合微机械技术、微电子技术和半导体技术实现的小型微机电系统(mems)传感器。

陀螺仪传感器133可以被称为陀螺仪或角速度传感器,并且可以检测机器人清洁器100的旋转移动。更详细地,陀螺仪传感器133可以使用角动量守恒定律、萨格纳克效应、科里奥利力等来检测目标对象的旋转角速度和旋转位移等。

陀螺仪传感器133也可以使用微机电系统(mems)传感器来实现。例如,mems陀螺仪传感器之中的电容式陀螺仪传感器可以使用电容变化来检测由与旋转速度成比例的科里奥利力引起的微机械结构的变形,并且可以基于电容变化来计算旋转速度。

编码器135可以包括用于发光的发光元件(未示出)、用于接收光的光接收元件(未示出);以及设置在发光元件和光接收元件之间的旋转狭缝(未示出)和固定狭缝(未示出)。旋转狭缝可以被设计为与轮153一起旋转,并且固定狭缝可以被固定到主机身101。

从发光元件发出的光根据旋转狭缝的旋转通过旋转狭缝并到达光接收元件,或者可以根据旋转狭缝的移动被旋转狭缝切断。结果,光接收元件可以根据响应于旋转狭缝的旋转而接收到的光来输出电信号。

此外,控制器110可以基于从光接收元件生成的电信号来计算轮163的旋转速度和旋转位移,并且可以基于轮163的旋转速度和旋转位移,来计算机器人清洁器100的线性移动速度、线性移动位移、线性移动速度、线性移动位移等。

霍尔传感器模块137可以包括用于生成磁场的永磁体(未示出)和用于检测磁场的霍尔传感器(未示出)。这里,永磁体可以随着轮163旋转,并且霍尔传感器可以被固定到主机身101。

霍尔传感器可以检测到或可以检测不到永磁体根据永磁体的旋转而生成的磁场。结果,霍尔传感器可以输出与根据永磁体的旋转而生成的磁场相对应的电信号。

此外,控制器110可以基于从霍尔传感器生成的电信号来计算轮163的旋转速度和旋转位移,并且可以基于轮163的旋转速度和旋转位移,来计算机器人清洁器100的线性移动速度、线性移动位移、旋转移动速度、旋转移动位移等。

障碍物检测器140可以检测阻碍机器人清洁器100的移动的障碍物。

在这种情况下,障碍物可以是任何类型的对象,其可以从清洁空间的底部突出并且阻碍机器人清洁器100的移动,或者可以从清洁空间的底部凹入并且阻碍机器人清洁器100的移动。例如,障碍物可以包括家具(例如,桌子、沙发等)、用于将清洁空间划分成多个部分的至少一个墙壁、在高度方面低于清洁空间的底部的前门等。

障碍物检测器140可以包括:用于沿机器人清洁器100的前向方向发射光的前向光发射模块141、用于接收从前方障碍物反射的光的前向光接收模块143、以及用于沿机器人清洁器100的侧方向发射光、并且接收从侧方障碍物反射的光的侧面光传感器模块145。

尽管根据一个实施例的机器人清洁器100被设计为使用光(比如,红外光)来检测障碍物,但是机器人清洁器100的范围不限于此,并且机器人清洁器100还可以使用激光、超声、无线电波等。

从图3中可以看出,前向光发射模块141可以包括用于发射光的光源141a和用于将所发射的光沿与要被清洁的地板平行的方向进行发散的广角透镜141b。

光源141a可以包括被配置为沿机器人清洁器100的行进方向发射光的发光二极管(led)或受激放射光放大(laser)二极管。

广角透镜141b可以由透光材料形成,并且可以使用折射或全反射将从光源141a发射的光发散到与要被清洁的地板平行的方向上。从前向光发射模块141发射的光可以以扇形发散到机器人清洁器100的前部。在下文中,上述光沿与要被清洁的地板平行的方向发散,使得光具有扇形。为了便于描述和更好地理解本公开,将在下文中将上述光称为平面光。

如上所述,前向光发射模块141可以沿机器人清洁器100的行进方向发射平面光。

此外,从图3中可以看出,障碍物检测器140可以包括多个发光模块141,使得从前向光发射模块141发射的平面光不到达的特定部分具有最小大小。

前向光接收模块143可以包括用于聚焦从障碍物反射的光的反射镜143a和用于接收从反射镜143a反射的光的图像传感器143b。

图像传感器143b可以设置在反射镜143a下方,并且可以接收从反射镜143a反射的光,使得所接收到的光的行进方向改变。更详细地,图像传感器143a可以获得通过从障碍物反射的光在反射镜143a处形成的二维(2d)图像。

在这种情况下,图像传感器143a可以由二维(2d)图像传感器组成,在二维图像传感器中二维地布置有光学传感器。更详细地,图像传感器143b可以包括互补金属氧化物半导体(cmos)传感器或电荷耦合器件(ccd)传感器。

图像传感器143b可以是能够接收具有与前向光发射模块141的光源143a的光相同的波长的光的图像传感器143b。例如,如果光源141a发射红外光,则图像传感器143b优选地是能够获得红外图像的图像传感器。

如上所述,前向光接收模块143可以获取由从位于机器人清洁器100的行进方向上的障碍物反射的光生成的障碍物的图像(以下称为障碍物图像)。

前向光接收模块143的数量可以与前向光发射模块141的数量不同。如上所述,前向光发射模块141可以使用广角透镜141b将从光源141a发射的光沿各个方向发散,并且前向光接收模块143可以使用反射镜143a将各个方向的光束聚焦在图像传感器143a上,使得障碍物检测器140可以包括不同数量的前向光发射模块141和前向光接收模块143。

用于检测位于机器人清洁器100的行进方向上的障碍物的障碍物检测器140不限于生成沿机器人清洁器100的行进方向的平面光的前向光发射模块141以及获取由从障碍物反射的光生成的图像的前向光接收模块143。例如,障碍物检测器140可以包括光传感器模块,所述光传感器模块沿机器人清洁器100的前向方向发射线性光,并使用从障碍物(o)反射的光来检测障碍物(o)的位置。

侧面光传感器模块145可以包括左侧光传感器模块145a和右侧光传感器模块145b。左侧光传感器模块145a可以向机器人清洁器100的左侧发射光,并且接收从左侧障碍物反射的光。右侧光传感器模块145b可以向机器人清洁器100的右侧发射光,并且接收从右侧障碍物反射的光。

光传感器模块145可以检测障碍物,并且还可以用于执行机器人清洁器100的行进。

例如,在机器人清洁器100在与障碍物保持预定距离的同时行进的轮廓线跟踪行进模式期间,侧面光传感器模块145可以检测障碍物与机器人清洁器100侧面之间的距离,并且控制器110可以基于侧面光传感器模块145的测量结果来控制驱动器160,使得机器人清洁器100与障碍物之间的预定距离能够保持不变。

侧面光传感器模块145可以辅助前向光发射模块141和前向光接收模块143,所述前向光发射模块141和前向光接收模块143被配置为检测位于机器人清洁器100的前向方向上的障碍物。如果需要,障碍物检测器140可以不包括侧面光传感器模块145。

图像获取器150可以包括获取机器人清洁器100的上方图像(即,天花板图像)的上向相机模块151和获取机器人清洁器100的行进方向的图像的前向相机模块153。

上向相机模块151可以包括设置在机器人清洁器100的顶面处的、用以获取机器人清洁器100的上方图像(即,清洁空间的天花板图像)的图像传感器(未示出)。

前向相机模块153可以包括设置在机器人清洁器100的前表面处的、用以获取机器人清洁器100的行进方向的图像的图像传感器(未示出)。

此外,上向相机模块151或前向相机模块153中包含的图像传感器可以包括cmos传感器或ccd传感器。

图像获取器150可以向控制器110输出由上向相机模块151和前向相机模块153获取的图像。

控制器110可以基于由上向相机模块151和前向相机模块153获取的图像来确定机器人清洁器100的位置。更详细地,控制器110可以从由上向相机模块151和前向相机模块153获取的图像中提取特征点,并且可以基于所提取的特征点的位置变化来确定机器人清洁器100的移动距离、移动方向、移动速度等。此外,控制器110可以基于机器人清洁器100的移动距离、移动方向、移动速度等来确定机器人清洁器100的位置。

驱动器160可以移动机器人清洁器100,并且可以包括轮驱动电机161、轮163和脚轮155,如图3和图4所示。

轮163可以设置在主机身101的底面的两侧,可以包括布置在以机器人清洁器100的前部为基准的机器人清洁器100的左侧的左轮163a,并且还可以包括布置在机器人清洁器100的右侧的右轮163b。

此外,轮163可以从轮驱动电机161接收旋转力,并使用所接收到的旋转力来移动机器人清洁器100。

轮驱动电机161可以生成使轮163旋转所需的旋转力,并且可以包括用于使左轮163a旋转的左侧驱动电机161a和用于使右轮163b旋转的右侧驱动电机161b。

左侧驱动电机161a和右侧驱动电机161b中的每一个可以从控制器110接收驱动控制信号,使得左侧驱动电机161a和右侧驱动电机161b能够彼此独立地操作。

通过左侧驱动电机161a和右侧驱动电机161b,左轮163a和右轮163b可以独立旋转。

此外,由于左轮163a和右轮163b可以独立旋转,因此机器人清洁器100可以以各种方式(例如,向前移动、向后移动、旋转和就地旋转)移动或行进。

例如,如果左轮和右轮(163a,163b)沿第一方向旋转,则机器人清洁器100沿前向方向进行直行。如果右轮和左轮(163a,163b)沿第二方向旋转,则主机身101可以沿后向方向进行直行。

此外,左轮和右轮(163a,163b)可以沿相同方向旋转。如果左轮和右轮(163a,163b)以不同的速度旋转,则机器人清洁器100沿向左或向右方向旋转。如果右轮和左轮(163a,163b)沿不同方向旋转,则机器人清洁器100可以就地顺时针或逆时针旋转。

脚轮165安装在主机身101的底部,使得脚轮165的旋转轴可以响应于机器人清洁器100的移动方向而旋转。具有响应于机器人清洁器100的移动方向而旋转的旋转轴的脚轮165不干扰机器人清洁器100的行进,并且机器人清洁器100可以在保持稳定的姿势的同时行进。

此外,行进单元160可以包括:电机驱动电路(未示出),用于响应于控制器110的控制信号而向轮驱动电机163提供驱动电流;动力传输模块(未示出),用于向轮163提供轮驱动电机161的旋转力;以及旋转传感器(未示出),用于检测轮驱动电机161或轮163的旋转位移和旋转速度。

清洁器170可以包括:鼓刷173,用于从要被清洁的地板分散污垢或灰尘;刷驱动电机171,用于旋转鼓刷173;吸尘风扇177,用于吸入分散的灰尘;吸尘电机175,用于旋转吸尘风扇177;以及集尘箱179,用于存储吸入的灰尘。

如图14所示,鼓刷173设置在形成于副机身103的底部处的灰尘入口105处,并且绕沿与要被清洁的地板平行的方向设置的旋转轴旋转,使得将灰尘从要被清洁的地板分散到灰尘入口105中。

刷驱动电机171布置在鼓刷173附近,使得刷驱动电机171响应于控制器110的清洁控制信号而使鼓刷173旋转。

尽管在附图中未示出,但是清洁器170还可以包括用于响应于控制器110的控制信号而向刷驱动电机171提供驱动电流的电机驱动电路(未示出)、以及用于将刷驱动电机171的旋转力传递到鼓刷173的动力传输模块(未示出)。

如图3所示,吸尘风扇177安装在主机身101上,使得将由鼓刷173分散的灰尘吸入到集尘箱179中。

吸尘电机175布置在吸尘风扇177附近,并且响应于控制器110的控制信号而使吸尘风扇177旋转。

尽管在附图中未示出,但是清洁器170还可以包括用于响应于控制器110的控制信号而向吸尘电机175提供驱动电流的电机驱动电路(未示出)、以及用于将吸尘电机175的旋转力传递到吸尘风扇177的动力传输模块(未示出)。

如图3所示,集尘箱179设置在主机身101上,并且可以存储由吸尘风扇177吸入的灰尘。

此外,清洁器170还可以包括灰尘导管,通过该灰尘导管将通过吸入通过灰尘入口105的灰尘引导至设置在主机身101处的集尘箱179。

存储装置180可以存储用于控制机器人清洁器100所需的控制程序和控制数据,并且还可以存储用于响应于用户输入而执行各种功能所需的各种应用程序和应用数据。

例如,存储装置180可以存储:操作系统(os)程序,用于管理机器人清洁器100中包含的结构和资源(软件和硬件);图像处理程序,用于处理由障碍物检测器140获取的反射光图像;以及电动机控制程序,用于控制驱动器160和170中分别包含的驱动电动机161和171,等等。

存储装置180可以充当将在稍后描述的存储器115的辅助存储器设备。

具体地,存储装置180可以存储指示在机器人清洁器100的初始行进之前生成的清洁空间地图的地图数据。

清洁空间地图可以包括:包括清洁空间中包含的多个清洁区域之间的连接性的拓扑地图;以及指示清洁空间的形状和障碍物的位置的度量地图、网格地图或几何地图。为了便于描述,度量地图、网格地图和几何地图将在下文中仅被称为“网格地图”。

网格地图可以对清洁空间执行空间分解以表示清洁空间,并且还可以表示任意结构和对象(障碍物)。

此外,拓扑地图可以表示多个清洁区域或多个对象(障碍物)之间的连接性,并且可以使用多个清洁区域和用于互连清洁区域的连接线来抽象清洁空间。

网格地图和拓扑地图是在机器人清洁器100最初在清洁空间中行进之前形成的,并且存储在存储装置180中。此外,机器人清洁器100可以在清洁空间中到处行进的同时,更新存储装置180中存储的拓扑地图和网格地图。

以下将描述用于形成网格地图和拓扑地图的方法。

存储装置180可以包括非易失性存储器,即使当机器人清洁器100掉电时,该非易失性存储器存储的数据也不会被擦除。例如,存储装置180可以包括硬盘驱动器181、固态驱动器183等。

通信器190可以与用于中继无线通信的接入点(ap)、用于移动通信的用户设备(ue)以及诸如其它家用电器之类的外部设备通信。

根据通信协议,通信器190可以包括各种通信器(191,193)和天线(未示出)。例如,通信器190可以包括蓝牙(bluetoothtm)通信器191、wi-fi(wi-fitm)通信器193等。蓝牙通信器192已广泛用于执行多个端节点之间的数据通信。wi-fi通信器193用于形成局域网(lan)或用于访问诸如互联网之类的广域网(wan)。

机器人清洁器100可以通过通信器190从外部设备接收地图数据,或者可以通过通信器190向外部设备发送地图数据。

控制器110可以控制机器人清洁器100中包含的各个构成元件。

控制器110可以包括:输入/输出(i/o)接口,用于调解控制器110与机器人清洁器100中包含的各种构成设备之间的数据通信;存储器115,用于存储程序和数据;图形处理器113,用于执行图像处理;以及主处理器111,用于根据存储器113中存储的程序和数据来执行计算操作。此外,控制器110可以包括数据总线119,以调解i/o接口117、存储器115、图形处理器113和主处理器111之间的数据通信。

i/o接口117可以从用户接口(ui)120接收用户命令,可以从移动检测器130接收机器人清洁器100的移动信息,并且可以接收由障碍物检测器140检测到的障碍物等。此后,i/o接口117可以通过数据总线119向主处理器111、图形处理器113、存储器115等发送所接收到的用户命令、所接收到的移动信息和所接收到的障碍物信息。

此外,i/o接口117可以向ui120、驱动器160或清洁器170发送从主处理器111生成的各种控制信号。

存储器115可以暂时存储用于控制机器人清洁器100所需的控制程序和控制数据、由ui120接收的用户命令、由移动检测器130检测到的移动信息、由障碍物检测器140检测到的障碍物位置信息、以及从主处理器111生成的各种控制信号。

存储器115可以包括诸如sram、dram之类的易失性存储器。然而,本公开的范围或精神不限于此。如果需要,存储器115可以包括非易失性存储器,例如闪存、只读存储器(rom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)等。

更详细地,非易失性存储器可以半永久地存储用于控制机器人清洁器100所需的控制程序和控制数据。易失性存储器可以从非易失性存储器获得控制程序和控制数据,并且可以存储所获得的控制程序和控制数据。备选地,易失性存储器可以存储由ui120接收的用户命令、由移动检测器130检测到的移动信息、由障碍物检测器140检测到的障碍位置信息、以及从主处理器111生成的各种控制信号。

图形处理器113可以将从障碍物检测器140获取的反射光图像转换为具有能够由主处理器111处理的分辨率的图像,或者可以将反射光图像转换为能够由主处理器111处理的格式。

主处理器111可以根据存储器115中存储的控制程序来处理存储器115中存储的数据。

例如,主处理器111可以处理移动检测器130和障碍物检测器140的输出信号,并且可以生成用于控制驱动器160和清洁器170的控制信号。

主处理器111可以基于由移动检测器130检测到的机器人清洁器100的移动信息而生成行进记录,并且可以将生成的行进记录存储在存储器115中。此外,主处理器111可以基于行进记录来更新存储装置180中存储的地图数据。

主处理器111可以基于由障碍物检测器140获取的反射光图像来计算障碍物的方向、距离和大小。此外,主处理器111可以根据障碍物的方向、距离和大小来计算用于避开障碍物的行进路径,并且可以生成要被供应至驱动器160、使得机器人清洁器100沿着所计算出的行进路径移动的行进控制信号。

如上所述,控制器110可以基于移动检测器130的输出信号来确定机器人清洁器100的位置、移动等,并且可以基于障碍物检测器140的输出信号来确定障碍物的位置、大小等。

此外,控制器110可以对驱动器160进行控制,使得机器人清洁器100在要被清洁的地板上行进,并且可以对清洁器170进行控制,使得机器人清洁器100可以在运动的同时对要被清洁的地板进行清洁。

机器人清洁器100的以下操作可以被解释为由控制器110的控制操作引起的操作。

尽管为了便于描述的目的上述实施例已经示例性地公开了ui120、移动检测器130、障碍物检测器140、图像获取器150、驱动器160、清洁器170、存储装置180、通信器190和控制器110,但是机器人清洁器100的范围或精神不限于此,并且如有需要,可以将一些构成元件从机器人清洁器100排除或添加到机器人清洁器100。

例如,机器人清洁器100还可以包括照度传感器、地磁传感器等。

以下将描述用于使用上述障碍物检测器140来检测障碍物(o)的方法。

以下将给出根据本公开的用于允许障碍物检测器140识别障碍物的存在或不存在的方法。

图5是示出了根据本公开实施例的用于允许机器人清洁器中包含的障碍物检测器检测位于前向方向上的障碍物的方法的概念图。图6是示出了根据本公开实施例的用于允许机器人清洁器中包含的障碍物检测器检测位于侧向上的障碍物的方法的概念图。

如上所述,障碍物检测器140可以包括前向光发射模块141、前向光接收模块143和侧面光传感器模块145。

障碍物检测器140中包含的前向光发射模块141可以沿机器人清洁器100的行进方向发射光,并且由前向光发射模块141发射的光可以发散成扇形扩散,如图5所示。

如果障碍物(o)不位于机器人清洁器100的行进方向上,则从前向光发射模块141发出的光(dl)沿机器人清洁器100的行进方向行进,从而前向光接收模块143不会接收到从障碍物(o)反射的光(rl)。

相反,如果障碍物(o)位于机器人清洁器100的前方上,则从前向光发射模块141发出的光(dl)将从障碍物(o)反射。在这种情况下,从障碍物(o)反射的反射光(rl)之中的一些部分可以被引导至机器人清洁器100的前向光接收模块143。

进入前向光接收模块143的反射光(rl)可以从反射镜143a反射,并且图像传感器143b可以接收从反射镜143a反射的反射光。

在这种情况下,由于从前向光发射模块141发射的光平行于要被清洁的地板,因此从障碍物(o)反射的光可以具有线形。换句话说,从障碍物(o)反射的光可以在反射镜143a上形成线图像。

图像传感器143a可以向控制器110输出指示在反射镜143a上形成的线图像的长度和位置的图像数据,并且控制器110可以基于图像数据来确定障碍物的大小和位置(方向和距离)。

如上所述,机器人清洁器100可以基于由图像传感器143b获取的图像来计算障碍物(o)的方向和距离。

侧面光传感器模块145可以沿机器人清洁器100的侧向发射线性光(如图6所示),并且可以接收从位于机器人清洁器100的侧向上的障碍物(o)反射的光。

此外,侧面光传感器模块145可以向控制器110提供反射光的接收数据,并且控制器110可以基于反射光的接收数据来计算机器人清洁器100和障碍物(o)之间的距离。

例如,侧面光传感器模块145可以向控制器110发送与所接收到的反射光的强度有关的信息,并且控制器110可以基于反射光强度来计算机器人清洁器100和障碍物(o)之间的距离。

在另一示例中,侧面光传感器模块145可以向控制器110发送发射光和所接收到的反射光之间的飞行时间(tof)差,并且控制器110可以基于tof值来计算机器人清洁器100与障碍物(o)之间的距离。

在另一示例中,侧面光传感器模块145可以向控制器110发送发射光的发射位置与反射光的接收位置之间的距离。控制器110可以基于光发射位置和光接收位置之间的距离来计算机器人清洁器100与障碍物(o)之间的距离。

如上所述,机器人清洁器100可以通过光、无线电波、声波(超声波)等来确定障碍物(o)的大小和位置

上述实施例已经公开了机器人清洁器100。

以下将描述用于生成地图数据的方法和机器人清洁器100的操作。

图7是示出了根据本公开实施例的用于生成地图数据的方法的流程图。图8示出了指示平面图的建筑平面图(fp)的示例。图9是示出了基于图8中所示的fp、由图7中所示的地图数据生成方法而生成的拓扑地图的示图。图10是示出了基于图8的fp、由图7中所示的地图数据生成方法而生成的网格地图的示图。图11是示出了基于图8的fp、由图7中所示的地图数据生成方法而生成的拓扑网格地图的示图。

在下文中,将参考图7至图11描述地图数据生成方法1000。

地图数据生成方法1000可以由机器人清洁器100的制造商执行或者由机器人清洁器100执行。换句话说,机器人清洁器100的制造商可以在机器人清洁器100的销售过程期间、在接收到用户请求时生成与用户的清洁空间有关的地图数据,并且可以将所生成的地图数据存储在机器人清洁器100中。备选地,在机器人清洁器最初在用户的清洁空间中行进之前的初始化操作期间,机器人清洁器100可以生成与用户的清洁空间有关的地图数据。

首先,在操作1010中,获得指示清洁空间的平面图的建筑平面图(fp)。

清洁空间的fp可以以各种方式获得。

例如,机器人清洁器100或机器人清洁器100的制造商可以通过广域网(wan)(比如,互联网)从外部服务器获得清洁空间的建筑平面图(fp)。

近来,建筑开发商、房地产代理或事业单位已经在他们的互联网主页等上公布了与居住空间(房屋或公寓)、商业空间(办公套房式公寓,称为办公寓(officetel))和公共空间等有关的各种建筑平面图(fp)。

机器人清洁器100的制造商可以从用户获取用户地址信息,并且可以基于所获取的地址信息下载向广域网(wan)(比如,互联网)开放的建筑平面图(fp)。

此外,机器人清洁器100可以通过通信器190访问互联网,并且可以从用户指定的互联网网站下载清洁空间的建筑平面图(fp)。

在另一示例中,机器人清洁器100或机器人清洁器100的制造商可以直接从用户获取建筑平面图(fp)。

机器人清洁器100的制造商可以直接从用户接收形成在图像文件中的建筑平面图。

机器人清洁器100可以通过通信器190从用户设备(ue)接收图像文件形状的建筑平面图(fp)。

建筑平面图(fp)可以包括与用户的清洁空间有关的大量信息。

例如,建筑平面图(fp)可以包括清洁空间的几何结构,如图8所示。换句话说,建筑平面图(fp)可以使用文字、数字、符号、图像等,来显示与墙壁和入口的布置有关的信息、与每个清洁空间的大小有关的信息、以及各个清洁区域(客厅、主卧、次卧、卫生间、前门入口等)的大小。

此外,建筑平面图(fp)不仅可以包括与清洁空间中包含的清洁区域(客厅、主卧、次卧、卫生间、前门入口等)有关的信息,还可以包括与清洁区域(客厅、主卧、次卧、卫生间、前门入口等)之间的连接性有关的信息。换句话说,可以在建筑平面图(fp)上显示指示由墙壁划分而成的清洁区域(客厅、主卧、次卧、卫生间、前门入口等)的文字、数字或符号,并且可以在建筑平面图(fp)上将用于互连清洁区域(客厅、主卧、次卧、卫生间、前门入口等)的入口显示为图像。

尽管图8中示例性地示出了关于居住空间(例如,房屋或公寓)的建筑平面图(fp),但是本公开的范围不限于居住空间的建筑平面图(fp)。

例如,由机器人清洁器100获得的建筑平面图(fp)或由机器人清洁器100的制造商获得的建筑平面图(fp)可以是办公区域的建筑平面图(fp)或公共空间的建筑平面图(fp)。办公区域的建筑平面图(fp)可以包括办公室、会议室、办公茶水间(officepantry)、仓库、休息室、实验室等。此外,公共区域的建筑平面图(fp)可以包括工作场所、步行空间、休息区、楼梯、厕所等。

机器人清洁器100或机器人清洁器100的制造商可以基于包括上述信息在内的建筑平面图(fp)而生成地图数据。

此后,在操作1020中,生成拓扑地图(tm),并且在操作1030中,生成网格地图(gm)。

在这种情况下,可以顺序地或独立地生成拓扑地图(tm)和网格地图(gm)。

如上所述,拓扑地图(tm)可以指示多个清洁区域或多个对象(障碍物)之间的连接性。

可以从建筑平面图(fp)中提取被配置为构造拓扑地图(tm)的多个清洁节点(n1,n2,n3,n4,n5)。

例如,参考包括由指示客厅、主卧、次卧、卫生间和入口的文字表示的清洁空间在内的建筑平面图(fp)(如图8所示),可以从图9的fp中提取指示客厅的第一清洁节点n1、指示主卧的第二清洁节点n2、指示次卧的第三清洁节点n3、指示卫生间的第四清洁节点n4、以及指示入口的第五清洁节点n5。

结果,拓扑地图(tm)可以包括第一清洁节点n1、第二清洁节点n2、第三清洁节点n3、第四清洁节点n4和第五清洁节点n5。

此外,可以基于建筑平面图(fp)来确定多个清洁节点(n1,n2,n3,n4,n5)之间的连接性。

例如,如图9所示,可以基于fp来确定用于互连第一清洁节点n1和第二清洁节点n2的第一连接(co1)、用于互连第一清洁节点n1和第三清洁节点n3的第二连接(co2)、用于互连的第一清洁节点n1和第四清洁节点n4的第三连接(co3)、以及用于互连第一清洁节点n1和第五清洁节点n5的第四连接(co4)。

结果,拓扑地图(tm)可以包括第一清洁节点n1、第二清洁节点n2、第三清洁节点n3、第四清洁节点n4和第五清洁节点n5之间的连接关系(co1,co2,co3,co4)。

如上所述,拓扑地图(tm)可以表示如fp中所示的各个清洁区域和清洁区域之间的连接关系。

此外,网格地图(gm)可以通过对清洁空间执行空间分解法来表示清洁空间。

例如,根据如图8所示的包括客厅、主卧、次卧、卫生间和入口在内的清洁空间的建筑平面图(fp),网格地图(gm)可以包括清洁空间的整个轮廓和当清洁空间被划分为多个预定大小块时获取的多个清洁块(cb)。

此外,网格地图(gm)可以根据需要将清洁空间划分为多个清洁区域(r1,r2,r3,r4)。例如,网格地图(gm)可以将指示清洁空间的建筑平面图(fp)划分为指示客厅的第一清洁区域r1、指示主卧的第二清洁区域r2、指示次卧的第三清洁区域r3、以及指示卫生间的第四清洁区域r4。此外,清洁区域(r1,r2,r3,r4)中的每一个可以被分类为多个清洁块(cb)。

结果,网格地图(gm)可以将清洁空间划分为多个清洁区域(r1,r2,r3,r4)和多个清洁块(cb)。

如上所述,网格地图(gm)可以表示在建筑平面图(fp)中示出的清洁区域的几何结构以及清洁区域中包含的特定位置的信息。

如上所述,机器人清洁器100或机器人清洁器100的制造商可以基于建筑平面图(fp)独立地生成拓扑地图(tm)和网格地图(gm)。

以下将描述用于形成拓扑地图(tm)和网格地图(gm)的详细方法。

此后,在操作1040中,合成拓扑地图(tm)和网格地图(gm)。

如上所述,拓扑地图(tm)可以包括清洁空间中包含的各个清洁区域以及清洁区域之间的连接性。网格地图(gm)可以包括与清洁空间的外部形状有关的信息和清洁空间中包含的位置信息(比如,特定位置的坐标)。

如上所述,拓扑地图(tm)和网格地图(gm)是彼此互补的。如果拓扑地图(tm)和网格地图(gm)被合成了,则机器人清洁器100可以识别清洁区域之间的连接性和清洁空间的位置信息。

拓扑地图(tm)和网格地图(gm)的合成可以通过将拓扑地图(tm)中包含的多个清洁节点(n1,n2,n3,n4,n5)映射到网格地图(gm)中包含的多个清洁区域(r1,r2,r3,r4)来实现。

例如,如图11所示,可以将拓扑地图(tm)的第一清洁节点n1映射到网格地图(gm)的第一清洁区域r1,可以将拓扑地图(tm)的第二清洁节点n2映射到网格地图(gm)的第二清洁区域r2,可以将拓扑地图(tm)的第三清洁节点n3映射到网格地图(gm)的第三清洁区域r3,并且可以将拓扑地图(tm)的第四清洁节点n4映射到网格地图(gm)的第四清洁区域r4。在这种情况下,可以删除未映射到清洁区域(r1,r2,r3,r4)的第五清洁节点n5。

多个清洁节点(n1,n2,n3,n4)和多个清洁区域(r1,r2,r3,r4)的上述映射操作可以通过fp的媒体(medium)来实现。

更详细地,不仅可以基于在从建筑平面图(fp)中提取多个清洁节点(n1,n2,n3,n4)时获得的坐标,还可以基于在从建筑平面图(fp)中提取多个清洁区域(r1,r2,r3,r4)时获得的其它坐标,来将多个清洁节点(n1,n2,n3,n4)映射到多个清洁区域(r1,r2,r3,r4)。

例如,从网格地图(gm)中的以文字“客厅”示出的第一清洁区域r1中提取拓扑地图(tm)的第一清洁节点n1,使得第一清洁节点n1可以映射到第一清洁区域r1。

从网格地图(gm)中的以文字“主卧”示出的第二清洁区域r2中提取拓扑地图(tm)的第二清洁节点n2,使得第二清洁节点n2可以映射到第二清洁区域r2。

从网格地图(gm)中的以文字“次卧”示出的第三清洁区域r3中提取拓扑地图(tm)的第三清洁节点n3,使得第三清洁节点n3可以映射到第三清洁区域r3。

从网格地图(gm)中的的以文字“卫生间”示出的第四清洁区域r4中提取拓扑地图(tm)的第四清洁节点n4,使得第四清洁节点n4可以映射到第四清洁区域r4。

结果,拓扑地图(tm)和网格地图(gm)可以被合成为如图11所示的那样。

尽管图11中示出了拓扑地图的多个清洁节点(n1,n2,n3,n4)与网格地图(gm)的多个清洁区域(r1,r2,r3,r4)重叠,但是本公开的范围不限于此,并且多个清洁节点(n1,n2,n3,n4)可以与多个清洁区域(r1,r2,r3,r4)相关联地存储。例如,可以独立地提供用于将多个清洁节点(n1,n2,n3,n4)映射到多个清洁区域(r1,r2,r3,r4)的查找表(lut)。

此后,在操作1050中,可以存储合成了拓扑地图(tm)和网格地图(gm)的拓扑网格地图(tgm)。

拓扑网格地图(tgm)可以通过合成拓扑地图(tm)和网格地图(gm)来实现,并且可以表示清洁空间中包含的多个清洁区域、多个清洁区域之间的连接性、以及多个清洁区域的位置信息。

机器人清洁器100或机器人清洁器100的制造商可以将拓扑网格地图(tgm)存储在机器人清洁器100的存储装置180中。例如,机器人清洁器100或机器人清洁器100的制造商可以将指示拓扑网格地图(tgm)的地图数据存储在机器人清洁器100的存储装置180中。

如上所述,可以在机器人清洁器100最初在用户的清洁空间中行进之前,将拓扑网格地图(tgm)存储在机器人清洁器100中。拓扑网格地图(tgm)可以包括清洁空间中包含的多个清洁区域、多个清洁区域之间的连接性、以及多个清洁区域的位置信息。

以下将描述用于基于建筑平面图(fp)来形成拓扑地图(tm)的方法。

图12是示出了根据本公开实施例的用于生成拓扑地图的方法的流程图。图13是示出了通过图12的拓扑地图生成方法提取的文字区域的示图。图14是示出了通过图12的拓扑地图生成方法提取的墙壁(w)的示图。图15是示出了通过图13的拓扑地图生成方法生成的多个清洁节点之间的最短路径的示图。

以下将参考图12至图15来描述拓扑地图(tm)生成方法1100。

将要描述的拓扑地图(tm)生成方法1100将由机器人清洁器100的制造商或由机器人清洁器100执行。换句话说,机器人清洁器100的制造商可以在机器人清洁器100的销售过程期间根据用户请求生成与用户的清洁空间有关的地图数据,并且可以将该地图数据存储在机器人清洁器100中。备选地,机器人清洁器100可以在机器人清洁器100最初在用户的清洁空间中行进之前的初始化过程期间,生成与用户的清洁空间有关的地图数据。

首先,在操作1110中,可以根据建筑平面图(fp)而生成多个清洁节点(n1,n2,n3,n4,n5)。

可以以各种方式生成指示多个清洁区域(r1,r2,r3,r4)的多个清洁节点(n1,n2,n3,n4,n5)。

例如,可以根据建筑平面图(fp)中示出的文字而生成多个清洁节点(n1,n2,n3,n4,n5)。

从图8中可以看出,通常在建筑平面图(fp)上显示指示各清洁区域的名称。例如,可以在建筑平面图(fp)上显示客厅、主卧、次卧、卫生间和前门入口。

在建筑平面图(fp)上标记的文字指示清洁空间中包含的清洁区域,使得可以生成与在建筑平面图(fp)上标记的多个文字相对应的多个清洁节点。

为了生成多个清洁节点,可以首先从建筑平面图(fp)中提取包括文字在内的文字区域。

可以使用各种算法来提取文字区域。

例如,可以使用文字区域提取算法(比如,形态学运算算法)从建筑平面图(fp)中提取文字。更详细地,建筑平面图(fp)中包含的文字或符号由细实线(细线)表示,使得可以从建筑平面图(fp)中提取文字区域。

更详细地,可以对建筑平面图(fp)执行扩张运算和侵蚀运算。通过相对于白色的扩张运算和侵蚀运算,可以从建筑平面图(fp)中删除由细实线组成的文字或符号中的每一个。

此后,可以对建筑平面图(fp)和删除了文字和符号的图像执行图像差运算。通过图像差运算,可以获取由文字或符号组成的细实线图像。

在这种情况下,通过图像差运算获取的图像不仅可以包括文字和符号,还可以包括噪声。因此,为了去除噪声,可以对通过图像差运算获取的图像进行贴标签。

此后,可以保留具有文字特性的标签,并且可以去除剩余的标签,使得可以去除除了文字和符号之外的噪声。

此后,可以通过相对于显示有文字或符号的图像进行聚类来提取文字区域。例如,如图13所示,可以提取包括“客厅”的第一文字区域c1、包括“主卧”的第二文字区域c2、包括“次卧”的第三文字区域c2、包括“卫生间”的第四文字区域c4、以及包括“前门入口”的第五文字区域c5。

此后,可以生成与所提取的文字区域相对应的清洁节点。例如,可以生成与第一文字区域c1相对应的第一清洁节点n1、与第二文字区域c2相对应的第二清洁节点n2、与第三文字区域c3相对应的第三清洁节点n3、与第四文字区域c4相对应的第四清洁节点n4、以及与第五文字区域c5相对应的第五清洁节点n5。

在另一示例中,可以通过相对于文字形状进行机器学习来从建筑平面图(fp)中提取文字,或者可以通过图像处理(比如,边缘检测)从建筑平面图(fp)中提取文字。此外,机器人清洁器100的制造商或用户也可以直接选择期望的文字区域。

此外,可以以能够识别清洁区域的名称的方式来识别所提取的文字区域中包含的文字。根据这种文字识别的结果,机器人清洁器100可以识别用户所说的清洁区域的名称。

例如,可以识别与第一清洁节点n1相对应的客厅、与第二清洁节点n2相对应的主卧、与第三清洁节点n3相对应的次卧、与第四清洁节点n4相对应的卫生间、以及与第五清洁节点n5相对应的前门入口。

此后,可以在操作1120中生成多个清洁节点(n1,n2,n3,n4,n5)之间的连接关系(co1,co2,co3,co4)。

多个清洁节点(n1,n2,n3,n4,n5)之间的连接关系(co1,co2,co3,co4)可以指示机器人清洁器100可以在清洁区域(r1,r2,r3,r4)之间移动的路径。

因此,如果生成清洁区域(r1,r2,r3,r4)之间的路径,则可以生成多个清洁节点(n1,n2,n3,n4)之间的连接关系(co1,co2,co3,co4)。

为了生成清洁区域(r1,r2,r3,r4)之间的路径,可以将建筑平面图(fp)分类为机器人清洁器100可以移动到的第一区域和机器人清洁器100不能移动到的第二区域。

换句话说,可以从建筑平面图(fp)中提取机器人清洁器100不能移动到的墙壁(w)。

可以以各种方式从建筑平面图(fp)中提取墙壁(w)。

例如,可以使用形态学运算算法从建筑平面图(fp)中提取墙壁(w)。更详细地,可以用粗实线(粗线)表示建筑平面图(fp)的每个墙壁(w),使得可以从建筑平面图(fp)中提取每个墙壁(w)。

可以对建筑平面图(fp)执行扩张运算和侵蚀运算。通过相对于白色的扩张运算和侵蚀运算,可以从建筑平面图(fp)中删除细实线(细线)。

结果,可以从建筑平面图(fp)中提取包括粗线墙壁(w)在内的图像,如图14所示。

此后,可以基于指示墙壁的图像而生成清洁区域(r1,r2,r3,r4)之间的路径。

为了生成多个清洁区域(r1,r2,r3,r4)之间的路径,可以计算多个文字区域(c1,c2,c3,c4,c5)之间的最短路径。由于文字区域(c1,c2,c3,c4,c5)分别表示清洁区域(r1,r2,r3,r4),因此多个文字区域(c1,c2,c3,c4,c5)之间的最短路径可以指示多个清洁区域(r1,r2,r3,r4)之间的路径。

可以以各种方式计算多个文字区域(c1,c2,c3,c4,c5)之间的最短路径。

例如,可以使用a-星(a*)算法来计算多个文字区域(c1,c2,c3,c4,c5)之间的最短路径。

a*算法是一种被设计用于搜索从出发地到目的地的最短路径的图/树搜索算法。

更详细地,根据a*算法,可以计算指示用于估计穿过每个场所(每个点)的最佳路径的秩值的启发估计值h(x),并且基于所计算出的启发估计值h(x)来搜索最佳路径。

例如,如果搜索到了从第一清洁节点n1到第二清洁节点n2的最短路径,则可以计算关于与第一清洁节点n1连接或相邻的所有点的启发估计值h(x),并且可以基于所计算的启发估计值h(x)来选择与第一清洁节点n1连接或相邻的任何一个点。

此外,可以计算关于与所选择的点连接或相邻的所有点的启发估计值h(x),并且可以基于所计算的启发估计值h(x)来选择与所选择的点连接或相邻的任何一个点。

通过重复上述操作,可以搜索从第一清洁节点n1到第二清洁节点n2的最短路径。

可以通过下面的等式1来表示a*算法。

[等式1]

f(x)=g(x)+h(x)

在等式1中,f(x)可以表示点x处的估计函数,g(x)可以表示从出发点到点x的成本,并且h(x)可以表示从点x到目的地点的成本。

可以使用a*算法来计算多个清洁节点(n1,n2,n3,n4,n5)之间的最短距离。

例如,如图15所示,根据a*算法,可以生成图15中所示的第一清洁节点n1与第二清洁节点n2之间的最短路径(co1)、第一清洁节点n1与第三清洁节点n3之间的最短路径(co2)、第一清洁节点n1和第四清洁节点n4之间的最短路径(co3)、以及第一清洁节点n1和第五清洁节点n5之间的最短路径(co4)。

尽管图15中示出了示例性搜索了从第一清洁节点n1到第二清洁节点n2、第三清洁节点n3、第四清洁节点n4和第五清洁节点n5中的每一个的最短路径,但是本公开的范围不限于此,也可以搜索所有清洁节点(n1,n2,n3,n4,n5)之间的最短路径。

此外,可以使用a*算法来计算清洁节点(n1,n2,n3,n4,n5)之间的成本(即,距离)。由于a*算法计算点x处的估计函数值,因此目标点处的估计函数值可以是从出发点到目的地点的成本(即,距离)。

例如,可以将第一清洁节点n1和第二清洁节点n2之间的最短路径(co1)的距离定义为第一清洁节点n1和第二清洁节点n2之间的成本。可以将第一清洁节点n1和第三清洁节点n3之间的最短路径(co2)的距离定义为第一清洁节点n1和第三清洁节点n3之间的成本。此外,可以将第一清洁节点n1和第四清洁节点n4之间的最短路径(co3)的距离定义为第一清洁节点n1和第四清洁节点n4之间的成本。

可以将第一清洁节点n1和第物清洁节点n5之间的最短路径(co4)的距离定义为第一清洁节点n1和第五清洁节点n5之间的成本。

当机器人清洁器100在后续过程中在清洁区域(r1,r2,r3,r4)之间移动时,清洁节点之间的成本可以用于搜索最短路径。

此外,可以根据a*算法将被误解为清洁节点的符号(或类似物)排除。更详细地,可以删除根据a*算法搜索不到最短路径的清洁节点,并且所删除的清洁节点可以与在fp上标记的任何符号相对应。

不仅可以使用a*算法,还可以使用dijkstra算法或最佳优先搜索(bfs)算法,来搜索多个清洁节点(n1,n2,n3,n4,n5)之间最短路径。

此后,可以简化多个清洁节点(n1,n2,n3,n4,n5)之间的路径。

为了生成多个清洁节点(n1,n2,n3,n4,n5)之间的连接关系,可以简化多个清洁节点(n1,n2,n3,n4,n5)之间的路径,并且可以基于多个清洁节点(n1,n2,n3,n4,n5)之间的简化路径而生成多个清洁节点(n1,n2,n3,n4,n5)之间的连接关系。

此后,在操作1130中,可以存储所生成的拓扑地图(tm)。

如上所述,可以使用fp上显示的文字、数字、符号或图像而生成多个清洁节点(n1,n2,n3,n4,n5),并且可以使用指示墙壁(w)的图像而生成多个清洁节点(n1,n2,n3,n4,n5)之间的连接关系(co1,co2,co2,co4)。结果,可以获取指示多个清洁节点(n1,n2,n3,n4,n5)和多个清洁节点(n1,n2,n3,n4,n5)之间的连接关系(co1,co2,co2,co4)的拓扑地图(tm)。在这种情况下,并非拓扑地图(tm)中包含的所有清洁节点(n1,n2,n3,n4,n5)都反映在拓扑网格地图(tgm)中。也就是说,可以删除未映射到网格地图(gm)中包含的多个清洁区域(r1,r2,r3,r4)的节点n5。

机器人清洁器100或机器人清洁器100的制造商可以将拓扑地图(tm)存储在机器人清洁器100的存储装置180中。例如,机器人清洁器100或机器人清洁器100的制造商可以将指示拓扑地图(tm)的地图数据存储在机器人清洁器100的存储装置180中。

如上所述,可以在机器人清洁器100最初在用户的清洁空间中到处行进之前将拓扑地图(tm)存储在机器人清洁器100中,并且拓扑地图(tm)可以包括指示清洁空间中包含的多个清洁区域的多个清洁节点和多个清洁节点之间的连接关系。

尽管上述实施例已经示例性地公开了用于通过从建筑平面图(fp)中提取文字而生成拓扑地图(tm)的方法,但是拓扑地图(tm)生成方法不限于用于从建筑平面图(fp)中提取文字的方法。例如,为了获取拓扑地图(tm),可以使用voronoi图,在该voronoi图中提取建筑平面图(fp)的边缘,并且将所提取的边缘均匀地划分为多个部分的特定点确定为清洁点。备选地,将建筑平面图(fp)划分成多个单元,并且将各个划分的单元聚类,使得可以获取拓扑地图(tm)。

以下将描述用于基于建筑平面图(fp)而生成网格地图(gm)的方法。

图16是示出了根据本公开实施例的用于生成网格地图的方法的流程图。图17是示出了通过图16的网格地图生成方法生成的三维(3d)空间模型的示图。图18是示出了虚拟机器人清洁器根据图16的网格地图生成方法行进的示图。图19是示出了通过图16的网格地图生成方法生成的网格地图的示图。

以下将参考图16至图19来描述拓扑地图(tm)生成方法1200。

网格地图(gm)生成方法1200可以由机器人清洁器100或机器人清洁器100的制造商执行。换句话说,机器人清洁器100的制造商可以在机器人清洁器100的销售过程期间、在从用户接收到请求时生成与用户的清洁空间有关的地图数据,并且可以将所生成的地图数据存储在机器人清洁器100中。备选地,在机器人清洁器100最初在用户的清洁空间中行进之前的初始化操作期间,机器人清洁器100可以生成与用户的清洁空间有关的地图数据。

首先,可以在操作1210中根据建筑平面图(fp)生成3d空间模型(mm)和3d机器人模型(rm)。

可以基于建筑平面图(fp)上显示的实际测量值,生成与实际清洁空间成相同比例的3d空间模型(mm)。更详细地,可以基于从建筑平面图(fp)中提取的文字、数字、符号或图像来获取清洁空间的实际测量值。

此外,可以基于清洁空间的实际测量值将建筑平面图(fp)中的由w表示的部分建模为三维(3d)墙,并且可以将建筑平面图(fp)中的由前门入口表示的部分建模为3d入口。

例如,可以通过对图8的建筑平面图(fp)进行3d建模而生成图17中所示的3d空间模型(mm)。

为了生成更简化的3d空间模型(mm),可以使用指示墙壁(w)的图像。

如上所述,通过针对建筑平面图(fp)的扩张运算和侵蚀运算,可以从建筑平面图(fp)中获取指示墙壁(w)的图像。此外,可以根据指示墙壁(w)的图像而生成简化的3d空间模型(mm)。

也可以生成与实际机器人清洁器100成相同比例的3d机器人模型(rm)。更详细地,可以基于从机器人清洁器100获得的实际测量值而生成3d机器人模型(rm)。

此外,可以生成3d机器人模型(rm),使得3d机器人模型(rm)可以沿着与机器人清洁器100所行进的路径相同的行进路径行进。

例如,3d机器人模型(rm)可以包括虚拟用户接口(ui)、移动检测器、障碍物检测器、驱动器、清洁器、存储装置、通信器和控制器。此外,3d机器人模型(rm)可以根据移动检测器和障碍物检测器的输出信号来控制驱动器,并且可以在机器人清洁器100的行进期间将行进记录存储在存储装置中。

此后,在操作1220中,可以使用3d空间模型(mm)和3d机器人模型(rm)来执行行进模拟。

换句话说,3d机器人模型(rm)可以在3d空间模型(mm)中自动地行进。

例如,3d机器人模型(rm)可以执行墙壁跟踪行进,使得3d机器人模型(rm)可以在指示清洁空间的3d空间模型(mm)的所有区域中行进。

根据墙壁跟踪行进,3d机器人模型(rm)可以在3d空间模型(mm)中行进的同时与墙壁(w)保持恒定距离,如图18所示。

此外,3d机器人模型(rm)可以在3d空间模型(mm)中行进的同时存储行进记录。在墙壁跟踪行进期间写入的行进记录可具有与如图18所示的清洁空间相同的形状。

更详细地,如果3d机器人模型(rm)在墙壁跟踪行进期间到达出发点,则3d机器人模型(rm)的行进记录可以形成闭环。此外,基于行进记录的闭环可以具有与清洁空间相同的形状。

因此,可以基于3d空间模型(mm)的行进记录而生成清洁空间的网格地图(gm)。

更详细地,可以将基于行进记录的闭环分类为多个清洁区域(r1,r2,r3,r4),如图19所示。

更详细地,可以将基于行进记录的闭环分类为多个清洁区域(r1,r2,r3,r4)。在行进记录时间期间,可以在与入口大小(例如,80厘米至110厘米)相对应的预定距离内搜索具有相反行进方向的两个点,并且可以将这两个点之间的间隔定义为入口。

例如,图18的第一点p1与第二点p2之间的距离可以与入口大小范围(例如,80cm至110cm)相对应,并且第一点p1处的行进方向与第二点p2处的行进方向相反,使得可以将第一点p1与第二点p2之间的间隔定义为入口。

此外,可以基于确定的入口将清洁空间分类为多个清洁区域(r1,r2,r3,r4)。

例如,如果将图18的第一点p1和第二点p2之间的间隔定义为入口,则可以基于入口将清洁空间分类为第一清洁区域r1和第二清洁区域r2。

此外,清洁区域(r1,r2,r3,r4)中的每一个可以被分类为多个清洁块(cb)。

各个清洁块(cb)可以具有彼此相同的大小,并且可以被形成为如图19所示的网格形状。

每个清洁块(cb)可以包括唯一的位置信息,并且可以包括与位于清洁空间中的障碍物(墙壁、家具等)有关的信息。机器人清洁器100可以在行进期间通过障碍物检测器140检测障碍物,并且还可以通过网格地图(gm)的清洁块(cb)来估计障碍物的位置。

此外,每个清洁块(cb)可以包括与清洁区域和未清洁区域有关的信息。机器人清洁器100可以在行进期间通过清洁块(cb)来区分清洁区域和未清洁区域。

如上所述,通过3d机器人模型(rm)在3d空间模型(mm)上的行进模拟而生成网格地图(gm),使得可以生成其中反映了机器人清洁器的行进环境的网格地图(gm)。

此后,在操作1230中,可以存储所生成的网格地图(gm)。

如上所述,可以通过3d机器人模型(rm)在3d空间模型(mm)上的行进模拟来形成网格地图(gm)的外观。此外,网格地图(gm)中示出的清洁空间可以被分类为多个清洁区域,并且每个清洁区域可以被分类为多个清洁块(cb)。结果,可以获得不仅包括清洁空间结构、还包括清洁空间中所包含的障碍物在内的网格地图(gm)。

机器人清洁器100或机器人清洁器100的制造商可以将gm存储在机器人清洁器100的存储装置180中。例如,机器人清洁器100或机器人清洁器100的制造商可以将地图数据存储在机器人清洁器100的存储装置180中。

如上所述,可以在机器人清洁器100最初在用户的清洁空间中行进之前将gm存储在机器人清洁器100中,并且网格地图(gm)可以指示清洁空间结构和清洁空间中包含的障碍物。

尽管为了便于描述的目的上述实施例已经示例性地公开了用于使用3d建模而生成网格地图(gm)的方法,但是网格地图(gm)生成方法不限于应用3d建模。例如,可以从建筑平面图(fp)中直接提取指示清洁空间的图像,并且将所提取的图像分类为多个清洁区域,从而也可以获取网格地图(gm)。

上述实施例已经公开了用于生成拓扑地图(tm)的方法、用于生成网格地图(gm)的方法、以及用于生成拓扑网格地图(tgm)的方法。

尽管拓扑网格地图(tgm)是使用建筑平面图(fp)而生成的,但是用户的清洁空间可能不能充分地在拓扑网格地图(tgm)中得到反映。例如,建筑平面图(fp)中所示的客厅与前门入口之间的阶差(stepdifference)(即,台阶高度差)或者建筑平面图(fp)中所示的客厅与卫生间之间的阶差可能不会反映在拓扑网格地图(tgm)中。

因此,可以在机器人清洁器100的初始行进之前由用户修改所存储的拓扑网格地图(tgm),或者可以在机器人清洁器100的实际行进期间对所存储的拓扑网格地图(tgm)进行修改。

以下将给出用于通过用户修改拓扑网格地图(tgm)的方法。

图20是示出了根据本公开一个实施例的用于修改地图的方法的流程图。图21至图30示出了根据图20的地图修改方法来修改拓扑网格地图的示例。

以下将参考图20至图29描述地图修改方法1300。

下面的地图修改方法1300可以由机器人清洁器100或用户设备(ue)执行。

首先,在操作1310中,显示拓扑网格地图(tgm)。

拓扑网格地图(tgm)可以直接显示在机器人清洁器100上,或者可以显示在用户设备(ue)上。

例如,机器人清洁器100可以直接在显示器123上显示拓扑网格地图(tgm),或者可以通过通信器190向由用户指定的用户设备(ue)发送拓扑网格地图(tgm)。已经接收到拓扑网格地图(tgm)的用户设备(ue)10可以根据用户输入在触摸屏11上显示拓扑网格地图(tgm)。

如图21所示,拓扑网格地图(tgm)可以与建筑平面图(fp)重叠,使得用户可以容易地识别地图。尽管拓扑网格地图(tgm)是用于允许机器人清洁器100在清洁空间中行进的地图,并且建筑平面图(fp)是用于显示清洁空间结构以供用户识别的地图,但是与拓扑网格地图(gtm)相比,用户更熟悉建筑平面图(fp)。

因此,拓扑网格地图(tgm)可以与建筑平面图(fp)重叠,从而显示重叠结果。

拓扑网格地图(tgm)的多个清洁节点(n1,n2,n3,n4)可以以用户可以容易地识别多个清洁节点(n1,n2,n3,n4)的方式分别显示在清洁区域(r1,r2,r3,r4)上。

更详细地,指示客厅的第一清洁节点n1可以显示在第一清洁区域r1中,指示主卧的第二清洁节点n2可以显示在第二清洁区域r2中。此外,指示次卧的第三清洁节点n3可以显示在第三清洁区域r3中,指示卫生间的第四清洁节点n4可以显示在第四清洁区域r4中。

此后,在操作1320中,可以根据用户(u)的输入信号来修改拓扑网格地图(tgm)。

可以根据用户(u)的输入信号以各种方式来修改拓扑网格地图(tgm)。

例如,可以通过用户(u)来修改多个清洁节点(n1,n2,n3,n4)中的至少一些部分节点的名称。

可以基于建筑平面图(fp)而生成拓扑网格地图(tgm)中包含的清洁节点(n1,n2,n3,n4)。因此,清洁节点(n1,n2,n3,n4)的名称(例如,客厅、主卧、次卧和卫生间)可以与实际用户u称呼的实际名称(例如,客厅、主卧、儿童房间、卫生间)不同。结果,用户(u)指定的清洁区域(例如,客厅、主卧、儿童房间、卫生间)可以不同于由机器人清洁器100识别的清洁区域(例如,客厅、主卧、儿童房间、卫生间)。

总之,机器人清洁器100可能不识别用户命令,或者可能执行与用户意图无关的操作。

为了防止上述操作的发生,可以根据用户的兴趣修改清洁节点(n1,n2,n3,n4)的名称。

参考图22,如果用户从多个清洁节点(n1,n2,n3,n4)之中选择了第三清洁节点n3,则可以显示用于修改第三清洁节点n3的弹出菜单(菜单)。在这种情况下,用户可以以各种方式选择第三清洁节点n3。例如,用户可以长时间触摸显示有第三清洁节点n3的部分,或者可以连续触摸该部分两次。

弹出菜单(菜单)可以包括用于修改第三清洁节点n3的属性的修改菜单(菜单1)和用于删除第三清洁节点n3的删除菜单(菜单2)。

如果用户在弹出菜单(菜单)中选择了修改菜单(菜单1),则可以在触摸屏11上显示用于允许用户输入文字、数字或符号的键区(键),如图23所示。

用户(u)触摸键区(键)上显示的文字、数字或符号,以输入第三清洁节点n3的新名称。

如果用户(u)输入第三清洁节点n3的新名称,则可以在拓扑网格地图(tgm)上显示第三清洁节点n3的新名称,如图24所示。

在另一示例中,清洁节点(n1,n2,n3,n4)的至少一些部分可以被用户(u)删除。

拓扑网格地图(tgm)中包含的清洁节点(n1,n2,n3,n4)和清洁区域(r1,r2,r3,r4)可以基于建筑平面图(fp)而生成。因此,实际清洁空间结构、指示机器人清洁器100是否可以进入的信息、以及用户意图可能不会反映到拓扑网格地图(tgm)。

具体地,根据拓扑网格地图(tgm),可能将机器人清洁器100由于未反映到建筑平面图(fp)的阶差而不能进入的清洁区域或用户不希望的其它清洁区域存储为要由机器人清洁器100清洁的清洁区域。

结果,机器人清洁器100可能发生故障,或可能执行与用户意图相反的操作。

为了解决上述问题,可以根据用户的兴趣删除指示多个清洁区域(r1,r2,r3,r4)的多个清洁节点(n1,n2,n3,n4)。

更详细地,如果如图25所示的用户选择了清洁节点(n1,n2,n3,n4)之中的第四清洁节点n4,则可以显示用于修改第四清洁节点n4的弹出菜单(菜单)。

如上所述,弹出菜单(菜单)可以显示用于修改第四清洁节点n4的属性的修改菜单(菜单1)和用于删除第四清洁节点n4的删除菜单(菜单2)。

如果用户(u)在弹出菜单(菜单)中选择了删除菜单(菜单2),则可以显示删除了第四清洁节点n4的拓扑网格地图(tgm),如图26所示。在这种情况下,第四清洁节点n4被删除,并且同时可以从拓扑网格地图(tgm)中删除第四清洁区域r4。

在另一示例中,可以由用户(u)将障碍物添加到清洁区域(r1,r2,r3)。

拓扑网格地图(tgm)中包含的清洁节点(n1,n2,n3)和清洁区域(r1,r2,r3)可以基于建筑平面图(fp)而生成。因此,由用户u在清洁空间中新布置的障碍物和由用户(u)的意图导致的禁止进入区域可能不会反映在拓扑网格地图(tgm)中。

结果,机器人清洁器100可能由于在机器人清洁器100在清洁空间100中行进时遇到的意外障碍物(o)而错误地识别机器人清洁器100的位置。

为了解决这个问题,可以由用户(u)将新的障碍物(o)添加到拓扑网格地图(tgm)中。

更详细地,如图27所示,用户(u)可以将障碍物(o)移动到拓扑网格地图(tgm)中所示的清洁区域(r1,r2,r3)。备选地,用户(u)可以在清洁区域(r1,r2,r3)中生成封闭区域,并且可以将所生成的封闭区域确定为禁止进入区域。

如上所述,如果用户(u)向拓扑网格地图(tgm)添加新的障碍物(o),则拓扑网格地图(tgm)的清洁区域(r1,r2,r3)或清洁节点(n1,n2,n3)会被新的障碍物(o)修改。

更详细地,如果如图28所示的向第二清洁区域r2添加了障碍物(o)或禁止进入区域,则拓扑网格地图(tgm)的第二清洁区域r2会根据所添加的障碍物(o)或禁止进入区域而被修改。

在另一示例中,可以通过用户(u)向清洁空间添加用于机器人清洁器100的通信的接入点(ap)。

拓扑网格地图(tgm)中包含的清洁节点(n1,n2,n3)和清洁区域(r1,r2,r3)是基于建筑平面图(fp)而生成的,使得布置在清洁空间中的ap可能不会反映到拓扑网格地图(tgm)中。

ap(接入点)位置可以用作用于识别机器人清洁器100的位置的重要手段。因此,拓扑网格地图(tgm)可以包括ap位置。

更详细地,如图29所示,用户(u)可以输入ap的位置设置命令,并且用户可以在拓扑网格地图(tgm)中触摸ap布置位置。

如上所述,如果用户(u)向拓扑网格地图(tgm)添加ap位置,则ap位置被添加到拓扑网格地图(tgm),可以基于ap位置建模清洁空间的射频(rf)信号的强度。结果,可以生成指示从ap生成的rf信号的强度的rf信号强度地图数据。

在另一示例中,可以由用户(u)添加布置在清洁空间中的灯(lp1,lp2,lp3)的位置。

由于拓扑网格地图(tgm)中包含的清洁节点(n1,n2,n3)和清洁区域(r1,r2,r3)是基于建筑平面图(fp)而生成的,因此布置在清洁空间中的灯(lp1,lp2,lp3)的位置可能不会反映在拓扑网格地图(tgm)中。

灯(lp1,lp2,lp3)的位置可以用作用于识别机器人清洁器100的位置的重要手段。因此,拓扑网格地图(tgm)可以包括灯(lp1,lp2,lp3)的位置。

更详细地,如图30所示,用户(u)可以输入灯(lp1,lp2,lp3)的位置设置命令,并且用户可以触摸拓扑网格地图(tgm)中的灯(lp1,lp2,lp3)的布置位置。

如上所述,如果用户(u)向拓扑网格地图(tgm)添加灯(lp1,lp2,lp3)的位置,则灯(lp1,lp2,lp3)的位置被添加到拓扑网格地图(tgm),并且基于灯(lp1,lp2,lp3)的位置建模清洁空间的照度。结果,可以生成指示灯(lp1,lp2,lp3)的输出照度的照度地图数据。

为了允许机器人清洁器100在清洁空间中行进,用于允许机器人清洁器100确定其位置的操作对于机器人清洁器100来说是重要的。

机器人清洁器100可以以各种方式确定其位置。例如,机器人清洁器100可以基于地磁信息、gps信号、灯照度、接入点(ap)的rf信号等来确定机器人清洁器100的位置。

具体地,被设计为在室内空间中行进的机器人清洁器100可以将从ap生成的rf信号的强度和灯(lp1,lp2,lp3)的照度用作为在确定机器人清洁器100的位置的处理期间的最重要因素。

为了允许机器人清洁器100确定其在清洁空间内的位置,拓扑网格地图(tgm)可以包括清洁空间中包含的每个位置处的rf信号强度信息或照度信息。机器人清洁器100可以将拓扑网格地图(tgm)的rf信号强度与实际接收的rf信号强度进行比较,或者可以将拓扑网格地图(tgm)的照度级别与实际测量的照度级别进行比较,使得机器人清洁器100可以确定其位置。

如上所述,为了向拓扑网格地图(tgm)添加与位置有关的rf信号强度或照度信息,可以基于ap位置建模清洁空间的rf信号强度或照度信息。

此外,可以基于rf信号强度或照度的建模结果而生成包括每个位置处期望的rf信号强度或照度在内的rf信号强度地图数据。此外,可以向拓扑网格地图(tgm)中包含的相应清洁块(cb)添加rf信号地图数据或照度信息。

如上所述,用于确定机器人清洁器100的位置所需的与rf信号强度或照度有关的信息可以被包含在拓扑网格地图(tgm)中。然而,用于确定机器人清洁器100的位置的信息不限于rf信号强度或照度。

例如,拓扑网格地图(tgm)可以包括由地球磁场引起的、用以确定机器人清洁器100的位置的地磁地图数据。可以基于清洁空间的位置(经度和纬度)和清洁空间结构而生成地磁地图数据。

机器人清洁器100可以基于rf信号强度、照度和地磁场强度来确定机器人清洁器100的位置。

此后,在操作1330中,可以将修改的拓扑网格地图(tgm)存储在机器人清洁器100中。

如上所述,由用户修改的拓扑网格地图(tgm)可以由机器人清洁器100或由用户设备(ue)执行。

如果拓扑网格地图(tgm)的修改是在机器人清洁器100中执行的,则机器人清洁器100的控制器110可以将修改的拓扑网格地图(tgm)存储在存储装置180中。

此外,如果拓扑网格地图(tgm)的修改是在ue10中执行的,则机器人清洁器100可以通过通信器190接收修改的拓扑网格地图(tgm),并且机器人清洁器100的控制器110可以将修改的拓扑网格地图(tgm)存储在存储装置180中。

如上所述,预先制造的拓扑网格地图(tgm)可以由用户修改。

以下将描述用于在机器人清洁器100行进期间修改拓扑网格地图(tgm)的方法。

图31是示出了根据本公开另一实施例的用于修改地图的方法的流程图。图32至图34是示出了用于根据图31的地图修改方法来确定机器人清洁器的位置的方法的概念图。图35和图36是示出了允许机器人清洁器在清洁空间中行进以根据图31的地图修改方法收集环境信息的方法的概念图。图37是示出了通过图31的地图修改方法修改的拓扑网格地图的示图。

以下将参考图31至图37描述地图修改方法1400。

首先,在操作1410中,机器人清洁器100可以确定其位置。

机器人清洁器100可以收集实际清洁空间(cs)的环境信息,并且可以基于所收集的环境信息来确定其位置。

例如,机器人清洁器100可以基于由障碍物检测器140检测到的障碍物的位置信息来确定机器人清洁器100的位置。

如上所述,障碍物检测器140可以检测位于机器人清洁器100的行进方向上的障碍物,并且控制器110可以基于障碍物检测器140的检测结果来计算障碍物的大小和位置。

如果机器人清洁器100布置在实际清洁空间(cs)中,则机器人清洁器100可以就地旋转,并且可以检测位于机器人清洁器100的前向方向上的障碍物。

机器人清洁器100的控制器110可以基于障碍物检测器140的检测结果,获取指示实际清洁空间(cs)的结构的检测数据(dd)。这里,检测数据(dd)可以根据障碍物检测器140的感测距离而改变。例如,如图32所示,布置在清洁空间中的机器人清洁器100可以使用障碍物检测器140来计算从机器人清洁器100到障碍物(例如,位于清洁空间中的墙壁)的距离,并且可以基于所计算出的距离来获取指示实际清洁空间(cs)的结构的检测数据(dd)。

此后,机器人清洁器100可以将通过障碍物检测器140获取的实际清洁空间(cs)的检测数据(dd)与存储装置180中存储的拓扑网格地图(tgm)进行比较,使得机器人清洁器100可以识别其位置。

更详细地,机器人清洁器100的控制器110可以执行通过障碍物检测器140获得的实际清洁空间(cs)的检测数据(dd)的旋转移动或平行移动,使得控制器110可以搜索实际清洁空间(cs)的检测数据(dd)与拓扑网格地图(tgm)相同的特定位置。如果检测到特定位置,则控制器110可以将该特定位置确定为其自己的当前位置。

在另一示例中,机器人清洁器100可以基于从接入点(ap)接收的rf信号的强度来确定机器人清洁器100的位置。

如上所述,拓扑网格地图(tgm)可以包括指示从每个清洁块接收的rf信号的强度的rf信号强度地图数据(wsi)。rf信号强度地图数据(wsi)可以包括与基于清洁空间中包含的每个位置的rf信号强度有关的信息,如图33所示。

机器人清洁器100可以将通过通信器190从ap接收的rf信号的强度与rf信号强度地图数据(wsi)进行比较,并且可以根据比较的结果来确定机器人清洁器100的位置。

在另一示例中,机器人清洁器100可以基于照度信息来确定其位置。

如上所述,拓扑网格地图(tgm)可以包括指示每个清洁块(cb)的照度的照度地图数据(ilm)。照度地图数据(ilm)可以包括基于清洁空间的每个位置的照度信息,如图34所示。

机器人清洁器100可以将实际测量的照度值与照度地图数据(ilm)进行比较,并且可以根据比较结果确定机器人清洁器100的位置。

在另一示例中,机器人清洁器100可以基于地磁信息来确定其位置。机器人清洁器100可以将实际测量的地磁强度与拓扑网格地图(tgm)中包含的地磁信息进行比较,并且可以根据比较结果来确定机器人清洁器100的位置。

在另一示例中,机器人清洁器100可以基于由图像获取器150获取的图像来确定机器人清洁器100的位置。

机器人清洁器100可以使用图像获取器150中包含的上向相机模块151来获取清洁空间的天花板图像。

在这种情况下,机器人清洁器100的控制器110可以基于天花板图像来预测机器人清洁器100的外围结构。此外,机器人清洁器100可以通过将预测的外围结构与拓扑网格地图(tgm)进行比较来确定机器人清洁器100的位置。

具体地,机器人清洁器100的控制器110可以执行预测外围结构的旋转移动或平行移动,使得控制器110可以搜索清洁空间的地图数据与拓扑网格地图(tgm)相同的特定位置。如果检测到特定位置,则控制器110可以将该特定位置确定为其位置。

如上所述,机器人清洁器100可以以各种方式确定其位置。此外,机器人清洁器100可以使用上述位置确定方法中的至少一个或至少两个来确定其位置。

此后,在操作1420中,机器人清洁器100可以基于拓扑网格地图(tgm),在清洁空间(cs)中行进的同时收集实际清洁空间(cs)的环境信息。

此外,在操作1430中,机器人清洁器100可以基于所收集的实际清洁空间(cs)的环境信息来修改拓扑网格地图(tgm)。

如果确定了机器人清洁器100的位置,则机器人清洁器100的控制器110可以基于拓扑网格地图(tgm)生成行进路径,并且可以沿着所生成的路径行进。

在这种情况下,机器人清洁器100可以在清洁空间中到处行进的同时,使用移动检测器130、障碍物检测器140和图像获取器150收集实际清洁空间(cs)的环境信息,并且可以基于所收集的环境信息来修改拓扑网格地图(tgm)。

由于拓扑网格地图(tgm)是基于建筑平面图(fp)而生成的,因此在清洁空间中可能布置有没有反映在建筑平面图(fp)中的障碍物(o)。机器人清洁器100可以在行进期间检测障碍物(o),并且可以基于所检测到的障碍物位置来修改拓扑网格地图(tgm)。

例如,机器人清洁器100可以根据用户命令执行墙壁跟踪行进。

在墙壁跟踪行进期间,机器人清洁器100可以通过障碍物检测器140发现未写入到拓扑网格地图(tgm)中的障碍物(o)。如上所述,如果发现了未写入到拓扑网格地图(tgm)中的障碍物(o),则机器人清洁器100可以沿着障碍物(o)的轮廓行进,如图35所示。此外,在机器人清洁器沿着障碍物(o)的轮廓行进的同时,机器人清洁器100可以基于移动检测器130的检测结果将行进记录存储在存储装置180中。

此外,机器人清洁器100可以通过障碍物检测器140等发现未写入到拓扑网格地图(tgm)中的阶差(s)。如上所述,如果发现了未写入到拓扑网格地图(tgm)中的障碍物(o),则机器人清洁器100可以沿着阶差(s)的轮廓行进,如图36所示。此外,在机器人清洁器100沿着阶差(s)的轮廓行进的同时,机器人清洁器100可以基于移动检测器130的检测结果将行进记录存储在存储装置180中。

如果这样的行进完成,则机器人清洁器100可以基于存储装置180中存储的行进记录来修改拓扑网格地图(tgm)。

例如,机器人清洁器100可以将与未写入到拓扑网格地图(tgm)中的障碍物(o)或阶差(s)有关的信息反映到拓扑网格地图(tgm),使得拓扑网格地图(tgm)可以被修改成如图37所示的那样。

此后,在操作1440中,可以将修改的拓扑网格地图(tgm)存储在机器人清洁器100中。

由行进引起的拓扑网格地图(tgm)修改可以由机器人清洁器100执行。

机器人清洁器100的控制器110可以将在机器人清洁器100行进期间修改的拓扑网格地图(tgm)存储在存储装置180中。

如上所述,可以基于在机器人清洁器100行进期间收集的环境信息来修改预先制造的拓扑网格地图(tgm)。

此外,机器人清洁器100可以在以供用户识别的清洁空间中行进的同时基于拓扑网格地图(tgm)来显示清洁进展状态,或者可以基于拓扑网格地图(tgm)从用户接收各种控制命令。

图38是示出了根据本公开实施例的用于显示清洁进展状态的方法的概念图。图39和图40是示出了用于根据图38的方法显示清洁进展状态的示例的概念图。

以下将参考图38、图39和图40描述用于显示清洁进展状态的方法1500。

首先,在操作1510中,机器人清洁器100可以在清洁处理期间确定其位置。

机器人清洁器100可以收集实际清洁空间(cs)的环境信息,并且可以基于所收集的环境信息来确定其位置。

例如,机器人清洁器100可以基于障碍物的位置来确定机器人清洁器100的位置,可以基于rf信号强度来确定机器人清洁器100的位置,可以基于照度来确定机器人清洁器100的位置,或者可以基于清洁空间的天花板图像来确定机器人清洁器100的位置。此外,机器人清洁器100可以基于行进开始位置和移动检测器130的检测结果来确定机器人清洁器100的位置。

在操作1520中,机器人清洁器100可以向用户设备(ue)发送与清洁后的清洁块有关的信息。

更详细地,机器人清洁器100可以基于其位置和拓扑网格地图(tgm)来确定清洁块(cb)。此外,机器人清洁器100可以确定清洁器170是否被驱动,并且可以基于机器人清洁器100所位于的清洁块(cb)来确定清洁块(cb)中的哪一个被清洁了。

在这种情况下,机器人清洁器100可以单独存储清洁后的清洁块(cb),并且可以将清洁后的清洁块(cb)反映在拓扑网格地图(tgm)中包含的cb数据中。

此外,机器人清洁器100可以向用户设备(ue)发送与清洁后的清洁块(cb)有关的信息。

在操作1530中,用户设备(ue)10可以基于接收到的清洁块(cb)关联信息来显示清洁进展状态。

更详细地,用户设备(ue)10可以基于单独存储的拓扑网格地图(tgm)和接收到的清洁块(cb)关联信息,来确定机器人清洁器100清洁了哪个清洁块。

此后,用户设备(ue)10可以可视地显示由机器人清洁器100清洁的清洁块(cb),以显示清洁进展状态。

例如,用户设备(ue)10可以在拓扑网格地图(tgm)上显示清洁进展状态,如图40所示。

例如,用户设备(ue)10可以在拓扑网格地图(tgm)上将清洁后的清洁块(cb)和未清洁的清洁块(cb)显示为彼此可区分。此外,用户设备(ue)10可以仅在拓扑网格地图上显示清洁后的清洁块(cb)。

通过拓扑网格地图(tgm)上显示的清洁块(cb),用户可以容易地识别清洁进展状态。

如上所述,清洁后的清洁块(cb)可以显示在拓扑网格地图(tgm)上,以显示清洁进展状态。

此外,当在用户设备(ue)10上显示清洁进展状态时,机器人清洁器100可以从用户设备(ue)10接收用户命令。

图41是示出了根据本公开实施例的机器人清洁器与用户终端(也称为用户设备ue)之间的示例性交互的概念图。图42、图43和图44示出了根据图41的方法的机器人清洁器与用户设备(ue)之间的交互的示例。

以下将参考图41至图44描述用于控制机器人清洁器100与用户设备(ue)10交互的方法1600。

在操作1610中,当显示清洁进展状态时,用户设备(ue)10可以从用户接收移动命令。

如上所述,用户设备(ue)可以在拓扑网格地图(tgm)上显示清洁进展状态。

在这种情况下,用户可以输入用于命令机器人清洁器100进入要被清洁的清洁区域的移动命令。

例如,如图42所示,如果机器人清洁器100清洁第三清洁区域r3,则用户可以通过用户设备(ue)输入用于命令机器人清洁器100进入第二清洁区域r2的移动命令。

更详细地,用户可以触摸用户设备(ue)10上显示的拓扑网格地图(tgm)中包含的第二清洁区域r2,并且可以通过用户设备(ue)10输入用于允许机器人清洁器100进入第二清洁区域r2的移动命令。

此外,用户可以口头地向机器人清洁器100输入针对第二清洁区域r2的移动命令。

用户可以将第二清洁区域r2的名称“主卧”与移动命令“移动”组合,使得用户可以口头输入语音命令“去主卧”。接收到语音命令的用户设备(ue)10可以处理所接收到的语音命令,并且由此识别针对第二清洁区域的移动命令。

此后,在操作1620中,用户设备(ue)10可以向机器人清洁器100发送所存储的清洁区域和移动命令。

机器人清洁器100可以通过通信器190接收由用户指定的清洁区域和移动命令。

在操作1630中,接收到移动命令的清洁机器人100可以进入用户指定的清洁区域。

更详细地,机器人清洁器100可以在接收到移动命令时停止清洁。

此后,机器人清洁器100可以通过参考拓扑网格地图(tgm)来确定用户指定的清洁区域的位置,并且可以计算从当前位置到用户指定的清洁区域的最短路径。

为了计算到用户指定的清洁区域的最短路径,机器人清洁器100可以使用拓扑地图(tm)中包含的多个节点之间的连接关系。

例如,如图43所示,如果接收到用于命令机器人清洁器100从第三清洁区域r3移动到第二清洁区域r2的移动命令,则机器人清洁器100可以基于第一清洁节点n1、第二清洁节点n2和第三清洁节点n3之间的连接关系来计算最短路径(sp)。更详细地,机器人清洁器100可以计算机器人清洁器从第三清洁区域r3起始在通过第一清洁区域r1之后移动到第二清洁区域r2的最短路径(sp)。

如果计算出了最短路径(sp),则机器人清洁器100可以使用网格地图(gm)简化所计算的最短路径(sp)。更详细地,机器人清洁器100可以使用网格地图(gm)简化从第三清洁区域r3到第一清洁区域r1的路径,并且可以简化从第一清洁区域r1到第二清洁区域r2的路径。

此后,如图44所示,机器人清洁器100可以沿着简化的清洁路径移动到用户指定的清洁区域,并且可以在到达用户指定的清洁区域之后重新开始清洁。

如上所述,在接收到朝向目标清洁区域的移动命令时,机器人清洁器100可以使用拓扑网格地图(tgm)来计算到目标清洁区域的最短路径(sp)。

图45示出了根据本公开实施例的机器人清洁器与用户设备(ue)之间的交互的另一示例。图46和图47示出了根据图45的方法的机器人清洁器与用户设备(ue)之间的交互的示例。

以下将参考图45至图47描述用于允许机器人清洁器100与用户交互的方法1700。

在操作1710中,当显示清洁进展状态时,用户设备(ue)10可以从用户接收清洁模式改变命令。

如上所述,用户设备(ue)10可以在拓扑网格地图(tgm)上显示清洁进展状态。

在这种情况下,用户设备(ue)10可以命令在清洁模式下操作的机器人清洁器100改变为另一清洁模式。

例如,如图46所示,假设机器人清洁器100正在清洁第三清洁区域r3,用户可以通过用户设备(ue)10向机器人清洁器100输入第三清洁区域r3的强化清洁命令。

更详细地,用户可以触摸用户设备(ue)10上显示的拓扑网格地图(tgm)的第三清洁区域r3,并且可以通过用户设备(ue)10输入第三清洁区域r3的强化清洁命令。

此外,用户可以口头地向机器人清洁器100输入第三清洁区域r3的强化清洁命令。

用户可以将第三清洁区域r3的名称“儿童房间”与强化清洁命令“强化清洁”组合,使得用户可以输入语音命令“强化清洁儿童房间”。接收到语音命令的用户设备(ue)10可以处理所接收到的语音命令,使得用户设备(ue)10可以识别第三清洁区域的强化清洁命令。

此后,在操作1620中,用户设备(ue)10可以向机器人清洁器100发送要改变的清洁模式和用于改变清洁模式的命令。

机器人清洁器100可以通过通信器190接收要改变的清洁模式和清洁模式改变命令。

在操作1730中,接收到清洁模式改变命令的机器人清洁器100可以将清洁模式改变为用户指定的清洁模式。

更详细地,在接收到清洁模式改变命令时,机器人清洁器100可以停止清洁。

此后,机器人清洁器100可以将清洁模式改变为用户指定的清洁模式,并且可以根据改变后的清洁模式来对清洁区域进行清洁。

例如,如图47所示,机器人清洁器100可以将清洁模式改变为强化清洁模式,使得机器人清洁器100可以根据强化清洁模式来对清洁区域进行清洁。

如上所述,从用户接收到清洁模式改变命令的机器人清洁器100可以在切换到用户输入清洁模式之后继续执行清洁。

此外,用户可以输入针对清洁区域(r1,r2,r3)中的每一个的清洁模式。

例如,用户可以输入针对第一清洁区域r1的第一清洁模式,可以输入针对第二清洁模式r2的第二清洁模式,并且可以输入针对第三清洁模式r3的第三清洁模式。

机器人清洁器100可以存储针对清洁区域(r1,r2,r3)中的每一个的用户输入清洁模式,并且可以根据清洁区域(r1,r2,r3)以不同的清洁模式执行清洁。

例如,机器人清洁器100可以进入第一清洁模式以清洁第一清洁区域r1,可以进入第二清洁模式以清洁第二清洁区域r2,并且可以进入第三清洁模式以清洁第三清洁区域r3。

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