移动机器人区域清扫的制作方法

文档序号:24689373发布日期:2021-04-16 10:08阅读:70来源:国知局
移动机器人区域清扫的制作方法
移动机器人区域清扫
1.本申请是申请日为2015年7月6日、申请号为201510391985.x、发明名称为“移动机器人区域清扫”的发明专利申请的分案申请。
技术领域
2.本公开涉及控制移动机器人以保持在一个区域内,特别是自主清扫机器人,并且特别地涉及指定清扫区域的技术。


背景技术:

3.机器人一般是一种通过计算机或电子编程引导的机电机器。执行例如地板清扫的家居功能的自主机器人现在是易于获得的消费产品。移动机器人具有在它们的环境中移动的能力,而不固定到一个物理位置;然而,在一个房间里工作的真空吸尘机器人可能在令人满意地完成真空吸尘之前无意地从一个房间漫游到另一房间,或者从一个区域漫游到另一区域。


技术实现要素:

4.总体上,本公开涉及一种移动机器人以及一种将所述机器人的运动限制到有限区域的方法,所述有限区域例如区域地毯的表面。机器人可以包括在清扫过程中使用的多个传感器,并且这些传感器中的一个或多个可以有利地构造为帮助限制机器人运动到规定的区域,例如地板表面的机器人在其上开始清扫过程的区域。在使用中,这种限制使得用户能够清扫基于区域的地板类型选择的区域。例如,本文描述的概念和方法可以被有利地利用,以将清扫机器人保持在区域地毯上用于清扫所述区域地毯。在机器人由于区域地毯的高度或因为地毯在下层硬地板表面上的滑动而很难机动到其上的区域地毯的清扫中,可以实现特别的好处。
5.在一些方面,一种清扫机器人包括:底盘;驱动系统,其连接到所述底盘并构造为驱动所述机器人穿过地板表面;信号发生器,其由底盘承载并布置为朝向所述地板表面指引信号;传感器,其由所述底盘承载并响应于来自地板表面的被指引的的反射;以及控制器,其与所述驱动系统和所述传感器通信,所述控制器构造为控制所述驱动系统,以响应传感器而改变所述机器人的方向,所述传感器接收指示所述地板表面边缘的反射信号,从而阻止所述机器人越过所述地板表面边缘。
6.实施方案可以包括以下特征中的一个或者任何两个或多个的组合。
7.在一些实施方案中,所述控制器被构造为响应指示所述机器人正在其上移动的区域地毯的边缘的反射信号而重新指引所述机器人,所述反射信号指示来自邻近所述区域地毯的边缘的地板的反射。
8.在特定实施方案中,所述清扫机器人,还包括围绕所述机器人外周边缘设置在不同位置处的多个相关联的成对信号发生器和传感器,并且其中,所述控制器被构造用于根据传感器接收指示地板表面边缘的反射信号改变机器人方向。
9.在特定实施方案中,所述传感器响应于指示所述地板表面高度的反射信号的特征。
10.在一些实施方案中,所述传感器响应于指示所述地板表面反射率的反射信号的特征。
11.在一些实施方案中,所述传感器响应于指示地板表面粗糙度的反射信号的特征。
12.在特定实施方案中,所述信号发生器被构造为发射红外信号,并且其中,所述传感器响应于来自所述地板表面的所述红外信号的反射。
13.在一些实施方案中,所述控制器还被构造为在预定的一组情况下控制所述驱动系统驱动所述机器人穿过所述地板表面的边缘。
14.在特定实施方案中,所述控制器还被构造为重新指引所述机器人离开悬壁边缘,所述悬壁边缘通过在所述传感器处缺乏反射信号而感应到。
15.在特定方面中,一种在具有至少一个开放边缘的有界区域内操纵自主机器人穿过地板的方法,所述方法包括:驱动所述机器人穿过所述地板同时感应来自所述机器人的被所述地板反射并且在由所述机器人承载的传感器处接收的信号;在继续驱动所述机器人的同时,评价所述反射信号以确定所接收到的反射信号的特征是否指示所述机器人邻近所述有界区域的开放边缘;以及,响应于从所述反射信号确定该机器人邻近有界区域的开放边缘,改变所述机器人运动的方向,使得机器人被引导远离所述开放边缘。
16.实施方案可以包括以下特征中的一个或者任何两个或多个的组合。
17.在特定实施方案中,评价所述反射信号包括对比基线信号特征评价所述反射信号,以感应地板表面粗糙度上的变化。
18.在一些实施方案中,所述有界区域是具有邻近周围地板表面的外周边缘的地毯区域,并且其中,所述机器人的运动方向响应于接收反射信号的传感器而改变,所述反射信号指示来自不同于所述地毯表面的反射。
19.在特定实施方案中,所述有界区域是铺设地毯的区域,其中,所述开放边缘邻近未铺设地毯的地板表面,并且其中,所述机器人的运动方向响应于接收反射信号的所述传感器而改变,所述反射信号指示来自未铺设地毯的地板表面的反射。
20.在一些实施方案中,评价所述反射信号包括将所述反射信号与存储的基线信号相比较。
21.在特定实施方案中,所存储的基线信号是对概率密度的估计。
22.在一些实施方案中,所述传感器是围绕所述机器人外周边缘设置在不同位置处的多个传感器中的其中一个,并且其中,对于所述多个传感器的每一个,所述反射信号数据是被分开地评价的。
23.在特定实施方案中,所述机器人的运动根据多个反射信号与所述存储的基线信号差别最大而改变。
24.在一些实施方案中,响应于在位于所述机器人的相对侧上的传感器处的反射信号的改变,所述机器人的运动被改变以行驶通过所述有界区域的角落。
25.在特定实施方案中,评价所述反射信号包括在探测周期内将反射信号与存储的基线信号相比较。
26.在一些实施方案中,所述传感器响应于反射信号指示暴露的地板表面的高度的特
征。
27.在特定实施方案中,所所述传感器响应于指示所述地板表面的反射率的所述反射信号特征。
28.在一些实施方案中,所述机器人包括信号发射器,其构造为指引将信号朝向地板以从地板反射到传感器。
29.在特定实施方案中,所述信号发射器构造为发射红外信号,并且其中,所述传感器响应于来自地板表面的红外信号的反射。
30.在一些实施方案中,所述方法还包括,响应于感应到在所述传感器的预定信号阈值之上的反射信号的丢失,重新引导所述机器人离开与反射信号丢失的传感器位置对应的所述地板位置一侧。
31.在一些实施方案中,所述方法还包括,在触发事件后从所述反射信号确定所述机器人邻近所述有界区域的开放边缘时,驱动所述机器人穿过该开放边缘。
32.在特定实施方案中,所述触发事件是预定清扫周期的完成。
33.在一些实施方案中,所述触发事件是确定所述有界区域已被机器人充分地清扫。
34.除非另外定义,否则本文使用的所有技术和科学术语具有与本发明所属领域的普通技术人员所普遍理解的相同含义。虽然与本文所描述的类似或等同的方法和材料可以在本发明的实践或测试中使用,合适的方法和材料在下面描述。本文提及的所有出版物、专利申请、专利和其它参考文献都通过引用以其整体并入本文。在冲突的情况下,将以包括定义的本说明书为准。此外,材料、方法和例子仅是说明性的,并不旨在进行限制。
35.本发明的其它特征和优点从下面的详细描述并且从权利要求书中将是显而易见的。
附图说明
36.图1是有代表性机器人的透视图,
37.图2是图1所示的机器人的透视图,
38.图3是用于移动机器人的有代表性控制器的示意图,
39.图4是用于区域局限过程的操作的有代表性安排,
40.图5a示出了在代表性环境中的训练程序,
41.图5b示出了在两个地板表面之间的边界处的机器人,
42.图5c是在两个不同地板表面之间的边界处的机器人的示意性侧视图,
43.图5d是在两个不同地板表面之间的升高边界处的机器人的示意性侧视图,
44.图6是用于有代表性基线分布的确定过程的操作的有代表性安排,
45.图7是用于探测分布的确定过程的操作的有代表性安排,
46.图8是示出在机器人运动期间从传感器收集的数据的图表,以及
47.图9是示出来自图8的数据的直方图的图表。
48.在各附图中的相同参考符号指示相同的元件。
具体实施方式
49.在单个清扫周期中,例如自主真空吸尘机器人的清扫机器人经常工作在包括多种
地板表面类型和多种不同地板类型的清扫区域的环境中运行。然而,用户可能希望清扫例如地毯的选定区域,而不清扫房间/环境的其余部分。为了允许清扫选定的区域,如本文所述,所述清扫机器人执行区域清扫例行程序以清扫未知几何形状的选定区域,而无需使用外部约束障碍。更具体地,机器人在清扫所述区域时收集和分析指示地板表面材料的数据,并基于地板表面的变化预测机器人是否可能离开该区域。基于探测到的地板改变(例如,从地毯到硬木的改变),机器人有前瞻性地改变行进方向以保持在选定区域内。
50.参考图1,机器人100被构造为清扫地板表面,包括铺设地毯和未铺设地毯的地板。所述机器人100具有大致圆形的形状,并且包括支撑机械和电气部件的底盘110。然而,机器人可以具有其它形状,例如具有正方形或矩形的前部,带有弯曲后部。虚拟壁全向探测器116和用户界面140可布置在底盘110的顶部部分。在一些例子中,用户界面140接收一个或多个用户命令和/或显示机器人100的状态。底盘110还可以包括通过释放机构106可从底盘110移除的尘盒104,所述释放结构可以例如是弹簧加载的。底盘110还可以包括排气区112,其包括允许空气从机器人100排出的通风口。缓冲器102可设置在底盘的侧面以用于探测障碍物。虽然未示出,底盘110还可以支撑用于驱动机器人100的任何电气部件的电源(例如,电池)。
51.参考图2,机器人100可以包括从动滚刷组件210(例如,带有鬃毛和/或敲打片(beater flaps)),其平行于机器人100的横向轴线延伸并且可转动地附接到机器人100。从动滚刷组件210包括后滚刷206和前滚刷208,其设置在机器人100的底面200中,用于以它们各自的旋转接触在机器人100之下的表面。例如,在使用过程中,从动滚刷组件210搅动碎屑离开地板表面,并将搅动的杂物抛掷或引导到尘盒104内。从动滚刷组件210还可以从机器人100移除以用于维修,例如用于清洗。在一些例子中,从动滚刷组件210可以使用一个或多个突片216从机器人100释放。机器人100还可以包括布置在底表面200中用于移动碎片的侧刷204。例如,侧刷204可以具有与在机器人100之下的表面成角度的旋转轴线,以用于将碎屑移入机器人100的清扫刈幅(swath area)中。
52.为了机动,机器人100可以包括右从动轮模块201a和左从动轮模块201b。所述轮子模块201a、201b可沿由机器人100限定的横向轴线x大致相对,并且各自分别地包括驱动电机(未示出)以及驱动轮202a、202b中的一个。机器人100可以包括设置用于支持机器人100的向前部分的脚轮212。
53.在一些情况下,机器人100包括安装在机器人100的底表面200上的一个或多个表面传感器220。例如,所述表面传感器220可以与缓冲器102组合地安装。附加地或可替代地,一个或多个表面传感器220可以位于机器人100的底表面上,靠近机器人100的后部或侧部。正如下面进一步讨论的,表面传感器220构造为响应于悬壁,例如坠落,以及响应于在围绕机器人的表面的地板表面类型转换。
54.参照图3,为了提供自主行为,机器人100包括执行命令并控制控制系统300的控制器302(例如,具有一个或多个与存储器通信的计算处理器的设备,所述存储器能够存储可在计算处理器(多个计算处理器)上执行的指令),所述控制系统包括驱动系统304、清扫系统306、传感器系统308和导航系统310。在一些例子中,用户界面140与由机器人100承载的控制器302通信,使得由用户界面140接收的一个或多个命令能够启动通过机器人100执行的清扫常规程序。
55.机器人100可以包括用于清扫或处理地板表面的清扫系统306(例如,如在图5a

5d中所示)。清扫系统306可包括有真空吸尘组件的真空吸尘系统340,所述真空吸尘组件在底盘110内限定清扫或真空通路并且与尘盒104、从动滚刷组件210、后滚刷206、前滚刷208,和/或侧刷204连通(如图1所示),使得被搅动离开地板表面的碎屑沿真空通路行进到尘盒104。
56.在各示例中,驱动系统304基于例如由控制器302发出的具有x、y和θ分量的驱动命令操纵机器人100穿过地板表面。控制器302产生控制信号,以独立地操作轮子202a、202b的驱动电机。在这个示例中,控制器302可通过独立地控制各轮子模块201a、201b的旋转速度和方向而操纵机器人100在任意方向上穿过清扫表面。在一些情况下,控制器302可以操纵机器人100基本上在原地旋转,使得机器人100可以改变其行进方向以操纵离开障碍物或离开地板表面变化。
57.仍参照图3,控制器302可以响应于从传感器系统308接收的信号而重新指引轮子模块201a、201b。例如,轮子模块201a、201b重新指引机器人100,以避开在处理清扫表面时遇到的障碍和杂乱。在另一例子中,如果机器人100在使用中被困住或缠住,控制器302可通过一系列的逃脱行为模式354指示轮子模块201a、201b,以使机器人100可以逃脱并恢复正常的清扫操作。在另一个例子中,轮子模块201a、201b可以被重新指引,使得机器人100保持在指定的地板表面上,并且避免驶离选定区域。在此例子中,如果机器人100遇到指定区域的外周,则控制器302可通过一系列的逃脱行为模式指示轮模块201a、201b,使得机器人可以从边界走开,和/或在恢复正常的清扫行为之前清扫靠近外周的表面。
58.为了实现可靠和稳定的自主运动,传感器系统308可包括几种不同类型的传感器,其可彼此结合使用以允许机器人100对于特定环境作出智能决定。例如,控制器302可响应于传感器系统308控制机器人100的操作,所述传感器系统包括围绕机器人100设置的一个或多个传感器。这些传感器可以用作障碍探测单元、障碍探测障碍规避(odoa)传感器、轮下落传感器、障碍跟随传感器、虚拟壁全向探测器116、通信传感器、失速传感器(stall

sensor)单元、和主轮编码器单元、缓冲传感器382以及表面传感器220。这些传感器类型可以包括,但不限于,测距传感器、邻近传感器,接触传感器、相机(例如,体积点云成像、三维(3d)成像或深度地图传感器、可见光相机和/或红外相机)、声纳、雷达、lidar(光探测和测距,其可以带来测量散射光线的性质以发现遥远目标的距离和/或其它信息的光学遥感)、ladar(激光探测和测距)等。
59.在一些例子中,每个表面传感器220包括ir发射器

