Control of autonomous mobile robot

文档序号:310862 发布日期:2021-11-26 浏览:23次 中文

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

1. An autonomous mobile robot, comprising:

a drive system supporting the robot above a surface, the drive system operable to navigate the robot over the surface;

a sensor system configured to generate a signal indicative of a position of the robot on the surface;

a controller operatively connected to the drive system and the sensor system, the controller configured to execute instructions to perform operations comprising:

a behavior control zone is established on the surface,

controlling the drive system to maneuver the robot to a location on the surface in response to establishing a behavior control zone on the surface, and

manipulating the robot at the surface using the drive system and initiating a behavior in response to determining that the robot is proximate to the behavior control zone based on a signal representative of a position of the robot.

2. The robot of claim 1, further comprising a light indicator system, wherein the controller is operably connected to the light indicator system, and the operation includes activating the light indicator system in response to the robot approaching the behavior control zone.

3. The robot of claim 2, wherein activating the light indicator system in response to the robot approaching the behavior control zone comprises operating the light indicator system to indicate a direction of the behavior control zone relative to a position of the robot.

4. The robot of claim 2, wherein the operations comprise activating the light indicator system in response to establishing the behavior control zone.

5. The robot of claim 1, wherein the operations further comprise, in response to establishing the behavior control zone, controlling the drive system to navigate the robot through at least a portion of the behavior control zone.

6. The robot of claim 5, wherein controlling the drive system to navigate the robot through at least a portion of the behavior control zone comprises controlling the drive system to navigate the robot through at least a portion of the behavior control zone in response to wirelessly receiving a user instruction.

7. The robot of claim 5, wherein the portion of the behavior control region comprises a perimeter of the behavior control region.

8. The robot of claim 5, wherein the portion of the behavior control zone comprises a path through an interior of the behavior control zone.

9. The robot of claim 1, wherein the operations further comprise:

transmitting mapping data for causing the mobile device to present a map of the surface, an

User instructions to establish a behavior control zone are received from the mobile device.

10. The robot of claim 1, wherein the operations further comprise, in response to establishing the behavior control zone, controlling the drive system to navigate the robot along a perimeter of the behavior control zone.

11. The robot of claim 1, wherein:

the surface comprising a first portion having a first surface type and a second portion having a second surface type,

the behavior control zone covers a second portion having the second surface type, and

initiating a behavior in response to determining that the robot is proximate to the behavior control zone based on the signal representative of the position of the robot includes initiating a behavior in response to determining that the robot is proximate to a second portion of the surface while the robot is maneuvered over the first portion of the surface.

12. The robot of claim 1, wherein the robot includes a vacuum system for cleaning the surface, and the action includes adjusting vacuum power delivered to the vacuum system.

13. The robot of claim 1, wherein the behavior comprises adjusting a speed of movement of the robot.

14. The robot of claim 1, wherein the behavior comprises adjusting a direction of movement of the robot.

15. The robot of claim 14, wherein adjusting the direction of movement of the robot comprises orienting the robot to enter the behavior control zone at an angle.

16. The robot of claim 1, wherein the behavior control zone is an exclusion zone and the behavior includes avoiding the exclusion zone.

17. The robot of claim 1, wherein the operations comprise:

controlling the drive system to steer the robot in a first direction along a path into the behavior control zone, an

In response to detecting that the robot is within the behavior control zone, controlling a drive system to steer the robot in a second direction along the path out of the behavior control zone.

18. The robot of claim 1, wherein the operations comprise:

detecting that the robot is within the behavior control zone, an

Preventing the robot from initiating an operation in response to detecting that the robot is within the behavior control zone.

19. The robot of claim 18, wherein preventing the robot from initiating operations in response to detecting the robot is within the behavior control zone comprises preventing the robot from initiating movement operations in response to detecting the robot is within the behavior control zone.

20. The robot of claim 1, wherein initiating a behavior in response to determining that the robot is proximate to the behavior control zone based on the signal indicative of the position of the robot comprises initiating a behavior in response to determining that the robot is within a buffer around the behavior control zone based on the signal indicative of the position of the robot.

21. The robot of claim 20, wherein:

the sensor system is configured to generate data indicative of a position of the robot on the surface, and

the operations include estimating an uncertainty associated with data indicative of a position of the robot, wherein a size of the buffer is based on the estimated uncertainty.

22. The robot of claim 21, wherein a size of the buffer is proportional to the estimated uncertainty.

23. The robot of claim 20, wherein a size of the buffer is user selected, the size provided by a mobile device.

24. The robot of claim 1, wherein the behavior control zone covers a first portion of the surface containing an object, and the operations comprise:

in response to the object being moved to a second portion of the surface, updating the behavior control region to cover the second portion of the surface.

25. A method, comprising:

presenting a map on a display, the map comprising a representation of a perimeter of a surface in an environment;

presenting and overlaying on the display representations of features of the environment;

receiving a user instruction to establish a behavior control zone on a surface; and

transmitting data representing the behavior control zone to an autonomous mobile robot to cause the robot to move to a location on the surface at the behavior control zone, and causing the robot to initiate a behavior in response to the robot approaching the behavior control zone while maneuvering on the surface.

Technical Field

The present invention relates to control of an autonomous mobile robot.

Background

Autonomous mobile robots include autonomous cleaning robots that autonomously perform cleaning tasks within an environment (e.g., a home). Many kinds of cleaning robots are autonomous to some extent and work in different ways. The cleaning robot may include a controller configured to autonomously navigate the robot in the environment such that the robot may ingest debris while moving.

Disclosure of Invention

A human user may create a cleaning zone for an autonomous mobile cleaning robot, for example by using a mobile device. The mobile device may present an environment map to the human user, and the human user may indicate the clean area, for example, by interacting with a touch screen of the mobile device. The cleaning area may define an area where the robot performs additional cleaning or less cleaning. For example, a human user may create an exclusion zone to prevent the autonomous mobile cleaning robot from cleaning certain areas in the environment. In another example, a human user may create a critical cleaning area where the autonomous mobile cleaning robot may perform additional cleaning in the environment (e.g., clean longer duration, higher vacuum power, clean multiple times with more cleaning pads, or with more water). After the cleaning area is established, the robot may confirm the cleaning area by, for example, moving to the cleaning area.

Advantages of the foregoing and other embodiments described herein may include, but are not limited to, those described below and elsewhere herein. For example, embodiments described herein may improve the ease, accuracy, customizability, and adaptability of selection of behavior control regions for controlling autonomous mobile robot behavior.

Embodiments described herein may improve convenience of a user in selecting a behavior control zone of an autonomous mobile robot. For example, a mobile application may present a representation of the environment of an autonomous mobile robot (e.g., a 2D map), and a user may interact with the representation to define a behavior control zone. The representation may provide a reference to the user when the user defines the behavior control region. In addition, an indicator of the characteristics of the environment (e.g., an icon representing a table) may be superimposed on the representation of the environment to provide further reference. In some implementations, the user can simply define a behavior control region by selecting one of the indicators, the defined behavior control region corresponding to an object or feature in the environment corresponding to the selected indicator. This selection process is intuitive for the user and allows the user to easily discern where in the environment the selected behavior control region is.

Embodiments described herein may further improve the accuracy of arranging the behavior control zones. The reference indicator presented on the mobile application may allow the user to select a behavior control region that more accurately matches the user's intended placement of the behavior control region. For example, a user may select a behavior control region by simply selecting an indicator of an environmental feature of the autonomous mobile robot, rather than having to roughly interact with a mobile application to establish a boundary of the behavior control region.

The validation of the behavior control region may further ensure that the selected behavior control region matches the user's expected behavior control region. The robot may physically move to the behavior control zone so that the user can confirm that the position of the robot matches the position of the behavior control zone desired by the user. In some embodiments, the user may further provide confirmation that the position of the robot after moving to the position of the behavior control zone matches the expected position of the behavior control zone of the user. Such a confirmation step may improve the accuracy of arranging the behavior control region.

In embodiments where multiple autonomous mobile robots move in an environment, the behavior control zones may be established in a manner that each robot is controlled differently. For example, the behavior control zone may be used to avoid the behavior control zone by one robot but not another. Such differential control of robots may improve the ability of a user to manage a team of robots, each robot performing a different function within the team. For example, one robot may be a vacuum cleaning robot, while another robot may be a floor mopping robot. In such embodiments, a user may benefit from being able to establish a behavior control zone that, for example, allows the vacuum cleaning robot to enter a particular floor area, such as a carpet, but does not allow the floor mopping robot to enter the particular floor area.

Embodiments described herein may further improve the efficiency of selecting and updating a behavior control region. In some implementations, the user defines a behavior control zone associated with the environmental feature. In some cases, the location of the environmental feature may move. Instead of the user having to manually update the behavior control region, the behavior control region may be automatically updated in response to detecting movement of an environmental feature, for example, as detected by the robot as it moves over the floor surface. Such automatic updating of the behavior control region reduces the need for user input to update the behavior control region.

