自主移动机器人

申请号 CN201720699993.5 申请日 2017-06-15 公开(公告)号 CN207804199U 公开(公告)日 2018-09-04
申请人 美国iRobot公司; 发明人 J.C.切夫隆特; C.V.琼斯; M.J.杜利;
摘要 一种自主移动 机器人 ,包括:至少一个 驱动轮 ,其可操作成移动所述 移动机器人 越过地板表面;包括导航 传感器 的 传感器系统 ;与所述传感器系统通信的 控制器 ,所述控制器配置为基于由所述导航传感器产生的传感器 信号 来控制所述移动机器人的移动;以及与控制器通信的无线通信系统,其中,所述控制器配置为响应于从远程计算系统接收无线命令信号而启动所述移动机器人的一个或多个操作,所述无线命令信号指示用户 请求 的动作并且基于由能够接收和发出音频的音频媒体设备接收的可听用户命令。(ESM)同样的 发明 创造已同日 申请 发明 专利
权利要求

1.一种自主移动机器人,其特征在于,所述自主移动机器人包括:
至少一个驱动轮,其可操作成移动所述移动机器人越过地板表面;
包括导航传感器传感器系统
与所述传感器系统通信的控制器,所述控制器配置为基于由所述导航传感器产生的传感器信号来控制所述移动机器人的移动;以及
与控制器通信的无线通信系统,
其中,所述控制器配置为响应于从远程计算系统接收无线命令信号而启动所述移动机器人的一个或多个操作,所述无线命令信号指示用户请求的动作并且基于由能够接收和发出音频的音频媒体设备接收的可听用户命令。
2.根据权利要求1所述的移动机器人,其特征在于,所述音频媒体设备与所述远程计算系统无线通信,并且驻留在环境内于远离所述自主移动机器人位置
3.根据权利要求1所述的移动机器人,其特征在于,所述控制器配置为基于所述传感器信号产生环境的地图。
4.根据权利要求3所述的移动机器人,其特征在于,所述导航传感器包括配置成用于在所产生的地图上计算机器人姿态时使用的特征和地标的视觉识别的相机。
5.根据权利要求1所述的移动机器人,其特征在于,所述移动机器人配置为:
执行多个任务,并且
发送指示由所述传感器系统对于所述多个任务中的每个测量的累积数据的无线信号,以使所述音频媒体设备基于所述累积数据发出累积概要。
6.根据权利要求1所述的移动机器人,其特征在于:
所述传感器系统配置为向所述控制器提供指示机器人状态的数据,以及
所述移动机器人配置为发送指示机器人状态的无线信号,以使所述音频媒体设备发出可听状态更新。
7.根据权利要求6所述的移动机器人,其特征在于,所述数据表示所述移动机器人经历多个任务已经操作的总持续时间、所述移动机器人已经执行的任务数量、所穿过的地板表面的总累积距离或所述移动机器人已经行进的距离。
8.根据权利要求6所述的移动机器人,其特征在于:
所述移动机器人是真空清洁机器人,以及
所述传感器系统配置为提供指示由经历多个任务的移动机器人收集的碎屑总量的数据。
9.根据权利要求6所述的移动机器人,其特征在于:
所述移动机器人是真空清洁机器人,其可与从所述真空清洁机器人排出碎屑的对接站一起操作,以及
所述移动机器人配置为经由所述无线通信系统向所述远程计算系统发送数据,以使得所述远程计算系统能够计算每周的排出操作的平均数量、在一段时间内执行的排出操作的数量或者在一段时间内在由所述移动机器人覆盖的区域上执行的排出操作的数量。
10.根据权利要求1所述的移动机器人,其特征在于,还包括:
可维护部件,以及
一个或多个传感器,其配置为产生指示所述可维护部件的估计使用寿命的信号。
11.根据权利要求10所述的移动机器人,其特征在于,所述可维护部件包括清洁刷、清洁垫、辊、刀片、电池、箱、轮、箱过滤器或箱盖。
12.根据权利要求11所述的移动机器人,其特征在于,所述控制器配置为响应于由所述音频媒体设备接收的可听用户命令,发送指示所述可维护部件的估计剩余使用寿命的无线信号。
13.根据权利要求1所述的移动机器人,其特征在于,还包括配置为检测移动机器人的失速状态的失速传感器单元,
其中,所述控制器配置为发送指示所述移动机器人的检测到的失速状态的无线信号,以使所述音频媒体设备发出指示所述移动机器人处于失速状态的状态更新。
14.根据权利要求13所述的移动机器人,其特征在于,所述失速传感器单元包括光滞留传感器、达失速传感器、鼠标传感器、陀螺仪加速度计或立体相机。
15.根据权利要求1所述的移动机器人,其特征在于,所述控制器配置为响应于传感器系统检测到错误而发送指示错误的无线信号,以使所述音频媒体设备发出初始可听指令来解决错误。
16.根据权利要求1所述的移动机器人,其特征在于:
所述移动机器人是真空清洁机器人,以及
所述控制器配置为响应于接收所述无线命令信号而控制所述真空清洁机器人移动到环境中的用户指定的房间,其中,所述可听用户命令和无线命令信号指示用户指定的房间。
17.根据权利要求1所述的移动机器人,其特征在于:
所述移动机器人是真空清洁机器人,以及
所述控制器配置为响应于所述无线命令信号来调整真空强度。
18.根据权利要求1所述的移动机器人,其特征在于,所述控制器配置为响应于所述无线命令信号来调整存储的操作计划。
19.根据权利要求1所述的移动机器人,其特征在于,所述移动机器人配置为响应于所述无线命令信号而发送无线信号,以使所述音频媒体设备发出指示所述移动机器人的当前位置的可听信号。
20.根据权利要求1所述的移动机器人,其特征在于,所述移动机器人是真空清洁机器人,其包括:
碎屑箱;
配置成搅拌来自地板表面的碎屑的可旋转辊;以及
配置成将碎屑从地板表面朝向碎屑箱移动的空气增流器。
21.根据权利要求20所述的移动机器人,其特征在于,还包括碎屑箱平传感器,其配置成检测摄入碎屑箱中的碎屑的量。
22.根据权利要求20所述的移动机器人,其特征在于,还包括配置成检测碎屑摄入速率的一个或多个碎屑传感器。
23.根据权利要求20所述的移动机器人,其特征在于,还包括碎屑过滤器和过滤器传感器,以检测所述碎屑过滤器是否需要清洁。

说明书全文

自主移动机器人

技术领域

[0001] 本说明书涉及用于控制自主移动机器人的系统和方法,特别是用于使用音频媒体设备来控制自主移动机器人

背景技术

[0002] 许多家庭环境包括移动机器人,其自主导航通过家庭,同时执行某些操作以完成否则将会要求家庭中的居民注意的任务。例如,一些移动机器人是清洁机器人,其可以使用存储在耦合到控制器存储器中的程序来自主执行在限定区域内的清洁操作。清洁机器人可以清洁家庭,而不需要用户手动地将清洁机器人围绕家庭移动。清洁机器人可以包括手动输入装置,例如用户按压以在家中启动自主清洁操作的按钮。
[0003] 这些相同的家庭环境通常包括计算设备,例如台式机、平板电脑、娱乐系统及便携式通信设备。为了使用户能够控制计算设备,计算设备可以包括为用户提供对计算设备的操作的手动控制的手动输入设备(例如,触摸屏键盘、定点设备)。这些计算设备中的一些允许用户使用存储在计算设备上的应用程序来控制移动机器人。实用新型内容
[0004] 一方面,提供了一种用于控制在家庭内可机动操作的自主移动机器人的一个或多个操作的方法,所述方法包括:在自主移动机器人和远程计算系统之间建立无线通信,以及响应于从所述远程计算系统接收无线命令信号,启动所述自主移动机器人的一个或多个操作。所述自主移动机器人远离驻留在家庭内的音频媒体设备。所述音频媒体设备能够接收和发送音频。所述远程计算系统配置为将自主移动机器人的识别数据与音频媒体设备的识别数据相关联。所述无线命令信号对应于由所述音频媒体设备接收的可听用户命令。
[0005] 在另一方面,提供了一种用于控制在家庭内可机动操作的自主移动机器人的一个或多个操作的方法,所述方法包括:将自主移动机器人的识别数据与音频媒体设备的识别数据相关联,以及与自主移动机器人和音频媒体设备中的每一个建立无线通信。该方法还包括在从音频媒体设备接收到无线指令信号时,向自主移动机器人发送无线命令信号以启动自主移动机器人的一个或多个操作。音频媒体设备能够接收和发送音频。音频媒体设备驻留在家庭内于远离自主移动机器人的位置。无线指令信号对应于由音频媒体设备接收的可听用户命令。
[0006] 在另一方面,提供了一种提供在家庭内可机动操作的自主移动机器人的状态的方法,所述方法包括:在音频媒体设备和远程计算系统之间建立无线通信,并响应于从远程计算系统接收无线通知信号,发出表示自主移动机器人的操作状态的可听信号。音频媒体设备能够接收和发出音频,并且驻留在家庭内于远离自主移动机器人的位置。远程计算系统配置为将自主移动机器人的识别数据与音频媒体设备的识别数据相关联。随着自主移动机器人相对于音频媒体设备围绕家庭自主地导航,无线通知信号对应于远程计算系统接收的状态数据。
[0007] 在另一方面,提供了一种提供位于家庭内的自主移动机器人的状态的方法,所述方法包括:将自主移动机器人的识别数据与音频媒体设备的识别数据相关联,并且与自主移动机器人和音频媒体设备中的每一个建立无线通信。该方法还包括在接收到指示自主移动机器人的操作状态的数据时发送无线通知信号,以使音频媒体设备发出表示自主移动机器人的操作状态的可听信号。音频媒体设备能够接收和发出音频。音频媒体设备驻留在家庭内于远离自主移动机器人的位置。
[0008] 在另一方面,提供了一种用于控制在家庭内可机动操作的自主移动机器人的一个或多个操作的方法,所述方法包括建立音频媒体设备和远程计算系统之间的无线通信,并且响应于接收到可听用户命令,将无线指令信号发送到远程计算系统以启动自主移动机器人的一个或多个操作。音频媒体设备能够接收和发出音频,并且驻留在家庭内于远离自主移动机器人的位置。远程计算系统配置为将自主移动机器人的识别数据与音频媒体设备的识别数据相关联。
[0009] 在另一方面,提供了一种提供在家庭内可机动操作的自主移动机器人的状态的方法,所述方法包括:建立自主移动机器人与远程计算系统之间的无线通信,并且在相对于音频媒体设备围绕家庭自主地导航时,将指示自主移动机器人的操作状态的状态数据从自主移动机器人发送到远程计算系统,以使音频媒体设备发出表示自主移动机器人的操作状态的可听信号。自主移动机器人远离音频媒体设备。音频媒体设备驻留在家庭内。音频媒体设备能够接收和发出音频。远程计算系统配置为将自主移动机器人的识别数据与音频媒体设备的识别数据相关联。
[0010] 另一方面,提供了一种自主移动机器人,包括底盘、产生用于生成家庭地图的信号的感测系统、支撑底盘于家庭内的地板表面上的机车构件以及可利用无线通信系统操作的控制器。机车构件可驱动以在感测系统产生用于生成家庭地图的信号的同时围绕地板表面自主地导航自主移动机器人。控制器配置为响应于从远程计算系统接收到无线命令信号而启动自主移动机器人的一个或多个操作。无线命令信号对应于由能够接收和发出音频的音频媒体设备接收到的可听用户命令。
[0011] 在另一方面,提供了一种自主移动机器人,包括至少一个可操作以使移动机器人移动跨越地板表面的驱动轮、包括导航传感器传感器系统、与传感器系统通信的控制器以及与控制器通信的无线通信系统。控制器配置为基于由导航传感器产生的传感器信号来控制移动机器人的移动。控制器配置为响应于从远程计算系统接收到无线命令信号而启动移动机器人的一个或多个操作。无线命令信号指示用户请求的动作,并且基于由能够接收和发出音频的音频媒体设备接收的可听用户命令。
[0012] 某些方面可以包括下文和本文其他地方描述的一个或多个实施方式。在一些示例中,控制器执行前述方法中的一个或多个。
[0013] 在一些示例中,一个或多个操作包括相对于音频媒体设备围绕家庭自主地导航。自主移动机器人可以包括自主清洁机器人。一个或多个操作可以包括自主地导航到用于自主移动机器人的对接站。一个或多个操作可以包括朝向音频媒体设备自主地导航。所述方法中的一个或多个还可以包括从远程计算系统接收位置信号并相对于音频媒体设备围绕家庭自主地导航,同时定位到音频媒体设备的位置。位置信号可以指示音频媒体设备在家庭内的位置。在围绕家庭自主地导航的同时,所述方法中的一个或多个可以包括产生包括与远程计算系统进行无线通信的设备的位置的家庭的地图。
[0014] 在一些示例中,一个或多个操作包括暂停自主移动机器人的清洁操作。
[0015] 在一些示例中,启动一个或多个操作包括启动自主移动机器人的清洁操作。
[0016] 在一些示例中,所述方法中的一个或多个还包括在执行清洁操作的同时围绕家庭自主地导航。响应于从远程计算系统接收到无线命令信号,所述方法中的一个或多个还可以包括通过在家庭的部分内以预定义模式导航自主移动机器人并且增加递送给自主移动机器人的清洁装置的功率量,启动在家庭的部分内的本地化清洁操作。
[0017] 在一些示例中,一个或多个操作包括发出可听信号。
[0018] 在一些示例中,一个或多个操作包括存储用户定义的计划以在未来时间执行后续操作。一个或多个操作可以包括在未来时间执行所述后续操作。
[0019] 在一些示例中,可听用户命令包括指示自主移动机器人的识别数据的可听标识符和对应于自主移动机器人的一个或多个操作的语音命令。所述方法中的一个或多个还可以包括基于语音命令产生无线命令信号,并且基于可听标识符来选择无线命令信号的目的地。
[0020] 在一些示例中,所述方法中的一个或多个还包括在接收到包括表示机器人类型的可听标识符的初始用户命令时确定自主移动机器人的识别数据包括机器人类型和与音频媒体设备的识别数据相关联的其他机器人的其他识别数据,包括机器人类型。所述方法中的一个或多个可以包括发送无线通知信号以使音频媒体设备发出用于指示自主移动机器人的唯一身份的可听标识符的可听请求。可听用户命令可以对应于用户对可听请求的响应。在确定自主移动机器人的识别数据包括机器人类型和其他识别数据之后,可以发送无线通知信号。
[0021] 在一些示例中,所述方法中的一个或多个还包括接收初始可听用户命令,其包括指示不与音频媒体设备相关联的另一自主移动机器人的识别的可听标识符。所述方法中的一个或多个还可以包括发送无线通知信号以使音频媒体设备发出指示其他自主移动机器人不与音频媒体设备相关联的可听通知。
[0022] 在一些示例中,所述方法中的一个或多个还包括接收不包括与自主移动机器人的一个或多个操作相对应的多个可用语音命令中的任何一个的初始可听用户命令。所述方法中的一个或多个还可以包括发送无线通知信号以使音频媒体设备发出可听通知,其指示初始可听用户命令不包括与任何可用语音命令相对应的语音命令。
[0023] 在一些示例中,所述方法中的一个或多个还包括基于可听用户命令的声学特性来估计用户的位置。发送无线命令信号可以包括发送无线命令信号以使自主移动机器人朝向用户的估计位置导航。
[0024] 在一些示例中,所述方法中的一个或多个还包括将另一自主移动机器人的识别数据与音频媒体设备的识别数据相关联。自主移动机器人的识别数据可以对应于第一可听标识符,并且另一自主移动机器人的识别数据可以对应于与第一可听标识符不同的第二可听标识符。
[0025] 在一些示例中,可听用户命令包括对应于家庭内的预定义位置的可听位置标识符。所述方法中的一个或多个还可以包括将另一自主移动机器人的识别数据与音频媒体设备的识别数据相关联。将无线命令信号发送到自主移动机器人可以包括在确定自主移动机器人到预定义位置的距离小于另一自主移动机器人到预定义位置的距离时将无线命令信号发送到自主移动机器人。
[0026] 在一些示例中,可听用户命令包括对应于家庭内的多个预定义位置中的一个预定义位置的可听位置标识符。将无线命令信号发送到自主移动机器人可以包括将无线命令信号发送到自主移动机器人以使自主移动机器人导航到一个预定义位置。
[0027] 在一些示例中,所述方法中的一个或多个还包括接收初始可听用户命令,其包括与未来时间相对应的可听计划参数,用于将无线命令信号发送到自主机器人以执行一个或多个操作。所述方法中的一个或多个还可以包括在确定未来时间与用户事件日历中的事件冲突时发送无线通知信号,以使音频媒体设备发出指示未来时间与事件冲突的可听通知。
[0028] 在一些示例中,所述方法中的一个或多个还包括接收初始可听用户命令以计划用户事件日历中的事件。所述方法中的一个或多个还可以包括在确定事件对应于预定事件类型时发送无线通知信号,以使音频媒体设备发出可听请求。可听用户命令可以包括对可听请求的确认。发送无线命令信号可以包括将无线命令信号发送到自主移动机器人,以在事件之前的预定义时间段内启动自主移动机器人的一个或多个操作。
[0029] 在一些示例中,发出可听信号包括在确定用户已经进入家庭之后发出可听信号。
[0030] 在一些示例中,自主移动机器人的操作状态包括先前操作的计划。发出可听信号可以包括发出可听请求,以基于先前操作的计划来修改所存储的操作计划。
[0031] 在一些示例中,操作状态对应于家庭内的自主移动机器人的失速状态。发出可听信号可以包括发出可听信号以指示自主移动机器人处于失速状态。可听信号可以指示自主移动机器人在家庭内的位置。
[0032] 在一些示例中,发出可听信号包括发出可听信号以指示自主移动机器人的先前操作的频率
[0033] 在一些示例中,发出可听信号包括发出可听信号以指示自主移动机器人在预定义时间段内的先前操作的总持续时间。
[0034] 在一些示例中,发出可听信号包括发出可听信号以指示自主移动机器人的部件的估计剩余使用寿命。自主移动机器人的部件可以是清洁刷、清洁垫、辊、电池、碎屑箱或轮模
[0035] 在一些示例中,发出可听信号包括发出可听信号以识别由自主移动机器人检测到的障碍物,同时自主移动机器人在家庭内导航。
[0036] 在一些示例中,发出可听信号包括发出可听信号以识别位于家庭内的连接设备。连接设备可以无线地连接到远程计算系统并与音频媒体设备相关联。
[0037] 在一些示例中,发出可听信号包括发出可听指令以指导用户响应于检测到错误来解决与自主移动机器人相关联的错误的基础
[0038] 在一些示例中,发出可听信号包括在自主移动机器人围绕家庭自主地导航之后发出可听信号。可听信号可以识别自主移动机器人在自主地导航的同时不穿过的家庭区域。
[0039] 在一些示例中,发出可听信号包括在接收到用于自主移动机器人的操作状态的可听用户请求时发出可听信号。
[0040] 在一些示例中,发送无线通知信号包括在确定自主移动机器人的可替换部件的估计剩余使用寿命小于预定义阈值时,发送无线通知信号以使音频媒体设备发出可听信号。可听信号可以包括为自主移动机器人的部件购买替换部件的提议。所述方法中的一个或多个还可以包括在接收到包括确认购买替换部件的可听用户命令时为替换部件下订单。
[0041] 在一些示例中,将自主移动机器人的识别数据与音频媒体设备的识别数据相关联包括:基于发出和接收到可听关联请求来发送无线命令信号,并且在接收到可听关联请求的接收的确认时将自主移动机器人的识别数据与音频媒体设备的识别数据相关联。自主移动机器人和音频媒体设备中的一个可以发出可听关联请求,并且自主移动机器人和音频媒体设备中的另一个可以接收可听关联请求。
[0042] 在一些示例中,所述方法中的一个或多个还包括基于由自主移动机器人发出并且由音频媒体设备接收的可听状态信号来确定自主移动机器人在家庭内的位置,其中发出可听信号包括发出用于指示自主移动机器人的位置的可听信号。
[0043] 在一些示例中,移动机器人远离音频媒体设备,音频媒体设备驻留在家庭内。当远程计算系统将移动机器人的识别数据与音频媒体设备的识别数据相关联时,控制器还可配置为与远程计算系统建立无线通信。
[0044] 在一些示例中,自主移动机器人还包括音频媒体设备。音频媒体设备可以安装到自主移动机器人的底盘。
[0045] 在一些示例中,自主移动机器人还包括底盘上的可变高度构件和由该可变高度构件支撑的相机。可变高度构件可以配置为相对于底盘垂直移动到多个相机高度位置。感测系统可以包括相机。相机可以配置为捕获家庭的图像以产生家庭的地图。一个或多个操作可以包括将自主移动机器人自主地导航到家庭内的选定位置,并将可变高度构件移动到所选择的相机高度位置,以通过使用相机来观察家庭内的物体。可以以由音频媒体设备接收的可听用户命令识别该物体。
[0046] 在一些示例中,音频媒体设备与远程计算系统进行无线通信,并驻留环境内于远离自主移动机器人的位置。
[0047] 在一些示例中,音频媒体设备与远程计算系统进行无线通信,并驻留在环境内于远离自主移动机器人的位置。
[0048] 在一些示例中,控制器配置为基于传感器信号产生环境的地图。在一些情况下,导航传感器包括配置成用于在产生的地图上计算机器人姿态时使用的特征和地标的视觉识别的相机。
[0049] 在一些示例中,移动机器人配置为执行多个任务,并且发送指示由传感器系统对于多个任务中的每个测量的累积数据的无线信号,以使音频媒体设备基于该累积数据发出累积概要。
[0050] 在一些示例中,传感器系统配置为向控制器提供指示机器人状态的数据。移动机器人可以配置为发送指示机器人状态的无线信号,以使音频媒体设备发出可听状态更新。
[0051] 在某些情况下,数据表示移动机器人经历多个任务已经操作的总持续时间、移动机器人已经执行的任务数量、所穿过的地板表面的总累积距离或移动机器人已经行进的距离。
[0052] 在某些情况下,移动机器人是真空清洁机器人。传感器系统可以配置为提供指示由经历多个任务的移动机器人收集的碎屑总量的数据。
[0053] 在一些情况下,移动机器人是真空清洁机器人,其可与从真空清洁机器人排出碎屑的对接站一起操作。移动机器人可以配置为经由无线通信系统向远程计算系统发送数据,以使得远程计算系统能够计算每周的排出操作的平均数量、在一段时间内执行的排出操作的数量或者在一段时间内在由移动机器人覆盖的区域上执行的排出操作的数量。
[0054] 在一些示例中,移动机器人还包括可维护部件以及一个或多个传感器,其配置为产生指示可维护部件的估计使用寿命的信号。在一些情况下,可维护部件包括清洁刷、清洁垫、辊、刀片、电池、箱、轮、箱过滤器或箱盖。在一些情况下,控制器配置为响应于由音频媒体设备接收的可听用户命令,发送指示可维护部件的估计剩余使用寿命的无线信号。
[0055] 在一些示例中,移动机器人还包括配置为检测移动机器人的失速状态的失速传感器单元。控制器可以配置为发送指示移动机器人的检测到的失速状态的无线信号,以使音频媒体设备发出指示移动机器人处于失速状态的状态更新。在某些情况下,失速传感器单元包括光滞留传感器、达失速传感器、鼠标传感器、陀螺仪加速度计或立体相机。
[0056] 在一些示例中,控制器配置为响应于传感器系统检测到错误而发送指示错误的无线信号,以使音频媒体设备发出初始可听指令来解决错误。
[0057] 在一些示例中,移动机器人是真空清洁机器人。控制器可以配置为响应于接收到无线命令信号而控制真空清洁机器人移动到环境中的用户指定的房间,其中可听用户命令和无线命令信号指示用户指定的房间。
[0058] 在一些示例中,移动机器人是真空清洁机器人。控制器可以配置为响应于无线命令信号来调整真空强度。
[0059] 在一些示例中,控制器配置为响应于无线命令信号来调整存储的操作计划。
[0060] 在一些示例中,移动机器人配置为响应于无线命令信号而发送无线信号,以使音频媒体设备发出指示移动机器人的当前位置的可听信号。
[0061] 在一些示例中,移动机器人是真空清洁机器人,包括碎屑箱、配置成搅拌来自地板表面的碎屑的可旋转辊以及配置成将碎屑从地板表面朝向碎屑箱移动的空气增流器。在一些情况下,移动机器人还包括碎屑箱平传感器,其配置成检测摄入碎屑箱中的碎屑的量。在一些情况下,移动机器人还包括配置成检测碎屑摄入速率的一个或多个碎屑传感器。在一些情况下,移动机器人还包括碎屑过滤器和过滤器传感器,以检测碎屑过滤器是否需要清洁。
[0062] 前述内容的优点可以包括但不限于下文和本文别处描述的那些。这里描述的系统和方法减少了用户手动地与移动机器人交互以启动或控制家庭内的机器人操作的需要。特别地,用户可以向音频媒体设备发出语音命令以控制移动机器人,由此使得用户能够控制移动机器人,即使用户没有可用手来操作可与移动机器人一起操作的手动输入设备。用户还可以接收关于移动机器人的状态的通知,而不必在物理上靠近移动机器人。音频媒体设备可以定位成向用户提供可听通知,并且可以在移动机器人围绕家庭自主地导航时(在某些情况下远离用户附近)向用户提供这些通知。由于音频媒体设备发出可听通知,所以可以向用户通知移动机器人的状态,而不必转移用户的视觉注意。
[0063] 本文描述的系统和方法还可以向移动机器人和音频媒体设备提供关于可以改善移动机器人和音频媒体设备的操作的家庭状况的附加数据。在一些示例中,由音频媒体设备的传感器收集的数据可以与上传到音频媒体设备的或者由移动机器人的传感器收集的数据结合使用,以提高移动机器人在家庭内自主导航期间构建的家庭地图的精度或准确性。移动机器人还可以使用上传到音频媒体设备的或者由音频媒体设备收集的数据,以改善移动机器人在家庭内的位置,从而减少移动机器人的导航行为的错误。
[0064] 本文描述的系统和方法还可以降低与同移动机器人有关的用户交互相关的低效率。例如,系统和方法描述了预测推荐动作,其如果执行的话可以防止移动机器人的操作中的错误发生。音频媒体设备可以在用户通常注意到这样的动作是有益的之前通知用户推荐动作。在某些情况下,远程计算系统可以执行推荐动作,从而减少用户解决与移动机器人相关的错误或潜在错误所花费的时间。
[0065] 本说明书中描述的主题的一个或多个实施方式的细节在附图和下面的描述中阐述。其他潜在的特征、方面和优点将从说明书、附图和权利要求书中变得显而易见。

