一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于情境和用户体验的移动机器人调度与控制的制作方法

2021-12-03 23:58:00 来源:中国专利 TAG:


1.该文件总体上涉及移动机器人,并且更具体地,涉及用于基于情境信息和用户体验来调度和控制移动机器人的系统、设备和方法。


背景技术:

2.自主移动机器人可以围绕环境移动,并执行各种类别的若干功能和操作,包括但不限于安全操作、基础架构或维护操作、导航或地图绘制操作、库存管理操作以及机器人/人机交互操作。一些移动机器人(也称为清洁机器人)可以在环境(例如,家庭)内自主执行清洁作业。许多类型的清洁机器人在一定程度上以不同的方式是自主的。例如,清洁机器人可以执行清洁任务,其中,机器人横越其环境的地板表面并同时从该地板表面摄取(例如,吸取)碎屑。
3.一些移动机器人能够存储机器人环境的地图。移动机器人可以使用地图来实现其目标(例如路径规划),或者在环境中导航移动机器人以执行任务(例如清洁任务)。


技术实现要素:

4.可以在本地(例如,通过机器人上的控件)或在远程(例如,通过远程手持设备)控制自主移动机器人(以下称为“移动机器人”)以在环境中移动。在远程任务调度和机器人控制的示例中,诸如在手持计算设备(例如,移动电话)中实施的移动应用(mobile application)可以显示以概览视图组织的各种信息。用户可以使用移动应用来管理(例如,添加或移除)例如在用户家中的一个或多个移动机器人,以及监视移动机器人的操作状态。另外,用户可以使用移动应用来创建和维护个性化任务例程。任务例程可以由可编辑时间表来表示,可编辑时间表包括时间和/或顺序,用于执行一个或多个作业,例如清洁用户的家的一个或多个房间或地板表面区域。任务例程或其中的作业的特征可以在于或参考语义注释的物体。语义注释的物体是在环境中检测到的与语义信息(例如身份,位置,物理属性或检测到的物体的状态,或与其他物体或环境的空间或情境关系)相关联的物体。附加地或替代地,任务例程或其中的作业的特征可以在于或参考用户体验(例如使用房间或与其中的物体进行交互的时间、模式或方式)、用户的日常例程或用户行为。移动应用可以例如在手持设备上显示关于任务例程的信息,并且允许用户监视正在执行的任务的进度。用户可以在作业正在被执行时对作业进行更改。在各种示例中,移动应用还可以在用户界面上显示地图,例如表示执行任务的区域的平面图的地图。在清洁任务期间,可以显示机器人的位置和操作状态,任务或其中的作业的进度以及其他信息。用户可以使用移动应用来生成或更新地图,创建新区域,添加或移除物体,或向地图上的物体提供语义注释。用户还可以通过调整导航参数或任务调度参数(例如任务例程中一个或多个作业的时间或顺序)来控制移动机器人的操作。
5.本文件描述了用于调度移动机器人的任务(例如,清洁任务)并控制移动机器人根据任务时间表执行任务(例如,在特定时间和位置或以特定方式横越用户家中的房间并清
洁房间的地板表面区域)的系统、设备和方法。根据一个示例,移动清洁机器人包括:驱动系统,其使移动清洁机器人围绕环境移动;传感器电路,用于检测环境中的物体;以及控制器电路,用于接收任务例程,该任务例程包括表示可编辑时间表的数据,可编辑时间表包括相对于语义注释物体或相对于用户经验或用于行为执行一个或多个清洁作业的时间或顺序中的至少一个,语义注释物体包括检测到的物体的空间或情境信息。控制器电路可以导航移动清洁机器人以根据接收到的任务例程进行任务。
6.根据一个示例,手持设备包括用户界面,配置为与在环境中移动的一个或多个移动机器人(例如,移动清洁机器人)进行通信的通信电路,以及处理器。处理器可以从移动清洁机器人接收关于环境中检测到的物体的信息,并接收任务例程,所述任务例程包括表示可编辑时间表的数据,所述可编辑时间表包括用于相对于语义注释物体执行一个或多个清洁作业的时间或顺序中的至少一项,语义注释物体包括检测到的物体的空间和情境信息。手持设备可以生成用于导航移动清洁机器人以根据接收到的任务例程进行任务的指令。用户界面可以在单独的类别中显示移动清洁机器人和任务例程的图形表示。
7.根据一个示例,一种非暂时性机器可读存储介质包括可由机器的一个或多个处理器执行的指令,诸如可由移动设备执行的移动应用。所述指令(例如移动应用)的执行可以使机器执行操作,所述操作包括:在机器和配置为围绕环境移动的至少一个移动清洁机器人之间建立通信;接收与至少一个移动清洁机器人检测到的环境中的物体有关的信息;接收任务例程,所述任务例程包括表示可编辑时间表的数据,所述时间表包括用于相对于语义注释物体执行一个或多个清洁作业的时间或顺序中的至少一个,语义注释物体包括检测到的物体的空间或情境信息;在显示器上呈现任务例程的图形表示;和根据接收到的任务例程,导航所述至少一个移动清洁机器人以进行任务。
8.示例1是一种移动清洁机器人,其包括:驱动系统,被配置为使移动清洁机器人围绕环境移动;传感器电路,被配置为检测环境中的物体;以及控制器电路。控制器电路被配置为接收任务例程,所述任务例程包括表示可编辑时间表的数据,所述可编辑时间表包括用于相对于语义注释物体执行一个或多个清洁作业的时间或顺序中的至少一个,语义注释物体包括检测到的物体的空间或情境信息;和根据任务例程导航移动清洁机器人以进行任务。
9.在示例2中,示例1的主题可选地包括传感器电路,传感器电路还被配置为识别环境中检测到的物体的空间位置;并且控制器电路被配置为将检测到的物体与所识别的空间位置相关联以创建语义注释物体,并且使用语义注释物体来生成或修改任务例程。
10.在示例3中,示例2的主题可选地包括检测到的物体,所述检测到的物体包括家具或陈设,并且所述控制器电路被配置为:识别家具或陈设所在的房间或环境中的区域;将家具或陈设与识别的房间相关联;和基于家具或陈设与识别的房间或区域之间的关联,生成或修改任务例程。
11.在示例4中,示例1

3中任一项或多项的主题可选地包括所述一个或多个作业,所述一个或多个作业包括清洁分别以其与语义注释物体的空间或情境关系为特征的一个或多个房间或地板表面区域。
12.在示例5中,示例1

4中任一项或多项的主题可选地包括所述一个或多个作业,所述一个或多个作业包括清洁分别以用户与之交互为特征的一个或多个房间或地板表面区
域。
13.在示例6中,示例1

5中任一项或多项的主题可选地包括可编辑时间表,用于执行关于用户行为的所述一个或多个作业。控制器电路可以被配置为接收关于用户行为的信息,并基于可编辑时间表和所接收的关于用户行为的信息来导航移动清洁机器人以执行任务。
14.在示例7中,示例6的主体可选地包括控制器电路,所述控制器电路可以被配置为基于所接收的关于用户行为的信息来修改用于执行所述一个或多个作业的时间或顺序中的至少一个。
15.在示例8中,示例7的主体可选地包括关于用户行为的信息,关于用户行为的信息包括关于指示目标房间中的人的存在或不存在的房间占用的信息,并且控制器电路可以被配置为基于有关房间占用的信息来暂停任务或重新安排要在目标房间中执行的作业。
16.在示例9中,示例7

8中任一项或多项的主题可选地包括关于用户行为的信息,关于用户行为的信息包括关于用户参与音频敏感事件的信息,并且控制器电路可以被配置为暂停任务,或重新安排干扰音频敏感事件的作业。
17.在示例10中,示例1

9中任一项或多项的主题可选地包括所述一个或多个作业,所述一个或多个作业包括清洁分别以其中的相应碎屑状态为特征的一个或多个房间或地板表面区域。传感器电路被配置为检测一个或多个房间或地板表面区域中的脏污或碎屑分布的相应水平;和控制器电路被配置为通过相应的脏污水平或碎屑分布来优先清洁一个或多个房间或地板表面区域。
18.在示例11中,示例10的主题可选地包括所述一个或多个作业,所述一个或多个作业包括具有比第二区域更高的脏污水平的第一区域,第二区域具有比第三区域更高的脏污水平,并且其中,控制器电路被配置为导航移动清洁机器人以顺序地首先清洁第一区域,随后清洁第二区域,随后清洁第三区域。
19.在示例12中,示例1

11中任一项或多项的主题可选地包括任务例程,所述任务例程还包括表示目标区域中的清洁水平的清洁模式,并且控制器电路可以被配置为与光源通信以调整目标区域的照明,并导航移动清洁机器人以清洁具有调整后的照明的目标区域。
20.在示例13中,示例1

12中任一项或多项的主题可选地包括控制器电路,所述控制器电路被配置为生成关于任务或其中的作业的进度的任务状态报告,所述任务状态报告包括用于任务或其中的作业的经过时间,剩余时间估计,或总体时间估计中的至少一个。
21.在示例14中,示例1

13中的任一项或多项的主题可选地包括控制器电路,所述控制器电路被配置为基于用于完成任务的时间分配来优先执行所述任务例程中的作业。
22.在示例15中,示例1

14中的任一项或多项的主题可选地包括控制器电路,所述控制器电路被配置为生成或更新包括关于语义注释物体的信息的环境的地图,并且使用所生成的地图来导航所述移动清洁机器人。
23.示例16是一种非暂时性机器可读存储介质,其包括指令,所述指令在由机器的一个或多个处理器执行时使机器执行操作,操作包括:在机器和配置为围绕环境移动的至少一个移动清洁机器人之间建立通信;控制所述至少一个移动清洁机器人以检测环境中的物体;接收任务例程,所述任务例程包括表示可编辑时间表的数据,所述时间表包括用于相对于语义注释物体执行一个或多个清洁作业的时间或顺序中的至少一个,语义注释物体包括
检测到的物体的空间或情境信息;在显示器上呈现任务例程的图形表示;和导航所述至少一个移动清洁机器人以根据任务例程进行任务。
24.在示例17中,示例16的主题可选地包括指令,所述指令使所述机器执行操作,所述操作还包括:在包括第一移动清洁机器人和不同的第二移动机器人的环境中协调一组移动机器人,所述可编辑时间表包括用于执行由第一移动清洁机器人执行的一个或多个作业和由第二移动机器人执行的一个或多个作业的时间或顺序中的至少一个。
25.在示例18中,示例17的主题可选地包括指令,所述指令使所述机器执行操作,所述操作还包括:响应于用户输入,在用户界面上在所述第一移动清洁机器人的操作状态的呈现与所述第二移动清洁机器人的操作状态的呈现之间进行切换。
26.在示例19中,示例17

18中任一项或多项的主题可选地包括协调一组移动机器人的操作,其可以包括向该组添加新的移动机器人或从该组中移除现有的机器人。
27.在示例20中,示例16

19中任一项或多项的主题可选地包括所述一个或多个作业,所述一个或多个作业包括清洁分别以其与语义注释物体的空间或情境关系为特征的一个或多个房间或地板表面区域。
28.在示例21中,示例16

20中任一项或多项的主题可选地包括所述一个或多个作业,所述一个或多个作业包括清洁分别以用户与之交互为特征的一个或多个房间或地板表面区域。
29.在示例22中,示例16

21中任一项或多项的主题可选地包括可编辑时间表,用于执行关于用户行为的所述一个或多个作业。所述指令使所述机器执行操作,所述操作还可以包括:接收关于用户行为的信息;以及基于所述可编辑时间表和所接收的关于用户行为的信息,导航所述至少一个移动清洁机器人以执行任务。
30.在示例23中,示例22的主题可选地包括关于用户行为的信息,其包括指示房间中的人的存在或不存在的房间占用。所述指令使所述机器执行操作,所述操作还可以包括暂停任务或重新安排要在被占用的房间中执行的作业。
31.在示例24中,示例22

23中任一项或多项的主题可选地包括关于用户行为的信息,其可以包括音频敏感事件。所述指令使所述机器执行操作,所述操作还可以包括暂停任务或重新安排干扰音频敏感事件的作业。
32.在示例25中,示例16

24中任一项或多项的主题可选地包括所述一个或多个作业,所述一个或多个作业包括清洁分别以其中的相应碎屑状态为特征的一个或多个房间或地板表面区域。所述指令使所述机器执行操作,所述操作还可以包括:检测一个或多个房间或地板表面区域中的脏污或碎屑分布的相应水平;和通过相应的脏污水平或碎屑分布来优先清洁一个或多个房间或地板表面区域。
33.示例26是一种手持计算设备,包括:用户界面;通信电路,被配置为与围绕环境移动的第一移动清洁机器人进行通信;和处理器。处理器被配置为:从第一移动清洁机器人接收关于在环境中检测到的物体的信息;接收任务例程,所述任务例程包括表示可编辑时间表的数据,所述时间表包括用于相对于语义注释物体执行一个或多个清洁作业的时间或顺序中的至少一个,语义注释物体包括检测到的物体的空间和情境信息;和生成用于导航第一移动清洁机器人以根据任务例程进行任务的指令。用户界面可以被配置为在单独的类别中显示第一移动清洁机器人和任务例程的图形表示。
34.在示例27中,示例26的主题可选地包括处理器,所述处理器被配置为生成关于任务或其中的作业的进度的任务状态报告,所述任务状态报告包括用于任务或其中的作业的经过时间,剩余时间估计,或总体时间估计中的至少一个。所述用户界面可以被配置为在单独的类别中显示任务状态报告的图形表示。
35.在示例28中,示例26

