Mopping behavior control of mobile cleaning robot
By controlling the cleaning robot to move back and forth along the cleaning queue, combined with the multiple contact between the cleaning pad and the floor surface, the problem of low cleaning efficiency is solved, and a more efficient mopping effect is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-29
- Publication Date
- 2026-03-10
Smart Images

Figure CN121646434A_ABST
Abstract
Description
[0001] CLAIM OF PRIORITY
[0002] This patent application claims priority under 35 U.S.C. § 120 to U.S. Patent Application Serial No. 18 / 231,919, entitled “MOPPING BEHAVIOR CONTROL OF MOBILE CLEANING ROBOT” and filed on August 9, 2023, in the name of Shiwei Wang, the entire contents of which are incorporated herein by reference. BACKGROUND
[0003] Autonomous mobile robots can move about an environment and can perform various categories of functions and operations, including but not limited to safety operations, infrastructure or maintenance operations, navigation or mapping operations, inventory management operations, and robot / human interaction operations. Some mobile robots, referred to as cleaning robots, can autonomously perform cleaning tasks within an environment (e.g., a home). Many varieties of cleaning robots are autonomous to some extent and in different ways. For example, some mobile cleaning robots can perform automatic mopping operations or routines. SUMMARY
[0004] A mobile cleaning robot can be an autonomous robot that is controlled, at least in part, locally (e.g., by controls on the robot) or remotely (e.g., by a remote handheld device) to move about an environment. One or more processors within a mobile cleaning robot can control movement of the robot within an environment as well as various routines such as cleaning routines or portions thereof. A mobile cleaning robot that includes a mop pad can be designed to perform wet or dry mopping of a surface. However, depending on the environment, multiple cleaning passes can be required to fully clean a floor surface.
[0005] Devices, systems, or methods of the present application can help address this issue by including a processor configured to move a mobile cleaning robot in an environment in such a way that mopping or cleaning efficiency is higher for a single pass as compared to movement of the robot in a straight line. For example, the processor can control the mobile cleaning robot to move along a single cleaning line or queue in a back-and-forth pattern such that the robot passes over each surface several times before moving forward. The processor or controller can also operate a cleaning pad assembly of the mobile cleaning robot to move back and forth relative to a main body of the robot as the robot moves relative to a floor surface. Such devices and methods can help perform a more efficient or effective mopping or cleaning process, task, or routine.
[0006] In one example, a method of operating a mobile cleaning robot can include engaging a floor surface of an environment with a cleaning pad of a mobile cleaning robot. While the cleaning pad is engaged with the floor surface, at least one wheel of the mobile cleaning robot can be operated to cause the mobile cleaning robot to move forward along a cleaning queue relative to the floor surface a first time. After moving forward, the at least one wheel can be operated to cause the mobile cleaning robot to move backward along the cleaning queue relative to the floor surface while the cleaning pad is engaged with the floor surface. After moving backward, the at least one wheel can be operated to cause the mobile cleaning robot to move forward along the cleaning queue relative to the floor surface a second time while the cleaning pad is engaged with the floor surface.
[0007] The above discussion is meant to provide a summary of the subject matter of the present patent application. It is not meant to provide an exclusive or exhaustive explanation of the application. The following description is included in order to provide further information about the present patent application. BRIEF DESCRIPTION OF DRAWINGS
[0008] Various embodiments are illustrated by way of example in the drawings. These embodiments are illustrative of the subject matter, but are not meant to be exhaustive or exclusive.
[0009] Figure 1 A plan view of a mobile cleaning robot in an environment is shown.
[0010] Figure 2A An isometric view of a mobile cleaning robot in a first condition is shown.
[0011] Figure 2B An isometric view of a mobile cleaning robot in a second condition is shown.
[0012] Figure 2C An isometric view of a mobile cleaning robot in a third condition is shown.
[0013] Figure 2D A bottom view of a mobile cleaning robot in a third condition is shown.
[0014] Figure 2E A top isometric view of a mobile cleaning robot in a third condition is shown.
[0015] Figure 2F A side cross-sectional view of a mobile cleaning robot in a first condition is shown.
[0016] Figure 3 A schematic diagram showing an example of a communication network and data transmission in the network in which a mobile cleaning robot operates is shown.
[0017] Figure 4A schematic diagram showing a movement path of a mobile cleaning robot through a portion of an environment.
[0018] Figure 5 A schematic diagram showing a movement path of a mobile cleaning robot through a portion of an environment.
[0019] Figure 6 A schematic diagram showing a movement path of a mobile cleaning robot through a portion of an environment.
[0020] Figure 7 A schematic diagram showing a movement path of a mobile cleaning robot through a portion of an environment.
[0021] Figure 8 A block diagram is shown that illustrates an example of a machine upon which one or more embodiments can be implemented. DETAILED DESCRIPTION
[0022] Robot operation summary
[0023] Figure 1 A plan view of a mobile cleaning robot 100 in an environment 40 is shown in accordance with at least one example of the present disclosure. The environment 40 can be a dwelling, such as a home or apartment, and can include rooms 42a-42e. Obstacles, such as a bed 44, a table 46, and an island 48, can be located in the rooms 42 of the environment. Each of the rooms 42a-42e can have a floor surface 50a-50e, respectively. Some rooms, such as room 42d, can include carpet, such as carpet 52. The floor surfaces 50 can be one or more types, such as hardwood, ceramic, low-pile carpet, medium-pile carpet, long (or high) pile carpet, stone, etc.
[0024] The mobile cleaning robot 100 can be operated, for example, by a user 60 to autonomously clean the environment 40 in a room-by-room manner. In some examples, the robot 100 can clean the floor surface 50a of a room (e.g., room 42a) before moving to the next room (e.g., room 42d) to clean the surface of room 42d. Different rooms can have different types of floor surfaces. For example, room 42e (which can be a kitchen) can have a hard floor surface, such as wood or tile, and room 42a (which can be a bedroom) can have a carpet surface, such as medium-pile carpet. Other rooms, such as room 42d (which can be a dining room), can include multiple surfaces, with the carpet 52 located within the room 42d.
[0025] During a cleaning or travel operation, the robot 100 can develop a map of the environment 40 using data collected from various sensors (e.g., optical sensors) and calculations (e.g., odometry and obstacle detection). Once the map is created, the user 60 can define rooms or areas (such as the room 42) within the map. The map can be presented to the user 60 on a user interface, such as a mobile device, where the user 60 can, for example, direct or change cleaning preferences.
[0026] Further, during operation, the robot 100 can detect the surface type within each room 42, which can be stored in the robot 100 or another device. The robot 100 can update the map (or data related thereto), for example, to include or account for the surface type of the floor surface 50a-50e of the various rooms 42 of the environment 40. In some examples, the map can be updated to show different surface types within each room 42, such as.
[0027] In some examples, the user 60 can define a behavior control zone 54. In autonomous operation, the robot 100 can initiate a behavior in response to being in or near the behavior control zone 54. For example, the user 60 can define an area of the environment 40 that is prone to getting dirty as a behavior control zone 54. In response, the robot 100 can initiate a focused cleaning behavior, where the robot 100 performs a focused cleaning of a portion of the floor surface 50d in the behavior control zone 54.
[0028] Robot Examples
[0029] Figure 2A An isometric view of a mobile cleaning robot 100 is shown, with the pad assembly in a stowed position. Figure 2B An isometric view of a mobile cleaning robot 100 is shown, with the pad assembly in an extended position. Figure 2C An isometric view of a mobile cleaning robot 100 is shown, with the pad assembly in a mopping position. Figures 2A-2C Orientation indicators are also shown, front and back. These are discussed together below Figures 2A-2C .
[0030] The mobile cleaning robot 100 can include a main body 102 and a mopping system 104. The mopping system 104 can include arms 106a and 106b (together referred to as arms 106) and a pad assembly 108. The robot 100 can also include bumpers 109 and other features, such as extractors (including rollers), one or more side brushes, a vacuum system, a controller, a drive system (e.g., motors, gear trains, and wheels), casters, and sensors, as discussed in further detail below. Distal portions of the arms 106 can be connected to the pad assembly 108, and proximal portions of the arms 106a and 106b can be connected to an internal drive system to drive the arms 106 to move the pad assembly 108.
[0031] Figures 2A-2C how the robot 100 is operated to move the pad assembly 108 from Figure 2A a storage position in Figure 2B to a transition or partially deployed position in Figure 2C to a mopping or deployed position in Figure 2A In the storage position of Figure 2C the robot 100 can only perform a suction action. In the deployed position of Figures 2D-2E the robot 100 can perform a suction operation or a mopping operation.
[0032] Components of the robot
[0033] Figure 2D a bottom view of the mobile cleaning robot 100 is shown, Figure 2E a top isometric view of the robot 100 is shown. The Figure 2D and 2E are discussed together below. Figure 2D and 2E the robot 100 can be consistent with Figures 2A-2C Figures 2D-2E additional details of the robot 100 are shown. For example, Figures 2D-2E the robot 100 can include a main body 102, a bumper 109, an extractor 113 (including rollers 114a and 114b), motors 116a and 116b, drive wheels 118a and 118b, casters 120, a side brush assembly 122, a vacuum assembly 124, a memory 126, and sensors 128. The mopping system 104 can also include a tank 132 and a pump 134.
[0034] The cleaning robot 100 can be an autonomous cleaning robot that can autonomously traverse a floor surface 50 (of a Figure 1 while ingesting debris from different portions of the floor surface 50. As Figure 2D shown, the robot 100 can include a main body 102 that is movable over the floor surface 50. The main body 102 can include a plurality of connected structures to which movable or fixed components of the cleaning robot 100 are mounted. The connected structures can include, for example, a housing for covering internal components of the cleaning robot 100, a chassis on which drive wheels 118a and 118b (of the cleaning assembly 113) and cleaning rollers 114a and 114b are mounted, and a bumper 109 that is connected to the outer housing. Casters 120 can support a front portion of the main body 102 above the floor surface 50, and drive wheels 118a and 118b can support a middle and rear portion of the main body 102 above the floor surface 50 (and can also support a majority of the weight of the robot 100).
[0035] As Figure 2D As shown, the body 102 may include a front portion, which may have a substantially semi-circular shape and be connected to the buffer 109. The body 102 may also include a rear portion having a substantially semi-circular shape. In other examples, the body 102 may have other shapes, such as a square front portion or a straight front portion. The robot 100 may also include a drive system including actuators (e.g., motors) 116a and 116b. The actuators 116a and 116b may be connected to the body 102 and may be operatively connected to drive wheels 118a and 118b, which may be rotatably mounted to the body 102. When driven, the actuators 116a and 116b may rotate the drive wheels 118a and 118b to enable the robot 100 to move autonomously across the floor surface 50.
[0036] Vacuum assembly 124 may be located at least partially within the body 102 of robot 100, for example, in the rear of body 102, and in other examples, vacuum assembly 124 may be located in other locations. Vacuum assembly 124 may include a motor to drive an impeller to generate airflow upon rotation. When rotating, airflow from vacuum assembly 124 and cleaning roller 114 may cooperate to draw debris into robot 100.
[0037] Cleaning box 130 (e.g.) Figure 2F The vacuum assembly 124 (shown) can be installed in the body 102 and can contain debris ingested by the robot 100. A filter in the body 102 can separate debris from the airflow before it enters the vacuum assembly 124 and exits from the body 102. In this respect, debris can be captured in the cleaning tank 130 and the filter before the airflow exits from the body 102. In some examples, the vacuum assembly 124 and the extractor 113 may optionally be included or may be of different types. Optionally, the vacuum assembly 124 can operate during a mopping operation, such as a mopping operation including the mopping system 104. That is, the robot 100 can perform vacuuming and mopping tasks or operations simultaneously.
[0038] Cleaning rollers 114a and 114b are operably connected to actuator 115, such as a motor, via a gearbox. The cleaning head 113 and cleaning rollers 114a and 114b can be located in front of the cleaning chamber 130. Cleaning roller 114 can be mounted or connected to the underside of the body 102 such that when the underside of the body 102 faces the floor surface 50, cleaning rollers 114a and 114b can engage debris on the floor surface 50 during cleaning operations.
[0039] The controller 111 can be located at least partially within the housing 102 and can be a programmable controller such as a single or multi-board computer, a direct digital controller (DDC), a programmable logic controller (PLC), or the like. In other examples, the controller 111 can 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 that includes a processor, memory, and communication capabilities. The memory 126 can 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 126 can be located within the housing 102, can be connected to the controller 111, and can be accessed by the controller 111.
[0040] The controller 111 is operable to actuate the actuators 116a and 116b to autonomously navigate the robot 100 about the floor surface 50 during a cleaning operation. The actuators 116a and 116b are operable to drive the robot 100 in a forward drive direction, in a rearward direction, and to turn the robot 100. The controller 111 can operate the vacuum assembly 124 to generate an airflow that flows through an air gap proximate the cleaning roller 114, through the body 102, and out of the body 102.
[0041] The robot 100 can include a sensor system that includes one or more sensors. The sensor system as described herein can generate one or more signals representative of a current position of the robot 100 and can generate signals representative of the position of the robot 100 as the robot 100 travels along the floor surface 50. The sensors 128 (shown in FIG. 1) can be positioned along the bottom of the housing 102. Each sensor 128 can be an optical sensor that can be configured to detect the presence or absence of an object (e.g., the floor surface 50) below the optical sensor. The sensors 128 (optionally cliff sensors) can be connected to the controller 111 and can be used by the controller 111 to navigate the robot 100 within the environment 40. In some examples, the cliff sensors can be used to detect a floor surface type that the controller 111 can use to selectively operate the mopping system 104. Figure 2A
[0042] The cleaning pad assembly 108 may be a cleaning pad attached to the bottom of the body 102 (or attached to an actuator 110, which may be configured to move the assembly 108 between a storage position and a cleaning position), such as being attached to a cleaning tank 130 located at the rear of the extractor 113. The tank 132 may be a water tank configured to store water or fluid, such as cleaning fluid, for delivery to the mop pad 142. A pump 134 may be attached to a controller 111 and may be in fluid communication with the tank 132. The controller 111 may be configured to operate the pump 134 to deliver fluid to the mop pad 142 during mopping operations. For example, fluid may be delivered to the mop pad 142 via one or more dispensers 117. The dispenser 117 may be a valve, an opening, etc., and may be configured to deliver fluid to the floor surface 50 of the environment 40 or directly to the pad 142. In some examples, the pad 142 may be a drying pad, such as for dusting or drying debris removal. Mat 142 can also be any cloth, fabric, etc., constructed for cleaning (wet or dry) floor surfaces.
[0043] like Figure 2F As shown, the vacuum assembly 124 may be at least partially located within the body 102 of the robot 100, for example, in the rear portion of the body 102. The controller 111 may operate the vacuum assembly 124 to generate an airflow that flows through an air gap near the cleaning roller 114, through the body 102, and out of the body 102. The airflow and the cleaning roller 114 may cooperate during rotation to draw debris 75 into the suction conduit 136 of the robot 100. The suction conduit 136 may extend downwards to the bottom of or near the body 102 and may be at least partially defined by the cleaning assembly 113.
[0044] A suction conduit 136 can be connected to a cleaning head 113 or a cleaning assembly, and can also be connected to a cleaning tank 130. The cleaning tank 130 can be mounted within the body 102 and can contain debris 75 ingested by the robot 100. A filter 145 can be located within the body 102, which helps separate debris 75 from the airflow 138 before it enters the vacuum assembly 124 and exits from the body 102. In this respect, debris 75 can be trapped in the cleaning tank 130 and the filter before the airflow 138 exits from the body 102. The robot 100 may also include a debris port 135 that extends at least partially through the body 102 or the cleaning tank 130 and is operable to remove debris 75 from the cleaning tank 130, for example, via a docking station or an emptying station.
[0045] The cleaning rollers 114a and 114b can be operably connected to one or more actuators 115, such as motors, respectively. The cleaning head 113 and the cleaning rollers 114a and 114b can be positioned forward of the cleaning bin 130. The cleaning rollers 114a and 114b can be mounted to a housing of the cleaning head 113 and, for example, indirectly or directly to the main body 102 of the robot 100. In particular, the cleaning rollers 114a and 114b can be mounted to an underside of the main body 102 such that the cleaning rollers 114a and 114b engage debris 75 on the floor surface 50 during a cleaning operation when the underside is facing the floor surface 50.
[0046] Operation of the robot
[0047] In operation of some examples, the controller 111 can be used to instruct the robot 100 to perform a task. In this case, the controller 111 can operate the motor 116 to drive the drive wheels 118 and propel the robot 100 along the floor surface 50. The robot 100 can be propelled in a forward drive direction or a rearward drive direction. The robot 100 can also be propelled such that the robot 100 turns while in position or while moving in the forward drive direction or the rearward drive direction. In addition, the controller 111 can operate the motors 115 to cause the rollers 114a and 114b to rotate, can operate the side brush assembly 122, and can operate the motor of the vacuum system 124 to generate an air flow. The controller 111 can execute software stored on the memory 126 to cause the robot 100 to perform various navigation and cleaning behaviors by operating the various motors of the robot 100.
[0048] Various sensors of the robot 100 can be used to help the robot navigate and clean within the environment 40. For example, cliff sensors can detect obstacles, such as steep slopes and cliffs below portions of the robot 100 that are provided with the cliff sensors. The cliff sensors can transmit signals to the controller 111 such that the controller 111 can reorient the robot 100 based on the signals from the sensors.
[0049] The proximity sensors can generate signals based on the presence or absence of objects in front of the optical sensors. For example, detectable objects include obstacles such as furniture, walls, people, and other objects in the environment 40 of the robot 100. The proximity sensors can send signals to the controller 111 so that the controller 111 can reorient the robot 100 based on the signals from the proximity sensors. In some examples, the collision sensors can be used to detect movement of the bumpers 109 along the front-to-back axis of the robot 100. The collision sensors 139 can also be used to detect movement of the bumpers 109 along one or more sides of the robot 100, and can optionally detect vertical bumper movement. The collision sensors 139 can transmit signals to the controller 111 so that the controller 111 can reorient the robot 100 based on the signals from the collision sensors 139.
[0050] The robot 100 can also optionally include one or more dirt sensors 144 connected to the main body 102 and in communication with the controller 111. The dirt sensors 144 can be microphones, piezoelectric sensors, optical sensors, etc. positioned in or near the flow path of debris (e.g. near the opening of the cleaning roller 114 or in one or more conduits within the main body 102). This can allow the dirt sensors 144 to detect how much dirt is being sucked in by the vacuum assembly 124 (e.g. via the extractor 113) at any time during a cleaning task. Because the robot 100 can know its location, the robot 100 can keep a log or record of which areas or rooms of a map are dirtier or where more dirt is collected.
[0051] The image capture device 140 can be configured to generate signals based on imagery of the environment 40 of the robot 100 as the robot 100 moves about the floor surface 50. The image capture device 140 can send such signals to the controller 111. The controller 111 can use one or more signals from the image capture device 140 for various tasks, algorithms, etc. as discussed in further detail below.
[0052] In some examples, the obstacle following sensors 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 following sensors along the side surfaces, and the obstacle following sensors can detect the presence or absence of objects adjacent to the side surfaces. One or more of the obstacle following sensors can also function as obstacle detection sensors, similar to the proximity sensors described herein.
[0053] 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 a motor 116 for driving the wheels 118, and the encoder may track the distance the robot 100 has traveled. In some embodiments, the sensors may include optical sensors facing downwards toward the floor surface. The optical sensors may be positioned to direct light through the bottom surface of the robot 100 toward the floor surface 50. The optical sensors 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.
[0054] The controller 111 can use data collected by the sensors of the sensor system to control the navigation behavior of the robot 100 during the task. For example, the controller 111 can use sensor data collected by the obstacle detection sensors (cliff sensors, proximity sensors, and collision sensors) of the robot 100 to enable the robot 100 to avoid obstacles in the robot 100's environment during the task.
[0055] The controller 111 can also use sensor data for simultaneous localization and mapping (SLAM) techniques, whereby the controller 111 extracts environmental features represented by the sensor data and constructs a map of the floor surface 50 of the environment. Sensor data collected by the image capture device 140 can be used for techniques such as vision-based SLAM (VSLAM), where the controller 111 extracts visual features corresponding to objects in the environment 40 and uses these visual features to construct a map. When the controller 111 guides the robot 100 on the floor surface 50 during a task, the controller 111 can use SLAM techniques to determine the robot 100's position within the map by detecting features represented in the collected sensor data and comparing these features with previously stored features. The map formed from the sensor data can indicate the location of traversable and non-traversable spaces within the environment. For example, the location of obstacles can be indicated on the map as non-traversable space, and the location of open floor space can be indicated on the map as traversable space.
[0056] Sensor data collected by any sensor can be stored in memory 126. Additionally, other data generated for SLAM technology (including map-building data that forms a map) can be stored in memory 126. This data generated during a task can include persistent data generated during the task and available during further tasks. Besides storing software used to enable robot 100 to perform its actions, memory 126 can also store data generated from the processing of sensor data for access by controller 111. For example, the map could be a map that can be used and updated by robot 100's controller 111 from one task to another to navigate robot 100 on floor surface 50.
[0057] Persistent data, including persistent mapping, helps enable robot 100 to effectively clean floor surface 50. For example, the map allows controller 111 to guide robot 100 to open floor spaces and avoid inaccessible areas. Furthermore, for subsequent tasks, controller 111 can use the map to optimize the path taken during the task to help plan robot 100's navigation through environment 40.
[0058] The controller 111 can also send signals to the motor or actuator 110 ( Figure 2A (As shown) sends a command, wherein the motor or actuator 110 may be connected to the arm 106 and may be at least partially located within the body 102, wherein the command may drive the arm 106 to cause the pad assembly 108 to be in a storage position (as shown). Figure 2A and 2D (as shown) and unfolded position ( Figure 2C and 2E The pad assembly 108 (mop pad 142) can be moved between the two positions shown in the diagram. In the unfolded position, the pad assembly 108 (mop pad 142) can be used on the floor surface of any room in the mopping environment 40.
[0059] The mop pad 142 can be a dry pad or a wet pad. Optionally, when the mop pad 142 is a wet pad, the pump 134 can be operated by the controller 111 to spray or drip fluid (e.g., water or cleaning solution) onto the floor surface 50 or the mop pad 142. The wet mop pad 142 can then be used by the robot 100 to perform a wet mopping operation on the floor surface 50 of the environment 40.
[0060] Network Example
[0061] Figure 3 This is a schematic diagram illustrating a communication network 300 that enables networking between the mobile robot 100 and one or more other devices, docking station 200 (or any docking station discussed herein), mobile device 304 (including a controller), cloud computing system 306 (including a controller), or another autonomous robot detached from the mobile robot 100. Using the communication network 300, the robot 100, mobile device 304, docking station 200, and cloud computing system 306 can communicate with each other to send and receive data. In some examples, the robot 100, docking station 200, or both the robot 100 and docking station 200 can communicate with the mobile device 304 via the cloud computing system 306. Alternatively or additionally, the robot 100, docking station 200, or both the robot 100 and docking station 200 can communicate directly with the mobile device 304. The communication network 300 can employ various types and combinations of wireless networks (e.g., Bluetooth, RF, optical, etc.) and network architectures (e.g., Wi-Fi or mesh networks).
[0062] In some examples, mobile device 304 may be a remote device that can be linked to cloud computing system 306 and allows a user to provide input. Mobile device 304 may include user input elements, such as one or more of a touchscreen display, buttons, microphone, mouse, keyboard, or other devices responsive to input provided by the user. Mobile device 304 may also include immersive media (e.g., virtual reality or augmented reality) that a user can interact with to provide input. In these examples, mobile device 304 may be a virtual reality headset or head-mounted display.
[0063] The user can provide input corresponding to commands for the mobile robot 100. In this case, the mobile device 304 can send signals to the cloud computing system 306, causing the cloud computing system 306 to send command signals to the mobile robot 100. In some embodiments, the mobile device 304 can display augmented reality images. In some embodiments, the mobile device 304 can be a smartphone, laptop computer, tablet computer, or other mobile device.
[0064] In some examples, the communication network 300 may include additional nodes. For example, nodes in the communication network 300 may include additional robots. Furthermore, nodes in the communication network 300 may include network-connected devices capable of generating information about the environment 40. Such network-connected devices may include one or more sensors, such as acoustic sensors, image capture systems, or other sensors that generate signals to detect characteristics of the environment 40 from which features can be extracted. Network-connected devices may also include home cameras, smart sensors, etc.
[0065] In the communication network 300, the wireless link can utilize various communication schemes and protocols, such as Bluetooth, Wi-Fi, Bluetooth Low Energy (also known as BLE), 802.15.4, Global Microwave Access Interoperability (WiMAX), infrared channels, satellite bands, etc. In some examples, the wireless link may include any cellular network standard used for communication between mobile devices, including but not limited to standards eligible as 1G, 2G, 3G, 4G, 5G, etc. Network standards (if used) are eligible as, for example, first-generation or multi-generation mobile telecommunications standards by conforming to specifications or standards such as those maintained by the International Telecommunication Union. For example, the 4G standard may correspond to the International Mobile Telecommunications Advanced (Advanced IMT) specification. Examples of cellular network standards include AMPS, GSM, GPRS, UMTS, LTE, Advanced LTE, Mobile WiMAX, and Advanced WiMAX. Cellular network standards can use various channel access methods, such as FDMA, TDMA, CDMA, or SDMA.
[0066] Example of mopping
[0067] Figure 4 A schematic diagram is shown of a movement path 400 of a mobile cleaning robot 100 through a portion of an environment. This schematic diagram illustrates, by way of example, one or more paths that can be selected and controlled by a controller (e.g., controller 111) to enable the robot 100 to travel within the environment 40 to improve the cleaning or mopping efficiency of the robot 100 during one or more cleaning or mopping tasks or operations. Figure 4 The orientation indicator is also shown before and after.
[0068] For example, the pad assembly 108 may be moved by the controller 111 (e.g., via actuator 110) to a cleaning position below the body 102 of the robot 100, such that the pad assembly 108 engages the floor surface. Once the pad assembly 108 engages the floor surface, the controller 111 may operate at least one of the drive wheels 118 to move the robot 100 (e.g., body 102 and pad assembly 108) forward relative to the floor surface along the cleaning queue for the first time when the cleaning pad assembly 108 (e.g., mopping mat 142) engages the floor surface, for example by moving a distance D1 from position 400A to position 400B.
[0069] After moving forward, controller 111 can operate at least one of the drive wheels 118 to move robot 100 (e.g., body 102 and mat assembly 108) backward along the cleaning queue relative to the floor surface, while mop mat 142 engages the floor surface, for example by moving from position 400B to position 400C a distance D2. The position of robot 100 (e.g., 400A-400E) can be along or within the common cleaning queue, even if robot 100's position 400 is within the common cleaning queue. Figure 4 The image shows a misalignment.
[0070] After moving backward, controller 111 can operate at least one of the drive wheels 118 to move robot 100 (e.g., body 102 and mat assembly 108) forward (e.g., a second time) along the cleaning queue relative to the floor surface, while mop mat 142 engages the floor surface, for example by moving a distance D3 from position 400C to position 400D. After moving forward, controller 111 can operate at least one of the drive wheels 118 to move robot 100 (e.g., body 102 and mat assembly 108) backward along the cleaning queue relative to the floor surface, while mop mat 142 engages the floor surface, for example by moving a distance D4 from position 400D to position 400E. Optionally, distance D4 can be the same as distance D2. That is, the movement pattern can be repeated, such that robot 100 moves forward a distance D3, backward a distance D2 (or D4), then forward a distance D3 again, and so on.
[0071] After completing the open movement sequence, such a movement pattern can be repeated, where robot 100 moves only a distance D1, which can be less than a distance D3. That is, distance D3 can be a common or repeated distance that robot 100 moves forward, while distance D1 can be an open distance that robot 100 moves along the cleaning queue, for example, following a turn so that the first backward movement covers the initial distance D1. For example, when robot 100 engages a wall or otherwise reaches the end of the queue and turns, robot 100 can optionally first move forward a distance D1, then backward a distance D2, then forward a distance D3, and then repeat backward a distance D2.
[0072] The third distance D3 can be greater than the first distance D1 and the second distance D2. The second distance D2 can be less than the first distance D1 or the third distance D3. In some examples, the third distance D3 can be approximately 1.5 times the diameter of the mobile cleaning robot. The diameter of the robot can be between 30 cm and 40 cm, such as 32, 33, 34, 45, 56, or 37 cm. In some examples, the second distance D2 can be a multiple of 0.77 of the diameter of the mobile cleaning robot. In some examples, the first distance D1 can be slightly larger than the second distance D2, such as multiples of 0.003 to 0.2 of the diameter, such as multiples of 0.005 to 0.010 of the diameter, such as 0.005, 0.006, 0.007, 0.008, 0.009, etc.
[0073] During the movement of robot 100 along the cleaning queue, robot 100 may dispense or spray cleaning fluid onto mat assembly 108 or floor surface (e.g., floor surface 50). Dispensing or spraying may be controlled by controller 111 to be performed during forward movement of robot 100, for example, after robot 100 has moved a relatively small distance forward, such as multiples between 0.005 and 0.010 diameters, e.g., 0.005, 0.006, 0.007, 0.008, 0.009, etc. Dispensing or spraying may continue for a portion of forward movement, such that after forward movement between multiples of 0.3 and 1 diameter (e.g., 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, etc.), controller 111 may interrupt spraying. Optionally, the spraying distance may be less than a first distance D1, a second distance D2, or a third distance D3. Any routine or movement pattern discussed above or below may include injecting fluid in any manner described herein.
[0074] The forward movement of robot 100 can be at a speed between 100 mm / s and 500 mm / s, such as 100 mm / s, 200 mm / s, 300 mm / s, 400 mm / s, 500 mm / s, etc. The backward speed of robot 100 can be similar to the forward speed or can be slower. Optionally, the backward robot speed can be approximately half the forward robot speed. Optionally, the forward movement of robot 100 during the above routine can be interrupted due to obstacle or wall detection during forward movement. In this case, when an obstacle, wall, etc., is detected, the forward movement speed of robot 100 can be reduced by half until robot 100 encounters the obstacle, where robot 100 can turn to move to the next or adjacent cleaning queue (or another part of the environment).
[0075] Optionally, during the sequence discussed above, robot 100 (e.g., controller 111) may continue to execute other algorithms, such as SLAM, obstacle detection or avoidance, cliff detection, slip detection, wheel fall detection, riding, etc. When one or more situations are detected as dangerous by controller 111, controller 111 may stop the mopping or scrubbing sequence, perform one or more steps or maneuvers to avoid the danger, and then continue executing the mopping sequence or algorithm discussed below. A similar process may be used in any mopping sequence discussed above or below.
[0076] Using one or more of the above sequences allows robot 100 to perform mopping modes during a cleaning task, which can improve cleaning or mopping efficiency or effectiveness, for example by engaging or cleaning the same part of the floor surface multiple times during a single pass in the cleaning queue.
[0077] Figure 5 A schematic diagram is shown of a movement path 500 of a mobile cleaning robot 100 through a portion of an environment. This schematic diagram illustrates, by way of example, one or more paths that can be selected and controlled by a controller (e.g., controller 111) to enable the robot 100 to travel within an environment 40 to improve the cleaning or mopping efficiency of the robot 100 during one or more cleaning or mopping tasks or operations. Figure 5 The orientation indicator is also shown before and after.
[0078] For example, the pad assembly can be moved by the controller 111 to a cleaning position below the body of the robot 100, such that the pad assembly 108 (e.g., mop pad 142) engages the floor surface. Once the mop pad 142 engages the floor surface, the controller 111 can operate at least one of the drive wheels 118 to move the robot 100 (e.g., body 102 and pad assembly 108) at least partially forward relative to the floor surface along the cleaning queue during forward movement of the robot 500. For example, the controller 111 can operate a first wheel of the drive wheels 118 moving the cleaning robot 100 at a first speed and a second wheel of the drive wheels 118 moving the cleaning robot 100 at a second speed lower than the first speed, so that the moving cleaning robot moves at least partially forward and laterally to a first side of the centerline C of the cleaning queue, for example, moving the robot 100 from position 500A to position 500B. Such operation can move the robot 100 partially or completely away from the centerline C (e.g., laterally to the left).
[0079] Once robot 100 achieves the desired lateral offset, controller 111 can control drive wheel 118 to move back towards the centerline. For example, controller 111 can operate the second wheel of the mobile cleaning robot 100 at a first speed and the first wheel of the mobile cleaning robot 100 at a second speed to move the mobile cleaning robot forward, to move the mobile cleaning robot laterally towards the centerline, and at least partially laterally to a second side of the centerline. For example, controller 111 can operate drive wheel 118 to move robot 100 from a position 500B that is laterally offset from the centerline (e.g., to the left) to a position 500C closer to the centerline C, and to a position 500D where robot 100 has crossed or has crossed the centerline C to laterally offset from the centerline C (e.g., to the right).
[0080] Once robot 100 achieves the desired lateral offset, controller 111 can control drive wheels 118 to move back toward the centerline. For example, controller 111 can operate the first wheel at a first speed and the second wheel at a second speed to move the mobile cleaning robot 100 forward to cross the centerline C, to move the mobile cleaning robot 100 laterally toward the centerline C, and at least partially laterally to a first side of the centerline C. For example, controller 111 can operate drive wheels 118 to move robot 100 from a position 500D that is laterally offset from the centerline (e.g., to the right) to a position 500E closer to the centerline C, and to a position 500F where robot 100 has crossed or has crossed the centerline C laterally offset from the centerline C (e.g., to the left).
[0081] Controller 111 can continue to control the operation of robot 100, causing robot 100 to move laterally back and forth along centerline C until robot 100 reaches the end of the cleaning queue. At this point, robot 100 can turn and perform the same cleaning pattern along a second cleaning queue (e.g., in the opposite direction). Controller 111 can control the movement of robot 100 such that the second cleaning queue can be adjacent to or overlap with the first cleaning queue. Controller 111 can control the movement of robot 100 such that the paths P of the cleaning queues are parallel, or that the paths P of the cleaning queues overlap or intersect. In some examples, path P can be a sine curve around centerline C.
[0082] In some examples, the first speed can be between 50 mm / s and 500 mm / s, and the second speed can be zero, allowing the robot 100 to make a relatively sharp turn. Optionally, the controller 111 can operate one of the drive wheels 118 to rotate backward while the other drive wheel moves forward to make an even sharper turn. In some examples, the first speed can be between 100 mm / s and 300 mm / s, and the second speed can be between 25 mm / s and 100 mm / s, allowing the robot 100 to make a relatively loose or wide turn. The controller 111 can also optionally make the second speed of one wheel zero for a short period of time (e.g., half a second or one second) while maintaining the speed of the other wheel to induce a turn.
[0083] Figure 6 A schematic diagram is shown of a movement path 600 of a mobile cleaning robot 100 through a portion of an environment. This schematic diagram illustrates, by way of example, one or more paths that can be selected and controlled by a controller (e.g., controller 111) to enable the robot 100 to travel within an environment 40 to improve the cleaning or mopping efficiency of the robot 100 during one or more cleaning or mopping tasks or operations. Figure 6 The orientation indicator is also shown before and after.
[0084] For example, the pad assembly can be moved by the controller 111 to a cleaning position below the body of the robot 100, such that the pad assembly 108 (e.g., mop pad 142) engages the floor surface. Once the mop pad 142 engages the floor surface, the controller 111 can operate at least one of the drive wheels 118 to move the robot 100 (e.g., body 102 and pad assembly 108) at least partially forward relative to the floor surface along the cleaning queue during forward movement of the robot 100. When the robot 100 reaches the next position, for example by moving from position 600A to position 600B, the controller 111 can operate a first wheel of the drive wheels 118 of the moving cleaning robot 100 at a first speed and a second wheel of the drive wheels 118 of the moving cleaning robot 100 at a second speed lower than the first speed to rotate the moving cleaning robot at least partially to a first side of the centerline C of the cleaning queue, for example, moving the robot 100 from position 600B to position 600C. Such operation can move the robot 100 partially or completely away from the centerline C (e.g., laterally to the left).
[0085] Then, controller 111 can operate the first drive wheel at a second speed and the second drive wheel at a first speed to rotate the mobile cleaning robot at least partially to the second side of the centerline C of the cleaning queue, for example, moving robot 100 from position 600C to position 600D. Then, controller 111 can operate drive wheel 118 to rotate robot 100 back to position 600B, and controller 111 can operate drive wheel 118 to move forward along the centerline C to position 600E. At any position along the centerline C, controller 111 can rotate robot 100 to the appropriate position, such as positions 600E, 600F, and 600G.
[0086] Robot 100 can repeat this movement pattern until the cleaning queue is complete. In this way, controller 111 can control robot 100 (and pad assembly 108) to rotate in place or nearly in place, causing robot 100 to perform cleaning or scrubbing along a cleaning queue wider than the diameter of robot 100. Although the distances between positions 600A, 600B, and 600E are shown as spaced apart, the distances can be relatively close together, for example, within one diameter of robot 100, allowing robot 100 to clean the entirety (or most or most) of a cleaning queue wider than the diameter of robot 100. The distances between positions 600A, 600B, and 600E can be multiples of other lengths or diameters, such as 1 diameter, 1.25 diameters, 1.5 diameters, 1.75 diameters, 2 diameters, 3 diameters, etc.
[0087] Furthermore, although robot 100 is shown rotating or moving laterally relative to its centerline during its rotation, robot 100 may rotate in an appropriate position (e.g., rotating at its position 600B) such that robot 100 rotates about its center but does not move laterally along its cleaning queue, or such that robot 100 does not move laterally beyond a diameter of robot 100. That is, robot 100 may rotate to one side between 5 degrees and 175 degrees (e.g., similar to rotation position 600C), and may return to its forward-facing position 600B before rotating to the other side between 5 degrees and 175 degrees (e.g., similar to rotation position 600D), and then return again to its forward-facing position 600B and move forward.
[0088] In some examples, the first speed can be in a first rotational direction, and the second speed can be in a second rotational direction opposite to the first rotational direction. For example, to move from position 600B to position 600C, the first wheel can move at a speed of 200 mm / s, and the second wheel can move at a speed of -200 mm / s, so that robot 100 rotates at least partially (and minimizes the robot's forward or backward movement). Then, to move from position 600C to 600D, the first wheel can move at a speed of -200 mm / s, and the second wheel can move at a speed of 200 mm / s, so as to rotate the robot at least partially (and minimize the robot's forward or backward movement). In some examples, the wheels can operate at higher or lower speeds, and can still be symmetrical or offset (e.g., -100 mm / s and 100 mm / s), or can operate at asymmetrical speeds to achieve different rotational patterns, such as by operating the first wheel at 200 mm / s and the second wheel at -250 mm / s, so that robot 100 moves slightly backward during rotation.
[0089] Figure 7 A schematic diagram is shown of a movement path 700 of a mobile cleaning robot 100 through a portion of an environment. This schematic diagram illustrates, by way of example, one or more paths that can be selected and controlled by a controller (e.g., controller 111) to enable the robot 100 to travel within an environment 40 to improve the cleaning or mopping efficiency of the robot 100 during one or more cleaning or mopping tasks or operations. Figure 7 The orientation indicator is also shown before and after.
[0090] For example, the pad assembly 108 can be moved by the controller 111 to a cleaning position below the body 102 of the robot 100, such that the pad assembly 108 engages the floor surface. Once the pad assembly 108 (e.g., mop pad 142) is engaged with the floor surface, the controller 111 can operate at least one of the drive wheels 118 to move the robot 100 (e.g., body 102 and pad assembly 108) forward relative to the floor surface along the cleaning queue for the first time, for example by moving from position 700A to position 700B. During this forward movement, the controller 111 can operate an actuator (e.g., actuator 110) to move the pad assembly 108 relative to the body 102 and at least partially below or under the body 102 from the extended position shown at position 700A to the partially retracted position shown at position 700B.
[0091] As controller 111 continues to move robot 100 forward, for example from position 700B to position 700C, controller 111 can operate actuator 110 to further move pad assembly 108, for example, to the fully retracted position at position 700C. Then, as controller 111 continues to move robot 100 forward, for example from position 700C to position 700D, controller 111 can operate actuator 110 to further move pad assembly 108, for example, to the partially extended position at position 700D, and to the fully extended position at position 700E.
[0092] When controller 111 moves robot 100 forward (but optionally backward or sideways), controller 111 can operate actuator 110 to move mat assembly 108 back and forth (e.g., repeatedly) relative to body 102. In other words, as robot 100 moves within or throughout the environment, controller 111 can move mat assembly 108 to produce a scrubbing motion of mop mat 142 to help improve cleaning efficiency or effectiveness. Actuator 110 can be the same motor or actuator, and arm 106 can be the same arm that moves mat assembly 108 between a storage position and a cleaning or unfolding position, thereby helping to reduce the weight and cost of robot 100.
[0093] Although the above is Figures 4-7 The movement patterns discussed herein are treated as independent movement patterns, but one or more movements or patterns can be combined. For example, Figure 7 The pad assembly 108 can be wiped back and forth with Figures 4-6 Any combination of movement modes. Or, Figure 4 The forward and backward movement of robot 100 can be used Figures 5-7 In any movement pattern, the robot can trace back any movement pattern it has executed. The robot 100 or controller 111 can use any combination of the movement patterns discussed.
[0094] Optionally, the controller 111 can be configured to execute one or more cleaning modes discussed above based on instructions received from another device (e.g., from mobile device 304 or cloud computing system 306). That is, the user can use mobile device 304 to select the desired movement mode to be executed during the mopping operation. Optionally, the user can select a movement mode for a specific room or area of the environment, wherein the mode selected for each room can vary between rooms.
[0095] Figure 8 A block diagram of an example machine 800 is shown, on which any one or more techniques (e.g., methods) discussed herein can be performed. As described herein, the example may include, or be operated by, logic or components or mechanisms in machine 800. A circuit system (e.g., a processing circuit system) is a collection of circuits implemented in a tangible entity of machine 800 that includes hardware (e.g., simple circuits, gates, logic, etc.). Circuit system membership can change flexibly over time. A circuit system includes components that can perform specified operations individually or in combination during operation. In the example, the hardware of the circuit system may be invariably designed to perform a specific operation (e.g., hardwired). In the example, the hardware of the circuit system may include variably connected physical components (e.g., execution units, transistors, simple circuits, etc.) including machine-readable media that are physically modified (e.g., magnetically, electrically, movably placed invariant aggregates of particles, etc.) to encode instructions for a specific operation. When connecting physical components, the underlying electrical characteristics of the hardware configuration change, for example, from an insulator to a conductor, and vice versa. Instructions enable embedded hardware (e.g., execution units or loading mechanisms) to create members of a circuit system within the hardware via variable connections, to perform specific operations during operation. Thus, in the example, a machine-readable medium element is part of the circuit system, or communicatively coupled to other components of the circuit system during device operation. In the example, any of the physical components can be used in more than one component of more than one circuit system. For example, during operation, an execution unit may be used at one point in time in a first circuit of a first circuit system and reused by a second circuit of the first circuit system, or reused at different times by a third circuit of the second circuit system. The following are additional examples of these components for machine 800.
[0096] In alternative embodiments, machine 800 may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, machine 800 may operate as a server machine, a client machine, or both in a server-client network environment. In the example, machine 800 may act as a peer-to-peer (P2P) (or other distributed) network environment. Machine 800 may be a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), mobile phone, network device, network router, switch, or bridge, or any machine capable of executing instructions (sequential or otherwise) specifying the actions to be taken by the machine. Furthermore, although only a single machine is shown, the term "machine" should also be considered to include any collection of machines that individually or jointly execute a set (or more) of instructions to perform any one or more methods discussed herein, such as cloud computing, Software as a Service (SaaS), and other computer cluster configurations.
[0097] Machine (e.g., computer system) 800 may include hardware processor 802 (e.g., central processing unit (CPU), graphics processing unit (GPU), hardware processor core, or any combination thereof), main memory 804, static memory (e.g., memory or storage device for firmware, microcode, basic input / output (BIOS), unified extensible firmware interface (UEFI), etc.) 806, and mass storage device 808 (e.g., hard disk drive, tape drive, flash memory, or other block device), some or all of which may communicate with each other via interconnect link (e.g., bus) 830. Machine 800 may also include display unit 810, alphanumeric input device 812 (e.g., keyboard), and user interface (UI) navigation device 814 (e.g., mouse). In the example, display unit 810, input device 812, and UI navigation device 814 may be a touchscreen display. Machine 800 may additionally include a storage device (e.g., a drive unit) 808, a signal generation device 818 (e.g., a speaker), a network interface device 820, and one or more sensors 816 (e.g., a Global Positioning System (GPS) sensor, a compass, an accelerometer, or other sensors). Machine 800 may include an output controller 828, connected, for example, serially (e.g., Universal Serial Bus (USB)), in parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connections, to communicate with or control one or more peripheral devices (e.g., a printer, a card reader, etc.).
[0098] The registers of processor 802, main memory 804, static memory 806, or mass storage 808 may be or include machine-readable medium 822 on which one or more sets of data structures or instructions 824 (e.g., software) embody or are utilized by any one or more technologies or functions described herein. During execution of instructions 824 by machine 800, instructions 824 may also reside wholly or at least partially in any register of processor 802, main memory 804, static memory 806, or mass storage 808. In the example, one or any combination of hardware processor 802, main memory 804, static memory 806, or mass storage 808 may constitute machine-readable medium 822. Although machine-readable medium 822 is shown as a single medium, the term "machine-readable medium" may 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 824.
[0099] The term "machine-readable medium" can include any medium capable of storing, encoding, or carrying instructions executable by machine 800 and causing machine 800 to perform any one or more of the technologies disclosed herein, or any medium capable of storing, encoding, or carrying data structures used by or associated with those instructions. Examples of non-limiting machine-readable media can include solid-state memory, optical media, magnetic media, and signals (e.g., radio frequency signals, other photon-based signals, sound signals, etc.). In examples, non-transitory machine-readable media includes machine-readable media having a plurality of particles having invariant (e.g., rest) mass and thus being a composition of matter. Therefore, a non-transitory machine-readable medium is a machine-readable medium that does not include transiently propagating signals. Specific examples of non-transitory machine-readable media can include: non-volatile memory, such as semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)) and flash memory devices; disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0100] Instruction 824 can also be further sent or received via communication network 826 using a transmission medium through network interface device 820 using any of a variety of transmission protocols (e.g., Frame Relay, Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), etc.). Exemplary communication networks may include local area networks (LANs), wide area networks (WANs), packet data networks (e.g., the Internet), mobile phone networks (e.g., cellular networks), conventional telephone (POTS) networks, and wireless data networks (e.g., IEEE 802.11 series standards, known as Wi-Fi®, IEEE 802.16 series standards known as WiMax), IEEE 802.15.4 series standards, peer-to-peer (P2P) networks, etc. In the example, network interface device 820 may include one or more physical jacks (e.g., Ethernet, coaxial, or telephone jacks) or one or more antennas for connection to communication network 826. In the example, network interface device 820 may include multiple antennas to perform wireless communication using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) technologies. The term "transmission medium" should be considered to include any intangible medium capable of storing, encoding, or carrying instructions executable by machine 800, and includes digital or analog communication signals or other intangible media to facilitate communication of such software. The transmission medium is a machine-readable medium.
[0101] Notes and Examples
[0102] The following non-limiting embodiments detail certain aspects of the subject matter to address challenges and provide the benefits discussed herein.
[0103] Example 1 is a method of operating a mobile cleaning robot, the method comprising: engaging a floor surface of an environment with a cleaning pad of the mobile cleaning robot; while the cleaning pad is engaged with the floor surface, operating at least one wheel of the mobile cleaning robot to move the mobile cleaning robot forward relative to the floor surface along a cleaning queue for the first time; after moving forward, operating at least one wheel of the mobile cleaning robot to move the mobile cleaning robot backward relative to the floor surface along the cleaning queue while the cleaning pad is engaged with the floor surface; and after moving backward, operating at least one wheel of the mobile cleaning robot to move the mobile cleaning robot forward a second time relative to the floor surface along the cleaning queue while the cleaning pad is engaged with the floor surface.
[0104] In Example 2, the subject matter of Example 1 may optionally include the following: when the mobile cleaning robot moves forward for the first time, the mobile cleaning robot moves forward a first distance; when the mobile cleaning robot moves backward, the mobile cleaning robot moves backward a second distance; when the mobile cleaning robot moves forward for the second time, the mobile cleaning robot moves forward a third distance, and the third distance is greater than the first distance and the second distance.
[0105] In Example 3, the subject of Example 2 may optionally include: where the second distance is less than the first distance and the third distance.
[0106] In Example 4, the subject of Example 3 may optionally include a multiple of the diameter of the mobile cleaning robot.
[0107] In Example 5, the subject of Example 4 may optionally include a multiple of the diameter of the mobile cleaning robot.
[0108] In Example 6, the subject matter of any one or more of Examples 3-5 may optionally include: spraying liquid on the floor surface while moving forward along the cleaning queue.
[0109] In Example 7, the subject of Example 6 may optionally include interrupting the spraying of liquid during forward movement and before backward movement.
[0110] In Example 8, any one or more of the subjects in Examples 6-7 may optionally include: wherein the spray distance is less than the first distance, the second distance, and the third distance.
[0111] In Example 9, the subject matter of any one or more of Examples 1-8 may optionally include: moving the cleaning pad relative to the body of the mobile cleaning robot using the pad drive system of the mobile cleaning robot when the mobile cleaning robot moves forward for the first time, moves backward, and moves forward for the second time.
[0112] Example 10 is a method of operating a mobile cleaning robot, the method comprising: engaging an environmental floor surface with a cleaning pad of the mobile cleaning robot; operating a first wheel of the mobile cleaning robot at a first speed and operating a second wheel of the mobile cleaning robot at a second speed lower than the first speed to move the mobile cleaning robot forward and laterally to a first side of a centerline of a cleaning queue; operating the second wheel of the mobile cleaning robot at the first speed and operating the first wheel of the mobile cleaning robot at the second speed to move the mobile cleaning robot forward, to move the mobile cleaning robot laterally toward the centerline, and to move laterally to a second side of the centerline.
[0113] In Example 11, the subject matter of Example 10 may optionally include: operating a first wheel at a first speed and operating a second wheel at a second speed to move the mobile cleaning robot forward to cross the centerline, to move the mobile cleaning robot laterally toward the centerline, and to move laterally to a first side of the centerline.
[0114] In Example 12, the subject of Example 11 may optionally include: wherein the mobile cleaning robot moves sinusoidally about the centerline.
[0115] In Example 13, the subject of any one or more of Examples 10-12 may optionally include: wherein the first velocity is in the first rotational direction, and wherein the second velocity is zero.
[0116] In Example 14, the subject of any one or more of Examples 10-13 may optionally include: wherein the first velocity is in a first rotational direction, and wherein the second velocity is in a second rotational direction opposite to the first rotational direction.
[0117] Example 15 is a non-transitory machine-readable medium comprising instructions for operating a mobile cleaning robot, which, when executed, cause the machine to: operate an actuator connected to a cleaning pad assembly to move the cleaning pad of the cleaning pad assembly from a storage position at least partially above the body of the mobile cleaning robot to an unfolded position at least partially below the body; engage an ambient floor surface with the cleaning pad; operate one or more of a pair of drive wheels of the mobile cleaning robot to move the mobile cleaning robot along a cleaning queue; and, as the mobile cleaning robot moves along the cleaning queue, when the cleaning pad is at least partially below the body, operate the actuator to move the cleaning pad forward and backward to scrub the floor surface.
[0118] In Example 16, the subject matter of Example 15 may optionally include: wherein, as the mobile cleaning robot moves along the cleaning queue, the actuator is operated to repeatedly move the cleaning pad forward and backward.
[0119] In Example 17, the subject matter of any one or more of Examples 15-16 may optionally include instructions to further cause the machine to: engage a floor surface of the environment with a cleaning pad of a mobile cleaning robot; while the cleaning pad is engaged with the floor surface, operate at least one wheel of the mobile cleaning robot to cause the mobile cleaning robot to move forward relative to the floor surface along the cleaning queue for the first time; after moving forward, operate at least one wheel of the mobile cleaning robot to move backward relative to the floor surface along the cleaning queue while the cleaning pad is engaged with the floor surface; and after moving backward, operate at least one wheel of the mobile cleaning robot to move forward a second time relative to the floor surface along the cleaning queue while the cleaning pad is engaged with the floor surface.
[0120] In Example 18, the subject matter of Example 17 may optionally include the following: when the mobile cleaning robot moves forward for the first time, the mobile cleaning robot moves forward a first distance; when the mobile cleaning robot moves backward, the mobile cleaning robot moves backward a second distance; when the mobile cleaning robot moves forward for the second time, the mobile cleaning robot moves forward a third distance; and the third distance is greater than the first distance and the second distance.
[0121] In Example 19, the subject of Example 18 may optionally include: where the second distance is less than the first distance and the third distance.
[0122] In Example 20, the subject of Example 19 may optionally include a multiple of the diameter of the mobile cleaning robot.
[0123] Example 21 is an apparatus that includes means for implementing any one of Examples 1-20.
[0124] Example 22 is a system for implementing any one of Examples 1-20.
[0125] Example 23 is a method for implementing any one of Examples 1-20.
[0126] In Example 24, any one or any combination of apparatus, system or method from Examples 1-25 may optionally be configured such that all of the listed elements or options are available or selectable.
[0127] The above detailed description includes reference to the accompanying drawings, which form part of the detailed description. The drawings illustrate specific embodiments in which the invention can be practiced. These embodiments are also referred to herein as “examples.” Such examples may include elements other than those shown or described. However, the inventors also contemplate examples in which only those elements shown or described are provided. Furthermore, the inventors contemplate examples using any combination or arrangement of those elements (or one or more aspects thereof) shown or described with respect to a particular example (or one or more aspects thereof) or with respect to other examples (or one or more aspects thereof) shown or described herein.
[0128] In the event of any inconsistency between the usage of this document and any other document incorporated by reference, the usage in this document shall prevail. In this document, the terms “comprising” and “wherein” are used as their concise English equivalents to the corresponding terms “including” and “wherein”. Furthermore, in the following claims, the terms “comprising” and “including” are open-ended, meaning that a system, apparatus, article, composition, formulation, or process that includes elements other than those listed following such terms in the claims is still considered to fall within the scope of the claims.
[0129] The above description is intended to be illustrative and not restrictive. For example, the examples (or one or more aspects thereof) described above may be used in combination with each other. Other embodiments may be used by those skilled in the art after reading the above description, for example. An abstract is provided to conform to 37C.FR §1.72(b) to allow the reader to quickly determine the nature of the technical disclosure. It should be understood at the time of filing that it is not intended to interpret or limit the scope or meaning of the claims. Moreover, in the above detailed description, various features may be combined together to simplify this disclosure. This should not be construed as meaning that any unclaimed disclosed feature is essential to any claim. Rather, the subject matter of the invention may lie in all features of fewer than the particular disclosed embodiment. Therefore, the following claims are incorporated herein by way of example or embodiment, wherein each claim is an independent, separate embodiment, and these embodiments are contemplated to be combined with each other in various combinations or arrangements. The scope of the invention should be determined by reference to the appended claims and the full scope of the equivalents conferred by those claims.
Claims
1. A method of operating a mobile cleaning robot, the method comprising: engaging a floor surface of an environment with a cleaning pad of the mobile cleaning robot; operating at least one wheel of the mobile cleaning robot to move the mobile cleaning robot forward relative to the floor surface along a cleaning queue a first time while the cleaning pad is engaged with the floor surface; after moving forward, operating the at least one wheel of the mobile cleaning robot to move the mobile cleaning robot backward relative to the floor surface along the cleaning queue while the cleaning pad is engaged with the floor surface; and after moving backward, operating the at least one wheel of the mobile cleaning robot to move the mobile cleaning robot forward relative to the floor surface along the cleaning queue a second time while the cleaning pad is engaged with the floor surface.
2. The method of claim 1, wherein the mobile cleaning robot moves forward a first distance when the mobile cleaning robot moves forward a first time, wherein the mobile cleaning robot moves backward a second distance when the mobile cleaning robot moves backward, wherein the mobile cleaning robot moves forward a third distance when the mobile cleaning robot moves forward a second time, and wherein the third distance is greater than the first distance and the second distance.
3. The method of claim 2, wherein the second distance is less than the first distance and the third distance.
4. The method of claim 3, wherein the third distance is 1.5 times a diameter of the mobile cleaning robot.
5. The method of claim 4, wherein the second distance is 0.77 times the diameter of the mobile cleaning robot.
6. The method of any of claims 3 to 5, further comprising: spraying a liquid on the floor surface during moving forward along the cleaning queue.
7. The method of claim 6, further comprising: interrupting spraying the liquid during moving forward and before moving backward.
8. The method of claim 6, wherein the spraying distance is less than the first distance, the second distance, and the third distance.
9. The method of any of claims 1 to 8, further comprising: using a pad drive system of the mobile cleaning robot to move the cleaning pad relative to a main body of the mobile cleaning robot when at least one of the mobile cleaning robot moves forward a first time, moves backward, and moves forward a second time.
10. A method of operating a mobile cleaning robot, the method comprising: engaging a floor surface of an environment with a cleaning pad of the mobile cleaning robot; operating a first wheel of the mobile cleaning robot at a first speed and a second wheel of the mobile cleaning robot at a second speed that is lower than the first speed to move the mobile cleaning robot forward and laterally to a first side of a centerline of a cleaning queue; operating the second wheel of the mobile cleaning robot at a first speed and operating the first wheel of the mobile cleaning robot at a second speed to move the mobile cleaning robot forward, to move the mobile cleaning robot laterally toward the centerline, and to move laterally to a second side of the centerline.
11. The method of claim 10, comprising: operating the first wheel at a first speed and operating the second wheel at a second speed to move the mobile cleaning robot forward to cross the centerline, to move the mobile cleaning robot laterally toward the centerline, and to move laterally to a first side of the centerline.
12. The method of claim 11, wherein the mobile cleaning robot moves sinusoidally about the centerline.
13. The method of any of claims 10-12, wherein the first speed is in a first rotational direction, and wherein the second speed is zero.
14. The method of any of claims 10-13, wherein the first speed is in a first rotational direction, and wherein the second speed is in a second rotational direction opposite the first rotational direction.
15. A non-transitory machine-readable medium comprising instructions for operating a mobile cleaning robot, the instructions, when executed by a machine, cause the machine to: operate an actuator connected to a cleaning pad assembly to move a cleaning pad of the cleaning pad assembly from a stored position at least partially above a body of the mobile cleaning robot to a deployed position at least partially below the body; engage a floor surface of an environment with the cleaning pad; operate one or more of a pair of drive wheels of the mobile cleaning robot to move the mobile cleaning robot along a cleaning queue; while the mobile cleaning robot is moving along the cleaning queue, operate the actuator to move the cleaning pad forward and backward to scrub the floor surface when the cleaning pad is at least partially below the body.
16. The non-transitory machine-readable medium of claim 15, wherein the actuator is operated to repeatedly move the cleaning pad forward and backward while the mobile cleaning robot is moving along the cleaning queue.
17. The non-transitory machine-readable medium of any of claims 15-16, the instructions further cause the machine to: engage a floor surface of an environment with a cleaning pad of the mobile cleaning robot; operate at least one wheel of the mobile cleaning robot to move the mobile cleaning robot forward relative to the floor surface along a cleaning queue a first time while the cleaning pad is engaged with the floor surface; after moving forward, operate the at least one wheel of the mobile cleaning robot to move the mobile cleaning robot backward relative to the floor surface along the cleaning queue while the cleaning pad is engaged with the floor surface; and after moving backward, operate the at least one wheel of the mobile cleaning robot to move the mobile cleaning robot forward relative to the floor surface along the cleaning queue a second time while the cleaning pad is engaged with the floor surface. 18. The non-transitory machine-readable medium of claim 17, wherein when the mobile cleaning robot moves forward a first time, the mobile cleaning robot moves forward a first distance, wherein when the mobile cleaning robot moves backward, the mobile cleaning robot moves backward a second distance, wherein when the mobile cleaning robot moves forward a second time, the mobile cleaning robot moves forward a third distance, and wherein the third distance is greater than the first distance and the second distance.
19. The non-transitory machine-readable medium of claim 18, wherein the second distance is less than the first distance and the third distance.
20. The non-transitory machine-readable medium of claim 19, wherein the third distance is 1.5 times a diameter of the mobile cleaning robot.