Embodiments described herein may further improve the customizability of the operation of autonomous mobile robots in different environments. The user may select a behavior control zone such that the autonomous mobile robot performs a particular behavior in an environmental area that requires particular attention of the robot. In the example where the robot is a cleaning robot, the behavior control zone may be selected such that the robot performs an intensive cleaning operation in areas of the environment that often become more dirty relative to other areas of the environment.

In one aspect, an autonomous mobile robot includes a drive system supporting the robot above a surface, a sensor system configured to generate a signal indicative of a position of the robot on a surface, and a controller operably connected to the drive system and the sensor system. The drive system is operable to navigate the robot over the surface. The controller is configured to execute instructions to perform operations including establishing a behavior control zone on the surface, in response to establishing the behavior control zone on the surface, controlling a drive system to maneuver a robot over the surface to a location of the behavior control zone, and manipulating the robot over the surface using the drive system, and initiating a behavior in response to determining that the robot is proximate to the behavior control zone based on a signal representative of the location of the robot.

In some embodiments, the robot may further comprise a light indicator system. The controller may be operably connected to the light indicator system, and the operations may include activating the light indicator system in response to the robot approaching the behavior control zone.

In some embodiments, activating the light indicator system in response to the robot approaching the behavior control zone may include operating the light indicator system to indicate a direction of the behavior control zone relative to the robot position.

In some embodiments, the operations may include activating the light indicator system in response to establishing the behavior control zone.

In some embodiments, the operations may include, in response to establishing the behavior control zone, controlling the drive system to navigate the robot through at least a portion of the behavior control zone. In some embodiments, controlling the drive system to navigate the robot through at least a portion of the behavior control zone may include controlling the drive system to navigate the robot through at least a portion of the behavior control zone in response to wirelessly receiving a user instruction. In some embodiments, the portion of the behavior control region may include a perimeter of the behavior control region. In some embodiments, the portion of the behavior control region may include a path through the interior of the behavior control region.

In some implementations, the operations may further include transmitting the mapping data to cause the mobile device to present a map of the surface, and receiving user instructions from the mobile device to establish the behavior control region.

In some embodiments, the operations may further include, in response to establishing the behavior control zone, controlling the drive system to navigate the robot along a perimeter of the behavior control zone.

In some embodiments, the surface may include a first portion having a first surface type and a second portion having a second surface type. The behavior control region may cover a second portion having a second surface type. Initiating the behavior in response to determining that the robot is proximate to the behavior control region based on the signal indicative of the robot position may include initiating the behavior in response to determining that the robot is proximate to a second portion of the surface as the robot maneuvers over the first portion of the surface.

In some embodiments, the robot may include a vacuum system for cleaning the surface, and the act includes adjusting vacuum power delivered to the vacuum system.

In some embodiments, the behavior may include adjusting a speed of movement of the robot.

In some embodiments, the behavior may include adjusting a direction of movement of the robot.

In some embodiments, adjusting the direction of movement of the robot may include orienting the robot to enter the behavior control zone at an angle.

In some embodiments, the behavior control zone may be an exclusion zone. Such behavior may include avoiding the exclusion zone.

In some embodiments, the operations may include: the drive system is controlled to maneuver the robot in a first direction along a path into the behavior control zone, and in response to detecting that the robot is within the behavior control zone, the drive system is controlled to maneuver the robot in a second direction along the path out of the behavior control zone.

In some embodiments, the operations may include: the method may include detecting that the robot is within the behavior control zone, and preventing initiation of robot operation in response to detecting that the robot is within the behavior control zone. In some embodiments, preventing initiation of operation of the robot in response to detecting that the robot is within the behavior control zone may include preventing initiation of movement operation of the robot in response to detecting that the robot is within the behavior control zone.

In some embodiments, initiating the behavior in response to determining that the robot is proximate to the behavior control zone based on the signal indicative of the robot position may include initiating the behavior in response to determining that the robot is within a buffer around the behavior control zone based on the signal indicative of the robot position. In some embodiments, the sensor system is configured to generate data indicative of a position of the robot on the surface. The operations may include estimating an uncertainty associated with the data representative of the robot position, wherein the size of the buffer is based on the estimated uncertainty. In some embodiments, the size of the buffer may be proportional to the estimated uncertainty. In some embodiments, the size of the buffer may be selected by a user. The size may be provided by the mobile device.

In some embodiments, the behavior control region covers a first portion of the surface that contains an object. The operations may include updating the behavior control region to cover a second portion of the surface in response to the object being moved to the second portion of the surface.

In another aspect, a method comprises: presenting a map on a display, the map comprising a representation of a perimeter of a surface in an environment; presenting on a display and overlaying on a map representations of environmental features; receiving a user instruction to establish a behavior control zone on a surface; and transmitting data representing the behavior control zone to the autonomous mobile robot to cause the robot to move to a location of the behavior control zone on the surface, and to cause the robot to initiate a behavior in response to the robot approaching the behavior control zone while the robot is maneuvered over the surface.

In some embodiments, the behavior control region may be associated with at least one indicator. In some implementations, the feature of the environment can include an object on a surface. The at least one indicator may indicate an object on the surface. In some implementations, the characteristic of the environment can include a surface type of the portion of the surface. The at least one indicator may indicate a surface type. In some embodiments, the method may further include presenting an image of the environment in an augmented reality mode and an indicator representing the behavior control region overlaid on the image of the environment. In some implementations, receiving the user instruction to establish the behavior control region associated with the at least one indicator can include receiving a user selection of a portion of the map that is closest to the at least one indicator.

In some embodiments, the robot may be a first autonomous mobile robot. Receiving the user instruction to establish the behavior control zone may include establishing the behavior control zone such that the first robot avoids the behavior control zone in the initiated behavior and the second autonomous mobile robot autonomously maneuvers through the behavior control zone.

In some embodiments, the method may further include presenting a request to confirm establishment of the behavior control region. Presenting the request to confirm establishment of the behavior control zone may include presenting the request in response to the robot moving around a portion of a perimeter of the behavior control zone.

In some embodiments, the action may be a cleaning action in which the robot moves over the surface to clean the surface.

The details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other potential features, aspects, and advantages will become apparent from the description, the drawings, and the claims.

Drawings

FIG. 1 is a schematic top view of an environment.

Fig. 2, 3A and 3B are a side sectional view, a bottom view and a top perspective view of the autonomous mobile robot.

Fig. 4 is a schematic diagram of a communication network.

Fig. 5A is a flowchart of a process of controlling an autonomous mobile robot according to a behavior control zone.

Fig. 5B is a flowchart of a process of establishing a behavior control region.

Fig. 5C is a flowchart of a process of controlling the autonomous mobile robot.

Fig. 5D is a flowchart of a process of updating the behavior control region.

Fig. 6A-6D are schematic diagrams of a mobile device user interface.

Fig. 7A-7C are schematic top views of environments with behavior control zones.

Fig. 8A and 8B are schematic top views of environments with behavior control zones.

Fig. 9 is a schematic top view of an environment with autonomous mobile robots in a behavior control zone.

FIG. 10 is a schematic top view of an environment having a behavior control zone and a buffer zone.

Fig. 11 is a schematic top view of an environment with multiple robots and behavior control zones.

FIG. 12 is an illustration of a user interface providing behavior control zone indication.

Fig. 13 and 14 are images of portions of an environment overlaid with behavior control region indicators.

15A-15B, 16A-16B, and 17A-17B are illustrations of user interfaces of a mobile device.

Like reference numbers and designations in the various drawings indicate like elements.

Detailed Description

The autonomous mobile robot may be controlled to move over a floor surface in an environment. In some embodiments, the robots may initiate behaviors based on their location on the floor surface. For example, the robot may be controlled to initiate a particular behavior in response to approaching an area on the floor surface. The user may define the region by using, for example, an application executing on the computing device. Once the user defines the area, the robot may move to or towards the area to confirm the selection.

Fig. 1 depicts an example of a robot 100 on a floor surface 10 in an environment 20 (e.g., a home). The user 30 may define the behavior control region 101 using, for example, the methods and systems described herein. In response to the user 30 defining the behavior control region 101, the robot 100 moves to the behavior control region 101 to confirm the selection, for example, to a position near the behavior control region 101. This movement behavior may allow the user 30 to confirm that the actual location of the behavior control region 101 matches the user's expected location of the behavior control region 101.

After confirmation, autonomous operation of the robot 100 may be initiated. In this autonomous operation, the robot 100 may initiate a behavior in response to approaching the behavior control zone 101. For example, in some examples where the robot 100 is an autonomous cleaning robot, the user 30 defines an area in the environment 20 that is prone to become dirty as the behavior control region 101. In response to approaching the behavior control zone 101, the robot 100 may initiate a hard-spot cleaning behavior, wherein the robot 100 hard-spots a portion of the floor surface 10 in the behavior control zone 101. As described herein, a behavior control zone, such as behavior control zone 101, may allow robot 100 to effectively and adaptively clean floor surface 10 in environment 20

Exemplary autonomous Mobile robot