探测器对,其构造并操作用于建立焦点,使得由发射器向下发射的ir光束从通过探测器横穿和探测的表面被反射。发射器与探测器之间的通信受机器人100与地板表面之间的垂直距离的影响。如果垂直距离过大,将不会探测到反射的辐射;然而,垂直距离上的更小变化可由沿地板表面的或者在两个或更多的地板表面之间的变化引起。当未通过表面传感器220中的其中一个探测到反射的辐射时,机器人100确定在受影响的传感器处或附近有可能存在坠落,所述传感器将信号传输到控制器302(促使执行一个或多个行为模式)。通过发送指示在探测器处接收到的反射辐射的特征的信号,表面传感器220还额外地响应于地板表面类型上的变化,或者响应于在表面附近小得多的变化。所述控制器被构造为通过解释这样的信号确定在一个或多个表面传感器220处是否存在地板类型上的变化、或者地板高度上的微小变化,例如通过将信号与
存储的参考信号进行比较,所述参考信号是关于机器人已经被设定在其上清扫的地板存储的。一个或更多的行为模式可以响应于探测这样的地板变化而执行。
60.如上所述,缓冲传感器382可以与缓冲器102组合操作,以探测在驱动路径上的一个或更多的障碍。例如,当轮模块201a、201b在清扫程序过程中推进机器人100越过地板表面时,通过控制轮模块201a、201b操纵机器人100响应于事件(例如,远离障碍物),机器人100可以对由缓冲器102探测到的事件(例如,障碍、墙)做出反应。虽然一些传感器在本文中描述为布置在缓冲器上,这些传感器可以附加地或者可替代地布置在机器人100的多种不同位置的任一个上。
61.仍然参照图3,导航系统310包括两个主要的功能子系统:分类器子系统370和行为模式子系统350。导航系统310执行机器人100的导航功能。在一些例子中,导航系统310被构造为确定机器人100在已知环境中的姿态,并且确定机器人100行进的路径。
62.虽然,导航系统310可以维持指示已知障碍物位置的一个或多个环境地图,但是机器人100的操作环境可能在未注意的情况下改变。为了协助导航通过可能的障碍,导航系统310与控制器302结合地操作以执行一个或多个行为模式。为了协助识别可能的障碍和/或可能的地板变化,导航系统310与控制器302结合地操作,以在机器人100行进时确定沿着机器人100的路径的地板表面材料中的变化。
63.分类器子系统370监测由传感器系统308捕获的信号,并基于这些信号的解释预测地板的变化。分类器子系统370可以通过将地板表面分类为“选定的”或“未选定的”而预测地板的变化。“选定的”地板表面可以是一预测,在机器人100附近的地板表面类型符合选定区域的地板表面类型。“未选定”地板表面可以是一预测,在机器人100附近的地板表面类型符合超出选定区域之外的地板表面类型。在分类器子系统370预测地板表面类型时,分类器子系统370可以将它的预测提供到导航系统310,其可以做出导航决定,例如,基于预测继续在行进方向上运动或改变机器人100的航向。
64.在操作中,分类器子系统370从传感器系统308接收信息,并将此信息存储在机器人100的存储设备上,例如,硬盘、闪存、随机存取存储器。训练数据372包含在训练间隔期间捕获的训练数据。探测数据374对应于在探测区间内捕获的数据。阈值376包括由分类器子系统370在对地板表面进行分类时使用的预定值376。
65.仍然参考图3,控制器302(执行所述控制系统300)可以执行导致机器人100做出动作的行为模式,例如在探测到障碍或地板变化时以旨在覆盖区域的方式或者在新的方向上操纵机器人100。所述行为模式可以包括区域覆盖模式352、逃脱行为模式354和训练模式356。
66.区域覆盖模式352,例如覆盖一区域的合适运动型式,可以被机器人100用来清扫任何限定的、连续的工作区域,其由共同的地板表面类型(例如,区域地毯、铺设地毯的表面、硬木表面或瓷砖表面)标识。在区域覆盖模式352中,机器人通过将接近所述机器人100的地板表面分类为“选定的”或“未选定的”而识别两种或更多地板表面区域之间的边界/边缘。在探测到地板变化时,控制器302可选择另一种行为模式,例如逃脱行为模式中的一种,一旦机器人100已经从“未选定的”地板表面类型走开,就恢复区域覆盖模式。在其它的例子中,当未再探测到“未选定的”地板表面类型时,机器人100恢复区域覆盖模式。在其它的例子中,当在预定的时间段内未再探测到“未选定的”地板表面类型时,机器人100恢复区域覆
盖模式。
67.区域覆盖模式352可以包括在航向的整个可接受范围内随机地选择一个或多个航向,或者基于一些例如高斯分布的统计选择方案选择。在一些情况中,新的转动航向可跟随有向前的运动,以增加机器人100的清扫效率。机器人100也可以遵循随机反弹行为模式,其中控制器302编程为随机地或在预定的时间改变航向,而无需在区域覆盖模式352中时的从传感器系统的输入。
68.在另一例子中,区域覆盖模式352可包括边缘行为模式,使得机器人100可覆盖选定区域的整个表面

