自主移动机器人的控制

文档序号:310862 发布日期:2021-11-26 浏览:22次 >En<

阅读说明:本技术 自主移动机器人的控制 (Control of autonomous mobile robot ) 是由 M.慕尼黑 P.方 V.卡拉佩特延 A.科灵 于 2020-04-01 设计创作,主要内容包括:一种自主移动机器人,包括将机器人支撑在表面上方的驱动系统、被配置为生成指示机器人在表面上的位置的信号的传感器系统、以及可操作地连接到驱动系统和传感器系统的控制器。驱动系统可操作来在表面周围导航机器人。控制器被配置成执行指令以进行操作,包括在表面上建立行为控制区,响应于在表面上建立行为控制区,控制驱动系统以操纵机器人到表面上行为控制区的位置,以及使用驱动系统操纵机器人在表面周围,并且响应于基于指示机器人位置的信号确定机器人接近行为控制区而发起行为。(An autonomous mobile robot includes a drive system supporting the robot above a surface, a sensor system configured to generate a signal indicative of a position of the robot on the surface, and a controller operably connected to the drive system and the sensor system. The drive system is operable to navigate the robot around the surface. The controller is configured to execute instructions to perform operations including establishing a behavior control zone on a surface, responsive to establishing the behavior control zone on the surface, controlling a drive system to maneuver the robot to a position of the behavior control zone on the surface, and maneuvering the robot around the surface using the drive system, and initiating a behavior responsive to determining that the robot is proximate to the behavior control zone based on a signal indicative of the position of the robot.)

自主移动机器人的控制

技术领域

本发明涉及自主移动机器人的控制。

背景技术

自主移动机器人包括自主清洁机器人,其在环境(例如,家庭)内自主执行清洁任务。许多种类的清洁机器人在某种程度上是自主的,并且以不同的方式工作。清洁机器人可以包括控制器,该控制器被配置为在环境中自主地导航机器人,使得机器人可以在移动时摄取碎屑。

发明内容

人类用户可以为自主移动清洁机器人创建清洁区域,例如通过使用移动设备。移动设备可以向人类用户呈现环境地图,并且人类用户可以例如通过与移动设备的触摸屏交互来指示清洁区域。清洁区域可以限定机器人执行额外清洁或更少清洁的区域。例如,人类用户可以创建一个禁区,以防止自主移动清洁机器人清洁环境中的某些区域。在另一个例子中,人类用户可以创建重点清洁区域,在该区域中,自主移动清洁机器人可以在环境中执行额外的清洁(例如,清洁更长的持续时间、更高的真空功率、用更多的清洁垫多次清洁,或用更多的水)。在清洁区域建立之后,机器人可以通过例如移动到清洁区域来确认清洁区域。

本文描述的前述和其他实施方式的优点可以包括但不限于下面和本文其他地方描述的那些。例如,本文描述的实施方式可以提高用于控制自主移动机器人行为的行为控制区的选择的容易性、准确性、可定制性和适应性。

本文描述的实施方式可以提高用户选择自主移动机器人的行为控制区的便利性。例如,移动应用可以呈现自主移动机器人的环境表示(例如,2D 地图),并且用户可以与该表示进行交互,以定义行为控制区。该表示可以在用户定义行为控制区时为用户提供参考。此外,环境特征的表示符(例如代表表格的图标)可以叠放在环境的表示上,以提供进一步的参考。在一些实施方式中,用户可以通过选择表示符中之一来简单地定义行为控制区,所定义的行为控制区对应于环境中的与所选表示符对应的对象或特征。这种选择过程对于用户来说是直观的,并且允许用户容易地辨别所选择的行为控制区在环境中的什么地方。

本文描述的实施方式可以进一步提高布置行为控制区的准确性。呈现在移动应用上的参考表示符可以允许用户选择一行为控制区,其能更准确地匹配用户对行为控制区的预期布置。例如,用户可以通过简单地选择自主移动机器人的环境特征的表示符来选择行为控制区,而不是必须与移动应用粗略地交互来建立行为控制区的边界。

行为控制区的确认可以进一步确保所选择的行为控制区与用户的预期行为控制区相匹配。机器人可以物理地移动到行为控制区,使得用户可以确认机器人的位置与用户期望的行为控制区的位置相匹配。在一些实施方式中,用户可以进一步提供确认,以确认机器人在移动到行为控制区的位置之后的位置与用户的行为控制区的预期位置相匹配。这样的确认步骤可以提高布置行为控制区的准确性。

在多个自主移动机器人在环境中移动的实施方式中,可以以不同地控制每个机器人的方式建立行为控制区。例如,行为控制区可用于使一个机器人而不是另一个机器人避开行为控制区。这种机器人的不同控制可以提高用户管理机器人队伍的能力,在所述队伍中每个机器人执行不同的功能。例如,一个机器人可以是真空清洁机器人,而另一个机器人可以是拖地机器人。在这样的实施方式中,用户可以受益于能够建立行为控制区,该行为控制区例如允许真空清洁机器人进入特定的地板区域,例如地毯,但是不允许拖地机器人进入特定的地板区域。

本文描述的实施方式可以进一步提高选择行为控制区和更新行为控制区的效率。在一些实施方式中,用户定义与环境特征相关联的行为控制区。在某些情况下,环境特征的位置可能会移动。代替用户必须手动更新行为控制区,行为控制区可以响应于检测到环境特征的移动而被自动更新,例如,当机器人在地板表面上移动时由机器人进行检测。行为控制区的这种自动更新减少了对于更新行为控制区的用户输入的需求。

本文描述的实施方式可以进一步提高不同环境中自主移动机器人的操作的可定制性。用户可以选择行为控制区,使得自主移动机器人在特别需要机器人注意的环境区域中执行特定行为。在机器人是清洁机器人的例子中,可以选择行为控制区以使机器人在环境中的相对于环境其他区域经常变得更脏的区域中执行重点清洁操作。

在一个方面,自主移动机器人包括将机器人支撑在一表面上方的驱动系统、被配置成生成表示机器人在一表面上的位置的信号的传感器系统、以及可操作地连接到驱动系统和传感器系统的控制器。驱动系统可操作为在所述表面上对机器人进行导航。控制器被配置成执行指令以进行操作,包括在所述表面上建立行为控制区,响应于在所述表面上建立行为控制区,控制驱动系统以将机器人在表面上操纵到行为控制区的一位置,以及使用所述驱动系统在所述表面上操纵所述机器人,并且响应于基于表示所述机器人的位置的信号确定所述机器人接近所述行为控制区而发起行为。

在一些实施方式中,机器人可以进一步包括光指示器系统。控制器可以可操作地连接到光指示器系统,并且操作可以包括响应于机器人接近行为控制区而激活光指示器系统。

在一些实施方式中,响应于机器人接近行为控制区而激活光指示器系统可以包括,操作光指示器系统以指示行为控制区相对于机器人位置的方向。

在一些实施方式中,操作可以包括,响应于建立行为控制区而激活光指示器系统。

在一些实施方式中,操作可以包括响应于建立行为控制区,控制驱动系统以导航机器人通过行为控制区的至少一部分。在一些实施方式中,控制驱动系统以导航机器人通过行为控制区的至少一部分可以包括,响应于无线地接收用户指令来控制驱动系统,以导航机器人通过行为控制区的至少一部分。在一些实施方式中,行为控制区的部分可以包括行为控制区的周界。在一些实施方式中,行为控制区的部分可以包括通过行为控制区内部的路径。

在一些实施方式中,操作可以进一步包括传输地图绘制数据,以使移动设备呈现所述表面的地图,以及从移动设备接收建立行为控制区的用户指令。

在一些实施方式中,操作可以进一步包括,响应于建立行为控制区,控制驱动系统沿着行为控制区的周界导航机器人。

在一些实施方式中,表面可以包括具有第一表面类型的第一部分和具有第二表面类型的第二部分。行为控制区可以覆盖具有第二表面类型的第二部分。响应于基于表示机器人位置的信号来确定机器人接近行为控制区而发起行为可以包括,当机器人在所述表面的第一部分上操纵时响应于确定机器人接近所述表面的第二部分而发起行为。

