Seasonal Recommendations for Autonomous Mobile Robots
A seasonal cleaning schedule for autonomous mobile robots adjusts cleaning operations based on environmental events like pollen or pet shedding, improving efficiency and user satisfaction by optimizing cleaning during peak debris times and reducing unnecessary energy use.
Patent Information
- Application Number
- JP2023513509
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-08-25
- Filing Date
- 2021-08-24
- Publication Date
- 2026-01-13
- Estimated Expiration
- 2041-08-24
AI Technical Summary
Existing cleaning schedules for autonomous mobile robots do not adequately account for seasonal or environmental debris accumulation events, leading to inefficiencies and potential waste of resources when cleaning is either insufficient during peak debris seasons or excessive outside these periods.
Implementing a seasonal cleaning schedule based on environmental debris accumulation events, such as pollen production or pet shedding, using a mobile device to generate instructions for the robot to adjust its cleaning operations accordingly, incorporating sensors to detect and localize debris areas, and generating maps with graphical representations of debris conditions.
Enhances cleaning efficiency and user experience by ensuring adequate cleaning during peak debris seasons while minimizing energy waste during off-peak times, providing personalized and effective cleaning strategies.
Smart Images

Figure 0007797484000001 
Figure 0007797484000002 
Figure 0007797484000003
Abstract
Description
[Technical Field]
[0001] Priority application This application claims the benefit of priority to U.S. Provisional Application No. 63 / 069,921, filed August 25, 2020, the contents of which are incorporated herein by reference in their entirety.
[0002] This document relates generally to mobile robots, and more particularly to systems and methods for scheduling cleaning based on seasonal or environmental events. [Background technology]
[0003] Autonomous mobile robots are capable of moving around an environment and performing several functions and operations in various categories, including, but not limited to, security operations, infrastructure or maintenance operations, navigation or mapping operations, inventory control operations, and robot / human interaction operations. Some mobile robots, known as mobile cleaning robots, are capable of autonomously performing cleaning tasks in an environment (e.g., a home). Many types of cleaning robots are autonomous to some degree and in different ways. For example, cleaning robots are capable of performing cleaning missions in which the robot traverses floor surfaces of their environment while simultaneously ingesting (e.g., sucking) debris from the floor surfaces.
[0004] Some autonomous mobile robots may be controlled by a user via a mobile device. The user may use the mobile device to generate a cleaning schedule for the autonomous mobile robot. The cleaning schedule may define cleaning times or specific conditions under which the autonomous mobile cleaning robot is set to perform cleaning. The autonomous mobile cleaning robot may perform cleaning missions according to the cleaning schedule within the user's home. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] U.S. Patent No. 7,196,487 [Patent Document 2] U.S. Patent No. 7,404,000 [Patent Document 3] US Patent Application Publication No. 20050156562 [Patent Document 4] US Patent Application Publication No. 20140100693 [Patent Document 5] US Patent Application Publication No. 2014 / 0207282 Summary of the Invention [Means for solving the problem]
[0006] This document describes systems, devices, and methods for scheduling and controlling a mobile cleaning robot based on seasonal or environmental debris accumulation events (e.g., pollen production, pet molting, or seasonal weather events). Such seasonal or environmental events can change the rate of debris accumulation in the mobile cleaning robot's environment over time. A cleaning schedule generated for a particular time without a seasonal debris accumulation event may not provide sufficient cleaning at other times during the peak of the debris accumulation season. As described herein, adjusting a cleaning schedule based on seasonal or environmental debris accumulation events can improve cleaning efficiency and effectiveness and can enhance the user experience through personalized cleaning.
[0007] According to various examples, a mobile cleaning robot can receive a seasonal cleaning schedule corresponding to seasonal or environmental debris accumulation events. The seasonal cleaning schedule can be generated using a mobile device communicatively coupled to the mobile cleaning robot using information about the seasonal debris accumulation events (e.g., the predicted timing or time span of the events, etc.). The seasonal cleaning schedule includes instructions for cleaning portions of an environment having seasonally varying debris conditions. The mobile cleaning robot can perform cleaning missions in the environment according to the seasonal cleaning schedule.
[0008] Example 1 is a mobile cleaning robot including a drive system, a cleaning system, and a controller. The drive system can be configured to move the mobile cleaning robot around an environment. The controller can be configured to receive a seasonal cleaning schedule corresponding to seasonal debris accumulation events, the seasonal cleaning schedule including instructions for cleaning portions of the environment based on seasonally changing debris conditions, and the controller can be configured to generate control signals to the drive system and the cleaning system to perform cleaning missions in the environment according to the seasonal cleaning schedule.
[0009] In Example 2, the subject matter of Example 1 optionally includes a controller, wherein the controller can be configured to receive information about time spans for seasonal debris accumulation events based on a geographic location of the environment, and wherein the seasonal cleaning schedule is based on the time spans of the seasonal debris accumulation events.
[0010] In Example 3, the subject matter of Example 2 optionally includes a controller, wherein the controller can be configured to receive information about the time span of the seasonal debris accumulation event from an internet-connected device or from user input to a mobile device, the mobile device communicatively coupled to the mobile cleaning robot.
[0011] In Example 4, the subject matter of any one or more of Examples 1-3 optionally includes a seasonal cleaning schedule, which can include cleaning a portion of the environment having a first debris condition at a first cleaning time and cleaning a portion of the environment having a second debris condition at a second cleaning time, the first debris condition having a higher expected debris accumulation in the environment than the second debris condition.
[0012] In Example 5, the subject matter of Example 4 optionally includes a seasonal cleaning schedule, which can include a first cleaning mode for cleaning a portion of the environment having a first debris condition and a second cleaning mode, different from the first cleaning mode, for cleaning a portion of the environment having a second debris condition.
[0013] In Example 6, the subject matter of any one or more of Examples 1-5 optionally includes a seasonal debris accumulation event, where the seasonal debris accumulation event can include seasonal pollen production during a pollen season, and where the seasonal cleaning schedule is based on the pollen season.
[0014] In Example 7, the subject matter of Example 6 optionally includes a controller, wherein the controller can be configured to receive information about pollen season based on a geographic location of the environment.
[0015] In Example 8, any one or more of the subject matter of Examples 6-7 optionally includes a seasonal cleaning schedule, and the seasonal cleaning schedule can include a seasonal cleaning mode for cleaning pollen areas in the environment.
[0016] In Example 9, the subject matter of Example 8 optionally includes a controller, which can be coupled to sensors of the mobile cleaning robot to detect and localize pollen areas in the environment.
[0017] In Example 10, the subject matter of Example 9 optionally includes a controller, wherein the controller can be configured to detect and localize pollen areas, including areas proximate to openings in the environment.
[0018] In Example 11, the subject matter of any one or more of Examples 9-10 optionally includes a controller, wherein the controller is configured to receive information about environmental or weather conditions and may be configured to adjust the pollen area based on the environmental or weather conditions.
[0019] In Example 12, the subject matter of any one or more of Examples 1-11 optionally includes a seasonal debris accumulation event, wherein the seasonal debris accumulation event can include seasonal pet shedding during a pet shedding season, and wherein the seasonal cleaning schedule is based on the pet shedding season.
[0020] In Example 13, the subject matter of Example 12 optionally includes a controller, where the controller can be configured to receive information about pet shedding seasons based on the geographic location of the environment or based on pet information including the presence, age, breed, or weight of pets in the environment.
[0021] In Example 14, any one or more of the subject matter of Examples 12-13 optionally includes a seasonal cleaning schedule, which can include a seasonal cleaning mode for cleaning pet shedding areas in the environment.
[0022] In Example 15, the subject matter of Example 14 optionally includes a controller, which can be coupled to sensors of the mobile cleaning robot to detect pets in the environment and to determine a pet shedding area based on the detected pets.
[0023] In Example 16, the subject matter of any one or more of Examples 14-15 optionally includes a controller, which may be coupled to sensors of the mobile cleaning robot to detect pet utility in the environment and to determine a pet molting area based on the detected pet utility.
[0024] In Example 17, the subject matter of any one or more of Examples 1-16 optionally includes a controller, wherein the controller can be configured to generate a map of the environment and a graphical representation of the debris condition on the map.
[0025] In Example 18, the subject matter of Example 17 optionally includes a graphical representation of debris conditions, which may include a graphical representation of seasonal spatial density of debris in the environment.
[0026] Example 19 is a mobile robotic system, the mobile robotic system including a mobile cleaning robot and a mobile device, the mobile cleaning robot including a drive system configured to move the mobile cleaning robot around an environment, a cleaning system, and a controller, the mobile device is in operative communication with the mobile cleaning robot and configured to receive information about seasonal debris accumulation events and generate a seasonal cleaning schedule corresponding to the seasonal debris accumulation events, the seasonal cleaning schedule including instructions for cleaning a portion of the environment based on seasonally changing debris conditions, and the controller of the mobile cleaning robot is configured to receive the seasonal cleaning schedule from the mobile device and configured to generate control signals to the mobile cleaning robot to perform cleaning missions in the environment in accordance with the seasonal cleaning schedule.
[0027] In Example 20, the subject matter of Example 19 optionally includes a seasonal debris accumulation event, where the seasonal debris accumulation event can include seasonal pollen production during a pollen season, where the mobile device can be configured to receive information about a geographic location of the environment, where the mobile device can be configured to determine a pollen season based on the geographic location of the environment, and where the mobile device can be configured to determine a seasonal cleaning schedule based on the pollen season.
[0028] In Example 21, the subject matter of Example 20 optionally includes a controller, wherein the controller can be coupled to sensors of the mobile cleaning robot to detect and localize pollen areas in the environment, and wherein the seasonal cleaning schedule includes a cleaning mode for cleaning the pollen areas.
[0029] In Example 22, the subject matter of Example 21 optionally includes a controller, where the controller can be configured to detect and localize pollen areas, including areas proximate to openings in the environment.
[0030] In Example 23, the subject matter of any one or more of Examples 21-22 optionally includes a controller, wherein the controller is configured to receive information about environmental or weather conditions and may be configured to adjust the pollen area based on the environmental or weather conditions.
[0031] In Example 24, the subject matter of any one or more of Examples 19-23 optionally includes a seasonal debris accumulation event, where the seasonal debris accumulation event can include seasonal pet shedding during a pet shedding season, the mobile device configured to receive information about a geographic location of the environment or pet information including age, breed, or weight, the mobile device configured to determine a pet shedding season based on the geographic location of the environment or the pet information, and the mobile device configured to determine a seasonal cleaning schedule based on the pet shedding season.
[0032] In Example 25, the subject matter of Example 24 optionally includes a controller, which can be coupled to sensors of the mobile cleaning robot to detect and localize pet shedding areas in the environment, and the seasonal cleaning schedule can include a cleaning mode for cleaning the pet shedding areas.
[0033] In Example 26, the subject matter of Example 25 optionally includes a controller, which may be coupled to sensors of the mobile cleaning robot to detect pets in the environment and to determine a pet shedding area based on the detected pets.
[0034] In Example 27, the subject matter of any one or more of Examples 25-26 optionally includes a controller, which may be coupled to sensors of the mobile cleaning robot to detect pet utility in the environment and to determine a pet shedding area based on the detected pet utility.
[0035] In Example 28, the subject matter of any one or more of Examples 19-27 optionally includes a controller, wherein the controller can be configured to generate a map of the environment including a graphical representation of the debris condition for display on a user interface of the mobile device.
[0036] In Example 29, the subject matter of Example 28 optionally includes a graphical representation of debris conditions, which may include a graphical representation of seasonal spatial density of debris in the environment.
[0037] In Example 30, the subject matter of any one or more of Examples 19-29 optionally includes a mobile device, wherein the mobile device can be configured to receive user input for generating a seasonal cleaning schedule or a modification of an existing cleaning schedule.
[0038] This Summary of the Invention is an overview of some of the teachings of the present application and is not intended to be an exclusive or comprehensive presentation of the present subject matter. Further details about the present subject matter are found in the detailed description and the appended claims. Other aspects of the present disclosure will become apparent to those skilled in the art upon reading and understanding the following detailed description and viewing the drawings that form a part thereof, each of which should not be taken in a limiting sense. The scope of the present disclosure is defined by the appended claims and their legal equivalents.
[0039] Various embodiments are illustrated by way of example in the accompanying drawing figures. Such embodiments are illustrative and are not intended to be exhaustive or exclusive embodiments of the present subject matter. [Brief explanation of the drawings]
[0040] [Figure 1] FIG. 1 is a side cross-sectional view of a mobile robot. [Figure 2A] FIG. 1 is a bottom view of the mobile robot. [Figure 2B] FIG. 1 is a top perspective view of a mobile robot. [Figure 3] 1 is a diagram illustrating an example of a control architecture for operating a mobile cleaning robot. [Figure 4A]1 is a diagram illustrating an example of a communication network in which a mobile cleaning robot operates and data transmission within the network. [Figure 4B] 1 is a diagram illustrating an exemplary process for exchanging information between a mobile robot and other devices in a communication network. [Figure 5] FIG. 1 is a block diagram illustrating an example of a mobile robotic system for generating a seasonal cleaning schedule and for cleaning an environment according to the seasonal cleaning schedule. [Figure 6A] FIG. 10 shows a wireframe of a user interface on a mobile device illustrating the development of a seasonal schedule for cleaning pollen during pollen season. [Figure 6B] FIG. 10 shows a wireframe of a user interface on a mobile device illustrating the development of a seasonal schedule for cleaning pollen during pollen season. [Figure 6C] FIG. 10 shows a wireframe of a user interface on a mobile device illustrating the development of a seasonal schedule for cleaning pollen during pollen season. [Figure 7A] 1 is a wireframe of a user interface on a mobile device illustrating the occurrence of a seasonal schedule for cleaning pet hair during pet shedding season. [Figure 7B] 1 is a wireframe of a user interface on a mobile device illustrating the occurrence of a seasonal schedule for cleaning pet hair during pet shedding season. [Figure 7C] 1 is a wireframe of a user interface on a mobile device illustrating the occurrence of a seasonal schedule for cleaning pet hair during pet shedding season. [Figure 8A]1 is a diagram illustrating a heat map of seasonal debris accumulation over a map of a mobile cleaning robot's environment. [Figure 8B] 1 is a diagram illustrating a heat map of seasonal debris accumulation over a map of a mobile cleaning robot's environment. [Figure 9] 1 is a flow diagram illustrating an example method for generating a seasonal cleaning schedule for a mobile cleaning robot and using the same to clean an environment. [Figure 10] 1 is a block diagram illustrating an example machine on which any one or more of the techniques (e.g., methodologies) discussed herein may be implemented. DETAILED DESCRIPTION OF THE INVENTION
[0041] The autonomous mobile robot can be controlled locally or remotely to perform missions (e.g., cleaning missions involving rooms or floor surface areas to be cleaned by the mobile cleaning robot, and schedules for cleaning such areas). A user can interact with the autonomous mobile cleaning robot through a user interface on a mobile device. The mobile device can display a map of the environment generated by the autonomous mobile robot's mapping system. A user can use the mobile device to generate a cleaning schedule. The autonomous mobile cleaning robot can perform cleaning missions to clean designated areas at specific times or when specific events occur. For example, a user can provide a schedule instructing the robot to clean areas of the house every time a specific day of the week occurs. Alternatively, a user can provide a schedule instructing the robot to clean areas of the house when the user leaves for work. These areas can include multiple rooms, hallways, objects, etc.
[0042] During certain times of the year, seasonal or environmental events may change the rate of debris accumulation in the mobile robot's environment (e.g., a user's home). Examples of such events, also referred to as seasonal or environmental debris accumulation events, may include pollen production, pet shedding, and weather events, among others. For example, pollen production may be relatively high during certain times of the year, commonly known as pollen or allergy seasons, which may vary geographically due to unique ecosystems with different temperatures, humidity, altitudes, precipitation, and species of trees, weeds, and grasses that present specific allergens. Pet shedding may vary during different times of the year. For example, most dogs shed more frequently in the spring and fall than at other times of the year. The longer, thicker hair they grow in winter is shed in the spring and replaced by lighter hair for the summer. The summer hair is then shed again in the fall and replaced by heavier, thicker winter hair. The exact peak shedding month varies depending on weather, sunlight, the dog's breed, nutrition, age, sex, living environment, and overall health. Seasonal weather events can include, for example, rainy or snowy days during a rainy or snowy season when mud is introduced into certain areas of the home at a relatively high rate. Rainy or snowy seasons can vary geographically.
[0043] Seasonal debris accumulation events can reduce the effectiveness of regular cleaning schedules implemented by users. For example, a cleaning schedule generated for times without seasonal debris accumulation events (e.g., winter months in areas with low pollen or other allergen levels, or summer months when dog shedding is minimal) may not provide a sufficient amount of cleaning during the peak debris accumulation season. On the other hand, a cleaning schedule generated specifically to accommodate excessive seasonal debris accumulation (e.g., additional cleaning) may be unnecessary and waste energy when used outside of the peak debris accumulation season.
[0044] The inventors have recognized an unmet need for improved personalized cleaning schedules to combat increased debris accumulation in homes due to seasonal or environmental debris accumulation events. For example, in the presence of a seasonal or environmental debris accumulation event or in anticipation of such an event, an existing “default” or regular cleaning schedule can be modified, for example, to provide an additional amount of cleaning. At the end of such a seasonal or environmental debris accumulation event, the cleaning schedule can be modified, for example, to return to the default or regular schedule with a reduced amount of cleaning. As described in various examples herein, cleaning schedules based on seasonal or environmental debris accumulation events can improve the cleaning efficiency and effectiveness of mobile robots and can enhance the user experience through personalized cleaning.
[0045] The mobile robots and scheduling techniques described herein, or portions thereof, may be controlled by a computer program product including instructions stored on one or more non-transitory machine-readable storage media and executable on one or more processing devices to control (e.g., coordinate) the operations described herein. The robots described herein, or portions thereof, may be implemented as all or part of an apparatus or electronic system, which may include one or more processing devices and a memory for storing executable instructions for implementing various operations.
[0046] Below, mobile robots and their working environments are briefly discussed with reference to Figures 1-4B. A detailed description of systems, devices, mobile applications, and methods for generating cleaning schedules for autonomous mobile robots based on seasonal or environmental debris accumulation events is discussed with reference to Figures 5-10.
[0047] Exemplary Autonomous Mobile Robot FIG. 1 and FIGS. 2A-2B show different views of an example mobile cleaning robot 100. FIG. 1 illustrates a cross-sectional view of the mobile cleaning robot 100. FIG. 2A illustrates a bottom view of the mobile cleaning robot 100. FIG. 2B illustrates a bottom view of the mobile cleaning robot 100. The cross-sectional view in FIG. 1 is taken through the transverse indicia 3-3 in FIG. 2A of the mobile cleaning robot 100. FIG. 1 also shows the bottom, top, front, and back orientation indicia. FIGS. 2A-3 are discussed together below.
[0048] The cleaning robot 100 may be an autonomous cleaning robot that autonomously traverses the floor surface 50 while picking up debris 75 from different parts of the floor surface 50. As shown in FIGS. 2A and 1, the robot 100 includes a body portion 200 that is movable across the floor surface 50. The body portion 200 may include a number of connected structures to which the movable components of the cleaning robot 100 are attached. The connected structures may include, for example, an outer housing that covers the internal components of the cleaning robot 100, a chassis to which the drive wheels 210 a and 210 b and the cleaning rollers 205 a and 205 b (of the cleaning head 205) are attached, a bumper 138 attached to the outer housing, etc.
[0049] As shown in FIG. 2A , the body 200 includes a front portion 202a having a substantially semicircular shape and a rear portion 202b having a substantially semicircular shape. As shown in FIG. 2A , the robot 100 can include a drive system including actuators 208a and 208b (e.g., motors) operable with drive wheels 210a and 210b. The actuators 208a and 208b can be mounted within the body 200 and operably connected to the drive wheels 210a and 210b, which are rotatably mounted to the body 200. The drive wheels 210a and 210b support the body 200 above the floor surface 50. When driven, the actuators 208a and 208b can rotate the drive wheels 210a and 210b, enabling the robot 100 to move autonomously across the floor surface 50.
[0050] The controller (or processor) 212 may be located within the housing and may be a programmable controller (e.g., a single-board or multi-board computer, a direct digital controller (DDC), or a programmable logic controller (PLC)). In other examples, the controller 212 may be any computing device, such as a handheld computer, e.g., a smartphone, a tablet, a laptop computer, a desktop computer, or any other computing device including a processor, memory, and communications capabilities. The memory 213 may be one or more types of memory, such as volatile or non-volatile memory, read-only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, and other storage devices and media. The memory 213 may be located within the body 200 and connected to and accessible by the controller 212.
[0051] The controller 212 can operate the actuators 208a and 208b to autonomously navigate the robot 100 around the floor surface 50 during cleaning operations. The actuators 208a and 208b can operate to drive the robot 100 in a forward drive direction, to drive the robot 100 in a backward drive direction, and to turn the robot 100. The robot 100 can include caster wheels 211 that support the body portion 200 above the floor surface 50. The caster wheels 211 can support the rear portion 202b of the body portion 200 above the floor surface 50, and the drive wheels 210a and 210b support the front portion 202a of the body portion 200 above the floor surface 50.
[0052] 1, the vacuum assembly 118 may be carried within the body 200 of the robot 100 (e.g., within the front portion 202a of the body 200). The controller 212 may operate the vacuum assembly 118 to generate an air flow that flows through an air gap near the cleaning rollers 205a and 205b, through the body 200, and out of the body 200. The vacuum assembly 118 may include, for example, an impeller that generates the air flow when rotated. The air flow and the cleaning rollers 205a and 205b cooperate to draw debris 75 into the robot 100 when rotated. A cleaning bin 322 mounted within the body 200 traps debris 75 captured by the robot 100, and a filter within the body 200 separates the debris 75 from the air flow 120 before it enters the vacuum assembly 118 and is exhausted from the body 200. In this regard, debris 75 is captured in both the cleaning bin 322 and the filter before the air flow 120 is exhausted from the body 200.
[0053] The cleaning rollers 205a and 205b may be operably connected to actuators 214a and 214b (e.g., motors), respectively. The cleaning head 205 and cleaning rollers 205a and 205b may be positioned in front of the cleaning bin 322. The cleaning rollers 205a and 205b are mounted to the housing 124 of the cleaning head 205 and may be mounted, for example, indirectly or directly, to the main body 200 of the robot 100. In particular, the cleaning rollers 205a and 205b are mounted to the underside of the main body 200 such that the cleaning rollers 205a and 205b engage debris 75 on the floor surface 50 during the cleaning operation when the underside faces the floor surface 50.
[0054] The housing 124 of the cleaning head 205 may be mounted to the body 200 of the robot 100. In this regard, the cleaning rollers 205a and 205b are also mounted to the body 200 of the robot 100, e.g., indirectly mounted to the body 200 through the housing 124. Alternatively or additionally, the cleaning head 205 is a removable assembly of the robot 100, where the housing 124 with the cleaning rollers 205a and 205b mounted therein is removably mounted to the body 200 of the robot 100. The housing 124 and cleaning rollers 205a and 205b are removable from the body 200 as a unit, allowing the cleaning head 205 to be easily interchangeable with a replacement cleaning head 205.
[0055] The control system may further include a sensor system with one or more electrical sensors, as described herein, that may generate signals indicative of the current location of the robot 100 and the location of the robot 100 as it travels along the floor surface 50.
[0056] Cliff sensors 134 (shown in FIG. 2A ) may be positioned along a bottom portion of main body 200. Each of cliff sensors 134 may be an optical sensor configured to detect the presence or absence of an object (e.g., floor surface 50) below the optical sensor. Cliff sensors 134 may be connected to controller 212. Bumper 138 may be removably secured to main body 200 and may be movable relative to main body 200 while attached to main body 200. In some examples, bumper 138 forms part of main body 200. Bumper sensors 139 a and 139 b (collectively referred to as bumper sensors 139) may be connected to main body 200 and may be engageable with or configured to interact with bumper 138. The bumper sensors 139 may include break beam sensors, capacitance sensors, switches, or other sensors capable of detecting contact between the robot 100 (i.e., the bumpers 138) and objects in the environment. The bumper sensors 139 may be in communication with the controller 212.
[0057] The image capture device 140 may be a camera connected to the body 200 and may extend through the bumper 138 of the robot 100, such as through an opening 143 in the bumper 138. The image capture device 140 may be a camera (e.g., a front-facing camera) configured to generate signals based on images of the environment of the robot 100 as it moves about the floor surface 50. The image capture device 140 may send signals to the controller 212 for use in navigation and cleaning routines.
[0058] The obstacle following sensor 141 (shown in FIG. 2B ) can include an optical sensor facing outward from the bumper 138 and configured to detect the presence or absence of an object adjacent to the side of the body 200. The obstacle following sensor 141 can emit an optical beam horizontally, in a direction perpendicular (or nearly perpendicular) to the forward drive direction of the robot 100. The optical emitter can emit the optical beam outward from the robot 100, e.g., horizontally, and the optical detector detects the reflection of the optical beam that reflects off an object near the robot 100. The robot 100 can determine the time of flight of the optical beam, for example, using the controller 212, thereby determining the distance between the optical detector and the object, and therefore the distance between the robot 100 and the object.
[0059] The side brushes 142 may be connected to the underside of the robot 100 and may be connected to motors 144 operable to rotate the side brushes 142 relative to the main body 200 of the robot 100. The side brushes 142 may be configured to engage debris and move it toward the cleaning head 205 or away from the edge of the environment. The motors 144 configured to drive the side brushes 142 may be in communication with the controller 112. The brushes 142 may rotate about a non-horizontal axis (e.g., an axis that forms an angle between 75 and 90 degrees with respect to the floor surface 50). The non-horizontal axis may, for example, form an angle between 75 and 90 degrees with respect to the longitudinal axes 126a and 126b of the rollers 205a and 205b.
[0060] The brushes 142 can be side brushes that are offset laterally from the center of the robot 100, allowing the brushes 142 to extend beyond the perimeter of the body 200 of the robot 100. Similarly, the brushes 142 can be offset forward from the center of the robot 100, allowing the brushes 142 to extend beyond the bumper 138.
[0061] The robot 100 may also include a button 146 (or interface), which may be a user-operable interface configured to provide commands to the robot, such as, for example, to pause a mission, power on, power off, or return to a docking station.
[0062] In some example operations, the robot 100 may be propelled in a forward drive direction or a backward drive direction, and the robot 100 may be propelled so that the robot 100 turns in place or turns while moving in the forward drive direction or the backward drive direction.
[0063] When controller 212 causes robot 100 to perform a mission, controller 212 may operate motors 208 to drive drive wheels 210 and propel robot 100 along floor surface 50. Additionally, controller 212 may operate motor 214 to cause rollers 205a and 205b to rotate, motor 144 to cause brush 142 to rotate, and motor 118 to generate airflow. Controller 212 executes software stored in memory 213 to operate various motors of robot 100, thereby causing robot 100 to perform various navigation and cleaning behaviors.
[0064] Various sensors on the robot 100 may be used to help the robot navigate and clean its environment. For example, the cliff sensor 134 may detect obstacles, such as steep slopes and cliffs, below the portion of the robot 100 on which the cliff sensor 134 is disposed. The cliff sensor 134 may send a signal to the controller 212, allowing the controller 212 to redirect the robot 100 based on the signal from the cliff sensor 134.
[0065] In some examples, bumper sensor 139a may be used to detect movement of bumper 138 along the front-to-back axis of robot 100. Bumper sensor 139b may also be used to detect movement of bumper 138 along one or more sides of robot 100. Bumper sensor 139 may send a signal to controller 212, allowing controller 212 to redirect robot 100 based on the signal from bumper sensor 139.
[0066] The image capture device 140 may be configured to generate signals based on images of the robot 100's environment as the robot 100 moves about the floor surface 50. The image capture device 140 may transmit such signals to the controller 212. The image capture device 140 may be angled in an upward direction, for example, between 5 and 45 degrees from the floor surface 50 (about which the robot 100 navigates). When angled upward, the image capture device 140 may capture images of wall surfaces of the environment, such that features corresponding to objects above the wall surfaces can be used for localization.
[0067] In some examples, the obstacle detection sensors 141 can detect detectable objects, including obstacles such as furniture, walls, people, and other objects in the environment of the robot 100. In some implementations, the sensor system can include obstacle detection sensors along the side surfaces, which can detect the presence or absence of objects adjacent to the side surfaces. One or more of the obstacle detection sensors 141 can also serve as obstacle detection sensors, similar to the proximity sensors described herein.
[0068] The robot 100 may also include sensors for tracking the distance traveled by the robot 100. For example, the sensor system may include an encoder associated with the motor 208 for the drive wheel 210, which may track the distance traveled by the robot 100. In some implementations, the sensor may include an optical sensor facing downward toward the floor surface. The optical sensor may be positioned to direct light through the bottom surface of the robot 100 toward the floor surface 50. The optical sensor may detect reflections of light and may detect the distance traveled by the robot 100 based on changes in floor features as the robot 100 travels along the floor surface 50.
[0069] The controller 212 can use data collected by sensors in the sensor system to control the navigation behavior of the robot 100 during a mission. For example, the controller 212 can use sensor data collected by obstacle detection sensors (cliff sensors 134, bumper sensors 139, and image capture device 140) of the robot 100 to enable the robot 100 to avoid obstacles in its environment during a mission.
[0070] The sensor data may also be used by the controller 212 for simultaneous localization and mapping (SLAM) techniques, in which the controller 212 extracts features of the environment represented by the sensor data and builds a map of the floor surface 50 of the environment. The sensor data collected by the image capture device 140 may be used for techniques such as vision-based SLAM (VSLAM), in which the controller 212 extracts visual features corresponding to objects in the environment and builds a map using these visual features. As the controller 212 orients the robot 100 around the floor surface 50 during a mission, the controller 212 can use SLAM techniques to determine the location of the robot 100 in the map by detecting features represented in the collected sensor data and comparing the features to previously stored features. The map formed from the sensor data may indicate the location of traversable and non-traversable spaces in the environment. For example, the location of an obstacle may be shown on the map as an untraversable space, and the location of an open floor space may be shown on the map as a traversable space.
[0071] Sensor data collected by any of the sensors may be stored in memory 213. In addition, other data generated for SLAM techniques, including mapping data that forms a map, may be stored in memory 213. This data created during a mission may include persistent data that is created during a mission and that can be used during further missions. In addition to storing software for causing robot 100 to perform its actions, memory 213 may store data resulting from processing of sensor data for access by controller 212. For example, a map may be available and updatable by controller 212 of robot 100 from one mission to another to navigate robot 100 around floor surface 50.
[0072] The persistent data (including the persistent map) helps enable the robot 100 to efficiently clean the floor surface 50. For example, the map can enable the controller 212 to orient the robot 100 toward open floor spaces and avoid untraversable spaces. Additionally, for subsequent missions, the controller 212 can use the map to optimize the path taken during the mission and help plan the navigation of the robot 100 through the environment.
[0073] 3 is a diagram illustrating an example of a control architecture 300 for operating a mobile cleaning robot. A controller 212 can be communicatively coupled to various subsystems of the mobile cleaning robot 100, including a communication system 305, a cleaning system 310, a drive system 110, and a sensor system 320. The controller 212 includes a memory 213, which holds data and instructions for processing by a processor 324. The processor 324 receives program instructions and feedback data from the memory 213, performs the logical operations called for by the program instructions, and generates command signals to operate each subsystem component of the mobile cleaning robot 100. An input / output unit 326 sends command signals and receives feedback from the various illustrated components.
[0074] The communication system 305 may include a beacon communication module 306 and a wireless communication module 307. The beacon communication module 306 may be communicatively coupled to the controller 212. In some embodiments, the beacon communication module 306 is operable to send signals to and receive signals from remote devices. For example, the beacon communication module 306 may detect navigation signals projected from a navigation emitter or a virtual wall beacon, or may detect homing signals projected from a dock emitter. Docking, confinement, home base, and homing techniques are discussed in U.S. Patent Nos. 6,213,299; 6,213,299; 6,213,299; and 6,213,299 (which are incorporated by reference herein in their entireties). As described in U.S. Patent No. 6,213,299 (which is incorporated by reference herein in its entirety), the wireless communication module 307 facilitates communication of information describing the status of the mobile cleaning robot 100 over a suitable wireless network (e.g., a wireless local area network) with one or more mobile devices (e.g., the mobile device 404 shown in FIG. 4A ). Further details of communication system 305 are discussed below, for example with reference to FIG. 4A.
[0075] Cleaning system 310 can include roller motor 214 (e.g., actuators 214a and 214b), brush motor 144 that drives side brushes 142, and suction fan motor 316 that powers vacuum assembly 118. Cleaning system 310 further includes multiple motor sensors 317 that monitor the operation of roller motor 214, brush motor 144, and suction fan motor 316 and facilitate closed-loop control of the motors by controller 212. In some embodiments, roller motor 214 is operated by controller 212 (or a suitable microcontroller) to drive rollers (e.g., rollers 205a and 205b) according to specific speed settings via closed-loop pulse-width modulation (PWM) techniques, where a feedback signal is received from motor sensor 317 that monitors a signal indicative of the rotational speed of roller motor 214. For example, such motor sensors 317 may be provided in the form of motor current sensors (eg, shunt resistors, current sensing transformers, and / or Hall effect current sensors).
[0076] The drive system 110 may include a drive wheel motor 208 for operating the drive wheels 210 in response to drive commands or control signals from a controller 212, and a plurality of drive motor sensors 161 for facilitating closed-loop control of the drive wheels (e.g., via appropriate PWM techniques as described above). In some implementations, a microcontroller assigned to the drive system 110 is configured to interpret drive commands having x, y, and θ components. The controller 212 may issue individual control signals to the drive wheel motors 208. In any event, the controller 212 may steer the mobile cleaning robot 100 in any direction across a cleaning surface by independently controlling the rotational speed and direction of each drive wheel 210 a or 210 b via the drive wheel motors 208.
[0077] The controller 212 can operate the drive system 110 in response to signals received from the sensor system 320. For example, the controller 212 can operate the drive system 110 to redirect the mobile cleaning robot 100 to avoid obstacles encountered while treating a floor surface. In another example, if the mobile cleaning robot 100 becomes stuck or entangled during use, the controller 212 can operate the drive system 110 according to one or more escape behaviors. To achieve reliable autonomous movement, the sensor system 320 can include several different types of sensors that can be used in combination with each other, allowing the mobile cleaning robot 100 to make intelligent decisions about a particular environment. By way of example and not limitation, the sensor system 320 may include one or more of a proximity sensor 336, a cliff sensor 134, a visual sensor 325, such as an image capture device 140 configured to detect features and landmarks in the operating environment and to construct a virtual map, for example using VSLAM technology, as described above.
[0078] The sensor system 320 may further include bumper sensors 339 (e.g., bumper sensors 139a and 139b) that respond to activation of the bumper 138. The sensor system 320 may include an inertial measurement unit (IMU) 164 that responds in part to changes in the position of the mobile cleaning robot 100 relative to a vertical axis that is substantially perpendicular to the floor and that senses when the mobile cleaning robot 100 is pitched at a floor-type interface that has height differences (potentially due to flooring-type changes). In some examples, the IMU 164 is a six-axis IMU with a gyro sensor that measures the angular velocity of the mobile cleaning robot 100 relative to the vertical axis. However, other suitable configurations are also contemplated. For example, the IMU 164 may include an accelerometer that is sensitive to linear acceleration of the mobile cleaning robot 100 along the vertical axis. In either case, the output from the IMU 164 is received by the controller 212 and processed to detect discontinuities in the floor surface (as the mobile cleaning robot 100 travels across it). In the context of this disclosure, the terms "flooring discontinuity" and "threshold" refer to any irregularity in the floor surface (e.g., a change in flooring type or a change in elevation at a flooring interface) that is traversable by the mobile cleaning robot 100 but that causes a discrete vertical movement event (e.g., an upward or downward "bump"). The vertical movement event may refer to a portion of the drive system (e.g., one of the drive wheels 210) or the chassis of the main body 200, depending on the configuration and installation of the IMU 164. Detection of a flooring threshold or flooring interface may prompt the controller 212 to anticipate a change in floor type.For example, the mobile cleaning robot 100 may experience a significant downward vertical bump when it moves from high pile carpet (a soft floor surface) to a tile floor (a hard floor surface), and may experience an upward bump in the opposite case.
[0079] Although not shown or described in connection with the illustrated example, a wide variety of other types of sensors may be incorporated into sensor system 320 (or any other subsystem) without departing from the scope of this disclosure. Such sensors may function as obstacle detection units, obstacle detection and avoidance (ODOA) sensors, wheel drop sensors, obstacle detection sensors, stall sensor units, drive wheel encoder units, bumper sensors, etc.
[0080] Exemplary Communication Network 4A is a diagram illustrating, by way of example and not limitation, a communication network 400A that enables networking between a mobile cleaning robot 100 and one or more other devices, such as a mobile device 404, a cloud computing system 406, or another autonomous robot 408 that is separate from the mobile device 404. Using the communication network 400A, the mobile cleaning robot 100, the mobile device 404, the robot 408, and the cloud computing system 406 can communicate with each other and send and receive data from each other. In some implementations, the mobile cleaning robot 100, the robot 408, or both the mobile cleaning robot 100 and the robot 408 communicate with the mobile device 404 through the cloud computing system 406. Alternatively or additionally, the mobile cleaning robot 100, the robot 408, or both the mobile cleaning robot 100 and the robot 408 communicate directly with the mobile device 404. Various types and combinations of wireless networks (eg, Bluetooth, radio frequency, optical-based, etc.) and network architectures (eg, mesh networks) may be used by communications network 400A.
[0081] In some implementations, the mobile device 404, as shown in FIG. 4A , is a remote device that can be linked to a cloud computing system 406 and can allow a user to provide input on the mobile device 404. The mobile device 404 can include user input elements, such as one or more of a touchscreen display, buttons, a microphone, a mouse, a keyboard, or other devices that respond to input provided by a user. Alternatively or additionally, the mobile device 404 can include immersive media (e.g., virtual reality) with which the user interacts and provides user input. In these cases, the mobile device 404 is, for example, a virtual reality headset or a head-mounted display. The user can provide input corresponding to a command for the mobile device 404. In such cases, the mobile device 404 transmits a signal to the cloud computing system 406, causing the cloud computing system 406 to transmit a command signal to the mobile cleaning robot 100. In some implementations, the mobile device 404 can present an augmented reality image. In some implementations, the mobile device 404 is a smartphone, a laptop computer, a tablet computing device, or other mobile device.
[0082] According to various embodiments discussed herein, the mobile device 404 can include a user interface configured to display a map of the robot environment. Additionally, robot paths (e.g., as identified by a coverage planner of the controller 212) can be displayed on the map. The interface can receive user instructions to modify the environment map, for example, by adding, removing, or otherwise modifying no-go traversable zones in the environment, by adding, removing, or otherwise modifying overlapping traversal zones in the environment (e.g., areas requiring repeated cleaning), by restricting the robot traversal direction or pattern within a portion of the environment, or by adding or changing cleaning ranks, among others.
[0083] In some implementations, communication network 400A may include additional nodes. For example, a node of communication network 400A may include an additional robot. Alternatively or additionally, a node of communication network 400A may include a networked device. In some implementations, the networked device may generate information about the environment. The networked device may include one or more sensors for detecting features in the environment, such as an acoustic sensor, an image capture system, or other sensor that generates a signal from which features can be extracted. The networked device may include a home camera, a smart sensor, a smart lock, a smart thermostat, a smart garage door opener, and the like.
[0084] In the communication network 400A shown in FIG. 4A , as well as in other implementations of the communication network 400A, the wireless link may utilize various communication schemes, protocols, and the like, such as Bluetooth class, 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 used to communicate between mobile devices, including, but not limited to, standards that qualify as 1G, 2G, 3G, or 4G. If utilized, the network standard may qualify, for example, as one or more generations of a mobile telecommunications standard by meeting a specification or standard, such as a specification maintained by the International Telecommunications Union. If utilized, the 3G standard may correspond, for example, to the International Mobile Telecommunications-2000 (IMT-2000) specification, and the 4G standard may correspond to the International Mobile Telecommunications Advanced (IMT-Advanced) specification. Examples of cellular network standards include AMPS, GSM, GPRS, UMTS, LTE, LTE Advanced, Mobile WiMAX, and WiMAX-Advanced. Cellular network standards may use various channel access methods, for example, FDMA, TDMA, CDMA, or SDMA.
[0085] 4B is a diagram illustrating an example process 400B for exchanging information among devices in a communication network 400A, including a mobile cleaning robot 100, a cloud computing system 406, and a mobile device 404. A cleaning mission can be initiated by pressing a button on the mobile cleaning robot 100 or can be scheduled for a future time or day. A user can select a set of rooms to be cleaned during a cleaning mission, a set of areas or zones within a room, or instruct the robot to clean all rooms. A user can also select a set of cleaning parameters to be used in each room during the cleaning mission.
[0086] During a cleaning mission, the mobile cleaning robot 100 tracks 410 its status, including its location, any operational events that occur during cleaning, and the time spent cleaning. The mobile cleaning robot 100 sends 412 the status data (e.g., one or more of location data, operational event data, and time data) to a cloud computing system 406, which, via a processor 442, calculates 414 an estimated time for the area to be cleaned. For example, the estimated time may be calculated for a cleaning room by averaging the actual cleaning times for that room collected during multiple (e.g., two or more) previous cleaning missions for that room. The cloud computing system 406 sends 416 the estimated time data along with the robot status data to the mobile device 404. The mobile device 404, via its processor 444, presents 418 the robot status data and the estimated time data on a display. The robot status data and the estimated time data may be presented on the mobile device's display as any of a plurality of graphical representations, an editable mission timeline, and / or a mapping interface. In some examples, the mobile cleaning robot 100 can communicate directly with the mobile device 404 .
[0087] The user 402 can view 420 the robot status data and estimated time data on the display and input 422 new cleaning parameters or manipulate the order or identity of the rooms to be cleaned. The user 402 can, for example, remove a room from the cleaning schedule of the mobile cleaning robot 100. In other cases, the user 402 can, for example, select an edge cleaning mode or a deep cleaning mode for a room to be cleaned. The display of the mobile device 404 updates 424 as the user inputs changes to the cleaning parameters or cleaning schedule. For example, if the user changes the cleaning parameters from single-pass cleaning to dual-pass cleaning, the system will update the estimated time and provide an estimate based on the new parameters. In this example of single-pass cleaning versus dual-pass cleaning, the estimate would approximately double. In another example, if the user removes a room from the cleaning schedule, the total estimated time is reduced by approximately the time required to clean the removed room. Based on the input from the user 402, the cloud computing system 406 calculates 426 an estimated time for the area to be cleaned, which is then transmitted 428 back to the mobile device 404 (e.g., by wireless transmission, by applying a protocol, by broadcasting a wireless transmission) and displayed. Additionally, data related to the calculated estimated time is transmitted 446 to the robot's controller 430. Based on the input from the user 402 (which is received by the mobile cleaning robot's 100 controller 430), the controller 430 generates 432 a command signal. The command signal instructs the mobile cleaning robot 100 to perform 434 a predetermined action, which may be a cleaning action.As cleaning actions are performed, the controller continues to track 410 the status of the robot, including its location, any operational events that occur during cleaning, and the time spent cleaning. In some cases, live updates related to the robot's status may additionally be provided to a mobile device or home electronics system (e.g., an interactive speaker system) via push notifications.
[0088] Upon performing 434 the predetermined action, the controller 430 checks 436 to see if the received command signal includes a command to complete the cleaning mission. If the command signal includes a command to complete the cleaning mission, the robot is instructed to return to its dock and transmits information upon its return, enabling the cloud computing system 406 to generate 438 a mission summary, which is transmitted to and displayed 440 by the mobile device 404. The mission summary may include a timeline and / or a map. The timeline may display the rooms cleaned, the time spent cleaning each room, the motion events tracked within each room, etc. The map may display the rooms cleaned, the motion events tracked within each room, the type of cleaning (e.g., sweeping or mopping) performed within each room, etc.
[0089] Operations for process 400B and other processes described herein may be performed in a distributed manner. For example, the cloud computing system 406, the mobile cleaning robot 100, and the mobile device 404 may cooperate with one another to perform one or more of the operations. Operations described as being performed by one of the cloud computing system 406, the mobile cleaning robot 100, and the mobile device 404 are, in some implementations, at least partially performed by two or all of the cloud computing system 406, the mobile cleaning robot 100, and the mobile device 404.
[0090] Exemplary Seasonal Cleaning Schedule and Cleaning Control Discussed below with reference to FIGS. 5-10 are various embodiments of systems, devices, and methods for generating a seasonal cleaning schedule for an autonomous mobile robot and for controlling the autonomous mobile robot to perform missions in an environment according to the seasonal cleaning schedule. The seasonal cleaning schedule can be based on seasonal or environmental debris accumulation events. While this document references a mobile cleaning robot 100 performing floor cleaning, the seasonal cleaning schedules discussed herein may be used in robots designed for different applications (e.g., mopping, weeding, transportation, among others). Additionally, while some components, modules, and operations may be described as being implemented and performed by the mobile cleaning robot 100, by a user, by a computing device, or by another actor, these operations may, in some implementations, be performed by actors other than those described. For example, operations performed by the mobile cleaning robot 100 may, in some implementations, be performed by a cloud computing system 406 or by another computing device (or devices). In other examples, the actions performed by a user may be performed by a computing device. In some implementations, the cloud computing system 406 does not perform the actions. Rather, other computing devices perform the actions described as being performed by the cloud computing system 406, and these computing devices may be in direct (or indirect) communication with each other and the mobile cleaning robot 100.In some implementations, the mobile cleaning robot 100 is capable of performing the operations described as being performed by the cloud computing system 406 or the mobile device 404 in addition to the operations described as being performed by the mobile cleaning robot 100. Other variations are possible. Moreover, while the methods and processes described herein are described as including particular operations or sub-operations, in other implementations, one or more of those operations or sub-operations may be omitted, or additional operations or sub-operations may be added.
[0091] FIG. 5 is a block diagram illustrating an example of a mobile robot system 500 for generating a seasonal cleaning schedule for a mobile cleaning robot (e.g., mobile cleaning robot 100) and for performing cleaning missions according to the seasonal cleaning schedule. The seasonal cleaning schedule can be a modification of an existing “default” or periodic cleaning schedule to accommodate increased debris accumulation during seasonal or environmental debris accumulation events. Examples of seasonal debris accumulation events can include increased pollen production during pollen season, increased pet shedding during shedding season, or environmental or weather events (e.g., mud, rain, or snow introduced into specific areas of the home during rainy or snowy seasons). The seasonal cleaning schedule can be a one-time change to the schedule. Alternatively, the seasonal cleaning schedule can include a modification of regularly scheduled cleanings or regularly scheduled cleanings that extend over a season or a user-specified period of time. The seasonal cleaning schedule may be used by one or more mobile robots of the same or different types (eg, a mobile cleaning robot, a mobile mopping robot, or a mowing robot, etc.).
[0092] Although this document references pollen and cleaning schedules based on seasonal pollen production, the systems and methods discussed herein can also be used to generate cleaning schedules for mobile robots based on predicted or detected events associated with other particulate matter (e.g., general air pollutants, fine particles produced due to forest fires or dust storms, etc.).
[0093] The mobile robot system 500 may include a mobile cleaning robot 510 and a mobile device 520. The mobile cleaning robot 510 (an example of the mobile cleaning robot 100) may include a sensor system 511, a controller 512, a drive system 517, and a cleaning system 518. The controller 512 may receive a seasonal cleaning schedule, for example, from the mobile device 520. The seasonal cleaning schedule corresponds to seasonal debris accumulation events in the mobile cleaning robot's environment (e.g., a user's home). The seasonal debris accumulation events may vary the rate of debris accumulation in the environment at different times of the year. The seasonal cleaning schedule includes instructions for the mobile cleaning robot 510 to clean portions of the environment under seasonally varying debris conditions (hereinafter referred to as seasonal debris conditions). The seasonal debris conditions represent expected levels of debris accumulation (e.g., high debris conditions, low debris conditions, or no debris conditions). The controller 512 can generate control signals to the drive system 517 and the cleaning system 518 to perform cleaning missions in the environment according to a seasonal cleaning schedule.
[0094] A mobile device 520 (which is an example of a mobile device 404) may be communicatively coupled to the mobile cleaning robot 510 via a communication link 540. Examples of the mobile device 520 may include a smartphone, a personal computer, a smartwatch, a mobile tablet, among other mobile computing devices. The mobile device 520 may include a processor for executing routines, a memory, and a wireless communication interface for communicating with other devices (e.g., including the mobile cleaning robot 510, the internet-connected device 550, and a display and / or touchscreen). The processor of the mobile device 520 may include a seasonal event predictor 521 and a cleaning schedule generator 524. The seasonal event predictor 521 may determine or predict the occurrence and timing of seasonal debris accumulation events (e.g., increased pollen production, pet shedding, etc.) or environmental or weather events (e.g., mud, rain, or snow being introduced into a particular area of the home, etc.).
[0095] Predicting the timing of seasonal debris accumulation events The seasonal event predictor 521 is capable of predicting the timing of seasonal debris accumulation events based on the geographic location of the mobile cleaning robot's environment (e.g., a user's home). Information about the geographic location of the mobile robot's environment may be obtained from a geolocation service 530 that uses Global Positioning System (GPS) or other location technology. The geolocation service 530 may be separate from the mobile device 520, or it may be included within the mobile device 520. Alternatively, the geographic location of the mobile robot's environment may be provided by a user, such as, for example, via a user interface 528 of the mobile device 520.
[0096] Based on the geographic location of the mobile robot's environment, the seasonal event predictor 521 can determine predicted timing 522 of seasonal debris accumulation events. The predicted timing 522 can include, for example, an expected time span (start time and end time) of a seasonal debris accumulation event in a typical year. The time span can be based on historical event data collected over an extended period of time for the geographic location of the mobile robot's environment. By way of example and not limitation, the time span of pollen season can be March to June, dog shedding season can be March to June and September to November, or rainy season can be April to June.
[0097] In some examples, the seasonal event predictor 521 can search the internet for seasonal debris accumulation events of a particular type and their seasonal variations in different geographic regions and can use such information to determine predicted timing 522 (e.g., time spans, etc.) for seasonal debris accumulation events in a typical year with respect to the geographic region of the user's home. The search can be performed through a search engine included in the mobile device 520 or through an internet-connected device 550 communicatively coupled to the mobile device 520. The internet-connected device 550 can be a smart home device or an Internet-of-Things (IoT) device. In some examples, the internet-connected device 550 can be a smart home ecosystem that uses a virtual assistant that can communicate with the user and retrieve the predicted timing 522 of specific seasonal debris accumulation events in response to the user's request.
[0098] In some examples, the internet-connected device 550 includes an IoT device or sensor in the user's home (e.g., an HVAC, humidifier, or air purifier) that can detect pollen or other airborne particles. Information acquired by the internet-connected device 550 can be transmitted to the mobile device 520, displayed to the user, and used to generate seasonal cleaning schedules.
[0099] In addition to or instead of the geographic location of the mobile cleaning robot's environment, other information can be used to predict the timing of seasonal debris accumulation events. In one example, the mobile device 520 can request a forecast of upcoming environmental events (e.g., rain, wind, snow, pollen index, airborne mold count, among others) from a weather service. The request can be generated automatically by the mobile device 520 or, alternatively, can be initiated by a user, such as through the user interface 528. Such a request can be made using a search engine included within the mobile device 520 or over the Internet using the Internet-connected device 550. The forecast of upcoming environmental events can be used to determine the predicted timing 522 of seasonal pollen or weather events, which can be used to generate a seasonal cleaning schedule. The forecast of upcoming environmental events and the predicted time span of seasonal debris accumulation events can be displayed to the user on the user interface 528 of the mobile device 520.
[0100] In another example, fall and spring months are peak shedding periods for dogs, although the exact shedding months may vary depending on weather, sunlight, the dog's breed, nutrition, age, sex, living environment, and overall health. In one example, the seasonal event predictor 521 can determine the predicted timing 522 of a dog's shedding based on pet information. The pet information can be provided by a user, such as through a user interface 528, examples of which are discussed below with reference to FIGS. 7A-7C. Additionally or alternatively, the pet information can be determined automatically. For example, an image of the pet can be captured by a camera on the mobile cleaning robot 510 or the mobile device 520 and compared to those in a known database to automatically determine the breed, type, approximate size, or approximate weight, among other pet information. In one example, the mobile cleaning robot 510 can dynamically detect the presence and pet information of pets as it traverses an environment, as discussed below.
[0101] Predicting debris conditions in the area The seasonal event predictor 521 may predict seasonal debris conditions 523. The predicted seasonal debris conditions indicate the level of debris accumulation in the user's home or a portion thereof. Examples of debris conditions may include a high debris condition, a low debris condition, or no debris condition, among others. While the predicted event timing 522 (e.g., the time span of pollen production, pet molting, or rainy season) is highly dependent on the geographic location of the user's home, the predicted debris conditions 523 may be more influenced by environmental conditions specific to the user's home. For example, the seasonal event predictor 521 may determine a predicted pollen accumulation condition based on the amount and type of vegetation in an area of the user's home and / or the distance or orientation of the vegetation relative to the user's home. Specific environmental conditions may be used to determine or predict pollen amount or pollen distribution in different areas of the user's home during pollen season. In another example, the seasonal event predictor 521 can determine a predicted amount of pet hair based on pet information (e.g., the number of pets in the household and each pet's breed, type, age, approximate weight, etc.). The pet information can be used to determine or predict the amount of pet hair in the environment during shedding season. The predicted debris conditions 523, along with the predicted timing 522 of seasonal debris accumulation events, can be used to generate a seasonal cleaning schedule.
[0102] Generate seasonal cleaning schedule recommendations The cleaning schedule generator 524 can generate seasonal cleaning schedule recommendations for the mobile cleaning robot 510 based on one or more of the predicted timing 522 of a seasonal debris accumulation event or the predicted debris conditions 523. The seasonal cleaning schedule includes one or more of a cleaning area 525 (e.g., a specific room or portion within a mobile robot user's home), a cleaning time 526, or a cleaning mode 527. The cleaning area 525 can be an entire environment (e.g., a user's home) or a portion thereof, as specified by the user, for example. The cleaning area 525 can have different seasonal debris conditions at different times of the year. As described above, seasonal debris conditions represent level debris accumulation in specific areas of the cleaning environment. Those areas are expected to have higher debris conditions during the predicted time span of the seasonal debris accumulation event and relatively lower debris conditions at other times outside the time span. For example, pollen accumulation is more likely to be higher during pollen season than at other times of the year. Excessive dog hair is more likely to be present in certain areas of the home during shedding season than at other times of the year. Mud and rain are more likely to accumulate in certain areas of the home during the rainy season than during the dry months of the year. As discussed below, the cleaning area 525 may be dynamically determined or updated as the mobile cleaning robot 510 traverses the environment and detects debris accumulations or objects proximate to areas in the environment that are more likely to be affected by seasonal debris (e.g., areas near windows and entry doors that are prone to pollen accumulation, or areas where pets or pet utilities are detected that are prone to excessive pet hair during shedding season), as discussed below.
[0103] The cleaning time 526 may include a specific day and time within the predicted timing 522. For example, the cleaning time 526 may be defined as 9:00 AM every Monday, Wednesday, and Friday during the predicted time span of a seasonal debris accumulation event determined by the seasonal event predictor 521. The cleaning mode 527 represents how the mobile cleaning robot 510 cleans the cleaning area. For a cleaning schedule including multiple cleaning areas, each cleaning area may be cleaned by a corresponding cleaning mode. The cleaning modes 527 may differ in the number of passes over the same area (e.g., single pass vs. multiple passes), the time spent to clean the area, cleaning power, etc. Examples of cleaning modes 527 may include deep clean, spot clean, quick clean, vacuum followed by mopping, among others.
[0104] For a particular cleaning area, the seasonal cleaning schedule can vary in cleaning time 526, cleaning mode 527, or both based on the predicted debris conditions in that area. For example, a seasonal cleaning schedule can include a first cleaning time (e.g., every Monday through Friday during pollen season or dog shedding season) for cleaning the area when it is predicted to have relatively high debris conditions (e.g., during peak pollen season or pet shedding season). The seasonal cleaning schedule can include a different second cleaning time (e.g., every Monday and Thursday only off pollen season or off dog shedding season) for cleaning the same area when it is predicted to have relatively low debris conditions (e.g., during times outside of pollen season or pet shedding season). In another example, a seasonal cleaning schedule may include a first cleaning mode (e.g., a "deep clean" mode characterized by repeated or multi-pass cleaning over the same area, longer cleaning times, or higher power) when the area is predicted to have relatively high debris conditions, and a different second cleaning mode (e.g., a "standard clean" mode or a "quick clean" mode characterized by single or fewer passes over the same area, shorter cleaning times, or lower cleaning power) when the area is predicted to have relatively low debris conditions.
[0105] The seasonal cleaning schedule may be presented to the user, such as on a display of the user interface 528. The user may approve, reject, or modify the recommended seasonal cleaning schedule, or portions thereof, such as via UI controls on the user interface 528. For example, the user may add more time to the recommended cleaning time 526, add more cleaning passes to the recommended cleaning mode 527, or change the location or size of the recommended cleaning area 525. The user may make such changes to the recommended cleaning schedule based on observations of the user's environment, detections performed by the mobile cleaning robot (e.g., debris detection as discussed below), or the user's personal preferences or health conditions (e.g., allergic reactions to pollen or other allergens). The seasonal cleaning schedule, if approved or modified by the user, may be stored in the memory of the mobile device 520 and may be used by the mobile cleaning robot 510 when performing cleaning missions.
[0106] The seasonal cleaning schedule may be displayed on the user interface 528. In some examples, information about seasonal or environmental debris accumulation events (e.g., predicted timing 522 (e.g., time span) of seasonal debris accumulation events and predicted debris conditions 523, etc.) may be displayed on the user interface 528. A user can use such information as a reference for customizing the seasonal cleaning schedule.
[0107] In some examples, various recommendations may be displayed on the user interface 528 to guide the user to clean affected areas or reduce the effects of pollen accumulation. In one example, a recommendation may be provided to close windows in a home when daily pollen levels are forecast to be relatively high. In examples where the windows are electronically controllable, the windows may be automatically closed with the user's permission. As discussed below, the mobile cleaning robot 510 may include a sensor system 511 for detecting and localizing actual debris accumulation levels in the environment. In one example, a notification of excessive debris accumulation may be presented to the user when the detected debris level exceeds a debris threshold. In one example, the debris threshold is adjustable by the user through the user interface. A recommendation may be provided to the user to clean identified debris accumulation areas when the detected debris level exceeds the debris threshold.
[0108] Examples of generating a seasonal cleaning schedule on a mobile device 520 are illustrated in FIGS. 6A-6C and 7A-7B. FIG. 6A shows a wireframe of a user interface 600A on a mobile device (e.g., a smartphone). The mobile device can run a mobile application (“app”) allowing a user to control the operation of a mobile cleaning robot in the user's home. A notification page displayed on the user interface can include, among other features, seasonal recommendations 610, which can assist the user in setting up a seasonal cleaning schedule taking into account seasonal or environmental events (e.g., pollen production, pet molting, or weather events). The user can use a toggle switch 612 to activate the seasonal recommendations 610. FIG. 6B illustrates a schedule page 600B showing recommended seasonal cleaning tasks automatically generated by the cleaning schedule generator 524 based on seasonal or environmental debris accumulation events. The recommended seasonal cleaning schedule can be a schedule separate from an existing “default” or periodic cleaning schedule that does not take seasonal or environmental debris accumulation events into account. Alternatively, the recommended seasonal cleaning schedule can be a modification of an existing cleaning schedule, such as by adding additional cleaning tasks to the existing cleaning schedule. As shown in FIG. 6B , an existing cleaning schedule 620 defines times for cleaning designated areas in the user's home (e.g., a one-time event at 9:00 AM on Thursday and a recurring event “when leaving the house” every Monday, Wednesday, and Friday). One or more additional cleaning times 622 (e.g., 9:00 AM on Monday and 3:00 PM on Wednesday) are recommended to the user to accommodate seasonal or environmental debris accumulation events such as pollen or pet molting.The additional cleaning time can be a one-time cleaning or a recurring scheduled cleaning. A user can add a recommended additional cleaning time 622 to an existing schedule, such as via a UI control 624.
[0109] As discussed above, cleaning time 526 and cleaning mode 527 each determine the amount of additional cleaning to perform for those areas with seasonal debris accumulation. In addition to or instead of the recommended additional cleaning time 622, the additional cleaning can include recommending a different or modified cleaning mode to accommodate increased pollen accumulation or excess pet hair. In one example, the modified cleaning mode can include more frequent mopping to ensure collection of fine pollen particles. For example, a recommendation can be provided to mop the floor after each vacuuming mission during a period of time with relatively high pollen levels. In one example, mopping can be recommended before vacuuming or without vacuuming to prevent or reduce pollen from being spread into the air via vacuuming. In instances where a user collaboratively cleans with a robot (e.g., the user dusts or performs other cleaning chores while the robot vacuums or mops), recommendations may be provided to the user to avoid dusting when pollen or other airborne particulate matter is relatively high.
[0110] FIG. 6C is a wireframe of a user interface 600C illustrating the resulting seasonal cleaning schedule, which incorporates a recommended additional cleaning time 622 into an existing cleaning schedule 620. Cleaning tasks directed at seasonal or environmental debris accumulation events can be marked or otherwise identified in the cleaning schedule (e.g., “for pollen”) to be distinguishable from other cleaning tasks. The effective time of such seasonal cleaning tasks, which can be based on the foreseen time span of the seasonal or environmental debris accumulation event, can also be displayed on the user interface (e.g., “Ends 9 / 20”). The user can approve or reject the seasonal cleaning schedule or portions thereof, such as via UI control 630. If approved, the cleaning schedule for the mobile cleaning robot can be updated according to the recommendation.
[0111] In some examples, a user can customize a seasonal cleaning schedule by adding, removing, or modifying (e.g., changing the date and / or time of cleaning) one or more cleaning tasks in the recommended additional cleaning times 622 and / or one or more cleaning tasks in the existing cleaning schedule 620. For example, a user can select only "Monday 9:00 AM" from the recommended additional cleaning times 622 to be included in the seasonal cleaning schedule, or can select only the recurring event of "When I leave home" every Monday, Wednesday, and Friday from the existing cleaning schedule 620 to be included in the seasonal cleaning schedule.
[0112] 7A-7B are wireframes of a user interface of a mobile device (e.g., a smartphone) for generating a seasonal cleaning schedule based on pet shedding events. As discussed above, the seasonal event predictor 521 can determine the timing (e.g., time span) of a pet's shedding season based on the geographic location of the environment and pet information (e.g., including the pet's age, breed, sex, or weight). The pet information can also be used to determine predicted debris conditions in specific areas of the user's home. FIG. 7A shows a question page 700A on the user interface that prompts the user to provide pet information (e.g., including pet presence 712, number of pets 714, and type, weight, breed, and age 716 for each pet). FIG. 7B illustrates a schedule page 700B showing recommended seasonal cleaning tasks automatically generated by the cleaning schedule generator 524 based on the pet information received from the user, optionally along with information about the geographic location of the user's home. Similar to the schedule page 600B shown in FIG. 6B, a user can generate a customized seasonal cleaning schedule by modifying an existing schedule 720, such as by adding additional cleaning time 722 using UI controls 724. The additional cleaning time 722 can be determined based on the pet information. For example, for a household with one small dog, a first amount of additional cleaning time can be performed, and for a household with two large dogs, a second amount of additional cleaning can be performed, the second amount of additional cleaning being greater than the first amount of cleaning. Additionally or alternatively, the cleaning schedule generator 524 can determine a recommended cleaning mode (e.g., recommending a "deep clean" mode, adding additional passes, moving the robot at a slower speed, or using higher power) for cleaning pet shedding areas based on the pet information.For example, the recommended cleaning mode may include changing from a normal single pass cleaning to two, three, or four passes.
[0113] FIG. 7C is a wireframe of user interface 700C illustrating the resulting seasonal cleaning schedule. Similar to the seasonal cleaning schedule shown in FIG. 6C, cleaning tasks directed to pet shedding events can be marked or otherwise identified in the cleaning schedule (e.g., "for pet shedding") to make them distinguishable from other cleaning tasks. The effective time of such seasonal cleaning tasks can be displayed on the user interface (e.g., "Ends 9 / 20"). The user can accept or reject the recommended seasonal cleaning schedule or portions thereof, such as via UI control 730. If accepted, the cleaning schedule for the mobile cleaning robot can be updated according to the recommendation.
[0114] Dynamic adjustment of cleaning area and amount 5, a seasonal cleaning schedule generated by the mobile device 520 (e.g., such as that shown in FIG. 6C or 7C) may be transmitted to the mobile cleaning robot 510 via a communication link 540. The controller 512 of the mobile cleaning robot 510 may include a debris detector / localizer 513, a mapping system 514, and a navigation controller 516. As discussed above, the seasonal cleaning schedule generated by the cleaning schedule generator 524 may include a cleaning area 525. The cleaning area 525 may be the same area defined in an existing cleaning schedule (e.g., the existing cleaning schedule 620 as shown in FIG. 6B or the existing schedule 720 as shown in FIG. 7B). Alternatively, a user may define the cleaning area 525, such as by modifying an existing cleaning area on the user interface 528.
[0115] In some examples, the cleaning area 525 may be dynamically determined or modified by the debris detector / localizer 513 as the mobile cleaning robot 510 traverses the environment and detects those areas with seasonal debris accumulation. The debris detector / localizer 513 is coupled to the sensor system 511 (an example of the sensor system 320) and can detect seasonal debris accumulation events (e.g., pollen accumulation, excessive pet hair, or the presence of mud) in the user's home. In some examples, the mobile cleaning robot 510 can use the sensor system 511 to detect objects in the user's home (e.g., including entry doors, windows, pets, or pet utilities (e.g., pet toys, beds, food bowls, tools, etc.)). The controller 512 can use the presence and locations of such objects in the user's home to determine or refine the cleaning area 525 within the seasonal cleaning schedule. Additionally or alternatively, the controller 512 can use the presence and location of such objects to dynamically determine or refine the amount of cleaning (e.g., cleaning times 526 or cleaning modes 527 within a seasonal cleaning schedule) to be performed in those areas.
[0116] In one example, the debris detector / localizer 513 can detect and localize pollen areas in the environment using one or more sensors configured to sense the presence and density of pollen or other airborne particulate matter. In one example, the sensor system 511 includes a forward-facing camera capable of inspecting floor surfaces in a user's home. Pollen accumulation can be detected based on images captured by the camera. In another example, the sensor system 511 includes an optical sensor for sensing light scattering created by pollen or other airborne particulates. In some examples, the sensor system 511 can include a sensor (e.g., a camera or optical sensor as discussed above) for detecting other particulate matter (e.g., general air pollutants, particulates created by forest fires or dust storms, etc.) in the environment in which the mobile cleaning robot operates. In some examples, the sensor system 511 may include chemical sensors for detecting gases sulfur oxides (SOx), nitrogen oxides (NOx), volatile organic compounds (VOCs), carbon monoxide (CO) and ammonia (NH3), ground level ozone (O3), and the like.
[0117] Because pollen is more likely to reside and accumulate in areas proximate openings (e.g., entryways, windows, doors, air conditioners, vents) than in other areas (e.g., under beds, bathrooms, or closets), in some examples, the debris detector / localizer 513 may detect and localize openings in the user's home, such as by using a camera included in the sensor system 511. The debris detector / localizer 513 may identify areas adjacent to detected opening structures as expected pollen areas. Alternatively, the user may identify or label doors, windows, or other openings on a map of the environment generated by the mobile cleaning robot's mapping system 514, as discussed below. The mobile cleaning robot may perform a cleaning mission that includes cleaning areas adjacent to the user-identified openings.
[0118] In some examples, the size of the predicted pollen area may be adjusted based on environmental or weather conditions in the area where the user's home is located. For example, the mobile device 520 may receive information about current wind conditions, which are provided by a weather service and accessed via the internet-connected device 550. The controller 512 of the mobile cleaning robot 510 may receive the current wind conditions from the mobile device 520 and create a relatively larger zone around a window or door through which pollen may enter for a relatively higher expected wind speed, or a relatively smaller zone around a window or door for a relatively lower expected wind speed. In one example, the size of the predicted pollen area adjacent to the window and door may be based on average wind conditions during the pollen season.
[0119] In some examples, the size of the predicted pollen area may be determined based on the amount or type of vegetation (trees, weeds, or grass) near the user's home, as well as the distance and relative location of the vegetation to the windows and entry door. For example, for a home in or near a forest, or around trees that tend to produce heavy allergenic tree pollen, the controller 512 may generate a relatively larger zone around the door and window. In another example, the controller 512 may generate a larger pollen zone adjacent to a window on a side of the home that is closer to the trees than an area adjacent to a window on a different side of the home that has few nearby trees. Dynamic adjustment of the predicted pollen area as described herein can improve cleaning efficiency and enhance the user's experience through personalized cleaning.
[0120] In one example, the debris detector / localizer 513 can detect and localize areas of excessive pet hair in the environment using a sensor system 511 (e.g., an imaging sensor (e.g., a camera), etc.). In one example, the controller 512 can detect the presence of one or more pets using a sensor system 511 (e.g., a camera, etc.). The controller 512 can run a pattern recognition algorithm to determine pet information (e.g., the number of pets in the household, and their breed, type, age, and approximate weight, etc.). In some examples, the controller 512 can detect pet utilities (e.g., pet toys, beds, food bowls, or tools, etc.) in the environment. The debris detector / localizer 513 can determine pet shedding areas based on the detection of the pet presence or pet utilities. The pet information as detected and recognized by the controller 512 can substitute for user input of pet information as shown in FIG. 7A , for example, when user input is unavailable or incomplete, or to augment the pet information provided by the user. Such pet information can be used to determine additional cleaning times or cleaning modes to be included in seasonal cleaning schedules.
[0121] In one example, the debris detector / localizer 513 may use the sensor system 511 (e.g., an imaging sensor (e.g., a camera), etc.) to detect and localize weather events (e.g., excessive mud in a user's home during the rainy season). In one example, the controller 512 may identify a particular area or structure, such as an exterior door or mudroom, where nearby areas are predicted to become muddy during the rainy season. Alternatively, the user may be prompted to identify or label the exterior door or mudroom on a map of the environment generated by the mobile cleaning robot's mapping system 514, as discussed below. Recommendations may be provided to clean areas proximate to the exterior door or mudroom during periods of predicted rainy weather. The recommendations may be a one-time change to the schedule or a recurring cleaning schedule change. For example, the recommendations may include mopping the muddy area within a specific time after the predicted rain has ended. In one example, if rain is expected over multiple consecutive days, regularly scheduled cleanings may be recommended to the user to provide additional cleaning during those days. A particular cleaning mode (e.g., "deep clean") may be recommended for muddy areas.
[0122] In some examples, the mobile robot system 500 can include sensors external to the mobile cleaning robot 510 configured to sense pollen or other particulates, pet hair, dirt, or other debris or objects of interest. The external sensors can be mounted in an operable environmental control node or device (e.g., a humidifier, HVAC, thermostat, or air purifier) that operates to control environmental conditions. In one example, one or more such external sensors can be included in an internet-connected device 550, such as an IoT device or sensor that can transmit sensed information to the mobile cleaning robot 510 or mobile device 520 via a wireless communication network. The mobile cleaning robot 510 can use sensed information from the external sensors (optionally along with information sensed by the sensor system 511) to dynamically modify one or more of the cleaning area 525, cleaning time 526, or cleaning mode 527 in a seasonal cleaning schedule.
[0123] Environment maps and debris / object heat maps The mobile cleaning robot 510 may include a mapping system 514 capable of generating a map of the environment. The map may be generated using sensor data collected by sensors (e.g., imaging sensors, etc.) in the sensor system 511. The map may indicate the locations of traversable and non-traversable spaces in the environment. For example, the locations of obstacles may be indicated on the map as non-traversable spaces, and the locations of open floor spaces may be indicated on the map as traversable spaces. In one example, the mapping system 514 may generate semantic information about objects detected in the environment by the mobile cleaning robot 510. Examples of semantic information may include the location, identity, or status of objects in the environment, or constraints on spatial relationships between objects, among other objects or attributes between objects. The semantically annotated objects may be displayed graphically on the map. The map of the environment may be displayed on the user interface 528 of the mobile device 520. In one example, a user can use an input device (e.g., a UI control on the user interface 528) to make annotations on the map to indicate areas where seasonal debris (e.g., pollen, pet hair, or mud) is expected to accumulate, or areas where objects of particular interest (e.g., entry doors, windows, pets, or pet utilities) are located.
[0124] In some examples, the mapping system 514 can generate a graphical representation of seasonal debris conditions on a map. The graphical representation of seasonal debris conditions can show the spatial density of seasonal debris in an environment. An example of a spatial density representation of seasonal debris accumulation is a heat map. FIG. 8A illustrates a heat map 800A of pollen locations on a map of a home. The mobile cleaning robot 510 can track locations of pollen accumulation in the environment over time (e.g., over days to weeks) during the pollen season. The tracked location data can be used to generate a heat map 800A that represents the spatial distribution of pollen counts within a user's home during a typical pollen season. In the example shown in FIG. 8A, four high-pollen zones (including three window areas 812, 814, and 816 and an entry door area 818) can be identified from the heat map 800A. A user can add annotations of the high-pollen zones on the map. The mobile cleaning robot is capable of performing cleaning missions, including cleaning high-density pollen zones according to a seasonal cleaning schedule.
[0125] FIG. 8B illustrates a heat map 800B of pet locations on a map of the home. The mobile cleaning robot 510 can track pet locations within the home over time during shedding season. The tracked pet location data can be used to generate a heat map 800B representing locations where the pet spent the most time during an observation period. Higher line density indicates locations where the pet spent relatively more time, while lower line density indicates locations where the pet spent relatively less time. In the example shown in FIG. 8B, four locations 822, 824, 826, and 828 where the pet spent more time can be identified from the heat map 800B. The locations where the pet spent relatively more time can be designated for additional cleaning during times of expected increased shedding. The heat map 800A can additionally or alternatively correspond to the density of pet utility locations (e.g., pet toys, beds, food bowls, tools) or the density of pet hair detected and localized by the mobile cleaning robot's debris detector / localizer 513. For example, high density lines correspond to relatively high densities of pet hair, and lower densities of lines correspond to relatively lower densities of pet hair. A user can add pet location or pet hair annotations onto the map. Identified high density pet hair areas can be included in a cleaning schedule for additional cleaning during times of expected increased shedding.
[0126] The navigation controller 516 can generate control signals to the drive system 517 to drive to designated areas of the robot's environment and can generate control signals to the cleaning system 518 to perform cleaning missions according to a seasonal cleaning schedule. The seasonal cleaning schedule can include cleaning tasks to be performed within a specific time period (e.g., during an identified pollen season, pet shedding season, or rainy season), as discussed above with reference to FIGS. 6A-6C and 7A-7C. The seasonal cleaning schedule can include a sequence of rooms or floor surface areas to be cleaned by a mobile cleaning robot. The mobile cleaning robot can have a vacuum assembly that uses suction to capture debris as the mobile cleaning robot traverses the floor surface. In another example, the seasonal cleaning schedule can include a sequence of rooms or floor surface areas to be mopped by a mobile mopping robot. The mobile mopping robot can have a cleaning pad for wiping or scrubbing the floor surface. In some examples, a seasonal cleaning schedule may include tasks scheduled to be performed by two mobile robots sequentially, intertwined, in parallel, or in another particular order or pattern. For example, the navigation controller 516 may navigate a mobile cleaning robot to vacuum a room and may also navigate a mobile mopping robot to mop the vacuumed room.
[0127] Exemplary Method for Generating Seasonal Cleaning Schedules and for Controlling Cleaning 9 is a flow diagram illustrating an example method 900 for generating a seasonal cleaning schedule for an autonomous mobile robot (e.g., mobile cleaning robot 100 or mobile cleaning robot 510) and for controlling the autonomous mobile robot to perform missions in an environment according to the seasonal cleaning schedule. The seasonal cleaning schedule can be based on seasonal or environmental debris accumulation events. Method 900 can be implemented in and executed by a mobile robot system 500 including an autonomous mobile robot (e.g., a cleaning robot) and a mobile device, as described above with reference to FIG. 5. Method 900 can be used to schedule and control one or more mobile robots of various types (e.g., a mobile cleaning robot, a mobile mopping robot, a lawn mowing robot, etc.).
[0128] Method 900 begins at step 910 with receiving information about seasonal debris accumulation events via a mobile device. Seasonal debris accumulation events may include, for example, pollen production during pollen season, increased pet shedding during shedding season, or environmental or weather events (e.g., mud, rain, or snow introduced to a particular area in a home during rainy or snowy seasons). Information about seasonal debris accumulation events may include, for example, the timing or time span of such events during a typical year. The received information may include the geographic location of the mobile cleaning robot's environment (e.g., the user's home), which may be obtained from a geolocation service using GPS or other location technology. In one example, the received information may include forecasts of upcoming environmental events (e.g., rain, wind, snow, pollen index, airborne mold count, among others), which may be received from a weather service. Information about the geographic location of the mobile robot's environment and / or forecasts of upcoming environmental events may be used to determine or predict the timing or time span of seasonal debris accumulation events (e.g., pollen season, etc.). In one example, the received information may include pet information (e.g., the presence and number of pets in the household, as well as the breed, type, age, approximate weight, etc. of each pet). The pet information may be used to determine or predict the amount of pet hair in the environment during shedding season. In yet another example, the received information may include environmental conditions specific to the user's home, such as the amount and type of vegetation in an area of the user's home and / or the distance or orientation of the vegetation relative to the user's home. The specific environmental conditions may be used to determine or predict the amount of pollen or pollen distribution in different areas of the user's home during pollen season.
[0129] At 920, a seasonal cleaning schedule recommendation may be generated, such as using the cleaning schedule generator 524. The seasonal cleaning schedule may be generated based on the predicted timing (e.g., time span) of the seasonal debris accumulation event or the predicted debris conditions. The seasonal cleaning schedule may include one or more of a cleaning area, a cleaning time, or a cleaning mode. The cleaning area may be the entire environment (e.g., the user's home) or a portion thereof that may be specified by the user. The predicted cleaning time may include a specific day and time within the predicted timing or time span. In one example, the cleaning time 526 may be defined as 9:00 AM every Monday, Wednesday, and Friday during the predicted time span of the seasonal debris accumulation event determined by the seasonal event predictor 521. The cleaning mode describes how the mobile cleaning robot cleans the cleaning area and may include a deep clean, a spot clean, a quick clean, a vacuum followed by mopping, among others. Cleaning modes can differ in the number of passes over the same area, the time spent cleaning the area, cleaning power, etc.
[0130] For a particular cleaning area, the seasonal cleaning schedule can vary in cleaning time, cleaning mode, or both based on the predicted debris conditions in that area. For example, the seasonal cleaning schedule can include a first cleaning time for cleaning the area when it is predicted to have relatively high debris conditions (e.g., during peak pollen season or pet shedding season) and a different second cleaning time for cleaning the same area when it is predicted to have relatively low debris conditions (e.g., during times outside of pollen season or pet shedding season). In another example, a seasonal cleaning schedule may include a first cleaning mode (e.g., a "deep clean" mode characterized by repeated or multi-pass cleaning over the same area, longer cleaning times, or higher power) when the area is predicted to have relatively high debris conditions, and a different second cleaning mode (e.g., a "standard clean" mode or a "quick clean" mode characterized by single or fewer passes over the same area, shorter cleaning times, or lower cleaning power) when the area is predicted to have relatively low debris conditions.
[0131] At 930, the user may accept, reject, or modify the recommended seasonal cleaning schedule, or portions thereof. The recommended seasonal cleaning schedule may be a separate schedule from an existing “default” or periodic cleaning schedule that does not take seasonal or environmental debris accumulation events into account. Alternatively, the recommended seasonal cleaning schedule may be a modification of an existing cleaning schedule, such as by adding additional cleaning tasks to the existing cleaning schedule. In examples such as those illustrated in FIGS. 6A-6C and 7A-7C, an existing cleaning schedule and a recommended seasonal cleaning schedule may be presented to the user. The existing cleaning schedule defines times for cleaning specified areas in the user's home. The user may modify the existing cleaning schedule by adding one or more recommended additional cleaning times to the existing schedule. The additional cleaning times may be one-time cleanings or recurring scheduled cleanings. Additionally or alternatively, the user may modify the existing cleaning schedule by modifying the cleaning mode in the existing cleaning schedule. In one example, the modified cleaning mode can include more frequent mopping to ensure collection of fine pollen particles. For example, a recommendation can be provided to mop the floor after each vacuuming mission during periods of time with relatively high pollen levels. In one example, mopping can be recommended before vacuuming or without vacuuming to prevent or reduce pollen from being dispersed into the air via vacuuming.In instances where a user collaboratively cleans with a robot (e.g., the user dusts or performs other cleaning chores while the robot vacuums or mops), recommendations may be provided to the user to avoid dusting when pollen or other airborne particulate matter is relatively high.
[0132] At 940, communication between the mobile device and the mobile cleaning robot can be established. The communication can be a direct communication link without an intermediate device in the system. Alternatively, the communication can be via an intermediate system (e.g., cloud computing system 406, etc.). In one example, the mobile device can include a user interface that can display robot information and its operational status. A user can manage a fleet of active mobile robots and coordinate their activities.
[0133] At 950, the seasonal cleaning schedule can be transmitted to the mobile cleaning robot, such as via a communications link, and the mobile robot can navigate around the environment and perform missions according to the seasonal cleaning schedule. In some examples, the mobile cleaning robot can use its onboard sensors or external IoT sensors mounted in an actuable environmental control node to detect and localize debris accumulation (e.g., pollen or other particulates, pet hair, mud, or other debris) or objects of interest (e.g., entry doors, windows, pets, or pet utilities) as the mobile cleaning robot traverses the environment. For example, areas adjacent to windows and entry doors are prone to pollen accumulation. Areas where pets frequently enter and exit, or areas where pet utilities are detected, are prone to excessive pet hair during shedding season as the mobile cleaning robot traverses the environment. In some examples, the detection of debris or objects of interest can be graphically represented on a map of the environment. In one example, the graphical representation may include a heat map representing the spatial density of debris or objects in the environment, as illustrated in Figures 8A-8B.
[0134] Based on the detection of debris or other objects of interest or a graphical representation of the detection, the mobile cleaning robot can dynamically adjust one or more of a cleaning area, a cleaning time, or a cleaning mode within a seasonal cleaning schedule. In some examples, the size of a cleaning area (e.g., an expected pollen area) may be adjusted based on environmental or weather conditions (e.g., wind speed and direction, or the amount and type of vegetation around the user's home, etc.). The mobile cleaning robot can navigate around the environment and perform missions according to the dynamically adjusted seasonal cleaning schedule.
[0135] Example Machine-Readable Medium for Mobile Robot Scheduling 10 generally illustrates a block diagram of an example machine 1000 capable of implementing any one or more of the techniques (e.g., methodologies) discussed herein. Portions of this description may be applicable to various parts of the computing framework of the mobile cleaning robot 100, the mobile device 404, or other computing systems, such as a local computer system or a cloud computing system 406.
[0136] In alternative embodiments, machine 1000 may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, machine 1000 may operate in a server-client network environment in the capacity of a server machine, in the capacity of a client machine, or both. In one example, machine 1000 may act as a peer machine in a peer-to-peer (P2P) (or other distributed) network environment. Machine 1000 may be a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), mobile phone, web appliance, network router, switch, or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Additionally, although only a single machine is illustrated, the term "machine" shall also be construed to include any collection of machines individually or collectively executing a set (or sets) of instructions to implement any one or more of the methodologies discussed herein, such as cloud computing, software as a service (SaaS), other computer cluster configurations, etc.
[0137] As described herein, examples can include or operate by logic or multiple components or mechanisms. A circuit set is a collection of circuits implemented in a tangible entity, including hardware (e.g., simple circuits, gates, logic, etc.). Circuit set membership can be flexible over time and can be the basis for hardware variability. A circuit set includes elements that, when operational, can perform specific operations, either alone or in combination. In one example, the hardware of a circuit set can be invariably designed (e.g., hardwired) to perform specific operations. In one example, the hardware of a circuit set can include variably connected physical components (e.g., execution units, transistors, simple circuits, etc.) that include physically modified computer-readable media (e.g., magnetically, electrically, movable placement of particles of invariable mass, etc.) that encode instructions for specific operations. In connecting the physical components, the underlying electrical properties of the hardware elements are changed, for example, from insulator to conductor, or vice versa. The instructions enable embedded hardware (e.g., an execution unit or loading mechanism) to generate circuit set members in the hardware through variable connections, which perform a portion of a particular operation when in operation. Thus, the computer-readable medium is communicatively coupled to other components of the circuit set members when the device is operating. In one example, any of the physical components may be used in more than one member of more than one circuit set. For example, under operation, an execution unit may be used in a first circuit of a first circuit set at one time and reused by a second circuit in the first circuit set or a third circuit in the second circuit set at a different time.
[0138] The machine (e.g., a computer system) 1000 may include a hardware processor 1002 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 1004, and a static memory 1006, some or all of which may communicate with each other via an interlink (e.g., a bus) 1008. The machine 1000 may further include a display unit 1010 (e.g., a raster display, a vector display, a holographic display, etc.), an alphanumeric input device 1012 (e.g., a keyboard), and a user interface (UI) navigation device 1014 (e.g., a mouse). In one example, the display unit 1010, the input device 1012, and the UI navigation device 1014 may be touchscreen displays. The machine 1000 may additionally include a storage device (e.g., a drive unit) 1016, a signal generation device 1018 (e.g., a speaker), a network interface device 1020, and one or more sensors 1021, such as a global positioning system (GPS) sensor, a compass, an accelerometer, or other sensor. The machine 1000 may include an output controller 1028, such as a serial (e.g., universal serial bus (USB)), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection, to communicate with or control one or more peripheral devices (e.g., a printer, a card reader, etc.).
[0139] The storage device 1016 may include a machine-readable medium 1022 on which one or more sets of data structures or instructions 1024 (e.g., software) that embody or are utilized by any one or more of the techniques or functions described herein are stored. The instructions 1024 may also reside, completely or at least partially, in the main memory 1004, in the static memory 1006, or in the hardware processor 1002 during its execution by the machine 1000. In one example, one or any combination of the hardware processor 1002, the main memory 1004, the static memory 1006, or the storage device 1016 may constitute a machine-readable medium.
[0140] Although the machine-readable medium 1022 is illustrated as a single medium, the term "machine-readable medium" can include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) configured to store one or more instructions 1024.
[0141] The term "machine-readable medium" may include any medium that can store, encode, or carry instructions for execution by machine 1000, any medium that causes machine 1000 to perform any one or more of the techniques of this disclosure, or any medium that can store, encode, or carry data structures used by or associated with such instructions. Non-limiting examples of machine-readable media may include solid-state memory, as well as optical and magnetic media. In one example, a mass machine-readable medium includes a machine-readable medium with a plurality of particles having a fixed mass (e.g., rest mass). Thus, a mass machine-readable medium is not a transitory, propagating signal. Specific examples of mass machine-readable media may include non-volatile memory, such as semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EPROM)) and flash memory devices, magnetic disks, such as internal hard disks and removable disks, magneto-optical disks, and CD-ROM and DVD-ROM disks.
[0142] The instructions 1024 may further be transmitted or received over a communications network 1026 using a transmission medium via a network interface device 1020 utilizing any one of a number of transport protocols (e.g., Frame Relay, Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), etc.). Exemplary communications networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), a mobile phone network (e.g., a cellular network), a Plain Old Telephone (POTS) network, a wireless data network (e.g., the Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards known as WiFi®, the IEEE 802.16 family of standards known as WiMax®), the IEEE 802.15.4 family of standards, and a peer-to-peer (P2P) network, among others. In one example, the network interface device 1020 includes one or more physical jacks (e.g., Ethernet jacks, coaxial jacks, or phone jacks) or one or more antennas and can connect to the communications network 1026. In one example, the network interface device 1020 includes multiple antennas and can communicate wirelessly using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) techniques. The term “transmission medium” shall be taken to include any intangible medium capable of storing, encoding, or carrying instructions for execution by the machine 1000, including digital or analog communications signals or other intangible media for facilitating the communication of such software.
[0143] Various embodiments are illustrated in the figures above, and one or more features from one or more of these embodiments may be combined to form other embodiments.
[0144] The example methods described herein may be at least partially machine- or computer-implemented. Some examples may include computer-readable or machine-readable media encoded with instructions operable to configure an electronic device or system to perform a method such as described in the above examples. An implementation of such a method may include code, such as, for example, microcode, assembly language code, or higher-level language code. Such code may include computer-readable instructions for performing various methods. The code may form part of a computer program product. Furthermore, the code may be tangibly stored on one or more volatile or non-volatile computer-readable media during execution or at other times.
[0145] The above detailed description is intended to be illustrative and not limiting. Accordingly, the scope of the present disclosure should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. [Explanation of symbols]
[0146] 50 Floor Surface 75 Debris 100 Mobile Cleaning Robot 112 Controller 118 Vacuum assembly 120 air flow 124 Housing 126a, 126b Longitudinal axes of rollers 134 Cliff Sensor 138 Bumper 139, 139a, 139b bumper sensors 140 Image Capture Device 141 Obstacle detection sensor 142 Side Brush 143 Opening 144 brush motor 146 buttons 161 Drive motor sensor 164 Inertial Measurement Unit (IMU) 200 Main body 202a front part 202b rear part 205 cleaning head 205a, 205b Cleaning rollers 208 Drive Wheel Motor 208a, 208b Actuators 210a, 210b drive wheels 211 Caster Wheel 213 Memory 214 Roller motor 214a, 214b actuator 300 Control Architecture 305 Communication Systems 306 Beacon Communication Module 307 Wireless Communication Module 310 Cleaning System 316 Suction fan motor 317 Motor Sensor 320 Navigation Sensor System 322 Dry Cleaning Bin 324 processors 325 Visual Sensor 326 Input / Output Unit 336 Proximity Sensor 339 Bumper Sensor 400A Communication Network 400B Process 402 users 404 Mobile Devices 406 Cloud Computing System 408 Robots, Autonomous Robots 430 Controller 442 processor 444 processor 500 Mobile Robot System 510 Mobile Cleaning Robot 511 Sensor System 512 Controller 513 Debris Detector / Localizer 514 Mapping System 516 Navigation Controller 517 Drive System 518 Cleaning System 520 Mobile Devices 521 Seasonal Event Predictor 522 Predicted Event Timing 523 Predicted Debris Condition 524 Cleaning Schedule Generator 525 Cleaning Area 526 cleaning hours 527 Cleaning Mode 528 User Interface 530 Geolocation Services 550 internet-connected devices 600A User Interface 600B Schedule Page 600C User Interface 610 Seasonal Recommendations 612 toggle switch 620 Existing Cleaning Schedule 622 additional cleaning hours 624 UI Controls 630 UI Control 700A Questions Page 700B Schedule Page 700C User Interface 712 Presence of pets 714 Number of pets 716 pets with type, weight, breed and age 720 Existing Schedule 722 additional cleaning hours 724 UI Controls 730 UI Control 800A Heatmap 812 Window Area 814 Window Area 816 Window Area 818 Entrance door area 800B Heatmap 822 Places where pets spent more time 824 Places where pets spent more time 826 Places where pets spent more time 828 Places where pets spent more time 1002 Hardware Processors 1004 main memory 1006 Static Memory 1008 Interlink 1010 Display device, display unit 1012 Input device, alphanumeric input device 1014 UI Navigation Device 1016 Storage Devices 1018 Signal Generating Device 1020 Network Interface Device 1021 Sensor 1022 Machine-readable medium 1024 instructions 1026 Networks, communication networks 1028 Output Controller
Claims
1. A mobile cleaning robot, the mobile cleaning robot comprising: a motorized drive system configured to move the mobile cleaning robot around an environment; cleaning system, Controller and Including, The controller receiving a seasonal cleaning schedule responsive to seasonal debris accumulation events based on the geographic location of the environment, the seasonal cleaning schedule including instructions for cleaning portions of the environment based on seasonally changing debris conditions; providing control signals to the motorized drive system and the cleaning system to perform cleaning missions in the environment according to the seasonal cleaning schedule; and generating a map of the environment and a graphical representation of the spatial density of seasonal debris in the environment on the map; It is composed of The seasonal debris accumulation events include seasonal pollen production during geographically variable pollen seasons or seasonal pet shedding during pet shedding seasons. A mobile cleaning robot.
2. the seasonal debris accumulation event comprises seasonal pollen production during a geographically variable pollen season; The mobile cleaning robot of claim 1 , wherein the controller is configured to predict the geographically variable pollen season for a geographic location of the environment.
3. The mobile cleaning robot of claim 2 , wherein the seasonal cleaning schedule includes a seasonal cleaning mode for cleaning pollen areas in the environment.
4. The mobile cleaning robot of claim 3 , wherein the controller is coupled to sensors of the mobile cleaning robot to detect and localize the pollen areas in the environment.
5. the seasonal debris accumulation event comprises seasonal pet shedding during pet shedding season; 10. The mobile cleaning robot of claim 1, wherein the controller is configured to predict a shedding season for the pet based on the geographic location of the environment or based on pet information including the presence, age, breed, or weight of a pet in the environment.
6. The mobile cleaning robot of claim 5 , wherein the seasonal cleaning schedule includes a seasonal cleaning mode for cleaning pet shedding areas in the environment.
7. 7. The mobile cleaning robot of claim 6, wherein the controller is coupled to sensors of the mobile cleaning robot to detect pets in the environment and to determine a shedding area of the pet based on the detected pets.
8. 7. The mobile cleaning robot of claim 6, wherein the controller is coupled to sensors of the mobile cleaning robot to detect pet utility in the environment and to determine a molting area for the pet based on the detected pet utility.
9. the controller is configured to receive information about a time span for the seasonal debris accumulation event based on the geographic location of the environment; and The mobile cleaning robot of claim 1 , wherein the seasonal cleaning schedule is based on the time span of the seasonal debris accumulation event.
10. 10. The mobile cleaning robot of claim 9, wherein the controller is configured to receive information about the time span of the seasonal debris accumulation event from an internet-connected device or from user input on a mobile device communicatively coupled to the mobile cleaning robot.
11. The seasonal cleaning schedule comprises: cleaning a portion of the environment having a first debris state at a first cleaning time; cleaning a portion of the environment having a second debris state at a second cleaning time; Including, The mobile cleaning robot of claim 1 , wherein the first debris condition has a higher predicted debris accumulation in the environment compared to the second debris condition.
12. The seasonal cleaning schedule comprises: a first cleaning mode for cleaning a portion of the environment having the first debris condition; a second cleaning mode different from the first cleaning mode for cleaning the portion of the environment having the second debris condition; 12. The mobile cleaning robot of claim 11, comprising:
13. 1. A mobile robot system, the mobile robot system including a mobile cleaning robot; The mobile cleaning robot a motorized drive system configured to move the mobile cleaning robot around an environment; cleaning system, A controller and Mobile devices and Including, the mobile device is in operative communication with the mobile cleaning robot and is configured to receive information about seasonal debris accumulation events based on a geographic location of the environment, and is configured to generate a seasonal cleaning schedule corresponding to the seasonal debris accumulation events, the seasonal cleaning schedule including instructions for cleaning portions of the environment based on seasonally changing debris conditions; The controller of the mobile cleaning robot receiving the seasonal cleaning schedule from the mobile device; providing control signals to the mobile cleaning robot to perform cleaning missions in the environment according to the seasonal cleaning schedule; and generating a map of the environment and a graphical representation of the spatial density of seasonal debris in the environment on the map; It is composed of The seasonal debris accumulation event includes seasonal pollen production during pollen season or seasonal pet shedding during pet shedding season for a mobile robotic system.
14. The seasonal debris accumulation event includes seasonal pollen production during a pollen season; and The mobile device receiving information about the geographic location of the environment; determining the pollen season based on the geographic location of the environment; and determining the seasonal cleaning schedule based on the pollen season; 14. The mobile robot system of claim 13, wherein the mobile robot system is configured to:
15. the controller is coupled to sensors of the mobile cleaning robot to detect and localize pollen areas in the environment; The mobile robot system of claim 14 , wherein the seasonal cleaning schedule includes a cleaning mode for cleaning the pollen area.
16. 16. The mobile robot system of claim 15, wherein the controller is configured to receive information about environmental or weather conditions and to adjust the pollen area based on the environmental or weather conditions.
17. the seasonal debris accumulation event comprises seasonal pet shedding during pet shedding season; The mobile device receiving information about the geographic location of the environment or pet information including age, breed, or weight; determining a shedding season for the pet based on the geographic location of the environment or the pet information; and determining the seasonal cleaning schedule based on the pet's shedding season; 14. The mobile robot system of claim 13, wherein the mobile robot system is configured to:
18. the controller is coupled to sensors of the mobile cleaning robot to detect and localize pet shedding areas in the environment; 20. The mobile robot system of claim 17, wherein the seasonal cleaning schedule includes a cleaning mode for cleaning the pet shedding area.
19. 20. The mobile robot system of claim 18, wherein the controller is coupled to the sensors of the mobile cleaning robot to detect pets in the environment and to determine a shedding area for the pet based on the detected pets.
20. 20. The mobile robot system of claim 18, wherein the controller is coupled to the sensors of the mobile cleaning robot to detect pet utility in the environment and to determine a molting area for the pet based on the detected pet utility.
Citation Information
Patent Citations
Vacuum cleaner
JP2019103618A
System and method for cleaning floors using a cleaning robot
JP2019514600A
Systems and methods for configurable robotic behavior based on area classification
JP2019532369A
Self-propelled cleaner
JP2021137478A
Autonomous robot auto-docking and energy management systems and methods
US20050156562A1