包括边缘。在这种模式中,机器人100在新航向上前进之前可以沿着要被清扫的区域的边缘行进预定的时间或距离量。在这种情况下,机器人100可以行进,其至少一个传感器指示不同的地面材料或表面高度,而其余传感器识别指定区域。因为表面传感器220和轮子相对于机器人主体的布置,表面传感器220中的一个可以悬浮在与机器人100支撑在其上的地板表面不同的地板表面上。在这种情况下,定位在相邻地板表面上的表面传感器220将捕获与布置在选定区域上的其余表面传感器220所捕获的信号数据不同的信号数据。通过将由各个表面传感器220收集的数据与其各自的基线分布(如下面讨论的)比较,或者通过将它们彼此比较,表面传感器220之间的信号数据的差异是可观察到的。
69.机器人100可以在区域覆盖模式352中操作预定的或随机的时间段,或操作预定的或随机的距离(例如,最大或最小距离)。
70.在特定例子中,区域覆盖模式352包括污点清扫行为模式,其中,机器人100以螺旋型式驱动到选定区域。在其它例子中,污点清扫行为模式包括沿例如以排辫型式(cornrow pattern)布置的平行路径顺序地移动。在一些例子中,当机器人以顺时针方向或逆时针方向转动180
°
时,所述路径不是平行的并且可重叠。所述型式可以附加地和/或可替代地包括与一个人用直立式真空吸尘器清扫的方式类似的往复运动。
71.仍参照图3,当识别到地板变化时,控制器302可根据逃脱行为模式354执行运动。在一些例子中,逃脱行为模式354的特征是通过执行顺时针或逆时针转动选择新航向而实现新航向。在这些例子中,新航向可以基于围绕机器人100的地板表面类型的分类和这些地板表面类型相对于机器人100的位置。这些地板表面类型的相对位置可由从表面传感器220接收到的信号确定。例如,如果位于机器人100右侧的表面传感器220发送表明其正在接收对应于不同地板表面或地板表面高度上的小变化的反射辐射的信号,逃脱行为模式354可以包括旋转,使得机器人100的航向是到先前行进航向的左边。在另一例子中,如果在机器人100左侧上的表面传感器220识别在地板表面上的变化,机器人100可在继续前进之前向右旋转。换句话说,控制器可以动作以使机器人从感应到的地板表面边缘走开。
72.在一些例子中,机器人在向前行进的同时转向,以便跟随弯曲的地板表面边缘,例如圆形或椭圆形的区域地毯的边缘。
73.虽然已经参照避开地板变化而概况地描述各种逃脱行为模式354,机器人100在清扫选定区域的过程中可在一个或多个逃脱行为模式354下工作。例如,在清扫区域地毯或其它选定区域时,机器人100可能会遇到障碍。如果机器人遇到障碍,并被卡住或不能在相同航向上继续,则控制器302可以执行逃脱行为模式354,从而使机器人100转向并在新的方向上行进。
74.用于机器人100的行为模式子系统350的上述描述仅仅代表可以由机器人100实现
的操作模式类型。本领域技术人员将理解的是,上述行为模式能够以其它组合和/或情况实现,并且其它的行为模式和运动型式也是可能的。
75.仍参照图3,训练模式356可以被机器人100用来获取数据