在一些实施方式中,机器人可以包括用于清洁所述表面的真空系统,并且该行为包括调节输送到真空系统的真空功率。

在一些实施方式中,行为可以包括调整机器人的移动速度。

在一些实施方式中,行为可以包括调整机器人的移动方向。

在一些实施方式中,调整机器人的移动方向可以包括,将机器人定向成以一定角度进入行为控制区。

在一些实施方式中,行为控制区可以是禁区。这种行为可以包括避开禁区。

在一些实施方式中,操作可以包括:控制所述驱动系统以沿一路径在第一方向上操纵所述机器人进入所述行为控制区,以及响应于检测到机器人处于行为控制区内,控制驱动系统以沿所述路径在第二方向上操纵机器人离开行为控制区。

在一些实施方式中,操作可以包括:检测机器人处于行为控制区内,以及响应于检测到机器人处于行为控制区内而防止机器人操作的发起。在一些实施方式中,响应于检测到所述机器人处于所述行为控制区内而防止发起所述机器人的操作可以包括,响应于检测到所述机器人处于所述行为控制区内,防止发起所述机器人的移动操作。

在一些实施方式中,响应于基于指示机器人位置的信号确定机器人接近行为控制区而发起行为可以包括,响应于基于表示机器人位置的信号确定机器人在行为控制区周围的缓冲区内而发起行为。在一些实施方式中,该传感器系统被配置成生成表示机器人在所述表面上的位置的数据。操作可以包括估计与表示机器人位置的数据相关联的不确定性,其中缓冲区的大小是基于所估计的不确定性。在一些实施方式中,缓冲区的大小可以与估计的不确定性成比例。在一些实施方式中,缓冲区的大小可以由用户选择。大小可以由移动设备提供。

在一些实施方式中,行为控制区覆盖所述表面的包含一对象的第一部分。操作可以包括响应于对象被移动到所述表面的第二部分而更新行为控制区以覆盖所述表面的第二部分。

在另一方面,一种方法包括:在显示器上呈现地图,该地图包括环境中的一表面的周界的表示;在显示器上呈现表示环境特征的表示符并使其叠放在地图上;接收在表面上建立行为控制区的用户指令;和向自主移动机器人传输表示行为控制区的数据,以使机器人移动到所述表面上的行为控制区的一位置,并且在机器人在表面上操纵时响应于机器人接近行为控制区而使得机器人发起行为。

在一些实施方式中,行为控制区可以与至少一个表示符相关联。在一些实施方式中,环境的特征可以包括表面上的对象。至少一个表示符可以指示表面上的对象。在一些实施方式中,环境的特征可以包括表面的一部分的表面类型。至少一个表示符可以表示表面类型。在一些实施方式中,该方法可以进一步包括以增强现实模式呈现环境的图像以及叠放在环境的图像上的表示行为控制区的表示符。在一些实施方式中,接收建立与至少一个表示符相关联的行为控制区的用户指令可以包括接收用户对地图的最接近至少一个表示符的部分的选择。

在一些实施方式中,机器人可以是第一自主移动机器人。接收建立行为控制区的用户指令可以包括建立行为控制区,使得第一机器人在发起的行为中避开行为控制区,并且第二自主移动机器人自主地操纵通过行为控制区。

在一些实施方式中,该方法还可以包括呈现确认建立行为控制区的请求。呈现确认建立行为控制区的请求可以包括,响应于机器人在行为控制区的周界的一部分周围移动,呈现所述请求。

在一些实施方式中,该行为可以是机器人在所述表面上移动以清洁所述表面的清洁行为。

本说明书中描述的主题的一个或多个实施方式的细节在附图和以下描述中阐述。根据说明书、附图和权利要求,其他潜在的特征、方面和优点将变得显而易见。

附图说明

图1是环境的示意性俯视图。

图2、3A和3B是自主移动机器人的侧视截面图、仰视图和俯视透视图。

图4是通信网络的示意图。

图5A是根据行为控制区控制自主移动机器人的过程的流程图。

图5B是建立行为控制区的过程的流程图。

图5C是控制自主移动机器人的过程的流程图。

图5D是更新行为控制区的过程的流程图。

图6A-6D是移动设备用户界面的示意图。

图7A-7C是具有行为控制区的环境的示意性俯视图。

图8A和8B是具有行为控制区的环境的示意性俯视图。

图9是在行为控制区中具有自主移动机器人的环境的示意性俯视图。

图10是具有行为控制区和缓冲区的环境的示意性俯视图。

图11是具有多个机器人和行为控制区的环境的示意性俯视图。

图12是提供行为控制区指示的用户界面的图示。

图13和14是叠放有行为控制区表示符的环境部分的图像。

图15A-15B、16A-16B和17A-17B是移动设备的用户界面的图示。

不同附图中相同的附图标记和名称表示相同的元件。

具体实施方式

自主移动机器人可以被控制为在环境中在地板表面上移动。在一些实施方式中,这些机器人可以根据它们在地板表面上的位置来发起行为。例如,机器人可以被控制为,响应于接近地板表面上的一区域而发起特定行为。用户可以通过使用例如在计算设备上执行的应用来定义该区域。一旦用户定义了该区域,机器人就可以移动到该区域或向该区域移动,以确认选择。

图1描绘了环境20(例如,家庭)中地板表面10上的机器人100的示例。用户30可以使用例如本文描述的方法和系统来定义行为控制区101。响应于用户30定义行为控制区101,机器人100向行为控制区101移动以确认选择,例如,移动到行为控制区101附近的位置。该移动行为可以允许用户30确认行为控制区101的实际位置与用户对行为控制区101的预期位置相匹配。

在确认之后,可以发起机器人100的自主操作。在该自主操作中,机器人100可以响应于接近行为控制区101而发起行为。例如,在机器人100是自主清洁机器人的一些示例中,用户30将环境20中易于变脏的区域定义为行为控制区101。响应于接近行为控制区101,机器人100可以发起重点清洁行为,其中机器人100对行为控制区101中的地板表面10的一部分进行重点清洁。如本文所述,行为控制区,例如行为控制区101,可以允许机器人100有效且适应性地清洁环境20中的地板表面10

示例性自主移动机器人

图2和3A-3B描绘了机器人100的例子。参照图2,当机器人100穿越地板表面10时,机器人100从地板表面10收集碎屑105。参考图3A,机器人100包括壳体构造108。壳体构造108可以限定机器人100的结构外围。在一些示例中,壳体构造108包括底盘、盖、底板和缓冲器组件。机器人100 是具有小外形的家用机器人,使得机器人100可以安装在家中的家具下面。例如,机器人100相对于地板表面的高度H1(如图2所示)可以不超过13 厘米。机器人100也很紧凑。机器人100的总长度L1(如图2所示)和总宽度W1(如图3A所示)均为30至60厘米,例如30至40厘米、40至50厘米或50至60厘米。总宽度W1可以对应于机器人100的壳体构造108的宽度。

机器人100包括驱动系统110,驱动系统110包括一个或多个驱动轮。驱动系统110还包括一个或多个电动机,该电动机包括形成电路106的一部分的被电驱动的部分。壳体构造108支撑机器人100内的电路106,包括至少一个控制器109。

驱动系统110可操作为推动机器人100经过地板表面10。机器人100可以沿向前驱动方向F或向后驱动方向R推进。机器人100也可以被推进为使得机器人100原地转弯或在向前驱动方向F或向后驱动方向R上移动的同时转弯。在图3A所示的例子中,机器人100包括延伸通过壳体构造108 的底部113的驱动轮112。驱动轮112通过电动机114旋转,以使机器人100 沿着地板表面10移动。机器人100还包括延伸通过壳体构造108的底部113 的被动脚轮115。脚轮115不被提供动力。驱动轮112和脚轮115一起协作以将壳体构造108支撑在地板表面10上方。例如,脚轮115沿着壳体构造 108的后部121设置,驱动轮112设置在脚轮115的前方。

参考图3B,机器人100包括基本为矩形的前部122和基本为半圆形的后部121。前部122包括侧表面150、152、前表面154和角部表面156、158。前部122的角部表面156、158将侧表面150、152连接到前表面154。