Fig. 2 and 3A-3B depict an example of a robot 100. Referring to fig. 2, as the robot 100 traverses the floor surface 10, the robot 100 collects debris 105 from the floor surface 10. Referring to fig. 3A, the robot 100 includes a housing configuration 108. The housing configuration 108 may define the structural periphery of the robot 100. In some examples, the housing configuration 108 includes a chassis, a cover, a floor, and a bumper assembly. The robot 100 is a home robot having a small profile so that the robot 100 can be installed under furniture in a home. For example, the height H1 (shown in fig. 2) of robot 100 relative to the floor surface may not exceed 13 centimeters. The robot 100 is also compact. The total length L1 (shown in fig. 2) and the total width W1 (shown in fig. 3A) of the robot 100 are each 30 to 60 centimeters, such as 30 to 40 centimeters, 40 to 50 centimeters, or 50 to 60 centimeters. The overall width W1 may correspond to the width of the housing configuration 108 of the robot 100.

The robot 100 includes a drive system 110, the drive system 110 including one or more drive wheels. The drive system 110 also includes one or more motors including an electrically driven portion that forms part of the electrical circuit 106. The housing arrangement 108 supports the circuitry 106 within the robot 100, including at least one controller 109.

The drive system 110 is operable to propel the robot 100 across the floor surface 10. The robot 100 may propel in a forward drive direction F or a backward drive direction R. The robot 100 may also be propelled such that the robot 100 turns in place or turns while moving in the forward drive direction F or the backward drive direction R. In the example shown in fig. 3A, the robot 100 includes drive wheels 112 that extend through a bottom portion 113 of the housing structure 108. The drive wheels 112 are rotated by the motor 114 to move the robot 100 along the floor surface 10. The robot 100 also includes passive casters 115 that extend through the bottom 113 of the housing structure 108. The caster 115 is not powered. The drive wheels 112 and casters 115 cooperate together to support the housing construction 108 above the floor surface 10. For example, the casters 115 are disposed along the rear 121 of the housing structure 108, and the drive wheels 112 are disposed forward of the casters 115.

Referring to fig. 3B, the robot 100 includes a substantially rectangular front portion 122 and a substantially semicircular rear portion 121. Front portion 122 includes side surfaces 150, 152, a front surface 154, and corner surfaces 156, 158. Corner surfaces 156, 158 of the front portion 122 connect the side surfaces 150, 152 to the front surface 154.

In the example shown in fig. 2, 3A and 3B, the robot 100 is an autonomous mobile floor cleaning robot that includes a cleaning assembly 116 (shown in fig. 3A) operable to clean the floor surface 10. For example, robot 100 is a vacuum cleaning robot, wherein cleaning assembly 116 is operable to clean floor surface 10 by ingesting debris 105 (shown in FIG. 2) from floor surface 10. The cleaning assembly 116 includes a cleaning inlet 117 through which the robot 100 collects debris. The cleaning inlet 117 is located forward of a center (e.g., center 162) of the robot 100 and between the side surfaces 150, 152 of the front 122 along the front 122 of the robot 100.

The cleaning assembly 116 includes one or more rotatable members, such as a rotatable member 118 driven by a motor 120. The rotatable member 118 extends horizontally through a front 122 of the robot 100. The rotatable member 118 is positioned along the front portion 122 of the shell configuration 108 and extends along 75% to 95% of the width of the front portion 122 of the shell configuration 108, for example, corresponding to the overall width W1 of the robot 100. Referring also to fig. 2, the cleaning inlet 117 is located between the rotatable members 118.

As shown in fig. 2, the rotatable members 118 are rollers that counter-rotate with respect to each other. For example, the rotatable member 118 may be rotated about parallel horizontal axes 146, 148 (shown in fig. 3A) to agitate the debris 105 on the floor surface 10 and direct the debris 105 toward the cleaning inlet 117, into the cleaning inlet 117, and into the suction path 145 (shown in fig. 2) in the robot 100. Referring back to fig. 3A, the rotatable member 118 may be located entirely within the front 122 of the robot 100. The rotatable members 118 comprise resilient housings that contact debris 105 on the floor surface 10 as the rotatable members 118 rotate relative to the housing arrangement 108 to direct the debris 105 into the interior of the robot 100, such as into a debris bin 124 (shown in fig. 2), through the cleaning inlets 117 between the rotatable members 118. The rotatable member 118 further contacts the floor surface 10 to agitate the debris 105 on the floor surface 10.

The robot 100 also includes a vacuum system 119, the vacuum system 119 being operable to generate an airflow through the cleaning inlet 117 between the rotatable members 118 and into the debris bin 124. The vacuum system 119 includes an impeller and a motor that rotates the impeller to generate an air flow. The vacuum system 119 cooperates with the cleaning assembly 116 to draw debris 105 from the floor surface 10 into the debris bin 124. In some cases, the airflow generated by the vacuum system 119 creates sufficient force to draw debris 105 on the floor surface 10 up through the gaps between the rotatable members 118 and into the debris bin 124. In some cases, the rotatable member 118 contacts the floor surface 10 to agitate the debris 105 on the floor surface 10, thereby allowing the debris 105 to be more easily ingested by the airflow created by the vacuum system 119.

The robot 100 also includes a brush 126 that rotates about a non-horizontal axis (e.g., an axis that forms an angle between 75 degrees and 90 degrees with the floor surface 10). For example, the non-horizontal axis forms an angle between 75 degrees and 90 degrees with the longitudinal axis of the rotatable member 118. The robot 100 includes a motor 128 operatively connected to the brush 126 to rotate the brush 126.

The brushes 126 are side brushes laterally offset from the front-to-back axis FA of the robot 100 such that the brushes 126 extend beyond the outer perimeter of the housing configuration 108 of the robot 100. For example, the brush 126 may extend beyond one of the side surfaces 150, 152 of the robot 100 so as to be able to access debris on portions of the floor surface 10 that are not normally accessible to the rotatable member 118, e.g., portions of the floor surface 10 outside of the portion directly below the robot 100. The brush 126 is also offset forward from the lateral axis LA of the robot 100 such that the brush 126 also extends beyond the front surface 154 of the housing formation 108. As shown in fig. 3A, the brush 126 extends beyond the side surface 150, the corner surface 156, and the front surface 154 of the housing formation 108. In some embodiments, the horizontal distance D1 by which the brush 126 extends beyond the side surface 150 is at least, for example, 0.2 centimeters, such as at least 0.25 centimeters, at least 0.3 centimeters, at least 0.4 centimeters, at least 0.5 centimeters, at least 1 centimeter, or more. The brush 126 is positioned to contact the floor surface 10 during rotation thereof such that the brush 126 can easily reach the debris 105 on the floor surface 10.

As the robot 100 moves, the brush 126 may rotate about a non-horizontal axis in a manner that brushes debris on the floor surface 10 into the cleaning path of the cleaning assembly 116. For example, in an example where the robot 100 moves in the forward drive direction F, the brush 126 may rotate in a clockwise direction (when viewed from a perspective above the robot 100) such that debris contacted by the brush 126 moves in the forward drive direction F toward the cleaning assembly and a portion of the floor surface 10 in front of the cleaning assembly 116. As a result, the cleaning inlet 117 of the robot 100 may collect debris swept by the brush 126 when the robot 100 moves in the forward driving direction F. In an example where the robot 100 moves in the rearward drive direction R, the brush 126 may rotate in a counterclockwise direction (when viewed from a perspective above the robot 100) such that debris contacted by the brush 126 moves in the rearward drive direction R toward a portion of the floor surface 10 behind the cleaning assembly 116. As a result, the cleaning inlet 117 of the robot 100 may collect debris swept by the brush 126 when the robot 100 moves in the backward driving direction R.

In addition to the controller 109, the circuit 106 includes, for example, a memory storage element 144 and a sensor system having one or more electrical sensors. As described herein, the sensor system may generate a signal indicative of the current position of the robot 100, and may generate a signal indicative of the position of the robot 100 as the robot 100 travels along the floor surface 10. The controller 109 is configured to execute instructions to perform one or more operations as described herein. A memory storage element 144 is accessible by the controller 109 and is disposed within the housing configuration 108. One or more electrical sensors are configured to detect features in the environment of the robot 100. For example, referring to fig. 3A, the sensor system includes a drop height sensor 134 disposed along the bottom 113 of the housing configuration 108. Each drop sensor 134 is an optical sensor that can detect the presence or absence of an object, such as the floor surface 10, beneath the optical sensor. The fall sensor 134 can thus detect obstacles, such as falls and falls, beneath the portion of the robot 100 in which the fall sensor 134 is disposed and redirect the robot accordingly.

Referring to fig. 3B, the sensor system includes one or more proximity sensors that can detect objects along the floor surface 10 and near the robot 100. For example, the sensor system may include proximity sensors 136a, 136b, 136c disposed adjacent the front surface 154 of the housing configuration 108. Each of the proximity sensors 136a, 136b, 136c includes an optical sensor that faces outwardly from the front surface 154 of the housing construction 108 and can detect the presence or absence of an object in front of the optical sensor. For example, detectable objects include obstacles, such as furniture, walls, people, and other objects in the environment of the robot 100.