训练数据372。在训练模式356中,控制器302可在选定区域/地板表面类型上执行校准运动型式,同时将传感器系统308捕获的数据存储在训练数据372中。为了对给定地板表面校准机器人100,选定区域的地板材料中的变化通过在选定区域上操纵机器人100而获得。为了考虑可归因于机器人100的运动、环境照明变化、或地板表面上图案变化,而不是地板表面类型的变化,训练模式356可以包括多个阶段。在一些例子中,在每个阶段,机器人100包括向前运动、旋转运动和/或运动的组合。这些运动可以具有不同的路径长度,持续时间和/或方向。
76.在一些例子中,在机器人100转动时由表面传感器220捕获的训练数据重复在数据采集中机器人100的运动固有的偏差。例如,在一些情况下,机器人100在转动时自然地经历至少若干度的倾斜。类似地,表面传感器220可以从周围环境接收变化的光量,例如,由机器人和固定光源之间的距离和/或角度的变化或由两个或更多光源之间的差异导致的。通过在向前的方向上行进,机器人100可以捕获至少一些训练数据372,以考虑这些变化。在其它例子中,材料表面上可以具有图案,例如带图案的区域地毯。所述图案可以是具有表面反射比的图案或具有高度的图案,例如压花地毯表面。通过在带图案的表面上行进,机器人可以捕获至少一些训练数据372来考虑由传感器220捕获的由这种表面图案导致的变化。
77.在一个例子中,机器人100顺序地驱动前进,逆时针旋转180
°
,再次驱动向前,然后顺时针旋转180
°
。在这个例子中,机器人100沿一路径行进并沿着相同路径返回。沿着相同路径返回,例如在选定区域的相同部分上,可以补偿由环境照明或照明方向导致的变化。
78.在一些例子中,在训练模式356的进程中,机器人100沿在不同方向上的多条路径向前行驶。在一些例子中,机器人100在各个方向上向前行进预定的距离,例如约0.3至2米。
79.在训练模式356的进程中,机器人100可以在逆时针方向上、顺时针方向上或组合的方向上旋转多次。这些旋转中的一个或多个的特征可以是旋转180
°
,使得机器人旨在于相反的方向上返回。
80.参照图4和图5a