在图2、3A和3B所示的例子中,机器人100是自主移动地板清洁机器人,其包括可操作以清洁地板表面10的清洁组件116(如图3A所示)。例如,机器人100是真空清洁机器人,其中清洁组件116可操作为通过从地板表面10摄取碎屑105(如图2所示)来清洁地板表面10。清洁组件116包括清洁入口117,机器人100通过该入口收集碎屑。清洁入口117位于机器人100的中心(例如中心162)的前方,并且沿着机器人100的前部122位于前部122的侧表面150、152之间。

清洁组件116包括一个或多个可旋转构件,例如由电动机120驱动的可旋转构件118。可旋转构件118水平延伸通过机器人100的前部122。可旋转构件118沿着壳体构造108的前部122定位,并且沿着壳体构造108的前部122的宽度的75%至95%延伸,例如,对应于机器人100的总宽度W1。还参照图2,清洁入口117位于可旋转构件118之间。

如图2所示,可旋转构件118是相对于彼此反向旋转的辊子。例如,可旋转构件118可以绕平行的水平轴线146、148(如图3A所示)旋转,以搅动地板表面10上的碎屑105,并将碎屑105引向清洁入口117,进入清洁入口117,并进入机器人100中的抽吸路径145(如图2所示)。回头参考图 3A,可旋转构件118可以完全位于机器人100的前部122内。可旋转构件118包括弹性壳体,当可旋转构件118相对于壳体构造108旋转时,弹性壳体接触地板表面10上的碎屑105,以引导碎屑105通过可旋转构件118之间的清洁入口117进入机器人100的内部,例如进入碎屑箱124(如图2所示)。可旋转构件118进一步接触地板表面10,以搅动地板表面10上的碎屑 105。

机器人100还包括真空系统119,该真空系统119可操作为产生通过可旋转构件118之间的清洁入口117并进入碎屑箱124的气流。真空系统119 包括叶轮和让叶轮旋转以产生气流的电动机。真空系统119与清洁组件116 协作,以将碎屑105从地板表面10吸入碎屑箱124。在一些情况下,由真空系统119产生的气流形成足够的力,以将地板表面10上的碎屑105向上抽吸通过可旋转构件118之间的间隙并吸入碎屑箱124。在一些情况下,可旋转构件118接触地板表面10以搅动地板表面10上的碎屑105,从而允许碎屑105更容易被真空系统119产生的气流摄取。

机器人100还包括绕非水平轴线(例如,与地板表面10形成75度至90 度之间的角度的轴线)旋转的刷子126。例如,非水平轴线线与可旋转构件 118的纵向轴线形成75度至90度之间的角度。机器人100包括可操作地连接到刷子126以让刷子126旋转的电动机128。

刷子126是横向偏离机器人100的前后轴线FA的侧刷,使得刷子126 延伸超过机器人100的壳体构造108的外周。例如,刷子126可以延伸超过机器人100的侧表面150、152之一,从而能够触及地板表面10上的可旋转构件118通常不能到达的部分上的碎屑,例如,地板表面10的在机器人100 正下方的部分之外的部分。刷子126也从机器人100的横向轴线LA向前偏移,使得刷子126也延伸超过壳体构造108的前表面154。如图3A所示,刷子126延伸超过壳体构造108的侧表面150、角部表面156和前表面154。在一些实施方式中,刷子126延伸超过侧表面150的水平距离D1至少为例如0.2厘米,例如至少0.25厘米、至少0.3厘米、至少0.4厘米、至少0.5厘米、至少1厘米或更大。刷子126定位成在其旋转期间接触地板表面10,使得刷子126可以容易地触及地板表面10上的碎屑105。

当机器人100移动时,刷子126可以以将地板表面10上的碎屑刷入清洁组件116的清洁路径的方式绕非水平轴线旋转。例如,在机器人100沿向前驱动方向F移动的示例中,刷子126可沿顺时针方向旋转(当从机器人 100上方的视角观察时),使得刷子126所接触的碎屑沿向前驱动方向F朝向清洁组件和地板表面10的在清洁组件116前方的一部分移动。结果,当机器人100沿向前驱动方向F移动时,机器人100的清洁入口117可以收集由刷子126清扫的碎屑。在机器人100沿向后驱动方向R移动的示例中,刷子126可沿逆时针方向旋转(当从机器人100上方的视角观察时),使得刷子126接触的碎屑沿向后驱动方向R朝向地板表面10的在清洁组件116后面的一部分移动。结果,当机器人100沿向后驱动方向R移动时,机器人 100的清洁入口117可以收集由刷子126清扫的碎屑。

除了控制器109之外,电路106还例如包括存储器存储元件144和具有一个或多个电传感器的传感器系统。如本文所述,传感器系统可以产生表示机器人100的当前位置的信号,并且可以在机器人100沿着地板表面10行进时产生表示机器人100的位置的信号。控制器109被配置成执行指令,以执行如本文所述的一个或多个操作。存储器存储元件144可由控制器109访问,并设置在壳体构造108内。一个或多个电传感器被配置成检测机器人100的环境中的特征。例如,参考图3A,传感器系统包括沿着壳体构造108的底部113设置的落差传感器134。每个落差传感器134是光学传感器,其可以检测光学传感器下方的对象的存在或不存在,例如地板表面10。落差传感器134因此可以检测在机器人100的设置有落差传感器134的部分下方的障碍物,例如跌落部和落差部,并相应地重定向机器人。

参考图3B,传感器系统包括一个或多个接近传感器,其可以检测沿着地板表面10且在机器人100附近的对象。例如,传感器系统可以包括邻近壳体构造108的前表面154设置的接近传感器136a、136b、136c。接近传感器136a、136b、136c中的每一个包括从壳体构造108的前表面154面向外的光学传感器,并且该光学传感器可以检测光学传感器前面的对象的存在或不存在。例如,可检测的对象包括障碍物,例如家具、墙壁、人和机器人100 的环境中的其他对象。

传感器系统包括缓冲器系统,该缓冲器系统包括缓冲器138和一个或多个检测缓冲器138和环境中的障碍物之间的接触的缓冲器传感器。缓冲器 138形成壳体构造108的一部分。例如,缓冲器138可以形成侧表面150、 152以及前表面154。例如,传感器系统可以包括碰撞传感器139a、139b。碰撞传感器139a、139b可以包括中断光束传感器、电容传感器或能够检测机器人100(例如,缓冲器138)和环境中的对象之间的接触的其他传感器。在一些实施方式中,碰撞传感器139a可用于检测缓冲器138沿着机器人100 的前后轴线FA(如图3A所示)的运动,碰撞传感器139b可用于检测缓冲器138沿着机器人100的横向轴线LA(如图3A所示)的运动。接近传感器 136a、136b、136c可以在机器人100接触对象之前检测对象,并且碰撞传感器139a、139b可以例如响应于机器人100接触对象而检测接触缓冲器138 的对象。

传感器系统包括一个或多个障碍物跟随传感器。例如,机器人100可以包括沿着侧表面150的障碍物跟随传感器141。障碍物跟随传感器141包括从壳体构造108的侧表面150面向外的光学传感器,该光学传感器可以检测邻近壳体构造108的侧表面150的对象的存在或不存在。障碍物跟随传感器 141可以在垂直于机器人100的向前驱动方向F并且垂直于机器人100的侧表面150的方向上水平发射光束。例如,可检测的对象包括障碍物,例如家具、墙壁、人和机器人100的环境中的其他对象。在一些实施方式中,传感器系统可以包括沿着侧表面152的障碍物跟随传感器,并且障碍物跟随传感器可以检测邻近侧表面152的对象的存在或不存在。沿着侧表面150的障碍物跟随传感器141是右障碍物跟随传感器,沿着侧表面152的障碍物跟随传感器是左障碍物跟随传感器。一个或多个障碍物跟随传感器(包括障碍物跟随传感器141在内)也可以用作障碍物检测传感器,例如,类似于本文描述的接近传感器。在这点上,左障碍物跟随传感器可用于确定机器人100左侧的对象(例如障碍物表面)和机器人100之间的距离,右障碍物跟随传感器可用于确定机器人100右侧的对象(例如障碍物表面)和机器人100之间的距离。