附图说明

[0066] 图1是围绕家庭环境导航的移动机器人的示意性俯视图。
[0067] 图2是控制系统的框图
[0068] 图3A是移动机器人的示例的示意性仰视图。
[0069] 图3B是安装在移动机器人上的传感器的示例的示意图。
[0070] 图4是音频媒体设备的示意性正视图。
[0071] 图5是向音频媒体设备提供可听命令的用户的示意图。
[0072] 图6A是描绘关联过程的流程图
[0073] 图6B描绘了图6A的关联过程的示例的截图。
[0074] 图7是描绘向移动机器人发送命令信号的过程的流程图。
[0075] 图8是描绘发出移动机器人的状态的可听通知的过程的流程图。
[0076] 图9是描绘基于移动机器人的操作来执行推荐动作的过程的流程图。
[0077] 图10是描绘发出可听指令以校正移动机器人的错误状况的过程的流程图。
[0078] 图11A-11D是相机缩回位置的移动机器人的图示。
[0079] 图11E-11G是图11A-11D的移动机器人在相机延长位置的图示。
[0080] 图12是表示移动机器人监视路径的示例的示意图。
[0081] 各个附图中相同的附图标记和标号表示相同的元件。

具体实施方式

[0082] 参考图1,远程计算系统200可以根据用户100指向音频媒体设备400的语音命令来控制移动机器人300。类似地,远程计算系统200可以使音频媒体设备400发出指示操作移动机器人300的可听信号。图2描绘了示例性通信网络201的示意图,移动机器人300和音频媒体设备400都无线连接到远程计算系统200(图形表示为包括在计算系统中的服务器),以实现远程计算系统200与移动机器人300之间的通信以及远程计算系统200与音频媒体设备400之间的通信。
[0083] 通信网络201使得能够将指向音频媒体设备400的用户语音命令用作命令信号的基础,以控制移动机器人300的操作。用户100操作音频媒体设备400以通过发出音频媒体设备400接收的可听命令来命令移动机器人300。通信地链接到音频媒体设备400的远程计算系统200可以从音频媒体设备400接收对应于可听命令的信号,然后将另一个信号(或多个信号)发送到移动机器人300,以使移动机器人300根据用户的可听命令执行操作。
[0084] 在某些示例中,音频媒体设备400发出可听信号,该信号包括向用户100通知移动机器人300的操作状态的可听通知。远程计算系统200通过以下方式产生要发送到音频媒体设备400的命令信号:分析来自移动机器人300、移动计算设备202(例如图2所示的智能电话)或可以提供关于移动机器人300的操作状态的信息的其他适当源中的一个或多个的输入信号。远程计算系统200然后将命令信号发送到音频媒体设备400以使音频媒体设备400发出可听信号,从而向用户100提供关于移动机器人的操作的信息。
[0085] 在一些情况下,通过可听信号提供给用户100的信息包括执行解决移动机器人300的当前需求或预测需求的推荐动作的请求。远程计算系统200可以预测推荐的动作可以改善移动机器人300的操作的效率或功效。例如,音频媒体设备400发出可听请求,以调整移动机器人300的操作或执行支持移动机器人300的操作的动作。如果用户100对音频媒体设备400进行口头响应,以声明该可听请求,则远程计算系统200启动要执行的动作以解决移动机器人300的需要。例如,在一个示例中,如果推荐的动作是调整对于移动机器人300的用户定义的计划,则远程计算系统200将调整的计划发送到移动机器人300,并使移动机器人300存储调整的计划,例如在与移动机器人300相关或与远程计算系统200相关的存储器上。如果推荐的动作是购买移动机器人300的替换部件,则远程计算系统200将信号发送到在线市场,以将替换部件的订单发送给用户100。
[0086] 在某些实施方式中,移动机器人300和音频媒体设备400彼此直接传达声信号。例如,音频媒体设备400将声信号直接传送到移动机器人300,并且移动机器人300将声信号直接传送到音频媒体设备400。例如,声信号包括直接命令和响应,其中移动机器人300发出标识移动机器人300的状态的声信号,音频媒体设备400直接接收声信号。音频媒体设备可替代地或另外地发出移动机器人300直接接收的声学命令,声学命令致使移动机器人300执行操作。
[0087] 在移动机器人300和音频媒体设备400彼此直接传达声信号的一些情况下,移动机器人300和音频媒体设备400之一不包括将设备连接到无线通信网络的无线通信系统201,而移动机器人300和音频媒体设备400中的另一个包括将设备连接到无线通信网络201的无线通信系统。例如,如果音频媒体设备400包括无线通信系统,则用户100向音频媒体设备400提供可听命令或远程访问音频媒体设备400以提供命令。然后,音频媒体设备400在接收到用于启动操作的可听用户命令时,向移动机器人300发出声学命令以启动操作,例如清洁操作或观察操作。类似地,如果移动机器人300包括无线通信系统,则移动机器人300将声学命令传送到音频媒体设备400,例如声学命令促使音频媒体设备400以类似于用户100将会如何提供这种可听用户命令的方式来订购更多的可重复使用的垫。例如,声学命令包括语音命令或简单的可听信号,例如与特定命令相关的音调
[0088] 在一些示例中,音频媒体设备400的音频感测能改善了移动机器人300的定位。例如,音频媒体设备400具有测量来自移动机器人300的声学输出的响度和/或方向的能力,并且该信息可以用于确定移动机器人300的位置。在一些示例中,移动机器人300相对于环境中的音频媒体设备400定位和/或相对于发出声信号的其他设备的位置定位。在某些实施方式中,移动机器人300测量声信号的响度和方向,并且定位来自音频媒体设备400和/或其他设备的信号。
[0089] 在一些示例中,这种类型的音频感测可用于调整用于家庭环境的音频媒体设备400的音频输入设备(例如麦克)和音频输出设备(例如扬声器)的操作。通过在房间200内和/或房间200外的不同位置与音频媒体设备400传送声信号,移动机器人300使得音频媒体设备400能够调整其音频输入设备的感测级别或调整其音频输出设备的输出级别例如响度。
[0090] 用于移动机器人的示例性环境
[0091] 移动机器人300和音频媒体设备400可以在一个或多个封闭空间内或者在包括一个或多个封闭空间的环境内操作。例如,环境包括家庭环境、生活空间、工作环境或其他环境。例如,封闭空间对应于环境内的房间。在图1所示的示例性环境中,环境包括用户100、移动机器人300和音频媒体设备400所在的家庭10。移动机器人300位于房间20A内。音频媒体设备400驻留在用户100也位于的房间20B内。房间20A通过口22A相邻并连接到房间20B。房间20A是包括床22和端台24、26的卧室。
[0092] 在图1所示的例子中,移动机器人300自主导航通过房间20A来完成任务。如果移动机器人300是清洁机器人,则该任务可以对应于清洁任务以清洁房间20A的地板表面。在一些示例中,该任务可以对应于移动机器人300自主导航到家庭10内的预定位置的巡逻。移动机器人300在完成其任务的同时围绕定位在房间20A中的障碍物(例如床22和端台24、26)导航。随着移动机器人300在任务期间围绕家庭10移动,移动机器人300利用其传感器来生成家庭10的地图并且将移动机器人300定位在地图内。移动机器人300包括产生指示移动机器人的状态的信号的其他传感器,比如移动机器人300的部件的状态或由移动机器人300执行的任务或操作的状态。
[0093] 在一些实施方式中,除了移动机器人300和音频媒体设备400之外,家庭10包括与远程计算系统200通信的其他设备。在一些实施方式中,图2所示的移动计算设备202链接到远程计算系统200,并且使用户100能够在移动计算设备202上提供输入。移动计算设备202可以包括用户输入元件,例如比如触摸屏显示器、按钮、麦克风、鼠标、键盘或响应于用户100提供的输入的其他设备中的一个或多个。移动计算设备202可替代地或另外包括用户
100与之交互以提供用户输入的沉浸式媒体(例如虚拟现实)。在这些情况下,移动计算设备
202例如是虚拟现实机或头戴式显示器。用户可以提供对应于移动机器人300的命令的输入。在这种情况下,移动计算设备202将信号发送到远程计算系统200,以使远程计算系统
200向移动机器人300发送命令信号。
[0094] 尽管图2的通信网络201将移动计算设备202描绘为无线地链接到远程计算系统200,但在一些实施方式中,图2的通信网络201包括移动计算设备202与移动机器人300之间的无线链接,以使移动计算设备202能够将无线命令信号直接发送到移动机器人300。用户
100将指示命令信号的用户输入提供给移动计算设备202,然后移动计算设备202发送与用户输入相对应的命令信号。通信网络201可以采用各种类型的无线网络(例如蓝牙、射频、基于光的等)和网络架构(例如网状网络)。
[0095] 其他设备也可以无线地链接到远程计算系统200。在图1的示例中,家庭10包括链接设备102A、102B。在一些实施方式中,每个链接设备102A、102B包括适于监视家庭10、监视家庭10的居民、监视移动机器人300的操作、监视音频媒体设备400的操作等的传感器。例如,这些传感器可以包括成像传感器、占用传感器、环境传感器等。
[0096] 用于链接设备102A、102B的成像传感器可以包括可见光红外相机、采用电磁光谱的其它部分的传感器等。链接设备102A、102B将由这些成像传感器产生的图像传送到远程计算系统200。用于链接设备102A、102B的占用传感器包括例如被动或主动透射或反射红外传感器、使用光的飞行时间或三测距范围传感器、声纳或射频、识别占用的声音或声压特性的麦克风、气流传感器、相机、用于监视频率和/或WiFi频率以获得足够强的接收信号强度的无线电接收器或收发器、能够检测环境光(包括自然照明、人造照明和从移动计算设备(例如移动计算设备202)发出的光)的光传感器、和/或其他适当的传感器中的一个或多个,以检测家庭10内的用户100或其他居民的存在。占用传感器可替代地或另外检测用户100的运动或自主移动机器人300的运动。如果占用传感器对自主移动机器人300的运动足够敏感,则链接设备102A、102B的占用传感器产生指示移动机器人300的运动的信号。用于链接设备102A、102B的环境传感器可以包括电子温度计、气压计、湿度或水分传感器、气体检测器、机载颗粒计数器等。链接设备102A、102B将来自存在于链接设备102A、102B中的成像传感器、占用传感器、环境传感器和其他传感器的组合的传感器信号传送到远程计算系统200。这些信号用作远程计算系统200的输入数据,以执行本文所述的过程来控制或监视移动机器人300和音频媒体设备400的操作。
[0097] 在一些示例中,远程计算系统200连接到多个机器人设备,包括移动机器人300和第二移动机器人301,从而使用户100能够与音频媒体设备400交互以控制和监视多个机器人设备300、301。如图1所示,第二移动机器人301位于通过门口22B连接到房间20B的房间20C内。类似于移动机器人300的第二移动机器人301在房间20C内执行任务,例如清洁任务。
[0098] 用于每个音频媒体设备400、移动机器人300、链接设备102A、102B、第二移动机器人301和其他设备的控制器可以启动和维护用于与远程计算系统200通信的无线链接。控制器还可以彼此直接启动和维护无线链接,例如启动和维护在移动机器人300与音频媒体设备400之间、在音频媒体设备400与链接设备102A、102B之一之间的无线链接。还可以与其他远程电子设备比如移动电话、平板电脑、膝上型计算机、另一移动计算设备、一个或多个环境控制设备、其他类型的电子设备等形成无线链接。在某些实施方式中,无线链接允许与一个或多个设备通信,包括但不限于智能灯泡、恒温器、车库门开启器、门、遥控器、电视机、安全系统、安全摄像机、烟雾探测器、视频游戏机、其他机器人系统、或能够感测的其他通信和/或致动设备或电器。
[0099] 在图2所示的通信网络201中,并且在通信网络201的其他实施方式中,无线链接可以利用各种通信方案和协议,例如比如蓝牙类、Wi-Fi、蓝牙低能量(也称为BLE(BLE和BT经典是完全不同的协议,只是共享品牌))、802.15.4、全球微波接入互操作性(WiMAX)、红外通道或卫星频段。在某些情况下,无线链接包括用于在移动设备之间通信的任何蜂窝网络标准,包括但不限于符合1G、2G、3G或4G标准的标准。例如,网络标准(如果被使用)通过满足诸如国际电信联盟维护的规范的规范或标准而被认定为一代或多代移动电信标准。例如,3G标准(如果被使用)对应于国际移动电信-2000(IMT-2000)规范,并且4G标准可以对应于国际移动电信高级(IMT-Advanced)规范。蜂窝网络标准的例子包括AMPS、GSM、GPRS、UMTS、LTE、LTE Advanced、Mobile WiMAX和WiMAX-Advanced。蜂窝网络标准可以使用各种信道接入方法,例如FDMA、TDMA、CDMA或SDMA。
[0100] 通信网络201使用户100能够使用自然的口语来与音频媒体设备400交互以控制或监视移动机器人300。在图1所示的一个例子中,远程计算系统200确定用于移动机器人300(“机器人#1”)的电池具有足够低的充电容量,在对于移动机器人300而言充电容量不足以执行操作之前订购替换电池将是有益的。远程计算系统200使音频媒体设备400发出可听请求:“机器人#1将很快需要电池。我要订购新的电池吗?”。用户100在听到可听请求后回答:“是的,请订购一个新的清洁垫”。音频媒体设备400向远程计算系统200发送表示用户对可听请求同意的信号。然后,远程计算系统200将信号发送到在线市场,以对要发送到用户100的家庭10的替换电池下订单。
[0101] 在一些实施方式中,移动机器人300和第二移动机器人301都链接到远程计算系统200。关于移动机器人300、301的操作的信息可被发送到远程计算系统200以用于向用户100通知其操作。在一些情况下,除了使音频媒体设备400发出可听请求之外,远程计算系统200还产生命令信号,以使音频媒体设备发出指示移动机器人300、301的操作的可听通知。在图
1所示的另一示例中,用户100发出由音频媒体设备400(“AMD”)发出的关于第二移动机器人
301(“机器人#2”)的信息的可听请求:“AMD,机器人#2在哪里?”。音频媒体设备400接收可听请求,并将指示可听请求的无线信号发送到远程计算系统200。远程计算系统200基于第二移动机器人301的位置产生命令信号。远程计算系统200将命令信号发送到音频媒体设备
400,音频媒体设备400发出指示第二移动机器人301的位置的可听通知:“机器人#2在浴室中”。
[0102] 使用音频媒体设备400,用户100可以跟踪移动机器人300的操作并请求要发送到移动机器人300的命令。如果第二移动机器人301也连接到远程计算系统200,则音频媒体设备400用作车队管理工具,使用户100能够选择性地控制每个移动机器人300、301或者选择性地请求关于每个移动机器人300、301的操作的信息。上文和本文其他地方描述的示例过程有利地使用户100能够以方便和有效的方式管理移动机器人300。示例过程还为用户100提供了免手方式来管理移动机器人300,使得用户100不需要手动地提供输入来命令移动机器人300。用户100保持通知移动机器人300的操作,而不必手动操作输入设备。随着移动机器人300围绕家庭10移动,用户100容易地跟踪移动机器人300,而不必知道移动机器人300的位置,或者不必移动靠近移动机器人300的位置。
[0103] 此外,在用户100不能将视觉注意集中于移动机器人300的通知的情况下,用户100通过收听由音频媒体设备400发出的可听信号继续监视移动机器人300的操作。例如,当用户100正在执行需要用户视觉注意的任务,用户100能够使用口头通信来命令移动机器人300。音频媒体设备400还允许用户100使用自然口头通信来控制移动机器人300,而不需要解释视觉指示符或图标,从而改善例如老年人、儿童、视障者等人可以控制移动机器人300的操作的容易程度。
[0104] 移动机器人的示例
[0105] 移动机器人300、301通过使用驱动系统和一套传感器来自主地围绕环境(例如家庭10)进行导航。图3A示出了图1的移动机器人300的示例的示意性仰视图。虽然图3A对移动机器人300进行了描述,但图3A的移动机器人另外或可替代地对应于第二移动机器人301。移动机器人300包括含有驱动轮302的驱动系统。在一些情况下,脚轮304将移动机器人300支撑在地板表面上方。移动机器人300还包括可与一个或多个连接到驱动轮302的马达一起操作的控制器30。移动机器人300的控制器306选择性地启动马达,以驱动驱动轮302并在整个地板表面上导航移动机器人300。
[0106] 控制器306还可与感测系统308一起操作。感测系统308包括可由控制器306使用以围绕家庭10进行导航的传感器。例如,感测系统308让传感器产生信号用于检测家庭10内的障碍物并且用于生成家庭10的地图。感测系统308可以包括障碍物检测传感器,比如用于检测到障碍物的距离的飞行时间传感器、用于检测下落(例如楼梯)的悬崖检测传感器、与安装在移动机器人300上的保险杠相关的碰撞传感器以及接触传感器。当障碍物检测传感器检测到障碍物时,控制器306操作用于移动机器人300的驱动系统以围绕障碍物移动。
[0107] 控制器306使用来自其传感器系统的信号,以通过随时间跟踪和更新移动机器人300的位置和方向来生成家庭10的地图。另外,这些映射传感器包括同时定位和映射(SLAM)传感器、航位推算传感器以及障碍物检测和回避(ODOA)传感器。控制器306构建家庭10的地板表面的二维地图,确定地图上的机器人姿态,并且确定移动机器人300可以穿过的家庭10的部分位置(例如未被占用的可穿越的地板)。使用来自航位推算传感器和接触与非接触障碍物检测传感器的信号,控制器306指示移动机器人300由于地板表面上或地板表面上方的障碍物而不能穿过的地板。在一个示例中,控制器306在其穿过时构建壁和障碍物的地图,创建可穿越和被占用的空间的占用网格。在某些实施方式中,地图使用笛卡尔坐标系或极坐标系。在某些情况下,地图是拓扑图、示意性地图或概率图。
[0108] 在一些示例中,使用同时定位和映射(SLAM)技术,控制器306确定移动机器人300在家庭10的二维地图中的姿态。SLAM传感器包括例如一个或多个相机,用于视觉识别在地图上计算机器人姿态时使用的特征和地标。移动机器人300包括产生信号的附加传感器,以使控制器306能够随着移动机器人300围绕家庭10移动而估计移动机器人300的位置和/或取向。这些传感器单独地或与SLAM传感器组合确定移动机器人300在由通过的移动机器人300构建的机器人地图上的姿态。在一些实施方式中,控制器306使用来自附加传感器的信号来验证或调整由SLAM传感器确定的姿态。在一些实施方式中,附加传感器包括里程表、加速度计、陀螺仪、惯性测量单元和/或产生指示移动机器人300的行进距离、旋转量、速度或加速度的信号的其它传感器。例如,移动机器人300包括定向传感器,比如陀螺仪,其产生指示移动机器人300已经从航向旋转的量的信号。在一些实施方式中,感测系统308包括航位推算传感器,比如IR轮编码器,以产生指示驱动轮302的旋转的信号,并且控制器306使用检测到的旋转来估计移动机器人300行进的距离。在一些实施方式中,感测系统308包括例如激光扫描器或飞行时间传感器,其产生传感器读数以确定与观察到的障碍物和环境内的物体的距离。可替代地或另外,感测系统308包括面向地板表面的光学鼠标传感器,以确定移动机器人300相对于航向已经横向跨越地板表面漂移的距离。
[0109] 在一些实施方式中,移动机器人300采用视觉同时定位和映射(VSLAM)来构建其地图并确定在地图上的当前姿态。感测系统308包括一个或多个定位传感器,例如相机310,其产生用于控制器306的信号,以确定移动机器人相对于在环境中检测到的特征的位置和取向。在一些实施方案中,移动机器人300包括可见光照相机310,其在机器人主体的顶表面下方并且在向上的方向上成角度,例如在与移动机器人300导航所围绕的地板表面成30度到80度之间的角度。相机310瞄准具有高浓度静态元件(比如窗框、图片框架、门口框架和具有诸如线、角和边缘的可见的可检测特征的其它物体)的壁和天花板上的位置。例如,当相机
310向上倾斜时,相机310的视锥的中心向上倾斜,使得视锥的中心瞄准在壁和天花板上的位置。使用由相机310拍摄的图像,控制器306在移动机器人300围绕房间或封闭空间例如一系列邻接的房间20A、20B、20C、20D(统称为封闭空间或房间20)导航时确定机器人在其构建的地图上的位置。
[0110] 在一些情况下,定位传感器包括移动机器人300上的传感器,其能够响应于占据非可穿过的地板空间的环境中的墙壁和物体的检测而产生信号。除了VSLAM相机之外,这些定位传感器包括例如接触传感器比如碰撞传感器,以及非接触飞行时间传感器,比如激光器、体积点传感器、点线传感器(例如飞行时间线传感器,比如由PIXART制造的那些)、IR接近传感器、LIDAR和声学传感器。定位传感器产生信号,从中提取出独特的签名、图案或特征,特别是区分不可穿过的地板与可穿过的地板,或者可穿过的地板空间在被移动机器人300穿过时被添加到展开的机器人地图。当控制器306确定已经检测到这些特征时,控制器306使用移动机器人300相对于这些检测到的特征的位置和取向来确定移动机器人300在家庭10的地图上的姿态。控制器306将移动机器人300定位在家庭10内,特别是通过参照对应于家庭10内的物体的特征来确定移动机器人300的当前姿态。所提取的特征指示移动机器人
300所位于的房间。返回参考图1,所提取的特征为每个房间20A、20B、20C形成唯一的标识符。在一些实施方式中,移动机器人300响应于检测到与房间标识符相关的特定特征,使用所提取的特征来确定其当前位于房间20A、20B、20C中的哪一个。在一些实施方式中,移动机器人300通过物体识别来识别预先识别的房间。例如,移动机器人300使用其相机310来捕获与每个房间20相关的物体(例如炉子、洗碗机箱)的图像。用户100向移动机器人300传送与这些可识别的物体相关的特定房间标识符(例如厨房)。在任务期间,当移动机器人300识别出这些物体时,通过发出可听警报来将其位置传送给用户,例如通过请求AMD400或者移动计算设备202产生可听警报,或者使得例如通过在移动计算设备202上显示指示相关的所存储的房间标识符的文本通知来发出视觉警告。
[0111] 在一些实施方式中,地图是持久不变的,并且存储在远程计算系统200中以供一个或多个移动机器人300、301和/或AMD400访问。在每个后续运行中,移动机器人300根据家庭10内的变化的条件比如移动的家具或AMD 400的新位置来更新持久不变的地图。在一些示例中,移动机器人300通过标准协议来发现家庭10中的连接设备,并将其定位在地图上。这包括连接的灯和扬声器、通风口、门窗传感器和家庭10中的其他连接设备的位置。移动机器人300在家庭10中漫步,并且使用RF签名、视觉识别、接收的信号强度等方法来识别家庭10中的连接的设备,并自动将它们放置在家庭10的机器人地图上。例如,移动机器人300探索家庭10并且识别客厅的墙上的NEST恒温器、厨房中连接的三星冰箱以及家庭活动室和卧室中的HUE BLOOM灯。移动机器人300将识别的连接的设备放置在地图上,并且使用户100和AMB400能够利用所连接的设备的这种空间知识。例如,用户100能够通过说出“打开卧室中的灯”来打开卧室中的灯。本文所述的AMD400和移动机器人300的交互使得随着移动机器人
300导航通过家庭10而能够对由移动机器人300检测到的设备进行这种简单的语音控制。
[0112] 感测系统308还产生指示移动机器人300的操作的信号。在一些示例中,感测系统308包括与驱动系统集成的失速传感器单元,其产生指示移动机器人300的失速状态的信号,其中移动机器人300不能沿着家庭10内的地板表面移动。失速传感器单元产生用于指示传送到驱动系统的马达的电流变化的信号。电流的变化可以指示移动机器人300的失速状态,其中移动机器人300不能基本上从其当前姿态移动。失速传感器单元可替代地或另外包括光学传感器,其产生指示当功率正被传送到驱动轮302的马达时轮(例如脚轮304或驱动轮302之一)是否正在移动的信号。在一些情况下,失速传感器单元是用于跟踪和检测运动的鼠标传感器,或者缺少其,通过比较连续的图像以进行改变,并且在其他实施方式中,移动机器人300依靠加速度计来产生指示移动机器人300的加速度的信号。控制器306在检测到轮没有移动时确定移动机器人300处于失速状态。
[0113] 在一些实施方式中,移动机器人300包括其它传感器,如图3的示意图所示。在一些示例中,感测系统308包括麦克风314,其从移动机器人300的环境接收可听信号。在一些情况下,感测系统308包括环境传感器,例如温度传感器2070C、环境光传感器2070D、空气含水量传感器2070J、气体成分空气质量传感器2070I或其他环境特点。感测系统308还包括指示移动机器人300或移动机器人300的部件的状况的状况传感器。例如,这些传感器包括电池充电状态传感器,用于检测移动机器人300的电源的充电量或充电容量,还包括部件寿命传感器,比如轮胎踏面传感器,用于检测部件的可使用性或部件的剩余寿命等。
[0114] 移动机器人300还包括允许移动机器人300发出可听信号的音频发射系统312。控制器306促使发出可听信号,例如向用户100通知移动机器人300的状态,例如移动机器人300的部件的状态、移动机器人300的操作状态或由移动机器人300执行的任务的状态。如本文更详细地描述,控制器306可以操作音频发射系统312以传送要由音频媒体设备400的麦克风单元402接收的可听信号。在一些情况下,音频媒体设备400使用扬声器单元传送要由移动机器人300的麦克风314接收的可听信号。
[0115] 移动机器人300还包括允许移动机器人300与远程计算系统200通信的无线通信系统316,如图2的通信网络201所示。使用无线通信系统316,控制器306向远程计算系统200发送数据。在一些示例中,数据包括由感测系统308的传感器产生的信号。在包括图像捕获系统310的移动机器人300的一些实施方式中,捕获的图像可被直接发送到远程计算系统200。在一些示例中,移动机器人300收集信息并构建家庭10的地图,并且控制器306将地图发送到远程计算系统200。如果控制器306包括任何状况传感器,则控制器306还将指示移动机器人300的状况的信息发送到远程计算系统200。
[0116] 如关于图1所述,在围绕家庭10的导航期间,移动机器人300执行操作并在家庭10内完成任务。所执行的操作取决于移动机器人300的类型。在一些情况下,当用户100引导语音命令给音频媒体设备400来命令移动机器人300执行操作时,可由移动机器人300执行的操作取决于移动机器人300的类型。除了描述可能存在于许多类型的移动机器人用于本文所述的实施方式的基本部件之外,图3A还示出了真空清洁机器人特有的部件,该机器人对应于可以受益于本文描述的过程的许多类型的移动机器人之一。其他移动机器人300可以包括地板洗涤机器人、家庭监视机器人、机器人割草机、拖地机器人、伴随机器人、扫掠机器人、其组合以及其他适当的机器人。如本文更详细地描述,这些机器人可以各自从本文描述的过程和系统中受益。
[0117] 在一些示例中,移动机器人300是包括清洁系统的真空清洁机器人,以摄入地板表面上的碎屑。例如,清洁系统包括可旋转的辊或刷317,其将来自地板表面的碎屑搅拌到安装在移动机器人300上的碎屑箱(未示出)中。清洁系统包括空气增流器,其在启动时移动空气,从而将地板表面上的碎屑移向碎屑箱。随着移动机器人300在清洁任务期间绕其环境进行导航,移动机器人300启动其清洁系统以摄入碎屑,从而清洁地板表面。
[0118] 在一些情况下,如果移动机器人300是真空清洁机器人,则感测系统308包括检测吸入用于真空清洁机器人的可移除碎屑箱中的碎屑量的碎屑箱水平传感器。感测系统308包括一个或多个碎屑传感器,其检测真空清洁机器人何时摄入碎片或检测碎屑摄入速率。在某些示例中,移动机器人300包括用于碎屑的过滤器,感测系统308还包括用于检测过滤器是否需要清洁的过滤器传感器。
[0119] 控制器306访问存储器,其存储由传感器收集的信息和由控制器306可执行的程序,以使移动机器人300在家庭10内执行操作。如图3A所示,在一些示例中,移动机器人300包括存储器318。程序包括导航程序,例如以围绕家庭10进行导航移动机器人300。控制器306响应于来自例如感测系统308的信号或通过无线通信系统316发送到控制器306的无线命令信号而启动移动机器人300的操作。如果移动机器人300包括用户输入设备,比如可手动操作的按钮,则输入设备可由用户100操作以使控制器306启动移动机器人300的一个或多个操作。例如,手动操作的按钮对应于触摸屏显示器上的按钮或按钮图标。在一些情况下,存储器318还存储控制器306实现的确定性运动图案,以便导航移动机器人300通过家庭
10。例如,该图案包括直线运动图案、藤蔓图案、辫子图案、螺旋图案、曲折图案或包括图案组合的其他图案。存储器318还存储由感测系统308的传感器收集的数据,包括传感系统308的任何航位推算传感器、定位传感器、状况传感器或其它传感器。如果控制器306构建家庭
10的地图,则控制器306可选地将地图存储在存储器318中,以便在随后的清洁任务中重新使用。
[0120] 可用于移动机器人300的操作取决于移动机器人300的类型。例如,如果移动机器人300是如本文所述的真空清洁机器人,则存储器318包括用于执行地板清洁操作的程序。当真空清洁机器人接收到开始清洁任务的命令时,真空清洁机器人通过自主地绕其环境导航并从地板表面摄入碎屑来执行地板清洁操作。地板清洁操作包括房间清洁操作,其中控制器306以诸如辫子图案、螺旋图案或其他适当的运动图案的图案导航真空清洁机器人,以覆盖一个房间或多个房间的地板表面。
[0121] 在一些情况下,地板清洁操作包括点清洁操作,其中真空清洁机器人在接收到执行点清洁操作的命令时将其清洁操作限制到局部区域。局部区域可以包括如由碎屑传感器检测到的更大量的检测到的碎屑。作为点清洁操作的一部分,控制器306另外或可替代地增加递送到真空清洁机器人的空气增流器的功率,以使得碎屑更容易被真空清洁机器人摄入。为了执行点清洁操作,控制器306控制驱动系统,使得真空清洁机器人以局部区域内的预定义图案(例如螺旋图案)移动。任何地板清洁操作的启动可以响应于传感器信号而发生。如果真空清洁机器人包括碎屑传感器,则控制器306可以控制真空清洁机器人,以响应于碎屑传感器检测碎屑来执行点清洁操作。来自远程计算系统200的无线命令信号也可以启动点清洁操作、房间清洁操作或真空清洁机器人的其他操作。
[0122] 在一些实施方式中,移动机器人300与其环境中的其他设备通信或以其他方式交互。例如,移动机器人300包括可在与电池电连接的站再充电的可再充电电池。在某些情况下,电池是插入站的可拆卸电池,而在其他情况下,移动机器人300停靠在站,从而使站能够对电池充电。如图1所示,对接站104位于房间20A中。对接站104包括充电器,其可操作成在移动机器人300对接在对接站104时(例如物理地和/或电连接到对接站104)对移动机器人300的电池充电。如果移动机器人300是真空清洁机器人,则对接站104另外或可替代地用作包括电动容器的抽空站,以从真空清洁机器人的碎屑箱清空碎屑。
[0123] 在图1所示的另一示例中,位于门口22B附近的发送单元106传送越过门口22B的至少一段长度的轴向限制束。发送单元106定位成使得发出的限制束将房间20C与房间20B分离。在一些情况下,感测系统308包括检测发出的限制束的全向检测器。响应于限制束的检测,控制器306导航移动机器人300以避免越过限制束,从而维护移动机器人300在房间20C中或在房间20C外的自主导航。例如,当全向检测器检测到限制束时,移动机器人300运动远离限制束。参考图1,如果第二移动机器人301包括这样的全向检测器,则发送单元106限制第二移动机器人301,使得第二移动机器人301在房间20C内自主导航,而不移动跨越限制束且因此门口22B。
[0124] 在一些情况下,一个或多个发送单元将信号发射到可由移动机器人300上的定位传感器检测到的环境中。例如,信号是在家庭10内保持固定的光信号或声信号。例如,如果当移动机器人300导航通过家庭10时发送单元将窄导向的声信号发送到家庭10中,则当移动机器人300上的声学接收器接收到声音信号时控制器306定位到声信号。声信号可以指向壁表面,使得声学接收器检测到反射的声信号,或者声信号可被引导朝向地板表面,使得声学接收器接收声信号的直接发射。发送单元将这些信号中的一个或多个发送到家庭10中,并且移动机器人300将这些信号中的每一个用作定位特征。在一些情况下,发送单元将窄聚焦的光束发射到感测系统308检测到的家庭10中,并且控制器306用于将移动机器人300定位在家庭10内。
[0125] 音频媒体设备的示例
[0126] 图4示出了可以定位在家庭10内的表面上的音频媒体设备400的示例,例如在房间20B内的桌子上,以使得能够与用户100进行音频交互。这些音频交互包括回放由音频媒体设备400发出的可听信号用于用户100听到和由用户100发出的语音以被音频媒体设备400接收。为了支持这些交互,音频媒体设备400包括音频换能器,例如一个或多个麦克风和一个或多个扬声器,以将声信号转换为电信号或者将电信号转换为声信号。音频媒体设备400包括具有至少一个麦克风以接收可听信号的麦克风单元402和具有至少一个扬声器以发出可听信号的至少一个扬声器单元404。
[0127] 在一些情况下,音频媒体设备400包括非音频控制输入机构,比如用于增加/减小音量或用于打开或关闭音频媒体设备400的一个或多个输入按钮。在一些示例中,音频媒体设备400上的视觉指示器406指示音频媒体设备400的状态,比如当音频媒体设备400的电源打开时。例如,视觉指示器406指示音频媒体设备400的音量或功率状况。
[0128] 用于音频媒体设备400的用户输入的主要形式对应于由用户100发出的所接收到的语音,并且用户输出的主要形式对应于用户100要听到的可听发射。用户100与音频媒体设备400进行交互并且通过自然语音与之通信。在一些实施方式中,音频媒体设备400可以单独使用可听信号来控制,因此不需要用户100来操纵输入设备或显示器。在这种情况下,音频媒体设备400不包括触觉输入设备,比如控制按钮、键盘、操纵杆、键盘、触摸屏和其他可替代的触觉设备。此外,在一些实施方式中,音频媒体设备400单独使用可听信号向用户100提供通知和信息。例如,音频媒体设备不包括用于要由用户100读取的文本或图形输出的显示。尽管音频媒体设备400在一些实施方式中包括视觉指示器406,但在其他实施方式中,音频媒体设备400可以向用户100提供非触觉的、非视觉的用户输入和用户输出机构。
[0129] 除了麦克风单元402之外,音频媒体设备400可以包括其他传感器,比如图像捕获传感器、运动检测传感器、光学传感器、全球定位系统(GPS)收发器、设备存在传感器(例如用于地理围栏)和可以检测音频媒体设备400的环境状况的其他传感器。在一些情况下,音频媒体设备400包括用于检测环境中的光量的传感器,并且音频媒体设备400启动在低光条件下照亮环境的灯。在一些情况下,音频媒体设备400包括相机,以检测用户100与音频媒体设备400的距离和方向,或者使用相机启用电话会议操作。
[0130] 音频媒体设备400还包括用于操作音频媒体设备400的控制器408。控制器408可以访问存储器。在一些实施方式中,音频媒体设备400包括存储器410,控制器408可以访问存储器410。在一些情况下,控制器408可替代地或另外使用无线通信系统412访问远程存储器,例如与远程计算系统200相关的远程存储器。除了能够远程存储数据之外,无线通信系统412使控制器408能够与例如远程计算系统200进行通信,如图2所示。无线通信系统412能够执行与附近设备(比如移动机器人400A、400B)的近场通信,前提是用于移动机器人400A、400B的无线通信系统也能够进行这样的通信。无线通信系统412能够将由麦克风单元402和其他传感器收集的信息从音频媒体设备400发送到远程计算系统200。无线通信系统412还使控制器408能够从远程计算系统200接收信号。
[0131] 在一些示例中,控制器408可以访问距离估计程序,其估计音频媒体设备400的麦克风单元402与由麦克风单元402接收的音频起点之间的距离。例如,如果所接收的音频是来自用户100的发声,则音频媒体设备400的控制器408执行或引起距离估计程序的执行以确定用户与麦克风单元402之间的距离。如果麦克风单元402具有多个麦克风,则距离估计程序包括例如计算在麦克风处的声信号的到达时间差。
[0132] 麦克风单元402还可以捕获除了从用户100发出的发声之外的音频。在一些情况下,随着用户100围绕音频媒体设备400的附近走动,音频媒体设备400检测用户100的脚步的声音。使用这些声音,距离估计程序确定用户100与音频媒体设备400的距离,并且在一些示例中确定用户100的速度。
[0133] 麦克风单元402可以检测由音频媒体设备400发出的声信号,特别是通过检测在家庭10内的所发出的声信号的反射。在一些示例中,控制器408使音频媒体设备400的扬声器单元404产生声信号,并且麦克风单元402在声信号已经经过音频媒体设备400的环境之后接收对应的声学反射。控制器408可以访问声学映射程序,其在执行时形成环境的声学地图。
[0134] 当控制器408执行声学映射程序时,扬声器单元404可以同时和/或顺序地发出具有不同方向、频率、强度和/或其他声学特性的多个声信号。发出的声信号的声学特性和反射的声信号的声学特性可以指示导致反射的环境中的表面和物体的特征。基于环境的回波特性和环境内的声学反射的不同强度,声学映射程序确定音频媒体设备400的环境内的表面和物体的距离。在一些实施方式中,声学映射程序使用回波定位回波测距以确定音频媒体设备400的环境的距离和空间特性。
[0135] 在一些情况下,控制器408使接收到的音频被滤波,以减小噪声对环境中的物体之间的估计的距离的影响。例如,滤除导致在麦克风单元402的麦克风处具有不同到达时间的若干个声信号的声信号混响减少了基于混响来估计距离的可能性。
[0136] 在一些示例中,声学映射程序包括当环境没有移动实体、人类或其他方式时以及当音频媒体设备400在环境中固定时形成环境的基线声学地图。在图1中,环境对应于家庭10。家庭10的构造的声学地图包括例如导致由麦克风单元402接收的声学反射的表面和其他物体的位置。声学映射程序提供基线声学地图内的音频媒体设备400相对于家庭10内的表面和其他物体的位置。声学映射程序进一步测量当居住者比如用户100在家庭10中时的回波方向和起始姿态。在这方面,声学映射程序能够估计用户100在家庭10的声学地图内的位置。
[0137] 在一些情况下,控制器408使用由麦克风单元402检测到的声信号来提取不同特征或地标。例如,控制器408使用诸如基于声音的SLAM之类的技术,其中控制器408从由麦克风单元402检测到的信号中提取声学反射特征。例如,声学反射特征可以对应于家庭10内的物体的特定几何形状,其导致由麦克风单元402检测到的反射的声信号的图案。
[0138] 这些特征可以实现音频媒体设备400在家庭10内的定位。在一些实施方式中,基线声学地图对应于当音频媒体设备400处于环境内的初始位置时所构建的声学地图。音频媒体设备400可以根据声学映射程序周期性地发出声音,以构建随后的声学地图。在构建基线声学地图之后,如果在音频媒体设备400的操作期间构建了随后的声学地图,则在某些情况下,随后的声学地图表现出相对于基线声学地图的差异。差异可以指示音频媒体设备400已经从家庭10内的其初始位置移动。当音频媒体设备400从其初始位置移动时,随后的声学地图中的若干个特征的位置可以以相同的方式相对于它们在基线声学地图中的位置移动。声学映射程序考虑了特征的相对移位以确定音频媒体设备400在随后的声学地图中的新位置,从而使控制器408能够将音频媒体设备400定位在家庭10内。
[0139] 在一些情况下,除了使用检测到的距离和物体的几何形状以提取用于定位的特征之外或作为替代,控制器408使用所接收的声信号的其它特征来提取用于定位的特征。例如在使用声学映射程序对环境进行映射之后,控制器408使扬声器单元404在频率范围内发出声信号。家庭10内的物体可以具有频率响应,其形成可以用作家庭10内的音频媒体设备400的定位的特征的唯一签名。例如,某些表面吸收宽频率范围的声信号,并且导致窄频率范围的反射。这样的频率响应可能对于家庭10内的特定表面或物体是唯一的。如果音频媒体设备400被移到新的位置,则控制器408可以使用唯一的频率响应来检测特定的表面,然后确定音频媒体设备400与特定表面之间的距离变化。因此,控制器408可以使用频率响应作为定位的特征。
[0140] 控制器408还可以使用其他声学定位特征。在一些实施方式中,由环境中的物体引起的混响可以呈现出由麦克风单元402接收的声信号中可识别的不同特征。因此,混响的检测也可以用作定位的特征。在一些情况下,家庭10包括以独特频率发出声信号的一个或多个音频发射单元。音频发射单元用作固定的发送信标,控制器408使用其来对其在家庭10内的位置进行三角测量。
[0141] 控制器408可以访问声音识别程序,使得可以执行声音识别程序来识别可听信号中的不同声音。在一些示例中,存储器410包括要由控制器408执行的声音识别程序。在一些实施方式中,控制器408将对应于可听信号的信号发送到远程计算系统200,以使远程计算系统执行声音识别程序。声音识别程序包括语音识别子程序,以允许语音从用户100发出的词语中被识别。响应于对特定词语的识别,产生相应的信号,例如包括命令信号、通知信号或其他信号。例如,该信号使音频媒体设备400、移动机器人300或第二移动机器人301执行操作。
[0142] 在一些示例中,执行声音识别程序以识别在家庭环境中期望的或者期望具有移动机器人的家庭环境的常见可听信号。在一些实施方式中,声音识别程序识别来自家庭10内的电器的相对低频率噪声。例如,声音识别程序识别来自移动机器人300的噪声,比如如果移动机器人300是清洁机器人的话则启动空气增流器。在一些情况下,声音识别程序识别由移动机器人300的驱动机构引起的声音,比如启动马达或者移动驱动轮302跨越不同类型的地板表面。可替代地或另外,声音识别程序识别由家庭内的门窗的打开和关闭引起的声音。
[0143] 在一些情况下,由扬声器单元404发出的声信号是不可听声波信号。声信号可替代地或另外包括可听音。虽然已经将扬声器单元404和麦克风单元402描述为用于声学映射,但声学映射程序可替代地使辅助扬声器和辅助麦克风分别发出和接收声信号。用于辅助扬声器和麦克风的这些声信号具有例如在扬声器单元404和麦克风单元402的频率响应范围之外的频率。在一些情况下,辅助扬声器和麦克风在超声波范围或不可听范围内发出和接收声信号,而扬声器单元404和麦克风单元402在可听范围内发出和接收声信号。在这方面,当声学扬声器发出其声信号时,辅助扬声器对麦克风单元402产生最小的声学干扰。类似地,当扬声器单元404发出其声信号时,扬声器单元404对辅助麦克风产生最小的声学干扰。
[0144] 用于移动机器人和音频媒体设备的过程的示例
[0145] 用于移动机器人300和音频媒体设备400的无线通信系统能够在一些情况下通过远程计算系统200在移动机器人300与音频媒体设备400之间传输数据,如图2的通信网络201所示。远程计算系统200包括远离移动机器人300和音频媒体设备400的环境的计算资源,例如远离家庭10。在一些情况下,远程计算系统200包含一个或多个服务器204,其建立与移动机器人300和音频媒体设备400中的每一个的无线链接。在一些情况下,一个或多个服务器204连接到一个或多个远程位置的服务器的网络(“云”计算网络205)。例如,远程计算系统200包括被实施为通过如本文所述的通信网络维护和访问的处理器、存储、软件、数据访问等的计算基础设施的网络可访问计算平台的一部分。远程计算系统不需要用户100了解系统的物理位置和配置,远程计算系统也不要求用户100了解由远程计算系统200执行的程序或由远程计算系统200提供的服务。
[0146] 远程计算系统200包括用于存储音频媒体设备识别数据、移动机器人识别数据和相关用户数据的一个或多个数据库。在图5的示例中,音频媒体设备识别数据库502存储用于与远程计算系统200无线链接的音频媒体设备的识别数据。移动机器人识别数据库504存储用于与远程计算系统200无线链接的移动机器人的识别数据。在如图1、2和5所示的示例性情况下,音频媒体设备识别数据库502包括用于音频媒体设备400的音频媒体设备识别数据。移动机器人识别数据库504包括用于移动机器人300和任何附加的机器人(比如图1的示例性家庭10中示出的第二移动机器人301)的机器人识别数据。
[0147] 简要地参考本文更详细地描述的图6A,关联过程600的执行将用于移动机器人300的识别数据与用于音频媒体设备400的识别数据关联。在识别数据关联之后,远程计算系统200能够促进信息(例如传感器数据、命令、通知等)在移动机器人300与音频媒体设备400之间传送。在一些示例中,这提高了计算过程的效率,因为远程计算系统200有助于处理程序和操作并且存储由音频媒体设备400和/或移动机器人300传送的信息。
[0148] 用于移动机器人300的识别数据与用于音频媒体设备400的识别数据的关联使得能够传输可以增强移动机器人300的导航操作的数据。例如,音频媒体设备400的传感器产生用于估计移动机器人300的位置或者将移动机器人300定位在家庭10内的信号。如图3A所示,用于移动机器人300的航位推算和/或定位传感器可以包括生成信号的传感器,从该信号中可以提取特征以定位移动机器人300。航位推算和/或定位传感器可替代地或另外包括远离移动机器人300的传感器,例如在音频媒体设备400或链接设备102A、102B上的传感器。
[0149] 移动机器人300可以发出由远程航位推算传感器可检测的信号,以便使用来自这些传感器的输出来估计移动机器人300围绕环境导航时移动机器人300的相对位置和/或取向的变化。在一些实施方式中,音频媒体设备400接收的声信号可用于在移动机器人300导航通过家庭10时确定移动机器人300相对于音频媒体设备400的位置和取向的位置和取向。在一些实施方式中,音频媒体设备400接收来自移动机器人300的声信号。如果移动机器人
300是真空清洁机器人,则声信号例如对应于来自启动真空清洁机器人的空气增流器的噪声。在一些情况下,启动驱动系统来移动移动机器人300产生音频媒体设备400的麦克风402接收的声信号。如果移动机器人300包括音频发射系统312,则移动机器人300可替代地发出要由音频媒体设备400接收的声信号。声信号可以是可听声信号(例如在人的可听范围内)或不可听声信号(例如在超声波范围内)。
[0150] 在移动机器人300相对于音频媒体设备400移动时音频媒体设备400在家庭10内保持固定的示例中,由音频媒体设备400接收的声信号的强度随着移动机器人300围绕家庭10移动而变化。如果音频媒体设备400在家庭10内的位置通过使用本文描述的技术而被知道或确定,例如通过使用声学映射程序,则源于移动机器人300的声信号的检测可用于将移动机器人300定位在家庭10内。例如,当音频媒体设备400接收到声信号时,距离估计程序由远程计算系统200执行,以估计移动机器人300与音频媒体设备400之间的距离。在一些情况下,远程计算系统200还确定移动机器人300相对于音频媒体设备400的方向(例如采用一个或多个方向寻找技术)。由于先前确定了音频媒体设备400在家庭10内的位置,所以远程计算系统200能够使用所接收的声信号来将移动机器人300定位在家庭10内。在一些实施方式中,对机器人地图和声学地图进行比较以减少地图之间的差异。特别地,可以使用移动机器人300的传感器(比如VSLAM、ODOA传感器和航位推算传感器)来构建机器人地图,同时移动机器人300围绕环境进行导航,并且声学地图可以通过执行声学映射程序而被构建,同时音频媒体设备400操作其麦克风单元和扬声器单元。在减少差异的分析的一个示例中,远程计算系统200接收机器人地图和声学地图,并且将来自机器人地图的所提取的特征与来自声学地图的所提取的特征进行比较。如果机器人地图是家庭10的地板表面的二维地图,并且声学地图是家庭10的三维地图,则可以对声学地图进行分析以确定对应于家庭10的地板表面的二维地图。可以对声学地图上的三维几何特征进一步处理,以对应于随着它们将会出现在机器人地图上的二维特征,例如由地板表面上或上方的机器人传感器检测到的障碍物。来自机器人地图的所提取的特征(其可以包括从由移动机器人的图像捕获系统310捕获的图像提取的特征或者使用障碍物检测传感器或感测系统308的其他传感器提取的特征)具有对所提取的特征独特的几何特征。类似地,由音频媒体设备400构建的声学地图也包括具有独特几何特征的提取特征。在一些情况下,通过比较来自这两个地图的这些提取特征,远程计算系统200确定声学地图和机器人地图是否具有关于这些提取特征的位置或取向的任何差异。
[0151] 在一些实施方式中,远程计算系统200响应于使用统计或概率建模来检测差异从而调整声学地图和/或机器人地图。当构建声学地图和机器人地图时,将置信度分配给地图内的特征。远程计算系统200使用这些置信度来确定每个地图的不同部分的相对预测精度。如果远程计算系统200调整地图,则远程计算系统200可以根据另一地图中的相似部分来调整一个地图的部分。例如,参考图1,使用移动机器人300构建的机器人地图对于从房间20A提取的特征可能具有较大的置信度,因为移动机器人300位于房间20A中。另一方面,由于音频媒体设备400位于房间20B中,所以使用音频媒体设备400构建的声学地图对于从房间20B提取的特征可能具有较大的置信度。如果远程计算系统200检测到对于房间20A和房间20B的它们地图中的差异,则远程计算系统200基于置信度来确定应该将对应于房间20A的声学地图的部分调整为对应于与房间20A相对应的机器人地图的部分。类似地,远程计算系统
200基于置信度来确定应该将对应于房间20B的机器人地图的部分调整为对应于与房间20B相对应的声学地图的部分。
[0152] 在一些情况下,移动机器人300从远程计算系统200接收指示音频媒体设备400在家庭10内的位置的信号。例如,该信号可对应于声学地图,包括音频媒体设备400在该地图内的位置。如果移动机器人300检测到音频媒体设备400,则移动机器人300定位到音频媒体设备400的位置,同时移动机器人300相对于音频媒体设备400围绕家庭10进行导航。在一些示例中,随着移动机器人300围绕家庭10进行导航,图像捕获系统310或移动机器人300的其他传感器检测音频媒体设备400,从而能够估计音频媒体设备400在机器人地图内的位置。将音频媒体设备400的估计位置与由远程计算系统200接收的信号指示的位置进行比较。如果确定了任何差异以提高移动机器人300在家庭10内的定位的准确性,则调整机器人地图。
[0153] 在一些实施方式中,链接设备102A、102B(例如网络连接设备或连接到通信网络201的设备)还产生远程计算系统200、移动机器人300和/或AMD访问以提高机器人地图和/或声学地图的准确性的信息。链接设备102A、102B包括检测家庭10中的特征的传感器,比如声学传感器、图像捕获系统或产生可从中提取特征的信号的其他传感器。在一些情况下,链接设备102A、102B将信息从传感器信号发送到远程计算系统200。远程计算系统200使与这些特征相关的信息与声学地图和/或机器人地图上的特征相关。
[0154] 在一些实施方式中,链接设备102A、102B产生与机器人地图和声学地图相比较的家庭10的部分的自己的地图。例如,链接设备102A、102B包括相机、光学传感器、测距传感器、声学传感器或产生要用于形成链接设备102A、102B的环境的地图的信号的其它传感器。在一些示例中,链接设备102A、102B彼此协作以形成地图。在一些情况下,链接设备102A、
102B包括麦克风单元和/或扬声器单元,并且执行由音频媒体设备400执行的声学映射程序来产生地图。链接设备102A、102B的地图另外或可替代地用于校正机器人地图和声学地图中的差异。
[0155] 链接设备102A、102B还可以发出由移动机器人300或音频媒体设备400上的传感器接收的信号。移动机器人300和音频媒体设备400使用由其传感器响应于来自链接设备102A、102B的信号而产生的信号,以对移动机器人300的位置和音频媒体设备400的位置进行三角测量。例如,所发出的信号可以是光信号、声信号、无线信号和其强度随着它们传播通过环境而变化的其它可检测信号。
[0156] 除了使得能够在家庭10中的各种设备(包括移动机器人300和音频媒体设备400)之间交互之外,通信网络201还促进用户100与音频媒体设备400之间的交互以控制或监视移动机器人300。如关于图1所述,用户100与音频媒体设备400之间的交互包括用于用户100的由音频媒体设备400发出的可听信号和用户100为音频媒体设备400提供的可听信号。这些交互可以影响移动机器人300或第二移动机器人301的操作,或者可以为用户100提供关于移动机器人300或第二移动机器人301的操作的信息。
[0157] 音频媒体设备400的控制器408可以执行语音识别程序,或者促使语音识别程序被执行,例如通过远程计算系统200。在一些示例中,声音识别程序存储在音频媒体设备400的存储器410上,使得控制器408能够对由其麦克风检测到的可听信号执行声音识别程序。在某些情况下,声音识别程序存储在远程计算系统200上或与远程计算系统200相关的数据库上。如果声音识别程序存储在远程计算系统200上,则控制器408向远程计算系统200发送指示由麦克风402捕获的可听信号的无线信号,并且远程计算系统200执行语音识别程序以识别可听信号中的词语。然后,远程计算系统200产生使音频媒体设备400、移动机器人300或第二移动机器人301执行操作的信号。
[0158] 在一些示例中,用于用户100的识别数据与用于音频媒体设备400和/或移动机器人300的识别数据相关。例如,远程计算系统200包括用户识别数据库506,其存储用于使用远程计算系统200的服务的用户的识别数据。例如,用于用户的识别数据包括每个用户唯一的帐户数据。用户识别数据库506(如果存在的话)包括用户100的识别数据。在一些实施方式中,用户100的识别数据包括对用户100的语音模式唯一的语音签名。为了使用户100能够发出语音信号以控制音频媒体设备400,语音签名被认证为与音频媒体设备400一起使用。用户100的识别数据包括语音签名,并且语音签名与用于音频媒体设备400的识别数据相关。如果语音签名与用于音频媒体设备400的识别数据相关,则声音识别程序应用于用户
100的口语,并且执行对应于所识别的词语的动作。
[0159] 当已经为音频媒体设备400、移动机器人300和/或用户100完成了关联时,用户100可以发出词语来命令音频媒体设备400和/或命令机器人300。用户100发出对应于命令数据库508中的命令的词语。如果用户识别数据包括语音签名,则仅具有语音签名的发声语音可用于命令音频媒体设备400或使用音频媒体设备400来命令移动机器人。命令数据库508包括用于控制音频媒体设备400的命令和用于控制移动机器人300的命令。当远程计算系统200从命令数据库508中选择命令时,远程计算系统200产生命令信号以传送到适当的设备,例如音频媒体设备400或移动机器人300和301之一。当接收到命令信号时,设备执行一个或多个操作。
[0160] 在用户100发出命令来控制移动机器人300的示例中,用户100的话语510例如包括与音频媒体设备400的识别数据对应的可听标识符512、与移动机器人300的识别数据对应的可听标识符514、以及可听命令516。在一些示例中,远程计算系统200执行声音识别程序以解析可听标识符512、可听标识符514和可听命令516。远程计算系统200检查识别数据相关联,然后查询命令数据库508以搜索对应于可听命令的命令。然后,远程计算系统200产生要发送到适当设备(例如音频媒体设备400或移动机器人300)的命令信号。如果命令信号用于控制移动机器人300,则命令信号使移动机器人300在移动机器人300接收到命令信号时执行一个或多个操作。参照图7,描述了使用用户提供的话语来命令移动机器人300的命令过程700的示例。
[0161] 在一些实施方式中,如果命令信号被发送到音频媒体设备400,则音频媒体设备400发出可听通知。关联使得移动机器人300和音频媒体设备400能够将与其操作相关的信息传送到远程计算系统200,使得来自音频媒体设备400的可听通知可以包括或音频媒体设备400或移动机器人300的状态更新。参照图1,描述了命令音频媒体设备400发出可听通知的通知过程800的示例。关于通知过程800,还描述了由这种通知提供的信息的示例。
[0162] 关联还使得远程计算系统200能够使音频媒体设备400发出与移动机器人300相关的可听信号,而不会从用户100接收到提示。例如,基于由移动机器人300发送到远程计算系统200的数据,并且在一些情况下,由用户100发送到远程计算系统200的信息。然后,远程计算系统200确定可以增强移动机器人300的操作的推荐动作。参照图9,描述了对于执行推荐动作的音频媒体设备400的推荐过程900的示例。参照图9,还描述了示例性的推荐动作。
[0163] 在一些实施方式中,在移动机器人300的操作期间,用于移动机器人300的感测系统检测与移动机器人300相关的错误状态。远程计算系统200可以接收错误状态的指示并使音频媒体设备为用户100发出可听指令来校正错误状态的基础。可替代地,用户100讲出话语以使音频媒体设备发出与移动机器人300的错误状态相对应的可听指令。参照图10,描述了使音频媒体设备400向用户100提供指导来校正移动机器人300的错误的纠错过程1000的示例。
[0164] 可以以分布式的方式执行本文所述的每个过程600、700、800、900和1000以及其他过程的操作。例如,远程计算系统200、移动机器人300和音频媒体设备400可以彼此一致地执行一个或多个操作。在一些实施方式中,描述为由远程计算系统200、移动机器人300和音频媒体设备400之一执行的操作至少部分地由远程计算系统200、移动机器人300和音频媒体设备400中的两个或全部执行。
[0165] 示例性关联过程
[0166] 返回参考图2的通信网络201,为了建立移动机器人300与音频媒体设备400之间的无线通信信道,用于移动机器人300的识别数据和用于音频媒体设备400的识别数据相关联。图6A的关联过程600描绘了由用户100执行的操作(用户操作600A)、由移动计算设备202执行的操作(移动设备操作600B)、由远程计算系统200执行的操作(远程计算系统操作600C)、由移动机器人300执行的操作(移动机器人操作600D)和由音频媒体设备400执行的操作(音频媒体设备操作600E)的示例,将用于移动机器人300的识别数据与用于音频媒体设备400的识别数据相关联。
[0167] 在一些示例中,作为关联过程600的一部分,用户100询问远程计算系统200,以生成与移动机器人300和音频媒体设备400相关的一个或多个用户帐户。例如,在一些实施方式中,如果用户100生成单个帐户,则移动机器人识别数据和音频媒体设备识别数据都与该用户帐户相关。在一些情况下,用户100为移动机器人识别数据和音频媒体设备识别数据中的每一个生成不同的帐户。
[0168] 在图6A所示的例子中,用户100请求(602)移动机器人300和音频媒体设备400的关联。用户100使用用户接口设备上的输入设备例如比如移动计算设备202来请求关联。然后,移动计算设备202将关联移动机器人300和音频媒体设备400的请求发送(604)到远程计算系统200。远程计算系统200访问(606)用于移动机器人识别数据和音频媒体设备识别数据的用户帐户。
[0169] 在一些情况下,关联过程600包括用户确认过程,其中用户100确认用于移动机器人和音频媒体设备的识别数据。为了执行该用户确认过程,远程计算系统200将移动机器人识别数据和音频媒体设备识别数据发送(608)到移动计算设备202。然后,移动计算设备202显示(610)音频媒体设备识别数据和移动机器人识别数据,并且用户100操作移动计算设备202上的输入设备(例如操作触摸屏、虚拟按钮、按钮等)以确认(612)识别数据应当相关。
[0170] 在一些实施方式中,关联过程600可替代地或另外包括来自移动机器人300和/或音频媒体设备400的设备确认。在图6A的示例中,远程计算系统200请求(614)确认来自移动机器人300和音频媒体设备400的关联。移动机器人300确认(616)该关联,且音频媒体设备618也确认该关联。来自移动机器人300和/或音频媒体设备400的确认指示这些设备是活动设备。在一些情况下,来自移动机器人300和/或音频媒体设备400的确认使得机器人识别数据存储在音频媒体设备400的存储器410中,或者使得音频媒体设备识别数据存储在移动机器人300的存储器318中。
[0171] 在远程计算系统200在执行用户确认过程和设备确认过程中的任一个或两者的情况下接收到相应的确认信号之后,远程计算系统200将移动机器人识别数据和音频媒体设备识别数据关联。可替代地,如果不存在确认过程,则远程计算系统200在远程计算系统200访问(606)用户帐户之后关联(620)移动机器人识别数据和音频媒体设备识别数据。在一些示例中,远程计算系统200将来自多种类型的移动机器人的识别数据关联,比如执行湿地板拖地、家庭监视或抽真空的移动机器人。如关于图3A的真空清洁机器人所述,在一些实施方式中,移动机器人300的类型确定在音频媒体设备400处的可用语音命令输入的类型。在这方面,在一些实施方式中,远程计算系统200将移动机器人300的类型的命令列表与音频媒体设备识别数据关联(622)。远程计算系统200响应于与由音频媒体设备400接收的特定语音命令相对应的无线信号,以控制特定类型的移动机器人300。
[0172] 在一些实施方式中,在关联完成之后,远程计算系统200发送(624)关联成功通知。移动计算设备202、移动机器人300和音频媒体设备400中的一个或多个接收发送的成功通知并且指示关联已成功发生。例如,移动计算设备202发出或显示(626)关联成功通知,移动机器人300发出或显示(628)关联成功通知,和/或音频媒体设备400发出关联成功通知。显示的关联成功通知例如包括在显示屏幕上的横幅或通知、照明光序列或其他适当的视觉信号。可听关联成功通知例如包括可听警报或声音、指示关联操作成功的说出的话、或其他合适的可听信号。在某些情况下,关联成功通知包括触觉通知,比如振动警报。
[0173] 在一些示例中,音频媒体设备400与多个移动机器人(例如两个移动机器人300、301)相关。用于移动机器人300的识别数据与第二移动机器人301不同。关联过程600将用于每个移动机器人300、301的识别数据与用于音频媒体设备400的识别数据关联。
[0174] 图6B示出了使用移动计算设备202(例如智能电话)来请求关联的示例。在该示例中,用户100具有用于移动机器人300的第一用户帐户和专用于音频媒体设备400的第二用户帐户。作为用户100请求(602)关联的一部分,用户100获得移动机器人识别数据。用户100使用移动计算设备202来访问移动机器人用户帐户,并且移动计算设备202显示与移动机器人300的用户帐户相关的移动机器人识别数据,如在屏幕650中所示。作为请求(602)关联的一部分,用户100还获得音频媒体设备识别数据。用户100使用移动计算设备202访问用于音频媒体设备400的用户帐户,然后移动计算设备202显示与用于音频媒体设备400的用户帐户相关的音频媒体设备识别数据,如在屏幕652中所示。为了请求关联,用户100输入移动机器人识别数据,例如使用移动计算设备202上的应用,以与相应的音频媒体设备识别数据相关。如果关联过程600包括用户确认过程,则移动计算设备202在移动计算设备202上显示确认请求,如在屏幕654中所示。在用户100确认关联之后,例如通过调用“是”用户接口按钮,远程计算系统200将用于移动机器人300和音频媒体设备400的识别数据关联。移动计算设备202可选地显示关联成功通知,如在屏幕656中所示。
[0175] 在一些实施方式中,移动机器人300和音频媒体设备400直接相互作用以建立移动机器人识别数据与音频媒体设备识别数据的关联。例如,用户100通过向音频媒体设备400发出语音命令来请求(602)关联,以与移动机器人300相关。音频媒体设备400使用其无线通信系统412来搜索附近的移动机器人,例如在局域网上或使用近场通信。在找到移动机器人300时,音频媒体设备400发送信号以关联识别数据。在一些情况下,移动机器人300使用其无线通信系统316来执行这种关联过程。
[0176] 在一些示例中,用户100向音频媒体设备400和移动机器人300中的一个或二者发出命令以彼此关联。例如,该命令使远程计算系统200发送命令信号,使得设备之一发出可听关联请求,并且使得另一设备接收该可听关联请求。远程计算系统200在接收到可听关联请求由例如音频媒体设备400的麦克风单元402或移动机器人300的麦克风接收到的确认之后,将移动机器人300的识别数据与音频媒体设备400的识别数据相关联。
[0177] 在一些实施方式中,用户100向移动机器人300发出关联命令以与音频媒体设备400相关。响应于该命令,移动机器人300自主地围绕家庭10导航以搜索音频媒体设备400,例如使用安装在移动机器人300上的图像捕获系统310或麦克风314。如图5所示,随着移动机器人300围绕家庭10导航,移动机器人300的图像捕获系统310检测音频媒体设备400。在定位音频媒体设备400时,移动机器人300使用音频发射系统312发出将由音频媒体设备400接收的可听关联请求。可听关联请求可选地包括机器人识别数据。当音频媒体设备400接收到信号时,音频媒体设备400向远程计算系统200发送无线信号,以使移动机器人识别数据与音频媒体设备识别数据相关。在一些情况下,音频媒体设备400通过发出由移动机器人
300的麦克风接收的可听响应信号来响应可听关联信号。
[0178] 示例性命令过程
[0179] 如本文和关于图5所述,用户100例如通过话语510发出可由音频媒体设备400接收的语音命令,以使移动机器人300根据语音命令来执行行为。图7的命令过程700示出了使移动机器人300根据发出的语音命令来执行行为的发出命令的示例。图7的命令过程700描绘了由用户100执行的操作(用户操作700A)、由音频媒体设备400执行的操作(音频媒体设备操作700B)、由远程计算系统200执行的操作(远程计算系统操作700C)和由移动机器人300执行的操作(移动机器人操作700D)的示例,以使移动机器人300根据用户的语音命令来执行行为或操作。
[0180] 用户100向音频媒体设备400提供可听用户命令例如语音命令,用于远程计算系统200,以确定命令哪个移动机器人300、301并且确定要由移动机器人300、301执行的具体行为。在图7所示的例子中,用户100提供(702)包括语音命令的话语来控制移动机器人300。音频媒体设备400产生(704)指示话语的无线信号,然后将无线信号发送到远程计算系统200。
如图5所示,在一些情况下,话语510还包括可听标识符512,并且音频媒体设备400识别用户的话语也对应于要由音频媒体设备400执行的命令。音频媒体设备400的存储器410可选地包括识别可听标识符512的声音识别程序,使得音频媒体设备400仅执行由与音频媒体设备
400对应的可听标识符512之前的命令。例如,由音频媒体设备400执行的命令对应于将无线信号发送到远程计算系统200。
[0181] 远程计算系统200在接收到无线信号时解析(706)该无线信号。例如,远程计算系统200执行声音识别程序来解析(706)无线信号并确定所提供(702)的话语的内容。然后分析解析(706)的无线信号,例如以检查错误并产生要发送到移动机器人300的命令。
[0182] 在一些示例中,远程计算系统200基于所提供(702)的话语来确定对应于音频媒体设备400的识别数据和对应于移动机器人300的识别数据。远程计算系统200基于识别数据确定(708)移动机器人识别数据和音频媒体设备识别数据是否相关。如果远程计算系统200确定它们不相关,则远程计算系统200发送信号以使音频媒体设备400发出(712)错误通知。在一些情况下,识别数据不相关,因为用户的话语包括指示另一自主移动机器人(即不是移动机器人300)的可听标识符,其尚未与音频媒体设备400的识别数据相关。用户100响应于错误通知,可以尝试提供(702)另一话语或者可以尝试将音频媒体设备识别数据和移动机器人识别数据关联,例如使用图6的关联过程600。
[0183] 远程计算系统200可替代地或另外分析解析(706)的无线信号,以确定(710)所提供(702)的话语是否包括用于移动机器人300的有效语音命令。如图5所示,解析(706)的无线信号的部分可以对应于由用户100提供的话语的可听命令516。例如,有效的语音命令包括命令数据库508内的任何命令。在一些情况下,有效的语音命令包括用于预定义类型的移动机器人300的命令数据库508中的预定义命令。如果解析(706)的无线信号不包括有效的语音命令,则远程计算系统200使音频媒体设备400发出(712)错误通知。错误通知告知用户:用户100没有提供(702)具有有效语音命令的话语,或者语音命令不对应于可用于特定类型的移动机器人300的任何语音命令。
[0184] 如果解析(706)的无线信号包括有效的语音命令,则远程计算系统200产生(714)对应于有效语音命令的命令信号。例如,命令数据库508包括将每个有效语音命令与对应的命令信号相匹配的查找表。
[0185] 然后,远程计算系统200将命令信号发送到适当的目的地,例如通过为所产生(714)的命令信号选择目的地。在命令过程700中,使用命令信号来控制移动机器人300,并且在这一点上,远程计算系统200将命令信号发送到由例如与移动机器人300对应的可听标识符514所指示的移动机器人300。如果音频媒体设备400与多个移动机器人相关,则用于每个移动机器人的可听标识符514与其它可听标识符不同。如果可听标识符514对应于移动机器人300的识别数据,则命令信号被发送到移动机器人300。移动机器人300在接收到命令信号时执行(716)行为或操作。特别地,移动机器人300执行(716)对应于包括在由用户100提供(702)的话语中的语音命令的行为或操作。在一些示例中,远程计算系统200还使音频媒体设备400发出(718)命令成功通知,以向用户100指示用户的话语已被成功地用于命令移动机器人300。
[0186] 在一些示例中,命令信号使得移动机器人300和音频媒体设备400都接收相应的命令。例如,命令信号使得移动机器人300执行家庭10内的行为或程序。在一些示例中,命令信号使得移动机器人300相对于音频媒体设备400自主地围绕家庭10导航。如果移动机器人300是清洁机器人比如真空清洁机器人,并且命令是清洁命令,则音频媒体设备400可选地使移动机器人300启动清洁操作,例如通过启动空气增流器,同时移动机器人300自主地围绕家庭10导航。另外,用户100还能够提供语音命令来使移动机器人300暂停清洁操作。
[0187] 如果移动机器人300可连接到对接站,例如图1的对接站104,则命令信号可以对应于使移动机器人300自主地导航到对接站104的命令信号。在一些情况下,命令信号使得移动机器人300导航到对接站104,并且如果移动机器人300是具有碎屑箱的真空清洁机器人,使得对接站104将碎屑从移动机器人300的碎屑箱排出。例如,移动机器人300操作对接站104以在正确对接和对准之后启动排出。在一些实施方式中,远程计算系统200也被无线地链接到对接站104,并且直接将排出命令信号发送到对接站104,以使得对接站在一旦移动机器人301或对接站104发送指示移动机器人300和对接站104中的一个或两者的准备状态的信号时就排出碎屑箱。
[0188] 在一些实施方式中,命令信号对应于用户100希望使移动机器人300朝向音频媒体设备400导航的语音命令。移动机器人300相应地自主朝向音频媒体设备400导航,例如基于音频媒体设备400的预定位置。例如,预定位置对应于使用关于图1描述的声学映射程序确定的位置,或者对应于使用由移动机器人300的图像捕获系统310捕获的图像或使得移动机器人300能够使音频媒体设备400定位在机器人地图上的一些其他基于传感器的检测(例如IR收发器)确定的位置。
[0189] 在一些示例中,如果移动机器人300包括麦克风314,则远程计算系统200向音频媒体设备400和移动机器人300两者提供命令信号,以使移动机器人300朝向音频媒体设备400导航。例如,远程计算系统200使得音频媒体设备400发出将由移动机器人300的麦克风314接收的可听导航信号。为了朝向音频媒体设备400导航,移动机器人300沿着增加接收到的可听导航信号的强度的方向导航。在一些实施方式中,移动机器人300检测除可听信号之外的信号的信号强度,例如将音频媒体设备400连接到通信网络201的无线信号。移动机器人300检测无线信号的信号强度并且使用该信号强度用于在家庭10内导航。为了朝向音频媒体设备400导航,移动机器人300沿着增加接收到的无线信号的强度的方向导航。
[0190] 在一些情况下,用户100提供语音命令来调整用户定义的计划以控制移动机器人操作。移动机器人300可以根据该用户定义的计划进行操作。例如,如果移动机器人300是清洁机器人,则移动机器人300在用户定义的计划中指示的开始时刻启动清洁操作。因此,命令处理700中由用户100提供(702)的话语包括改变或建立用于移动机器人操作的启动时间的语音命令。当远程计算系统200产生(714)命令信号时,远程计算系统200根据对启动时间的改变来调整用户定义的计划。在一些情况下,用户定义的计划存储在移动机器人300上的存储器318上,并且远程计算系统200将计划改变命令发送到移动机器人300。可替代地或另外,用户定义的计划被从移动机器人300远程存储,例如在云计算网络205上,并且远程计算系统200修改云计算网络205中的用户定义的计划。在这种情况下,用户100在当前时间提供(702)具有语音命令的话语,目的是在未来时间控制移动机器人300的操作,而不需要用户100在未来提供命令。远程计算系统200存储经修改的用户定义的计划,并且根据经修改的用户定义的计划在未来时间发送命令,以使移动机器人300执行(716)对应于语音命令的行为或操作。
[0191] 在一些实施方式中,用户100提供语音命令以使移动机器人300自主地导航到用户100的当前位置。为了产生命令信号以使移动机器人300朝向用户100的当前位置导航,距离估计程序(例如关于图4所述)被实施用于估计用户100与音频媒体设备400之间的距离和取向,使得远程计算系统200可以确定用户100在机器人地图和/或音频媒体设备地图上的姿态。例如,远程计算系统200或音频媒体设备400基于指示声学特性的信号来估计距离,例如接收由用户100提供(702)的话语的麦克风单元402的两个麦克风之间的时间延迟。远程计算系统200或音频媒体设备400确定用户100在机器人地图内的位置,然后产生命令信号,以使移动机器人300导航到机器人地图内的对应于用户100的估计位置的位置。在一些情况下,移动机器人300导航到用户100的估计位置的预定距离内的位置,例如在距离用户100的
0.1至2米内。
[0192] 如果移动机器人300是真空清洁机器人,则用户100可以提供语音命令,以使移动机器人300执行操作,比如用于在特别脏的点进行聚焦清洁的点清洁操作。移动机器人300的当前位置可以对应于要执行点清洁操作的局部区域的中心。在一些情况下,用户100提供(702)具有语音命令的话语,以使移动机器人300在用户100的当前位置处清洁。因此,除了使移动机器人300移动到靠近用户100的位置的位置之外,命令信号使移动机器人300在到达该位置时执行点清洁操作。
[0193] 在一些示例中,远程计算系统200识别用户100所在的家庭10内的房间,例如基于用户100相对于音频媒体设备400的估计的距离和方向。如果用户100例如位于如图1所示的房间20B中且用户100发出语音命令以移动到用户100的位置,则远程计算系统200使移动机器人300移动到用户100当前所在的房间20B。当移动机器人300自主地朝向房间20B导航时,移动机器人300通过识别与房间20B相关的独特特征来确定移动机器人300在房间20B内。例如,独特特征对应于在先前的通过家庭10的导航操作期间从定位传感器的信号中提取的特征。这些独特特征是特定于房间20B内的特征或物体,以使移动机器人300能够区分房间20B和家庭10内的其他房间。
[0194] 在一些实施方式中,房间20A、20B、20C、20D各自包括能够从用于每个房间20A、20B、20C、20D的定位传感器的信号中提取独特特征的物体或特征,并且用户100为每个房间提供识别数据。识别数据存储在可由例如远程计算系统200和/或移动机器人300访问的数据库中。为了向房间提供识别数据,用户100为每个房间20A、20B、20C、20D提供说出的或键入的名称(例如输入到用于智能电话的应用中的可编辑字段),例如“厨房”、“浴室”、“餐厅”、“客厅”、“卧室”或其他适当的房间标签。在一些示例中,移动计算设备202显示对应于家庭10的机器人地图的用户接口地图,并且用户100选择每个房间,并通过说出或键入名称来为每个房间提供名称。在一些示例中,移动机器人300围绕家庭10导航到每个房间。当移动机器人300在房间中时,用户100发出房间的名称,并将该名称存储为该房间的识别数据。
移动机器人300移动到每个房间,使得用户100可以为每个房间发出名称。在一些示例中,用户100为家庭10中的物体提供说出的或键入的名称,例如“前门”、“后门”、“洗碗机”、“洗衣机”、“床”或其他用于家庭10内的物体的标签。
[0195] 每个房间的识别数据使得用户100能够控制移动机器人300移动到用户指定的房间或者朝向用户指定的物体。当用户100提供(702)具有语音命令的话语时,用户100指定对应于家庭10内的预定义位置的可听位置标识符。另外,可听位置标识符对应于先前由用户100提供的名称之一,以使移动机器人300自主地导航到与指定名称对应的房间。移动机器人300在从远程计算系统200接收到命令信号后执行(716)向具有指定名称的房间移动的操作。如本文所述,当移动机器人300的定位传感器检测到房间特有的特征时,移动机器人300确定它在具有指定名称的房间内。在一些示例中,可听位置标识符对应于物体的名称,并且使自主移动机器人300在接收到命令信号时自主地朝向该物体导航。例如,自主移动机器人
300被控制成当移动机器人300确定其距离物体在预定的距离内时停止。
[0196] 在一些实施方式中,用户100已经将相同类型的多个移动机器人关联到音频媒体设备400。例如,参照图1,移动机器人300和移动机器人301都可以是真空清洁机器人,并且用户100将这两个机器人都与音频媒体设备400相关。在某些情况下,用户100向话语提供(702)可以指代移动机器人300、301的可听标识符。例如,可听标识符可以是移动机器人300、301的类型。在一些情况下,远程计算系统200使音频媒体设备400发出用户100指定用户100想要命令移动机器人300、301中的哪一个的可听请求。
[0197] 在一些示例中,如果语音命令指的是要在指定位置执行的操作,则远程计算系统200确定哪个移动机器人300、301最接近指定位置,并将该命令信号引导到最接近的移动机器人300、301。远程计算系统200确定第二移动机器人301到用户指定位置的距离小于另一移动机器人300到用户指定位置的距离。例如,如果用户100提供(702)命令真空清洁机器人来清洁房间20D的话语,则远程计算系统200确定第二移动机器人301更靠近房间20D,并且因此将命令信号发送到第二移动机器人301,以使第二移动机器人301清洁房间20D。如果用户100提供指定移动机器人应该在用户100的当前位置处清洁的语音命令(例如语音命令是“机器人,请在此处清洁”),则远程计算系统200可以确定真空清洁机器人要被命令在用户
100的当前位置处清洁。
[0198] 如本文所述,使用声信号的定位使得能够确定正在说话的用户100相对于移动机器人300的位置的位置,并且移动机器人300通过沿正在说话的用户100的方向上的驱动来响应用户命令,比如“来到这里”。用户100的该方向和位置由音频媒体设备400上的方向感测麦克风确定并传送到移动机器人300或远程计算系统200。在一些示例中,如果移动机器人300检测音频媒体设备400并将其位置放置在机器人地图上,则音频媒体设备400和/或远程计算系统200确定到正在说话的用户100的距离。例如,麦克风单元402包括位于音频媒体设备400上的多个麦克风,并且麦克风检测由例如用户100的声音反射离开家庭10中的表面(例如家庭10中的物体的壁或表面)而引起的多路径声学反射。音频媒体设备400和/或远程计算系统200使用这些多路径信号来计算检测到的语音命令的原点,例如通过对所接收的多路径声信号进行三角测量。在一些实施方式中,远程计算系统200和/或音频媒体设备400补偿在计算机器人地图上的正在说话的用户的姿态时的噪声和/或衰减。
[0199] 示例性通知过程
[0200] 除了使用语音命令向移动机器人300发送命令之外,用户100还可以提供语音命令,使音频媒体设备400提供指示移动机器人300的状态的可听通知。参照图8的通知过程800,描述了这种可听通知的示例。图8的通知过程800描绘了由用户100执行的操作(用户操作800A)、由音频媒体设备400执行的操作(音频媒体设备操作800B)、由远程计算系统200执行的操作(远程计算系统操作800C)和由移动机器人300执行的操作(移动机器人操作800D)的示例,以使音频媒体设备400例如发出可听任务状态更新或可听累积状态更新。
[0201] 当移动机器人300在家庭10内执行操作时,远程计算系统200从移动机器人300收集数据。当移动机器人300启动(802)任务并收集(804)指示在任务期间机器人操作的数据时,远程计算系统接收所收集(804)的数据。数据对应于由移动机器人300的感测系统308的传感器收集的数据,包括在地图上的位置处的家庭10的测量条件(例如温度、湿度、照明)和从固定网络设备(例如运动传感器、温度传感器、湿度传感器、网络照明等)收集的信息。
[0202] 在一些示例中,用户100请求对由移动机器人300目前执行的任务更新。当用户100向音频媒体设备400提供(806)声音请求用于对移动机器人300进行任务状态更新时,音频媒体设备400将无线信号发送(808)到对应于声音请求的远程计算系统200。
[0203] 远程计算系统200在任务期间轮询(poll)移动机器人300以获得指示移动机器人300的操作的数据,并且基于来自移动机器人300的数据产生(810)任务的概要。然后,远程计算系统200产生(812)使音频媒体设备发出(814)任务状态更新的任务状态更新命令信号。任务状态更新对应于产生(810)的概要。例如,概要包括自移动机器人300启动任务以来已经经过的时间量、横穿地板的总部分、可横穿地板(例如不被障碍物占据并且可由机器人
300访问)剩余的百分比、为完成任务的时间剩余的估计量或移动机器人300的当前房间。如果移动机器人300是真空清洁机器人,则概要例如包括由移动机器人300在任务期间摄取的碎片的量、在任务期间发生点清洁的实例和地图位置的数量或者移动机器人300在任务期间已经清洁的房间的数量。在一些情况下,用户100指示要包括在任务状态更新中的特定信息,并且所产生(810)的概要包括所请求的信息。
[0204] 在一些示例中,用户100可以请求指示由移动机器人300执行的多个任务的累积状态更新。用户100为移动机器人300的累积状态更新提供(820)声音请求,并且音频媒体设备400产生(822)对应于声音请求的无线信号。远程计算系统200接收无线信号,并且基于来自移动机器人300启动的每个任务的数据产生(824)累积概要。远程计算系统200产生(826)累积状态更新命令信号,以使音频媒体设备400发出(828)可听累积状态更新。例如,累积概要包括移动机器人300已经经历多个任务操作的总持续时间、移动机器人300已执行的任务的数量、穿越地板的总累积距离或移动机器人300已经行进的距离。如果移动机器人300是真空清洁机器人,则累积概要可替代地或另外包括移动机器人300已经经历多个任务收集的碎屑的总量或移动机器人300已经执行点清洁操作的总次数。在移动机器人300可与从移动机器人300排出碎屑的对接站操作的一些示例中,累积概要包括每星期的排出操作的平均数量、在一定时间段内执行的排出操作的数量、在一定时间段内在由移动机器人300覆盖的区域上执行的排出操作的次数。
[0205] 在一些示例中,累积状态更新描述了在用户指定的时间段内指定的任务的累积状态。用户100在所提供(820)的声音请求中可以指定在累积概要中从其数据总结的先前任务的数量,例如先前的2至10次任务、10至20次任务或由移动机器人300完成的所有任务。用户100可以指定在累积状态更新中从其数据总结的任务的日期或范围。
[0206] 状态更新可以包括用户100在声音请求中请求的各种信息。在一些实施方式中,状态更新包括移动机器人300的操作频率。如果移动机器人300包括产生指示移动机器人300的部件的可维护性的信号的传感器,则远程计算系统200接收这些信号并且促使发出的状态更新包括移动机器人300的部件的估计的剩余使用寿命。例如,该部件是清洁刷、清洁垫、辊、电池、箱、轮、箱式过滤器或箱盖。在一些情况下,如果移动机器人300与其他固定设备(比如对接站104或发送单元106)交互,则远程计算系统200使得状态更新包括关于这些固定设备的信息。例如,状态更新可以指示发送单元106需要更换电池。
[0207] 在一些示例中,音频媒体设备400在任务完成之后发出(814)任务状态更新。在某些情况下,远程计算系统200确定移动机器人300在任务期间未穿过的家庭10的部分,并且使得音频媒体设备400发出(814)指示非经过的部分的任务状态更新。任务状态更新中的非经过的部分例如是指在任务期间移动机器人300未清洁的房间或房间的部分。在某些情况下,任务状态更新指示了任务被截断的原因,例如,通信网络201中的设备检测到用户100返回家中、障碍物阻挡了家庭10中的特定门或移动机器人300的电池2024对于移动机器人300没有足够的电量来完成任务。
[0208] 在一些示例中,不是响应于用户提供(806、820)用于状态更新的声音请求而发出(814、828)状态更新,音频媒体设备400在用户100进入家庭10时发出状态更新。例如,当用户100返回家庭10时,音频媒体设备400自动地发出在用户100远离家庭10时由移动机器人300完成的任务的状态更新。音频媒体设备400在麦克风单元402或音频媒体设备400的其他传感器检测到用户100已经返回到家庭10时发出状态更新。在一些情况下,如果链接设备
102A、102B包括占用传感器,则远程计算系统200使得音频媒体设备400在占用传感器检测到用户100返回家庭10时发出状态更新。可替代地或另外,音频媒体设备400响应于确定用户设备例如移动计算设备202已经连接到家庭10内的无线通信网络(例如WLAN)或者检测到用户设备发出的无线信号例如蓝牙或无线信号而发出状态更新。例如,音频媒体设备400使用其设备存在传感器来执行确定用户设备202何时进入围绕家庭10产生的虚拟周边(例如地理围栏)。
[0209] 在一些示例中,用户100提供(806)针对移动机器人300的当前位置的通知的声音请求。为了确定移动机器人300的当前位置,远程计算系统200检查机器人地图和移动机器人在机器人地图内的估计位置。远程计算系统200然后使得音频媒体设备400发出指示移动机器人300的位置的可听通知。在一些实施方式中,音频媒体设备400发出指示移动机器人300相对于用户100或音频媒体设备400的位置的通知。例如,可听通知指示移动机器人300位于相对于音频媒体设备400的主方向。在一些情况下,远程计算系统200识别移动机器人
300使用所构造的机器人地图或声学地图而位于其中的房间,然后使房间的名称被指示在可听通知中。在一些实施方式中,如果移动机器人的位置未知,则语音命令启动确定移动机器人的位置的过程。例如,语音命令使得移动机器人300的音频发射系统312发出要由音频媒体设备400接收的声信号。音频媒体设备400然后基于如由音频媒体设备400的麦克风单元402接收的声信号的特性来确定移动机器人300的位置。在一些情况下,为了向用户100通知移动机器人300的当前位置,语音命令使得移动机器人300发出声信号或周期性地发出声信号,例如每1至5秒,以帮助用户100找到移动机器人300在家庭10内的位置。
[0210] 在一些示例中,音频媒体设备400发出由移动机器人300执行的任务的正在进行的状态更新,而用户100不提供声音请求。例如,正在进行的状态更新指示移动机器人300何时在房间之间移动。在这种情况下,正在进行的状态更新表示移动机器人300先前所在的和移动机器人300当前所在的一个或多个房间。在一些情况下,正在进行的状态更新指示移动机器人300正在通过的物体。移动机器人300使用其感测系统308检测附近的物体。如果移动机器人300包括图像捕获系统310,则图像捕获系统310捕获对应于附近物体(例如沙发、冰箱、电器或家庭10中的其他固定物体)的图像。如果图像捕获系统310在机器人300执行任务的同时捕获图像,则远程计算系统200识别捕获图像内的附近物体或障碍物。例如,远程计算系统200访问物体识别数据库以识别捕获的图像中的物体。然后,远程计算系统使音频媒体设备400发出移动机器人300靠近特定物体的状态更新。
[0211] 在一些示例中,如果移动机器人300在用户100在家庭10内的同时在其任务期间失速,则移动机器人300向远程计算系统200发送指示移动机器人300失速的信号。移动机器人300检测其已经失速,例如使用失速传感器单元(比如光滞留传感器)、马达失速传感器、鼠标传感器、陀螺仪、加速度计、立体相机和/或用于运动检测的另一传感器。不是等待用户
100请求状态更新,远程计算系统200可以使音频媒体设备400发出指示移动机器人300失速的状态更新。如果远程计算系统200能够确定移动机器人300所在的房间,则远程计算系统
200进一步使由音频媒体设备400发出的状态更新指示移动机器人300位于并失速的房间。
如果移动机器人300在由移动机器人300的感测系统308可检测到的和由远程计算系统200可识别的物体附近失速,则状态更新指示特定物体。
[0212] 示例性推荐过程
[0213] 在一些实施方式中,远程计算系统200确定推荐动作的执行将有利于移动机器人300的操作,并且随后请求执行推荐动作。远程计算系统200可以使音频媒体设备400发出指示已经或将要执行推荐动作的可听信号。参照图9的推荐过程900,描述了推荐动作的示例。
图9的推荐过程900描绘了由用户100执行的操作(用户操作900A)、由音频媒体设备400执行的操作(音频媒体设备操作900B)、由远程计算系统200执行的操作(远程计算系统操作
900C)和由移动机器人300执行的操作(移动机器人操作900D)的示例,以使推荐动作被执行。
[0214] 远程计算系统200可以基于来自用户100、音频媒体设备400、移动机器人300或其组合的输入数据来确定动作将有益于移动机器人的操作。例如,用户100提供(902)指示移动机器人300的操作的一个或多个用户输入。用户输入也可以指示用户行为。例如,用户输入对应于用于移动机器人300的操作的用户定义的计划、移动机器人300的操作的用户启动或用户终止等。音频媒体设备400发送(904)由其传感器收集的数据,并且移动机器人300发送(906)指示移动机器人300的状态的数据。
[0215] 基于这些输入(例如从操作902、904、906接收到的)中的一个或多个,远程计算系统200确定(908)要执行的推荐动作,并产生(910)请求信号以执行推荐动作。远程计算系统200确定(912)目的地以发送针对推荐动作的请求信号。例如,推荐操作对应于机器人动作、用户动作或由远离家庭10的另一计算系统执行的动作。
[0216] 如果推荐动作要由移动机器人300执行,则远程计算系统200向移动机器人300发送请求信号,移动机器人300又根据请求信号(即根据推荐动作)来调整(914)移动机器人操作。例如,推荐动作是调整针对移动机器人300的用户定义的计划。如果移动机器人300是真空清洁机器人,则在一些实施方式中,远程计算系统200确定真空清洁机器人在预定义的持续时间(例如一周至一个月或更长时间)尚未清洁家庭10或家庭10中的特定房间。远程计算系统200产生(910)请求信号以执行推荐动作,然后将请求信号发送到移动机器人300,以在家庭10中或者在家庭10中的特定房间中启动清洁操作。
[0217] 在一些示例中,远程计算系统200从例如在音频媒体设备400上或者在链接设备102A、102B上的占用传感器接收表示家庭10的居民何时离开的指示。例如,根据占用传感器的指示,远程计算系统200确定居民何时在家或何时离家的模式。远程计算系统200使音频媒体设备400发出(916)可听请求,以改变用于移动机器人300的用户定义的计划,使得移动机器人300在居民通常远离家庭时操作。如果用户100确认该请求,则远程计算系统200相应地调整用户定义的计划。
[0218] 如果推荐动作由用户100执行,则远程计算系统200将请求信号发送到音频媒体设备400,以使音频媒体设备400发出(916)可听请求用于用户100执行(918)推荐动作。例如,远程计算系统200可以基于由音频媒体设备400收集的数据来确定到房间的门是否关闭。来自音频媒体设备400的数据可以对应于与使用声学映射程序构建的基线声学地图具有差异的声学地图。差异表明门已打开或关闭。如果门对应于门口22A的门,并且远程计算系统200基于声学映射数据确定门被关闭,则远程计算系统200使得音频媒体设备400向用户发出(916)可听请求以打开门,使得移动机器人300能够穿过门口22A并进入房间20B。
[0219] 如果推荐动作由移动机器人300或用户100之外的其他实体执行,则远程计算系统200将请求信号发送(920)到该实体,例如另一个远程计算系统。在一些实施方式中,表示移动机器人300的状态的数据指示移动机器人300很快需要更换可更换部件,例如在3天至7天之内。远程计算系统200产生(910)请求信号以购买该部件并将该请求信号发送到例如在线市场。在一些情况下,请求信号使该部件被订购并且在可更好部件需要更换之前被递送到用户100的家庭10。例如,部件对应于消耗品,比如机器人电池或地板擦洗垫。如果移动机器人300是清洁机器人,则该部件可以是清洁刷、清洁垫、辊、碎屑箱、箱盖或其他可更换部件。
[0220] 在一些实施方式中,在远程计算系统200确定(908)推荐动作之后,远程计算系统200使音频媒体设备400请求来自用户100的确认应该执行推荐动作。例如,如果远程计算系统200建议购买更换部件,则远程计算系统200触发音频媒体设备400向用户100发出可听请求用于遵从此购买。用户100然后允许购买发生,或者拒绝该请求以通过响应于该请求自然地对AMD说话来防止购买发生。如果由用户100直接执行推荐动作(例如用户应该打开门),则远程计算系统200可以不请求确认,而是直接发出(916)可听通知以向用户100告知用户
100应该执行(918)推荐动作。
[0221] 在一些示例中,请求信号使得移动机器人300的用户定义的计划根据记录在用户事件日历中的事件而改变。用户100可以提供(902)指示即将到来的事件的用户输入。即将到来的事件可以是用户100邀请客人来到家庭10的房屋聚会,并且可能期望在可在网络可访问的日历上安排的事件期间禁止移动机器人300的操作。如果移动机器人300被计划为在即将到来的事件期间执行操作,则远程计算系统200确定机器人操作与即将到来的事件冲突。为了避免冲突,远程计算系统200产生(910)请求信号以调整移动机器人300的用户定义的计划,使得移动机器人300在即将到来的事件期间不执行操作。
[0222] 在一些示例中,远程计算系统200确定移动机器人300应该在事件之前执行操作。例如,如果即将到来的事件是房屋聚会,则远程计算系统200产生(912)请求信号,以根据房屋聚会发生的时间段来调整移动机器人300的用户定义的计划。如果移动机器人300是清洁机器人,则调整用户定义的计划,使得移动机器人300在即将到来的事件之前的预定义时间段内进行清洁操作,例如在房屋聚会之前1小时至24小时。在这方面,家庭10可以在客人到达之前得到清理,以进行房屋聚会。
[0223] 在一些示例中,远程计算系统200确定用户100尚未为移动机器人300定义计划,但已经启动了移动机器人300的操作。用户100先前已经使移动机器人300启动操作而不指定用户定义的计划。在一些示例中,远程计算系统200从用户100已经促使启动移动机器人操作的时刻提取模式。基于这些模式,远程计算系统200产生使音频媒体设备400发出可听请求以调整用户定义的计划的请求信号。例如,用于移动机器人操作的用户定义的计划对应于在一周的特定日期的每周操作或在特定时间的日常操作。
[0224] 在一些情况下,移动机器人300已经根据用户定义的计划执行操作,但是远程计算系统200确定用户100已经停止了这些移动机器人操作中的若干个,或者已经使移动机器人300执行除根据用户定义的计划所执行的那些操作之外的操作。远程计算系统200使得音频媒体设备400发出可听请求以推荐对用户定义的计划的调整,使得移动机器人300在用户
100已经停止移动机器人300的操作的时间期间不被操作,并且使得移动机器人300在用户
100已经使移动机器人300启动操作的时间期间被操作。
[0225] 示例性纠错过程
[0226] 在一些实施方式中,移动机器人300的感测系统308确定移动机器人300的错误状况已经发生。远程计算系统200从移动机器人300接收错误状况的指示,确定推荐动作以解决错误状况的基础,并且使得音频媒体设备400向用户100提供指导以执行推荐动作。图10描绘了纠错过程1000的示例。图10的纠错过程1000描绘了由用户100执行的操作(用户操作1000A)、由音频媒体设备400执行的操作(音频媒体设备操作1000B)、由远程计算系统200执行的操作(远程计算系统操作1000C)和由移动机器人300执行的操作(移动机器人操作
1000D)的示例,以使音频媒体设备400提供指导来校正错误。
[0227] 在一些示例中,当移动机器人300执行(1002)操作时发生移动机器人错误。当移动机器人300执行操作时,移动机器人300确定(1004)是否发生错误。例如,当来自感测系统308的传感器检测到错误状况时,移动机器人300确定发生错误。例如,错误状况可以对应于移动机器人300的驱动轮302的失速状况、移动机器人300的电池的电荷耗尽状况或者可以抑制妨碍移动机器人300的操作的其他状况。
[0228] 如果发生错误,则移动机器人300发送(1006)表示错误的无线信号。在一些情况下,移动机器人300也发出错误通知信号。远程计算系统200确定(1008)推荐动作以解决错误,然后使音频媒体设备发出(1010)错误通知和初始可听指令来解决错误。初始可听指令对应于确定(1008)的推荐动作。用户100根据初始可听指令执行(1012)推荐动作。
[0229] 移动机器人300确定(1014)是否已经解决了错误,例如通过检查指示错误状况的传感器。如果没有解决错误,则远程计算系统200确定(1016)下一个推荐动作来解决错误,并使音频媒体设备发出(1018)下一个可听指令。用户100再次执行(1012)下一个推荐动作,并且移动机器人300再次确定(1014)是否已经解决了错误。音频媒体设备400继续发出(1018)后续的可听指令,例如直到移动机器人300确定(1014)错误已被解决。
[0230] 如果移动机器人300确定(1014)错误已被解决,则移动机器人300发出(1020)成功通知。移动机器人300可选择地将成功信号发送到远程计算系统200,以使远程计算系统产生(1022)通知信号,使得音频媒体设备400向用户100发出(1024)错误已被解决的可听成功通知。在一些实施方式中,成功通知包括例如由视觉指示器406的启动所引起的视觉信号。
[0231] 在一些示例中,随着移动机器人300导航通过家庭10,头发可能被夹带在驱动轮302上,从而阻止驱动轮302的旋转。音频媒体设备400在纠错过程1000期间发出可听指令,以向用户100描述一系列顺序动作来将头发从驱动轮302移除。如果移动机器人300是清洁机器人,则可以执行纠错过程1000,以使音频媒体设备400向用户100提供可听指导来解决与移动机器人300上的清洁装置(例如清洁垫、清洁辊或碎屑箱)相关的错误。如果清洁装置是清洁垫,则音频媒体设备400发出可听指令以指导用户100通过去除清洁垫和更换清洁垫的步骤。如果清洁装置是清洁辊,则音频媒体设备400发出可听指令以指导用户通过去除清洁辊、清洁抑制清洁辊操作的碎屑以及更换移动机器人300上的清洁辊的步骤。如果清洁设备是碎屑箱,则音频媒体设备400发出可听指令以指导用户100通过移除碎屑箱、从碎屑箱排空碎屑以及更换移动机器人300上的碎屑箱的步骤。
[0232] 在一些示例中,当用户100执行(1012)动作来解决错误时,或者在移动机器人300最初确定发生错误之后,远程计算系统200确定错误不能被用户动作解决或者来自客户服务代表的帮助可以使用户100受益以更有效地解决错误。在一些情况下,如果发出的可听指令的数量达到该预定义数量的指令,则远程计算系统200可以使音频媒体设备400发出用户100可以受益于与客户服务代表交互的可听指示。远程计算系统200使得能够在音频媒体设备400与客户服务代表之间建立无线通信信道,客户服务代表可以提供进一步的指令来解决错误。在一些示例中,远程计算系统200使得音频媒体设备400向用户100询问用户100是否希望通过使用音频媒体设备400而被连接到客户服务代表。用户100可听见地接收来自远程计算系统200的用户的联系信息,且音频媒体设备400访问该信息并将用户设备202与客户服务连接。例如,如果错误要求将移动机器人300运送到维修店进行维护,则音频媒体设备400建立与客户服务代表的无线通信信道,以允许用户100接收关于维修过程的信息。在一些示例中,音频媒体设备400发出(1010)可听指令,直到提供预定义数量的指令。
[0233] 其他可替代示例
[0234] 尽管图3A已经关于真空清洁机器人进行了描述,但是其他移动机器人类型仍受益于本文所述的过程。在一些示例中,移动机器人是围绕室外环境导航的室外机器人。移动机器人可以是具有可旋转刀片的机器人割草机,其切割户外环境中的草坪或其他可割草的区域。在命令过程700期间,用户100可以向音频媒体设备400提供语音命令,以使机器人割草机执行割草操作。用户100可以向音频媒体设备400发出语音命令,以指定机器人割草机的设置,比如刀片组件的高度或待切割的草坪的高度。如果室外环境包括要由机器人割草机切割的多个草坪,则语音命令可以指定在特定割草操作期间要切割的特定草坪。在通知过程800期间,音频媒体设备400可以提供有关由机器人割草机执行的割草任务的状态更新。在推荐过程900期间,音频媒体设备400可以发出可听请求,以购买用于机器人割草机的可更换部件,比如保险杠、刀片或刀片组件。因此,机器人割草机可以包括检测这些可更换部件的可维护性的传感器。在纠错过程1000期间,音频媒体设备400可以发出指令以解决与例如机器人割草机的刀片或刀片组件相关的错误的基础。
[0235] 如果移动机器人300是清洁机器人,则移动机器人可以是可安装清洁垫的清扫或拖地机器人。在一些情况下,随着清洁机器人围绕家庭10导航,清洁机器人将液体喷洒到地板表面上。清洁垫被安装到清洁机器人上,使得当清洁机器人移动穿过地板表面时,清洁垫吸收液体。在命令过程700期间,用户100可以向音频媒体设备400提供语音命令,以控制清洁机器人的清洁操作。在某些情况下,语音命令用于调整在清洁操作期间从清洁机器人喷洒的液体的量。在通知过程800期间,音频媒体设备400可以提供关于清洁垫的状况的状态更新,例如是否应该更换安装到清洁机器人上的清洁垫。
[0236] 在推荐过程900期间,音频媒体设备400可以基于检测到的地板表面类型推荐要使用的特定清洁垫。例如,可以安装到清洁机器人上的不同类型的垫包括干清扫垫、潮清扫垫或湿拖地垫。例如,湿拖地垫吸收比潮清扫垫更大量的液体,并且干清扫垫用于没有液体的情况。基于可以通过使用移动机器人300上的传感器检测到的或者可以由用户100输入的房间的地板类型,音频媒体设备400可以发出可听请求,以将清洁垫更改为推荐的清洁垫。例如,如果地板表面是木制表面,则音频媒体设备400可以发出可听请求,以使用户100将潮清扫垫安装到清洁机器人上。如果地板表面是瓷砖表面,则音频媒体设备400可以发出可听请求,以将湿拖地垫安装到清洁机器人上。在一些示例中,远程计算系统200使音频媒体设备400发出可听请求以购买额外的清洁垫。例如,远程计算系统200接收用户100以前为移动机器人300购买一次性清洁垫的购买日期,并根据购买日期确定用户100可能基于购买日期需要额外的清洁垫。
[0237] 在一些示例中,如图3A-3B和11A-11G所示,移动机器人300能够巡视家庭10并监视其中的状况。如图11A-11G的例子所示,移动机器人300包括与地板表面接触并且支撑机器人底盘2010的驱动机车构件232A、232B。驱动机车构件232A、232B可由控制器(例如微处理器2021)控制,以使移动机器人300穿过家庭10内的地板表面。在一些示例中,微处理器2021将移动机器人300导航到家庭10内的一个或多个映射位置或者通过这些位置。
[0238] 移动机器人300可以包括相机2070B。在某些情况下,相机2070B是感测系统(例如感测系统308)的一部分,而在其它实施方式中,相机2070B独立于感测系统308操作。在一些示例中,图像捕获系统310包括相机2070B。在一些示例中,相机2070B独立于图像捕获系统310操作。在一些示例中,移动机器人300包括可变高度构件。例如,可变高度构件是支撑相机2070B的完全可缩回的桅杆280。在一些情况下,相机2070B安装在桅杆280的顶部部分上,例如在桅杆280的顶部。在一些实施方式中,感测系统包括安装在移动机器人300的底盘
2010上的导航和环境传感器。例如,感测系统配置为检测与无线网络电路通信的网络实体的位置和状态,网络实体被固定在家庭10内。
[0239] 在某些情况下,由移动机器人300成像和/或检测的状况(例如通过相机2070B)呈现在允许远程用户100从多个有利位置观看家庭10的虚拟现实门户中。用户100可以与所呈现的图像交互以模拟在虚拟现实门户中的多个房间内的移动和通过这些房间,而不需要手动地驱动移动机器人300通过家庭10来查看家庭10的区域。在一些示例中,虚拟现实门户是家庭10的沉浸式、高清晰度、交互式3D照相重建。随着移动机器人300围绕家庭10导航,图像被组合(例如连续地和/或接触地缝合)以形成保持由移动机器人300成像的位置的连续性的交互式3D照相重建。在相机2070B安装在桅杆280上的情况下,随着桅杆280垂直移动,相机2070B的多个垂直有利位置被组合。当移动机器人300穿过家庭10时,可以调整垂直有利位置。
[0240] 在一些实施方式中,移动机器人300围绕垂直轴线Z旋转就位,同时在相机2070B旋转时相机2070B捕获家庭10的图像,例如通过底盘2010或桅杆280的旋转。在一些实施方式中,映射位置之一具有一个或多个自动选择的和/或用户选择的相机高度位置。位置以默认时间流逝或距离间隔和/或在家庭10内的用户选择的位置处定位。在一些实施方式中,相机2070B聚集两至四个图像。在一些实施方式中,相机2070B在感兴趣的位置在360度旋转期间聚集4至8高分辨率。在一些实施方式中,桅杆280在与底盘2010的顶表面齐平的位置和1.5米(例如5英尺)的高度之间延伸。因此,基于位置的图像提供家庭10的交互式可浏览视图,如在虚拟表示中所提供的,远程用户100可通过该虚拟表示在远程互联网可访问设备的人类可读显示器上导航,而无需驱动机器人300通过家庭10。
[0241] 在一些实施方式中,系统的远程用户100从第一人员有利位置观看家庭10,同时在相邻位置之间移动并且从多个有利位置更彻底地选择性地检查感兴趣的位置,无论是在沉浸式、交互式3D照相重建和/或在通过请求移动机器人300行进到感兴趣的位置的实时视频馈送。在一些示例中,移动机器人300选择用于在机器人300周围以360度视图对生活空间成像的默认位置Lx1、Lx2、Lx3...Lxn和/或系统的远程用户100选择移动机器人在穿过期间聚集家庭10的基于位置的图像所在的一些或所有位置。在一些情况下,该系统每天从移动机器人300通过家庭10的多次巡视中自动生成多个可远程访问的360度视图,并且用户100从远程互联网可访问设备的人类可读显示器的人类可读显示器上的选择列表访问这些记录的带时间戳的巡视。
[0242] 在一些实施方式中,移动机器人300用于远程监视家庭10中的不可见状况(例如温度、毒素、湿度和类似的空气质量测量),并且在其中测量状况的显示位置Lx1、Lx2、Lx3...Lxn覆盖虚拟现实门户内的可见信息图标和/或交互式菜单。在一些实施方式中,移动机器人300包括一个或多个车载环境传感器,其配置为在地板面穿过期间从家庭10收集信息,并且监视系统将信息呈现给通过家庭10的交互式3D照相重建来监视状况的远程用户100。在一些实施方式中,系统还包括未安装在移动机器人上的一个或多个固定传感器,并且这些固定传感器用于监视生活空间以收集呈现给通过家庭10的交互式3D照相重建来监视状况的远程用户100。在一些实施方式中,移动机器人300检测监视家庭10的固定传感器的状态,并且在远程用户显示器处,系统在家庭10的交互式3D照相重建中提供与固定传感器相邻的信息和/或交互式菜单。
[0243] 网络实体比如恒温器、空气净化器和加湿器是固定的,并且通常位于整个生活空间的一个或两个位置处,并且其中的固定传感器在该特定的单个不变的位置处测量相对局部的气流。移动机器人300提供了访问远离不紧邻网络实体的另一隔间或房间或者在其中的位置的优点。通过监视和测量整个生活空间的温度、空气质量和湿度,移动机器人300提供静态网络实体以其他方式不可访问的信息。
[0244] 参考图3A-3B和11A-11G,示例性移动机器人300包括底盘2010、控制器306、存储器318、电池2024、电池充电器2026、驱动系统2030、映射/导航系统2040、无线通信系统316、IR发射器2060、传感器2070AN、310和314、指示灯2074A、音频换能器2074B和用于避障和检测的结构光传感器2070K。控制器306可以包括任何适当配置的处理器2021(例如微处理器)或多个处理器。微处理器2021与控制器306、存储器318、传感器2070A-N、310和314以及驱动系统2030进行通信。在一些实施方式中,相机2070B是聚集2D图像、全景视图、视频和/或3D模型的成像装置。
[0245] 无线通信系统316包括无线通信发射器或模块252(例如Wi-Fi模块)及相关天线254,以实现机器人300与集线器110(比如Google On Hub Wi-Fi接入点)和/或专用网络160(即经由WAP164)之间的无线通信。可以对专用网络160采用各种不同的网络配置,其中移动机器人300构成节点。在一些示例中,机器人300经由WAP164通过路由器162与集线器110进行无线通信。在一些示例中,移动机器人200经由路由器162和WAP164与远程管理服务器204通信,绕过集线器110。
[0246] 返回到图3B,在一些实施方式中,机器人300包括环境传感器。示例性机器人300包括以下环境传感器:IR辐射检测器2070A、相机2070B、环境温度传感器2070C、环境光传感器2070D、声学传感器314(例如麦克风)、运动检测器2070F(例如无源IR光电二极管)、超声波传感器2070G、压力传感器2070H、空气质量传感器2070I和湿度传感器2070J。这些传感器不穷尽于可设置在机器人300上的传感器的类型,并且某些传感器可以根据要由机器人300检测的环境参数而省略。
[0247] 在一些实施方式中,移动机器人200包括在通过家庭10的传输期间用于障碍物检测和障碍物避免(“ODOA”)的传感器。这些传感器包括与固定障碍物接触触发的机械保险杠开关传感器2032和非接触式传感器比如超声波传感器2070G、红外线发射器/检测器接近传感器2065以及结构光传感器2070K,比如由Pix Art制造的那些。
[0248] 在一些实施方式中,如上所述,移动机器人300包括用于家庭10的自主导航和映射的映射/导航系统2040。移动机器人300包括用于自主导航的传感器,比如用于视觉同时定位和映射(“VSLAM”)的相机310、鼠标传感器2070M、具有3轴加速度计和3轴陀螺仪的IMU2070L和/或车轮里程表2070F,以确定或注册机器人300相对于空间10的位置(即将机器人300定位在空间10中)。机器人300可以定位由其车载传感器2070A-J收集的读数的位置。可以使用任何合适的技术和部件来定位和注册机器人300,比如机器视觉(例如使用相机
310和特征识别或类识别软件)、光信标或射频接收信号强度指示器(RSSI)技术。
[0249] 在一些实施方式中,移动机器人300包括至少一个定位传感器,其观察来自该空间内的物体的传感器读数,以便参照观察到的物体来确定移动机器人300的当前姿态。移动机器人300将姿态与同房间中驻留的观察到的物体具体关联的房间标识符相关联。在一些实施方式中,自主移动机器人300在其覆盖在该地图内的同时构建逐渐改进的地图,并且将地图数据(例如整套地图数据、地图数据的简化表示或地图数据的抽象)发送到远程计算系统200。为了采用其数据或表示和/或抽象来到达公共因特网205,微处理器2021、无线发射器
2052、无线接收器2054和/或收发器(包括具有它们自己的嵌入式微处理器的收发器)将使用IP(因特网协议)进行通信,并支持公共因特网200或远程计算系统200的常规寻址和分组化。
[0250] 地图数据库或覆盖数据库的任何部分可被发送到并存储在机器人300之外的位置,例如本地集线器110或家庭10内的网关、远程计算系统200上的集线器、网关、服务器204等、或者在因特网上可用的相同的虚拟化实例。在某些情况下,移动机器人300将其映射传送到远程计算系统200,并且音频媒体设备(AMD)400访问来自远程计算系统200的该地图,以向用户100提供测量数据的可听概要。在某些示例中,响应于所测量的状况,AMD400询问用户100关于修改家庭10中的连接设备的参数。AMD400根据用户100对这些更改进行影响,口头指示AMD400继续推荐动作,比如关闭通风口或关闭更暖的房间中的窗帘。
[0251] 远程计算系统200维护关于家庭10的最新物理地图和其他空间信息的数据库以及移动机器人300的数据收集。远程计算系统200中的地图包括相关物体的位置,比如家具、家庭中连接设备,如连接的灯或电器,以及有关家庭的空间信息的层次,如温度地图或灯光照明地图。利用这些信息,远程计算系统执行重要的空间分析操作。例如,如果用户100想要在客厅的沙发上阅读照明,则远程计算系统200基于家庭10的物理地图来确定要打开哪个灯以及灯有多亮。由于知道客厅、沙发和附近照明源的位置,连同明白不同的光源如何影响沙发周围区域的照明,远程计算系统200调整连接的照明。移动机器人300利用家庭10的每个任务或常规巡逻构建地图并且持续地维护该地图。该地图反复改进和/或随着移动机器人300可以穿过的环境的可穿越地板空间的变化而改变,例如不被障碍物占据的地板空间。当移动机器人300在整个房屋10中移动时,它构建空间的物理地图,识别空间的结构,比如墙壁所在的位置。这是重要的步骤,因为物理地图是了解家庭10的空间和布局的基础。在初始安装中,移动机器人300必须从头开始探索和构建地图。然而,随着时间的推移,移动机器人
300学习总体地图,或者从远程计算系统访问它,并且使用地图来系统地围绕家庭10导航,并且识别何时发生了变化,在该过程中更新地图。
[0252] 当移动机器人300移动通过家庭10时,其检测感兴趣的物体,比如可被标记并添加到地图的公用家具或电器。对空间中的物体的理解为远程计算系统200提供了更为丰富的理解,这对于执行更高级的任务是有用的,比如响应由沙发提供阅读光的请求。用户100还可以向移动机器人300显示其他特定的感兴趣物品,比如AMD400、儿童背包、特殊玩具或家庭狗。这些物品的位置随着它们被移动机器人300遇到而在地图上得到更新。此外,鉴于对空间中的物体的理解,房间20也可被标记。冰箱在厨房里。床在卧室里。这为机器人地图提供了额外的语义上下文,并且AMD400访问该信息以向本地用户100提供听觉通知。
[0253] 移动机器人300还通过标准协议发现家中的连接设备,并将它们定位在地图上。这包括连接的灯和扬声器、通风口、门窗传感器和家庭10中的其他连接设备的位置。移动机器人300漫游家庭10,并使用RF签名、视觉识别、接收到的信号强度等方法来识别家庭10中的连接设备并自动地将它们放置在家庭10的机器人地图上。例如,移动机器人300探索家庭10并且识别客厅的墙上的NEST恒温器、厨房中连接的三星冰箱以及家庭房间和卧室中的HUE BLOOM灯。移动机器人300将识别的设备放置在地图上,并且使用户100和AMD400能够利用连接设备的这种空间知识。例如,用户能够通过说出词语“打开卧室中的灯”来打开卧室中的灯。本文所述的AMD400和移动机器人300的交互使得能够对由巡视家庭10的移动机器人300检测的设备进行这种简单的语音控制。
[0254] 在一些实施方式中,移动机器人300控制各种连接设备以了解它们如何影响家庭10。例如,移动机器人300对家庭10周围的照明水平进行采样,以开发在一天的不同时间打开和关闭不同灯的场景的空间照明地图。这使得能够基于对各个照明源的控制来理解如何在整个家庭10中实现某些照明曲线。类似地,这可被完成用于扬声器和声音或音量曲线、通过气候控制通风口的气流以及温度曲线。这全部导致移动机器人300为远程计算系统200提供家庭10的丰富的被标记的地图。对空间布局与关键物体和设备的位置的这种综合理解为需要的有价值的空间分析提供了基础,以使得智能家庭10(例如具有连接设备的家庭)能够管理自身并向用户100提供易于使用的智能家庭功能。
[0255] 转到图12的实施方式,移动机器人300开始封闭空间(例如家庭10或家庭10内的房间20)的自主巡视和地图产生。在移动机器人200穿过封闭空间的地板面的同时,自主地建立包括沿着巡视路线1200的标记路点的封闭空间的地图。在一些实施方式中,移动机器人300在整个封闭空间的各个路点位置L1、L2、L3...Ln围绕垂直Z轴(图11E所示)旋转就位。随着机器人300穿过监视任务上的封闭空间,这些位置L1、L2、L3...Ln是沿着机器人巡视路线
1200的路点,以收集图像数据、沿着巡视路线1200从固定网络设备收集的数据和用于处理并呈现给远程用户终端144处的终端用户100的由移动机器人1200的传感器和/或由将听觉消息提供给封闭空间中的用户100的AMD400检测到的其他环境感测数据。如图12中的家庭
10的示意性地板面视图所示,位置具有相对于地图的全局坐标系的二维坐标。例如,在一些实施方式中,机器人300在位置L0处开始巡视,其中机器人基座位于该位置。位置L0(例如对应于机器人基座的位置)是机器人地图上所有其他位置L1、L2、L3...Ln所参考的全局原点。
在一些实施方式中,机器人300基于默认时间间隔和/或行进距离自动选择在此停止传送和旋转的位置L1、L2、L3...Ln。例如,在一个实施方式中,机器人300每四英尺停止并旋转,以在每个停止位置L1、L2、L3...Ln处聚集表示360度机器人视图的图像,并将所聚集的图像上传到存储在存储器(在或不在机器人300上)中的图像数据库。在其他实施方式中,远程用户终端处的远程用户预先选择机器人300停止的一个或多个位置Lx1、Lx2、Lx3...Lxn。在一些实施方式中,机器人300停止在机器人默认和预选用户位置的组合L1、Lx1、L2、Lx2、L3...Ln。
[0256] 在一些实施方式中,AMD400远离移动机器人300并且固定在封闭空间或家庭10内。在围绕家庭10的穿过期间,移动机器人300检测AMD400并将AMD位置存储在机器人地图上,其与AMD和其他网络设备和机器人直接或通过远程计算系统200(例如云)共享。在其他实施方式中,AMD400包括在机器人底盘2010上并与移动机器人300一起移动。在一些实施方式中,AMD400完全嵌入在机器人300的底盘内,并且在其他实施方式中,AMD400是可互换地连接到房屋10中的各种移动机器人300、301的便携式可连接/可拆卸设备。
[0257] 在移动机器人300配备有AMD400的示例中,语音交互在家庭10中变得位置感知。当机器人300在厨房中时,“关闭灯”语音命令将连接的厨房灯关闭,并且当在客厅中时,将连接的客厅灯关闭。类似地,用户100可以对具有并入的AMD400的移动机器人300通话,用于设置温度并调节连接的扬声器上的音量。例如,用户100说“降低音量”,并且装有AMD的机器人300在用户100的位置处将扬声器的音量降低。
[0258] 如上所述,在一些实施方式中,移动机器人300对围绕家庭10的传感器读数进行采样,并且使用它们以在响应/动作中更加深刻。例如,如果移动机器人300在厨房中进行温度读取并且在客厅中进行温度读取,则用户100可以命令装有AMD的移动机器人300通过说“将客厅温度设置成与餐厅温度相同”来均匀地调整这两个房间中的温度。在一些实施方式中,移动机器人300在不同的灯打开和关闭的情况下获取整个家庭中的照明水平读数,并且学习每个单独的光如何影响空间的照明。然后,如果用户100在客厅中要求更多的光,则移动机器人300(知道其在家庭10中的位置)可以适当地打开灯,以给家庭10中的给定空间提供更多的照明。
[0259] 用户100还可以查询具有以下询问的装有AMD的移动机器人300:“后门处的Wi-Fi信号强度是多少?”。移动机器人300可以到达后门,获取传感器读数并且在听觉上和/或视觉上(例如在智能手机应用、SMS、文本消息、电子邮件或横幅警报上)向用户100通知结果。在另一示例中,用户10可以向装有AMD的移动机器人300询问有关家庭10中被监视的环境状况的问题,例如口头询问“您今天在家的任何地方都检测到湿度超过90%?”。装有AMD的移动机器人300然后通过产生听觉和/或视觉响应来响应。
[0260] 如上关于AMD的部件所述,声音定位使得装有AMD的移动机器人300能够知道正在对人说话的用户100相对于机器人300的相对位置,并且通过在如由AMD400上的方向感测的麦克风检测到的正在说话的用户100的方向上驱动,移动机器人300可以响应于命令,比如“到这里来”。因为移动机器人300检测到AMD400并将其位置放置在机器人地图上,并且因为机器人地图与远程计算设备和AMD共享,所以通信网络201可以确定到正在说话的用户100的距离。例如,AMD400可以在其位于AMD400上的一个或多个麦克风处检测来自用户100的多路径语音反射。由于知道麦克风相对于用户100的声音反弹的一个墙壁或多个墙壁的距离和取向,AMD400和/或远程计算系统200可以使用这些多路径信号,以基于三角测量和基本三角法来计算检测到的语音命令的起点。在一些实施方式中,远程计算系统200和/或AMD400补偿在计算机器人地图上的正在说话的用户的姿态时的噪声和/或衰减。例如,用户100可以向移动机器人300说“来把自己定位在这里一天”,并且移动机器人300将移动到用户100的位置。类似地,用户100可以发出词语“跟着我”,以使装有AMD的移动机器人300跟在行走的用户100后面。用户可以说“面向我”,并且装有AMD的移动机器人300将重新调整其向前部分以面向用户100。
[0261] 如果用户100给出语音命令,但是AMD设备400具有听力问题,则装有AMD的移动机器人300可以重新定位和/或移动到更靠近用户100的位置或者远离另外的噪声源,以更好地听到并请求用户100重复语音命令。
[0262] 在一些示例中,用户100提供可听命令以使移动机器人300朝向物体移动。响应于可听命令,移动机器人300自主地朝向物体导航。在一些情况下,移动机器人300将桅杆280移动到相对于底盘2010的高度,使得在移动机器人300自主地移动到靠近物体的位置之后,相机310或由桅杆280支撑的其它传感器指向该物体。
[0263] 在一些实施方式中,用户100可以向装有AMD的移动机器人300查询在家庭10中的其他地方需要视觉或其他类型的传感器检查的物品。例如,用户100询问“前门是否打开?”(假设前门没有互联网或LAN连接的打开/关闭传感器)。装有AMD的移动机器人300驱动到前门并用其相机和/或接近传感器或其他测距传感器目视检查门以获取回答问题所需的数据。将数据发送到远程计算系统200进行处理,并且装有AMD的移动机器人300返回给用户100并且可听见地发出对该问题的响应。以这种方式,用户100可以请求装有AMD的移动机器人300对于需要移动性和映射的任何数量的状态条件进行巡视。例如,用户可以向装有AMD的移动机器人300询问以下问题:“窗口是否打开?”、“厨房里的灯是否开着?”、“客厅里有人吗?”。作为响应,装有AMD的移动机器人300驱动到目的地以响应于查询来收集数据。
[0264] 类似地,用户100可以询问装有AMD的移动机器人300物体在家庭10中的位置。在一个实施方式中,用户100说出“我的背包在哪里?”,并且装有AMD的移动机器人300围绕房屋10驱动来寻找背包。在一个实施方式中,装有AMD的移动机器人300访问在最近的任务或巡视期间围绕家庭10成像的所识别物体的图片,并且一旦找到物体并且针对图像的车载收集或存储在远程计算系统400中的图像的收集被验证,就向用户报告所识别物体的位置。在一些实施方式中,用户100请求装有AMD的移动机器人300找到具有RF签名的设备。例如,如果用户100询问装有AMD的移动机器人300:“我的手机在哪里?”,则移动机器人300搜索围绕家庭10的射频信号,在远程计算系统200和/或移动机器人300上或可访问其的数据库中寻找与用户100相关的电话的蓝牙ID。然后,装有AMD的移动机器人300可听地和/或可视地提醒用户100到手机的位置。由于移动机器人300配备有AMD400,所以移动机器人300配备成以简单的语言自然地向用户说话。例如,装有AMD的移动机器人300将告诉用户“您的手机在这里、在客厅里、在沙发上”。这样就不需要用户100登录应用程序或网页终端或用户设备202。
用户100仅需要依赖于实时的自然语音交互来命令移动机器人300并且控制整个家庭10中的连接设备。
[0265] 在一些实施方式中,用户向装有AMD的移动机器人300进行命令和询问,比如如下:“返回到您的充电座”、“将您的相机置于隐私模式(例如降低桅杆280)”、“去到位置”、“提高/降低驱动速度”、“抬起您的相机桅杆”、“转向”和“离开此房间”。因此,用户100不需要登录到应用程序或使用其他在线门户或远程控制来命令机器人。简单的口头语言命令移动机器人300,而不需要增加低效率或复杂性的水平。
[0266] 在一些实施方式中,音频媒体设备400是用于启动和停用移动机器人300的监视系统(例如相机310、2070B)的可替代用户接口。用户100可以语音命令装有AMD的移动机器人300在出发时巡视家中或抵达家庭10时夜晚关闭。
[0267] 在一些实施方式中,AMD400允许用户100建立可听密码以启动或停用移动机器人300的监视系统。
[0268] 在一些实施方式中,AMD400允许用户100经由AMD400命令移动机器人300从机器人的相机310、2070B拍摄图像或视频。这可以用于用户识别,比如通过音频媒体设备告知机器人300以识别站在相机310、2070B前面的用户100。在一些实施方式中,由于增加的安全/授权级别,移动机器人300必须将用户100识别为解锁对经由音频媒体设备400可访问的功能的访问级别的一部分。
[0269] 在一些实施方式中,响应于监视机器人300的检测或动作,音频媒体设备400提示用户100发出可听响应。例如,如果移动机器人300在任务中检测到家中的人时,其通过音频媒体设备400指示该人识别自己和/或提供额外信息。
[0270] 在一些实施方式中,移动机器人300的相机310、2070B是补充音频媒体设备400的可替代用户接口。一个示例是使用相机进行手势识别,使得响应于手势,移动机器人300向音频媒体设备400传达命令以影响音频媒体设备400的操作和/或连接到音频媒体设备400和/或远程计算系统200的其他设备的操作。例如,用户100告诉音频媒体设备400通过语音命令调整灯光,然后移动机器人300上的照相机310、2070B检测用户100抬起手和/或手臂,并命令AMD400和/或远程计算系统相应地升高或降低灯光级别。
[0271] 可以至少部分地使用一个或多个计算机程序产品来控制本文描述的自主移动机器人,例如一个或多个有形地体现在一个或多个信息载体中的计算机程序,比如一个或多个非暂时的机器可读介质,用于执行或控制一个或多个数据处理装置(例如可编程处理器、计算机、多个计算机和/或可编程逻辑组件)的操作。
[0272] 可以通过执行一个或多个计算机程序的一个或多个可编程处理器来执行与控制本文所描述的自主移动机器人相关的操作,以执行本文所述的功能。计算机程序可以以任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或模块、组件、子程序或适用于计算环境的其他单元。可以使用专用逻辑电路(例如FPGA(现场可编程门阵列)和/或ASIC(专用集成电路))来实现对本文所描述的全部或部分机器人的控制。
[0273] 本文描述的控制器可以包括一个或多个处理器。适用于执行计算机程序的处理器例如包括通用和专用微处理器以及任何类型的数字计算机的任何一种或多种处理器。通常,处理器将从只读存储区域或随机存取存储区域或两者接收指令和数据。计算机的元件包括用于执行指令的一个或多个处理器和用于存储指令和数据的一个或多个存储区域设备。通常,计算机还将包括或可操作地联接以从一个或多个机器可读存储介质比如用于存储数据的大容量PCB(例如磁盘、磁光盘或光盘)接收数据或传送数据至其,或两者兼有。适于体现计算机程序指令和数据的机器可读存储介质包括所有形式的非易失性存储区域,例如包括半导体存储区域设备(例如EPROM、EEPROM和闪存存储区域设备);磁盘(例如内部硬盘或可移动盘);磁光盘;以及CD-ROM和DVD-ROM盘。
[0274] 已经描述了许多实施方式。然而,应当理解,可以进行各种修改。因此,其他实施方式也在权利要求书的范围内。
QQ群二维码
意见反馈