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

自主移动机器人的控制的制作方法

2022-06-16 07:46:09 来源:中国专利 TAG:

自主移动机器人的控制
1.相关应用的交叉引用
2.本技术是于2020年2月19日提交的美国专利申请no.16/794,855的继续申请,并要求其优先权,该美国专利申请要求于2019年11月8日提交的美国临时专利申请no.62/932,667的优先权。每个前述申请的公开内容通过引用合并于本文。
技术领域
3.本发明涉及自主移动机器人的控制。


背景技术:

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


技术实现要素:

5.自主移动机器人可以在清洁任务中打扫房间。在清洁任务中,自主移动机器人可能会遇到障碍物,这些障碍物可能会触发逃脱行为或导致自主移动清洁机器人卡住。这样的事件可以被记录在地图上,并且基于此可以向用户提供推荐的禁区。禁区可用于限制自主移动机器人进入住宅的特定区域。逃脱行为可以由许多事件触发,例如刷子无法转动,自主移动机器人被对象卡住或楔入对象下方,自主移动机器人被障碍物圈住、轮子打滑或一个或多个轮子不接触地面所困。
6.在一个方面,一种方法包括:当自主移动机器人在环境中移动时,接收由自主移动机器人收集的传感器数据,该传感器数据表示多个传感器事件和与多个传感器事件相关联的多个位置。该方法包括基于位置识别传感器事件的子集。该方法包括向用户计算设备提供表示环境中的推荐行为控制区的数据,该推荐行为控制区包含与传感器事件的子集相关联的位置的子集。该方法包括响应于来自用户计算设备的用户选择,定义行为控制区,使得自主移动机器人响应于遇到行为控制区而发起行为,该行为控制区基于推荐的行为控制区。
7.在另一方面,一种方法包括:在用户计算设备的用户界面上呈现环境的地图和叠放在该地图上的推荐行为控制区的第一表示符,该推荐行为控制区基于由自主移动机器人收集的传感器数据。该方法包括基于所推荐的行为控制区,在用户计算设备的用户界面上呈现叠放在环境地图上的用户选择的行为控制区的第二表示符。
8.实施方式可以包括以下一个或多个特征。
9.在一些实施方式中,识别传感器事件的子集可以包括确定第一位置距第二位置不大于阈值距离,所述第一位置在与所述多个传感器事件的子集中的第一传感器事件相关联的所述多个位置的子集中,所述第二位置在与所述多个传感器事件的子集中的第二传感器
事件相关联的所述多个位置的子集中。在一些实施方式中,识别传感器事件的子集可以包括确定第一位置距第三位置不大于阈值距离,所述第一位置在所述多个传感器事件的子集中与所述第一传感器事件相关联的所述多个位置的子集中,所述第三位置在与所述多个传感器事件的子集中与第三传感器事件相关联的所述多个位置的子集中。在一些实施方式中,阈值距离可以不小于10至50厘米。
10.在一些实施方式中,传感器事件子集中的传感器事件的数量可以不小于阈值数量。在一些实施方式中,阈值数量可以不小于三。
11.在一些实施方式中,传感器数据可以包括表示所述多个传感器事件的子集的数据,在由所述自主移动机器人在一段时间内执行的多个任务期间收集所述表示所述多个传感器事件的子集的数据。在一些实施方式中,识别传感器事件的子集可以包括基于自主移动机器人收集表示传感器事件子集的数据的任务数量来识别传感器事件的子集。在一些实施方式中,任务的数量可以不小于阈值数量。在一些实现中,阈值数量可以不小于2。在一些实施方式中,时间段可以不少于三个月。
12.在一些实施方式中,基于位置识别传感器事件的子集可以包括:基于与传感器事件的子集相关联的位置和环境中对接站的位置之间的距离来识别传感器事件的子集。在一些实施方式中,与传感器事件的子集相关联的位置可以对应于与传感器事件的子集中的传感器事件相关联的位置的子集中的位置。在一些实施方式中,与传感器事件子集相关联的位置可以对应于基于位置子集所计算的位置。
13.在一些实施方式中,传感器事件可以是障碍物检测事件,其中自主移动机器人的一个或多个传感器被触发。在一些实施方式中,一个或多个传感器可以包括接近传感器、碰撞传感器、图像捕捉设备、落差传感器、轮子编码器、轮子电机控制器、刷电机控制器、轮子下落传感器、里程表或光学鼠标传感器中的至少一个。
14.在一些实施方式中,传感器事件的子集可以包括错误事件。错误事件可以包括以下事件中的至少一个:轮子下落事件,其中自主移动机器人的驱动轮从自主移动机器人延伸超过阈值距离;轮子打滑事件,其中自主移动机器人的驱动轮与自主移动机器人移动通过的地板表面失去牵引力;楔入事件,其中自主移动机器人被楔入自主移动机器人上方的障碍物和地板表面之间;或机器人卡住事件,其中自主移动机器人移动到环境中的一个区域,并且不能离开该区域。
15.在一些实施方式中,自主移动机器人可以是自主清洁机器人。传感器事件的子集可以包括刷子停止事件,其中自主移动机器人的刷子不能旋转。
16.在一些实施方式中,行为控制区可以是禁区,并且由自主移动机器人发起的行为可以对应于自主移动机器人避开禁区的避障行为。在一些实施方式中,提供表示推荐行为控制区的数据可以包括提供表示推荐行为控制区的数据,使得推荐行为控制区将环境中的第一区域与环境中的第二区域分开,并提供第一区域和第二区域之间的可通过路径。
17.在一些实施方式中,自主移动机器人可以是自主清洁机器人。在一些实施方式中,行为控制区可以是集中清洁区,并且由自主移动机器人发起的行为可以对应于集中清洁行为。在一些实施方式中,在集中清洁行为中,自主移动机器人可以增加吸力或降低移动速度。在一些实施方式中,传感器事件子集中的传感器事件可以是碎屑检测事件,其中自主移动机器人检测环境中地板表面上的碎屑。在一些实施方式中,传感器事件子集中的传感器
事件可以是碎屑检测事件,其中自主移动机器人检测由自主移动机器人摄取的碎屑。
18.在一些实施方式中,表示推荐行为控制区的数据可以给出推荐行为控制区的位置、形状和尺寸。
19.在一些实施方式中,提供表示所述推荐行为控制区的数据包括,使所述用户计算设备呈现地图和叠放在所述地图上的所述推荐行为控制区的表示符。
20.在一些实施方式中,用户选择可以对应于推荐行为控制区的用户选择修改,并且行为控制区可以基于推荐行为控制区和推荐行为控制区的用户选择修改。在一些实施方式中,用户选择修改可以包括对推荐的行为控制区的形状或大小的修改。
21.在一些实施方式中,呈现地图和第一表示符可以包括呈现指示推荐行为控制区的尺寸的信息。
22.在一些实施方式中,推荐行为控制区的第一表示符可以表示推荐行为控制区的位置和推荐行为控制区的几何形状。
23.在一些实施方式中,第二表示符可以包括表示推荐行为控制区的第一部分和表示推荐行为控制区的用户选择的修改的第二部分。在一些实施方式中,第二表示符的第一部分可以包括第一阴影样式,第二表示符的第二部分可以包括第二阴影样式。
24.在一些实施方式中,第二表示符可以指示用户选择的行为控制区的位置和用户选择的行为控制区的几何形状。
25.在一些实施方式中,呈现第二表示符可以包括呈现表示用户选择的行为控制区的尺寸的信息。
26.在一些实施方式中,传感器数据可以表示自主移动机器人的传感器事件,并且该方法可以进一步包括呈现表示传感器事件的类型的信息。在一些实施方式中,传感器事件的类型可以是错误事件。错误事件可以包括以下事件中的至少一个:轮子下落事件,其中自主移动机器人的驱动轮从自主移动机器人延伸超过阈值距离;轮子打滑事件,其中自主移动机器人的驱动轮与自主移动机器人移动通过的地板表面失去牵引力;楔入事件,其中自主移动机器人被楔入自主移动机器人上方的障碍物和地板表面之间;或机器人卡住事件,其中自主移动机器人移动到环境中的一个区域,并且不能离开该区域。
27.在一些实施方式中,呈现用户选择的行为控制区的第二表示符可以基于推荐的行为控制区和用户选择的对推荐的行为控制区的修改。在一些实施方式中,用户选择的对推荐行为控制区的修改可以包括形状或大小的修改。
28.在一些实施方式中,该方法还可以包括传输表示用户选择的行为控制区的数据,以定义用户选择的行为控制区,并使得自主移动机器人在自主移动机器人在环境中操纵时响应于遇到用户选择的行为控制区而发起行为。
29.前述的优点可包括但不限于下文和本文别处所述的优点。
30.首先,本文描述的系统和方法代表了对自主移动机器人的改进,特别是提高了这些机器人的性能。在环境中执行任务时,本文描述的行为控制区可以允许自主移动机器人更有效地执行任务。行为控制区可以确保自主移动机器人在环境的某些区域内按照最佳参数运行。此外,行为控制区可以允许自主移动机器人避开某些无法执行任务的区域。例如,在任务是清洁任务的实施方式中,可以推荐行为控制区,使得自主移动机器人可以避开环境中不能使用自主移动机器人的清洁系统清洁的区域,并且可以在经常变脏的区域中发起
集中的清洁行为。此外,本文描述的系统和方法可以利用由自主移动机器人的传感器系统产生的传感器数据来生成行为控制区。结果,不是仅用于控制自主移动机器人对环境特征的反应,自主移动机器人的传感器系统可以产生用于地图的数据,该地图可以在自主移动机器人在环境中移动时控制自主移动机器人的行为。通过使用来自自主移动机器人的传感器系统的传感器数据,该地图可以用于自主移动机器人的行为的基于位置的控制。
31.其次,本文描述的系统和方法可以改善自主移动机器人、用户以及远程计算系统(如果存在)之间的系统级交互。具体地,该系统和方法可以允许来自自主移动机器人、用户和远程计算系统的数据和输入一起用于控制一个或多个自主移动机器人的行为。行为控制区可以基于由自主移动机器人产生的传感器数据以及由用户提供的用户输入的组合来生成。此外,在存在多个自主移动机器人的实施方式中,来自每个自主移动机器人的传感器数据可以用于生成行为控制区。远程计算系统可以从在环境中运行的一个或多个自主移动机器人收集传感器数据,并且还可以从一个或多个用户收集用户输入。生成的行为控制区可用于控制在环境中操作的多个自主移动机器人的行为。此外,行为控制区可以允许自主移动机器人的定制控制。例如,当第一自主移动机器人遇到行为控制区时,可以控制第一自主移动机器人执行第一行为,而当第二自主移动机器人遇到行为控制区时,可以控制第二自主移动机器人执行第二行为。
32.最后,本文描述的系统和方法可以改善用户与在环境中操作的自主移动机器人的交互。用户界面可以作为用户接收关于自主移动机器人的基于位置的控制的视觉信息的媒介。用户计算设备的用户界面可以呈现环境的直观地图,该地图示出了自主机器人在环境中操作时的行为。因此,用户可以查看呈现在用户界面上的地图,以获得控制自主移动机器人行为的不同行为控制区的感觉。此外,用户可以容易地使用用户界面来修改或创建环境中的行为控制区。
33.本说明书中描述的主题的一个或多个实现的细节在附图和以下描述中阐述。根据说明书、附图和权利要求,其他潜在的特征、方面和优点将变得显而易见。
附图说明
34.图1是包括自主移动机器人和用于自主移动机器人的行为控制区的环境的俯视图。
35.图2、3a和3b是自主移动机器人的侧视截面图、仰视图和俯视透视图。
36.图4是通信网络的示意图。
37.图5是定义行为控制区的过程流程图。
38.图6a、6b和7是环境中传感器事件的示意性俯视图。
39.图8是在用户计算设备上呈现行为控制区的地图和表示符的过程流程图。
40.图9是呈现用于推荐行为控制区的通知的用户界面的图示。
41.图10a和10b是呈现地图和覆盖在地图上的行为控制区的表示符的用户界面的图示。
42.图11是定义行为控制区、呈现行为控制区的视觉表示以及使用行为控制区控制自主移动机器人的过程流程图。
具体实施方式
43.参考图1,当自主移动机器人100在环境中地板表面10上导航时,自主移动机器人100的传感器系统(图1中未示出)的一个或多个传感器可以被触发,从而产生一个或多个传感器事件。在图1所示的示例中,在机器人100在环境中导航的一部分期间,发生了几个传感器事件50(用“x”形标记表示,其中一个在图1中标记)。这些传感器事件50可用于产生推荐的行为控制区,当机器人100在地板表面10上移动时,该行为控制区将控制自主移动机器人100的行为。用户30可以查看推荐的行为控制区,并接受或拒绝推荐的行为控制区。用户还可以修改推荐的行为控制区。在图1所示的例子中,基于传感器事件50生成几个行为控制区60。行为控制区60的位置可以基于传感器事件50的子集的位置。
44.如本文所述,这些行为控制区60中的一个或多个可以对应于用户建立的行为控制区,其可以部分基于推荐的行为控制区。在某些传感器事件发生之后,随着机器人100在地板表面10上移动,行为控制区可以允许机器人100的行为受到控制。因此,行为控制区可用于在后续任务中或在触发产生推荐行为控制区的传感器事件的同一任务的稍后时间控制机器人100的行为。
45.示例性自主移动机器人
46.参照图2,当机器人100横穿地板表面10时,机器人100从地板表面10收集碎屑105。参考图3a,机器人100包括机器人外壳结构108。外壳结构108可以限定机器人100的结构外围。在一些示例中,外壳结构108包括底盘、盖、底板和缓冲器组件。机器人100是具有小外形的家用机器人,使得机器人100可以安装在家中的家具下面。例如,机器人100相对于地板表面的高度h1(如图2所示)例如不超过13厘米。机器人100也很紧凑。机器人100的总长度l1(如图2所示)和总宽度w1(如图3a所示)均为30至60厘米,例如30至40厘米、40至50厘米或50至60厘米。总宽度w1可以对应于机器人100的外壳结构108的宽度。
47.机器人100包括驱动系统110,驱动系统110包括一个或多个驱动轮。驱动系统110还包括一个或多个电动机,该电动机包括形成电路106的一部分的被被电驱动部分。外壳结构108支撑机器人100内的电路106,包括至少一个控制器109。
48.驱动系统110可操作为推动机器人100经过地板表面10。机器人100可以沿向前驱动方向f或向后驱动方向r推进。机器人100也可以被推进,使得机器人100原地转弯或在向前驱动方向f或向后驱动方向r上移动的同时转弯。在图3a所示的例子中,机器人100包括延伸穿过外壳结构108的底部113的驱动轮112。驱动轮112被电动机114旋转,以使机器人100沿着地板表面10移动。机器人100还包括延伸穿过外壳结构108的底部113的被动脚轮115。脚轮115没有被提供动力。驱动轮112和脚轮115一起协作将壳体结构108支撑在地板表面10上方。例如,脚轮115沿着壳体结构108的后部121设置,驱动轮112设置在脚轮115的前方。
49.参考图3b,机器人100包括基本为矩形的前部122和基本为半圆形的后部121。前部122包括侧表面150、152、前表面154和角表面156、158。前部122的角表面156、158将侧表面150、152连接到前表面154。
50.在图2、3a和3b所示的例子中,机器人100是自主移动地板清洁机器人,其包括可操作为清洁地板表面10的清洁组件116(如图3a所示)。例如,机器人100是真空清洁机器人,其中清洁组件116可操作为通过从地板表面10摄取碎屑105(如图2所示)来清洁地板表面10。清洁组件116包括清洁入口117,机器人100通过该清洁入口收集碎屑。清洁入口117位于机
器人100的中心(例如中心162)的前方,并且沿着机器人100的前部122位于前部122的侧表面150、152之间。
51.清洁组件116包括一个或多个可旋转构件,例如由电动机120驱动的可旋转构件118。可旋转构件118水平延伸穿过机器人100的前部122。可旋转构件118沿着外壳结构108的前部122定位,并且沿着外壳结构108的前部122的宽度的75%至95%延伸,例如,对应于机器人100的总宽度w1。还参照图2,清洁入口117位于可旋转构件118之间。
52.如图2所示,可旋转构件118是相对于彼此反向旋转的辊子。例如,可旋转构件118可以绕平行的水平轴线146、148(如图3a所示)旋转,以搅动地板表面10上的碎屑105,并将碎屑105引向清洁入口117,进入清洁入口117,并进入机器人100中的抽吸路径145(如图2所示)。回头参考图3a,可旋转构件118可以完全位于机器人100的前部122内。可旋转构件118包括弹性壳体,当可旋转构件118相对于壳体结构108旋转时,弹性壳体接触地板表面10上的碎屑105,以引导碎屑105通过可旋转构件118之间的清洁入口117进入机器人100的内部,例如进入碎屑箱124(如图2所示)。可旋转构件118进一步接触地板表面10,以搅动地板表面10上的碎屑105。
53.机器人100还包括真空系统119,该真空系统119可操作为产生穿过可旋转构件118之间的清洁入口117并进入碎屑箱124的气流。真空系统119包括叶轮和让叶轮旋转以产生气流的电动机。真空系统119与清洁组件116协作,以将碎屑105从地板表面10吸入碎屑箱124。在一些情况下,由真空系统119产生的气流形成足够的力来将地板表面10上的碎屑105向上抽吸通过可旋转构件118之间的间隙并吸入碎屑箱124。在一些情况下,可旋转构件118接触地板表面10以搅动地板表面10上的碎屑105,从而允许碎屑105更容易被真空系统119产生的气流摄入。
54.机器人100还包括绕非水平轴线旋转的刷子126,例如,与地板表面10形成75度至90度之间的角度的轴线。例如,非水平轴线与可旋转构件118的纵向轴线形成75度至90度之间的角度。机器人100包括可操作地连接到刷子126以让刷子126旋转的电动机128。
55.刷子126是横向偏离机器人100的前后轴线fa的侧刷,使得刷子126延伸超过机器人100的外壳结构108的外周。例如,刷子126可以延伸超过机器人100的侧表面150、152中之一,从而能够触及地板表面10上的可旋转构件118通常不能到达的部分上的碎屑,例如,地板表面10的在机器人100正下方的部分之外的部分。刷子126也从机器人100的横向轴线la向前偏移,使得刷子126也延伸超过外壳结构108的前表面154。如图3a所示,刷子126延伸超过外壳结构108的侧表面150、角表面156和前表面154。在一些实施方式中,刷子126延伸超过侧表面150的水平距离d1至少为例如0.2厘米,例如至少0.25厘米、至少0.3厘米、至少0.4厘米、至少0.5厘米、至少1厘米或更大。刷子126定位成在其旋转期间接触地板表面10,使得刷子126可以容易地触及地板表面10上的碎屑105。
56.当机器人100移动时,刷子126可以以将地板表面10上的碎屑刷入清洁组件116的清洁路径的方式绕非水平轴线旋转。例如,在机器人100沿向前驱动方向f移动的示例中,刷子126可沿顺时针方向旋转(当从机器人100上方的视角观察时),使得刷子126所接触的碎屑沿向前驱动方向f朝向清洁组件和在清洁组件116前方的地板表面10的一部分移动。结果,当机器人100沿向前驱动方向f移动时,机器人100的清洁入口117可以收集由刷子126清扫的碎屑。在机器人100沿向后驱动方向r移动的示例中,刷子126可沿逆时针方向旋转(当
从机器人100上方的视角观察时),使得刷子126接触的碎屑并沿向后驱动方向r朝向清洁组件116后面的地板表面10的一部分移动。结果,当机器人100沿向后驱动方向r移动时,机器人100的清洁入口117可以收集由刷子126清扫的碎屑。
57.除了控制器109之外,电路106还例如包括存储器存储元件144和具有一个或多个电传感器的传感器系统。如本文所述,传感器系统可以产生表示机器人100的当前位置的信号,并且可以在机器人100沿着地板表面10行进时产生表示机器人100的位置的信号。控制器109被配置成执行指令,以执行如本文所述的一个或多个操作。存储器存储元件144可由控制器109访问,并设置在外壳结构108内。一个或多个电传感器被配置成检测机器人100的环境中的特征。例如,参考图3a,传感器系统包括沿着外壳结构108的底部113设置的落差传感器134。每个落差传感器134是光学传感器,其可以检测光学传感器下方的对象的存在或不存在,例如地板表面10。落差传感器134因此可以检测机器人100的设置有落差传感器134的部分下方的障碍物,例如跌落部和落差部,并相应地重定向机器人。
58.参考图3b,传感器系统包括一个或多个接近传感器,其可以检测沿着地板表面10且在机器人100附近的对象。例如,传感器系统可以包括邻近外壳结构108的前表面154设置的接近传感器136a、136b、136c。接近传感器136a、136b、136c中的每一个包括从外壳结构108的前表面154面向外的光学传感器,并且该光学传感器可以检测光学传感器前面的对象的存在或不存在。例如,可检测的对象包括障碍物,例如家具、墙壁、人和机器人100的环境中的其他对象。
59.传感器系统包括缓冲器系统,该缓冲器系统包括缓冲器138和一个或多个检测缓冲器138和环境中的障碍物之间的接触的缓冲器传感器。缓冲器138形成外壳结构108的一部分。例如,缓冲器138可以形成侧表面150、152以及前表面154。例如,传感器系统可以包括碰撞传感器139a、139b。碰撞传感器139a、139b可以包括中断光束传感器、电容传感器或能够检测机器人100(例如,缓冲器138)和环境中的对象之间的接触的其他传感器。在一些实施方式中,碰撞传感器139a可用于检测缓冲器138沿着机器人100的前后轴线fa(如图3a所示)的运动,碰撞传感器139b可用于检测缓冲器138沿着机器人100的横向轴线la(如图3a所示)的运动。接近传感器136a、136b、136c可以在机器人100接触对象之前检测对象,并且碰撞传感器139a、139b可以例如响应于机器人100接触对象而检测接触缓冲器138的对象。
60.传感器系统包括一个或多个障碍物跟随传感器。例如,机器人100可以包括沿着侧表面150的障碍物跟随传感器141。障碍物跟随传感器141包括从外壳结构108的侧表面150面向外的光学传感器,该光学传感器可以检测邻近外壳结构108的侧表面150的对象的存在或不存在。障碍物跟随传感器141可以在垂直于机器人100的向前驱动方向f并且垂直于机器人100的侧表面150的方向上水平发射光束。例如,可检测的对象包括障碍物,例如家具、墙壁、人和机器人100的环境中的其他对象。在一些实施方式中,传感器系统可以包括沿着侧表面152的障碍物跟随传感器,并且障碍物跟随传感器可以检测邻近侧表面152的对象的存在或不存在。沿着侧表面150的障碍物跟随传感器141是右障碍物跟随传感器,沿着侧表面152的障碍物跟随传感器是左障碍物跟随传感器。一个或多个障碍物跟随传感器(包括障碍物跟随传感器141在内)也可以用作障碍物检测传感器,例如,类似于本文描述的接近传感器。在这点上,左障碍物跟随传感器可用于确定机器人100左侧的对象(例如障碍物表面)和机器人100之间的距离,右障碍物跟随传感器可用于确定机器人100右侧的对象(例如障
碍物表面)和机器人100之间的距离。
61.在一些实施方式中,接近传感器136a、136b、136c和障碍物跟随传感器141中的至少一些各自包括光发射器和光检测器。光发射器从机器人100向外发射光束,例如,在水平方向上向外,并且光检测器检测光束的反射,为来自机器人100附近的对象反射。机器人100例如使用控制器109,可以确定光束的飞行时间,从而确定光检测器和对象之间的距离,并因此确定机器人100和对象之间的距离。
62.在一些实施方式中,接近传感器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的一部分横向偏移的一个或多个对象。
63.传感器系统还包括指向外壳结构108的顶部142的图像捕捉设备140,例如摄像机。当机器人100在地板表面10上移动时,图像捕捉设备140生成机器人100的环境的数字图像。图像捕捉设备140在向上的方向上呈角度,例如,与机器人100围绕其导航的地板表面10呈30度至80度的角度。当向上呈角度时,摄像机能够捕获环境的墙壁表面的图像,使得对应于墙壁表面上的对象的特征可以用于定位。
64.当控制器109使机器人100执行任务时,控制器109操作电动机114以驱动驱动轮112并沿着地板表面10推进机器人100。此外,控制器109操作电动机120以使可旋转构件118旋转,操作电动机128以使刷子126旋转,并且操作真空系统119的电动机以产生气流。为了使机器人100执行各种导航和清洁行动,控制器109执行存储在存储器存储元件144上的软件,以通过操作机器人100的各种电动机来使机器人100执行。控制器109操作机器人100的各种电动机,以使机器人100执行行动。
65.传感器系统可以进一步包括用于跟踪机器人100行进的距离的传感器。例如,传感器系统可以包括与用于驱动轮112的电动机114相关联的编码器,并且这些编码器可以跟踪机器人100已经行进的距离。在一些实施方式中,传感器系统包括面朝下朝向地板表面的光学传感器。光学传感器可以是光学鼠标传感器。例如,光学传感器可以被定位成引导光穿过机器人100的底面朝向地板表面10。光学传感器可以检测光的反射,并且可以基于机器人100沿着地板表面10行进时地板特征的变化来检测机器人100行进的距离。
66.传感器系统可以进一步包括用于检测地板表面10上的碎屑的碎屑检测传感器147。碎屑检测传感器147可用于检测环境中比地板表面10的其他部分更脏的地板表面10的
部分。在一些实施方式中,碎屑检测传感器147(如图2所示)能够检测经过抽吸路径145的碎屑量或碎屑速率。碎屑检测传感器147可以是光学传感器,其被配置为当碎屑经过抽吸路径145时检测碎屑。可选地,碎屑检测传感器147可以是压电传感器,当碎屑撞击抽吸路径145的壁时,该传感器检测碎屑。在一些实施方式中,碎屑检测传感器147在碎屑被机器人100摄入抽吸路径145之前检测碎屑。碎屑检测传感器147例如可以是图像捕捉设备,其捕捉机器人100前方的地板表面10的一部分的图像。图像捕捉设备可以被定位在机器人100的前部,并且可以被引导成检测机器人100前方的地板表面10的部分上的碎屑。控制器109然后可以使用这些图像来检测地板表面10的这一部分上的碎屑的存在。
67.控制器109使用由传感器系统的传感器收集的数据来控制机器人100在任务期间的导航行动。例如,控制器109使用由机器人100的障碍物检测传感器收集的传感器数据,例如落差传感器134、接近传感器136a、136b、136c和碰撞传感器139a、139b,以使机器人100能够在任务期间避开机器人100的环境内的障碍物。
68.传感器数据可由控制器109使用以同时定位和绘制地图(slam)技术,其中控制器109提取由传感器数据表示的环境的特征,并构建环境的地板表面10的地图。由图像捕捉设备140收集的传感器数据可以用于诸如基于视觉的slam(vslam)的技术,其中控制器109提取对应于环境中的对象的视觉特征,并使用这些视觉特征构建地图。当控制器109在任务期间引导机器人100在地板表面10上移动时,控制器109使用slam技术通过检测所收集的传感器数据中表示的特征并将这些特征与先前存储的特征进行比较,从而确定机器人100在地图内的位置。由传感器数据形成的地图可以表示环境内可通行和不可通行空间的位置。例如,障碍物的位置在地图上表示为不可通行空间,而开放地板空间的位置在地图上表示为可通行空间。
69.由任何传感器收集的传感器数据可以存储在存储器存储元件144中。此外,为slam技术生成的其他数据,包括形成地图的地图绘制数据,可以存储在存储器存储元件144中。这些在任务期间产生的数据可以包括在任务期间产生的并且在下一次任务期间可用的持续数据。例如,任务可以是第一个任务,进一步的任务可以是在第一个任务之后发生的第二个任务。除了存储用于使机器人100执行其行动的软件之外,存储器存储元件144存储传感器数据或由传感器数据的处理产生的数据,以供控制器109从一个任务到另一个任务进行访问。例如,该地图是可由机器人100的控制器109从一个任务到另一个任务使用和更新的持久地图(persistent map),以在地板表面10上对机器人100进行导航。
70.包括持久地图在内的持久数据使得机器人100能够有效地清洁地板表面10。例如,持久地图使得控制器109能够将机器人100引向开放的地板空间并避免不可通过的空间。此外,对于随后的任务,控制器109能够使用持久地图来规划机器人100在环境中的导航,以优化任务期间采取的路径。
71.在一些实施方式中,机器人100可以包括位于机器人100的顶部142上的光指示器系统137。光指示器系统137可以包括位于覆盖碎屑箱124的盖子149内的光源(如图3a所示)。该光源可以被定位成将光导向盖子149的外围。光源被定位成使得机器人100的顶部142上的连续环143的任何部分都可以被照亮。连续环143位于机器人100的顶部142的凹陷部分上,使得光源在被激活时可以照亮机器人100的表面。
72.示例通信网络
73.参考图4,示出了示例通信网络185。通信网络185的节点包括机器人100、用户计算设备188、自主移动机器人190和远程计算系统192。使用通信网络185,机器人100、用户计算设备188、机器人190、和远程计算系统192可以彼此通信以彼此发送数据和彼此接收数据。在一些实施方式中,机器人100、机器人190或机器人100和机器人190两者通过远程计算系统192与用户计算设备188通信。替代地或额外地,机器人100、机器人190或机器人100和机器人190都直接与用户计算设备188通信。通信网络185可以采用各种类型和组合的无线网络(例如,蓝牙、射频、基于光的等等)和网络架构(例如,网状网络)。
74.在一些实施方式中,如图4所示的用户计算设备188的一种类型可以是可以链接到远程计算系统192的远程设备,并且可以使用户30能够在用户计算设备188上提供输入。用户计算设备188可以包括用户输入元件,例如触摸屏显示器、按钮、麦克风、鼠标、键盘或对用户30提供的输入做出响应的其他设备中的一个或多个。用户计算设备188可替换地或额外地包括沉浸式媒体(例如,虚拟现实),用户30与该媒体交互以提供用户输入。在这些情况下,用户计算设备188例如是虚拟现实头部设备或头戴式显示器。用户可以为机器人100提供对应于命令的输入。在这种情况下,用户计算设备188向远程计算系统192发送信号,以使远程计算系统192向移动机器人100发送命令信号。在一些实施方式中,用户计算设备188可以呈现增强现实图像。在一些实施方式中,用户计算设备188是智能手机、膝上型计算机、平板计算设备或其它移动设备。
75.在一些实施方式中,通信网络185可以包括额外节点。例如,通信网络185的节点可以包括额外的机器人。替代地或额外地,通信网络185的节点可以包括网络连接的设备。在一些实施方式中,网络连接设备可以生成关于环境20的信息。网络连接的设备可以包括一个或多个传感器,以检测环境20中的特征,例如声学传感器、图像捕获系统或其他传感器,其产生可以用于提取特征的信号。联网设备可以包括家庭摄像机、智能传感器等。
76.在图4所示的通信网络185和通信网络185的其他实施例中,无线链路可以利用各种通信方案、协议等,例如蓝牙类、无线网络、蓝牙低能量,也称为ble 802.15.4、全球微波接入互操作性(wimax)、红外信道或卫星频带。在某些情况下,无线链路包括用于在移动设备之间通信的任何蜂窝网络标准,包括但不限于符合1g、2g、3g或4g标准的标准。如果使用网络标准,通过满足一个或多个规范,例如由国际电信联盟维护的规范,该网络标准可以作为例如一个或多个代的移动电信标准。3g标准(如果使用的话)对应于例如国际移动电信-2000(imt-2000)规范,并且4g标准可以对应于国际移动电信高级(imt-advanced)规范。蜂窝网络标准的例子包括amps、gsm、gprs、umts、lte、lte高级、移动wimax和wimax高级。蜂窝网络标准可以使用各种信道接入方法,例如fdma、tdma,cdma,或sdma。
77.流程示例
78.机器人100可以根据本文描述的过程以特定方式被控制,以限定并建立行为控制区。虽然这些过程的一些操作可以被描述为由机器人100、由用户、由计算设备或由另一个行动者来执行,但是在一些实施方式中,这些操作可以由除了所描述的行动者之外的行动者来执行。例如,在一些实施例中,由机器人100执行的操作可以由远程计算系统192或另一个计算设备(或多个设备)来执行。在其他示例中,由用户30执行的操作可以由计算设备来执行。在一些实施方式中,远程计算系统192不执行任何操作。相反,其他计算设备执行被描述为由远程计算系统192执行的操作,并且这些计算设备可以与彼此以及与机器人100直接
(或间接)通信。在一些实施方式中,除了被描述为由机器人100执行的操作之外,机器人100还可以执行被描述为由远程计算系统192或移动设备188执行的操作。其他变化也是可以的。此外,虽然本文描述的方法、过程和操作被描述为包括某些操作或子操作,但是在其他实现中,可以省略这些操作或子操作中的一个或多个,或者可以添加额外的操作或子操作。
79.由行为控制区控制的行为在各种实施方式中可能有所不同。在一些实施方式中,由行为控制区控制的行为可以是机器人100的移动。例如,当机器人100进入或遇到行为控制区时,行为控制区可以使机器人100执行运动行为,例如逃脱行为、避障行为或跟随行为。例如,在移动行为中,机器人可以在行为控制区内以特定的移动模式移动,在行为控制区内以特定的移动速度移动,远离行为控制区移动,或者沿着行为控制区的周界移动。
80.如果移动行为是逃脱行为,则进入或遇到行为控制区可以表明机器人100靠近可能导致机器人100被卡住的障碍物。机器人100可以以避免被行为控制区附近的某些障碍物卡住的方式开始移动。
81.如果运动行为是避障行为,那么行为控制区就是禁区。机器人100可以以避免进入行为控制区内部的方式移动。这种移动可以包括相对于行为控制区掉头,然后离开行为控制区。如果移动行为是跟随行为,则机器人100可以沿着行为控制区的周界跟随,而不进入行为控制区的内部。
82.在一些实施方式中,由行为控制区控制的行为可以是机器人100的清洁过程的参数。行为控制区可以是例如集中清洁区。该参数可以是机器人100的真空系统119的吸力、机器人100的移动速度、刷子126的旋转速度、可旋转构件118的旋转速度或机器人100的移动模式。可以在集中清洁行为中增加抽吸功率,可以降低机器人100的移动速度,和/或可以调整机器人100的移动模式,以多次通过由行为控制区覆盖的区域。该行为可以对应于集中清洁行为,其中机器人100针对被行为控制区覆盖的区域执行集中清洁。为了执行集中清洁,行为控制区使机器人100调整机器人100的清洁过程的参数。
83.图5示出了用于定义行为控制区的示例方法的流程图。由自主移动机器人(例如,图1所示的机器人100)收集的传感器数据可用于提供推荐的行为控制区,并且用户可接受或修改推荐的行为控制区,以定义用于控制机器人100的行为的行为控制区。该方法是针对本文描述的机器人100的控制来描述的。在其他实施方式中,根据图5所示方法的实施方式,可以通过定义行为控制区来控制其他类型的自主移动机器人。
84.参考图5,过程200包括操作202、204和206。过程200用于定义行为控制区,以用于控制机器人100或在环境中操作的其他自主移动机器人的行为。具体地,当机器人100遇到行为控制区时,机器人100可以响应于该遇到发起特定行为。机器人100可以在处于行为控制区的特定距离内或进入行为控制区时遇到行为控制区。
85.在操作202,基于传感器事件的位置来识别传感器事件的子集。在传感器事件的子集被识别之前,机器人100可以在机器人100在环境中移动时收集传感器数据。这些传感器数据可以表示传感器事件和与传感器事件相关联的位置。
86.当机器人100的传感器系统的一个或多个传感器被触发时,可以发生传感器事件。环境中的特征可以与传感器事件相关联。传感器事件的位置可以对应于传感器事件发生时机器人100的位置,或者可以对应于传感器事件已经发生的机器人100的传感器所检测到的特征的位置。
87.例如,简要参考图1,传感器事件50可以随着机器人100在地板表面10上移动而发生,并且一旦传感器事件50发生,就可以确定传感器事件50的位置。在操作202,传感器事件50的子集被识别为向用户推荐行为控制区的候选。
88.机器人100的传感器检测到的特征在各实施方式中可以变化。在一些实施方式中,由机器人100的传感器检测的特征可以对应于环境中的对象。对象可以是障碍物。在这样的例子中,传感器事件是障碍物检测事件,其中机器人100的一个或多个传感器被触发。障碍物可以在地板表面10上限定不可通过的空间,即,机器人100由于对象的存在而不能移动通过的地板表面10的一部分。该障碍物可以是例如固定物、墙壁、落差、线缆或环境中可能阻碍机器人100移动的其他对象。在一些实施方式中,由机器人100的传感器检测到的特征可以对应于由环境中的一个或多个对象定义的可通过空间的几何形状。例如,环境中的墙壁和其他对象可以限定可通行空间的狭窄通道,例如,具有机器人100的宽度的1至3倍的宽度。传感器事件可以基于检测到机器人100的可通过空间的通道的存在而发生。在一些实施方式中,障碍物可以是地板表面10上可能妨碍机器人100操作的特征。例如,障碍物可能被机器人100的轮子、刷子或可旋转构件夹带。障碍物可以是线缆、衣物或能够缠绕机器人100的旋转构件的其他对象。
89.在一些实施方式中,由机器人100的传感器检测到的特征可以对应于地板表面10上的碎屑。例如,该特征可以对应于在地板表面10上检测到的碎屑或机器人100摄取的碎屑。传感器事件的子集可以是碎屑检测事件,其中机器人100检测地板表面10上的碎屑或检测机器人100摄取的碎屑。
90.在一些实施方式中,该特征可以对应于环境中与碎屑相关联的对象。例如,对象可以是餐桌。传感器事件可以对应于检测餐桌的机器人100的一个或多个传感器。因为与某些其他对象相比,碎屑可能更频繁地落在餐桌周围,所以检测到餐桌可能会触发传感器事件,以便限定行为控制区。即使机器人100没有检测到餐桌周围附近的碎屑,也可以推荐行为控制区。其他对象也可能与频繁的碎屑坠落有关。例如,该对象可以是门垫、门、厨房岛、餐桌、垃圾桶、窗户、宠物屋、橱柜或环境中与碎屑增加相关联的其他特征对象。
91.机器人100可以检测到其他特征,并且可以触发传感器事件。例如,由机器人100的传感器检测到的触发传感器事件的特征可以是地板表面类型或房间类型。
92.在一些实施方式中,传感器事件是错误事件,其中当机器人100在地板表面10上移动时,触发与机器人100相关联的错误。响应于这样的错误事件,机器人100可以在任务期间停止移动。在一些实施方式中,错误事件包括轮子下落事件,在该事件中机器人100的一个或多个驱动轮112从机器人延伸超过阈值距离。轮子下落事件可以由机器人100的轮子下落传感器检测到。在一些实施方式中,错误事件包括轮子打滑事件,其中机器人100的一个或多个驱动轮112失去与机器人100移动经过的地板表面10的牵引力。轮子打滑事件可以由机器人100的一个或多个传感器检测,例如编码器、里程表或机器人100的其他运动传感器。在一些实施方式中,错误事件包括楔入事件,其中机器人100被楔入机器人100上方环境中的障碍物和地板表面10之间。楔入事件可以由机器人100的碰撞传感器或机器人100的图像捕捉设备140来检测。在一些实施方式中,错误事件包括机器人卡住事件,其中机器人100移动到环境中的一区域中,并且不能离开该区域。例如,该区域的可通过部分可能具有使机器人100难以离开该区域的受限尺寸。在一些实施方式中,错误事件包括刷子126或可旋转构件
118不能旋转的刷子失速事件。刷子失速事件可以由与驱动刷子126的电动机或驱动可旋转构件118的电动机相关联的编码器来检测。
93.例如,如果机器人100包括碰撞传感器,则当碰撞传感器被触发时,会发生传感器事件。传感器事件的位置可以对应于当碰撞传感器被触发时机器人100的位置,或者可以对应于机器人100和环境中触发碰撞传感器的对象之间的接触位置。在进一步的示例中,如果机器人100包括图像捕捉设备140,则当图像捕捉设备140捕捉包含环境中特定对象的图像时,可以发生传感器事件。该对象可以是机器人100在导航期间可以接触的环境中的障碍物。当图像捕捉设备140检测到对象时,传感器事件的位置可以对应于机器人100的位置。或者,传感器事件的位置可以对应于检测到的对象的估计位置。由图像捕获设备140捕获的图像可以被分析,以确定对象相对于机器人100的位置,从而可以估计对象在环境中的位置。当机器人100的其他传感器也被触发时,可以发生传感器事件。例如,传感器事件可以基于由接近传感器136a、136b、136c、落差传感器134、障碍物跟随传感器141、光学鼠标传感器、编码器、刷电机控制器、轮子电机控制器、轮子下落传感器、里程表或传感器系统的其他传感器执行的感测而发生。
94.在一些实施方式中,传感器事件可以涉及多个传感器。例如,接近传感器136a、136b、136c中的一个可以检测环境中的障碍物,并且图像捕获设备140也可以检测同一障碍物。来自接近传感器和图像捕获设备140的数据的组合可以表示传感器事件已经发生。可以基于来自接近传感器和图像捕捉设备140的数据的组合来确定传感器事件的位置。本文描述的传感器的其他组合可以用作传感器事件的基础。
95.在操作202中,在各实施方式中,用于识别传感器事件50的标准可以不同,该标准表示被认为是用于推荐行为控制区的子集的一部分。图6a、6b和7示出了传感器事件子集的示例,其满足根据过程200推荐行为控制区的标准。
96.参考图6a,示出了发生传感器事件212的环境210。为了识别用于推荐行为控制区的传感器事件212的子集,确定传感器事件212的位置。图6a是环境210内这些传感器事件212的位置的示意图。传感器事件212的子集基于该子集中两个或多个传感器事件212之间的距离来识别。在一些实施方式中,如果传感器事件212彼此之间的距离不超过阈值距离214,则传感器事件212被认为是可以作为推荐行为控制区的基础的子集。出于说明的目的,仅标记了传感器事件212中的一个(表示为“x”形标记)和阈值距离214中的一个(表示为虚线圆)。
97.在各实施方式中,用于识别推荐行为控制区的传感器事件212的子集的标准可以不同。在一些实施方式中,仅使用一个标准来识别传感器事件的子集。该标准可以是阈值距离标准、阈值量标准或其他适当的标准。在一些实施方式中,使用多个标准来识别传感器事件的子集,例如,两个或更多个标准。
98.在图6a描述的例子中,传感器事件212的集群216满足阈值距离标准。具体而言,集群216内的每个传感器事件212距集群216内的至少一个其他传感器事件212的距离不超过阈值距离214。传感器事件212的集群218也满足阈值距离标准,因为集群218中的传感器事件212彼此之间的距离不超过阈值距离214。传感器事件212的集群220不满足阈值距离标准。集群220内的传感器事件212彼此间的间隔大于阈值距离214。
99.在一些实施方式中,传感器事件212的集群216满足阈值量标准。例如,在一些实施
方式中,阈值量标准要求集群包含传感器事件的阈值量。例如,阈值量可以是三个传感器事件212。在其他实施方式中,阈值量是四个、五个、六个或更多传感器事件。集群216包括三个传感器事件212,因此满足要求集群包含至少三个传感器事件212的标准。集群218不满足阈值量标准,因为集群218仅包含两个传感器事件。集群220满足传感器事件量标准,因为集群220包含三个传感器事件。
100.参考图6b,因为只有集群216满足阈值距离标准和阈值量标准,所以只有传感器事件212的集群216用于推荐行为控制区222。集群218和集群220不满足这两个标准,因此不用于推荐行为控制区。
101.用于推荐行为控制区的标准在其他实施方式中也可以不同。参考图7,在环境230中触发传感器事件232(表示为实线“x”形标记)、传感器事件234(表示为虚线“x”形标记)和传感器事件236(表示为圆形标记)。发生了两种类型的传感器事件,传感器事件232和传感器事件234是第一类型,传感器事件236是第二类型。例如,第一类型可以是障碍物检测传感器事件,第二类型可以是碎屑检测传感器事件。传感器事件232和传感器事件234发生的顺序不同。传感器事件234发生在传感器事件232之前。例如,传感器事件234在自主移动机器人的第一任务中被触发,第二事件232在自主移动机器人的第二任务中被触发。第一次任务是第二次任务之前的一次任务。
102.在该环境中,识别传感器事件的集群241-249。集群241-249可以包括一种类型的传感器事件或两种类型的传感器事件。
103.用于选择传感器事件232、234、236的标准(该标准被认为是用于推荐行为控制区的子集的一部分)可以包括针对图6a和6b描述的一个或多个标准。在一些实施方式中,可以使用额外的或替代的标准。例如,其他标准可以包括对接邻近阈值标准(dock proximity threshold criterion)。在图7所示的例子中,传感器事件232的集群241满足阈值距离标准和阈值量标准。然而,集群241不满足对接邻近阈值标准。集群241的位置被定位在离自主移动机器人的对接站250的位置不超过阈值距离的距离处。集群241的位置可以对应于集群241中传感器事件232的任何一个位置,或者可以对应于基于集群241中传感器事件232的位置所计算的值,例如平均位置或质心。因为集群241的位置在离对接站的位置的阈值距离内,所以为了避免定义阻止自主移动机器人与对接站250对接的行为控制区,不推荐传感器事件212的集群241的行为控制区。
104.在一些实施方式中,基于包括第一类型传感器事件的集群是否接近第二类型传感器事件来满足一标准。如果第一类传感器事件的群集在阈值距离内或者将定义覆盖第二类传感器事件的行为控制区,则不推荐行为控制区。在图7所示的示例中,集群242包括传感器事件232以及几个传感器事件236。传感器事件232的集群242满足阈值距离标准和阈值量标准。但是因为集群242在距离至少一个传感器事件236的阈值距离(其不同于阈值距离标准的阈值距离)内,所以集群242不被用作推荐行为控制区的基础。例如,在传感器事件232表示障碍物检测传感器事件并且传感器事件236表示碎屑检测传感器事件的实施方式中,不推荐障碍物检测传感器事件的行为控制区,使得自主移动机器人可以进入包含传感器事件232的区域来清洁该区域内的碎屑。
105.在一些实施方式中,基于时间量来满足时机标准。在图7所示的示例中,集群243包括传感器事件234,其在比传感器事件232被触发更早的时间被触发。在一些实施方式中,自
传感器事件234发生以来的时间量超过阈值时间量,因此不满足时机标准。阈值时间量可以是一天、两天、三天或更多天,或者可以是一周、两周或更多周。在一些实施方式中,基于自传感器事件234发生以来已经过去的任务数量来满足时机标准。自传感器事件234发生以来的任务量超过了阈值任务量,因此不满足时机标准。阈值任务量可以是一个任务、两个任务、三个任务或更多个任务。因为不满足时机标准,所以集群243不用于推荐行为控制区。
106.在一些实施方式中,不管集群中传感器事件的类型如何,都使用阈值距离标准和阈值量标准。例如,集群244仅包括传感器事件236。阈值距离标准和阈值量标准可以分别使用相同的阈值距离和相同的阈值量,作为传感器事件232的集群的阈值距离标准和阈值量标准。在其他实施方式中,阈值距离和阈值量可以根据传感器事件的类型而不同。例如,碎屑检测传感器事件的阈值距离可以高于或低于障碍物检测传感器事件的阈值距离。在图7所示的示例中,传感器事件236的集群244满足用于识别推荐行为控制区的传感器事件子集的相关标准。因此,推荐行为控制区260。在传感器事件236是碎屑检测传感器事件的示例中,推荐行为控制区260可以使自主移动机器人执行集中清洁行为。
107.传感器事件232的集群245不满足阈值量标准。基于集群245,不推荐行为控制区。
108.在一些实施方式中,基于行为控制区是否会阻挡环境中第一区域和第二区域之间的路径从而防止自主移动机器人进入该区域,以此满足一标准。在图7所示的示例中,传感器事件232的集群246位于第一房间266和第二房间267之间的路径265内。集群246满足阈值距离标准和阈值量标准。但是如果行为控制区被创建为覆盖传感器事件232的集群246,则这种行为控制区将阻止自主移动机器人从第一房间266移动到第二房间267,或者将阻止自主移动机器人从第二房间267移动到第一房间266。
109.相反,传感器事件232的集群247位于第一房间266和第三房间269之间的路径268内。基于集群247推荐的行为控制区261会将第一房间266和第三房间269分开,并在第一房间266和第三房间269之间提供可通过的路径270。可通过路径270可以具有至少与自主移动机器人一样宽的宽度。在一些实施方式中,为了满足标准,可通过路径270的宽度必须具有至少一个机器人宽度、两个机器人宽度或更大的宽度。
110.集群248包括传感器事件232和传感器事件234。集群248满足阈值量标准和阈值距离标准。相应地定义了推荐行为控制区262。
111.在一些实施方式中,基于集群是否包含一段时间内多个任务的传感器事件来满足一标准。在这样的实施方式中,行为控制区261和行为控制区260可能不被推荐,因为传感器事件232和传感器事件236仅发生在单个任务期间。尽管如此,仍然推荐行为控制区262,因为集群248包括在较早任务期间发生的传感器事件234以及在较晚任务期间发生的传感器事件232。由自主移动机器人收集并与传感器事件232和传感器事件234相关联的传感器数据是在多个任务期间和一个时间段内收集的。多个任务的数量可以在阈值数量内,例如两个、三个或更多个任务。时间段可以在阈值时间段内,例如一天、两天、三天或更多天、数月或数周。
112.在一些实施方式中,代替集群248被用作推荐行为控制区的基础,两个不同的集群248a、248b被用作推荐行为控制区262的基础。每个集群248a、248b独立地满足推荐行为控制区的标准。然而,集群248a中的传感器事件232和集群248b中的传感器事件232可能都不满足某个标准,例如距离阈值标准。例如,集群248a和集群248b中最接近的传感器事件232
可能相隔的距离大于用于距离阈值标准的距离阈值。结果,推荐了两个不同的行为控制区,一个推荐给集群248a,另一个推荐给集群248b。在一些实施方式中,如果两个或更多个推荐行为控制区满足行为控制区间隔标准,则两个或更多个推荐行为控制区被彼此组合,以形成一个推荐行为控制区。例如,针对集群248a、248b的最终推荐行为控制区可以由不超过行为控制区间隔标准的阈值距离的距离来隔开。结果,所推荐的行为控制区被彼此组合以形成一个推荐行为控制区,即,所推荐的行为控制区262,覆盖集群248a和集群248b。
113.如本文所述,当集群中的传感器事件不超过阈值距离时,满足距离阈值标准。在一些实施方式中,当传感器事件至少被与距离阈值标准的阈值距离不同的阈值距离分开时,满足最小间隔标准。最小间隔标准的阈值距离代表传感器事件之间间隔的下限,用于距离阈值标准的阈值距离代表传感器事件之间间隔的上限。在一些实施方式中,当子集中的至少一个传感器事件大于最小间隔标准的距离阈值时,满足最小间隔标准。在图7所示的例子中,传感器事件232的群集249靠得太近。集群249中的每个传感器事件232都在集群249中的每个其他传感器事件232的距离阈值内。因为不满足最小间隔标准,所以基于传感器事件232的集群249,不推荐行为控制区。
114.回到图5,传感器事件的子集在操作202处被识别,然后可以用于提供行为控制区的推荐。在操作202被执行之后,在操作204,表示推荐行为控制区的数据被提供给用户计算设备。推荐的行为控制区可以包含与传感器事件子集相关联的位置子集。具体地,由推荐的行为控制区覆盖的区域可以包括与传感器事件的子集相关联的位置的子集。
115.在操作206,响应于来自用户计算设备的用户选择,定义用户选择的行为控制区。用户选择的行为控制区可以基于推荐的行为控制区。例如,用户可以操作用户计算设备来提供用户选择。用户选择可以表明接受推荐的行为控制区、拒绝推荐的行为控制区或修改推荐的行为控制区。在一些实施方式中,用户选择对应于接受推荐的行为控制区,使得用户选择的行为控制区与推荐的行为控制区相同。
116.用户选择的行为控制区的定义可以包括定义用户选择的行为控制区的某些参数。在操作204定义的推荐行为控制区的参数可以作为用户修改的起点,以定义用户选择的行为控制区的参数。
117.在一些实施方式中,用户选择的行为控制区的定义可以包括定义用户选择的行为控制区的几何特征。例如,为了定义用户选择的行为控制区,可以定义用户选择的行为控制区的周界、用户选择的行为控制区的一个或多个尺寸、用户选择的行为控制区的形状或用户选择的行为控制区的其他几何特征。可以在操作204处定义推荐行为控制区的几何特征,然后用户可以在操作206处修改推荐行为控制区的一个或多个几何特征,以定义用户选择的行为控制区。例如,用户可以修改推荐行为控制区的长度或宽度,以定义用户选择的行为控制区的长度或宽度。
118.在一些实施方式中,用户选择的行为控制区的定义可以包括定义由机器人100执行的特定行为,或者定义由在环境中操作的另一个自主移动机器人执行的行为。在只有机器人100在环境中操作的实施方式中,用户可以选择机器人100响应于遇到或进入用户选择的行为控制区而执行哪个行为。例如,机器人100可以执行移动行为或集中清洁行为。在多个自主移动机器人在环境中操作的实施方式中,用户可以选择不同的自主移动机器人执行不同的行为,或者可以选择一个或多个自主移动机器人不响应于遇到或进入行为控制区而
改变行为。在一些示例中,第一个自主移动机器人在行为控制区中执行集中清洁行为,而第二个自主移动机器人执行移动行为,以避开行为控制区。
119.在一些实施方式中,用户选择的行为控制区的定义可以包括定义行为控制区的时间表。对于机器人100执行的所有任务而言,在操作204处定义的推荐行为控制区可以被定义为在任何时候都是激活的。对于机器人100要执行的至少一些任务,用户可能不希望用户选择的行为控制区是激活的。该时间表可以指明用户选择的行为控制区激活的一个或多个任务,或者可以指明用户选择的行为控制区激活的时间段。例如,可以定义用户选择的行为控制区,使得用户选择的行为控制区仅在工作时间、上午和下午、一周的特定日子或特定月份发生的任务期间是激活的。可替换地,该时间表也可以是情境控制的,使得用户选择的行为控制区可以仅在满足特定条件时才是激活的。例如,用户选择的行为控制区可以被定义为仅当环境中没有人类居住者存在时、当人类居住者不在行为控制区的位置附近时、当宠物不在行为控制区的位置附近时、当机器人100具有超过特定阈值的电池水平时、或者当满足与机器人100或环境相关的另一条件时才是激活的。
120.如本文所述,过程200的操作202、204、206可以由通信网络185中的一个或多个计算设备来执行。例如,远程计算系统192(图4所示)可以执行操作202、204、206中的每一个,然后机器人100可以访问用户选择的行为控制区的数据,使得在任务期间,可以根据用户选择的行为区域来控制机器人100。在一些实施方式中,机器人100执行操作202、204、206中的每一个,并且在一些实施方式中,用户计算设备188执行操作202、204、206中的每一个。在一些实现中,通信网络185中的两个或多个设备一起工作来执行操作202、204、206中的一个或多个。在一些实施方式中,通信网络185中的不同设备执行过程200的不同操作。
121.图8示出了用于向用户呈现推荐行为控制区和用户选择的行为控制区的视觉表示的示例方法流程图。机器人100的环境的地图可以被可视地呈现,然后推荐的行为控制区的表示符和用户选择的行为控制区的表示符可以被叠放地图上。该方法是针对本文描述的机器人100的控制来描述的。在其他实施方式中,根据图8所示方法的实施方式,可以通过定义行为控制区来控制其他类型的自主移动机器人。
122.参考图8,过程300包括操作302和304。过程300用于呈现推荐的和用户选择的行为控制区的表示符,以向用户提供机器人100环境内的行为控制区的几何特征的视觉表示。
123.在一些实施方式中,在执行操作302和304之前,可以在用户计算设备188上发送通知,以通知用户已推荐了行为控制区。例如,参考图9,用户计算设备(例如,用户计算设备188)的用户界面310呈现表示推荐行为控制区的通知312。通知312表明机器人100最近一直卡在同一地点,例如,由于机器人100的障碍物检测传感器检测到的地点附近的障碍物造成的。用户界面310还呈现通知314,表示推荐另一行为控制区。通知314表示机器人100最近在同一地点检测到许多碎屑,例如,由于机器人100的碎屑传感器检测到的地点附近的碎屑。用户可以操作用户界面310来响应于通知312、314启动行为控制区的定义。
124.回到图8,响应于来自用户的启动行为控制区定义的命令,用户界面可以呈现环境的视觉表示,以帮助定义行为控制区。在操作302,呈现环境的地图和推荐行为控制区的第一表示符。例如,参考图10a,地图316和第一表示符318在用户计算设备的用户界面310上可视地呈现给用户。地图316和第一表示符318的视觉表示现可以允许用户看到推荐的行为控制区位于环境中的何处。
125.地图316可以是环境的平面图的视觉表示,例如图1所示的环境。当机器人100在环境中移动时,可以基于机器人100收集的地图绘制数据来生成地图316。可以基于由机器人100(如图1所示)收集的传感器数据来生成推荐的行为控制区(由第一表示符318指示)。例如,可以使用本文描述的过程200来生成推荐的行为控制区,例如操作202和204。第一表示符318可以叠放在地图上,以表示推荐的行为控制区在环境中的位置。此外,第一表示符318可以表示推荐行为控制区的几何特征,例如推荐行为控制区的周长、形状或一个或多个尺寸。第一表示符318也相对于地图316定位,以表示环境中推荐的行为控制区的位置。
126.在一些实施方式中,关于第一表示符318的几何特征的信息也呈现在用户界面310上。例如,尺寸330a、330b呈现在用户界面310上,以表示推荐行为控制区的宽度和长度。在一些实施方式中,可以表示其他几何特征。例如,可在用户界面310上呈现推荐行为控制区的周长、边长、边间角度、面积或其他几何测量值。此外,第一表示符318显示推荐的行为控制区是矩形的。在其他实施方式中,推荐的行为控制区可以具有其他形状,包括多边形、圆形、三角形或其他形状。
127.在操作304,在用户计算设备的用户界面上呈现用户选择的行为控制区的第二表示符。例如,参考图10b,用户选择的行为控制区的地图316和第二表示符320呈现在用户界面310上。第二表示符320可以叠放在地图316上。
128.此外,第二表示符320可以表示用户选择的行为控制区的几何特征,例如用户选择的行为控制区的周长、形状或一个或多个尺寸。第二表示符320也相对于地图316定位,以表示用户选择的行为控制区在环境中的位置。
129.在一些实施方式中,关于第二表示符320的几何特征的信息也呈现在用户界面310上。例如,尺寸332a、332b呈现在用户界面310上,以指示推荐行为控制区的宽度和长度。在一些实施方式中,可以表示其他几何特征。例如,可在用户界面310上呈现推荐行为控制区的周长、边长、边间角度、面积或其他几何测量值。此外,第一表示符318显示推荐的行为控制区是矩形的。在其他实现中,推荐的行为控制区可以具有其他形状,包括多边形、圆形、三角形或其他形状。
130.用户选择的行为控制区的第二表示符320是基于推荐行为控制区和由图10a中第一表示符318表示的推荐行为控制区的用户选择修改来呈现的。因此,第二表示符320表示基于推荐行为控制区的行为控制区用户选择。参考图10a,用户可以与用户界面310交互,并调整由第一表示符318表示的推荐行为控制区。例如,用户可以操作用户输入设备,例如触摸屏、鼠标、触控板或其他用户输入设备,并对推荐行为控制区的形状、大小、长度、宽度或其他几何特征进行用户选择修改。在图10a所示的示例中,如果用户界面310包括触摸屏,则用户可以触摸第一表示符318的一角319,并在向下方向321上拖动以调整推荐行为控制区的大小。这种尺寸调整产生由第二表示符320表示的用户选择行为控制区。
131.当用户对推荐的行为控制区进行改变时,图10b中所示的第二表示符320可以表示相对于图10a中所示的第一表示符318的改变,从而提供推荐的行为控制区和用户选择的行为控制区之间的比较手段。在图10b所示的例子中,第二表示符320包括第一部分322和第二部分324。第一部分322表示推荐的行为控制区,并且具有与图10a所示的第一表示符318的几何特征对应的几何特征。第二部分324表示推荐行为控制区的用户选择修改,并因此表示推荐行为控制区和用户选择的行为控制区之间的差异。
132.第二表示符320的第一和第二部分322、324可以通过呈现在用户界面310上的各种视觉特征来彼此区分。在图10b所示的例子中,第一部分322具有第一阴影样式,第二部分324具有不同于第一阴影样式的第二阴影样式。在一些实施方式中,第一部分322和第二部分324具有不同的颜色。在一些实施方式中,第二表示符320被叠放在第一表示符318上,而不是通过显示第二表示符320的第一和第二部分322、324来指示推荐行为控制区的修改。第二表示符320可以是透明层,以允许第一表示符318透过第二表示符320可见。因此,用户可以看到第一表示符318和第二表示符320,并且通过同时查看第一表示符318和第二表示符320来可视地比较推荐的行为控制区和用户选择的行为控制区。
133.参考图11,示出了用于提供推荐行为控制区、定义用户选择的行为控制区、以及基于用户选择的行为控制区来控制机器人100的过程400。在操作402,机器人100开始在环境中操纵。在操作404,机器人100收集传感器数据,并在机器人100在环境中移动时生成环境的地图绘制数据。可以基于传感器数据生成地图绘制数据。地图绘制数据可以指明传感器数据和与传感器数据相关联的位置数据。
134.在操作406,地图绘制数据可用于识别传感器事件的子集,以生成推荐的行为控制区。操作406可以类似于参照图5描述的操作202。操作406可以由计算系统401执行。计算系统401可以是位于机器人100上或位于用户计算设备188上的控制器。或者,计算系统401可以是远程计算系统(例如,远程计算系统192)。在一些实施方式中,计算系统401是分布式计算系统,其包括位于多个设备上的处理器,例如机器人100、用户计算设备188或远程计算系统192。在一些实施方式中,除了机器人100之外,计算系统401可以包括自主移动机器人上的处理器。
135.在操作408,生成表示推荐行为控制的数据,并将其提供给用户计算设备188。操作408类似于参照图5描述的操作204。
136.在操作410,用户计算设备188呈现出地图和推荐行为控制区的第一表示符。操作410类似于参照图8描述的操作302。在操作412,用户30提供表示用户选择的行为控制区的输入。例如,用户30可以参照图9a和9b描述的方式操作用户计算设备188,以提供推荐行为控制区的用户选择修改。
137.在操作414,用户计算设备188呈现出地图和用户选择的行为控制区的第二表示符。操作414类似于参照图8描述的操作304。如本文所述,图9b中示出了地图和第二表示符的示例。
138.在操作416,由计算系统401定义用户选择的行为控制区。操作416类似于参照图5描述的操作206。在操作418,计算系统401确定机器人100接近用户选择的行为控制区或在用户选择的行为控制区内。并且在操作420,机器人100启动与用户选择的行为控制区相关联的行为。如本文所述,行为可以在各实施方式中变化。
139.其他替代实施方式
140.图10a和10b描绘了用户界面310为用户呈现视觉信息。用户界面310可以在各实施方式中不同。用户界面310可以是不透明显示器或透明显示器。在图4所示的实施方式中,用户计算设备188可以包括不透明显示器,该不透明显示器可以将地图可视地呈现为显示器上可见的图像。在一些实施方式中,用户计算设备188可以包括透明显示器,其允许显示器呈现出地图和叠放在地图上的表示符的虚拟现实表示。
141.图2和3a-3b中描绘的机器人100是地板清洁机器人。具体地,机器人100是真空清洁机器人,其在地板表面10上移动,并且当机器人100在地板表面10上的碎屑上移动时吸收碎屑。机器人的类型可以在各实施方式中不同。在一些实施方式中,机器人是地板清洁机器人,其使用沿着地板表面移动的清洁垫来收集地板表面上的碎屑。机器人可以包括流体施加装置,例如喷射装置,其将流体(例如水或包括清洁剂的清洁溶液)施加到地板表面,以使地板表面上的碎屑松散。当机器人沿着地板表面移动时,机器人的清洁垫可以吸收流体。除了本文描述的行为控制区的使用之外,当机器人是湿式清洁机器人时,行为控制区可以用于控制机器人的其他参数。例如,行为控制区可用于控制机器人的流体应用模式。当机器人在地板表面上移动时,机器人可以以一定的速度喷射流体。当机器人遇到或进入行为控制区时,机器人喷射流体的速度可能会改变。响应于表示地板表面类型变化的传感器事件,可以推荐这种行为控制区。
142.在一些实施方式中,可以使用具有图像捕捉设备的巡逻机器人。巡逻机器人可以包括相对于巡逻机器人的主体移动图像捕捉设备的机构。当机器人是巡逻机器人时,除了本文描述的那些之外,行为控制区可以用于控制机器人的参数。
143.虽然机器人100被描述为圆形机器人,但是在其他实施方式中,机器人100可以是包括大致矩形的前部和大致半圆形的后部的机器人。在一些实施方式中,机器人100具有大致矩形的外周。
144.本文描述的机器人和技术或其部分可由计算机程序产品控制,该计算机程序产品包括存储在一个或多个非暂时性机器可读存储介质上的指令,并且该指令可在一个或多个处理设备上执行以控制(例如,协调)本文描述的操作。本文描述的机器人或其部分可以被实现为设备或电子系统的全部或部分,该设备或电子系统可以包括一个或多个处理设备和存储器,以存储可执行指令来实现各种操作。
145.与实现本文描述的机器人操作和控制的全部或部分相关联的操作可以由执行一个或多个计算机程序以执行本文描述的功能的一个或多个可编程处理器来执行。例如,移动设备、被配置为与移动设备和自主清洁机器人通信的云计算系统以及机器人的控制器都可以包括用计算机程序编程的处理器,用于执行诸如传输信号、计算估计或解释信号的功能。计算机程序可以用任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的另一个单元。
146.本文描述的控制器和移动设备可以包括一个或多个处理器。举例来说,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储区或随机存取存储区或两者接收指令和数据。计算机的元件包括用于执行指令的一个或多个处理器以及用于存储指令和数据的一个或多个存储区域设备。一般而言,计算机还将包括一个或多个机器可读存储介质,例如用于存储数据的大容量pcb,例如磁盘、磁光盘或光盘,或者可操作地耦合到一个或多个机器可读存储介质,以从一个或多个机器可读存储介质接收数据,或者向一个或多个机器可读存储介质传送数据,或者两者兼有。适于包含计算机程序指令和数据的机器可读存储介质包括所有形式的非易失性存储区域,例如包括半导体存储区域设备,例如eprom、eeprom和闪存存储区域设备;磁盘,例如内部硬盘或可移动磁盘;cd-rom;和dvd-rom。
147.本文描述的机器人控制和操作技术可适用于控制除清洁机器人之外的其他移动机器人。例如,草坪修剪机器人或空间监控机器人可以被训练成在如本文所述的草坪或空间的特定部分执行操作。
148.本文描述的不同实施方式的要素可以被组合以形成上面没有具体阐述的其他实现。要素可以被排除在本文描述的结构之外,而不会不利地影响它们的操作。此外,各种单独的元件可以组合成一个或多个单独的元件,以执行本文描述的功能。
再多了解一些

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

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

相关文献