在一些实施方式中,接近传感器136a、136b、136c和障碍物跟随传感器 141中的至少一些各自包括光发射器和光检测器。光发射器从机器人100向外发射光束,例如,在水平方向上向外,并且光检测器检测反射自机器人100 附近对象的光束的反射。机器人100可以确定光束的飞行时间,例如使用控制器109,从而确定光检测器和对象之间的距离,并因此确定机器人100和对象之间的距离。

在一些实施方式中,接近传感器136a包括光检测器180和多个光发射器182、184。光发射器182、184中的一个可以被定位成向外和向下引导光束,而光发射器182、184中的另一个可以被定位成向外和向上引导光束。光检测器180可以检测光束的反射或光束的散射。在一些实施方式中,光检测器180是成像传感器、摄像头或用于感测光学信号的一些其他类型的检测设备。在一些实施方式中,光束沿着机器人100前方的平坦垂直表面照射水平线。在一些实施方式中,光发射器182、184各自向障碍物表面向外发射扇形光束,使得一维点阵出现在一个或多个障碍物表面上。一维点阵可以位于水平延伸的线上。在一些实施方式中,点阵可以延伸经过多个障碍物表面,例如,彼此相邻的多个障碍物表面。光检测器180可以捕捉代表由光发射器 182形成的点阵和由光发射器184形成的点阵的图像。基于图像中的点的大小,机器人100可以确定点出现在其上的对象相对于光检测器180的距离,例如相对于机器人100的距离。机器人100可以对每个点进行这种确定,从而允许机器人100确定点出现在其上的对象的形状。另外,如果多个对象在机器人100的前方,机器人100可以确定每个对象的形状。在一些实施方式中,对象可以包括从机器人100正前方的地板表面10的一部分横向偏移的一个或多个对象。

传感器系统还包括指向壳体构造108的顶部142的图像捕捉设备140,例如摄像头。当机器人100在地板表面10上移动时,图像捕捉设备140生成机器人100的环境的数字图像。图像捕捉设备140在向上的方向上成角度,例如,与机器人100绕其导航的地板表面10成30度至80度的角度。当向上成角度时,摄像头能够捕捉环境的墙壁表面的图像,使得对应于墙壁表面上的对象的特征可以用于定位。

当控制器109使机器人100执行任务时,控制器109操作电动机114以驱动驱动轮112并沿着地板表面10推进机器人100。此外,控制器109操作电动机120以使可旋转构件118旋转,操作电动机128以使刷子126旋转,并且操作真空系统119的电动机以产生气流。为了使机器人100执行各种导航和清洁行动,控制器109执行存储在存储器存储元件144上的软件,以通过操作机器人100的各种电动机来使机器人100执行。控制器109操作机器人100的各种电动机,以使机器人100执行行动。

传感器系统可以进一步包括用于跟踪机器人100行进的距离的传感器。例如,传感器系统可以包括与用于驱动轮112的电动机114相关联的编码器,并且这些编码器可以跟踪机器人100已经行进的距离。在一些实施方式中,传感器系统包括面朝下朝向地板表面的光学传感器。光学传感器可以是光学鼠标传感器。例如,光学传感器可以被定位成引导光通过机器人100的底面朝向地板表面10。光学传感器可以检测光的反射,并且可以基于机器人100 沿着地板表面10行进时地板特征的变化来检测机器人100行进的距离。

控制器109使用由传感器系统的传感器收集的数据来控制机器人100在任务期间的导航行动。例如,控制器109使用由机器人100的障碍物检测传感器(例如落差传感器134、接近传感器136a、136b、136c和碰撞传感器 139a、139b)收集的传感器数据,以使机器人100能够在任务期间避开机器人100的环境内的障碍物。

传感器数据可由控制器109使用以同时定位和绘制地图(SLAM)技术,其中控制器109提取由传感器数据表示的环境的特征,并构建环境的地板表面10的地图。由图像捕捉设备140收集的传感器数据可以用于诸如基于视觉的SLAM(VSLAM)的技术,其中控制器109提取对应于环境中的对象的视觉特征,并使用这些视觉特征构建地图。当控制器109在任务期间导航机器人100在地板表面10上移动时,控制器109使用SLAM技术,通过检测在所收集的传感器数据中呈现的特征并将这些特征与先前存储的特征进行比较,来确定机器人100在地图内的位置。由传感器数据形成的地图可以表示环境内可通行和不可通行空间的位置。例如,障碍物的位置在地图上表示为不可通行空间,而开放地板空间的位置在地图上表示为可通行空间。

由任何传感器收集的传感器数据可以存储在存储器存储元件144中。此外,为了SLAM技术生成的其他数据,包括形成地图的地图绘制数据,可以存储在存储器存储元件144中。这些在任务期间产生的数据可以包括在任务期间产生的并且在下一次任务期间可用的持久(persistent)数据。例如,任务可以是第一任务,进一步的任务可以是在第一任务之后发生的第二任务。除了存储用于使机器人100执行其行动的软件之外,存储器存储元件144存储传感器数据或由传感器数据的处理产生的数据,以供控制器109从一个任务到另一个任务进行访问。例如,该地图是持久(persistent)地图,其可由机器人100的控制器109从一个任务到另一个任务使用和更新,以在地板表面10上对机器人100进行导航。

持久数据,包括持久地图,使得机器人100能够有效地清洁地板表面10。例如,持久地图使得控制器109能够将机器人100引向开放的地板空间并避免不可通行的空间。此外,对于随后的任务,控制器109能够使用持久地图来规划机器人100在环境中的导航,以优化任务期间采取的路径。

在一些实施方式中,机器人100可以包括位于机器人100的顶部142上的光指示器系统137。光指示器系统137可以包括位于覆盖碎屑箱124的盖子147内的光源(如图3A所示)。光源可以被定位成将光导向盖子147的外周。光源被定位成使得机器人100的顶部142上的连续环143的任何部分都可以被照亮。连续环143位于机器人100的顶部142的凹陷部分上,使得光源在被激活时可以照亮机器人100的表面。

示例性通信网络

参考图4,示出了示例性通信网络185。通信网络185的节点包括机器人100、移动设备188、自主移动机器人190和云计算系统192。使用通信网络185,机器人100、移动设备188、机器人190、和云计算系统192可以彼此通信以彼此传输数据和彼此接收数据。在一些实施方式中,机器人100、机器人190,或机器人100和机器人190两者通过云计算系统192与移动设备188通信。替代地或额外地,机器人100、机器人190,或机器人100和机器人190二者直接与移动设备188通信。通信网络185可以采用各种类型和组合的无线网络(例如,蓝牙、射频、基于光的等等)和网络架构(例如,网状网络)。

在一些实施方式中,如图4所示的移动设备188是可以链接到云计算系统192的远程设备,并且可以使得用户30能够在移动设备188上提供输入。移动设备188可以包括用户输入元件,例如触摸屏显示器、按钮、麦克风、鼠标、键盘或对用户30提供的输入做出响应的其他设备中的一个或多个。移动设备188可替换地或额外地包括沉浸式媒体(例如,虚拟现实),用户 30与该媒体交互以提供用户输入。在这些情况下,移动设备188例如是虚拟现实头部设备或头戴式显示器。用户可以为移动机器人188提供对应于命令的输入。在这种情况下,移动设备188向云计算系统192传输信号,以使云计算系统192向移动机器人100传输命令信号。在一些实施方式中,移动设备188可以呈现增强现实图像。在一些实施方式中,移动设备188是智能手机、膝上型计算机、平板计算设备或另一移动设备。

在一些实施方式中,通信网络185可以包括额外节点。例如,通信网络 185的节点可以包括额外的机器人。替代地或额外地,通信网络185的节点可以包括连接网络的设备。在一些实施方式中,连接网络的设备可以生成关于环境20的信息。连接网络的设备可以包括一个或多个传感器,以检测环境20中的特征,例如声学传感器、图像捕捉系统或其他传感器,其产生可以用于提取特征的信号。连接网络的设备可以包括家庭摄像头、智能传感器等。

