Control of autonomous mobile robots

By interactively selecting the behavior control area on a mobile device and using the sensor system to confirm the location, the problems of intuitiveness and accuracy in selecting and updating the behavior control area of ​​the autonomous mobile robot are solved, and user-friendly customized control and efficient collaborative work of multiple robot teams are achieved.

CN113711083BActive Publication Date: 2025-09-19IROBOT CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080030175.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-05-29
Filing Date
2020-04-01
Publication Date
2025-09-19
Estimated Expiration
2040-04-01

AI Technical Summary

Technical Problem

Existing autonomous mobile robots are not intuitive, accurate, or efficient enough in selecting, confirming, and updating behavioral control zones in the environment, making it difficult to meet users' customized needs, especially when faced with differentiated control challenges when working collaboratively in a multi-robot team.

Method used

By presenting an environmental map on a mobile device and utilizing touch screen interaction, users can directly select and define behavioral control zones. The robot uses a sensor system to confirm its location and automatically updates the control zone in response to environmental changes. Combined with a light indicator system to indicate direction and path, it enables intuitive, accurate, and efficient management of behavioral control zones.

Benefits of technology

It improves the intuitiveness, accuracy and efficiency of selecting and updating behavior control areas, enhances users' ability to manage robot behavior, and supports differentiated operations and focused cleaning of multiple robot teams in different environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113711083B_ABST
    Figure CN113711083B_ABST
Patent Text Reader

Abstract

An autonomous mobile robot includes a drive system that supports the robot above a surface, a sensor system configured to generate a signal indicating the robot's position 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 the surface, controlling the drive system to maneuver the robot to the location of the behavior control zone on the surface in response to establishing the behavior control zone on the surface, maneuvering the robot around 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 the signal indicating the robot's position.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the control of an autonomous mobile robot. Background Art

[0002] Autonomous mobile robots include autonomous cleaning robots that autonomously perform cleaning tasks within an environment (e.g., a home). Many types of cleaning robots are autonomous to some extent and operate in different ways. The cleaning robot may include a controller that is configured to autonomously navigate the robot within the environment so that the robot can ingest debris as it moves. Summary of the Invention

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

[0004] Advantages of the foregoing and other embodiments described herein may include, but are not limited to, those described below and elsewhere herein.For example, the embodiments described herein may improve the ease, accuracy, customizability, and adaptability of selecting behavior control zones for controlling the behavior of autonomous mobile robots.

[0005] The embodiments described herein can improve the convenience for users to select behavior control areas of autonomous mobile robots. For example, a mobile application can present an environmental representation of the autonomous mobile robot (e.g., a 2D map), and the user can interact with the representation to define the behavior control area. The representation can provide a reference for the user when the user defines the behavior control area. In addition, an indicator of environmental features (e.g., an icon representing a table) can be superimposed on the representation of the environment to provide further reference. In some embodiments, the user can simply define the behavior control area by selecting one of the indicators, and the defined behavior control area corresponds to the 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 identify where the selected behavior control area is in the environment.

[0006] The embodiments described herein can further improve the accuracy of placing behavior control zones. Reference indicators presented on a mobile application can allow a user to select a behavior control zone that more accurately matches the user's desired placement of behavior control zones. For example, a user can select a behavior control zone by simply selecting an indicator of an environmental feature of the autonomous mobile robot, rather than having to crudely interact with the mobile application to establish the boundaries of the behavior control zone.

[0007] Confirmation of the behavior control zone can further ensure that the selected behavior control zone matches the user's intended behavior control zone. The robot can be physically moved to the behavior control zone, allowing the user to confirm that the robot's position matches the user's desired behavior control zone location. In some embodiments, the user can further provide confirmation to confirm that the robot's position after moving to the location of the behavior control zone matches the user's intended behavior control zone location. This confirmation step can improve the accuracy of the placement of the behavior control zone.

[0008] In embodiments where multiple autonomous mobile robots are moving through an environment, behavior control zones can be established that control each robot differently. For example, a behavior control zone can be used to cause one robot to avoid a behavior control zone, but not another. This differential control of the robots can improve a user's ability to manage a fleet of robots, where each robot performs a different function. For example, one robot could be a vacuum cleaning robot, while another could be a mopping robot. In such an embodiment, a user could benefit from being able to establish behavior control zones that, for example, allow a vacuum cleaning robot to enter specific floor areas, such as carpets, but disallow a mopping robot from entering specific floor areas.

[0009] The embodiments described herein can further improve the efficiency of selecting and updating behavior control zones. In some embodiments, a user defines a behavior control zone associated with an environmental feature. In some cases, the location of the environmental feature may move. Instead of the user having to manually update the behavior control zone, the behavior control zone can be automatically updated in response to detecting movement of the environmental feature, for example, as detected by the robot as it moves across a floor surface. This automatic updating of the behavior control zone reduces the need for user input to update the behavior control zone.

[0010] The embodiments described herein can further enhance the customizability of the operation of autonomous mobile robots in different environments. A user can select a behavior control zone to cause the autonomous mobile robot to perform specific behaviors in areas of the environment that require the robot's attention. In the example of a cleaning robot, a behavior control zone can be selected to cause the robot to perform focused cleaning operations in areas of the environment that are often dirtier than other areas of the environment.

[0011] In one aspect, an autonomous mobile robot includes a drive system that supports the robot above a surface, a sensor system configured to generate a signal representing the robot's position 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 on the surface. The controller is configured to execute instructions to perform operations including establishing a behavior control zone on the surface, controlling the drive system to maneuver the robot on the surface to a position within the behavior control zone in response to establishing the behavior control zone on the surface, maneuvering the robot on 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 the signal representing the robot's position.

[0012] In some embodiments, the robot may further include a light indicator system. The controller may be operably connected to the light indicator system, and operation may include activating the light indicator system in response to the robot approaching the behavior control area.

[0013] 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's position.

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

[0015] 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, in response to wirelessly receiving a user command, controlling the drive system to navigate the robot through at least a portion of the behavior control zone. In some embodiments, the portion of the behavior control zone may include a perimeter of the behavior control zone. In some embodiments, the portion of the behavior control zone may include a path through an interior of the behavior control zone.

[0016] In some embodiments, the operations may further include transmitting mapping data to cause the mobile device to present a map of the surface, and receiving a user instruction from the mobile device to establish a behavior control zone.

[0017] 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.

[0018] 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 the second portion having the second surface type. Initiating the behavior in response to determining that the robot is proximate to the behavior control region based on the signal indicating the position of the robot may include initiating the behavior in response to determining that the robot is proximate to the second portion of the surface while the robot is maneuvering on the first portion of the surface.

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

[0020] In some implementations, the behavior may include adjusting the speed at which the robot moves.

[0021] In some implementations, the behavior may include adjusting the direction of movement of the robot.

[0022] In some embodiments, adjusting the movement direction of the robot may include orienting the robot to enter the behavior control area at a certain angle.

[0023] In some embodiments, the behavior control area may be a restricted area. Such behavior may include avoiding the restricted area.

[0024] In some embodiments, the operation may include: controlling the drive system to manipulate the robot in a first direction along a path to enter the behavior control area, and in response to detecting that the robot is in the behavior control area, controlling the drive system to manipulate the robot in a second direction along the path to leave the behavior control area.

[0025] In some embodiments, the operation may include detecting that the robot is within a behavior control zone, and preventing initiation of a robot operation in response to detecting that the robot is within the behavior control zone. In some embodiments, preventing initiation of the robot operation in response to detecting that the robot is within the behavior control zone may include preventing initiation of a movement operation of the robot in response to detecting that the robot is within the behavior control zone.