d,在用于实现区域清扫常规程序400的有代表性过程中,其用于清扫选定区域501而不清扫周围的硬木地板表面504,例如房间/环境的其余部分,区域清扫常规程序400基于探测到的相对于初始地板类型的地板变化将机器人100限制到选定区域501,而无需使用外部约束障碍。在这个示例中,机器人100最初是在选定区域501内,例如,在铺设地毯的表面502上。所选择的区域501具有外周或边界508,其通过从选定区域501的铺设地毯的表面502到具有硬木地板表面504的周围地板类型的地板变化限定。在区域清扫程序400常规过程中,机器人100被导航,以便留在铺设地毯的表面502上,而不会移动到或清扫周围的硬木地板表面504。
81.为了开始区域清扫常规程序400,用户首先选择区域清扫模式功能(402),例如,通过用户界面。如果先前是离线的,那么表面传感器220被启用(404)。为了将选定区域501的地板表面进行分类,控制器302执行训练模式,使得机器人100按照校准运动型式(406)在选定区域501的至少一部分上移动。例如,在第一阶段,机器人100可在向前的方向上驱动设定的时间段和/或距离,而表面传感器220捕获指示选定区域501的地板表面的一个或多个特征的信号数据(408)。如所讨论的,所述表面传感器信号可以包括代表从地板表面反射的ir
光的信号强度值(408)。在所述表面传感器220捕获信号时,这些信号被存储和/或提供到分类器子系统。这为控制系统提供了第一组训练数据。
82.在完成第一阶段后,机器人100旋转,同时表面传感器220继续捕获信号数据(410)。在旋转后,第三阶段可包括机器人100在向前的方向上驱动设定的时间段和/或距离,同时表面传感器220捕获信号数据(412)。在第四阶段,机器人100可完成第二旋转(414)同时从所述表面传感器220记录数据。
83.参照图5a,为了将区域501指定为选定的待清扫区域,表面502必须在训练模式中分类。机器人100沿方向506向前驱动从初始启动位置(如实线所示)移动到第二位置(如虚线所示)。在这个例子中,机器人可以横穿一米或更多的地毯。机器人然后在逆时针方向510上旋转180
°
,返回到表面502上的初始位置。机器人然后在逆时针方向511上再次旋转180
°
,使得机器人与它出发时处于相同位置并指向相同方向。旋转方向是可以互换的,并且在其它实施例中,机器人100旋转多于或少于180
°
,使得机器人100行进到第三位置而非回到初始位置。
84.参照图4和图5a