在图4所示的通信网络185和通信网络185的其他实施例中,无线链路可以利用各种通信方案、协议等,例如蓝牙类、无线网络、低功耗蓝牙量,也称为BLE 802.15.4、全球互通微波存取(WiMAX)、红外信道或卫星频带。在某些情况下,无线链路包括用于在移动设备之间通信的任何蜂窝网络标准,包括但不限于符合1G、2G、3G或4G标准的标准。如果使用网络标准,通过满足一个或多个规范,例如由国际电信联盟维护的规范,该网络标准可以作为例如一个或多个代的移动电信标准。3G标准(如果使用的话)对应于例如国际移动电信-2000(IMT-2000)规范,并且4G标准可以对应于高级国际移动电信(IMT-Advanced)规范。蜂窝网络标准的例子包括AMPS、GSM、 GPRS、UMTS、LTE、高级LTE、移动WiMAX和高级WiMAX。蜂窝网络标准可以使用各种信道接入方法,例如FDMA、TDMA,CDMA或SDMA。

示例性过程

机器人100可以根据本文描述的过程以特定方式被控制。虽然这些过程的一些操作可以被描述为由机器人100、由用户、由计算设备或由另一个行为者来执行,但是在一些实施方式中,这些操作可以由除了所描述的行为者之外的行为者来执行。例如,在一些实施例中,由机器人100执行的操作可以由云计算系统192或另一个计算设备(或多个设备)来执行。在其他示例中,由用户30执行的操作可以由计算设备来执行。在一些实施方式中,云计算系统192不执行任何操作。相反,其他计算设备执行被描述为由云计算系统192执行的操作,并且这些计算设备可以彼此通信以及与机器人100直接(或间接)通信。在一些实施方式中,除了被描述为由机器人100执行的操作之外,机器人100还可以执行被描述为由云计算系统192或移动设备 188执行的操作。其他变化也是可以的。此外,虽然本文描述的方法、过程和操作被描述为包括某些操作或子操作,但是在其他实施方式中,可以省略这些操作或子操作中的一个或多个,或者可以添加额外的操作或子操作。

图5A示出了根据行为控制区控制自主移动机器人的方法的流程图。该方法以及本文描述的方法的其他示例是关于机器人100的控制来描述的。在其他实施方式中,可以控制其他类型的自主移动机器人。

参考图5A,过程200包括操作202、204和206。在操作202,建立行为控制区。在操作204,机器人100被控制,例如,执行自主操作,其中机器人100在环境20中导航并且对行为控制区做出响应。例如,机器人100 的驱动系统110(图3A中所示)可被控制以在地板表面10上操纵机器人100 (图1中所示),并且机器人100的行为可对基于由机器人的传感器系统产生的表示机器人100位置的信号来确定机器人接近行为控制区做出响应而被发起。在操作204,例如,响应于环境20的变化,更新行为控制区。分别结合图5B、5C和5D描述操作202、204和206的子操作的进一步示例。

图5B示出了建立行为控制区的操作202的示例过程。在操作208、210、 212、214、216,生成地图绘制数据并将其传输到移动设备188,以允许移动设备188生成环境20的表示。在操作208,机器人100生成环境20的地图绘制数据,并且在操作210,机器人100将地图绘制数据传输到云计算系统 192。在操作212,云计算系统192接收由机器人100生成的地图绘制数据。在操作214,云计算系统192将机器人100生成的地图绘制数据传输到移动设备188。并且在操作216,移动设备188接收由机器人100生成的地图绘制数据。如针对操作218所描述的,移动设备188可以使用该地图绘制数据来生成环境20的表示。

在一些实施方式中,在操作208,机器人100可以在自主清洁操作期间生成地图绘制数据。地图绘制数据可以表示机器人100可以通过的地板表面 10的部分和机器人100不能通过的地板表面10的部分。可以使用机器人100 的传感器系统来生成地图绘制数据。当机器人100在地板表面10上移动时,传感器系统可以生成表示机器人100在地板表面10上的位置的数据,并且可以基于表示机器人100的位置的数据来生成地图绘制数据。在一些实施方式中,当机器人100在地面上移动时,机器人100的传感器系统可以用于检测地面10上的障碍物。机器人生成的地图绘制数据可以指示障碍物在表面上的位置。在一些实施方式中,由机器人100生成的传感器数据和由环境20 中的一个或多个连接网络的设备生成的数据一起形成地图绘制数据。连接网络的设备可以包括摄像头、光学传感器、测距传感器、声学传感器或产生用于形成环境20的地图的一部分的信号的其他传感器。

在一些实施方式中,云计算系统192可以处理由机器人100生成的地图绘制数据,使得由云计算系统192在操作214传输并由移动设备188在操作 216接收的数据不同于由机器人100在操作208生成的地图绘制数据。例如,云计算系统192可以从地图绘制数据生成用户界面数据,然后可以在操作 214传输用户界面数据。可以使用由机器人100生成的地图绘制数据以及从其他连接网络的设备接收的数据来生成用户界面数据。用户界面数据可以包括在环境20中识别的某些特征的分类,例如,家具、地板表面类型或其他特征。

在操作218,移动设备188生成环境20的地图。例如,在操作216,移动设备188基于移动设备188接收的数据生成地图,并且在移动设备188的显示器上呈现地图。在一些实施方式中,在操作216在移动设备188处接收的数据可以包括关于环境20中的特征的数据,例如地板表面类型、障碍物、墙壁固定装置、器具以及环境20中可由机器人100及其传感器系统检测到的其他特征。

图6A示出了呈现在移动设备188上的地图300的示例。地图300包括机器人100可以通过的地板表面10(如图1所示)的一部分的周界302的表示。表示机器人100的当前位置的表示符304叠放在地图300上。

房间308a、308b、308c、308d、308e(统称为房间308)的标签306a、 306b、306c、306d、306e(统称为标签306)分别叠放在地图300上。例如,可以基于每个房间308中的一个或多个对象来识别每个房间308的类型。还参考图1,房间308包括卧室308a、浴室308b、办公室308c、餐厅308d和厨房308e。可以基于通常可在卧室中发现的物体的存在来识别卧室308a,例如床和茶几。可以基于通常可在浴室中发现的物体的存在来识别浴室308b,例如浴缸、马桶、水槽和镜子。可以基于通常可在办公室中发现的物体的存在来识别办公室308c,例如桌子和计算机。可以基于通常可在餐厅中发现的物体的存在来识别餐厅308d,例如餐桌和椅子。可以基于通常可在厨房中发现的物体的存在来识别厨房308e,例如橱柜、厨房岛和柜台。在一些实施方式中,可以使用机器人100的传感器系统或者使用来自环境20中的其他连接网络的设备的传感器来识别房间308中的对象。

在一些实施方式中,移动设备188可以向用户30呈现请求,以向每个房间308提供标签。房间308因此可以被用户30手动提供标签306。在一些实施方式中,基于房间308中的对象的计算机标识来确定标签306。

如图6A所示,移动设备188可以呈现指示环境20的特征的表示符。例如,表示符310可以指示位于餐厅308d中的地毯块312(如图1所示)的位置。表示符314可以指示位于卧室308a中的床316(如图1所示)的位置。表示符317可以指示厨房308e中的第一地板类型,表示符319可以指示厨房308e中的第二地板类型。例如,地板表面10的与厨房308e中的表示符317对应的部分可以是硬木表面,而地板表面10的与厨房308e中的表示符 319对应的部分可以是地毯表面。在一些实施方式中,指示环境20中的其他对象和特征的其他表示符可以被显示为叠放在地图300上。例如,指示器可以指示环境20中的其他家具、环境20的墙壁上的可检测特征、环境20中的其他地板类型或环境20中的其他特征。