The sensor system includes a bumper system including a bumper 138 and one or more bumper sensors that detect contact between the bumper 138 and an obstacle in the environment. The bumper 138 forms a part of the housing construction 108. For example, bumper 138 may form side surfaces 150, 152 and a front surface 154. For example, the sensor system may include impact sensors 139a, 139 b. The impact sensors 139a, 139b may include an interrupted beam sensor, a capacitive sensor, or other sensor capable of detecting contact between the robot 100 (e.g., the bumper 138) and objects in the environment. In some embodiments, impact sensor 139a can be used to detect movement of bumper 138 along a front-to-back axis FA (shown in fig. 3A) of robot 100, and impact sensor 139b can be used to detect movement of bumper 138 along a lateral axis LA (shown in fig. 3A) of robot 100. The proximity sensors 136a, 136b, 136c may detect objects before the robot 100 contacts the objects, and the collision sensors 139a, 139b may detect objects contacting the buffer 138, for example, in response to the robot 100 contacting the objects.

The sensor system includes one or more obstacle following sensors. For example, the robot 100 may include an obstacle following sensor 141 along the side surface 150. The obstacle following sensor 141 includes an optical sensor facing outward from a side surface 150 of the housing configuration 108 that can detect the presence or absence of an object adjacent to the side surface 150 of the housing configuration 108. The obstacle following sensor 141 may horizontally emit a light beam in a direction perpendicular to the forward driving direction F of the robot 100 and perpendicular to the side surface 150 of the robot 100. For example, detectable objects include obstacles, such as furniture, walls, people, and other objects in the environment of the robot 100. In some embodiments, the sensor system may include obstacle following sensors along side surface 152, and the obstacle following sensors may detect the presence or absence of objects adjacent to side surface 152. The obstacle following sensor 141 along the side surface 150 is a right obstacle following sensor, and the obstacle following sensor along the side surface 152 is a left obstacle following sensor. One or more obstacle following sensors (including obstacle following sensor 141) may also be used as obstacle detection sensors, e.g., similar to the proximity sensors described herein. In this regard, a left obstacle following sensor may be used to determine a distance between an object (e.g., an obstacle surface) on the left side of the robot 100 and the robot 100, and a right obstacle following sensor may be used to determine a distance between an object (e.g., an obstacle surface) on the right side of the robot 100 and the robot 100.

In some embodiments, at least some of the proximity sensors 136a, 136b, 136c and the obstacle following sensor 141 each include an optical emitter and an optical detector. The light emitters emit light beams outward from the robot 100, for example, outward in a horizontal direction, and the light detectors detect reflections of the light beams reflected from objects near the robot 100. The robot 100 may determine the time of flight of the light beam, for example using the controller 109, to determine the distance between the light detector and the object, and thus the distance between the robot 100 and the object.

In some embodiments, the proximity sensor 136a includes a light detector 180 and a plurality of light emitters 182, 184. One of the light emitters 182, 184 may be positioned to direct a light beam outward and downward, while the other of the light emitters 182, 184 may be positioned to direct a light beam outward and upward. The light detector 180 may detect reflection of the light beam or scattering of the light beam. In some embodiments, light detector 180 is an imaging sensor, a camera, or some other type of detection device for sensing optical signals. In some embodiments, the beam shines a horizontal line along a flat vertical surface in front of the robot 100. In some embodiments, the light emitters 182, 184 each emit a fan-shaped beam of light outward toward the obstacle surface such that a one-dimensional lattice of points appears on one or more obstacle surfaces. The one-dimensional lattice may be located on a horizontally extending line. In some embodiments, the lattice may extend across a plurality of obstruction surfaces, for example, adjacent to each other. Light detector 180 may capture images representative of the dot matrix formed by light emitter 182 and the dot matrix formed by light emitter 184. Based on the size of the point in the image, the robot 100 may determine the distance of the object on which the point appears relative to the light detector 180, e.g., relative to the robot 100. The robot 100 may make this determination for each point, allowing the robot 100 to determine the shape of the object on which the point appears. In addition, if a plurality of objects are in front of the robot 100, the robot 100 may determine the shape of each object. In some embodiments, the objects may include one or more objects laterally offset from a portion of the floor surface 10 directly in front of the robot 100.

The sensor system further comprises an image capturing device 140, e.g. a camera, directed towards a top 142 of the housing construction 108. As the robot 100 moves across the floor surface 10, the image capture device 140 generates a digital image of the environment of the robot 100. The image capture device 140 is angled in an upward direction, for example, at an angle of 30 to 80 degrees from the floor surface 10 about which the robot 100 navigates. When angled upward, the camera can capture an image of the wall surface of the environment so that features corresponding to objects on the wall surface can be used for positioning.

When the controller 109 causes the robot 100 to perform a task, the controller 109 operates the motors 114 to drive the drive wheels 112 and propel the robot 100 along the floor surface 10. Further, the controller 109 operates the motor 120 to rotate the rotatable member 118, operates the motor 128 to rotate the brush 126, and operates the motor of the vacuum system 119 to generate the airflow. In order for the robot 100 to perform various navigation and cleaning actions, the controller 109 executes software stored on the memory storage element 144 to cause the robot 100 to perform by operating the various motors of the robot 100. The controller 109 operates various motors of the robot 100 to cause the robot 100 to perform actions.

The sensor system may further include a sensor for tracking the distance traveled by the robot 100. For example, the sensor system may include encoders associated with the motors 114 for the drive wheels 112, and these encoders may track the distance that the robot 100 has traveled. In some embodiments, the sensor system includes an optical sensor facing downward toward the floor surface. The optical sensor may be an optical mouse sensor. For example, the optical sensor may be positioned to direct light through the underside of the robot 100 toward the floor surface 10. The optical sensor may detect the reflection of light and may detect the distance traveled by the robot 100 based on changes in the board characteristics as the robot 100 travels along the floor surface 10.

The controller 109 uses data collected by the sensors of the sensor system to control the navigational actions of the robot 100 during the task. For example, the controller 109 uses sensor data collected by obstacle detection sensors (e.g., the drop height sensor 134, the proximity sensors 136a, 136b, 136c, and the collision sensors 139a, 139b) of the robot 100 to enable the robot 100 to avoid obstacles within the environment of the robot 100 during a task.

The sensor data may be used by the controller 109 to simultaneously locate and map (SLAM) technology, where the controller 109 extracts features of the environment represented by the sensor data and constructs a map of the floor surface 10 of the environment. The sensor data collected by the image capture device 140 may be used in techniques such as vision-based slam (vslam), where the controller 109 extracts visual features corresponding to objects in the environment and uses these visual features to construct a map. As the controller 109 navigates the robot 100 across the floor surface 10 during the task, the controller 109 uses SLAM techniques to determine the location of the robot 100 within the map by detecting features present in the collected sensor data and comparing those features to previously stored features. The map formed from the sensor data may represent the locations of navigable and non-navigable spaces within the environment. For example, the position of the obstacle is represented on the map as an impassable space, while the position of the open floor space is represented on the map as a passable space.

Sensor data collected by any sensor may be stored in the memory storage element 144. In addition, other data generated for SLAM techniques, including mapping data forming a map, may be stored in the memory storage element 144. These data generated during the task may include persistent data generated during the task and available during the next task. For example, a task may be a first task and a further task may be a second task that occurs after the first task. In addition to storing software for causing the robot 100 to perform its actions, the memory storage element 144 stores sensor data or data resulting from the processing of sensor data for access by the controller 109 from one task to another. For example, the map is a persistent map that may be used and updated by the controller 109 of the robot 100 from task to navigate the robot 100 over the floor surface 10.

Persistent data, including persistent maps, enables the robot 100 to effectively clean the floor surface 10. For example, the persistent map enables the controller 109 to direct the robot 100 to an open floor space and avoid impassable spaces. Further, for subsequent tasks, the controller 109 can use the persistent map to plan navigation of the robot 100 in the environment to optimize the path taken during the task.

In some embodiments, the robot 100 may include a light indicator system 137 located on the top 142 of the robot 100. Light indicator system 137 may include a light source (as shown in fig. 3A) located within a cover 147 that covers debris bin 124. The light source may be positioned to direct light toward the periphery of the cover 147. The light sources are positioned so that any portion of the continuous loop 143 on the top 142 of the robot 100 can be illuminated. The continuous ring 143 is located on a recessed portion of the top 142 of the robot 100 so that the light source, when activated, can illuminate the surface of the robot 100.

Exemplary communication network

Referring to fig. 4, an exemplary communication network 185 is shown. The nodes of the communication network 185 include a robot 100, a mobile device 188, an autonomous mobile robot 190, and a cloud computing system 192. Using the communication network 185, the robot 100, the mobile device 188, the robot 190, and the cloud computing system 192 may communicate with each other to transmit data to each other and to receive data from each other. In some implementations, the robot 100, the robot 190, or both the robot 100 and the robot 190 communicate with the mobile device 188 through a cloud computing system 192. Alternatively or additionally, the robot 100, the robot 190, or both the robot 100 and the robot 190 communicate directly with the mobile device 188. The communication network 185 may employ various types and combinations of wireless networks (e.g., bluetooth, radio frequency, optical-based, etc.) and network architectures (e.g., mesh networks).