27中任一项或多项的主题可选地包括处理器,所述处理器被配置为协调环境中的一组移动机器人,包括第一移动清洁机器人和不同的第二移动机器人。所述用户界面可以包括一个或多个用户控件,所述用户控件使用户能够在第一移动清洁机器人的操作状态的第一图形表示与第二移动机器人的操作状态的第二图形表示之间进行切换。
36.在示例29中,示例28的主题可选地包括用户界面,所述用户界面可以包括一个或多个用户控件,所述用户控件使用户能够协调所述一组移动机器人,包括向所述组添加新的移动机器人或从所述组中移除现有的机器人。
37.在示例30中,示例26

29中任一项或多项的主题可选地包括用户界面,所述用户界面可以被配置为显示所述任务例程的图形表示,图形表示包括以各个房间或环境中的表面区域中的各个语义注释物体为特征的一个或多个作业的缩进列表。
38.在示例31中,示例26

30中任一项或多项的主题可选地包括所述一个或多个作业,所述一个或多个作业包括清洁分别以其与语义注释物体的空间或情境关系为特征的一个或多个房间或地板表面区域。
39.在示例32中,示例26

31中任一项或多项的主题可选地包括所述一个或多个作业,所述一个或多个作业包括清洁分别以用户与之交互为特征的一个或多个房间或地板表面区域。
40.在示例33中,示例26

32中任一项或多项的主题可选地包括可编辑时间表,用于执行关于用户行为的所述一个或多个作业。处理器可以被配置为接收关于用户行为的信息,并基于可编辑时间表和所接收的关于用户行为的信息来生成用于导航移动清洁机器人以执行任务的指令。
41.在示例34中,示例26

33中的任一项或多项的主题可选地包括用户界面,所述用户界面被配置为从用户接收关于所述任务例程的语音命令。
42.该概述是本技术的一些教导的概述,并且不旨在作为本主题的排他性或详尽的处理。在详细描述和所附权利要求中可以找到关于本主题的更多细节。在阅读和理解以下详细描述并查看形成其一部分的附图之后,本公开的其他方面对于本领域技术人员将是显而易见的,每个附图都不应理解为限制性的。本公开的范围由所附权利要求及其合法等同物限定。
附图说明
43.在附图的图中通过示例的方式示出了各种实施例。这样的实施例是说明性的,并且不意图是本主题的穷举或排他的实施例。
44.图1、2a和2b是移动机器人的侧面剖视图,底部透视图和顶部透视图。
45.图3是示出用于操作移动清洁机器人的控制架构的示例的图。
46.图4a是示出通信网络的示例的图,其中移动清洁机器人在该网络中进行操作和数
据传输。
47.图4b是示出在通信网络中的移动机器人与其他设备之间交换信息的示例性过程的图。
48.图5是示出机器人调度和控制系统的示例的框图。
49.图6a示出了手持设备的用户界面(ui)的示例,其显示了用户家中移动机器人的概览图以及为一个或多个机器人创建的任务例程。
50.图6b示出了手持设备的ui的示例,其显示包括各种类型的任务例程的任务例程架。
51.图6c,6d和6e是可以用于创建和维护任务例程的手持设备的ui的示例。
52.图6f示出了手持设备的ui的示例,其显示关于任务例程的信息,该任务例程包括其中的任务以及任务的时间表。
53.图6g示出了可以监视正在进行的任务例程的进度的手持设备的ui的示例。
54.图6h示出了可用于创建或修改环境的地图的手持设备的ui的示例。
55.图6i示出了手持设备的ui的示例,其显示任务创建和机器人控制的各种特征上的辅导或教育消息。
56.图6j示出了用于手持设备的ui设计的示例,在显示屏上示出了可选的任务例程。
57.图6k示出了用于手持设备的ui设计的示例,在显示屏上示出了正在进行的任务例程的进度。
58.图7是示出生成和管理用于机器人调度和控制的任务例程的方法的示例的流程图。
59.图8是示出了示例机器的框图,本文所讨论的任何一种或多种技术(例如方法)可以在其上执行。
具体实施方式
60.自主移动机器人可以在本地或远程被控制以执行任务,例如涉及要由移动清洁机器人清洁的房间或地板表面区域的清洁任务。用户可以使用远程控制设备来显示环境地图,在远程控制设备的用户界面(ui)上创建清洁任务,并控制移动机器人执行清洁任务。传统上,机器人的调度和控制主要基于“地图和位置”方法。例如,清洁任务由需要被清洁的房间或地板表面区域(例如从地图中识别出的那些)定义。地图和位置方法有几个缺点。第一,这种方法仅提供通用的任务架构。它不是为满足单个用户的需求或独特目标而定制的。例如,基于地图和房间的清洁任务不适应用户对时间、位置或房间清洁方式的偏好,或者用户过去在环境中使用移动机器人的经验或习惯。第二,使用地图和位置方法生成的任务例程缺少任务的情境内容,例如任务或其中的作业的空间和/或时间情境。情境信息已广泛用于任务或作业的自然语言描述中。例如,用于移动清洁机器人的清洁任务可以包括参照该区域中的物体(例如一件家具)的目标清洁区域,或者参照用户的行为或日常活动的清洁调度(例如时间或顺序)。在任务描述中包含情境信息可以丰富任务例程的内容。相反,仅由要执行任务或作业的位置定义的任务或作业(与地图和位置方法一样)缺少任务的空间或时间情境。这可能会限制用户对任务调度和机器人控制可用性的体验。第三,地图和位置方法通常要求用户每次使用移动机器人时都要定义任务。任务可以包括多个任务,每个任务都需
要调度。创建任务例程可能是乏味且耗时的过程。然而,实际上,某些任务是高度可重复的例程(例如,饭后打扫厨房和饭厅)。重复创建任务会给用户增加负担,并增加在任务之间引入人为错误或不一致的可能性。最后,远程控制设备的常规ui设计为专注于硬件和结构组件(例如,机器人,房间或环境)。诸如情境信息和与移动机器人的使用相关联的用户体验之类的有用信息未呈现给用户。在某些情况下,物体的情境信息或语义埋在ui中并且不容易访问。这减少了用户体验,并降低了ui在调度和控制移动机器人中的可用性。
61.本发明人已经认识到对用于增强任务调度和移动机器人控制的设备和方法的未满足的需求。根据一个示例,移动清洁机器人包括:驱动系统,其使移动清洁机器人围绕环境移动;传感器电路,其用于检测环境中的物体;以及控制器电路,其用于接收和解释任务例程,任务例程包括表示可编辑时间表的数据,该可编辑时间表包括用于相对于包括被检测物体的空间或情境信息的语义注释物体执行一个或多个清洁作业的时间或顺序中的至少一项。控制器电路可以根据任务例程导航移动清洁机器人以进行任务。根据另一示例,手持设备可以与一个或多个移动机器人通信,接收关于环境中的物体的信息,例如由移动机器人检测到的信息。用户可以创建任务例程,该任务例程表示可编辑时间表,该可编辑时间表包括用于相对于包括被检测物体的空间和情境信息的语义注释物体执行一个或多个清洁作业的时间或顺序中的至少一个。手持设备可以在显示器上呈现任务例程的图形表示,并且生成指令以根据任务例程来导航移动清洁机器人以执行任务。根据又一个示例,移动应用可以由诸如移动设备之类的机器执行,从而使得该机器与移动清洁机器人建立通信,接收关于在环境中检测到的物体的信息,接收并解释任务例程,任务例程包括表示可编辑时间表的数据,该可编辑时间表包括用于相对于包括被检测物体的空间或情境信息的语义注释物体执行一个或多个清洁作业的时间或顺序中的至少一项,在显示器上呈现任务例程的图形表示,并按照任务例程导航移动清洁机器人以执行任务。
62.用于调度和控制移动机器人的系统、设备、移动应用和方法的优点可以包括但不限于以下以及本文件其他地方描述的优点。本文讨论的基于情境和用户体验的任务例程的特征在于或参考环境中的物体、用户体验或日常例程或用户行为。例如,可以使用物体(例如,房间中的家具或陈设)的空间或情境信息,或者用户与房间或环境中的区域交互的行为或体验来描述清洁任务(或其中的作业),例如“清洁厨房桌子下面”,“我上班后清洁房子”或“进行做饭后打扫卫生的例程”。移动机器人可以解释此类任务例程以识别时间、位置以及在任务中执行作业的方式。与基于位置和地图的任务相比,基于情境和用户体验的任务例程经过架构设计,可以添加用户的个性化内容。由于基于情境和用户体验的任务例程与任务的自然语言描述更加一致,因此它使用户与机器人之间的通信更加直观,从而使移动机器人可以以用户与机器人之间通常可以理解的方式执行任务。此外,在任务描述中包含情境信息和用户体验可丰富任务例程的内容,为机器人行为增加更多智能,并增强对移动机器人的个性化控制的用户体验。基于情境和用户体验的任务例程还减轻了用户重复创建任务例程的负担,并改善了用户体验和机器人的整体可用性。
63.本文件还讨论了一种ui,该ui以更加用户友好和有效的方式呈现有关任务和机器人控制的信息。在一个示例中,ui包括机器人信息、机器人操作状态、个性化任务例程、任务进度报告以及包括语义物体在内的机器人环境地图的概览图。概览图可以基于任务的情境自动和逐步向用户呈现相关信息,例如任务所涉及的(多个)机器人、任务的性质、任务所涉
及的作业或任务进度,等等。概览图可以包括辅导或教育信息、推荐、交互式故障排除指南、执行维护的提醒或用户调查,这可以增强用户体验以及机器人的可用性和效率。
64.本文件进一步讨论了具有增强的灵活性的控制移动机器人的设备和方法。根据各种示例,当由移动设备(例如,移动电话)执行移动应用时,移动应用可以使用户能够管理一组机器人,例如在他/她的家中,创建和管理可编辑的个性化任务例程,协调多个机器人执行任务例程,在执行任务时修改任务,生成和管理地图(例如创建新区域,向地图添加语义物体,或从地图中移除区域或物体等)。移动应用还使用户能够通过调整导航参数或任务调度参数(例如添加新作业,移除先前的调度任务,或更改任务里的一个或多个作业的时间或顺序)来控制移动机器人的操作。
65.此处描述的机器人和技术或其部分可由计算机程序产品控制,该计算机程序产品包括存储在一个或多个非暂时性机器可读存储介质上的指令,并且这些指令可在一个或多个处理设备上执行以控制(例如,协调)此处描述的操作。这里描述的机器人或其部分可以实现为可以包括一个或多个处理设备和用于存储实施各种操作的可执行指令的存储器的设备或电子系统的全部或部分。
66.在下文中,将参考图1

4简要讨论移动机器人及其工作环境。参照图5至图8讨论根据本文描述的各种实施例的系统,设备,移动应用以及基于情境信息和用户体验来调度和控制移动机器人的方法的详细描述。
67.自主移动机器人示例
68.图1和图2a

2b描绘了移动机器人100的示例的不同视图。参照图1,当移动机器人100横越地板表面10时,移动机器人100从地板表面10收集碎屑105。参照图2a,移动机器人100包括机器人壳体基础设施108。壳体基础设施108可以限定移动机器人100的结构外围。在一些示例中,壳体基础设施108包括底盘、盖、底板和缓冲器组件。移动机器人100是具有小的轮廓的家用机器人,使得移动机器人100可以适用在房屋内的家具下面。例如,移动机器人100相对于地板表面的高度h1(如图1所示)例如不超过13厘米。移动机器人100也是紧凑的。移动机器人100的总长度l1(图1所示)和总宽度w1(图2a所示)分别为30至60厘米,例如为30至40厘米,40至50厘米,或50至60厘米。总宽度w1可以对应于移动机器人100的壳体基础设施108的宽度。
69.移动机器人100包括具有一个或多个驱动轮的驱动系统110。驱动系统110进一步包括一个或多个电马达,电马达包括形成电路106的一部分的电驱动部分。壳体基础设施108支持移动机器人100内的电路106,至少包括控制器电路109。
70.驱动系统110可操作以推动移动机器人100越过地板表面10。可以沿向前驱动方向f或向后驱动方向r推动移动机器人100。还可以推动移动机器人100,使得移动机器人100就地转动,或在向前驱动方向f或向后驱动方向r移动的同时转动。在图2a中描绘的示例中,移动机器人100包括延伸穿过壳体基础设施108的底部113的驱动轮112。驱动轮112由马达114旋转以引起移动机器人100沿着地板表面10运动。移动机器人100还包括被动脚轮115,被动脚轮115延伸穿过壳体基础设施108的底部113。脚轮115未通电。驱动轮112和脚轮115一起协作以将壳体基础设施108支撑在地板表面10上方。例如,脚轮115沿着壳体基础设施108的后部121设置,并且驱动轮112设置在脚轮115的前方。
71.参照图2b,移动机器人100包括基本为矩形的前部122和基本为半圆形的后部121。
前部122包括侧表面150、152,前表面154和拐角表面156、158。前部122的拐角表面156、158将侧表面150、152连接到前表面154。
72.在图1和2a