回到图5B,在操作220,用户30提供输入以建立行为控制区。用户30 可以操作移动设备188来提供输入,例如,操作移动设备188的用户输入设备,诸如触摸屏、移动设备188上的一个或多个按钮、语音命令、手势或其他用户输入设备。还参考图6A,移动设备188可以呈现地图300,并请求用户30使用地图300定义行为控制区。在一些实施方式中,为了定义行为控制区,用户30可以选择呈现在移动设备188上的其中一个表示符来将与该表示符相关联的区域定义为行为控制区。用户30可以选择地图300的靠近所述表示符的一部分来定义与该表示符相关联的行为控制区。例如,还参考图7A,可以通过选择呈现在移动设备188上的表示符314来定义与卧室308a 中的床316的位置相对应的行为控制区318。替代地或额外地,用户30可以手动选择地图300上的区域来定义行为控制区。例如,如果移动设备188包括触摸屏,则用户30可以与触摸屏交互,以通过在触摸屏上绘制形状来定义行为控制区。

在操作222、224、226、228和230,由用户30提供的输入用于生成提供给机器人100的指令。具体地,在操作222,移动设备188接收用户30在操作220提供的输入。移动设备188可以生成表示行为控制区318的数据。例如,数据可以表示行为控制区318的位置或周界。在操作224,移动设备 188向云计算系统192传输表示行为控制区318的数据。在操作226,云计算系统192接收表示行为控制区318的数据。在操作228,云计算系统192 向机器人100传输表示行为控制区的数据。在操作230,机器人100接收表示行为控制区318的数据。

在操作232、234、236,行为控制区318被确认。在接收到表示行为控制区318的数据之后,在操作232,机器人100确认行为控制区318。机器人100可以提供反馈,以表明机器人100接收到表示行为控制区318的数据。

机器人100还可以确认行为控制区318的位置或周界。在一些实施方式中,机器人100通过执行确认运动来确认行为控制区318的位置或周界。在图7A所示的例子中,机器人100以表示出行为控制区318的位置的方式相对于行为控制区318移动。响应于接收到表示行为控制区318的数据,机器人100从其位置320移动到位置322。位置322可以靠近行为控制区318、在行为控制区318中、或者沿着行为控制区318的周界。在一些实施方式中,机器人100沿着地板表面10的路径行进,以确认行为控制区318的位置或周界。例如,机器人100可以遵循沿着行为控制区318的周界的一部分的路径。在一些实施方式中,路径可以延伸通过行为控制区318的一部分。行为控制区318的部分可以是行为控制区318的内部或者行为控制区318的周界的一部分。

在一些实施方式中,机器人100可以提供视觉或听觉指示,以表明接收到表示行为控制区318的数据。在一些实施方式中,在完成了确认移动之后,机器人100可以提供确认移动完成的视觉或听觉指示。视觉或听觉指示可以表示对用户确认的请求尚未解决。例如,在一些实施方式中,可以响应于行为控制区318被建立或者表明机器人100已经确认了行为控制区318,来激活光指示器系统137(如图3B所示)。

在机器人100确认行为控制区318之后,移动设备188在操作234处请求用户30确认行为控制区318,以建立行为控制区318。例如,机器人100 可以向移动设备188传输指示机器人100已经完成其确认移动的数据。参考图6B,移动设备188可以呈现由用户30进行确认的请求,其中移动设备188 呈现地图300并呈现表示符324,该表示符324突出显示地板表面10的将建立行为控制区318(如图7A所示)的区域。例如,表示符324可以与对应于床316(如图7A所示)的表示符314(如图6A所示)相同,除了表示符324具有不同的颜色、图案或不同于表示符314的视觉特征的其他视觉特征。

在操作236,用户30可以确认行为控制区。例如,如图6B所示,移动设备188可以呈现“确认”按钮326。用户30可以观察环境20中的机器人 100,以视觉确认机器人100的位置,并因此确认行为控制区318的位置。用户30可以选择“确认”按钮326来提供对行为控制区318的确认。在用户 30确认行为控制区318之后,表示行为控制区318的数据可以存储在移动设备188、云计算系统192或机器人100中的一个或多个上。

返回参考图5A,在操作202建立行为控制区318之后(例如,在完成结合图5B描述的操作之后),响应于确定机器人100接近或处于行为控制区 318内,可以控制机器人100发起行为。例如,机器人100可以发起自主清洁操作,其中机器人100在环境20中移动以清洁地板表面10。在自主清洁操作期间,机器人100可以响应于确定机器人100接近或处于行为控制区 318内而发起行为。机器人100可以基于由机器人100的传感器系统产生的信号来确定机器人接近或处于行为控制区318内。

图5C示出了作为控制机器人100的操作204的一部分而执行的操作的示例。在操作238,机器人100开始在环境20中操纵。例如,机器人100可以发起自主清洁操作,其中机器人100在使用其真空系统119和清洁组件 116(如图3A所示)清洁地板表面的同时在地板表面10上自主操纵。为了覆盖地板表面10的可通行部分,机器人100可以在自主清洁操作期间发起各种移动行为。移动行为可以包括,例如,机器人100在地板表面的一部分上以平行的行移动的玉米垄(cornrow)行为和机器人100沿着障碍物的周界移动的障碍物跟随行为。图7B示出了当机器人100进行自主清洁操作时的运动路径327,其中机器人100在环境20中移动以清洁地板表面10。

返回参考图5C,在自主清洁操作期间,机器人100在操作240处确定其接近行为控制区318,然后响应于确定机器人接近行为控制区318,在操作242处发起行为。用户30可以设置行为控制区318以防止机器人100在自主清洁操作期间在床316(如图7A所示)下方移动。机器人100可以使用机器人100的传感器系统来确定它接近行为控制区318。例如,机器人100 可以使用传感器系统跟踪其位置,并确定其当前位置何时接近行为控制区 318。在一些实施方式中,如果行为控制区318与环境20中的对象相关联,则机器人100可以检测该对象以确定机器人100接近行为控制区318。在行为控制区318与床316相关联的实施方式中(如图7A所示),为了确定机器人100接近行为控制区318,机器人100可以使用机器人100的传感器系统的一个或多个传感器来检测床316。

图7B示出了行为控制区318的示例,其中机器人100响应于检测到行为控制区318而发起的行为对应于禁入行为。在禁入行为中,机器人100避免进入行为控制区318。如图7B所示,机器人100可以将行为控制区318视为障碍物。因此,机器人100可以响应于确定机器人100接近行为控制区 318而发起障碍物跟随行为。在障碍跟随行为中,机器人100沿着行为控制区318的周界移动,并因此沿着床316的周界移动。

返回参考图5C,机器人100可以在操作244处激活指示器,以表明器人100正在执行对检测到行为控制区318做出响应的行为。例如,响应于机器人100接近行为控制区318,机器人100可以激活光指示器系统137(如图3B所示),以照亮连续环143的至少一部分(如图3B所示)。被照亮的部分可以表示行为控制区318相对于机器人100的方向。

在操作246、248、250、252和254,机器人100可以传输数据以使移动设备188向用户30提供机器人100响应于检测到行为控制区318而发起行为的表示。机器人100可以传输表示在操作246处已发起了行为的数据。在操作248,云计算系统192在操作246处接收由机器人100传输的数据。在操作250,云计算系统192向移动设备188传输数据,并且在操作252,移动设备188接收数据。在操作254,移动设备188向用户30提供指示,以表明与行为控制区318相关联的行为已由机器人100发起。例如,参考图6C,移动设备188可以向地图300呈现机器人100的表示符328、表示符324和机器人100的路径的表示符330。表示符330可以显示表示机器人100发起行为以沿着避开行为控制区318的路径移动。此外,移动设备188可以呈现表示机器人100遇到行为控制区318的消息332。

在一些实施方式中,在操作254处提供给用户30的指示可以是用于自主清洁操作的任务状态的呈现的一部分。在这点上,移动设备188可以提供关于自主清洁操作的持续时间的信息,以及关于在自主清洁操作期间是否遇到行为控制区318以及在自主操作期间遇到行为控制区318多少次的信息。在建立了多个行为控制区的实施方式中,移动设备188可以向用户30呈现表示遇到了哪些行为控制区的信息。

回到图5A,行为控制区318可以在操作206处被更新,例如,响应于环境20的变化。例如,可以响应于环境20中的与行为控制区318相关联的对象的移动,或者响应于与行为控制区318相关联的对象的移除,来更新行为控制区318。