In some implementations, the mobile device 188 as shown in fig. 4 is a remote device that may be linked to the cloud computing system 192, and the user 30 may be enabled to provide input on the mobile device 188. The mobile device 188 may include user input elements such as one or more of a touch screen display, buttons, a microphone, a mouse, a keyboard, or other devices responsive to input provided by the user 30. The mobile device 188 may alternatively or additionally include immersive media (e.g., virtual reality) with which the user 30 interacts to provide user input. In these cases, the mobile device 188 is, for example, a virtual reality headset or a head mounted display. The user may provide input to the mobile robot 188 corresponding to the command. In this case, the mobile device 188 transmits a signal to the cloud computing system 192 to cause the cloud computing system 192 to transmit a command signal to the mobile robot 100. In some implementations, the mobile device 188 can present an augmented reality image. In some implementations, the mobile device 188 is a smartphone, a laptop computer, a tablet computing device, or another mobile device.

In some embodiments, the communication network 185 may include additional nodes. For example, the nodes of the communication network 185 may include additional robots. Alternatively or additionally, the nodes of the communication network 185 may comprise network-connected devices. In some implementations, the network-connected devices may generate information about the environment 20. The network-connected devices may include one or more sensors to detect features in the environment 20, such as acoustic sensors, image capture systems, or other sensors that produce signals that may be used to extract features. The network-connected devices may include home cameras, smart sensors, and the like.

In the communication network 185 shown in figure 4 and other embodiments of the communication network 185, the wireless link may utilize various communication schemes, protocols, etc., such as bluetooth-like, wireless networks, bluetooth low energy, also known as BLE 802.15.4, Worldwide Interoperability for Microwave Access (WiMAX), infrared channels, or satellite bands. In some cases, the wireless link includes any cellular network standard for communicating between mobile devices, including but not limited to standards compliant with 1G, 2G, 3G, or 4G standards. If a network standard is used, the network standard may serve as, for example, one or more generations of a mobile telecommunications standard by meeting one or more specifications, such as those maintained by the international telecommunications union. The 3G standard, if used, corresponds to, for example, the international mobile telecommunications-2000 (IMT-2000) specification, and the 4G standard may correspond to the international mobile telecommunications-Advanced (IMT-Advanced) specification. Examples of cellular network standards include AMPS, GSM, GPRS, UMTS, LTE-advanced, mobile WiMAX, and WiMAX-advanced. Cellular network standards may use various channel access methods such as FDMA, TDMA, CDMA, or SDMA.

Exemplary procedure

The robot 100 may be controlled in a particular manner according to the processes described herein. Although some operations of these processes may be described as being performed by the robot 100, by a user, by a computing device, or by another actor, in some implementations, these operations may be performed by actors other than the depicted actor. For example, in some embodiments, the operations performed by robot 100 may be performed by cloud computing system 192 or another computing device (or devices). In other examples, the operations performed by the user 30 may be performed by a computing device. In some implementations, the cloud computing system 192 does not perform any operations. Rather, other computing devices perform the operations described as being performed by the cloud computing system 192, and these computing devices may communicate with each other and with the robot 100 directly (or indirectly). In some embodiments, in addition to the operations described as being performed by robot 100, robot 100 may also perform operations described as being performed by cloud computing system 192 or mobile device 188. Other variations are also possible. In addition, although the methods, processes, and operations described herein are described as including certain operations or sub-operations, in other embodiments, one or more of these operations or sub-operations may be omitted, or additional operations or sub-operations may be added.

Fig. 5A illustrates a flowchart of a method of controlling an autonomous mobile robot according to a behavior control zone. This method, as well as other examples of the methods described herein, are described with respect to control of the robot 100. In other embodiments, other types of autonomous mobile robots may be controlled.

Referring to fig. 5A, process 200 includes operations 202, 204, and 206. At operation 202, a behavior control zone is established. At operation 204, the robot 100 is controlled, e.g., performs autonomous operations, wherein the robot 100 navigates within the environment 20 and responds to the behavior control zone. For example, the drive system 110 (shown in fig. 3A) of the robot 100 may be controlled to maneuver the robot 100 (shown in fig. 1) over the floor surface 10, and the behavior of the robot 100 may be initiated in response to determining that the robot is proximate to a behavior control zone based on signals generated by the sensor system of the robot representing the position of the robot 100. At operation 204, the behavior control region is updated, for example, in response to a change in the environment 20. Further examples of sub-operations of operations 202, 204, and 206 are described in conjunction with fig. 5B, 5C, and 5D, respectively.

FIG. 5B illustrates an example process of operation 202 for establishing a behavior control zone. At operations 208, 210, 212, 214, 216, mapping data is generated and transmitted to the mobile device 188 to allow the mobile device 188 to generate a representation of the environment 20. At operation 208, the robot 100 generates mapping data for the environment 20, and at operation 210, the robot 100 transmits the mapping data to the cloud computing system 192. At operation 212, the cloud computing system 192 receives mapping data generated by the robot 100. At operation 214, the cloud computing system 192 transmits the mapping data generated by the robot 100 to the mobile device 188. And at operation 216, the mobile device 188 receives mapping data generated by the robot 100. As described with respect to operation 218, the mobile device 188 may use the mapping data to generate a representation of the environment 20.

In some implementations, at operation 208, the robot 100 may generate mapping data during the autonomous cleaning operation. The mapping data may represent portions of the floor surface 10 that the robot 100 may pass through and portions of the floor surface 10 that the robot 100 may not pass through. The mapping data may be generated using a sensor system of the robot 100. As the robot 100 moves across the floor surface 10, the sensor system may generate data representing the position of the robot 100 on the floor surface 10 and may generate mapping data based on the data representing the position of the robot 100. In some embodiments, the sensor system of the robot 100 may be used to detect obstacles on the ground 10 as the robot 100 moves over the ground. The robot-generated mapping data may indicate the location of the obstacle on the surface. In some embodiments, the sensor data generated by the robot 100 and the data generated by one or more network connected devices in the environment 20 together form mapping data. The network-connected devices may include cameras, optical sensors, ranging sensors, acoustic sensors, or other sensors that generate signals that form part of a map of the environment 20.

In some implementations, the cloud computing system 192 may process the mapping data generated by the robot 100 such that the data transmitted by the cloud computing system 192 at operation 214 and received by the mobile device 188 at operation 216 is different from the mapping data generated by the robot 100 at operation 208. For example, the cloud computing system 192 may generate user interface data from the mapping data and may then transmit the user interface data at operation 214. The user interface data may be generated using mapping data generated by the robot 100 as well as data received from other network connected devices. The user interface data may include a classification of certain features identified in the environment 20, such as furniture, floor surface type, or other features.

At operation 218, the mobile device 188 generates a map of the environment 20. For example, at operation 216, the mobile device 188 generates a map based on the data received by the mobile device 188 and presents the map on a display of the mobile device 188. In some implementations, the data received at the mobile device 188 at operation 216 may include data regarding features in the environment 20, such as floor surface types, obstacles, wall fixtures, appliances, and other features in the environment 20 that may be detected by the robot 100 and its sensor system.

Fig. 6A shows an example of a map 300 presented on the mobile device 188. The map 300 includes a representation of a perimeter 302 of a portion of the floor surface 10 (shown in fig. 1) through which the robot 100 may pass. A representation 304 representing the current position of the robot 100 is superimposed on the map 300.

The labels 306a, 306b, 306c, 306d, 306e (collectively labels 306) for the rooms 308a, 308b, 308c, 308d, 308e (collectively referred to as rooms 308), respectively, are overlaid on the map 300. For example, the type of each room 308 may be identified based on one or more objects in each room 308. Referring also to FIG. 1, rooms 308 include bedroom 308a, bathroom 308b, office 308c, dining room 308d, and kitchen 308 e. Bedroom 308a, such as a bed and end table, may be identified based on the presence of objects that are typically found in the bedroom. Bathroom 308b may be identified based on the presence of objects that are typically found in bathrooms, such as bathtubs, toilets, sinks, and mirrors. Office 308c may be identified based on the presence of objects that are typically found in offices, such as desks and computers. The restaurant 308d, such as a table and a chair, may be identified based on the presence of objects that may typically be found in the restaurant. The kitchen 308e may be identified based on the presence of objects that may be commonly found in kitchens, such as cabinets, kitchen islands, and counters. In some embodiments, objects in room 308 may be identified using a sensor system of robot 100 or using sensors from other network-connected devices in environment 20.

In some implementations, the mobile device 188 can present a request to the user 30 to provide a tag to each room 308. The room 308 may thus be manually provided with the tag 306 by the user 30. In some implementations, the tags 306 are determined based on computer identification of objects in the room 308.

As shown in fig. 6A, the mobile device 188 may present a representation indicating characteristics of the environment 20. For example, the indicator 310 may indicate the location of a tile 312 (shown in figure 1) located in the restaurant 308 d. The indicator 314 may indicate the location of a bed 316 (shown in fig. 1) located in the bedroom 308 a. The indicator 317 may indicate a first floor type in the kitchen 308e and the indicator 319 may indicate a second floor type in the kitchen 308 e. For example, the portion of the floor surface 10 corresponding to the indicator 317 in the galley 308e may be a hardwood surface, while the portion of the floor surface 10 corresponding to the indicator 319 in the galley 308e may be a carpeted surface. In some implementations, other indicators indicating other objects and features in the environment 20 can be displayed superimposed on the map 300. For example, the indicators may indicate other furniture in the environment 20, detectable features on walls of the environment 20, other floor types in the environment 20, or other features in the environment 20.