d,在训练模式结束时,分类器子系统分析训练数据以确定是否已获得足够的数据(416)。如果训练数据不足以分类所选地板表面时,机器人100保持在训练模式中并且校准运动型式被重复。如果训练数据是足够的,分类器子系统分析训练数据并分类所选地板表面。分类器子系统确定数据分布以作为基线分布(418)。这种基线分布随后被存储用于以后参考(420)。此基线分布可以表示例如训练数据的频率分布,例如在训练间隔期间来自表面传感器220的信号的强度。例如,表面传感器220可以探测反射的ir辐射,例如,从在表面传感器正下方或其附近的表面反射的来自机器人上的分别的发射器的光线,并且使用标准的信号处理技术,作为光学信号的反射的ir辐射可以转换成具有信号强度值的电信号,例如表示所述反射ir辐射的强度的值。因此,基线分布可以表明在训练间隔范围给定信号强度值的发生的数量。
85.在一些例子中,数据的充分性通过将阈值(预先算出的或动态确定的)与在训练模式期间获取的样本数量进行比较而确定。所述阈值至少部分地基于例如表面传感器的捕获率以及机器人在训练过程中行驶的距离。例如,如果训练模式包括所述机器人首先向前行驶0.25m,然后顺时针旋转180
°
,然后向前行驶0.125m,然后逆时针旋转180
°
,则阈值可以是256个训练样本,其中25%的首先的向前行驶所获取的样本,25%的在顺时针旋转时所获取的样本,25%的在逆时针旋转时所获取样本,以及25%的在再次向前驱动时所获取样本。在这个例子中,阈值可以是最少的256个样本,其中与各运动相关联的至少25%的最少样本大小,例如64个样本。这些参数可以考虑传感器变化、表面变化或其它因素而调整。
86.参照图6,其示出了用于计算基线分布的示例性过程418。在一些例子中,基线分布可以用于估计数据的概率分布,这在预测地板变化时可以是有用的。为了计算基线分布,可以使用各种统计技术(例如,通过直方图、核密度估计器、最近邻法、可变核方法、正交系列估计器、最大惩罚似然估计器、通用权重函数估计器、有界区域和定向数据、比较传感器信号的平均值和标准差、应用陆地移动距离(即wasserstein度量)方法比较两个概率分布,或其任意组合)。在一些例子中,所述数据用信号强度值对应频率的数值或图形(例如直方图)分布来估计概率密度函数。在这些例子中,分类器子系统执行用于计算基线分布的过程418,通过首先将训练数据分离成与产生该训练数据的表面传感器对应的单独数组(602)。
如上面所讨论的,所收集的数据可以包括表示在表面传感器处接收的反射红外辐射的信号强度值。分类器子系统然后将各信号强度值(604)分类,例如,通过将各信号强度值分配到一类别或库(bin)(604)。在一些情况下,每个类别或库对应于在数据集合内固定范围的信号强度值,所述数据集合例如是训练数据集合或探测数据集合。分类器子系统然后能够基于在每个库(606)中的结果数量确定各信号强度值的频率。可替代地,考虑到所记录数据中的噪声,数据也可以使用噪声校正系数调整。
87.在一些例子中,基线分布也可以如公式1和公式2所示地算术地计算出,其中,函数m
i
表示落入每个类别中的观测数目,n是观测的总数目而k是库的总数目。在某些情况下,类别或库的数目可以使用其它已知的公式计算,或者类别或库的数目可以是在计算最大值与计算最小值之间的在数据集合中的离散值的数目(如下面讨论的)。
88.公式1
[0089][0090]
公式2
[0091]
k=1+log
2 n
[0092]
所述类别,例如库间隔,可以是基于在数据集合中观测到的最小值和最大值。例如,所述最小值和最大值可以使用公式3和公式4通过校正系数(例如固定库的公差值)调整,以考虑数据中的噪声,例如传感器的噪度和由于机器人到地板的距离上的变化导致的反射率变化,其中,max
计算
是调整后的最大值;max
观测
是数据集合中的最大值,公差是校正系数;min
计算
是调整后的最小值;min
观测
是数据集合中的最小值。然后,库间隔可使用调整后的最大值和调整后的最小值来确定,如公式5所示,其中,间隔
计算
是基于库总数量k计算的库间隔。如果计算的库间隔小于固定的最小库间隔大小,则最终库间隔被设定为固定的最小值,如公式6所示,其中间隔
最终
是最终库间隔而间隔
min
是固定的最小库间隔大。
[0093]
公式3
[0094][0095]
公式4
[0096][0097]
公式5
[0098][0099]
公式6
[0100]
间隔
最终
=max(间隔
计算
,间隔
观测
)
[0101]
再次参考图4,在计算基线分布(418)之后,机器人100开始清扫所述区域。例如,机器人100继续操作以用如上所述的区域覆盖行为模式清扫所述表面。在清扫的同时,传感器系统308继续从表面传感器(424)收集数据,并且所述分类器子系统370计算在探测过程中记录的数据的分布(426)。同样参考图7,在一些情况下,分类器子系统识别由表面传感器在探测间隔期间捕获的任何传感器数据(702)。这种捕获的探测数据被分离成对应于来源表
面传感器的单独阵列。所收集的数据可以被分离成单独的先入先出(fifo)队列(704),以便该数据以它被捕获的顺序进行分析。所收集的数据可以与训练数据比较,以确定是否有对应的训练值(706)。在这种情况下,如果训练值是零(即在该库中没有训练数据),则对于该传感器测量的得分可以被设置为一个标度值,例如得分