图5D示出了操作206的示例过程,其中行为控制区318被更新。在操作256,机器人100生成地图绘制数据。机器人100可以在自主清洁操作期间生成地图绘制数据。该自主清洁操作可以是在行为控制区318建立之后执行的第一次自主清洁操作,或者可以是在第一次自主清洁操作之后执行的后续自主清洁操作。可以使用机器人100的传感器系统以类似于参照图5B的操作208所描述的方式来生成地图绘制数据。

在操作258,云计算系统192将在操作256处生成的地图绘制数据与先前生成的地图绘制数据进行比较,例如,在操作208处生成的地图绘制数据或在另一自主清洁操作期间生成的地图绘制数据。在操作256生成地图绘制数据之后,机器人100可以将地图绘制数据传输到云计算系统192。通过将在操作256处生成的地图绘制数据与先前存储的地图绘制数据进行比较,云计算系统192可以确定在操作202处建立的行为控制区318是否已经移动。具体地,如果在操作256生成的地图绘制数据中与行为控制区318相关联的对象的位置不同于先前存储的地图绘制数据中的对象的位置,则云计算系统192可以确定行为控制区318已经移动。

图7C示出了行为控制区318被更新的例子。可以响应于床316从其原始位置移动到新的更新位置而更新行为控制区318。因为床316与行为控制区318相关联,所以行为控制区318的位置从其原始位置318a(其中行为控制区318覆盖地板表面10的第一部分)更新到更新位置318b(其中行为控制区318覆盖地板表面10的第二部分)。

在根据地图绘制数据确定应该更新行为控制区之后,在操作260,云计算系统192可以更新行为控制区318。具体地,云计算系统192可以更新行为控制区318的位置。在操作262,移动设备188可以呈现行为控制区318 已被更新的表示。

图6D示出了在移动设备188上呈现的表示的示例,其表示行为控制区 318已经被更新。叠放在地图300上的表示符336指示覆盖地板表面10的第一部分的行为控制区318的旧位置(如图7C所示),叠放在地图300上的表示符338表示覆盖地板表面10的第二部分的行为控制区318的新位置(如图7C所示)。移动设备188可以进一步呈现表示行为控制区318已经被更新的消息339。在一些实施方式中,在对存储在云计算系统192或机器人100 中的行为控制区318进行更新之前,移动设备188可以向行为控制区318呈现对所提出的更新进行确认的请求。

其他替代实施方式

已经描述了许多实施方式,包括替代实施方式。然而,应当理解,进一步的替代实施方式是可行的,并且可以进行各种修改。

在一些实施方式中,机器人100响应于确定机器人100接近行为控制区而发起的行为可以变化。例如,如参照图6C和7B所述,在一些实施方式中,行为控制区318可以是禁区,以确保机器人100在自主清洁操作期间不进入行为控制区318。在一些实施方式中,机器人100可以发起行为,其中机器人100进入行为控制区,但是以与其在行为控制区之外的设置不同的设置来执行清洁操作。机器人100可以调节输送到机器人100的真空系统119 (如图3A所示)的真空功率、调节机器人100的移动速度、调节机器人100 的移动方向,或者调节机器人100相对于行为控制区的方位。为了设置机器人响应于确定机器人100接近行为控制区而发起的特定行为,用户30可以例如在操作202期间操作移动设备188来建立行为控制区。例如,当用户30 在操作220提供输入以建立行为控制区时,用户30还可以响应于检测到行为控制区来选择机器人100要发起的行为。

在一些实施方式中,响应于确定机器人100接近行为控制区,可以选择行为控制区以使机器人100发起重点清洁行为。当机器人100移动通过行为控制区的内部时,机器人100执行重点清洁行为。机器人100可以调节输送到真空系统119的真空功率(如图3A所示)。具体地,当机器人100通过行为控制区时,输送到机器人100的真空系统119的真空功率可以比机器人经行为控制区之外的地板表面10的一部分时输送到真空系统119的真空功率更大。在一些实施方式中,在重点清洁行为中,机器人100可以调整机器人 100的移动速度。相对于在机器人100在行为控制区之外通过地板表面10的一部分时机器人100的移动速度,机器人100可以降低机器人100的移动速度。替代地或额外地,在重点清洁行为中,机器人100可以调整机器人100 的运动模式。机器人100可以在行为控制区内以螺旋模式、玉米垄模式或其他适当的移动模式移动。

图8A示出了一个例子,其中行为控制区被设置成使机器人100发起重点清洁行为。在该示例中,例如在操作202(参照图5A描述)建立与地毯块 312相关联的行为控制区340。在自主清洁操作中,机器人100在进入行为控制区340时发起行为。该行为可以是如本文所述的重点清洁行为。例如,可以调整机器人100的运动模式。机器人100可以在行为控制区340中以玉米垄模式342移动,与在行为控制区340之外的玉米垄模式344的行相比,玉米垄模式342的行间距更紧地在一起。在一些情况下,机器人100可以以机器人100在地板表面10的同一部分上移动多次的移动模式移动。替代地或额外地,当机器人100通过行为控制区340时,机器人100可以增加输送到其真空系统的真空功率和/或降低其移动速度。行为控制区340可以允许机器人100更有效地清洁地毯块312。

图8B示出了一个例子,其中行为控制区被设置成使机器人100以一定角度移动通过行为控制区。在该示例中,行为控制区343可以与厨房308e和餐厅308d之间的门槛相关联。在自主清洁操作中,机器人100响应于接近行为控制区343而发起行为。如果机器人100以一个角度移动经过门槛,则机器人100可以更容易地越过厨房308e和餐厅308d之间的门槛。在这点上,机器人100相对于行为控制区343的移动角度可以在机器人100通过行为控制区343之前进行调整。机器人100可以相对于行为控制区343以一定角度移动,并因此相对于厨房308e和餐厅308d之间的门槛以一定角度移动。

在一些实施方式中,行为控制区是禁区,机器人100位于行为控制区内。例如,机器人100可以由用户手动布置在行为控制区中,或者机器人100可以自主移动到行为控制区。在机器人100自主移动到行为控制区中的示例中,机器人100可以发起逃脱行为,在该逃过行为中机器人100沿着路径移动到行为控制区之外。参照图9,机器人100位于行为控制区318内。机器人100 在自主清洁操作期间移动到行为控制区。在使用传感器系统确定其位置的情况中,机器人100确定其移动到行为控制区,而没有触发响应于机器人100 接近行为控制区318所要发起的行为(结合图5C的操作242、244描述)。这种情况可能是由于用于估计机器人100在环境20内位置的传感器误差或其他原因而发生的。

响应于检测到机器人100在行为控制区318内,机器人100可以沿着路径346被操纵离开行为控制区318。路径346可以对应于机器人100进入行为控制区所遵循的路径。机器人100沿着路径346在第一方向上移动以进入行为控制区318,并且沿着路径346在第二方向上移动离开行为控制区318。

在一些实施方式中,机器人100在行为控制区318内,并且确定机器人 100没有自主移动到行为控制区318内,而是例如由用户手动布置在行为控制区318内。在这种情况下,响应于检测到机器人100在行为控制区318内,可以防止机器人100的操作的发起。例如,如果用户30试图发起让机器人 100进行移动的自主清洁操作或其他操作,则阻止响应于检测到机器人100 处于行为控制区318内的操作。

如本文所述,行为控制区可以具有周界,并且可以响应于接近行为控制区的周界或处于行为控制区的周界内而触发机器人100的行为。在一些实施方式中,机器人100响应于处于行为控制区周围的缓冲区内而发起行为。参照图10,缓冲区348位于行为控制区318周围。机器人100可以对处于缓冲区348内做出响应,以确保机器人100不会由于定位不确定性而进入行为控制区318。在一些实施方式中,在没有缓冲区的情况下,与估计机器人100的位置相关联的不确定性会导致机器人100进入了行为控制区318但没有确认机器人100接近或在行为控制区318内。缓冲区348的大小可以基于与机器人100的位置估计相关联的不确定性来选择。可以估计与指示机器人100 的位置的数据相关联的不确定性,并且可以基于该估计的不确定性来选择缓冲区348的大小。在一些实施方式中,缓冲区348的大小与所估计的不确定性成比例,并且可以随着所估计的不确定性的改变而改变。