Returning to FIG. 5B, at operation 220, the user 30 provides an input to establish a behavior control zone. The user 30 may operate the mobile device 188 to provide input, for example, operating a user input device of the mobile device 188, such as a touch screen, one or more buttons on the mobile device 188, voice commands, gestures, or other user input device. Referring also to fig. 6A, the mobile device 188 may present a map 300 and request the user 30 to define a behavior control region using the map 300. In some implementations, to define a behavior control zone, the user 30 can select one of the indicators presented on the mobile device 188 to define the area associated with that indicator as the behavior control zone. The user 30 may select a portion of the map 300 proximate to the indicator to define a behavior control region associated with the indicator. For example, referring also to fig. 7A, a behavior control zone 318 corresponding to the location of a bed 316 in bedroom 308a may be defined by selecting an indicator 314 presented on mobile device 188. Alternatively or additionally, the user 30 may manually select an area on the map 300 to define the behavior control region. For example, if the mobile device 188 includes a touch screen, the user 30 may interact with the touch screen to define the behavior control region by drawing a shape on the touch screen.

At operations 222, 224, 226, 228, and 230, the input provided by the user 30 is used to generate instructions that are provided to the robot 100. Specifically, at operation 222, the mobile device 188 receives the input provided by the user 30 at operation 220. The mobile device 188 may generate data representing the behavior control region 318. For example, the data may represent a location or perimeter of the behavior control zone 318. At operation 224, the mobile device 188 transmits data representing the behavior control zone 318 to the cloud computing system 192. At operation 226, the cloud computing system 192 receives data representing the behavior control zone 318. At operation 228, the cloud computing system 192 transmits data representing the behavior control zone to the robot 100. At operation 230, the robot 100 receives data representing the behavior control zone 318.

At operations 232, 234, 236, the behavior control region 318 is validated. After receiving the data representing the behavior control region 318, the robot 100 confirms the behavior control region 318 in operation 232. The robot 100 may provide feedback indicating that the robot 100 received data representing the behavior control zone 318.

The robot 100 may also confirm the location or perimeter of the behavior control zone 318. In some embodiments, the robot 100 confirms the location or perimeter of the behavior control zone 318 by performing a confirmation motion. In the example shown in fig. 7A, the robot 100 moves relative to the behavior control area 318 so as to indicate travel as the position of the control area 318. In response to receiving the data representing the behavior control zone 318, the robot 100 moves from its position 320 to a position 322. The location 322 may be near the behavior control region 318, within the behavior control region 318, or along the perimeter of the behavior control region 318. In some embodiments, the robot 100 travels along the path of the floor surface 10 to identify the location or perimeter of the behavior control zone 318. For example, the robot 100 may follow a path along a portion of the perimeter of the behavior control zone 318. In some embodiments, the path may extend through a portion of the behavior control region 318. The portion of the behavior control region 318 may be an interior of the behavior control region 318 or a portion of a perimeter of the behavior control region 318.

In some embodiments, the robot 100 may provide a visual or audible indication that data representing the behavior control zone 318 is received. In some embodiments, after completing the confirmation movement, the robot 100 may provide a visual or audible indication confirming the completion of the movement. The visual or audible indication may indicate that the request for user confirmation has not been resolved. For example, in some embodiments, the light indicator system 137 may be activated in response to the behavior control zone 318 being established or indicating that the robot 100 has confirmed the behavior control zone 318 (as shown in fig. 3B).

After the robot 100 confirms the behavior control region 318, the mobile device 188 requests the user 30 to confirm the behavior control region 318 at operation 234 to establish the behavior control region 318. For example, the robot 100 may transmit data to the mobile device 188 indicating that the robot 100 has completed its confirmation movement. Referring to fig. 6B, the mobile device 188 may present a request for confirmation by the user 30, wherein the mobile device 188 presents the map 300 and presents a representation 324 that highlights an area of the floor surface 10 where the behavior control region 318 (shown in fig. 7A) will be established. For example, the indicator 324 may be the same as the indicator 314 (shown in fig. 6A) corresponding to the bed 316 (shown in fig. 7A) except that the indicator 324 has a different color, pattern, or other visual characteristic than the visual characteristic of the indicator 314.

At operation 236, the user 30 may confirm the behavior control region. For example, as shown in fig. 6B, the mobile device 188 may present a "confirm" button 326. The user 30 may view the robot 100 in the environment 20 to visually confirm the location of the robot 100 and, thus, the location of the behavior control zone 318. User 30 may select "confirm" button 326 to provide confirmation of behavior control region 318. After the user 30 confirms the behavior control region 318, data representing the behavior control region 318 may be stored on one or more of the mobile device 188, the cloud computing system 192, or the robot 100.

Referring back to fig. 5A, after the behavior control zone 318 is established at operation 202 (e.g., after completing the operations described in connection with fig. 5B), the robot 100 may be controlled to initiate a behavior in response to determining that the robot 100 is near or within the behavior control zone 318. For example, the robot 100 may initiate an autonomous cleaning operation in which the robot 100 moves in the environment 20 to clean the floor surface 10. During autonomous cleaning operations, the robot 100 may initiate a behavior in response to determining that the robot 100 is near or within the behavior control zone 318. The robot 100 may determine that the robot is near or within the behavior control zone 318 based on signals generated by the sensor system of the robot 100.

Fig. 5C shows an example of operations performed as part of the operations 204 of controlling the robot 100. At operation 238, the robot 100 begins maneuvering within the environment 20. For example, the robot 100 may initiate an autonomous cleaning operation in which the robot 100 autonomously maneuvers over the floor surface 10 while cleaning the floor surface using its vacuum system 119 and cleaning assembly 116 (shown in fig. 3A). In order to cover the passable portion of the floor surface 10, the robot 100 may initiate various movement behaviors during autonomous cleaning operations. The movement behaviors may include, for example, a corn ridge (corn) behavior in which the robot 100 moves in parallel rows on a portion of the floor surface and an obstacle following behavior in which the robot 100 moves along the perimeter of the obstacle. Fig. 7B shows a motion path 327 as the robot 100 performs an autonomous cleaning operation, wherein the robot 100 moves in the environment 20 to clean the floor surface 10.

Referring back to fig. 5C, during the autonomous cleaning operation, the robot 100 determines that it is proximate to the behavior control zone 318 at operation 240, and then initiates a behavior at operation 242 in response to determining that the robot is proximate to the behavior control zone 318. User 30 may set behavior control zone 318 to prevent robot 100 from moving under bed 316 (shown in fig. 7A) during autonomous cleaning operations. The robot 100 may use the sensor system of the robot 100 to determine that it is proximate to the behavior control zone 318. For example, the robot 100 may track its position using a sensor system and determine when its current position is proximate to the behavior control zone 318. In some embodiments, if the behavior control region 318 is associated with an object in the environment 20, the robot 100 may detect the object to determine that the robot 100 is proximate to the behavior control region 318. In embodiments where the behavior control zone 318 is associated with the bed 316 (as shown in fig. 7A), to determine that the robot 100 is proximate to the behavior control zone 318, the robot 100 may detect the bed 316 using one or more sensors of the sensor system of the robot 100.

Fig. 7B illustrates an example of a behavior control zone 318, where a behavior initiated by the robot 100 in response to detecting the behavior control zone 318 corresponds to a no entry behavior. In the no entry behavior, the robot 100 avoids entering the behavior control zone 318. As shown in fig. 7B, the robot 100 may treat the behavior control zone 318 as an obstacle. Accordingly, the robot 100 may initiate an obstacle following behavior in response to determining that the robot 100 is proximate to the behavior control zone 318. In obstacle following behavior, the robot 100 moves along the perimeter of the behavior control zone 318, and thus the perimeter of the bed 316.

Referring back to fig. 5C, the robot 100 may activate an indicator at operation 244 to indicate that the robot 100 is performing a behavior responsive to detecting the behavior control zone 318. For example, in response to the robot 100 approaching the behavior control zone 318, the robot 100 may activate the light indicator system 137 (as shown in fig. 3B) to illuminate at least a portion of the continuous ring 143 (as shown in fig. 3B). The illuminated portion may represent the orientation of the behavior control zone 318 relative to the robot 100.

At operations 246, 248, 250, 252, and 254, the robot 100 may transmit data to cause the mobile device 188 to provide the user 30 with an indication that the robot 100 initiated a behavior in response to detecting the behavior control zone 318. The robot 100 may transmit data indicating that an action has been initiated at operation 246. At operation 248, the cloud computing system 192 receives the data transmitted by the robot 100 at operation 246. At operation 250, the cloud computing system 192 transmits data to the mobile device 188, and at operation 252, the mobile device 188 receives the data. At operation 254, the mobile device 188 provides an indication to the user 30 that a behavior associated with the behavior control region 318 has been initiated by the robot 100. For example, referring to fig. 6C, the mobile device 188 may present to the map 300 a representation 328, 324 of the robot 100, and a representation 330 of the path of the robot 100. The indicator 330 may display a path indicating that the robot 100 initiated a behavior to move along the avoidance behavior control region 318. Further, the mobile device 188 may present a message 332 indicating that the robot 100 encountered the behavior control zone 318.