标度因子(708)。如果有对应的训练值,该传感器测量的得分可以被计算(710)。这个得分可以基于一个或多个因子或换算因子计算,例如平滑数据的噪声标度因子,和/或将对应于训练数据集合的值与不对应的值区分开的得分标度因子。在一些例子中,各个测量的得分可使用公式(7)计算,
[0102]
公式7
[0103][0104]
其中,得分
换算因子
是标度值;噪声
换算因子
是用于数据平滑的标度因子;值
训练
是对应的训练值,即在同一类别或库中的训练值的数目。在这个例子中,得分
换算因子
可以是较高的值,使得较高的得分表明测量不匹配训练间隔测量。
[0105]
一旦队列已满(712),控制器将所收集的数据分类为如上所述的类别公差(708),例如库。队列的容量可根据可用存储和/或传感器更新率而变化。在一个例子中,在数据以64赫兹的速率被捕获时,队列可以具有每表面传感器8个数据读数的容量。在这个例子中,如果机器人以300mm/秒行驶,队列将在约0.125秒之后且行进大约3.75cm之后变满。但是,队列的数据读数数量可以变化。例如,数据读数的数量可以例如增加到可用存储和/或表面传感器更新速率的极限,以提高可靠性和性能。
[0106]
再次参考图4和图7,分类器子系统通过计算置信间隔以将探测分布与基线分布比较(428),从而确定探测数据对应训练数据的可能性。例如,分类器子系统将来自探测分布的各个库的频率与来自训练间隔的基线分布进行比较,并且可对与各表面传感器相关联的数据计算置信间隔。置信间隔基于(至少部分地基于)在基线分布与检测分布之间不同的值的数量。例如,对于每个传感器,置信值可以使用其相关联的测量值的每一个的得分计算(714)。在一些例子中,每个表面传感器的置信值可以使用公式8来计算,
[0107]
公式8
[0108][0109]
其中,置信
传感器
是表面传感器的置信值,并且队列
长度
是在队列中的测量的数量。在一些情况下,分类器子系统将相邻的传感器信号相乘以确定整体置信值(716)。在其它情况下,为了确定整体置信值,分类器子系统将左侧的两个置信值、中间的两个置信值和右侧的两个置信值结合。控制器然后将左侧、中间和右侧置信值与预定置信阀值进行比较。然后,分类器子系统可以将整体置信值和/或每个传感器值与阈值进行比较(430)。如果置信值高于预定阈值,则所检测的表面很可能是同一类型的表面,并且机器人100继续使用区域覆盖模式来执行清扫驱动型式。如果置信值低于阈值,则所检测的表面很可能与所选表面不同。在相邻传感器信号值相乘的例子中,这种比较等效于对于每个传感器大约12.5%的置信度,或对于组合的邻近传感器机器人100保持在相同地板表面上的1.5%的置信度。在一些情况下,置信阈值和得分
标度因子
可以是相同的值,但是,这种置信阈值和/或得分
标度因子
可以根据数据的噪度和分布进行调整。
[0110]
虽然传感器信号值通常被描述为表示信号强度,可以对表面传感器和/或其它传感器(例如光学鼠标传感器)测量和比较其它度量,以确定在地板表面上的变化。例如,不同的数据表示可用于形成地板表面的一个或多个特征的基于直方图的数据表示,所述特征例如捕获的图像块的纹理,例如在反射光的强度或频域上的。
[0111]
探测到不同的表面表明地板变化在接近机器人处发生。为了避免行驶超出选定区域,控制器302开始逃脱行为模式(432),例如,通过改变方向和行进设定的时间段离开所述地板变化(434)。在此设定时间已经过去之后(434),机器人可以使用区域覆盖模式重新开始清扫(422)。
[0112]
在一些例子中,基线分布包括来自各表面传感器的传感器数据合并成一个基线分布,而不是对每个表面传感器的基线分布。类似地,在一些例子中,探测数据是从包括来自各表面传感器的传感器数据的单一数组分析出的。在这些例子中,可以包括来自所有表面传感器的训练数据的基线分布可与来自所有传感器的检测数据在一次进行比较。来自表面传感器的一个子集或各种组合的数据也可以这种方式分组。在一些情况下,置信间隔可以通过将来自一个或多个表面传感器的数据进行组合而改善。例如,这样的组合可减少由不可预测的和/或不稳定的挑战所导致的数据采集不一致的影响,所述挑战例如碎屑、传感器阻塞或其它障碍。
[0113]
在一些例子中,如果控制器确定清扫周期完成,控制器可中断并结束区域清扫常规程序400。在区域覆盖模式中,基于包括关于在该区域中行进的平均距离或在指定区域内花费的总时间的考虑的各种因素,控制器可确定清扫周期完成,所述确定例如基于面积大小测定功能。因此,控制器将在合适时间对指定区域终止清扫常规程序。一旦完成清扫常规程序,控制器可继续在清扫模式中操作机器人,但允许机器人移动超出地板边缘以清扫相邻的地板表面。例如,控制器可以指示机器人到具有不同地板表面的邻接区域,并开始在新区域之内的区域清扫常规程序400。在这种方式下,机器人100可以在前进到下一个区域之前以系统化方式清扫一系列区域。在所有区域都被清扫之后,控制器可终止清扫周期。在一些情况下,机器人可以基于各种因素确定所有区域的总大小,包括关于房间大小、总运行时间、总行驶距离、污垢感应等的考虑。可替代地,机器人可以采用房间绘图程序。在控制器确定所有区域都已经被清扫之后,控制器可以改变机器人的方向以操纵机器人返回到基站或到另一位置。
[0114]
返回参考图5a