[0026] In some embodiments, initiating a behavior in response to determining that the robot is proximate to a behavior control zone based on a signal indicating the robot's position may include initiating the behavior in response to determining that the robot is within a buffer zone around the behavior control zone based on the signal indicating the robot's position. In some embodiments, the sensor system is configured to generate data indicating the robot's position on the surface. Operations may include estimating uncertainty associated with the data indicating the robot's position, wherein a size of the buffer zone is based on the estimated uncertainty. In some embodiments, the size of the buffer zone may be proportional to the estimated uncertainty. In some embodiments, the size of the buffer zone may be user-selectable. The size may be provided by the mobile device.

[0027] In some embodiments, the behavior control region covers a first portion of the surface containing an object. Operations may include updating the behavior control region to cover the second portion of the surface in response to the object being moved to the second portion of the surface.

[0028] In another aspect, a method includes presenting a map on a display, the map including a representation of a perimeter of a surface in an environment; presenting an indicator representing a feature of the environment on the display and superimposing it on the map; receiving a user instruction to establish a behavior control zone on the surface; and transmitting data representing the behavior control zone to an autonomous mobile robot to cause the robot to move to a location of the behavior control zone on the surface and cause the robot to initiate a behavior in response to the robot approaching the behavior control zone while maneuvering on the surface.

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

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

[0031] In some embodiments, the method may further include presenting a request to confirm establishing the behavior control zone. Presenting the request to confirm establishing 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.

[0032] In some embodiments, the behavior may be a cleaning behavior in which the robot moves over the surface to clean the surface.

[0033] 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, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 It is a schematic top view of the environment.

[0035] Figure 2 、 3A 3B are a side cross-sectional view, a bottom view, and a top perspective view of the autonomous mobile robot.

[0036] Figure 4 It is a schematic diagram of a communication network.

[0037] Figure 5A It is a flow chart of the process of controlling an autonomous mobile robot according to a behavior control zone.

[0038] Figure 5B It is a flow chart of the process of establishing a behavioral control zone.

[0039] Figure 5C is a flow chart of the process of controlling an autonomous mobile robot.

[0040] Figure 5D is a flow chart of the process of updating a behavior control area.

[0041] Figures 6A-6D is a schematic diagram of a mobile device's user interface.

[0042] Figures 7A-7C is a schematic top view of an environment with behavior control areas.

[0043] Figure 8A and 8B is a schematic top view of an environment with behavior control areas.

[0044] Figure 9 is a schematic top view of an environment with an autonomous mobile robot in a behavior control zone.

[0045] Figure 10 is a schematic top view of an environment with behavior control areas and buffer zones.

[0046] Figure 11 is a schematic top view of an environment with multiple robots and behavior control areas.

[0047] Figure 12 is an illustration of a user interface that provides an indication of a behavior control area.

[0048] Figure 13 and 14 An image of the portion of the environment with the behavior control area indicator superimposed.

[0049] Figures 15A-15B , 16A-16B and 17A-17B are diagrams of user interfaces of mobile devices.

[0050] The same reference numbers and names in different drawings represent the same elements. DETAILED DESCRIPTION

[0051] Autonomous mobile robots can be controlled to move across a floor surface in an environment. In some embodiments, these robots can initiate behaviors based on their location on the floor surface. For example, a robot can be controlled to initiate a specific behavior in response to approaching an area on the floor surface. A user can define this area, for example, using an application executed on a computing device. Once the user defines the area, the robot can move to or toward the area to confirm the selection.

[0052] Figure 1 An example of a robot 100 on a floor surface 10 in an environment 20 (e.g., a home) is depicted. A user 30 can define a behavior control zone 101 using, for example, the methods and systems described herein. In response to the user 30 defining the behavior control zone 101, the robot 100 moves toward the behavior control zone 101 to confirm the selection, for example, moving to a location near the behavior control zone 101. This movement can allow the user 30 to confirm that the actual location of the behavior control zone 101 matches the user's intended location for the behavior control zone 101.

[0053] 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 of ​​the environment 20 that is prone to becoming dirty as the behavior control zone 101. In response to approaching the behavior control zone 101, the robot 100 may initiate a focused cleaning behavior in which the robot 100 focuses on cleaning a portion of the floor surface 10 in the behavior control zone 101. As described herein, behavior control zones, such as the behavior control zone 101, may allow the robot 100 to effectively and adaptively clean the floor surface 10 in the environment 20.

[0054] Exemplary Autonomous Mobile Robot