2b所示的示例中,移动机器人100是自主移动地板清洁机器人,其包括可操作以清洁地板表面10的清洁头组件116(图2a中示出)。例如,移动机器人100是真空清洁机器人,其中清洁头组件116可操作以通过从地板表面10摄取碎屑105(图1所示)来清洁地板表面10。清洁头组件116包括清洁入口117,移动机器人100通过该清洁入口收集碎屑。清洁入口117位于移动机器人100的中心(例如中心162)的前方,并且沿着移动机器人100的前部122位于前部122的侧表面150、152之间。
73.清洁头组件116包括一个或多个可旋转构件,例如,由辊马达120驱动的可旋转构件118。可旋转构件118跨过移动机器人100的前部122水平延伸。可旋转构件118沿着壳体基础设施108的前部122定位,并且沿着壳体基础设施108的前部122的宽度的75%至95%延伸,例如,前部122的宽度对应于移动机器人100的总宽度w1。还参考图1,清洁入口117位于可旋转构件118之间。
74.如图1所示,可旋转构件118是彼此相对旋转的辊。例如,可旋转构件118包括前辊和后辊,其平行于地板表面安装并且彼此间隔开小的细长间隙。可旋转构件118可绕平行的水平轴线146、148(在图2a中示出)旋转,以搅动地板表面10上的碎屑105并将碎屑105朝向清洁入口117引导到清洁入口117中,并进入移动机器人100中的抽吸路径145中(如图1所示)。再次参考图2a,可旋转构件118可完全定位在移动机器人100的前部122内。可旋转构件118包括弹性体外壳,当可旋转构件118相对于壳体基础设施108旋转时,弹性体外壳与地板表面10上的碎屑105接触,以将碎屑105引导通过可旋转构件118之间的清洁入口117并进入移动机器人100的内部,例如进入碎屑箱124(如图1所示)。可旋转构件118进一步接触地板表面10以搅动地板表面10上的碎屑105。在图2a所示的示例中,诸如前辊和后辊的可旋转构件118均可以具有沿着其圆柱形外部分布的人字形叶片的图案,并且至少一个辊的叶片沿着辊的长度与地板表面接触,并在旋转过程中受到持续施加的摩擦力,这在具有柔韧刷毛的刷中是不存在的。
75.可旋转构件118可以采取其他合适的构造。在一个示例中,前辊和后辊中的至少一个可以包括用于搅拌地板表面的刷毛和/或细长的柔韧翼片。在一个示例中,可旋转地联接至清洁头组件壳体的挡板刷可包括顺应的翼片,其从芯部径向向外延伸以在辊被驱动旋转时扫掠地板表面。翼片构造成防止错误的细丝紧紧缠绕在芯部上,以帮助随后的细丝去除。挡板刷包括轴向端部保护件,轴向端部保护件安装在芯部上,靠近外芯部表面的端部,并且构造成防止绕线的细丝从芯部外表面轴向地横越到安装特征上。挡板刷可包括从芯部径向向外延伸的多个地板清洁刷毛。
76.移动机器人100还包括真空系统119,真空系统119可操作以产生通过可旋转构件118之间的清洁入口117进入碎屑箱124的气流。真空系统119包括叶轮和使叶轮旋转以产生气流的马达。真空系统119与清洁头组件116协作以将碎屑105从地板表面10吸入碎屑箱124中。在一些情况下,由真空系统119产生的气流产生足够的力,以将地板表面10上的碎屑105通过可旋转构件118之间的间隙向上抽吸到碎屑箱124中。在某些情况下,可旋转构件118接触地板表面10以搅动地板表面10上的碎屑105,从而允许碎屑105更容易被真空系统119产生的气流摄取。
77.移动机器人100还包括刷126(也称为侧刷),该刷绕非水平轴线旋转,该非水平轴线例如是与地板表面10形成介于75度至90度的角度的轴线。非水平轴线例如与可旋转构件118的纵向轴线形成75度至90度的角度。移动机器人100包括可操作地连接到侧刷126以旋转侧刷126的刷马达128。
78.刷126是从移动机器人100的前后轴线fa横向偏移的侧刷,使得刷126延伸超过移动机器人100的壳体基础设施108的外周。例如,刷126可以延伸超过移动机器人100的侧表面150、152之一,并且从而能够接合地板表面10的可旋转构件118通常不能到达的部分上的碎屑,例如,地板表面10的位于移动机器人100正下方的地板表面10部分的外部的部分。刷126也从移动机器人100的侧向轴线la向前偏移,使得刷126也延伸超过壳体基础设施108的前表面154。如图2a所示,刷126延伸到壳体基础设施108的侧表面150,拐角表面156和前表面154之外。在一些实施例中,刷126延伸超过侧表面150的水平距离d1至少为例如0.2厘米,例如,至少0.25厘米,至少0.3厘米,至少0.4厘米,至少0.5厘米,至少1厘米或更多。刷126被定位成在其旋转期间接触地板表面10,使得刷126可以容易地接合地板表面10上的碎屑105。
79.刷126可绕非水平轴线旋转,其方式为随着移动机器人100的移动将地板表面10上的碎屑刷入清洁头组件116的清洁路径中。例如,在移动机器人100沿向前驱动方向f移动的示例中,刷126可沿顺时针方向旋转(当从移动机器人100上方的视角观察时),使得刷126接触的碎屑朝向清洁头组件移动,并在向前驱动方向f上朝向清洁头组件116前方的地板表面10的部分移动。结果,当移动机器人100在向前驱动方向f上移动时,移动机器人100的清洁入口117可以收集被刷126扫过的碎屑。在移动机器人100沿向后驱动方向r移动的示例中,刷126可沿逆时针方向旋转(当从移动机器人100上方的视角观察时),使得刷126接触的碎屑在向后驱动方向r上朝向清洁头组件116后方的地板表面的部分移动。结果,当移动机器人100在向后驱动方向r上移动时,移动机器人100的清洁入口117可以收集被刷126扫过的碎屑。
80.除了控制器电路109之外,电路106还包括例如存储器存储元件144和具有一个或多个电传感器的传感器系统。如本文所述,传感器系统可以产生指示移动机器人100的当前位置的信号,并且可以产生指示在移动机器人100沿着地板表面10行进时移动机器人100的位置的信号。控制器电路109被配置为执行指令以执行如本文所述的一个或多个操作。存储器存储元件144可由控制器电路109访问并且被布置在壳体基础设施108内。一个或多个电传感器被配置为检测移动机器人100的环境中的特征。例如,参考图2a,传感器系统包括沿着壳体基础设施108的底部113设置的悬崖传感器134。每个悬崖传感器134是光学传感器,其可以检测光学传感器下方的物体(例如地板表面10)的存在或不存在。悬崖传感器134因此可以在移动机器人100的设置有悬崖传感器134的部分下方检测诸如下落和悬崖之类的障碍物,并相应地重定向机器人。下面例如参考图3讨论传感器系统和控制器电路109的更多细节。
81.参照图2b,传感器系统包括一个或多个接近传感器,其可以检测沿着地板表面10的靠近移动机器人100的物体。例如,传感器系统可以包括接近传感器136a,136b,136c,接近传感器136a,136b,136c被布置成靠近壳体基础设施108的前表面154。接近传感器136a,136b,136c中的每一个都包括光学传感器,光学传感器从壳体基础设施108的前表面154面
向外,并且可以检测光学传感器前方是否存在物体。例如,可检测物体包括移动机器人100的环境中的障碍物,例如家具,墙壁,人和其他物体。
82.传感器系统包括保险杠系统,其包括保险杠138和检测保险杠138与环境中的障碍物之间的接触的一个或多个碰撞传感器。保险杠138形成壳体基础设施108的一部分。例如,保险杠138可以形成侧表面150、152以及前表面154。传感器系统例如可以包括碰撞传感器139a,139b。碰撞传感器139a,139b可以包括断束传感器,电容传感器或可以检测移动机器人100(例如,保险杠138)与环境中的物体之间的接触的其他传感器。在一些实施方式中,碰撞传感器139a可以用于检测保险杠138沿着移动机器人100的前后轴线fa(在图2a中示出)的运动,并且碰撞传感器139b可以用于检测保险杠138沿着机器人100的横向轴线la(在图2a中示出)的运动。接近传感器136a,136b,136c可以在移动机器人100接触物体之前检测物体,并且碰撞传感器139a,139b可以例如响应于移动机器人100接触物体而检测接触保险杠138的物体。
83.传感器系统包括一个或多个障碍物跟随传感器。例如,移动机器人100可以包括沿着侧表面150的障碍物跟随传感器141。障碍物跟随传感器141包括光学传感器,光学传感器从壳体基础设施108的侧表面150面向外,并且可以检测与壳体基础设施108的侧表面150相邻的物体的存在或不存在。障碍物跟随传感器141可以在垂直于移动机器人100的向前驱动方向f并且垂直于移动机器人100的侧表面150的方向上水平地发射光束。例如,可检测物体包括移动机器人100的环境中的障碍物,例如家具,墙壁,人和其他物体。在一些实施方式中,传感器系统可以包括沿着侧表面152的障碍物跟随传感器,并且障碍物跟随传感器可以检测与侧表面152相邻的物体的存在或不存在。沿着侧表面150的障碍物跟随传感器141是右障碍物跟随传感器,并且沿着侧表面152的障碍物跟随传感器是左障碍物跟随传感器。一个或多个障碍物跟随传感器,包括障碍物跟随传感器141,也可以用作障碍物检测传感器,例如,类似于本文所述的接近传感器。就这一点而言,左障碍物跟随可用于确定移动机器人100左侧的物体(例如障碍物表面)和移动机器人100之间的距离,而右障碍物跟随传感器可用于确定移动机器人100右侧的物体(例如障碍物表面)和移动机器人100之间的距离。
84.在一些实施方式中,接近传感器136a,136b,136c中的至少一些以及障碍物跟随传感器141中的每一个均包括光学发射器和光学检测器。光学发射器从移动机器人100向外,例如在水平方向上向外发射光束,并且光学检测器检测从移动机器人100附近的物体反射回来的光束的反射。移动机器人100,例如,使用控制器电路109,可以确定光束的飞行时间,从而确定光学检测器与物体之间的距离,从而确定移动机器人100与物体之间的距离。
85.在一些实施方式中,接近传感器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的一部分横向偏移的一个或多个物体。
86.传感器系统还包括指向壳体基础设施108的顶部142的图像捕获装置140,例如照相机。当移动机器人100绕地板表面10移动时,图像捕获装置140生成移动机器人100的环境的数字图像。图像捕获装置140在向上方向上成角度,例如,与移动机器人100绕其导航的地板表面10成30度至80度的角度。当向上倾斜时,照相机能够捕获环境的墙壁表面的图像,使得对应于墙壁表面上的物体的特征可以用于定位。
87.当控制器电路109使移动机器人100执行任务时,控制器电路109操作马达114以驱动驱动轮112并沿着地板表面10推动移动机器人100。另外,控制器电路109操作辊马达120以使可旋转构件118旋转,操作刷马达128以使侧刷126旋转,并且操作真空系统119的马达以产生气流。为了使移动机器人100执行各种导航和清洁行为,控制器电路109执行存储在存储器存储元件144上的软件,以通过操作移动机器人100的各种马达来使移动机器人100执行。控制器电路109操作移动机器人100的各种马达以使移动机器人100执行行为。
88.传感器系统可以进一步包括用于跟踪移动机器人100行进的距离的传感器。例如,传感器系统可以包括与用于驱动轮112的马达114相关联的编码器,并且这些编码器可以跟踪移动机器人100已经行进的距离。在一些实施方式中,传感器系统包括向下面向地板表面的光学传感器。光学传感器可以是光学鼠标传感器。例如,光学传感器可以被定位成将光通过移动机器人100的底表面引向地板表面10。光学传感器可以检测光的反射,并且可以随着移动机器人100沿着地板表面10行进时基于地板特征的变化来检测移动机器人100行进的距离。
89.控制器电路109使用由传感器系统的传感器收集的数据来在任务期间控制移动机器人100的导航行为。例如,控制器电路109使用由机器人100的障碍物检测传感器(例如,悬崖传感器134,接近传感器136a,136b,136c和碰撞传感器139a,139b)收集的传感器数据来使移动机器人100能够在执行任务期间在移动机器人100的环境中避免障碍物或防止从楼梯上掉下来。在一些示例中,控制器电路109使用关于环境的信息(诸如环境的地图)来控制移动机器人100的导航行为。通过适当的导航,移动机器人100能够尽可能有效且可靠地到达目标位置或完成覆盖任务。
90.传感器数据可以由控制器电路109用于同时定位和映射(slam)技术,在该技术中,控制器电路109提取由传感器数据表示的环境的特征,并构建该环境的地板表面10的地图。由图像捕获装置140收集的传感器数据可以用于诸如基于视觉的slam(vslam)之类的技术,其中控制器电路109提取与环境中的物体相对应的视觉特征并使用这些视觉特征来构建地图。由于在执行任务期间控制器电路109在地板表面10周围引导移动机器人100,控制器电路109使用slam技术通过检测收集的传感器数据中表示的特征并将这些特征与以前储存的特征进行比较,从而确定移动机器人100在地图中的位置。由传感器数据形成的地图可以指示环境内可横越和不可横越空间的位置。例如,障碍物的位置在地图上被表示为不可横越
的空间,而开放地板空间的位置在地图上被表示为可横越的空间。
91.由任何传感器收集的传感器数据可以存储在存储器存储元件144中。另外,为slam技术生成的其他数据,包括形成地图的地图数据,可以存储在存储器存储元件144中。任务期间产生的这些数据可以包括任务期间产生的持久数据,这些持久数据可以在另一任务中使用。例如,任务可以是第一任务,并且另一任务可以是在第一任务之后发生的第二任务。除了存储用于使移动机器人100执行其行为的软件之外,存储器存储元件144还存储传感器数据或由传感器数据的处理产生的数据,以供控制器电路109从一个任务到另一任务访问。例如,该地图可以是永久地图,该永久地图可由移动机器人100的控制器电路109从一个任务到另一任务使用和更新,以在地板表面10周围导航移动机器人100。根据本文件中讨论的各种实施例,可以响应于从用户接收到的指令命令来更新持久地图。控制器电路109可以根据更新的持久地图来修改移动机器人100的后续或将来的导航行为,例如通过修改计划路径或更新避障策略。
92.包括永久地图的永久数据使移动机器人100能够有效地清洁地板表面10。例如,永久地图使控制器电路109能够将移动机器人100引导向开放的地板空间并避免不可横越的空间。另外,对于后续任务,控制器电路109能够使用永久地图来计划移动机器人100在环境中的导航,以优化在任务期间采取的路径。
93.在一些实施方式中,移动机器人100可以包括位于移动机器人100的顶部142上的光指示器系统137。光指示器系统137可以包括位于覆盖碎屑箱124(在图2a中示出)的盖子147内的光源。可以定位光源以将光引导至盖子147的外围。定位光源,使得可以照亮移动机器人100的顶部142上的连续环143的任何部分。连续环143位于移动机器人100的顶部142的凹入部分上,使得光源在被激活时可以照亮移动机器人100的表面。
94.图3是示出用于操作移动清洁机器人的控制架构300的示例的图。控制器电路109可以通信地联接到移动机器人100的各个子系统,包括通信系统305,清洁系统310,驱动系统110和传感器系统320。控制器电路109包括储存器存储元件144,其存储由处理器324处理的数据和指令。处理器324从储存器存储元件144接收程序指令和反馈数据,执行程序指令所要求的逻辑操作,并生成用于操作机器人100的各个子系统部件的命令信号。输入/输出单元326发送命令信号并从各种示出的部件接收反馈。
95.通信系统305可以包括信标通信模块306和无线通信模块307。信标通信模块306可以通信地联接到控制器电路109。在一些实施例中,信标通信模块306可操作以向远程设备发送信号和从远程设备接收信号。例如,信标通信模块306可以检测从导航或虚拟墙壁信标的发射器投影的导航信号或从对接站的发射器投影的归位信号。对接,限制,归位基座和归位技术在美国专利us7,196,487和us7,404,000,美国专利申请公开us20050156562,美国专利申请公us开20140100693中讨论(其全部内容通过引用并入本文)。如美国专利公开us2014/0207282(其全部内容通过引用并入本文)中所述,无线通信系统模块307有助于通过合适的无线网络(例如,无线局域网络)与一个或多个移动设备(例如,图4a所示的移动设备404)通信描述移动机器人100的状态的信息。下面例如参考图4a讨论通信系统305的更多细节。
96.清洁系统310可以包括辊马达120,驱动侧刷126的刷马达128以及为真空系统119供电的抽吸风扇马达316。清洁系统310进一步包括多个马达传感器317,其监视辊马达120、
刷马达128和抽吸风扇马达316的操作,以促进通过控制器电路109对马达进行闭环控制。在一些实施例中,辊马达120由控制器电路109(或合适的微控制器)操作以根据特定速度设置经由闭环脉冲宽度调制(pwm)技术来驱动辊(例如,可旋转构件118),其中从马达传感器317接收反馈信号,马达传感器监测指示辊马达120的旋转速度的信号。例如,可以以马达电流传感器(例如,分流电阻器,电流感测变压器和/或霍尔效应电流传感器)的形式来提供这种马达传感器317。
97.驱动系统110可以包括用于响应于来自控制器电路109的驱动命令或控制信号来操作驱动轮112的驱动轮马达114,以及多个驱动马达传感器161,以促进对驱动轮的闭环控制(例如,通过如上所述的合适的pwm技术)。在一些实施方式中,分配给驱动系统110的微控制器被配置为解密具有x,y和θ分量的驱动命令。控制器电路109可以向驱动轮马达114发出单独的控制信号。无论如何,控制器电路109可以经由驱动轮马达114独立地控制每个驱动轮112的旋转速度和方向,从而跨过清洁表面沿任何方向操纵移动机器人100。
98.控制器电路109可以响应于从传感器系统320接收的信号来操作驱动系统110。例如,控制器电路109可以操作驱动系统110以重定向移动机器人100,以避免在处理地板表面时遇到障碍物和混乱。在另一示例中,如果移动机器人100在使用过程中被卡住或缠绕,则控制器电路109可以根据一个或多个逃逸行为来操作驱动系统110。为了实现可靠的自主运动,传感器系统320可以包括可以彼此结合使用的几种不同类型的传感器,以允许移动机器人100做出关于特定环境的智能决策。作为示例而非限制,传感器系统320可以包括一个或多个接近传感器336(例如接近传感器136a

136c),悬崖传感器134,视觉传感器325(例如图像捕获装置140),如上所述,其配置为检测操作环境中的特征和地标并构建虚拟地图,例如使用vslam技术。
99.传感器系统320还可以响应于保险杠138的激活而包括保险杠传感器339(诸如保险杠传感器139a和139b)。传感器系统320可以包括惯性测量单元(imu)164,其部分地响应于移动机器人100相对于基本垂直于地板的垂直轴线的位置的变化,并且感测移动机器人100何时俯仰在具有高度差异的地板类型界面上,这可能归因于地板类型的改变。在一些示例中,imu164是具有陀螺仪传感器的六轴imu,其测量移动机器人100相对于垂直轴线的角速度。但是,也可以考虑其他合适的配置。例如,imu 164可以包括对移动机器人100沿垂直轴线的线性加速度敏感的加速度计。无论如何,来自imu 164的输出被控制器电路109接收并且被处理以检测移动机器人100行进跨过的地板表面中的不连续性。在本公开的情境中,术语“地板不连续性”和“阈值”是指移动机器人100可横越但会导致离散的竖直运动事件(例如,向上或向下的“颠簸”)的地板表面中的任何不规则性(例如,地板类型的改变或地板界面处的高度的改变)。取决于imu 164的配置和位置,竖直运动事件可以指驱动系统的一部分(例如,驱动轮112之一)或机器人壳体108的底盘。地板阈值或地板界面的检测可以促使控制器电路109预期地板类型的改变。例如,当移动机器人100从高绒毛地毯(软地板表面)移动到瓷砖地板(硬地板表面)时,机器人100可能经历显着的向下竖直颠簸,而在相反情况下,机器人100可能经历向上的颠簸。
100.尽管未示出或未结合所示出的示例描述,但是各种各样的其他类型的传感器可以结合在传感器系统320(或任何其他子系统)中,而不脱离本公开的范围。这样的传感器可以用作障碍物检测单元,障碍物检测避障(odoa)传感器,轮掉落传感器,障碍物跟随传感器,
失速传感器单元,驱动轮编码器单元,缓冲器传感器等。
101.通信网络示例
102.图4a是通过示例而非限制地示出使移动机器人100与一个或多个其他设备(诸如移动设备404,云计算系统406或与移动设备404独立的另一自主机器人408)之间联网的通信网络400a的图。使用通信网络400a,移动机器人100,移动设备404,机器人408和云计算系统406可以彼此通信以相互发送数据并从彼此接收数据。在一些实施方式中,移动机器人100,机器人408或移动机器人100和机器人408两者都通过云计算系统406与移动设备404通信。替代地或附加地,移动机器人100,机器人408或移动机器人100和机器人408两者直接与移动设备404通信。通信网络400a可以采用无线网络(例如,蓝牙,射频,基于光学的等)和网络架构(例如,网状网络)的各种类型和组合。
103.在一些实施方式中,如图4a所示的移动设备404是可以链接到云计算系统406的远程设备,并且可以使用户能够在移动设备404上提供输入。移动设备404可以包括用户输入元件,例如,响应于用户提供的输入的触摸屏显示器,按钮,麦克风,鼠标,键盘或其他设备中的一个或多个。移动设备404可替代地或另外地包括用户与之交互以提供用户输入的沉浸式媒体(例如,虚拟现实)。在这些情况下,移动设备404例如是虚拟现实耳机或头戴式显示器。用户可以提供与用于移动设备404的命令相对应的输入。在这种情况下,移动设备404向云计算系统406发送信号,以使云计算系统406向移动机器人100发送命令信号。在一些实施方式中,移动设备404可以呈现增强现实图像。在一些实施方式中,移动设备404是智能电话,膝上型计算机,平板计算设备或其他移动设备。
104.根据本文讨论的各种实施例,移动设备404可以包括被配置为显示机器人环境的地图的用户界面。诸如由控制器电路109的覆盖计划器标识的机器人路径也可以显示在地图上。该界面可以接收用户指令以修改环境地图,例如通过添加,移除或以其他方式修改环境中的禁止横越区域;添加,移除或以其他方式修改环境中的重复横越区域(例如需要反复清洁的区域);在部分环境中限制机器人的横越方向或横越图案;或增加或改变清洁等级等。
105.在一些实施方式中,通信网络400a可以包括另外的节点。例如,通信网络400a的节点可以包括附加的机器人。替代地或附加地,通信网络400a的节点可以包括网络连接的设备。在一些实施方式中,网络连接的设备可以生成关于环境20的信息。网络连接的设备可以包括一个或多个传感器,以检测环境20中的特征,例如声传感器,图像捕获系统或生成可以从中提取特征的信号的其他传感器。网络连接的设备可以包括家用摄像机,智能传感器等。
106.在图4a所示的通信网络400a中以及在通信网络400a的其他实施方式中,无线链路可以利用各种通信方案、协议等,例如,蓝牙类,wi