In some implementations, the indication provided to the user 30 at operation 254 may be part of the presentation of the task state for the autonomous cleaning operation. In this regard, the mobile device 188 may provide information regarding the duration of the autonomous cleaning operation, as well as information regarding whether the behavior control zone 318 was encountered during the autonomous cleaning operation and how many times the behavior control zone 318 was encountered during the autonomous operation. In embodiments where multiple behavior control zones are established, the mobile device 188 may present information to the user 30 indicating which behavior control zones were encountered.

Returning to fig. 5A, the behavior control region 318 may be updated at operation 206, for example, in response to a change in the environment 20. For example, behavior control region 318 may be updated in response to movement of an object associated with behavior control region 318 in environment 20, or in response to removal of an object associated with behavior control region 318.

Fig. 5D illustrates an example process of operation 206, where the behavior control region 318 is updated. In operation 256, the robot 100 generates mapping data. The robot 100 may generate mapping data during autonomous cleaning operations. This autonomous cleaning operation may be a first autonomous cleaning operation performed after the establishment of the behavior control zone 318, or may be a subsequent autonomous cleaning operation performed after the first autonomous cleaning operation. The mapping data may be generated using the sensor system of the robot 100 in a manner similar to that described with reference to operation 208 of fig. 5B.

At operation 258, the cloud computing system 192 compares the mapping data generated at operation 256 with previously generated mapping data, e.g., the mapping data generated at operation 208 or the mapping data generated during another autonomous cleaning operation. After generating the mapping data at operation 256, the robot 100 may transmit the mapping data to the cloud computing system 192. By comparing the mapping data generated at operation 256 with previously stored mapping data, the cloud computing system 192 may determine whether the behavior control region 318 established at operation 202 has moved. In particular, if the location of the object associated with the behavior control region 318 in the mapping data generated at operation 256 is different from the location of the object in the previously stored mapping data, the cloud computing system 192 may determine that the behavior control region 318 has moved.

Fig. 7C shows an example in which the behavior control region 318 is updated. Behavior control zone 318 may be updated in response to bed 316 moving from its original position to a new updated position. Because the bed 316 is associated with the behavior control zone 318, the location of the behavior control zone 318 is updated from its original location 318a (where the behavior control zone 318 covers a first portion of the floor surface 10) to an updated location 318b (where the behavior control zone 318 covers a second portion of the floor surface 10).

After determining from the mapping data that the behavior control region should be updated, the cloud computing system 192 may update the behavior control region 318 at operation 260. In particular, the cloud computing system 192 may update the location of the behavior control zone 318. At operation 262, the mobile device 188 may present a representation that the behavior control region 318 has been updated.

Fig. 6D shows an example of a representation presented on the mobile device 188 that represents that the behavior control region 318 has been updated. The indicator 336 overlaid on the map 300 indicates the old location of the behavior control region 318 covering the first portion of the floor surface 10 (as shown in fig. 7C), and the indicator 338 overlaid on the map 300 indicates the new location of the behavior control region 318 covering the second portion of the floor surface 10 (as shown in fig. 7C). The mobile device 188 may further present a message 339 indicating that the behavior control region 318 has been updated. In some implementations, prior to updating the behavior control region 318 stored in the cloud computing system 192 or the robot 100, the mobile device 188 may present a request to the behavior control region 318 to confirm the proposed update.

Other alternative embodiments

A number of embodiments have been described, including alternative embodiments. However, it should be understood that further alternative embodiments are possible and that various modifications may be made.

In some embodiments, the behavior initiated by the robot 100 in response to determining that the robot 100 is proximate to the behavior control zone may vary. For example, as described with reference to fig. 6C and 7B, in some embodiments, the behavior control zone 318 may be an exclusion zone to ensure that the robot 100 does not enter the behavior control zone 318 during autonomous cleaning operations. In some embodiments, the robot 100 may initiate a behavior in which the robot 100 enters a behavior control zone, but performs a cleaning operation at a setting different from its setting outside the behavior control zone. The robot 100 may adjust the vacuum power delivered to the vacuum system 119 (shown in fig. 3A) of the robot 100, adjust the speed of movement of the robot 100, adjust the direction of movement of the robot 100, or adjust the orientation of the robot 100 relative to the behavior control zone. To set a particular behavior that the robot initiates in response to determining that the robot 100 is proximate to the behavior control zone, the user 30 may operate the mobile device 188 to establish the behavior control zone, for example, during operation 202. For example, when the user 30 provides an input to establish a behavior control zone at operation 220, the user 30 may also select a behavior to be initiated by the robot 100 in response to detecting the behavior control zone.

In some embodiments, in response to determining that the robot 100 is proximate to a behavior control zone, the behavior control zone may be selected to cause the robot 100 to initiate an accent cleaning behavior. When the robot 100 moves through the inside of the behavior control zone, the robot 100 performs an emphasized cleaning behavior. The robot 100 may adjust the vacuum power delivered to the vacuum system 119 (as shown in fig. 3A). In particular, as the robot 100 passes through the behavior control zone, the vacuum power delivered to the vacuum system 119 of the robot 100 may be greater than the vacuum power delivered to the vacuum system 119 as the robot traverses a portion of the floor surface 10 outside of the behavior control zone. In some embodiments, the robot 100 may adjust the movement speed of the robot 100 in a focused cleaning action. The robot 100 may reduce the speed of movement of the robot 100 relative to the speed of movement of the robot 100 as the robot 100 passes over a portion of the floor surface 10 outside of the behavior control zone. Alternatively or additionally, in an accent cleaning behavior, the robot 100 may adjust a motion pattern of the robot 100. Robot 100 may move in a spiral pattern, corn ridge pattern, or other suitable movement pattern within the behavior control zone.

Fig. 8A shows an example in which the behavior control zone is set to cause the robot 100 to initiate an accent cleaning behavior. In this example, a behavior control zone 340 associated with the tile 312 is established, for example, at operation 202 (described with reference to figure 5A). In an autonomous cleaning operation, the robot 100 initiates a behavior upon entering the behavior control zone 340. This behavior may be an accent cleaning behavior as described herein. For example, the motion pattern of the robot 100 may be adjusted. Robot 100 may move in corn ridge pattern 342 in behavior control zone 340, with the rows of corn ridge pattern 342 spaced closer together than the rows of corn ridge pattern 344 outside of behavior control zone 340. In some cases, the robot 100 may move in a movement pattern in which the robot 100 moves on the same portion of the floor surface 10 a plurality of times. Alternatively or additionally, the robot 100 may increase the vacuum power delivered to its vacuum system and/or decrease its speed of movement as the robot 100 passes through the behavior control zone 340. The behavior control zone 340 may allow the robot 100 to more effectively clean the carpet tile 312.

Fig. 8B shows an example in which the behavior control region is set such that the robot 100 moves through the behavior control region at an angle. In this example, the behavior control region 343 may be associated with a threshold between the kitchen 308e and the restaurant 308 d. In the autonomous cleaning operation, the robot 100 initiates a behavior in response to approaching the behavior control zone 343. If the robot 100 moves at an angle past the threshold, the robot 100 can more easily cross the threshold between the kitchen 308e and the restaurant 308 d. In this regard, the movement angle of the robot 100 with respect to the behavior control zone 343 may be adjusted before the robot 100 passes through the behavior control zone 343. The robot 100 may move at an angle relative to the behavior control zone 343 and thus relative to the threshold between the kitchen 308e and the restaurant 308 d.

In some embodiments, the behavior control zone is an exclusion zone, and the robot 100 is located within the behavior control zone. For example, the robot 100 may be manually arranged in the behavior control zone by a user, or the robot 100 may autonomously move to the behavior control zone. In examples where the robot 100 autonomously moves into a behavior control zone, the robot 100 may initiate an escape behavior in which the robot 100 moves along a path outside of the behavior control zone. Referring to fig. 9, the robot 100 is located within a behavior control zone 318. The robot 100 moves to the behavior control zone during the autonomous cleaning operation. In the case where the sensor system is used to determine its position, the robot 100 determines that it is moving to the behavior control zone without triggering a behavior (described in connection with operations 242, 244 of fig. 5C) to be initiated in response to the robot 100 approaching the behavior control zone 318. This may occur due to sensor errors or other causes for estimating the position of the robot 100 within the environment 20.

In response to detecting that robot 100 is within behavior control region 318, robot 100 may be maneuvered away from behavior control region 318 along path 346. The path 346 may correspond to a path followed by the robot 100 to enter the behavior control zone. Robot 100 moves in a first direction along path 346 to enter behavior control zone 318 and moves in a second direction along path 346 to exit behavior control zone 318.

In some embodiments, the robot 100 is within the behavior control zone 318, and it is determined that the robot 100 is not moving autonomously into the behavior control zone 318, but is instead manually disposed within the behavior control zone 318, e.g., by a user. In this case, initiation of operation of the robot 100 may be prevented in response to detecting that the robot 100 is within the behavior control zone 318. For example, if the user 30 attempts to initiate an autonomous cleaning operation or other operation that moves the robot 100, the operation is prevented in response to detecting that the robot 100 is within the behavior control zone 318.