[0055] Figure 2 and 3A -3B depicts an example of robot 100. Figure 2 As the robot 100 traverses the floor surface 10 , the robot 100 collects debris 105 from the floor surface 10 . Figure 3A , the robot 100 includes a housing structure 108. The housing structure 108 can define the structural periphery of the robot 100. In some examples, the housing structure 108 includes a chassis, a cover, a base plate, and a bumper assembly. The robot 100 is a household robot with a small form factor, so that the robot 100 can be installed under furniture in the home. For example, the height H1 of the robot 100 relative to the floor surface (e.g., Figure 2 The robot 100 is also compact. The total length L1 of the robot 100 (as shown) may not exceed 13 cm. Figure 2 As shown) and the total width W1 (as Figure 3A The total width W1 may correspond to the width of the housing structure 108 of the robot 100.

[0056] The robot 100 includes a drive system 110 including one or more drive wheels. The drive system 110 also includes one or more motors including electrically driven portions that form part of the circuitry 106. A housing structure 108 supports the circuitry 106 within the robot 100, including at least one controller 109.

[0057] The drive system 110 is operable to propel the robot 100 across the floor surface 10. The robot 100 can be propelled in a forward drive direction F or a reverse drive direction R. The robot 100 can also be propelled so that the robot 100 turns in place or turns while moving in the forward drive direction F or the reverse drive direction R. Figure 3A In the illustrated example, the robot 100 includes a drive wheel 112 extending through a bottom 113 of the housing structure 108. The drive wheel 112 is rotated by a motor 114 to move the robot 100 along the floor surface 10. The robot 100 also includes passive casters 115 extending through the bottom 113 of the housing structure 108. The casters 115 are not powered. The drive wheel 112 and the casters 115 work together to support the housing structure 108 above the floor surface 10. For example, the casters 115 are located along a rear portion 121 of the housing structure 108, and the drive wheel 112 is located in front of the casters 115.

[0058] refer to Figure 3BThe robot 100 includes a substantially rectangular front portion 122 and a substantially semicircular rear portion 121. The front portion 122 includes side surfaces 150, 152, a front surface 154, and corner surfaces 156, 158. The corner surfaces 156, 158 of the front portion 122 connect the side surfaces 150, 152 to the front surface 154.

[0059] exist Figure 2 、 3A In the example shown in FIG. 3B , the robot 100 is an autonomous mobile floor cleaning robot that includes a cleaning assembly 116 (eg, a cleaning assembly 116) operable to clean a floor surface 10. Figure 3A For example, the robot 100 is a vacuum cleaning robot, wherein the cleaning component 116 is operable to remove debris 105 from the floor surface 10 by ingesting the debris 105 (e.g., Figure 2 1 (shown) to clean the 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 in front of the center (e.g., center 162) of the robot 100 and is located along the front 122 of the robot 100 between the side surfaces 150, 152 of the front 122.

[0060] 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 portion 122 of the robot 100. The rotatable member 118 is positioned along the front portion 122 of the housing structure 108 and extends along 75% to 95% of the width of the front portion 122 of the housing structure 108, for example, corresponding to the overall width W1 of the robot 100. Also refer to Figure 2 , the cleaning inlet 117 is located between the rotatable members 118 .

[0061] like Figure 2 As shown, the rotatable members 118 are rollers that rotate in opposite directions relative to each other. For example, the rotatable members 118 can rotate about parallel horizontal axes 146, 148 (e.g., Figure 3A ) rotates 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 (as shown) in the robot 100. Figure 2 Refer back to Figure 3A , the rotatable member 118 can be completely located within the front portion 122 of the robot 100. The rotatable member 118 includes a resilient housing that contacts debris 105 on the floor surface 10 when the rotatable member 118 rotates relative to the housing structure 108 to guide the debris 105 through the cleaning inlet 117 between the rotatable members 118 into the interior of the robot 100, such as into the debris bin 124 (e.g., Figure 2). The rotatable member 118 further contacts the floor surface 10 to agitate the debris 105 on the floor surface 10.

[0062] The robot 100 also includes a vacuum system 119 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 the airflow. 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 the debris 105 on the floor surface 10 upward through the gaps between the rotatable members 118 and into the debris bin 124. In some cases, the rotatable members 118 contact 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 generated by the vacuum system 119.

[0063] 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 and 90 degrees with the floor surface 10). For example, the non-horizontal axis forms an angle between 75 and 90 degrees with the longitudinal axis of the rotatable member 118. The robot 100 includes a motor 128 operably connected to the brush 126 to rotate the brush 126.

[0064] The brush 126 is a side brush that is laterally offset from the front-to-back axis FA of the robot 100 such that the brush 126 extends beyond the periphery of the housing structure 108 of the robot 100. For example, the brush 126 can extend beyond one of the side surfaces 150, 152 of the robot 100 to be able to reach debris on portions of the floor surface 10 that the rotatable member 118 cannot normally reach, such as portions of the floor surface 10 other than the portion directly below the robot 100. The brush 126 is also offset forwardly from the lateral axis LA of the robot 100 such that the brush 126 also extends beyond the front surface 154 of the housing structure 108. Figure 3A As shown, the brush 126 extends beyond the side surface 150, the corner surface 156, and the front surface 154 of the housing structure 108. In some embodiments, the brush 126 extends beyond the side surface 150 by a horizontal distance D1 of at least, for example, 0.2 cm, such as at least 0.25 cm, at least 0.3 cm, at least 0.4 cm, at least 0.5 cm, at least 1 cm, or more. The brush 126 is positioned to contact the floor surface 10 during its rotation so that the brush 126 can easily reach debris 105 on the floor surface 10.

[0065] As the robot 100 moves, the brush 126 can 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 is moving in a forward drive direction F, the brush 126 can rotate in a clockwise direction (when viewed from above the robot 100) such that debris contacted by the brush 126 moves along the forward drive direction F toward the cleaning assembly and a portion of the floor surface 10 that is in front of the cleaning assembly 116. As a result, when the robot 100 is moving in the forward drive direction F, the cleaning inlet 117 of the robot 100 can collect the debris swept by the brush 126. In an example where the robot 100 is moving in a rearward drive direction R, the brush 126 can rotate in a counterclockwise direction (when viewed from above the robot 100) such that debris contacted by the brush 126 moves along the rearward drive direction R toward a portion of the floor surface 10 that is behind the cleaning assembly 116. As a result, when the robot 100 moves in the rearward driving direction R, the cleaning inlet 117 of the robot 100 may collect debris swept by the brush 126 .

[0066] In addition to the controller 109, the circuit 106 also includes, for example, a memory storage element 144 and a sensor system having one or more electrical sensors. As described herein, the sensor system can generate a signal representing the current position of the robot 100 and can generate a signal representing 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. The memory storage element 144 is accessible to the controller 109 and is disposed within the housing structure 108. The one or more electrical sensors are configured to detect features in the environment of the robot 100. For example, referring to Figure 3A , the sensor system includes drop sensors 134 disposed along the bottom 113 of the housing structure 108. Each drop sensor 134 is an optical sensor that can detect the presence or absence of an object below the optical sensor, such as the floor surface 10. The drop sensors 134 can therefore detect obstacles, such as drops and falls, below the portion of the robot 100 where the drop sensor 134 is disposed and redirect the robot accordingly.

[0067] refer to Figure 3BThe sensor system includes one or more proximity sensors that can detect objects along the floor surface 10 and in the vicinity of the robot 100. For example, the sensor system can include proximity sensors 136a, 136b, 136c positioned adjacent to the front surface 154 of the housing structure 108. Each of the proximity sensors 136a, 136b, 136c includes an optical sensor that faces outward from the front surface 154 of the housing structure 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.

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

[0069] The sensor system includes one or more obstacle following sensors. For example, the robot 100 may include an obstacle following sensor 141 along a side surface 150. The obstacle following sensor 141 comprises an optical sensor facing outward from the side surface 150 of the housing structure 108, which can detect the presence or absence of objects adjacent to the side surface 150 of the housing structure 108. The obstacle following sensor 141 can emit a light beam horizontally 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 an obstacle following sensor along a side surface 152, and the obstacle following sensor can detect the presence or absence of objects adjacent to the 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 the obstacle following sensor 141) may also be used as obstacle detection sensors, e.g., similar to the proximity sensors described herein. In this regard, the left obstacle following sensor may be used to determine the distance between an object (e.g., an obstacle surface) to the left of the robot 100 and the robot 100, and the right obstacle following sensor may be used to determine the distance between an object (e.g., an obstacle surface) to the right of the robot 100 and the robot 100.

[0070] In some embodiments, at least some of the proximity sensors 136a, 136b, 136c and the obstacle following sensor 141 each include a light emitter and a light detector. The light emitter emits a light beam outward from the robot 100, for example, horizontally outward, and the light detector detects reflection of the light beam from an object near the robot 100. The robot 100 can 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 determine the distance between the robot 100 and the object.

[0071] In some embodiments, the proximity sensor 136a includes a light detector 180 and multiple light emitters 182 and 184. One of the light emitters 182 and 184 can be positioned to direct a light beam outward and downward, while the other of the light emitters 182 and 184 can be positioned to direct the light beam outward and upward. The light detector 180 can detect reflections of the light beam or scattering of the light beam. In some embodiments, the light detector 180 is an imaging sensor, a camera, or some other type of detection device for sensing optical signals. In some embodiments, the light beam illuminates a horizontal line along a flat vertical surface in front of the robot 100. In some embodiments, each of the light emitters 182 and 184 emits a fan-shaped light beam outward toward the obstacle surface, resulting in a one-dimensional array of dots appearing on one or more obstacle surfaces. The one-dimensional array of dots can be located on a horizontally extending line. In some embodiments, the array of dots can extend across multiple obstacle surfaces, for example, multiple obstacle surfaces adjacent to each other. The light detector 180 can capture an image representing the array of dots formed by the light emitters 182 and the array of dots formed by the light emitters 184. Based on the size of the points in the image, the robot 100 can determine the distance of the object on which the point appears relative to the light detector 180, for example, relative to the robot 100. The robot 100 can make this determination for each point, thereby allowing the robot 100 to determine the shape of the object on which the point appears. Additionally, if multiple objects are in front of the robot 100, the robot 100 can determine the shape of each object. In some embodiments, the objects may include one or more objects that are laterally offset from a portion of the floor surface 10 directly in front of the robot 100.

[0072] The sensor system also includes an image capture device 140, such as a camera, directed toward the top 142 of the housing structure 108. As the robot 100 moves across the floor surface 10, the image capture device 140 generates digital images of the robot 100's environment. The image capture device 140 is angled upward, for example, at an angle of 30 to 80 degrees relative to the floor surface 10 around which the robot 100 navigates. When angled upward, the camera can capture images of the wall surfaces of the environment so that features corresponding to objects on the wall surfaces can be used for positioning.

[0073] When the controller 109 causes the robot 100 to perform a task, the controller 109 operates the motor 114 to drive the drive wheels 112 and propel the robot 100 along the floor surface 10. Furthermore, 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 airflow. To cause 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 the various motors of the robot 100 to cause the robot 100 to perform actions.