fi,低蓝牙能源(也称为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。
107.图4b是示出了在通信网络400a中的设备之间交换信息的示例性过程400b的图,设备包括移动机器人100,云计算系统406和移动设备404。清洁任务可以通过按下移动机器人100上的按钮来发起,或者可以被安排为将来的时间或将来的一天。用户可以在清洁任务期间选择要清洁的一组房间,或者可以指示机器人清洁所有房间。用户还可以选择在清洁任务期间在每个房间中使用的一组清洁参数。
108.在清洁任务期间,移动机器人100跟踪410其状态,包括其位置,在清洁期间发生的任何操作事件以及花费的清洁时间。移动机器人100将状态数据(例如,位置数据,操作事件数据,时间数据中的一个或多个)发送412到云计算系统406,云计算系统406由处理器442计算414要清洁的区域的时间估计。例如,可以通过对房间的多次(例如两次或更多次)先前清洁任务期间已经收集的房间的实际清洁时间进行平均来计算清洁房间的时间估计。云计算系统406将时间估计数据与机器人状态数据一起发送416到移动设备404。移动设备404通过处理器444在显示器上呈现418机器人状态数据和时间估计数据。机器人状态数据和时间估计数据可以作为许多图形表示可编辑任务时间线和/或映射界面中的任何呈现在移动设备的显示器上。在一些示例中,移动机器人100可以直接与移动设备404通信。
109.用户402在显示器上查看420机器人状态数据和时间估计数据,并且可以输入422新的清洁参数,或者可以操纵要清洁的房间的顺序或标识。用户402可以例如从移动机器人100的清洁时间表中移除房间。在其他情况下,用户402可以例如对要清洁的房间选择边缘清洁模式或深度清洁模式。当用户输入清洁参数或清洁时间表的变化时,移动设备404的显示更新424。例如,如果用户将清洁参数从单程清洁更改为双程清洁,则系统将更新估计时间以提供基于新参数的估计。在单程清洁与双程清洁的此示例中,估计值将大约翻倍。在另一个示例中,如果用户从清洁计划中移走了房间,则总时间估计值大约减少了清洁移走的房间所需的时间。基于来自用户402的输入,云计算系统406计算426要清洁的区域的时间估计,然后将该时间估计发送428(例如,通过无线传输,通过应用协议,通过广播无线传输)回到移动设备404并显示。另外,与所计算426的时间估计有关的数据被发送446到机器人的控制器430。基于移动机器人100的控制器430接收到的来自用户402的输入,控制器430生成432命令信号。命令信号命令移动机器人100执行434行为,该行为可以是清洁行为。执行清洁行为时,控制器继续跟踪410机器人状态,包括其位置,在清洁期间发生的任何操作事件以及花费的清洁时间。在一些情况下,可以经由推送通知另外向移动设备或家用电子系统(例如,交互式扬声器系统)提供与机器人的状态有关的实时更新。
110.在执行434行为之后,控制器430检查436以查看所接收的命令信号是否包括用于完成清洁任务的命令。如果命令信号包括完成清洁任务的命令,则命令机器人返回其对接站,并且在返回时发送信息以使云计算系统406能够生成438任务概要,该任务概要被发送至移动设备404并由移动设备404显示440。任务概要可以包括时间线和/或地图。时间线可以显示,清洁的房间,清洁每个房间花费的时间,每个房间中跟踪的操作事件等。该地图可以显示清洁的房间,每个房间中跟踪的操作事件,在每个房间中执行的清洁的类型(例如,扫地或拖地)等。
111.可以以分布式方式执行用于本文中描述的过程400b和其他过程的操作。例如,云计算系统406,移动机器人100和移动设备404可以彼此协作地执行一个或多个操作。在一些实施方式中,描述为由云计算系统406,移动机器人100和移动设备404中的一个执行的操作
至少部分地由云计算系统406,移动机器人100,和移动设备404中的两个或全部执行。
112.机器人调度与控制系统的示例
113.下面参考图5和图6a

6i讨论基于情境信息和用户体验来调度和控制移动机器人的系统,设备和过程的各种实施例。尽管该文件参考了执行地板清洁的移动机器人100,但是本文讨论的机器人调度和控制系统和方法可用于为不同应用而设计的机器人,例如拖地,割草,运输,监视等。另外,尽管一些部件,模块和操作可以描述为在移动机器人100中实现并由机器人100执行,由用户,由计算设备或由其他参与者执行,但在某些实施方式中,这些操作可以由描述的那些之外的其他参与者执行。例如,在一些实施方式中,由移动机器人100执行的操作可以由云计算系统406或另一计算设备(或多个设备)执行。在其他示例中,由用户执行的操作可以由计算设备执行。在一些实施方式中,云计算系统406不执行任何操作。相反,其他计算设备执行被描述为由云计算系统406执行的操作,并且这些计算设备可以彼此(以及与移动机器人100)进行直接(或间接)通信。在一些实施方式中,除了被描述为由移动机器人100执行的操作之外,移动机器人100还可以执行被描述为由云计算系统406或移动设备404执行的操作。其他变型是可能的。此外,尽管在此描述的方法和过程被描述为包括某些操作或子操作,但是在其他实施方式中,可以省略这些操作或子操作中的一个或多个,或者可以添加另外的操作或子操作。
114.图5是示出机器人调度和控制系统500的示例的图,机器人调度和控制系统500被配置为生成和管理用于移动机器人(例如,移动机器人100)的任务例程,并根据该任务例程控制移动机器人执行任务。根据各种实施例,如本文所述,机器人调度和控制系统500及其使用方法可用于控制一个或多个各种类型的移动机器人,例如移动清洁机器人,移动拖把机器人,割草机器人或空间监控机器人。
115.系统500可以包括传感器电路510,用户界面520,用户行为检测器530,控制器电路540和存储器电路550。系统500可以在移动机器人100,移动设备404,自主机器人408或云计算系统406中的一个或多个中实现。在示例中,系统500中的一些或全部可以在移动机器人100中实现。例如,传感器电路510可以是如图3所示的机器人控制架构300的传感器系统320的一部分,控制器电路540可以是处理器324的一部分,并且存储器电路550可以是移动机器人100中的存储单元144的一部分。在另一示例中,系统500中的一些或全部可以在与移动机器人100分离的设备中实现,例如通信地联接到移动机器人100的移动设备404(例如,智能电话或其他移动计算设备)。例如,传感器电路510和用户行为检测器530的至少一部分可以包括在移动机器人100中。用户界面520,控制器电路540和存储器电路550可以在移动设备404中实现。控制器电路540可以执行计算机可读指令(例如,移动应用或“app”)以执行任务调度并生成用于控制移动机器人100的指令。如图4a和4b所示,移动设备404可以经由诸如云计算系统406之类的中间系统通信地联接至移动机器人100。替代地,移动设备404可以在没有系统中间设备的情况下经由直接通信链路与移动机器人100通信。
116.传感器电路510可以包括一个或多个传感器,包括例如光学传感器,悬崖传感器,接近传感器,碰撞传感器,成像传感器或障碍物检测传感器,以及诸如上面参考图2a

2b和图3所讨论的其他传感器。某些传感器可能会感测到障碍物(例如,墙壁等占用区域)以及环境中的路径和其他开放空间。传感器电路510可以包括物体检测器512,物体检测器512被配置为检测机器人环境中的物体,并将其识别为例如门,杂物,墙壁,分隔物,家具(例如桌子,
椅子,沙发,长椅,床,书桌,梳妆台,橱柜,书柜等),或陈设元素(例如,家用电器,地毯,窗帘,绘画,帘,灯具,炊具,内置烤箱,炉灶,洗碗机等)等。
117.传感器电路510可以检测用于检测到的物体的空间,情境或其他语义信息。语义信息的示例可以包括所检测物体的身份,位置,物理属性或状态,与其他物体的空间关系以及所检测物体的其他特征。例如,对于检测到的桌子,传感器电路510可以识别容纳桌子的环境中的房间或区域(例如厨房)。可以将空间,情境或其他语义信息与物体相关联以创建语义物体(例如,厨房桌子),该语义物体可以用于创建基于物体的清洁任务例程,如下所述。
118.可以在诸如移动设备404之类的手持计算设备中实现的用户界面520包括用户输入522和显示器524。用户可以使用用户输入522来创建任务例程523。任务例程523可以包括代表至少一个移动机器人执行一个或多个作业的可编辑时间表的数据。可编辑时间表可以包括执行清洁作业的时间或顺序。在一个示例中,可编辑时间表可以由作业的时间线表示。可编辑时间表可以可选地包括完成任务的时间估计,或完成任务中的特定作业的时间估计。用户界面520可以包括使得用户能够创建或修改任务例程523的ui控件。在一些示例中,用户输入522可以被配置为接收用于创建或修改任务例程的用户语音命令。手持计算设备可以包括语音识别和听写模块,以将用户的语音命令转换为设备可读指令,控制器电路540采用该指令来创建或修改任务例程。
119.显示器524可以呈现关于任务例程523的信息,正在执行的任务例程的进度,关于家庭中的机器人及其操作状态的信息,以及带有语义注释物体的地图以及其他信息。显示器524还可以显示ui控件,该ui控件允许用户操纵信息的显示,调度和管理任务例程,以及控制机器人执行任务。下面例如参考图6a

6i讨论用户界面520的示例线框。
120.作为控制器电路109的示例的控制器电路540可以解释诸如由用户经由用户界面520提供的任务例程523,并且控制至少一个移动机器人根据任务例程523执行任务。控制器电路540可以创建和维护包括语义注释物体的地图,并且使用这种地图来调度任务并围绕环境导航机器人。在示例中,控制器电路540可以被包括在诸如移动设备404之类的手持计算设备中。替代地,控制器电路540可以至少部分地包括在诸如移动机器人100的移动机器人中。控制器电路540可以被实现为微处理器电路的一部分,该微处理器电路可以是专用处理器,例如数字信号处理器,专用集成电路(asic),微处理器,或用于处理包括物理活动信息的信息的其他类型的处理器。替代地,微处理器电路可以是处理器,其可以接收并执行用于执行本文中描述的功能、方法或技术的一组指令。
121.控制器电路540可以包括电路组,电路组包括一个或多个其他电路或子电路,例如任务控制器542,地图管理电路546和导航控制器548。这些电路或模块可以单独或组合地执行本文描述的功能,方法或技术。在示例中,电路组的硬件可以被不变地设计为执行特定的操作(例如,硬连线)。在示例中,电路组的硬件可以包括可变地连接的物理部件(例如,执行单元,晶体管,简单电路等),包括物理地修改(例如,磁地,电学,可移动地放置不变质量的粒子等)的计算机可读介质,以对特定操作的指令进行编码。在连接物理部件时,硬件构成的基础电性能会发生变化,例如从绝缘体更改为导体,反之亦然。指令使嵌入式硬件(例如,执行单元或加载机制)能够通过可变连接在硬件中创建电路组的构件,以在操作时执行特定操作的一部分。因此,当设备工作时,计算机可读介质通信地联接到电路组构件的其他部件。在一个示例中,任何物理部件可以在一个以上电路组的一个以上构件中使用。例如,在
操作下,执行单元可以在一个时间点用在第一电路组的第一电路中,并且可以在不同时间由第一电路组中的第二电路或第二电路组中的第三电路重用。
122.任务控制器542可以从用户界面520接收任务例程523。如上所述,任务例程523包括表示可编辑时间表的数据,该时间表包括用于执行一个或多个作业的时间或顺序中的至少一个。在一些示例中,任务例程523可以代表执行任务例程的个性化模式。对于移动清洁机器人,个性化清洁模式的示例可以包括“标准清洁”,“深度清洁”,“快速清洁”,“点清洁”或“边缘和角落清洁”。这些任务例程中的每个例程都定义了要清洁的相应房间或地板表面区域以及相关的清洁模式。例如,与快速清洁程序相比,标准的清洁程序可以在用户的家庭环境中包括更大范围的区域,例如所有房间。深度清洁例程可以包括一个或多个重复清洁区域,这些区域包括在同一区域进行多次清洁,或者持续一段较长的清洁时间,或施加更高的清洁功率。个性化清洁模式可以由用户例如经由用户界面520手动创建或修改,或者由诸如由用户行为检测器530检测到的事件自动触发。在示例中,控制器电路540可以与光源通信以自动调节目标房间或地板区域的照明,并且导航移动清洁机器人以清洁具有调节后的照明的目标房间或地板区域。例如,对于“深度清洁例程”,控制器电路540可以自动触发电灯开关以增加要清洁的房间或区域的照明,并且导航控制器548可以将移动清洁机器人导航到照明的房间或区域以按照深层清洁例程进行清洁。
123.任务例程523,例如个性化清洁模式(例如,深度清洁模式),可包括以环境中物体的相应空间或情境信息为特征的一个或多个作业,或以用户的体验(例如与环境中房间或区域的使用相关的用户行为或日常活动)为特征的一个或多个作业。任务控制器542可以包括任务解释器543,以从任务例程523中提取关于任务位置(例如,相对于在环境中检测到的物体而言要清洁的房间或区域),时间和/或顺序的信息,用于根据用户体验或清洁已识别的房间或区域的方式执行任务。任务解释器543可以使用由物体检测器512检测到的物体的信息和物体的语义,由用户行为检测器530检测到的用户行为,或由地图管理电路546生成和维护的地图来解释任务例程。
124.与基于位置和地图的任务相比,基于情境和用户体验的任务例程经过架构设计,可以添加用户的个性化内容。由于基于情境和用户体验的任务例程与任务的自然语言描述更加一致,因此它使用户与机器人之间的通信更加直观,允许移动机器人以用户与机器人之间通常可以理解的方式执行任务。此外,在任务描述中包含情境信息和用户体验可丰富任务例程的内容,为机器人行为增加更多智能,并增强对移动机器人的个性化控制的用户体验。下面讨论基于情境和用户体验的任务例程以及任务解释器543对任务例程的解释的示例。
125.任务监视器544可以监视任务的进度。在示例中,任务监视器544可以生成任务状态报告,该任务状态报告显示完成的作业(例如,已经清洁过的房间)和剩余要执行的作业(例如,根据任务例程要清洁的房间)。在示例中,任务状态报告可以包括用于完成任务的时间的估计,用于任务的经过时间,用于任务的剩余时间,用于完成任务中的作业的时间估计,用于任务中的作业的经过时间,或用于任务中的作业的剩余时间。估计完成整个任务或完成任务中的作业的时间可以基于环境的特征,例如,要清洁的空间的大约平方英尺或面积测量,要横越的房间的数量,碎屑状态,一个或多个目标区域的污染程度,例如由传感器电路510检测到的污染程度。附加地或替代地,时间的估计可以基于历史任务完成时间,或
者基于为计算时间估计进行的所有房间的测试运行。
126.任务优化器545可以响应于用户输入或触发事件而暂停,中止或修改任务例程或其中的作业。可以在执行任务例程期间执行任务修改。任务修改的示例可以包括向任务中添加新作业,从任务中移除现有作业,或对任务中的一个或多个作业进行优先级排序(例如,更改作业的顺序,例如在清洁家里的其他区域之前清洁某些例如更脏的“热点”)。导致任务优化器545修改任务中的作业的时间或顺序的触发事件可以是特定类型的用户行为,例如指示房间中人存在或不存在的房间占用。可以通过行为检测器530来检测房间占用,行为检测器530例如通信联接到房间中的安全摄像机。可替代地,可以通过联接到包括在移动机器人中的传感器的物体检测器512来检测房间占用。为了执行基于用户体验的任务例程或作业,例如“在无人占用时清理客厅”,响应于对占用房间的检测,控制器电路540可以暂停任务,或例如通过重新调度或推迟计划在占用房间中执行的作业,直到不再被占用,或者按照用户的指示来修改任务例程。
127.用户行为的另一个示例包括用户参与音频敏感事件,例如电话,看电视,听音乐或进行对话。可以由行为检测器530检测音频敏感事件,行为检测器530例如通信地联接到音频传感器。执行基于用户体验的任务例程或任务,例如“我正在看电视时不要清洁”。控制器电路540可以例如通过重新调度或推迟干扰音频敏感事件的作业直到音频敏感事件结束或按照用户的指示来暂停任务或修改任务例程。
128.在一些示例中,任务优化器545可以接收用于完成任务的时间分配,并且基于该时间分配来优先执行任务例程中的一个或多个作业。为了执行基于用户体验的任务例程或作业,例如“在下一个小时内尽可能多地清洁房间”,任务监视器544可以估计完成任务中各个作业的时间(例如,清洁各个房间所需的时间),例如基于房间大小,房间脏污水平,历史任务或作业完成时间。优化器545可以通过识别并优先化可以在分配的时间内完成的那些作业来修改任务例程。
129.地图管理电路546可以生成并维护环境或其一部分的地图。在示例中,地图管理电路546可以通过将诸如由物体检测器512检测到的物体与诸如空间或情境信息之类的语义信息相关联来生成语义注释的物体。语义信息的示例可以包括环境中物体的位置,身份或状态,或物体之间的空间关系的约束,以及其他物体或物体间特征。可以将语义注释的物体图形地显示在地图上,从而创建语义地图。语义地图可用于任务控制器542的任务控制,或用于导航控制器548的机器人导航控制。语义地图可以存储在存储器电路550中。
130.可以通过算法为物体添加语义注释。在示例中,地图管理电路546可以采用slam技术来检测,分类或识别物体,使用传感器数据(例如,图像数据,红外传感器数据等)来确定物体的状态或其他特征。可以使用用于特征提取和物体识别的其他技术,例如几何算法,启发法或机器学习算法,以从传感器数据中推断出语义。例如,地图管理电路546可以应用图像检测或分类算法来识别特定类型的物体,或者分析物体的图像以确定物体的状态(例如,门被打开或关闭,或上锁或解锁)。替代地或附加地,语义注释可以由用户经由用户界面520添加。标识,属性,状态以及其他特征和约束条件可以由用户手动添加到语义地图,并与物体关联。
131.导航控制器548可以根据任务例程导航移动机器人以进行任务。在一个示例中,任务例程可以包括要由移动清洁机器人清洁的一系列房间或地板表面区域。移动清洁机器人
可以具有真空组件,并在移动清洁机器人横越地板表面时使用吸力摄取碎屑。在另一个示例中,任务例程可以包括要由移动拖把机器人拖地的一系列房间或地板表面区域。移动拖把机器人可以具有用于擦拭或擦洗地板表面的清洁垫。在一些示例中,任务例程可以包括计划由两个移动机器人依次,交织,并行或以另一指定顺序或模式执行的作业。例如,导航控制器548可以导航移动清洁机器人以对房间进行吸尘,并且导航移动拖把机器人以对已经被吸尘的房间进行拖地。
132.基于情境或用户体验的任务例程的示例
133.在一个示例中,任务例程可以包括一个或多个清洁作业,这些清洁作业的特征在于或参考了环境中物体的空间或情境信息,例如由物体检测器512检测到的信息。与指定要由移动清洁机器人清洁的特定房间或区域(例如,在地图上显示)的基于房间的清洁任务不同,基于物体的任务可以包括将要清洁的区域与该区域中的物体相关联的作业,例如“清洁餐桌下面”,“沿厨房的踢脚板清洁”,“在厨房炉灶附近清洁”,“在客厅沙发下清洁”或“清洁橱柜区域”等。如上面参考图5所讨论的,传感器电路510可以检测环境中的物体以及与该物体关联的空间和情境信息。控制器电路540可以通过建立检测到的物体与空间或情境信息之间的关联来创建语义注释的物体,例如使用在存储器电路550中创建并存储的地图。任务解释器543可以解释任务例程以确定相对于检测到的物体的目标清洁区域,并导航移动清洁机器人以执行清洁任务。
134.在一些示例中,任务例程中引用的物体可以包括房间或区域中的碎屑状态。示例性的任务例程可以包括“清洁脏区域”。物体检测器512可以检测碎屑状态或脏污水平。控制器电路540可以通过相应的脏污水平来优先清洁一个或多个房间或地板表面区域。例如,任务例程可以包括具有比第二区域更高的脏污水平的第一区域,第二区域具有比第三区域更高的脏污水平。控制器电路540可以优先执行任务作业,使得首先清洁第一区域,随后清洁第二区域,然后清洁第三区域。控制器电路540另外地或替代地可以通过那些房间或区域中的各种碎屑分布来优先清洁一个或多个房间或地板表面区域。与具有更多空间集中的碎屑的房间相比,具有更广泛分布的碎屑的房间(即,较高的空间分布)在任务例程中具有较低的优先级,并且在之后清洁。
135.在一个示例中,任务例程可以通过使用房间或其中的物体的用户体验来表征或参考。用户体验代表与房间或其中的物体进行交互的个性化方式。用户体验的示例可以包括用户使用房间或环境中的区域的时间,模式,频率或偏好,或与房间或环境中的区域的使用,不使用或使用方式相关的用户行为或日常活动。在一个示例中,基于经验的任务例程可以包括“晚餐后清洁例程”,其针对可能受到晚餐准备和服务影响的区域(例如厨房地板和餐桌周围的地板区域)定义清洁作业。在另一个示例中,基于经验的任务例程可以包括“淋浴后清洁例程”,其针对可能受到用户淋浴影响的区域(例如浴室地板)定义清洁任务。在一些示例中,可以关于用户的活动或日常例程来定义基于用户体验的任务例程。例如,基于经验的任务例程可以包括“我离开家后清洁所有房间”或“我回家前清洁客厅”。
136.基于用户体验的任务例程的执行可以由用户手动激活或修改,例如经由用户界面520。例如,用户可以在晚餐后手动启动“晚餐后清洁流程”,或者在淋浴后手动启动“淋浴后清洁流程”。下面例如参考图6a

6i讨论用于创建,激活,监视或修改任务例程的用户界面520和ui控件的示例。附加地或替代地,可以响应于诸如由用户行为检测器530对用户行为
的检测来自动激活基于用户体验的任务例程。如图5所示,用户行为检测器530可以被配置为检测与环境中房间或区域的使用,不使用或使用方式相关的用户行为。在一个示例中,用户行为检测器530可以通信地联接到一个或多个传感器,包括例如动态传感器(例如,移动机器人中包括的传感器,例如照相机),或定位在房间或器具中的固定传感器,例如在智能家居生态系统中。例如,控制器电路540可以响应于诸如经由洗碗机上的传感器的对洗碗机被打开的检测来激活“晚餐后清洁例程”。在另一个示例中,控制器电路540可以响应于诸如经由智能门锁传感器的对入户门的锁定或车库门的关闭的检测而激活“我离开家后清洁所有房间”。在另一示例中,用户行为检测器530可以请求并建立与用户的数字日历(例如,存储在用户的移动电话中的数字日历)的通信,并从中检索用户的日程安排。控制器电路540可以基于日历事件的时间表来激活或修改任务。例如,在特定时隙的医生约会的日历事件可以指示用户不在家,并且控制器电路540可以在该日历事件的时间期间执行“我离开家后清理所有房间”的任务。
137.用于任务调度和机器人控制的用户界面示例
138.通过示例而非限制的方式,图6a

6i是用户界面的线框,例如系统500的用户界面520的屏幕框架,用于维持清洁任务例程并控制移动机器人执行环境中的清洁任务。用户界面可以是手持计算设备的一部分,手持计算设备例如智能电话,蜂窝电话,个人数字助理,膝上型计算机,平板电脑,智能手表或其他能够发送和接收与机器人清洁任务有关的信号的便携式计算设备。在一个示例中,手持计算设备是移动设备404。本文所述的用户界面可以被配置为在显示器(例如显示器524)上呈现关于用户家中的一个或多个机器人及其各自的操作状态,一个或多个可编辑任务例程(例如,清洁认为),执行任务的进度的信息。在一些示例中,可以将环境的地图或其一部分与环境中的物体一起显示。用户界面还可例如经由用户输入522接收用于创建或修改任务例程,管理地图以及控制机器人导航和任务执行的用户指令。
139.图6a示出了用户界面600a的示例,其显示了用户家中移动机器人的概览图以及为一个或多个移动机器人创建的任务例程。概览视图可以基于与机器人的历史用户交互,机器人的先前使用情况,或基于任务的情境(例如在任务中处于活动状态的机器人),任务的性质和任务的进度等向用户逐步公开相关信息。
140.用户界面600a可以显示机器人菜单610,该机器人菜单610包括通信地链接到手持计算设备的活动的移动机器人。如上文参考图4a和图4b所讨论的,移动机器人与手持计算设备之间的通信可以是直接通信,或经由诸如云计算系统406之类的中间系统。通过单个用户界面600a,用户可以协调多个机器人的行为。用户界面600a可以包括一个或多个用户界面(ui)控件(例如,按钮,复选框,下拉列表,列表框,滑块,链接,标签,图表,窗口等),这些控件允许用户执行任务调度和机器人控制的各种功能。例如,用户可以例如通过在手持计算设备和新的移动机器人之间建立通信来向机器人菜单610添加新的移动机器人,或者例如通过断开在手持计算设备和现有的活动移动机器人之间的通信来从机器人菜单610移除现有的移动机器人。机器人菜单610中包括的移动机器人(例如,图6a中所示的“马皮(mappy)”,“查皮(chappie)”和“割草机(mower)”)可以具有不同的类型,例如清洁(例如,吸尘或扫地)机器人,拖地机器人,或修剪机器人。在示例中,可以在机器人菜单610中对两个或更多个相同类型的机器人(例如,清洁机器人)进行分类。用户可以使用ui控件或用户界
面600a的触摸屏上的手指触摸来选择一个或多个移动机器人,或在机器人菜单610中包括的不同移动机器人之间进行切换。
141.对于从菜单610上选择的移动机器人(例如,如图所示的“马皮”机器人),除其他信息外,可以在用户界面600a上在单独的类别(也称为架)中显示与所选择的机器人相关联的机器人信息和任务例程。作为示例而非限制,用户界面600a可以显示机器人信息架620,任务例程架630和任务状态架640。架可以布置在列表中或单独的页面中,并且可以通过一个或多个ui导航控件(例如滑块,分页,面包屑,标签或图标等)进行访问。机器人信息架620可以包括所选机器人的图形表示,指示诸如电池状态(例如,剩余电池寿命)和任务准备之类的操作状态指示符,以及关于机器人的使用的教育和用户辅导消息。在一些示例中,机器人信息架620可以显示环境的地图,包括在任务中活动的移动机器人的位置和运动的指示。任务例程架630可以显示关于用户创建的一个或多个任务例程的信息,诸如根据如上所述的任务例程523的各种示例。任务例程包括用户的“收藏夹”,其可以被保存下来,并由一个或多个移动机器人执行个性化的常规例程。收藏夹可以排列在列表中,或者并排排列。用户可以滚动收藏夹,并使用ui控件选择执行或编辑的任务例程。在各种示例中,用户可以使用ui控件来重新排列在用户界面600a上显示的收藏夹的顺序。另外地或可替代地,收藏夹可以以特定顺序自动排序,例如与其相关联的近似任务执行时间的升序。这使用户可以方便地快速选择适合其日程安排和时间分配的任务。在一些示例中,可以基于用户的时间表或用于执行任务的时间分配,将收藏夹识别(例如,标记)为可选择或不可选择的例程。
142.在示例中,收藏夹可以包括以不同清洁模式为特征的任务例程,例如“标准清洁”任务,“深度清洁”任务,“快速清洁”任务,“点清洁”任务或“边缘和角落清洁”任务。在另一示例中,收藏夹可以包括一个或多个基于情境的任务例程。基于情境的任务例程可以包括一个或多个清洁作业,这些清洁作业的特征在于或参考了环境中物体的空间或情境信息。例如,基于情境的清洁任务可以指参考家具或陈设的房间或地板表面区域,例如“客厅沙发下面”,“餐桌下面”,“沿着厨房踢脚板”,“厨房灶具附近”或“厨房水槽的橱柜区域”。在另一个示例中,基于情境的清洁任务可以包括参考碎屑状态的任务,例如“房间中的脏区域”。在又一个示例中,收藏夹例程可以包括基于用户体验的任务例程,其将任务中的一个或多个作业与用户的个性化时间,模式,频率或与房间或其中的物体互动的偏好,或用户与房间或环境中的区域的使用、不使用或使用方式相关的行为相关联。基于经验的任务例程的示例包括“晚餐后清洁例程”,“淋浴后清洁例程”,“我离开家时清洁房间”或“我回家之前清洁房间”等,如以上参考图5讨论。
143.任务例程可以包括用于执行任务例程中包括的一个或多个作业的可编辑时间表,例如时间或顺序。现在参考图6b,用户界面600b示出了任务例程架630,该任务例程架630包括“快速清洁”例程631,“深度清洁”例程632和“晚餐后”例程633。诸如快速例程631之类的任务例程可以包括执行该例程的第一辅助能力631a(例如由播放按钮表示)和用于编辑该任务例程的第二辅助能力631b(例如由省略号表示)。用户可以单击或点击播放按钮来执行任务例程中包含的作业,也可以单击或点击省略号来编辑任务例程。如其中所示,“快速清洁”例程631包括一系列作业,这些作业的特征在于或参考包括客厅中的沙发,厨房水槽和餐桌的物体。物体可以与物体所在的环境中的各个房间或区域相关联。如图6b所示,物体房间(或物体区域)关联可以由描述性文本表示。附加地或替代地,物体房间(或物体区域)关
联可以由图形表示。物体可以显示为图标或文本标签。在示例中,物体房间(或物体区域)关联可以由相关房间标签下方的物体标签的缩进列表表示,例如如图6c所示的缩进列表662。包括在任务例程中的作业(例如参考不同的物体)可以布置在“播放列表”中。在示例中,用户可以使用ui控件来访问环境的地图或包括“快速清洁”例程631所引用的物体的地图部分650(例如,沙发,水槽和桌子)。在一个示例中,地图部分650可以是语义地图,其包括“快速清洁”例程631所引用的物体的语义注释(例如,位置,身份和尺寸)。
144.图6c,6d和6e是用于创建和维护任务例程的用户界面的线框。任务例程包括一个或多个作业以及用于执行所述一个或多个作业的时间表(例如,时间和/或顺序)。现在参考图6c,用户可以点击或单击用户界面600c上的“新工作”按钮660,其链接到工作创建页面661,该页面显示可以选择的环境中的房间或区域的标识符,以添加新任务或现有任务。房间和区域在环境中可以分别具有预定的位置和尺寸。替代地或附加地,房间或区域的位置和/或尺寸可以按需定义或修改,例如参考其中的物体。与房间或区域相关联的一个或多个物体可以显示在工作创建页面661上。房间,区域和相关的物体可以显示为图标或文本标签。在一些示例中,房间或区域的特征在于或参考物体的空间或情境,例如“餐桌下面”,“沿着厨房的踢脚板”,“靠近厨房灶具”,“客厅沙发下面”或“厨房水槽的橱柜区域”。物体与容纳物体的房间或区域之间的关联可以图形化地表示,例如通过相关房间标签(例如,“客厅”)下方的物体标签(例如,“沙发”和“咖啡桌”)的缩进列表662来表示。缩进列表允许轻松理解关联,以及房间和物体之间的层次关系。用户可以使用ui控件来选择房间(例如“厨房”)或以物体为特征的区域(例如“客厅沙发”),并将其添加到任务例程中。在一个示例中,用户可以使用个性化词汇来命名所选房间,区域或物体。在一些示例中,用户可以在选择物体,房间或区域之后添加空间或情境标识符(例如,“下面”,“周围”,“旁边”)。例如,在选择了厨房桌子之后,用户可以从预先生成的列表中为厨房桌子选择“在...下面”的情境标识符,并使用具有情境特征的“厨房桌子下面”的物体在其中创建任务或作业。
145.在一些示例中,用户界面驻留在其中的手持计算设备可以包括输入设备(例如,用户输入522),其被配置为从用户接收语音命令以在其中创建或修改任务例程或作业。手持设备可以包括语音识别和听写模块,其被配置为将用户的语音命令转换为设备可读指令。任务解释器543可以使用翻译的指令来创建或修改任务例程。
146.除了或代替预定的房间,区域或物体,用户可以根据地图创建要包括在任务中的区域。现在参考图6d,用户可以使用屏幕上绘制ui控件(例如,铅笔元素)或在用户界面600d的触摸屏上移动的指尖来使用在用户界面600d上所示的地图上绘制区域663。可以提供其他屏幕上元素来促进区域的创建和操纵,包括例如橡皮擦,移动元素,旋转元素或调整大小元素等等。
147.区域663可以代表环境中的房间,区域或物体。区域663可以具有特定的大小,形状和位置,例如环境的现有房间或区域内的多边形。用户可以单击或点击ui控制按钮664(“命名区域”),其链接到预先生成的词典665的页面。在这里示出的示例中,区域663表示在预定房间(“客厅”)内的一件家具(例如,沙发)。用户可以从预先生成的家具名称列表中选择区域663的合适名称(“沙发”)。替代地,用户可以提供区域663的个性化词汇或标识符。除了物体身份之外,可以类似地创建物体的其他语义信息。这样创建的物体(也称为语义物体或语义注释的物体)可以添加到地图中,并用于任务调度和机器人控制。
148.如图6c和6d所示的新工作创建也可以用于修改现有任务,例如向任务添加新作业,从任务中移除任务,或改变任务顺序等。例如,对于任务例程架630上的“快速清洁”例程(如图6b所示),用户可以单击或点击“新工作”按钮660以修改“快速清洁”例程,例如向“快速清洁”例程添加新物体“梳妆台”,或从“快速清洁”例程中移除现有的物体“桌子”。在另一个示例中,用户可以在地图中选择或定义物体或区域,并将此类物体或区域插入现有任务中。
149.图6e是用于调度任务例程的作业的用户界面600e的线框。用户可以使用用户界面600e上的ui控件来针对任务选择或输入时间671以及重复模式672。在一些示例中,任务的时间表的特征在于或参考与房间或环境中的区域的使用,不使用或使用方式相关的用户体验或行为。图6e示出了基于用户体验的作业673“当我离开家”的示例。包括一个或多个基于经验的作业的任务例程称为基于经验的任务例程。如上所述,基于用户体验的任务或其中的作业的执行可以由传感器(例如,智能家居生态系统中的传感器)触发,该传感器被配置为检测用户行为。例如,调度为“当我离开家”的清洁作业可以通过检测入户门或车库门的关闭来自动触发,例如通过使用智能家居生态系统中的门锁传感器来触发。
150.现在回到图6a,用户界面600a上的概览视图可以包括任务状态架640,任务状态架子640显示正在执行的任务或其中的作业的进度。图6f和6g示出了任务状态架640的示例。图6f是用户界面600f的线框,其呈现关于任务例程的信息,包括其中包括的作业以及作业的时间表(例如,执行作业的时间和/或顺序)。可以以列表形式以文本或图形方式呈现任务。用户界面600f可以显示正在执行的进行中任务。在一些示例中,用户界面600f可以附加地或替代地显示关于计划执行的未来任务例程681或已经完成的历史任务682的信息。
151.图6g是用于监视进行中任务例程的进度的用户界面600e的线框。可以以任务状态报告683的格式来呈现进度,该任务状态报告683在当前任务例程中包括已完成的(多个)作业,当前正在执行的任务以及要完成的(多个)作业。每个作业可以由图标或标签表示。在示例中,表示完成的作业的图标或标签可以以与表示正在执行的作业和剩余的待执行作业的图标或标签不同的形状,颜色,轮廓,阴影等显示。
152.用户界面600g可以包括环境的地图685的图形表示,诸如表示要执行任务的区域(例如,要清洁的房间)的平面图的图形表示。地图可以分为房间或区域。在图6g所示的示例中,已经被清洁的房间和区域(完成的作业)可以以与当前正在被清洁的房间以及要清洁的房间不同的颜色,轮廓,填充图案等显示。地图685还可以包括机器人图标686,该机器人图标686表示任务中的移动机器人的位置。当移动机器人根据任务例程在要清洁的房间和区域上移动时,可以在地图685中为机器人图标686设置动画。随着移动机器人的移动,与移动机器人的位置和清洁状态有关的信息可以通过它们之间的通信链接(可选地,还通过云计算系统406)传输到手持计算设备。
153.任务状态报告683可以包括用于完成任务的时间的估计,用于任务的经过时间,用于任务的剩余时间,用于完成任务中的作业的时间估计,用于任务中的作业的经过时间,或用于任务中的作业的剩余时间中的一个或多个。任务或作业的进度可以由文本或数字标签(例如,“剩余时间00:18”)或图标或图形(例如线性或圆形进度条,进度图,进度圈)或其他参考ui部件表示。如以上参考图5所讨论的,完成任务或其中的作业的时间的估计可以基于环境的特征,例如要清洁空间的近似平方英尺,一个或多个目标区域的碎屑状态,脏污水
平,或历史任务完成时间,或为计算时间估计而进行的所有房间的测试运行。
154.用户界面600g可以包括ui控件684,该ui控件684使用户能够执行任务或在执行任务时进行作业控制。例如,通过用户界面600g,用户可以暂停或中止整个任务或其中的作业,向任务中添加作业,从任务中移除作业,重新调度作业,或确定任务中的作业的优先级(例如,通过更改作业的顺序)。
155.图6h是用于创建环境地图或管理存储在存储器中的现有地图的用户界面600h的线框。用户可以使用ui控件来生成或更新地图。例如,对于清洁任务,用户可以添加,移除或修改清洁区域,禁止区域或重复清洁区域中的一个或多个。在一些示例中,地图可以包括关于环境中的一个或多个物体的语义信息。如以上参考图5所讨论的,物体可以由传感器电路510检测。替代地,用户可以手动识别或创建(例如,在地图上绘制)物体。在各种示例中,语义信息,例如环境中物体的位置,身份或状态,或物体之间的空间关系的约束,以及其他物体或物体间特征,可以与该物体相关联并添加到地图中。包含物体的语义信息的地图也称为语义地图。语义地图可用于调度任务并在环境中导航移动机器人以执行任务。
156.用户界面600h可以在导航环境的同时显示关于由移动机器人检测到的物体或发现的新区域的消息。在一些示例中,可以响应于检测到新物体或发现新区域而向用户呈现系统生成的推荐。举例来说,图6h示出了消息或对话框691,其提示用户基于机器人在区域中的横越经验在目标区域中创建禁止区域。在另一个示例中,消息或对话框692向用户通知在执行任务时发现的新空间,并提示用户更新地图以识别并语义注释新发现的空间。用户可以通过用户界面600h上的一个或多个ui控件来选择查看地图,推迟查看,对地图进行更改或拒绝对地图进行任何更改。
157.在示例中,用户可以例如通过画一条线以将一个房间分成两个单独的房间,并为分割的房间提供语义注释(例如,诸如名称或图标之类的标识)来对地图进行改变。在示例中,用户可以选择地图上的房间之间的边界以将房间合并在一起成为一个房间。可以提示用户为合并的房间提供语义注释(例如,诸如名称或图标之类的标识)。
158.在一些示例中,可以基于情境和用户对任务调度和机器人控制的经验,逐步向用户公开各种消息。例如,可以在用户界面上显示辅导或教育消息(例如提示和技巧,或聚焦消息),推荐,交互式故障排除指南,或用户调查,执行维护的提醒等,以增强用户体验和提高机器人调度和控制的性能。参照图6i,用户界面600i可以显示具有任务创建和机器人控制的各种特征上的消息的聚焦消息字段,例如基于情境和基于用户体验的收藏例程693,或者关于机器人检测到并存储在地图694中的物体和房间的消息,并提示用户选择清洁程序等。聚焦消息可以指导用户完成任务创建,管理和机器人控制的所有阶段。
159.图6j示出了用于手持设备的ui设计的示例,在显示屏上示出了可选的任务例程。任务例程被布置在任务例程架中,也被称为用户的“收藏夹”,如上面参考图6a所讨论的。诸如所示的快速清洁例程631之类的任务例程可以包括执行该例程例如由播放按钮表示的第一辅助能力和用于编辑该任务例程的例如由省略号表示的第二辅助能力。用户可以单击或点击播放按钮来执行任务例程中包含的作业,也可以单击或点击省略号来编辑任务例程。图6j中的虚线示出了用户界面的不构成所要求保护的设计的部分的部分。
160.图6k示出了用于手持设备的ui设计的示例,在显示屏上示出了正在进行的任务例程的进度。如上面参考图6g所讨论的,可以将包括在当前任务例程中的已完成作业,当前正
在执行的作业以及要完成的作业布置并显示在任务状态报告中。在图6k所示的示例中,任务例程已经进行到餐厅清洁作业。与餐厅清洁作业相关的是用于完成当前作业的时间,任务中当前作业的经过时间或当前作业剩余时间的估计中的一个或多个的显示。作业的进度可以由文本或数字标签或图标或图形(例如线性或圆形进度条,进度图,进度圈)或其他参考ui部件表示。图6k中的虚线示出了用户界面的不构成所要求保护的设计的部分的部分。
161.生成和管理语义地图的方法示例
162.图7是流程图700,示出了生成和管理基于情境和用户体验的任务例程并根据任务例程控制移动机器人在环境中执行任务的方法的示例。方法700可以在机器人调度和控制系统500中实现并由其执行。方法700可以用于调度和控制各种类型的一个或多个移动机器人,例如移动清洁机器人,移动拖把机器人,割草机器人或空间监视机器人。
163.方法700开始于步骤710,以在手持计算设备(例如,移动设备404)和移动机器人(例如,移动机器人100)之间建立通信。手持计算设备可以执行其中实现的设备可读指令,例如移动应用。手持计算设备与移动机器人之间的通信可以通过诸如云计算系统406之类的中间系统,或者通过不具有系统中间设备的直接通信链路。在示例中,手持计算设备可以包括被配置为显示机器人信息及其操作状态的用户界面(ui)。用户可以管理一组活动的移动机器人并在任务中协调其活动。在一个示例中,用户可以例如通过在手持计算设备和新的移动机器人之间建立通信来添加新的移动机器人,或者例如通过断开在手持计算设备和现有的活动移动机器人之间的通信来移除现有的移动机器人。
164.在720处,可以例如使用联接到包括在移动机器人中的传感器的物体检测器512来检测环境中的物体。物体的检测包括将物体识别为例如门,杂物,墙壁,分隔物,家具(例如桌子,椅子,沙发,长椅,床,书桌,梳妆台,橱柜,书柜等),或陈设元素(例如,家用电器,地毯,窗帘,绘画,帘,灯具,炊具,内置烤箱,炉灶,洗碗机等)等。检测到的物体可以是关联的语义信息,例如空间或情境信息,以创建语义注释的物体。语义信息的示例可以包括环境中物体的位置,身份或状态,或物体之间的空间关系的约束,以及其他物体或物体间特征。可以通过算法为物体添加语义注释,例如经由地图管理电路546。替代地,语义注释可以由用户经由用户界面520添加。
165.在730处,可以接收任务例程。在一个示例中,用户可以使用手持计算设备创建任务例程,如图6b

6e所示。任务例程包括表示一个或多个作业的可编辑时间表的数据,这些任务的特征是物体的各自情境或空间信息,或者这些任务的特征是用户的体验,例如与房间或环境中的区域相关联的用户的行为或例行活动。基于物体的任务的示例可以包括将要清洁的区域与该区域中的物体相关联的作业,例如“清洁餐桌下面”,“沿着厨房踢脚板清洁”,“清洁厨房炉灶附近”,“清洁客厅沙发下面”或“清洁厨房水槽的橱柜区域”等。在一个示例中,基于物体的任务的特征可以是房间或区域中的碎屑状态,例如“清理脏区域。”基于用户体验的任务例程的特征可以在于或参考用户使用房间或环境中的区域的时间,模式,频率或偏好,或与房间或环境中的区域的使用,不使用或使用方式相关的用户行为或日常活动。基于经验的任务例程的示例可以包括定义关于可能受到晚餐准备和服务影响的区域(例如厨房地板和餐桌周围的地板区域)的清洁作业的“晚餐后清洁例程”,定义关于可能受到用户淋浴影响的区域(例如浴室地板)的清洁作业的“淋浴后清洁例程”,“我离开家后清洁所有房间”或“在我回家前清洁客厅”。
166.在740处,可以根据接收到的任务例程在环境中导航移动机器人以执行任务。所接收的任务例程可以例如由任务解释器543解释,以提取关于任务位置(例如,相对于在环境中检测到的物体而言要清洁的房间或区域),时间和/或顺序的信息,用于根据用户体验或清洁已识别的房间或区域的方式执行任务。在环境中检测到的物体的语义信息,诸如由用户行为检测器530检测到的用户行为以及环境的地图可以用于解释任务例程。例如,为了解释“清洁厨房桌子下面”的任务,可以从物体(“桌子”)和房间(“厨房”)之间的关联中提取“桌子”的语义信息,例如其位置(“厨房”)。在另一示例中,为了解释任务“晚餐后清洁例程”,可以识别与用户行为或日常例程(“晚餐”)相关联的房间或区域(例如,厨房地板和餐桌周围的地板区域)。在又一个示例中,为了解释任务“我离开家后清洁所有房间”,“在未占用时清洁客厅”或“在看电视时避免清洁”,与用户行为(“离开家”,出现在房间中,或在看电视)相关的时间表(例如时间或顺序)可以从任务例程中识别出来。
167.在一些示例中,可以响应于诸如由用户行为检测器530对用户行为的检测来自动激活基于体验的任务例程。在一个示例中,用户行为检测器530可以通信地联接到一个或多个传感器,包括例如动态传感器(例如,移动机器人中包括的传感器,例如照相机),或定位在房间或器具中的固定传感器,例如在智能家居生态系统中。例如,可以响应于诸如经由洗碗机上的传感器的对洗碗机被打开的检测来激活“晚餐后清洁例程”。在另一个示例中,可以响应于诸如经由智能门锁传感器的对入户门的锁定或车库门的关闭的检测而激活“我离开家后清洁所有房间”。在另一示例中,可以从用户的数字日历(诸如存储在用户的移动电话中的数字日历)中检索用户的日程安排,并且可以基于日历事件的时间表来激活任务例程。
168.在750,可以例如在手持计算设备的用户界面上监视任务例程和任务进度。如图6a所示,用户界面可以显示概览视图,其逐渐向用户呈现相关信息。关于机器人和任务例程的信息可以被组织和显示在用户界面上的多个“架”中,例如机器人信息架,任务例程架和任务状态架,如图6a所示。概览视图可以显示与任务有关的机器人,任务的性质,与任务有关的作业,或任务的进度,如图6f和6g所示。概览视图可以包括环境的地图,以及使用户能够创建或修改地图的ui控件,如图6h所示。另外,如图6i所示,概览视图可以包括辅导或教育消息,推荐,交互式故障排除指南,执行维护的提醒或用户调查。
169.在一些示例中,用户可以使用用户界面上的ui控件来响应于用户输入或触发事件而暂停,中止或修改任务例程或其中的作业。可以在执行任务例程期间执行任务修改。任务修改的示例可以包括向任务中添加新作业,从任务中移除现有作业,或对任务中的一个或多个作业进行优先级排序(例如,更改作业的顺序,例如在清洁家里的其他区域之前清洁某些例如更脏的“热点”)。导致任务中的作业的时间或顺序发生变化的触发事件可以是特定类型的用户行为,例如指示房间中人的存在或不存在的房间占用或用户对音频敏感事件的参与,例如打电话,看电视,听音乐或进行对话。响应于检测到这种用户行为,可以暂停或修改任务,例如通过重新安排或推迟计划在占用的房间中执行的作业,直到不再被占用,或者重新安排或推迟会干扰音频敏感事件的作业,直到音频敏感事件结束。
170.用于机器人调度和控制的机器可读介质的示例
171.图8总体示出了示例机器800的框图,本文所讨论的任何一种或多种技术(例如方法)可以在其上执行。该描述的部分可以应用于移动机器人100,移动设备404或其他计算系
统(诸如本地计算机系统或云计算系统406)的各个部分的计算框架。
172.在替代实施例中,机器800可以作为独立设备操作,或者可以连接(例如联网)到其他机器。在网络部署中,机器800可以在服务器

客户端网络环境中以服务器机器,客户端机器或两者的能力运行。在示例中,机器800可以在对等(p2p)(或其他分布式)网络环境中充当对等机器。机器800可以是个人计算机(pc),平板电脑,机顶盒(stb),个人数字助理(pda),移动电话,网络设备,网络路由器,交换机或网桥,或任何能够执行指令(顺序或其他方式)的机器,这些指令指定了该机器要执行的操作。此外,虽然仅示出了单个机器,但是术语“机器”也应被理解为包括机器的任何集合,这些机器单独地或共同地执行一组(或多组)指令以执行本文讨论的任一项或多项方法,例如云计算,软件即服务(saas),其他计算机集群配置。
173.如本文所述,示例可以包括逻辑或可以由逻辑或多个组件或机制来操作。电路组是在包括硬件(例如,简单电路,门,逻辑等)的有形实体中实现的电路的集合。电路组成员可以随时间推移以及潜在的硬件可变性而变得灵活。电路组包括在操作时可以单独或组合执行指定操作的成员。在示例中,电路组的硬件可以被不变地设计为执行特定的操作(例如,硬连线)。在示例中,电路组的硬件可以包括可变地连接的物理部件(例如,执行单元,晶体管,简单电路等),包括物理地修改(例如,磁地,电学,可移动地放置不变质量的粒子等)的计算机可读介质,以对特定操作的指令进行编码。在连接物理部件时,硬件构成的基础电性能会发生变化,例如从绝缘体更改为导体,反之亦然。指令使嵌入式硬件(例如,执行单元或加载机制)能够通过可变连接在硬件中创建电路组的构件,以在操作时执行特定操作的一部分。因此,当设备工作时,计算机可读介质通信地联接到电路组构件的其他部件。在一个示例中,任何物理部件可以在一个以上电路组的一个以上构件中使用。例如,在操作下,执行单元可以在一个时间点用在第一电路组的第一电路中,并且可以在不同时间由第一电路组中的第二电路或第二电路组中的第三电路重用。
174.机器(例如,计算机系统)800可以包括硬件处理器802(例如,中央处理单元(cpu),图形处理单元(gpu),硬件处理器核或其任意组合),主存储器804和静态存储器806,其中一些或全部可以经由互连链路(例如,总线)808彼此通信。机器800可以进一步包括显示单元810(例如,光栅显示器,矢量显示器,全息显示器等),字母数字输入设备812(例如键盘)和用户界面(ui)导航设备814(例如鼠标)。在示例中,显示单元810,输入设备812和ui导航设备814可以是触摸屏显示器。机器800可以另外包括存储设备(例如,驱动单元)816,信号生成设备818(例如,扬声器),网络接口设备820以及一个或多个传感器821,例如全球定位系统(gps)传感器,指南针,加速度计或其他传感器。机器800可以包括输出控制器828,诸如串行(例如,通用串行总线(usb),并行或其他有线或无线(例如,红外(ir),近场通信(nfc)等))连接,以通信或控制一个或多个外围设备(例如打印机,读卡器等)。
175.存储设备816可以包括机器可读介质822,其上存储了由本文描述的任何一种或多种技术或功能体现或利用的一组或多组数据结构或指令824(例如,软件)。在机器800执行指令824期间,指令1724还可以全部或至少部分地驻留在主存储器804内,静态存储器806内或硬件处理器802内。在示例中,硬件处理器802,主存储器804,静态存储器806或存储设备816的一个或任意组合可以构成机器可读介质。
176.尽管机器可读介质822被示为单个介质,但是术语“机器可读介质”可以包括被配
置为存储一个或多个指令824的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的缓存和服务器)。
177.术语“机器可读介质”可以包括能够存储,编码或携带由机器800执行的指令并且使得机器800执行本公开的任何一种或多种技术的任何介质,或者能够存储,编码或携带由此类指令使用或与之关联的数据结构。非限制性机器可读介质示例可以包括固态存储器以及光学和磁性介质。在一个示例中,大容量机器可读介质包括具有多个具有不变(例如,静止)质量的粒子的机器可读介质。因此,大容量机器可读介质不是暂时传播的信号。大容量机器可读介质的特定示例可以包括:诸如半导体存储设备的非易失性存储器(例如,电可编程只读存储器(eprom),电擦除可编程只读存储器(epsom))和闪存设备;磁盘,例如内部硬盘和可移动磁盘;磁光盘;以及cd