As described herein, the behavior control zone may have a perimeter and may trigger the behavior of the robot 100 in response to being proximate to or within the perimeter of the behavior control zone. In some embodiments, the robot 100 initiates a behavior in response to being within a buffer around a behavior control zone. Referring to fig. 10, a buffer region 348 is located around the behavior control region 318. The robot 100 may respond to being within the buffer zone 348 to ensure that the robot 100 does not enter the behavior control zone 318 due to positioning uncertainties. In some embodiments, without a buffer, the uncertainty associated with estimating the position of the robot 100 may result in the robot 100 entering the behavior control zone 318 but not confirming that the robot 100 is approaching or within the behavior control zone 318. The size of the buffer 348 may be selected based on the uncertainty associated with the position estimate of the robot 100. An uncertainty associated with the data indicative of the position of the robot 100 may be estimated, and a size of the buffer 348 may be selected based on the estimated uncertainty. In some implementations, the size of the buffer 348 is proportional to the estimated uncertainty and may change as the estimated uncertainty changes.

In some implementations, the buffer 348 is not proportional to or selected based on the estimated uncertainty, but is selected by the user 30 using, for example, the mobile device 188. For example, the user 30 may use the mobile device 188 to select the size of the buffer 348.

The robot 100 is described as a vacuum cleaning robot. Other types of robots may be used in some embodiments. In some embodiments, the behavior control zone is used in conjunction with an autonomous mopping robot. For example, referring to fig. 11, robots 100 and 190 (e.g., described in connection with fig. 4) are located in environment 20. Robot 100 is a vacuum cleaning robot as described herein. The autonomous mobile robot 190 is an autonomous mopping robot. The robot 190 can carry a cleaning pad configured to wipe the floor surface 10 as the robot 190 moves over the floor surface 10. The robot 190 may also apply a fluid to the floor surface 10, for example, by spraying the fluid onto the floor surface 10. For the key cleaning mode, the robot 190 may press the cleaning pad more firmly against a portion of the floor surface 10, may spray more water onto a portion of the floor surface 10, or make multiple passes over a portion of the floor surface.

The behavior control region may be set such that the robot 100 and the robot 190 respond differently to the approach of the behavior control region. For example, the floor surface 10 in the galley 308e may have two different floor types: a carpet portion 352 and a hardwood portion 354. The behavior control zone 350 of the carpet portion 352 of the floor surface 10 may be established, for example, according to the operations described with reference to FIG. 5B.

Because the robot 100 is a vacuum cleaning robot and the robot 190 is a mopping robot, a behavior control zone 350 corresponding to the hardwood portion 354 of the floor surface 10 is established so that the robot 100 can enter and clean the behavior control zone 350 while the robot 190 avoids entering the behavior control zone 350. In this regard, the behavior control zone 350 is considered by the robot 190 as a forbidden zone. In some embodiments, the behavior control zone 350 is ignored by the robot 100. In some embodiments, the behavior control zone 350 is considered by the robot 100 as a focus cleaning zone.

In some implementations, referring to fig. 12, the mobile device 188 presents a representation 356 on the map 300 that represents the boundary of the behavior control region. Referring briefly again to FIG. 1, the behavior control zone corresponding to the indicator 356 may be the area below the table 358 in the restaurant 308 d. In some implementations, referring to fig. 13, in the augmented reality mode, an image 360 of the environment 20 may be presented on the mobile device 188 and an indicator 362 representing the behavior control region is overlaid on the image 360 of the environment 20. In some implementations, the mobile device 188 can present a "confirm" button 364 to allow the user 30 to confirm the behavior control region shown in the image 360. The user 30 may select the "confirm" button 364 to provide confirmation of the behavior control region as described herein.

In some embodiments, in the augmented reality mode, the user 30 may select a behavior control region by selecting portions of the image 360. For example, the user 30 may select an object presented in the image 360, such as a dining table 358. For example, if the representation of the table 358 is selected, a behavior control zone, such as the behavior control zone represented by the representation 362, may be established. In some embodiments, as shown in fig. 14, in the augmented reality mode, the user 30 may draw a behavior control region in the augmented reality mode. The user 30 may select one or more locations on the image 360 to establish a behavior control region. The user 30 may select point 366, for example, along a representation 368 of the boundary of the behavior control region. Alternatively, the user 30 may select a point and then drag their finger, for example using the touch screen of the mobile device 188, to define the area defining the behavior control region.

In some implementations, the behavior control region manually selected by the user can be adjusted by the computing system to conform to features in the environment. For example, referring to FIG. 15A, the user 30 manually defines a behavior control zone 369. The user 30 may define a behavior control zone 369 to cover the area 370 in the corner of the room. Manually defined behavior control 369 may not cover the entire region due to, for example, user error or inaccuracy. Referring to fig. 15B, behavior control zone 369 is updated to conform to the geometry of region 370 in the corner of the room. The edges of the behavior control zone 369 may be updated to align with the edges of the walls of the room and the edges of the obstacles in the room. The edges of the behavior control zone 369 may be updated to align with the edges of non-transferable portions of the environment (e.g., walls and obstacles). Based on the initial definition of the behavior control zone 369 by the user and based on features in the environment near the behavior control zone 369, the mobile device 188 (or other device) may determine an expected range of the behavior control zone 369 for the user. The user 30 may confirm the updated behavior control 369 by selecting the confirm button 372. In some implementations, the user defines a behavior control zone to cover tiles or other features inside the room. The feature may be surrounded by a passable region. The edges of the behavior control zone may be updated to match the characteristic edges inside the room.

In a further example, referring to fig. 16A, the user 30 may manually define a behavior control zone 374 that unintentionally spans multiple rooms, such as a first room 376 and a second room 378. The mobile device 188 (or other device) may determine the user's expected range for the behavior control zone 374 and determine that the user 30 only intends to define the behavior control zone 374 as spanning the first room 376. For example, the mobile device 188 may determine that the portion of the behavior control zone 374 in the first room 376 is greater than 70%, 80%, or 90% of the total area covered by the behavior control zone 374. Alternatively, the mobile device 188 may determine that the portion of the behavior control zone in the second room 378 is less than 20%, 10%, or 5% of the total area covered by the behavior control zone 374. In this regard, referring to fig. 16B, the mobile device 188 may update the behavior control zone 374 to capture characteristics of the first room 376 such that the behavior control zone 374 extends only through the first room 376 and not through the second room 378. For example, the behavior control zone 374 may conform to walls or other obstacles in the first room 376. The user 30 may confirm the updated behavior control region 374 by selecting the confirm button 380.

In a further example, referring to fig. 17A, the user 30 may manually define a behavior control zone 382 that will prevent the robot 100 from passing through a portion of the environment. Referring to fig. 17B, the mobile device 188 may present a representation 384, the representation 384 representing a portion of the environment that the robot 100 may not pass through. The mobile device 188 may also present an alert 386 that indicates to the user 30 that the robot 100 will not be able to reach the room or portion of the room for the behavior control zone 382 defined in the manner set forth by the user 30. The user 30 may confirm the selection by pressing a confirm button 388 or return to the step of redefining the behavior control region 382 to redefine the behavior control region 382. In some implementations, the mobile device 188 (or other device) may recommend a behavior control zone that does not prevent the robot 100 from reaching certain portions of the environment.

The robots and techniques described herein, or portions thereof, may be controlled by a computer program product that includes instructions stored on one or more non-transitory machine-readable storage media, and which are executable on one or more processing devices to control (e.g., coordinate) the operations described herein. The robots described herein, or portions thereof, may be implemented as all or part of a device or electronic system that may include one or more processing devices and memory to store executable instructions to implement various operations.

Operations associated with implementing all or portions of the robot operations and controls described herein may be performed by one or more programmable processors executing one or more computer programs to perform the functions described herein. For example, a mobile device, a cloud computing system configured to communicate with the mobile device and an autonomous cleaning robot, and a controller of the robot may each include a processor programmed with a computer program to perform functions such as transmitting signals, calculating estimates, or interpreting signals. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

The controller and mobile devices described herein may include one or more processors. Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory area or a random access memory area or both. Elements of a computer include one or more processors for executing instructions and one or more memory area devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more machine-readable storage media, such as a mass PCB for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Machine-readable storage media suitable for embodying computer program instructions and data include all forms of non-volatile storage area, including by way of example semiconductor memory area devices, e.g., EPROM, EEPROM, and flash memory area devices; magnetic disks, such as internal hard disks or removable disks; CD-ROM; and a DVD-ROM.

The robot control and operation techniques described herein may be applicable to controlling other mobile robots in addition to cleaning robots. For example, a lawn mowing robot or a space monitoring robot may be trained to perform operations on a particular portion of a lawn or space as described herein.

Elements of different embodiments described herein may be combined to form other embodiments not specifically set forth above. Elements may be excluded from the structures described herein without adversely affecting their operation. In addition, various separate elements may be combined into one or more separate elements to perform the functions described herein.

A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made. Accordingly, other implementations are within the scope of the following claims.

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

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类