[0074] The sensor system may further include sensors for tracking the distance traveled by the robot 100. For example, the sensor system may include encoders associated with the motors 114 used to drive the wheels 112, and these encoders may track the distance traveled by the robot 100. 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 bottom surface of the robot 100 toward the floor surface 10. The optical sensor may detect reflections of the light and may detect the distance traveled by the robot 100 based on changes in floor characteristics as the robot 100 travels along the floor surface 10.

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

[0076] The sensor data can be used by the controller 109 for simultaneous localization and mapping (SLAM) techniques, in which 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 can be used in techniques such as vision-based SLAM (VSLAM), in which the controller 109 extracts visual features corresponding to objects in the environment and uses these visual features to construct a map. When the controller 109 navigates the robot 100 across the floor surface 10 during a mission, the controller 109 uses SLAM techniques to determine the position of the robot 100 within the map by detecting features present in the collected sensor data and comparing these features with previously stored features. The map formed by the sensor data can represent the location of traversable and non-traversable spaces within the environment. For example, the location of obstacles is represented on the map as non-traversable spaces, while the location of open floor spaces is represented on the map as traversable spaces.

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

[0078] 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 guide the robot 100 toward open floor spaces and avoid unnavigable spaces. Additionally, for subsequent missions, the controller 109 can use the persistent map to plan the robot 100's navigation through the environment to optimize the path taken during the mission.

[0079] In some embodiments, the robot 100 may include a light indicator system 137 located on the top 142 of the robot 100. The light indicator system 137 may include a light source (e.g., a light source) located within a lid 147 covering the debris bin 124. Figure 3A). The light source can be positioned to direct light toward the periphery of the cover 147. The light source is positioned so that any portion of the continuous ring 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 can illuminate the surface of the robot 100 when activated.

[0080] Exemplary Communication Network

[0081] refer to Figure 4 , an exemplary communication network 185 is shown. Nodes of the communication network 185 include the 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 can communicate with each other to transmit and receive data from each other. In some embodiments, the robot 100, the robot 190, or both the robot 100 and the robot 190 communicate with the mobile device 188 through the 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 can employ various types and combinations of wireless networks (e.g., Bluetooth, radio frequency, optical, etc.) and network architectures (e.g., mesh networks).

[0082] In some embodiments, as Figure 4 The illustrated mobile device 188 is a remote device that can be linked to the cloud computing system 192 and can enable the user 30 to provide input on the mobile device 188. The mobile device 188 can include user input elements, such as a touch screen display, buttons, a microphone, a mouse, a keyboard, or one or more other devices that respond to the input provided by the user 30. The mobile device 188 can 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 can provide input corresponding to a command to the mobile robot 188. In this case, the mobile device 188 transmits a signal to the cloud computing system 192, causing the cloud computing system 192 to transmit the command signal to the mobile robot 100. In some embodiments, the mobile device 188 can present an augmented reality image. In some embodiments, the mobile device 188 is a smartphone, a laptop computer, a tablet computing device, or another mobile device.

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

[0084] exist Figure 4 In the illustrated communication network 185 and other embodiments of the communication network 185, the wireless link can utilize various communication schemes, protocols, etc., such as Bluetooth, Wi-Fi, 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 communication between mobile devices, including but not limited to standards that comply with 1G, 2G, 3G, or 4G standards. If a network standard is used, the network standard can be, for example, one or more generations of mobile telecommunications standards by meeting one or more specifications, such as those maintained by the International Telecommunication Union. The 3G standard (if used) corresponds to, for example, the International Mobile Telecommunications-2000 (IMT-2000) specification, and the 4G standard can correspond to the Advanced International Mobile Telecommunications (IMT-Advanced) specification. Examples of cellular network standards include AMPS, GSM, GPRS, UMTS, LTE, Advanced LTE, Mobile WiMAX, and Advanced WiMAX. Cellular network standards can use various channel access methods, such as FDMA, TDMA, CDMA, or SDMA.

[0085] Exemplary Process

[0086] The robot 100 can 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 embodiments, these operations may be performed by actors other than those described. For example, in some embodiments, operations performed by the robot 100 may be performed by the cloud computing system 192 or another computing device (or devices). In other examples, operations performed by the user 30 may be performed by a computing device. In some embodiments, the cloud computing system 192 does not perform any operations. Instead, other computing devices perform the operations described as being performed by the cloud computing system 192, and these computing devices may communicate directly (or indirectly) with each other and with the robot 100. In some embodiments, in addition to the operations described as being performed by the robot 100, the robot 100 may also perform operations described as being performed by the cloud computing system 192 or the mobile device 188. Other variations are also possible. Furthermore, 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.

[0087] Figure 5A A flow chart of a method for controlling an autonomous mobile robot according to a behavior control zone is shown. This method and other examples of methods described herein are described with respect to controlling the robot 100. In other embodiments, other types of autonomous mobile robots may be controlled.

[0088] refer to Figure 5A , the process 200 includes operations 202, 204, and 206. In operation 202, a behavior control zone is established. In operation 204, the robot 100 is controlled, for example, to perform autonomous operations, in which the robot 100 navigates the environment 20 and responds to the behavior control zone. For example, the drive system 110 ( Figure 3A ) can be controlled to maneuver the robot 100 ( Figure 1 ), and the behavior of the robot 100 may be initiated in response to determining that the robot is approaching the behavior control zone based on a signal generated by the robot's sensor system indicating the position of the robot 100. In operation 204, for example, the behavior control zone is updated in response to a change in the environment 20. Figure 5B 、 5C and 5D describe further examples of sub-operations of operations 202 , 204 , and 206 .

[0089] Figure 5BAn example process for operation 202 of establishing a behavior control zone is shown. At operations 208, 210, 212, 214, and 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 the 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 the mapping data generated by the robot 100. As described with respect to operation 218, the mobile device 188 can use the mapping data to generate a representation of the environment 20.

[0090] In some embodiments, at operation 208, the robot 100 may generate mapping data during the autonomous cleaning operation. The mapping data may indicate portions of the floor surface 10 that the robot 100 can traverse and portions of the floor surface 10 that the robot 100 cannot traverse. 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 indicating the position of the robot 100 on the floor surface 10, and the mapping data may be generated based on the data indicating the position of the robot 100. In some embodiments, as the robot 100 moves across the floor, the sensor system of the robot 100 may be used to detect obstacles on the floor surface 10. The mapping data generated by the robot may indicate the location of the obstacles on the surface. In some embodiments, the sensor data generated by the robot 100 and data generated by one or more network-connected devices in the environment 20 are combined to form the mapping data. The network-connected devices may include cameras, optical sensors, ranging sensors, acoustic sensors, or other sensors that generate signals used to form part of a map of the environment 20.

[0091] In some embodiments, the cloud computing system 192 can process the mapping data generated by the robot 100 so 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 can generate user interface data from the mapping data and then transmit the user interface data at operation 214. The user interface data can be generated using the mapping data generated by the robot 100 and data received from other network-connected devices. The user interface data can include classifications of certain features identified in the environment 20, such as furniture, floor surface types, or other features.

[0092] 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.