rom和dvd

rom磁盘。
178.指令824还可以使用多种传输协议(例如,帧中继,网际协议(ip),传输控制协议(tcp),用户数据报协议(udp),超文本传输协议(http)等)中的任何一种,经由网络接口设备820,使用传输介质通过通信网络826来发送或接收。示例性通信网络可以包括局域网(lan),广域网(wan),分组数据网络(例如,因特网),移动电话网络(例如,蜂窝网络),普通老式电话(pots)网络,和无线数据网络(例如,称为的电气和电子工程师协会(ieee)802.11系列标准,称为的ieee 802.16系列标准),ieee 802.15.4系列标准,点对点(p2p:peer

to

peer)网络等。在一个示例中,网络接口设备820可以包括一个或多个物理插孔(例如,以太网,同轴或电话插孔)或一个或多个天线以连接到通信网络826。在示例中,网络接口设备820可以包括多个天线,以使用单输入多输出(simo),多输入多输出(mimo)或多输入单输出(miso)技术中的至少一个进行无线通信。术语“传输介质”应被认为包括能够存储,编码或携带由机器800执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种软件的通信。
179.上面的图中示出了各种实施例。这些实施例中的一个或多个的一个或多个特征可以组合以形成其他实施例。
180.本文描述的方法示例可以至少部分地是机器或计算机实现的。一些示例可以包括编码有指令的计算机可读介质或机器可读介质,所述指令可操作以配置电子设备或系统以执行如以上示例中所述的方法。这样的方法的实现可以包括代码,例如微代码,汇编语言代码,高级语言代码等。这样的代码可以包括用于执行各种方法的计算机可读指令。该代码可以构成计算机程序产品的一部分。此外,可以在执行期间或在其他时间将代码有形地存储在一个或多个易失性或非易失性计算机可读介质上。
181.上面的详细描述意图是说明性的,而不是限制性的。因此,本公开的范围应该参考所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献