5d,在区域清扫常规程序400的过程中,机器人100可能会遇到选定区域501的边界508。如图5b所示,机器人100到达选定区域501的边界508并停止在位置520,其中表面传感器220中的一个延伸超过边界508,而轮子202a保持在选定区域501内(参见图5b)。在这个位置,所述表面传感器220检测到反射ir信号522,并根据上面所讨论的过程确定硬木地板表面504与选定区域501的铺设地毯的表面502不同,无论是在反射表面的类型或高度上。作为响应,控制器302控制机器人的运动,以避开硬木地板表面504并保持在选定区域501上。ir光束也能够相对于所述表面成一定角度地发射。例如,如图5d所示,机器人100到达选定区域的边界并在一个位置上停止,其中表面传感器220中的一个部分地延伸超过边界,而轮子202a保持在选定区域中。在此位置,在选定区域502的铺设地毯的表面与硬木地板表面504之间有高度差526。在这个例子中,ir发射器221朝向机器人之下的地板表面以相对于所述地板表面的一定角度发射ir光束524,例如,非垂直的角度。一定量的反射ir
光522被从地毯表面502反射,并被在第一位置521处的表面传感器220探测到。由于地毯表面502和硬木表面504之间的高度差526,从硬木504反射的ir光522a的量被在第二位置521a处的传感器220探测到。响应于由传感器220探测到的改变的信号探测位置,分类器子系统发送表示地板表面中的变化的信号到控制器,导致控制器操纵机器人避开硬木地板表面504。在一些例子中,没有反射ir光到达表面传感器220。在这种情况下,分类器子系统发送表示“悬壁”或地板高度的大幅降低存在的信号到控制器。
[0115]
如图8所示,在某些情况下,在地板表面材料上的变化根据所获信号数据的曲线图是可见的。例如,通过各表面传感器获取的信号随着时间的变化在曲线图800中示出。通过在机器人的左前部的表面传感器捕获的数据对应于迹线(trace)806,通过位于机器人左侧的表面传感器捕获的数据对应于迹线802,通过在机器人右前侧上的表面传感器捕获的数据对应于迹线808,以及通过位于机器人右侧的表面传感器捕获的数据对应于迹线804。这些峰中的每一个的幅度或幅度变化表示在相应传感器处接收到的探测ir辐射的信号强度值。在机器人执行训练模式时获取的训练数据示出为训练区间810。在机器人执行区域覆盖模式时获取的探测数据示出为探测区间812。如在图5a

5d的以上描述中,在这个例子中的机器人接近选定区域与另一地板材料之间的边界,这在所有的迹线中导致幅度尖峰814。还参考图9,为了探测地板变化,直方图900、基线分布902被计算,用于来自训练间隔810的训练数据以及来自探测间隔812的探测分布904。
[0116]
如上所述,控制器可以被有利地构造为将在任一个表面传感器处的反射ir辐射丢失,或辐射水平到预定阈值之下的下降解释为“悬壁”或地板高度上的大幅下降的存在,例如在所有条件下期望被避免的。由此,上述地板表面边缘探测和区域清扫功能以及悬壁边缘规避功能可以用一组表面传感器实现。
[0117]
虽然在地板表面上的变化关于表面传感器数据概括地描述,地板表面上的变化也可使用其它感应参数的类似比较确定,例如,电机电流。在这种例子中,地板上的变化可能会在电机电流数据中产生变化。如关于通过表面传感器捕获的数据所描述的,这种电机电流数据进行分析和比较。
[0118]
本发明的一些实施例已经被描述。然而,可以理解的是,可以进行各种修改而不脱离本发明的精神和范围。因此,其它实施例处于下述权利要求的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1