[0093] Figure 6A An example of a map 300 presented on a mobile device 188 is shown. The map 300 includes floor surfaces 10 (e.g., Figure 1 An indicator 304 representing the current location of the robot 100 is superimposed on the map 300.

[0094] Labels 306a, 306b, 306c, 306d, 306e (collectively, labels 306) for rooms 308a, 308b, 308c, 308d, 308e (collectively, rooms 308) are superimposed on the map 300. For example, the type of each room 308 can be identified based on one or more objects in each room 308. Figure 1 , room 308 includes bedroom 308a, bathroom 308b, office 308c, dining room 308d, and kitchen 308e. Bedroom 308a can be identified based on the presence of objects typically found in a bedroom, such as a bed and a coffee table. Bathroom 308b can be identified based on the presence of objects typically found in a bathroom, such as a bathtub, a toilet, a sink, and a mirror. Office 308c can be identified based on the presence of objects typically found in an office, such as a desk and a computer. Dining room 308d can be identified based on the presence of objects typically found in a dining room, such as a dining table and chairs. Kitchen 308e can be identified based on the presence of objects typically found in a kitchen, such as cabinets, a kitchen island, and a counter. In some embodiments, objects in room 308 can be identified using a sensor system of robot 100 or using sensors from other network-connected devices in environment 20.

[0095] In some implementations, the mobile device 188 can present a request to the user 30 to provide a label for each room 308. The rooms 308 can thus be manually provided with labels 306 by the user 30. In some implementations, the labels 306 are determined based on computer identification of objects in the room 308.

[0096] like Figure 6AAs shown, mobile device 188 may present indicators that indicate features of environment 20. For example, indicator 310 may indicate carpet tile 312 (e.g., located in restaurant 308d). Figure 1 The indicator 314 may indicate a bed 316 located in the bedroom 308a (as shown). Figure 1 308e). Indicator 317 may indicate a first floor type in kitchen 308e, and indicator 319 may indicate a second floor type in kitchen 308e. For example, the portion of floor surface 10 corresponding to indicator 317 in kitchen 308e may be a hardwood surface, while the portion of floor surface 10 corresponding to indicator 319 in kitchen 308e may be a carpet surface. In some embodiments, other indicators indicating other objects and features in environment 20 may be displayed superimposed on map 300. For example, indicators may indicate other furniture in environment 20, detectable features on a wall of environment 20, other floor types in environment 20, or other features in environment 20.

[0097] Back to Figure 5B At operation 220, the user 30 provides input to establish a behavior control zone. The user 30 may operate the mobile device 188 to provide input, for example, by 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 devices. Figure 6A , the mobile device 188 may present a map 300 and request the user 30 to define a behavior control area using the map 300. In some embodiments, to define a behavior control area, the user 30 may select one of the indicators presented on the mobile device 188 to define the area associated with the indicator as a behavior control area. The user 30 may select a portion of the map 300 near the indicator to define the behavior control area associated with the indicator. For example, referring also to Figure 7A , a behavior control zone 318 corresponding to the location of a bed 316 in bedroom 308a can be defined by selecting an indicator 314 presented on mobile device 188. Alternatively or additionally, user 30 can manually select an area on map 300 to define a behavior control zone. For example, if mobile device 188 includes a touch screen, user 30 can interact with the touch screen to define a behavior control zone by drawing a shape on the touch screen.

[0098] At operations 222, 224, 226, 228, and 230, input provided by the user 30 is used to generate instructions 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 zone 318. For example, the data may represent the location or perimeter of the behavior control zone 318. At operation 224, the mobile device 188 transmits the data representing the behavior control zone 318 to the cloud computing system 192. At operation 226, the cloud computing system 192 receives the data representing the behavior control zone 318. At operation 228, the cloud computing system 192 transmits the data representing the behavior control zone to the robot 100. At operation 230, the robot 100 receives the data representing the behavior control zone 318.

[0099] At operations 232, 234, and 236, the behavior control zone 318 is validated. After receiving the data representing the behavior control zone 318, the robot 100 validates the behavior control zone 318 at operation 232. The robot 100 may provide feedback indicating that the robot 100 received the data representing the behavior control zone 318.

[0100] 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. Figure 7A In the example shown, the robot 100 moves relative to the behavior control zone 318 in a manner that indicates the location of the behavior control zone 318. In response to receiving data indicating the behavior control zone 318, the robot 100 moves from its location 320 to a location 322. The location 322 can be near the behavior control zone 318, within the behavior control zone 318, or along the perimeter of the behavior control zone 318. In some embodiments, the robot 100 travels along a path across the floor surface 10 to identify the location or perimeter of the behavior control zone 318. For example, the robot 100 can follow a path along a portion of the perimeter of the behavior control zone 318. In some embodiments, the path can extend through a portion of the behavior control zone 318. The portion of the behavior control zone 318 can be within the behavior control zone 318 or a portion of the perimeter of the behavior control zone 318.

[0101] In some embodiments, the robot 100 may provide a visual or audible indication to indicate receipt of data indicating a behavior control zone 318. In some embodiments, after completing a confirmation move, the robot 100 may provide a visual or audible indication confirming completion of the move. The visual or audible indication may indicate that a request for user confirmation has not yet been resolved. For example, in some embodiments, the light indicator system 137 (e.g., a light indicator system 137) may be activated in response to a behavior control zone 318 being established or indicating that the robot 100 has confirmed a behavior control zone 318. Figure 3B shown).

[0102] After the robot 100 confirms the behavior control area 318, the mobile device 188 requests the user 30 to confirm the behavior control area 318 at operation 234 to establish the behavior control area 318. For example, the robot 100 may transmit data to the mobile device 188 indicating that the robot 100 has completed its confirmed movement. Figure 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 an indicator 324 that highlights the floor surface 10 where the behavior control area 318 (e.g., Figure 7A For example, the indicator 324 may be associated with an area corresponding to the bed 316 (as shown). Figure 7A ) of the indicator 314 (as shown in Figure 6A ) except that indicator 324 has a different color, pattern, or other visual characteristics that are different from the visual characteristics of indicator 314.

[0103] At operation 236, the user 30 may confirm the behavior control area. Figure 6B As shown, the mobile device 188 may present a "Confirm" button 326. The user 30 may observe the robot 100 in the environment 20 to visually confirm the location of the robot 100 and, therefore, the location of the behavior control zone 318. The user 30 may select the "Confirm" button 326 to provide confirmation of the behavior control zone 318. After the user 30 confirms the behavior control zone 318, data representing the behavior control zone 318 may be stored on one or more of the mobile device 188, the cloud computing system 192, or the robot 100.

[0104] Return Reference Figure 5A , after establishing the behavior control area 318 in operation 202 (e.g., after completing the combination Figure 5B318), in response to determining that the robot 100 is approaching or within the behavior control zone 318, the robot 100 can be controlled to initiate a behavior. For example, the robot 100 can initiate an autonomous cleaning operation in which the robot 100 moves in the environment 20 to clean the floor surface 10. During the autonomous cleaning operation, the robot 100 can initiate a behavior in response to determining that the robot 100 is approaching or within the behavior control zone 318. The robot 100 can determine that the robot is approaching or within the behavior control zone 318 based on signals generated by the sensor system of the robot 100.