在一些实施方式中,缓冲区348不是与所估计的不确定性成比例或者基于所估计的不确定性来选择,而是由用户30使用例如移动设备188来选择。例如,用户30可以使用移动设备188来选择缓冲区348的大小。

机器人100被描述为真空清洁机器人。在某些实施方式中可以使用其他类型的机器人。在一些实施方式中,行为控制区与自主拖地机器人结合使用。例如,参考图11,机器人100和机器人190(例如,结合图4描述的)位于环境20中。机器人100是如本文所述的真空清洁机器人。自主移动机器人 190是自主拖地机器人。机器人190可以携带清洁垫,该清洁垫被配置为当机器人190在地板表面10上移动时擦拭地板表面10。机器人190还可以将流体施加到地板表面10上,例如,通过将流体喷洒到地板表面10上。对于重点清洁模式,机器人190可以将清洁垫更牢固地按压到地板表面10的一部分上、可以将更多的水喷洒到地板表面10的一部分上,或者多次通过地板表面的一部分。

可以设置行为控制区,使得机器人100和机器人190对靠近行为控制区做出不同的响应。例如,厨房308e中的地板表面10可以具有两种不同的地板类型:地毯部分352和硬木部分354。地板表面10的地毯部分352的行为控制区350可以例如根据参照图5B描述的操作来建立。

因为机器人100是真空清洁机器人并且机器人190是拖地机器人,所以建立了对应于地板表面10的硬木部分354的行为控制区350,使得机器人 100可以进入并清洁行为控制区350,同时机器人190避免进入行为控制区 350。在这点上,行为控制区350被机器人190视为禁区。在一些实施方式中,行为控制区350被机器人100忽略。在一些实施方式中,行为控制区350 被机器人100视为重点清洁区。

在一些实施方式中,参考图12,移动设备188在地图300上呈现表示行为控制区的边界的表示符356。再次简要参考图1,对应于表示符356的行为控制区可以是餐厅308d中餐桌358下方的区域。在一些实施方式中,参考图13,在增强现实模式中,环境20的图像360可以呈现在移动设备188 上,并且表示行为控制区的表示符362叠放在环境20的图像360上。在一些实施方式中,移动设备188可以呈现“确认”按钮364,以允许用户30确认图像360中所示的行为控制区。用户30可以选择“确认”按钮364来提供如本文所述的行为控制区的确认。

在一些实施方式中,在增强现实模式中,用户30可以通过选择图像360 的一些部分来选择行为控制区。例如,用户30可以选择图像360中呈现的对象,例如餐桌358。例如,如果选择餐桌358的表示,则可以建立行为控制区,例如由表示符362表示的行为控制区。在一些实施方式中,如图14所示,在增强现实模式中,用户30可以在增强现实模式中绘制行为控制区。用户30可以选择图像360上的一个或多个位置来建立行为控制区。用户30 可以例如沿着行为控制区的边界的表示368来选择点366。或者,用户30可以选择一个点,然后例如使用移动设备188的触摸屏,拖动他们的手指来定义对行为控制区进行定义的区域。

在一些实施方式中,由用户手动选择的行为控制区可以由计算系统调整,以符合环境中的特征。例如,参考图15A,用户30手动地定义行为控制区 369。用户30可以定义行为控制区369来覆盖房间角落中的区域370。由于例如用户错误或不精确,手动定义的行为控制区369可能不覆盖整个区域。参考图15B,行为控制区369被更新,以符合房间角落中的区域370的几何形状。行为控制区369的边缘可以被更新,以与房间墙壁的边缘和房间中障碍物的边缘对齐。行为控制区369的边缘可以被更新,以与环境的不可转移部分(例如墙壁和障碍物)的边缘对齐。基于用户对行为控制区369的初始定义并基于环境中的在行为控制区369附近的特征,移动设备188(或其他设备)可以确定用户对行为控制区369的预期范围。用户30可以通过选择确认按钮372来确认经更新的行为控制区369。在一些实施方式中,用户定义行为控制区来覆盖房间内部的地毯块或其他特征。该特征可能被可通行区域包围。可以更新行为控制区的边缘,以匹配房间内部的特征边缘。

在进一步的例子中,参考图16A,用户30可以手动定义无意中跨越多个房间的行为控制区374,例如第一房间376和第二房间378。移动设备188 (或其他设备)可以确定用户对行为控制区374的预期范围,并确定用户30 仅打算将行为控制区374定义为跨越第一房间376。例如,移动设备188可以确定行为控制区374的在第一房间376中的部分大于行为控制区374所覆盖的总面积的70%、80%或90%。或者,移动设备188可以确定行为控制区的在第二房间378中的部分小于行为控制区374所覆盖的总面积的20%、 10%或5%。在这点上,参考图16B,移动设备188可以更新行为控制区374,以捕捉第一房间376的特征,使得行为控制区374仅延伸通过第一房间376 而不通过第二房间378。例如,行为控制区374可以贴合第一房间376中的墙壁或其他障碍物。用户30可以通过选择确认按钮380来确认经更新的行为控制区374。

在进一步的例子中,参考图17A,用户30可以手动定义行为控制区382,其将阻止机器人100通过环境的一部分。参考图17B,移动设备188可以呈现表示符384,表示符384表示机器人100不可通过的环境部分。移动设备 188还可以呈现警告386,所述警告向用户30表明,对于以用户30提出的方式定义的行为控制区382,机器人100将无法到达房间或房间的一部分。用户30可以通过按下确认按钮388来确认选择,或者返回到再次定义行为控制区382的步骤,以重新定义行为控制区382。在一些实施方式中,移动设备188(或其他设备)可以推荐不会阻止机器人100到达环境的某些部分的行为控制区。

本文描述的机器人和技术或其部分可由计算机程序产品控制,该计算机程序产品包括存储在一个或多个非暂时性机器可读存储介质上的指令,并且该指令可在一个或多个处理设备上执行以控制(例如,协调)本文描述的操作。本文描述的机器人或其部分可以被实现为设备或电子系统的全部或部分,该设备或电子系统可以包括一个或多个处理设备和存储器,以存储可执行指令来实现各种操作。

与实现本文描述的机器人操作和控制的全部或部分相关联的操作可以由执行一个或多个计算机程序以执行本文描述的功能的一个或多个可编程处理器来执行。例如,移动设备、被配置为与移动设备和自主清洁机器人通信的云计算系统以及机器人的控制器都可以包括用计算机程序编程的处理器,用于执行诸如传输信号、计算估计或解释信号的功能。计算机程序可以用任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。

本文描述的控制器和移动设备可以包括一个或多个处理器。举例来说,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储区或随机存取存储区或两者接收指令和数据。计算机的元件包括用于执行指令的一个或多个处理器以及用于存储指令和数据的一个或多个存储区域设备。一般而言,计算机还将包括一个或多个机器可读存储介质,例如用于存储数据的大容量 PCB,例如磁盘、磁光盘或光盘,或者可操作地耦合到一个或多个机器可读存储介质,以从一个或多个机器可读存储介质接收数据,或者向一个或多个机器可读存储介质传送数据,或者两者兼有。适于包含计算机程序指令和数据的机器可读存储介质包括所有形式的非易失性存储区域,例如包括半导体存储区域设备,例如EPROM、EEPROM和闪存存储区域设备;磁盘,例如内部硬盘或可移动磁盘;CD-ROM;和DVD-ROM。

本文描述的机器人控制和操作技术可适用于控制除清洁机器人之外的其他移动机器人。例如,草坪修剪机器人或空间监控机器人可以训练,以如本文所述地在草坪或空间的特定部分执行操作。

本文描述的不同实施方式的要素可以被组合以形成上文没有具体阐述的其他实施方式。要素可以被排除在本文描述的结构之外,而不会不利地影响它们的操作。此外,各种单独的元件可以组合成一个或多个单独的元件,以执行本文描述的功能。

已经描述了许多实施方式。然而,应当理解,可以进行各种修改。因此,其他实施方式也在权利要求的范围内。

53页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:具有采样的区分器的电荷共享补偿

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类