[0105] Figure 5C An example of operations performed as part of the operation 204 of controlling the robot 100 is shown. In operation 238, the robot 100 begins maneuvering in the environment 20. For example, the robot 100 may initiate an autonomous cleaning operation in which the robot 100 operates using its vacuum system 119 and cleaning components 116 (e.g., Figure 3A The robot 100 may autonomously maneuver over the floor surface 10 while cleaning the floor surface (as shown). To cover the traversable portion of the floor surface 10, the robot 100 may initiate various movement behaviors during the autonomous cleaning operation. The movement behaviors may include, for example, a cornrow behavior in which the robot 100 moves in parallel rows over a portion of the floor surface and an obstacle following behavior in which the robot 100 moves along the perimeter of an obstacle. Figure 7B The motion path 327 of the robot 100 is shown when performing an autonomous cleaning operation, wherein the robot 100 moves in the environment 20 to clean the floor surface 10 .

[0106] Return Reference Figure 5C During the autonomous cleaning operation, the robot 100 determines at operation 240 that it is approaching the behavior control zone 318, and then initiates a behavior at operation 242 in response to determining that the robot is approaching the behavior control zone 318. The user 30 can set the behavior control zone 318 to prevent the robot 100 from moving on the bed 316 (e.g., Figure 7A The robot 100 may use a sensor system of the robot 100 to determine that it is approaching the behavior control zone 318. For example, the robot 100 may use a sensor system to track its position and determine when its current position is approaching the behavior control zone 318. In some embodiments, if the behavior control zone 318 is associated with an object in the environment 20, the robot 100 may detect the object to determine that the robot 100 is approaching the behavior control zone 318. In embodiments where the behavior control zone 318 is associated with the bed 316 (e.g., Figure 7A As shown), in order to determine that the robot 100 is approaching the behavior control area 318, the robot 100 can use one or more sensors of the sensor system of the robot 100 to detect the bed 316.

[0107] Figure 7B An example of a behavior control zone 318 is shown, wherein the 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. Figure 7B As shown, the robot 100 may view the behavior control zone 318 as an obstacle. Therefore, the robot 100 may initiate an obstacle following behavior in response to determining that the robot 100 is approaching the behavior control zone 318. In the obstacle following behavior, the robot 100 moves along the perimeter of the behavior control zone 318, and therefore, along the perimeter of the bed 316.

[0108] Return Reference Figure 5C , the robot 100 may activate an indicator at operation 244 to indicate that the robot 100 is performing a behavior in response 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 (e.g., Figure 3B ), to illuminate at least a portion of the continuous ring 143 (as shown Figure 3B ). The illuminated portion may indicate the direction of the behavior control area 318 relative to the robot 100.

[0109] At operations 246, 248, 250, 252, and 254, the robot 100 may transmit data to cause the mobile device 188 to provide an indication to the user 30 that the robot 100 initiated a behavior in response to detecting the behavior control zone 318. The robot 100 may transmit data indicating that the behavior 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 the 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 the behavior associated with the behavior control zone 318 has been initiated by the robot 100. For example, referring to Figure 6C , the mobile device 188 may present the map 300 with an indicator 328 of the robot 100, the indicator 324, and an indicator 330 of the path of the robot 100. The indicator 330 may display information indicating that the robot 100 has initiated a behavior to move along a path that avoids the behavior control zone 318. In addition, the mobile device 188 may present a message 332 indicating that the robot 100 has encountered the behavior control zone 318.

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

[0111] Back to Figure 5A The behavior control region 318 may be updated at operation 206, e.g., in response to a change in the environment 20. For example, the behavior control region 318 may be updated in response to movement of an object associated with the behavior control region 318 in the environment 20, or in response to removal of an object associated with the behavior control region 318.

[0112] Figure 5D An example process of operation 206 is shown, wherein the behavior control zone 318 is updated. At operation 256, the robot 100 generates mapping data. The robot 100 may generate mapping data during an autonomous cleaning operation. The autonomous cleaning operation may be the first autonomous cleaning operation performed after the behavior control zone 318 is established, or it may be a subsequent autonomous cleaning operation performed after the first autonomous cleaning operation. The robot 100 may use the sensor system of the robot 100 to generate mapping data similar to the reference operation. Figure 5B The mapping data is generated in the manner described in operation 208 .

[0113] At operation 258, the cloud computing system 192 compares the mapping data generated at operation 256 with previously generated mapping data, such as the mapping data generated at operation 208 or 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 the previously stored mapping data, the cloud computing system 192 may determine whether the behavior control zone 318 established at operation 202 has moved. Specifically, if the location of the object associated with the behavior control zone 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 zone 318 has moved.

[0114] Figure 7CAn example of behavior control zone 318 being updated is shown. Behavior control zone 318 may be updated in response to bed 316 being moved from its original position to a new updated position. Because bed 316 is associated with behavior control zone 318, the position of behavior control zone 318 is updated from its original position 318a (where behavior control zone 318 covers a first portion of floor surface 10) to an updated position 318b (where behavior control zone 318 covers a second portion of floor surface 10).

[0115] After determining from the mapping data that the behavior control zone should be updated, the cloud computing system 192 can update the behavior control zone 318 at operation 260. Specifically, the cloud computing system 192 can update the location of the behavior control zone 318. At operation 262, the mobile device 188 can present an indication that the behavior control zone 318 has been updated.

[0116] Figure 6D An example of a representation presented on the mobile device 188 is shown, which indicates that the behavior control area 318 has been updated. The indicator 336 superimposed on the map 300 indicates the old position of the behavior control area 318 covering the first portion of the floor surface 10 (e.g., Figure 7C ), the indicator 338 superimposed on the map 300 represents the new position of the behavior control area 318 covering the second portion of the floor surface 10 (as shown in FIG. Figure 7C ). The mobile device 188 may further present a message 339 indicating that the behavior control region 318 has been updated. In some embodiments, before 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.

[0117] Other Alternative Implementations

[0118] A number of embodiments have been described, including alternative embodiments. However, it will be appreciated that further alternative embodiments are possible and that various modifications may be made.

[0119] In some embodiments, the behavior initiated by the robot 100 in response to determining that the robot 100 is approaching a behavior control zone may vary. For example, as shown in FIG. Figure 6C and 7B As described, in some embodiments, the behavior control zone 318 can be a restricted area to ensure that the robot 100 does not enter the behavior control zone 318 during autonomous cleaning operations. In some embodiments, the robot 100 can initiate a behavior in which the robot 100 enters the behavior control zone but performs cleaning operations at settings that are different from those outside the behavior control zone. The robot 100 can adjust the vacuum system 119 (e.g., Figure 3A The user 30 may adjust the vacuum power of the robot 100 (as shown), adjust the movement speed of the robot 100, adjust the movement direction of the robot 100, or adjust the orientation of the robot 100 relative to the behavior control zone. To set a specific behavior to be initiated by the robot in response to determining that the robot 100 is approaching a behavior control zone, the user 30 may, for example, operate the mobile device 188 during operation 202 to establish a behavior control zone. For example, when the user 30 provides input to establish a behavior control zone in 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.

[0120] In some embodiments, in response to determining that the robot 100 is approaching a behavior control zone, a behavior control zone may be selected to cause the robot 100 to initiate a focused cleaning behavior. When the robot 100 moves through the interior of the behavior control zone, the robot 100 performs the focused cleaning behavior. The robot 100 may adjust the vacuum power delivered to the vacuum system 119 (e.g., Figure 3A ). Specifically, when the robot 100 passes through the behavior control zone, the vacuum power delivered to the vacuum system 119 of the robot 100 can be greater than the vacuum power delivered to the vacuum system 119 when the robot passes through a portion of the floor surface 10 outside the behavior control zone. In some embodiments, during the focus cleaning behavior, the robot 100 can adjust the movement speed of the robot 100. The robot 100 can reduce the movement speed of the robot 100 relative to the movement speed of the robot 100 when the robot 100 passes through the portion of the floor surface 10 outside the behavior control zone. Alternatively or additionally, during the focus cleaning behavior, the robot 100 can adjust the movement pattern of the robot 100. The robot 100 can move in a spiral pattern, a cornrow pattern, or other appropriate movement pattern within the behavior control zone.

[0121] Figure 8A An example is shown in which the behavior control area is set to cause the robot 100 to initiate a focused cleaning behavior. In this example, for example, in operation 202 (refer to Figure 5A340 ). In an autonomous cleaning operation, the robot 100 initiates a behavior upon entering the behavior control zone 340. The behavior may be a focused cleaning behavior as described herein. For example, the movement pattern of the robot 100 may be adjusted. The robot 100 may move in a cornrow pattern 342 within the behavior control zone 340, with the rows of the cornrow pattern 342 being spaced closer together than the rows of the cornrow pattern 344 outside of the behavior control zone 340. In some cases, the robot 100 may move in a movement pattern in which the robot 100 moves over the same portion of the floor surface 10 multiple times. Alternatively or additionally, the robot 100 may increase the vacuum power delivered to its vacuum system and / or reduce its movement speed as the robot 100 passes through the behavior control zone 340. The behavior control zone 340 may allow the robot 100 to clean the carpet tile 312 more efficiently.

[0122] Figure 8B An example is shown in which a behavior control zone is configured to cause the robot 100 to move through the behavior control zone at an angle. In this example, the behavior control zone 343 may be associated with a threshold between the kitchen 308e and the dining room 308d. During autonomous cleaning operations, the robot 100 initiates a behavior in response to approaching the behavior control zone 343. If the robot 100 moves through the threshold at an angle, the robot 100 may more easily cross the threshold between the kitchen 308e and the dining room 308d. In this regard, the angle at which the robot 100 moves relative 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 therefore, relative to the threshold between the kitchen 308e and the dining room 308d.

[0123] In some embodiments, the behavior control zone is a restricted area, and the robot 100 is located within the behavior control zone. For example, the robot 100 can be manually placed in the behavior control zone by a user, or the robot 100 can move to the behavior control zone autonomously. In the example where the robot 100 autonomously moves into the behavior control zone, the robot 100 can initiate an escape behavior in which the robot 100 moves along a path outside the behavior control zone. Figure 9 , the robot 100 is located within the 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 has moved to the behavior control zone without triggering the behavior to be initiated in response to the robot 100 approaching the behavior control zone 318 (in combination with Figure 5C This situation may occur due to errors in the sensors used to estimate the position of the robot 100 within the environment 20 or other reasons.

[0124] In response to detecting that the robot 100 is within the behavior control zone 318, the robot 100 can be maneuvered along a path 346 to exit the behavior control zone 318. The path 346 can correspond to the path followed by the robot 100 to enter the behavior control zone. The robot 100 moves along the path 346 in a first direction to enter the behavior control zone 318 and moves along the path 346 in a second direction to exit the behavior control zone 318.

[0125] In some embodiments, the robot 100 is within the behavior control zone 318, and it is determined that the robot 100 did not autonomously move into the behavior control zone 318, but was instead manually positioned within the behavior control zone 318 by a user, for example. In this case, initiation of an 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 causes the robot 100 to move, the operation may be prevented in response to detecting that the robot 100 is within the behavior control zone 318.

[0126] As described herein, a behavior control zone can have a perimeter, and a behavior of the robot 100 can be triggered in response to approaching or being within the perimeter of the behavior control zone. In some embodiments, the robot 100 initiates a behavior in response to being within a buffer zone around the behavior control zone. Figure 10 , a buffer zone 348 is positioned around the behavior control zone 318. The robot 100 can 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 uncertainty. In some embodiments, without the buffer zone, the uncertainty associated with estimating the position of the robot 100 can result in the robot 100 entering the behavior control zone 318 without confirming that the robot 100 is near or within the behavior control zone 318. The size of the buffer zone 348 can be selected based on the uncertainty associated with the position estimate of the robot 100. The uncertainty associated with the data indicating the position of the robot 100 can be estimated, and the size of the buffer zone 348 can be selected based on the estimated uncertainty. In some embodiments, the size of the buffer zone 348 is proportional to the estimated uncertainty and can change as the estimated uncertainty changes.

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

[0128] The robot 100 is described as a vacuum cleaning robot. In some embodiments, other types of robots may be used. In some embodiments, the behavior control zone is used in conjunction with an autonomous mopping robot. For example, Figure 11 , robot 100 and robot 190 (for example, in combination Figure 4 10 . The robot 100 is a vacuum cleaning robot as described herein. The autonomous mobile robot 190 is an autonomous mopping robot. The robot 190 may 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 a focused cleaning mode, the robot 190 may press the cleaning pad more firmly onto a portion of the floor surface 10, spray more water onto a portion of the floor surface 10, or pass over a portion of the floor surface multiple times.

[0129] The behavior control zones can be set so that the robot 100 and the robot 190 respond differently to proximity to the behavior control zones. For example, the floor surface 10 in the kitchen 308e can 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 can be configured, for example, based on a reference Figure 5B Described operations to establish.

[0130] Because robot 100 is a vacuum cleaning robot and robot 190 is a mopping robot, a behavior control zone 350 corresponding to the hardwood portion 354 of floor surface 10 is established such that robot 100 can enter and clean behavior control zone 350, while robot 190 avoids entering behavior control zone 350. In this regard, behavior control zone 350 is considered a restricted area by robot 190. In some embodiments, behavior control zone 350 is ignored by robot 100. In some embodiments, behavior control zone 350 is considered a priority cleaning area by robot 100.

[0131] In some embodiments, reference Figure 12 , the mobile device 188 presents an indicator 356 on the map 300 indicating the boundaries of the behavior control zone. Figure 1 , the behavior control area corresponding to the indicator 356 may be the area below the dining table 358 in the restaurant 308d. In some embodiments, referring to Figure 13, in augmented reality mode, an image 360 ​​of environment 20 can be presented on mobile device 188, with an indicator 362 representing a behavior control zone superimposed on image 360 ​​of environment 20. In some implementations, mobile device 188 can present a “Confirm” button 364 to allow user 30 to confirm the behavior control zone shown in image 360. User 30 can select “Confirm” button 364 to provide confirmation of the behavior control zone as described herein.

[0132] In some embodiments, in augmented reality mode, user 30 can select a behavior control area by selecting some portion of image 360. For example, user 30 can select an object presented in image 360, such as dining table 358. For example, if the representation of dining table 358 is selected, a behavior control area, such as the behavior control area represented by indicator 362, can be established. In some embodiments, such as Figure 14 As shown, in augmented reality mode, user 30 can draw a behavior control zone in augmented reality mode. User 30 can select one or more locations on image 360 ​​to establish a behavior control zone. User 30 can, for example, select a point 366 along a representation 368 of a boundary of the behavior control zone. Alternatively, user 30 can select a point and then, for example, using a touch screen of mobile device 188, drag their finger to define an area that defines the behavior control zone.

[0133] In some embodiments, the behavior control area manually selected by the user can be adjusted by the computing system to conform to the characteristics of the environment. Figure 15A , the user 30 manually defines a behavior control zone 369. The user 30 may define the behavior control zone 369 to cover an area 370 in a corner of the room. The manually defined behavior control zone 369 may not cover the entire area due to, for example, user error or imprecision. Figure 15B , the behavior control zone 369 is updated to conform to the geometry of the area 370 in the corner of the room. The edges of the behavior control zone 369 can be updated to align with the edges of the room walls and the edges of obstacles in the room. The edges of the behavior control zone 369 can be updated to align with the edges of non-movable parts of the environment (such as walls and obstacles). Based on the user's initial definition of the behavior control zone 369 and based on features in the environment near the behavior control zone 369, the mobile device 188 (or other device) can determine the user's intended scope for the behavior control zone 369. The user 30 can confirm the updated behavior control zone 369 by selecting the confirmation button 372. In some embodiments, the user defines the behavior control zone to cover a carpet tile or other feature inside the room. The feature may be surrounded by a traversable area. The edges of the behavior control zone can be updated to match the edges of the feature inside the room.

[0134] In further examples, refer to Figure 16A , the user 30 may manually define a behavior control zone 374 that inadvertently 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 intended scope for the behavior control zone 374 and determine that the user 30 intended to define the behavior control zone 374 as spanning only 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, reference is made to Figure 16B , mobile device 188 may update behavior control zone 374 to capture the features of first room 376, such that behavior control zone 374 extends only through first room 376 and not through second room 378. For example, behavior control zone 374 may conform to a wall or other obstacle in first room 376. User 30 may confirm updated behavior control zone 374 by selecting confirmation button 380.

[0135] In further examples, refer to Figure 17A , the user 30 can manually define a behavior control zone 382 that will prevent the robot 100 from passing through a portion of the environment. Figure 17B , the mobile device 188 may present an indicator 384 indicating that the portion of the environment is not traversable by the robot 100. The mobile device 188 may also present a warning 386 indicating to the user 30 that the robot 100 will not be able to reach the room or a portion of the room for the behavior control zone 382 defined in the manner proposed by the user 30. The user 30 may confirm the selection by pressing a confirmation button 388 or return to the step of defining the behavior control zone 382 again to redefine the behavior control zone 382. In some embodiments, the mobile device 188 (or other device) may recommend behavior control zones that will not prevent the robot 100 from reaching certain portions of the environment.

[0136] The robots and techniques described herein, or portions thereof, may be controlled by a computer program product comprising instructions stored on one or more non-transitory machine-readable storage media, and the instructions may be executed 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.

[0137] The operations associated with implementing all or part of the robot operation and control described herein can 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 the autonomous cleaning robot, and a controller of the robot can all include processors programmed with a computer program to perform functions such as transmitting signals, calculating estimates, or interpreting signals. The 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.

[0138] The controllers and mobile devices described herein may include one or more processors. For example, processors suitable for executing computer programs include general-purpose and special-purpose microprocessors, as well as any one or more processors of any type of digital computer. Typically, a processor will receive instructions and data from a read-only memory area, a random access memory area, or both. The components of a computer include one or more processors for executing instructions and one or more storage area devices for storing instructions and data. Generally speaking, a computer will also include one or more machine-readable storage media, such as a large-capacity PCB for storing data, such as a magnetic disk, magneto-optical disk, or optical disk, or be operatively coupled to one or more machine-readable storage media to receive data from one or more machine-readable storage media, transfer data to one or more machine-readable storage media, or both. Machine-readable storage media suitable for containing computer program instructions and data include all forms of non-volatile storage areas, including, for example, semiconductor storage area devices, such as EPROM, EEPROM, and flash storage area devices; magnetic disks, such as internal hard disks or removable disks; CD-ROMs; and DVD-ROMs.

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

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

[0141] A number of embodiments have been described. However, it should be understood that various modifications can be made. Therefore, other embodiments are within the scope of the following claims.

Claims

1. An autonomous mobile robot, comprising: a drive system supporting the robot above a surface, the drive system being operable to navigate the robot on the surface; a sensor system configured to generate a signal representing a position of the robot on the surface; and A controller operatively connected to the drive system and the sensor system, the controller being configured to execute instructions to perform operations including: receiving a user command to define a location of a behavior control area on said surface, in response to receiving a user command to define a location of a behavior control zone on the surface, controlling the drive system to maneuver the robot to the defined location of the behavior control zone on the surface to confirm the defined location of the behavior control zone, and establishing a behavior control zone on a surface after controlling a drive system to maneuver the robot to a defined position of the behavior control zone; and After establishing a behavior control zone, the robot is maneuvered over the surface using the drive system during a cleaning task, and a behavior is initiated in response to determining that the robot is proximate the behavior control zone based on a signal representing the 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 comprises activating the light indicator system in response to controlling the drive system to maneuver the robot to a defined position of the behavior control zone.

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

4. The robot of claim 2, wherein the operation comprises activating the light indicator system in response to the robot being maneuvered into a defined position of the behavior control zone.

5. The robot of claim 1 , wherein controlling a drive system to maneuver the robot to a defined position in the behavior control zone comprises 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 area comprises controlling the drive system to navigate the robot through at least a portion of the behavior control area in response to wirelessly receiving user instructions. The robot of claim 5 , wherein the portion of the behavior control zone comprises a perimeter of the behavior control zone.

8. The robot according to claim 5, wherein the portion of the behavior control area includes a path passing through an interior of the behavior control area.

9. The robot of claim 1 , wherein the operations further comprise: transmitting mapping data to cause the mobile device to render a map of the surface, and A user instruction to establish a behavior control zone is received from the mobile device.

10. The robot of claim 1, wherein controlling a drive system to maneuver the robot to a defined position of the behavior control zone comprises controlling the drive system to navigate the robot along a perimeter of the behavior control zone.

11. The robot according to 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 area 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 representing 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 maneuvering on a first portion of the surface.

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

13. The robot of claim 1, wherein the behavior comprises adjusting a movement speed 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 movement direction of the robot comprises orienting the robot to enter the behavior control area at an angle.

16. The robot according to claim 1, wherein the behavior control area is a restricted area, and the behavior includes avoiding the restricted area.

17. The robot of claim 1, wherein the operations comprise: controlling the drive system to maneuver the robot in a first direction along a path into the behavior control area, and In response to detecting that the robot is within the behavior control zone, controlling the drive system to maneuver the robot in a second direction along the path to leave the behavior control zone.

18. The robot of claim 1, wherein the operations comprise: detecting that the robot is within the behavior control area, and In response to detecting that the robot is within the behavior control zone, preventing the robot from initiating an operation.

19. The robot according to claim 18, wherein Preventing the robot from initiating an operation in response to detecting that the robot is within the behavior control zone includes preventing the robot from initiating a move operation in response to detecting that 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 approaching the behavior control zone based on a signal indicating the position of the robot comprises initiating a behavior in response to determining that the robot is within a buffer zone around the behavior control zone based on a signal indicating the position of the robot.

21. The robot according to claim 20, wherein: The sensor system is configured to generate data indicative of the robot's position 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 zone is proportional to the estimated uncertainty.

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

24. The robot of claim 1 , wherein the behavior control area covers a first portion of the surface containing an object, and the operation comprises: In response to the object being moved to a second portion of the surface, the behavior control region is updated to cover the second portion of the surface.

25. A method comprising: presenting a map on a display, the map including a representation of a perimeter of a surface in the environment; presenting on the display and overlaying on the map an indicator representing a feature of the environment; receiving a user instruction defining a location of a behavior control area on the surface; and After receiving a user instruction and in response to receiving a user instruction defining a location of a behavior control area, transmitting data representing the defined location of the behavior control area to the autonomous mobile robot so that the robot moves to the defined location of the behavior control area on the surface and confirms the defined location of the behavior control area, and After the robot moves to the defined position of the behavior control zone, a behavior control zone is established such that the robot initiates a behavior in response to the robot approaching the behavior control zone while maneuvering on the surface during a cleaning task.

26. The method according to claim 25, further comprising: After the robot moves to the defined position of the behavior control zone and before the behavior control zone is established, in response to the robot approaching the defined position of the behavior control zone, a user is requested to confirm the defined position of the behavior control zone.

27. The method according to claim 26, further comprising: After requesting user confirmation and before establishing the behavior control area, receiving user confirmation of the defined location of the behavior control area, Wherein establishing the behavior control zone includes establishing the behavior control zone in response to receiving user confirmation of the defined location of the behavior control zone.

28. The method of claim 25, wherein transmitting data representing the defined location of the behavior control zone to cause the robot to move to the defined location of the behavior control zone on the surface to confirm the defined location of the behavior control zone comprises: Data representing the defined location of the behavior control zone is transmitted to cause the robot to move along at least a portion of the perimeter of the behavior control zone.

29. The autonomous mobile robot of claim 1, wherein the operations further comprise: After controlling the drive system to maneuver the robot to the defined position of the behavior control zone and before establishing the behavior control zone, in response to the robot approaching the defined position of the behavior control zone, a signal is sent to the mobile device to request the user to confirm the defined position of the behavior control zone.

30. The autonomous mobile robot of claim 29, wherein the operations further comprise: receiving user confirmation of the defined location of the behavior control zone after sending the signal to the mobile device and before establishing the behavior control zone, Wherein establishing the behavior control zone includes establishing the behavior control zone in response to receiving user confirmation of the defined location of the behavior control zone.

Citation Information

Patent Citations

  • Light indicator system for an autonomous mobile robot

    CN107752925A

  • Robotic floor-cleaning system manager

    US20180232134A1