Controlling the mopping behavior of mobile cleaning robots
The mobile cleaning robot's processor-controlled back-and-forth movement pattern improves cleaning efficiency by ensuring thorough coverage of floor surfaces in a single pass, adapting to different floor types and obstacles.
Patent Information
- Application Number
- JP2026507563
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-09
- Filing Date
- 2024-07-29
- Publication Date
- 2026-08-25
AI Technical Summary
Mobile cleaning robots often require multiple passes to effectively clean a surface, which can be inefficient and time-consuming, especially when dealing with different types of floor surfaces in a single environment.
The mobile cleaning robot is equipped with a processor that controls its movement in a back-and-forth reciprocating pattern along a cleaning line, allowing the cleaning pad to engage with the floor multiple times, enhancing cleaning efficiency in a single pass.
This approach allows for more effective and efficient cleaning by ensuring thorough coverage of the floor surface with reduced passes, adapting to various floor types and obstacles.
Smart Images

Figure 2026528795000001_ABST
Abstract
Description
Technical Field
[0001] Priority Claim This application claims the benefit of priority under 35 U.S.C.§120 to U.S. Patent Application Serial No. 18 / 231,919, filed on August 9, 2023, titled "MOPPING BEHAVIOR CONTROL OF MOBILE CLEANING ROBOT" with respect to Shiwei Wang, and this U.S. Patent Application is hereby incorporated by reference in its entirety.
Background Art
[0002] Autonomous mobile robots can move around in an environment and perform various categories of functions and operations including, but not limited to, security operations, infrastructure or maintenance operations, navigation or mapping operations, inventory management operations, and robot / human interaction operations. Some mobile robots known as cleaning robots can perform cleaning operations autonomously in an environment, such as a home. Many types of cleaning robots are autonomous to some extent in various ways. For example, some mobile cleaning robots can perform automatic mopping operations or routines.
Summary of the Invention
Problems to be Solved by the Invention
[0003] A mobile cleaning robot can be an autonomous robot that is at least partially controlled locally (e.g., via the robot's control unit) or remotely (e.g., via a remote handheld device) to move around in an environment. One or more processors within the mobile cleaning robot can control the movement of the robot in the environment and various routines such as a cleaning routine or a portion thereof. A mobile cleaning robot that includes a mopping pad may be designed to perform wet or dry mopping of a surface. However, depending on the environment, multiple cleaning passes may be required to completely clean the floor surface. [Means for solving the problem]
[0004] The apparatus, system, or method of this application can help address this problem by including a processor configured to move a mobile cleaning robot around an environment in such a way that the efficiency of mopping or cleaning is improved in a single pass compared to linear robot movement. For example, the processor can control the mobile cleaning robot to move in a back-and-forth reciprocating pattern along a single cleaning line or cleaning rank, such that the robot passes each surface several times before moving forward. The processor or controller can also operate the cleaning pad assembly of the mobile cleaning robot to move back and forth relative to the body of the robot as the robot moves relative to the floor surface. Such apparatuses and methods can help perform a more efficient or effective mopping or cleaning process, mission, or routine.
[0005] In one example, a method for operating a mobile cleaning robot may include engaging the cleaning pad of the mobile cleaning robot with the floor surface of the environment. At least one wheel of the mobile cleaning robot may be operated to move the mobile cleaning robot forward relative to the floor surface along a cleaning row while the cleaning pad is engaged with the floor surface. After moving forward, at least one wheel may be operated to move the mobile cleaning robot backward relative to the floor surface along a cleaning row while the cleaning pad is engaged with the floor surface. After moving backward, at least one wheel may be operated to move the mobile cleaning robot forward relative to the floor surface along a cleaning row a second time while the cleaning pad is engaged with the floor surface.
[0006] The above description is intended to provide an overview of the subject matter of this application. It is not intended to provide an exclusive or exhaustive description of the invention. The following description is provided to provide further information relating to this application.
[0007] Various embodiments are shown in the accompanying drawings as examples. Such embodiments are illustrative and are not intended to be exhaustive or exclusive embodiments of the subject matter. [Brief explanation of the drawing]
[0008] [Figure 1] This is a plan view showing a mobile cleaning robot in an environmental setting. [Figure 2A] This is an isometric view showing a mobile cleaning robot in its first state. [Figure 2B] This is an isometric view showing the mobile cleaning robot in the second state. [Figure 2C] This is an isometric view showing a mobile cleaning robot in the third state. [Figure 2D] This is a bottom view showing the mobile cleaning robot in the third state. [Figure 2E] This is an isometric view from above showing the mobile cleaning robot in the third state. [Figure 2F] This is a side cross-sectional view showing a mobile cleaning robot in its first state. [Figure 3] This figure shows an example of a communication network in which a mobile cleaning robot operates and data transmission within that network. [Figure 4] This is a schematic diagram showing the movement path of a mobile cleaning robot that passes through a portion of the environment. [Figure 5] This is a schematic diagram showing the movement path of a mobile cleaning robot that passes through a portion of the environment. [Figure 6] This is a schematic diagram showing the movement path of a mobile cleaning robot that passes through a portion of the environment. [Figure 7] This is a schematic diagram showing the movement path of a mobile cleaning robot that passes through a portion of the environment. [Figure 8] Block diagram showing an example of a machine that can implement one or more embodiments. [Modes for carrying out the invention]
[0009] Overview of robot operation Figure 1 is a plan view showing a mobile cleaning robot 100 in an environment 40 according to at least one example of the present disclosure. The environment 40 may be a residence such as a house or apartment and may include rooms 42a to 42e. Obstacles such as a bed 44, a table 46 and an island 48 may be placed in the rooms 42 of the environment. Each of the rooms 42a to 42e may have floor surfaces 50a to 50e, respectively. Some rooms, such as room 42d, may include floor coverings such as a carpet 52. The floor surface 50 may be one or more types such as hardwood, ceramic, low-pile carpet, medium-pile carpet, long (or high)-pile carpet, stone, etc.
[0010] The mobile cleaning robot 100 can be operated by a user 60, etc., to autonomously clean the environment 40 room by room. In some examples, the robot 100 can clean the floor surface 50a of a room, such as room 42a, then move to the next room, such as room 42d, and clean the floor surface of room 42d. Different rooms may have different types of floor surfaces. For example, room 42e (which may be a kitchen) may have a hard floor surface such as wood or ceramic tile, and room 42a (which may be a bedroom) may have a carpeted surface such as a medium-pile carpet. Other rooms, such as room 42d (which may be a dining room), may include multiple surfaces on which rugs 52 are placed within room 42d.
[0011] During cleaning or moving operations, the robot 100 can use data collected from various sensors (such as optical sensors) and calculations (such as odometry and obstacle detection) to create a map of the environment 40. Once the map is created, the user 60 can define rooms or zones (such as room 42) within the map. The map may be presented to the user 60 on a user interface such as a mobile device, and the user 60 can, for example, specify or change cleaning preferences.
[0012] Furthermore, during operation, the robot 100 can detect the surface types within each room 42, and these can be stored in the robot 100 or another device. The robot 100 can update the map (or related data) to include, or take into account, the surface types of each floor surface 50a-50e in each room 42 of the environment 40. In some examples, the map can be updated to show different surface types, such as within each room 42.
[0013] In some examples, user 60 can define an action control zone 54. In autonomous operation, robot 100 can initiate an action in response to being within or near the action control zone 54. For example, user 60 can define a dirty area of the environment 40 as the action control zone 54. Accordingly, robot 100 can initiate a concentrated cleaning action in which robot 100 performs concentrated cleaning of a portion of the floor surface 50d within the action control zone 54.
[0014] Robot example Figure 2A is an isometric view showing the mobile cleaning robot 100 with the pad assembly in the retracted position. Figure 2B is an isometric view showing the mobile cleaning robot 100 with the pad assembly in the extended position. Figure 2C is an isometric view showing the mobile cleaning robot 100 with the pad assembly in the mopping position. Figures 2A to 2C also show indicators for the front and rear directions. Figures 2A to 2C will be explained together below.
[0015] 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 (collectively referred to as arm 106) and a pad assembly 108. The robot 100 can also include a bumper 109 and other features, such as an extractor (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 will be described in more detail below. The distal portions of the arms 106 can be connected to the pad assembly 108, and the proximal portions of the arms 106a and 106b can be connected to an internal drive system to drive the arm 106 to move the pad assembly 108.
[0016] Figures 2A-2C show how the robot 100 can be operated to move the pad assembly 108 from the storage position of Figure 2A to the transition or partially deployed position of Figure 2B and then to the mopping or deployed position of Figure 2C. In the storage position of Figure 2A, the robot 100 can perform only a vacuum suction operation. In the deployed position of Figure 2C, the robot 100 can perform a vacuum suction operation or a mopping operation. Figures 2D-2E illustrate additional components of the robot 100.
[0017] Components of the Robot FIG. 2D is a bottom view showing the mobile cleaning robot 100, and FIG. 2E is an isometric view from above showing the robot 100. FIGS. 2D and 2E will be described together below. The robot 100 in FIGS. 2D and 2E may be consistent with FIGS. 2A-2C, and FIGS. 2D-2E show further details of the robot 100. For example, FIGS. 2D-2E show that the robot 100 may 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, a caster 120, a side brush assembly 122, a vacuum assembly 124, a memory 126, and a sensor 128. The mopping system 104 may also include a tank 132 and a pump 134.
[0018] The cleaning robot 100 can be an autonomous cleaning robot that can autonomously travel on the floor surface 50 (FIG. 1) while taking in dust from different parts of the floor surface 50. As shown in FIG. 2D, the robot 100 can include a main body 102 that can be movable across the entire floor surface 50. The main body 102 can include a plurality of connected structures to which the movable or fixed components of the cleaning robot 100 are attached. The connected structures can include, for example, an outer housing that covers the internal components of the cleaning robot 100, a chassis to which the drive wheels 118a, 118b and the cleaning rollers 114a, 114b (of the cleaning assembly 113) are attached, and a bumper 109 connected to the outer housing. The caster wheel 120 can support the front portion of the main body 102 above the floor surface 50, and the drive wheels 118a, 118b can support the central and rear portions of the main body 102 above the floor surface 50 (and can also support most of the weight of the robot 100).
[0019] As shown in Figure 2D, the body 102 may include a front portion which may have a substantially semicircular shape and which can be connected to a bumper 109. The body 102 may also include a rear portion which may have a substantially semicircular shape. In other examples, the body 102 may have other shapes, such as a square front or a straight front. The robot 100 may also include a drive system which includes actuators (e.g., motors) 116a and 116b. The actuators 116a and 116b may be connected to the body 102 and may be operably connected to drive wheels 118a and 118b which may be rotatably mounted on the body 102. When driven, the actuators 116a and 116b may rotate the drive wheels 118a and 118b, enabling the robot 100 to move autonomously across the floor surface 50.
[0020] The vacuum assembly 124 may be located at least partially within the body 102 of the robot 100, such as in the rear portion of the body 102, and in other examples, the vacuum assembly 124 may be located in other positions. The vacuum assembly 124 may include a motor for driving an impeller to generate airflow when it rotates. The airflow from the vacuum assembly 124 and the cleaning roller 114 can work together to draw debris into the robot 100 as the cleaning roller rotates.
[0021] A cleaning waste container 130 (shown in Figure 2F) can be installed inside the main body 102 and can contain the waste collected by the robot 100. A filter inside the main body 102 can separate the waste from the airflow before the airflow enters the vacuum assembly 124 and is discharged from the main body 102. In this regard, before the airflow is discharged from the main body 102, the waste may be captured in both the cleaning waste container 130 and the filter. In some examples, the vacuum assembly 124 and the extractor 113 may be optionally included or of different types. Optionally, the vacuum assembly 124 may be operated during an operation such as mopping, including a mopping system 104. That is, the robot 100 can perform vacuum suction and mopping missions or operations simultaneously.
[0022] The cleaning rollers 114a and 114b may be operably connected to an actuator 115, such as a motor, via a gearbox. The cleaning head 113 and the cleaning rollers 114a and 114b may be positioned in front of the cleaning waste container 130. The cleaning rollers 114 may be attached to or connected to the underside of the body 102 so that when the underside of the body 102 faces the floor surface 50, the cleaning rollers 114a and 114b can engage with the waste on the floor surface 50 during the cleaning operation.
[0023] The controller 111 may be located at least partially within the housing 102 and may be a single-board computer or a multi-board computer, a direct digital controller (DDC), a programmable controller such as a programmable logic controller (PLC), etc. In other examples, the controller 111 may be any computing device such as a handheld computer, e.g., a smartphone, tablet, laptop, desktop computer, or any other computing device including a processor, memory, and communication functions. The memory 126 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 medium, optical storage medium, flash memory device, and other storage devices and storage media. The memory 126 may be located within the housing 102, may be connected to the controller 111, and may be accessible by the controller 111.
[0024] The controller 111 can operate actuators 116a and 116b to autonomously guide the robot 100 to various locations on the floor surface 50 during cleaning. Actuators 116a and 116b may be operated to drive the robot 100 in the forward and backward directions, and to rotate the robot 100. The controller 111 can operate the vacuum assembly 124 to generate an airflow that flows through the air gap near the cleaning roller 114, through the body 102, and out of the body 102.
[0025] The robot 100 may include a sensor system comprising one or more sensors. As described herein, the sensor system may generate one or more signals indicating the current position of the robot 100 and may generate signals indicating the position of the robot 100 as it travels along the floor surface 50. Sensors 128 (shown in Figure 2A) may be positioned along the bottom of the housing 102. Each of the sensors 128 may be an optical sensor configured to detect the presence or absence of an object beneath the optical sensor, such as the floor surface 50. Sensors 128 (optionally cliff sensors) may be connected to a controller 111 and may be used by the controller 111 to guide the robot 100 within the environment 40. In some examples, cliff sensors may be used to detect the type of floor surface which the controller 111 can use to selectively operate the mopping system 104.
[0026] The cleaning pad assembly 108 may be a cleaning pad connected to a cleaning waste container 130 located behind the extractor 113, for example, connected to the bottom of the main body 102 (or connected to an actuator 110 which may be configured to move the assembly 108 between a storage position and a cleaning position). The tank 132 may be a water tank configured to store fluid, such as water or cleaning fluid, for delivery to the mopping pad 142. The pump 134 may be connected to the 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 mopping pad 142 during mopping. For example, the fluid may be delivered to the mopping pad 142 via one or more dispensers 117. One or more dispensers 117 may be valves, openings, etc., and may be configured to deliver the fluid directly to the floor surface 50 of the environment 40 or to the pad 142. In some examples, pad 142 can be a dry pad for dusting or removing dry debris. Pad 142 can also be any cloth, fabric, etc., configured for cleaning floor surfaces (either wet or dry).
[0027] As shown in Figure 2F, the vacuum assembly 124 may be positioned at least partially on the body 102 of the robot 100, for example, on the rear portion of the body 102. The controller 111 can 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 can work together to draw the debris 75 into the suction duct 136 of the robot 100 as the cleaning roller rotates. The suction duct 136 may extend downward to or near the bottom of the body 102 and may be at least partially defined by the cleaning assembly 113.
[0028] The suction duct 136 may be connected to the cleaning head 113 or cleaning assembly and may be connected to the cleaning waste container 130. The cleaning waste container 130 may be mounted inside the body 102 and can contain the debris 75 taken in by the robot 100. A filter 145 may be placed inside the body 102, which can help separate the debris 75 from the airflow 138 before it flows into the vacuum assembly 124 and is discharged from the body 102. In this regard, the debris 75 can be captured in both the cleaning waste container 130 and the filter before the airflow 138 is discharged from the body 102. The robot 100 may also include a debris port 135 that may extend at least partially through the body 102 or the cleaning waste container 130 and may be operable to remove debris 75 from the cleaning waste container 130, such as via a docking station or discharge station.
[0029] The cleaning rollers 114a and 114b may each be operably connected to one or more actuators 115, such as motors. The cleaning head 113 and the cleaning rollers 114a and 114b may be positioned in front of the cleaning waste container 130. The cleaning rollers 114a and 114b may be attached to the housing of the cleaning head 113, for example, indirectly or directly to the body 102 of the robot 100. In particular, the cleaning rollers 114a and 114b may be attached to the underside of the body 102 so that they can engage with the waste 75 on the floor surface 50 during cleaning when their undersides face the floor surface 50.
[0030] Robot movements In some example operations, the controller 111 can be used to command the robot 100 to perform a mission. In such cases, the controller 111 can operate the motor 116 to drive the drive wheels 118 to propel the robot 100 along the floor surface 50. The robot 100 can be propelled in a forward or backward direction. The robot 100 can also be propelled so that it turns in a fixed position or turns while moving in a forward or backward direction. Furthermore, the controller 111 can operate the motor 115 to rotate the rollers 114a and 114b, operate the side brush assembly 122, and operate the motor of the vacuum system 124 to generate airflow. The controller 111 can execute software stored in memory 126 to cause the robot 100 to perform various navigation and cleaning operations by operating the various motors of the robot 100.
[0031] Various sensors on the robot 100 can be used to assist the robot in guiding and cleaning within the environment 40. For example, a cliff sensor can detect obstacles such as steep slopes or steps below the part of the robot 100 where the cliff sensor is located. The cliff sensor can send a signal to the controller 111 so that the controller 111 can change the direction of the robot 100 based on the signal from the sensor.
[0032] A proximity sensor can generate a signal based on the presence or absence of an object in front of the optical sensor. For example, detectable objects include obstacles such as furniture, walls, people, and other objects in the environment 40 of the robot 100. The proximity sensor can transmit a signal to the controller 111 so that the controller 111 can change the direction of the robot 100 based on the signal from the proximity sensor. In some examples, a bump sensor may be used to detect the movement of the bumper 109 along the longitudinal axis of the robot 100. A bump sensor 139 may also be used to detect the movement of the bumper 109 along one or more sides of the robot 100 and can optionally detect the vertical movement of the bumper. The bump sensor 139 can transmit a signal to the controller 111 so that the controller 111 can change the direction of the robot 100 based on the signal from the bump sensor 139.
[0033] The robot 100 may also optionally include one or more dirt sensors 144 that are connected to the main body 102 and communicate with the controller 111. The dirt sensors 144 may be microphones, piezoelectric sensors, optical sensors, etc., located in or near the path of the debris flow, such as near the opening of the cleaning roller 114 or in one or more ducts within the main body 102. This allows one or more dirt sensors 144 to detect at any time during the cleaning mission how much dirt has been taken in by the vacuum assembly 124 (for example, via the extractor 113). Because the robot 100 is aware of its location, it can keep a log or record of which areas or rooms on the map are dirtier or where more dirt has been collected.
[0034] The image acquisition device 140 may be configured to generate signals based on images of the environment 40 surrounding the robot 100 as the robot 100 moves around on the floor surface 50. The image acquisition device 140 can transmit such signals to the controller 111. The controller 111 can use the signals from the image acquisition device 140 for various tasks, algorithms, etc., as will be described in more detail below.
[0035] In some examples, the obstacle-following sensor 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 may include a side-following sensor that can detect the presence or absence of an adjacent object on the side. One or more obstacle-following sensors can also function as obstacle detection sensors, similar to the proximity sensors described herein.
[0036] The robot 100 may also include sensors to track the distance it has traveled. For example, the sensor system may include encoders associated with the motors 116 for the drive wheels 118, and the encoders may track the distance the robot 100 has traveled. In some implementations, the sensors may include downward-facing optical sensors toward the floor. The optical sensors may be positioned to guide light through the bottom surface of the robot 100 toward the floor 50. The optical sensors may be able to detect the reflection of light and, based on the changes in the floor features as the robot 100 moves along the floor 50, the distance the robot 100 has traveled can be detected.
[0037] The controller 111 can use data collected by the sensors of the sensor system to control the navigation behavior of the robot 100 during mission execution. For example, the controller 111 can use sensor data collected by the robot 100's obstacle detection sensors (cliff sensor, proximity sensor, and bump sensor) to enable the robot 100 to avoid obstacles in the robot 100's environment during mission execution.
[0038] Sensor data can also be used by the controller 111 for simultaneous localization and mapping (SLAM) techniques, in which the controller 111 extracts environmental features represented by the sensor data to construct a map of the floor surface 50 of the environment. Sensor data collected by the image acquisition device 140 can also be used for techniques such as visual-based SLAM (VSLAM), in which the controller 111 extracts visual features corresponding to objects in the environment 40 and uses these visual features to construct a map. As the controller 111 guides the robot 100 around the floor surface 50 during mission execution, the controller 111 can use SLAM techniques to determine the position of the robot 100 on the map by detecting features represented in the collected sensor data and comparing those features with previously stored features. The map formed from the sensor data can show the locations of traversable and impassable spaces in the environment. For example, the locations of obstacles can be shown as impassable spaces on the map, and the locations of open floor spaces can be shown as traversable spaces on the map.
[0039] Sensor data collected by any sensor can be stored in memory 126. In addition, other data generated for SLAM technology, including map creation data that forms a map, can be stored in memory 126. These data generated during mission execution may include persistent data that is generated during mission execution and available for use in subsequent mission executions. In addition to storing software that causes the robot 100 to perform its actions, memory 126 can store data resulting from the processing of sensor data for access by the controller 111. For example, the map can be a map that is available and updatable by the robot 100's controller 111 from one mission to another in order to guide the robot 100 to various locations on the floor surface 50.
[0040] Persistent data, including persistent maps, can help enable the robot 100 to efficiently clean the floor surface 50. For example, the map can allow the controller 111 to direct the robot 100 into open floor spaces and avoid areas where it cannot traverse. Furthermore, for subsequent missions, the controller 111 can use the map to optimize the path taken during mission execution in order to help plan the robot 100's navigation through the environment 40.
[0041] The controller 111 can also be connected to the arm 106 and can send commands to a motor or actuator 110 (shown in Figure 2A) which may be at least partially located within the body 102, one or more of which can drive the arm 106 to move the pad assembly 108 between a retracted position (shown in Figures 2A and 2D) and an deployed position (shown in Figures 2C and 2E). In the deployed position, the pad assembly 108 (mopping pad 142) may be used to mop the floor surface of any room in the environment 40.
[0042] The mopping pad 142 can be a dry pad or a wet pad. Optionally, if the mopping pad 142 is a wet pad, the pump 134 can be operated by the controller 111 to spray or drip a fluid (e.g., water or cleaning solution) onto the floor surface 50 or the mopping pad 142. The wet mopping 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.
[0043] Network example Figure 3 shows a communication network 300 that enables networking between the mobile robot 100 and one or more other devices separate from the mobile robot 100, such as a docking station 200 (or any of the docking stations described herein), a mobile device 304 (including a controller), a cloud computing system 306 (including a controller), or another autonomous robot. Using the communication network 300, the robot 100, the mobile device 304, the docking station 200, and the cloud computing system 306 can communicate with each other and send and receive data. In some examples, the robot 100, the docking station 200, or both the robot 100 and the docking station 200 can communicate with the mobile device 304 via the cloud computing system 306. Alternatively or additionally, the robot 100, the docking station 200, or both the robot 100 and the docking station 200 can communicate directly with the mobile device 304. Various types and combinations of wireless networks (e.g., Bluetooth, radio frequency, optical-based, etc.) and network architectures (e.g., Wi-Fi or mesh network) can be employed by the communication network 300.
[0044] In some examples, the mobile device 304 may be connected to a cloud computing system 306 and may be a remote device that allows the user to input. The mobile device 304 may 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 made by the user. The mobile device 304 may also include immersive media (e.g., virtual reality or augmented reality) that the user can interact with and input. In these examples, the mobile device 304 may be a virtual reality headset or a head-mounted display.
[0045] The user can input commands for the mobile robot 100. In such cases, the mobile device 304 can send a signal to the cloud computing system 306 to cause the cloud computing system 306 to send a command signal to the mobile robot 100. In some implementations, the mobile device 304 can present augmented reality images. In some implementations, the mobile device 304 can be a smartphone, laptop computer, tablet computing device, or other mobile device.
[0046] In some examples, the communication network 300 may include additional nodes. For example, a node in the communication network 300 may include additional robots. Alternatively, a node in the communication network 300 may include a network-connected device capable of generating information about the environment 40. Such a network-connected device may include one or more sensors, such as acoustic sensors, image acquisition systems, or other sensors that generate signals, to detect characteristics of the environment 40 from which features can be extracted. The network-connected device may also include home cameras, smart sensors, and the like.
[0047] In communication network 300, the wireless link can utilize various communication methods and protocols, such as Bluetooth Class, Wi-Fi, Low Energy Bluetooth (also known as BLE), 802.15.4, WiMAX (Worldwide Interoperability for Microwave Access), infrared channels, and satellite bands. In some examples, the wireless link can include any cellular network standard used for communication between mobile devices, including but not limited to standards recognized as 1G, 2G, 3G, 4G, 5G, etc. Network standards, when used, are recognized as one or more generations of mobile communication standards by meeting one or more standards, such as specifications maintained by the International Telecommunication Union. For example, the 4G standard can 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 can use various channel access methods, such as FDMA, TDMA, CDMA, or SDMA.
[0048] Example of mopping Figure 4 is a schematic diagram showing a travel path 400 of a mobile cleaning robot 100 through a portion of an environment. This schematic diagram can, as an example, show a path that the robot 100 can travel through the environment 40 to be selected and controlled by a controller (e.g., controller 111) in order to improve the cleaning or mopping efficiency of the robot 100 during the execution or operation of one or more cleaning or mopping missions. Figure 4 also shows indicators for the forward and backward directions.
[0049] For example, the pad assembly 108 may be moved by the controller 111 (e.g., via the actuator 110) to a cleaning position under the body 102 of the robot 100 so that the pad assembly 108 engages with the floor surface. Once the pad assembly 108 engages with 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 along the cleaning row relative to the floor surface, for example by moving the cleaning pad assembly 108 (e.g., mopping pad 142) by a distance D1 from position 400A to position 400B while it is engaged with the floor surface.
[0050] After moving forward, 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) backward relative to the floor along the cleaning line, such as by moving a distance D2 from position 400B to position 400C, while the mopping pad 142 is engaged with the floor surface. Although position 400 of the robot 100 is shown as not being aligned in Figure 4, the positions of the robot 100 (e.g., 400A to 400E) may be along or within a common cleaning line.
[0051] After moving backward, 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 along the cleaning line relative to the floor surface, such as by moving a distance D3 from position 400C to position 400D, while the mopping pad 142 is engaged with the floor surface. After moving forward, 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) backward along the cleaning line relative to the floor surface, such as by moving a distance D4 from position 400D to position 400E, while the mopping pad 142 is engaged with the floor surface. Optionally, distance D4 can be the same as distance D2. That is, the movement pattern can be repeated such that the robot 100 moves forward by distance D3, then backward by distance D2 (or D4), and then forward again by distance D3.
[0052] Such movement patterns can be repeated after the completion of an initial movement sequence in which the robot 100 moves by a distance D1, which can be smaller than the distance D3. That is, distance D3 can be the common or repeating distance for the robot 100's forward movement, while distance D1 can be the initial distance for the robot 100's movement along the cleaning line, following a turn, for example, so that the initial backward movement covers the initial distance D1. For example, if the robot 100 engages with a wall or otherwise reaches the end of the line and turns, the robot 100 can optionally move forward by first a distance D1, then backward a distance D2, then forward a distance D3, and then repeat backward by a distance D2.
[0053] 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 either the first distance D1 or the third distance D3. In some examples, the third distance D3 can be about 1.5 times the diameter of the mobile cleaning robot. The diameter of the robot can be between 30 and 40 centimeters, such as 32, 33, 34, 45, 56, or 37 centimeters. In some examples, the second distance D2 can be 0.77 times the diameter of the mobile cleaning robot. In some examples, the first distance D1 can be slightly larger than the second distance D2, for example, by a range of 0.003 to 0.2 times the diameter, and even further by a range of 0.005 to 0.010 times the diameter (e.g., 0.005 times the diameter, 0.006 times the diameter, 0.007 times the diameter, 0.008 times the diameter, 0.009 times the diameter, or similar values).
[0054] As the robot 100 moves along the cleaning line, the robot 100 may dispense or spray cleaning fluid onto the pad assembly 108 or onto the floor surface (e.g., floor surface 50). Dispensing or spraying may be controlled by the controller 111 to occur during the robot 100's forward movement, such as following the robot 100's forward movement, at relatively small distances, such as distances ranging from 0.005 to 0.010 times the diameter, for example, 0.005 times the diameter, 0.006 times the diameter, 0.007 times the diameter, 0.008 times the diameter, 0.009 times the diameter, or similar values. Discharge or spraying can continue over a portion of the forward movement, thereby allowing the spraying to be interrupted by the controller 111 after moving forward at distances ranging from 0.3 to 1 times the diameter, for example, 0.3 times, 0.4 times, 0.5 times, 0.6 times, 0.7 times, 0.8 times, 0.9 times, or similar values. Optionally, the spraying distance can be shorter than the first distance D1, the second distance D2, or the third distance D3. Any of the routines or movement patterns described above or below may include spraying fluid in any of the embodiments described herein.
[0055] The forward movement of robot 100 can be at a speed of 100 mm / s to 500 mm / s, for example, 100 mm / s, 200 mm / s, 300 mm / s, 400 mm / s, 500 mm / s, or similar speeds. The backward movement speed of robot 100 can be the same as or slower than the forward movement speed. Optionally, the backward movement speed of the robot can be about half of the forward movement speed. Optionally, the forward movement of robot 100 in the routine described above can be interrupted to detect an obstacle or wall during forward movement. In such a case, when an obstacle or wall is detected, the forward movement speed of robot 100 may be halved until robot 100 encounters the obstacle, at which point robot 100 can be made to turn to move to the next cleaning lane or an adjacent cleaning lane (or another part of the environment).
[0056] Optionally, during one or more of the sequences described above, the robot 100 (e.g., controller 111) may continue to execute other algorithms such as SLAM, obstacle detection or avoidance, step detection, slip detection, wheel derailment, obstacle climbing, or similar. If one or more conditions are detected by controller 111 that it deems dangerous, controller 111 may stop the mopping or scrubbing sequence, perform one or more steps or procedures to avoid the danger, and then continue executing the mopping sequence or algorithm described below. Similar processes may be used in any of the mopping sequences described above or below.
[0057] By using one or more of the sequences described above, the robot 100 can perform a mopping pattern during a cleaning mission that can increase the efficiency or effectiveness of cleaning or mopping, such as by engaging with or cleaning the same portion of the floor surface multiple times while passing through the cleaning line once.
[0058] Figure 5 is a schematic diagram showing a travel path 500 of a mobile cleaning robot 100 through a portion of the environment. This schematic diagram can, as an example, show a path that the robot 100 can move through the environment 40 to be selected and controlled by a controller (e.g., controller 111) in order to improve the cleaning or mopping efficiency of the robot 100 while it is performing or operating one or more cleaning or mopping missions. Figure 5 also shows indicators for the forward and backward directions.
[0059] For example, the pad assembly may be moved by the controller 111 to a cleaning position under the body of the robot 100 so that the pad assembly 108 (e.g., the mopping pad 142) engages with the floor surface. Once the mopping pad 142 engages with the floor surface, the controller 111 may operate at least one of the drive wheels 118 to move the robot 100 (e.g., the body 102 and the pad assembly 108) along the cleaning row at least partially ahead of the floor surface as it moves forward along the travel path 500. For example, the controller 111 may operate the first wheel of the drive wheels 118 of the mobile cleaning robot 100 at a first speed to move the mobile cleaning robot 100 forward and laterally at least partially to the first side of the centerline C of the cleaning row, such as moving the mobile cleaning robot 100 from position 500A to position 500B, and may operate the second wheel of the drive wheels 118 of the mobile cleaning robot at a second speed lower than the first speed. Through such movements, the robot 100 may be moved so that it is partially or entirely offset (for example, to the left) from the center line C.
[0060] When the robot 100 reaches a desired lateral offset, the controller 111 can control the drive wheels 118 to move it backward toward the centerline. For example, the controller 111 can operate the second wheels of the mobile cleaning robot 100 at a first speed to move the mobile cleaning robot forward, move the mobile cleaning robot laterally toward the centerline, and operate the first wheels of the mobile cleaning robot 100 at a second speed to move it at least partially laterally toward the second side of the centerline. For example, the controller 111 can operate the drive wheels 118 to move the robot 100 from a position 500B offset laterally (e.g., to the left) from the centerline to a position 500C close to the centerline C, and then to a position 500D where the robot 100 crosses the centerline C or crosses the centerline C and is offset laterally (e.g., to the right) of the centerline C.
[0061] When the robot 100 reaches a desired lateral offset, the controller 111 can control the drive wheels 118 to move it backward toward the centerline. For example, the controller 111 can operate the first wheels at a first speed to move the mobile cleaning robot 100 forward across the centerline C, move the mobile cleaning robot 100 laterally toward the centerline C, and operate the second wheels at a second speed to move it at least partially laterally toward the first side of the centerline C. For example, the controller 111 can operate the drive wheels 118 to move the robot 100 from a position 500D offset laterally (e.g., to the right) from the centerline to a position 500E closer to the centerline C, and then to a position 500F where the robot 100 crosses the centerline C or crosses the centerline C and is offset laterally (e.g., to the left) from the centerline C.
[0062] The controller 111 can continue to control the movement of the robot 100 so that it moves laterally back and forth along the center line C until the robot 100 reaches the end of the cleaning line, at which point the robot 100 can change direction and perform the same cleaning pattern (for example, in the opposite direction) along the second cleaning line. The controller 111 can control the movement of the robot 100 so that the second cleaning line may be adjacent to the first cleaning line or may overlap with the first cleaning line. The controller 111 can control the movement of the robot 100 so that the paths P of the cleaning lines are parallel, or that the paths P of the cleaning lines overlap or intersect. In some examples, the paths P may be sinusoidal around the center line C.
[0063] In some examples, the first speed can be set to 50 mm / s to 500 mm / s and the second speed to zero so that the robot 100 can make relatively sharp turns. Optionally, the controller 111 can be made to rotate one of the drive wheels 118 backward while the other drive wheel is moving forward, in order to make even sharper turns. In some examples, the first speed can be set to 100 mm / s to 300 mm / s and the second speed to 25 mm / s to 100 mm / s so that the robot 100 can make relatively gradual or larger turns. The controller 111 can also optionally set the second speed to zero for the other wheel for a short period (e.g., half a second or one second) while maintaining the speed of one wheel in order to make a turn.
[0064] Figure 6 is a schematic diagram showing a travel path 600 of a mobile cleaning robot 100 through a portion of the environment. This schematic diagram can, as an example, show a path that the robot 100 can travel through the environment 40 to be selected and controlled by a controller (e.g., controller 111) in order to improve the cleaning or mopping efficiency of the robot 100 during the execution or operation of one or more cleaning or mopping missions. Figure 6 also shows indicators for the forward and backward directions.
[0065] For example, the pad assembly may be moved by the controller 111 to a cleaning position under the body of the robot 100 so that the pad assembly 108 (e.g., the mopping pad 142) engages with the floor surface. Once the mopping pad 142 engages with the floor surface, the controller 111 may operate at least one of the drive wheels 118 to move the robot 100 (e.g., the body 102 and the pad assembly 108) along the cleaning line at least partially forward relative to the floor surface during the robot 100's forward movement. When the robot 100 reaches a new position, such as moving from position 600A to position 600B, the controller 111 can operate the first wheel of the drive wheels 118 of the mobile cleaning robot 100 at a first speed and the second wheel of the drive wheels 118 of the mobile cleaning robot 100 at a second speed lower than the first speed, in order to rotate the mobile cleaning robot at least partially toward the first side of the centerline C of the cleaning line, such as by moving the robot 100 from position 600B to position 600C. Such movement may cause the robot 100 to move so that it is offset in part or in whole (for example, to the left) from the centerline C.
[0066] Next, the controller 111 can operate the first drive wheels at a second speed and the second drive wheels at a first speed to rotate the mobile cleaning robot to a second side of the cleaning line's centerline C, such as moving the robot 100 from position 600C to position 600D. Then, the controller 111 can operate the drive wheels 118 to rotate the robot 100 back to position 600B, and the controller 111 can operate the drive wheels 118 to move it forward along the centerline C to position 600E. At any position along the centerline C, such as positions 600E, 600F, and 600G, the controller 111 can rotate the robot 100 in place.
[0067] Such movement patterns may be repeated by the robot 100 until the cleaning row is finished. In this way, the controller 111 can control the robot 100 (and the pad assembly 108) to rotate in a predetermined or near predetermined position so that the robot 100 cleans or scrubs along a cleaning row wider than the diameter of the robot. Although the distances between positions 600A, 600B and 600E are shown to be spaced apart, the distances can be relatively close to each other, such as within one diameter of the robot 100, allowing the robot 100 to clean along the entire (or major or large) portion of a cleaning row wider than the diameter of the robot 100. The distances between positions 600A, 600B and 600E can be a length other than the diameter, or a length of 1x the diameter, 1.25x the diameter, 1.5x the diameter, 1.75x the diameter, 2x the diameter, 3x the diameter, or similar values.
[0068] Furthermore, although the robot 100 is shown to rotate or move laterally with respect to its centerline as it rotates, the robot 100 can rotate in a given position (e.g., rotate at position 600B) such that it rotates about its center but does not move laterally along its cleaning row, or does not move laterally beyond the diameter of the robot 100. That is, the robot 100 can rotate to one side (e.g., as in rotation position 600C) by 5 to 175 degrees, and can return to its forward position 600B before rotating to the other side (e.g., as in rotation position 600D) by 5 to 175 degrees, and then return to its forward position 600B again and move forward.
[0069] In some examples, the first speed may be in a first direction of rotation, and the second speed may be in a second direction of rotation opposite to the first direction of rotation. For example, to move from position 600B to position 600C, the first wheels may be driven at a speed of 200 mm / s, and the second wheels may be driven at a speed of -200 mm / s to rotate the robot 100 at least partially (and to minimize forward or backward movement of the robot). Then, to move from position 600C to 600D, the first wheels may be driven at a speed of -200 mm / s, and the second wheels may be driven at a speed of 200 mm / s to rotate the robot at least partially (and to minimize forward or backward movement). In some examples, the wheels can operate at higher or lower speeds, and can also operate symmetrically or offset (e.g., -100 mm / s and 100 mm / s), or at asymmetrical speeds to obtain different rotation patterns, such as by operating the first wheel at 200 mm / s and the second wheel at -250 mm / s to move the robot 100 slightly backward during rotation.
[0070] Figure 7 is a schematic diagram showing a travel path 700 of a mobile cleaning robot 100 through a portion of the environment. This schematic diagram can, as an example, show a path that the robot 100 can travel through the environment 40 to be selected and controlled by a controller (e.g., controller 111) in order to improve the cleaning or mopping efficiency of the robot 100 during the execution or operation of one or more cleaning or mopping missions. Figure 7 also shows indicators for the forward and backward directions.
[0071] For example, the pad assembly 108 may be moved by the controller 111 to a cleaning position below the body 102 of the robot 100 so that the pad assembly 108 engages with the floor surface. Once the pad assembly 108 (e.g., the mopping pad 142) engages with the floor surface, the controller 111 may operate at least one of the drive wheels 118 to move the robot 100 (e.g., the body 102 and the pad assembly 108) forward along the cleaning line relative to the floor surface, such as by moving from position 700A to position 700B, while the cleaning pad is engaged with the floor surface. During such forward movement, the controller 111 may operate an actuator (e.g., actuator 110) to move the pad assembly 108 relative to the body 102 and at least partially directly below or below the body 102, from the extended position shown at position 700A to the partially retracted position shown at position 700B.
[0072] As the controller 111 continues to move the robot 100 forward, such as from position 700B to position 700C, the controller 111 can operate the actuator 110 to move the pad assembly 108 further, such as to the fully retracted position at position 700C. Next, as the controller 111 continues to move the robot 100 forward, such as from position 700C to position 700D, the controller 111 can operate the actuator 110 to move the pad assembly 108 further, such as to the partially extended position at position 700D, and then to the fully extended position at position 700E.
[0073] As the controller 111 moves the robot 100 forward (and optionally backward or sideways), the controller 111 can operate the actuator 110 to move the pad assembly 108 back and forth (for example, repeatedly) relative to the body 102. In other words, the controller 111 can move the pad assembly 108 to produce a scrubbing motion of the mopping pad 142 as the robot 100 moves within or throughout the environment, in order to help improve cleaning efficiency or effectiveness. The actuator 110 can be the same motor or actuator, and the arm 106 can be the same arm that moves the pad assembly 108 between the stowed position and the cleaning or deployed position, which can help reduce the mass and cost of the robot 100.
[0074] Although the movement patterns described in Figures 4 to 7 are presented as independent movement patterns, one or more movements or patterns can be combined. For example, the forward and backward scrubbing of the pad assembly 108 in Figure 7 can be combined with any of the movement patterns in Figures 4 to 6. Alternatively, the forward and backward movement of the robot 100 in Figure 4 can be used with any of the movement patterns in Figures 5 to 7 so that the robot can retrace any movement pattern it performs. Any combination of the described movement patterns can be used by the robot 100 or the controller 111.
[0075] Optionally, the controller 111 may be configured to execute one or more of the cleaning patterns described above based on commands received from another device, such as a mobile device 304 or a cloud computing system 306. That is, the user can use the mobile device 304 to select a desired movement pattern to execute during the mopping operation. Optionally, the user can select a movement pattern for a specific room or area of the environment, and the patterns selected for individual rooms can be varied among them.
[0076] Figure 8 is a block diagram showing an exemplary machine 800 on which any one or more of the techniques (e.g., methods) described herein may be performed. The examples described herein may include or be operated by logic or other components, or mechanisms within the machine 800. A circuit configuration (e.g., a processing circuit configuration) is a set of circuits implemented in the tangible entities of the machine 800, including hardware (e.g., simple circuits, gates, logic, etc.). The elements of a circuit configuration may be flexible over time. A circuit configuration includes components that can perform specified operations, either individually or in combination, at operating time. In one example, the hardware of a circuit configuration may be designed immutably to perform a particular operation (e.g., hardwired). In one example, the hardware of a circuit configuration may include variably connected physical components (e.g., execution units, transistors, simple circuits, etc.), including a machine-readable medium (e.g., a magnetic, electrical, movable arrangement of invariant mass particles, etc.) that is physically modified to encode instructions for a particular operation. When connecting physical components, the underlying electrical properties of the hardware components are changed, for example, from insulator to conductor or vice versa. Instructions enable embedded hardware (e.g., an execution unit or loading mechanism) to create components of a circuit configuration within the hardware via variable connections to perform a specific part of an operation during operation. Thus, in one example, a machine-readable medium element is part of a circuit configuration or is communicatively coupled to other components of a circuit configuration when the device is operating. In one example, any one of the physical components may be used in two or more components of two or more circuit configurations. For example, during operation, an execution unit may be used at one point in time in a first circuit of a first circuit configuration, and may be reused at a different point in time by a second circuit of the first circuit configuration or by a third circuit of the second circuit configuration. Additional examples of these components relating to machine 800 are given below.
[0077] In alternative embodiments, machine 800 may operate as a standalone device or may be connected to other machines (e.g., networked). In a networked deployment, machine 800 may operate as a server machine, a client machine, or both in a server-client network environment. For example, machine 800 may function as a peer machine in 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, web appliance, network router, switch or bridge, or any machine capable of executing instructions (sequentially or otherwise) that specify the actions to be performed by that machine. Furthermore, although only a single machine is shown, the term “machine” should also be interpreted to include any set of machines that individually or collectively execute one or more sets of instructions in order to perform any one or more of the techniques described herein, such as cloud computing, software as a service (SaaS), and other computer cluster configurations.
[0078] The machine (e.g., a computer system) 800 may include a hardware processor 802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), main memory 804, static memory 806 (e.g., memory or storage for firmware, microcode, basic input / output (BIOS), unified expansion firmware interface (UEFI), etc.), and mass storage 808 (e.g., a hard drive, tape drive, flash storage, or other block device), some or all of which may communicate with each other via an interlink 830 (e.g., a bus). The machine 800 may further include a display unit 810, an alphanumeric input device 812 (e.g., a keyboard), and a user interface (UI) navigation device 814 (e.g., a mouse). In one example, the display unit 810, the input device 812, and the UI navigation device 814 may be touchscreen displays. The machine 800 may further include a storage device 808 (e.g., a drive unit), a signal generating device 818 (e.g., a speaker), a network interface device 820, and one or more sensors 816 such as a Global Positioning System (GPS) sensor, a compass, an accelerometer, or other sensors. The machine 800 may also include an output controller 828, such as a serial (e.g., Universal Serial Bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC)) connection) for communicating with or controlling one or more peripheral devices (e.g., a printer, a card reader, etc.).
[0079] The registers of processor 802, main memory 804, static memory 806, or mass storage 808 may be, or include, machine-readable media 822 in which one or more sets of data structures or instructions 824 (e.g., software) that embody or utilize any one or more of the techniques or functions described herein are stored. Instructions 824 may also reside, entirely or at least partially, in the registers of processor 802, main memory 804, static memory 806, or mass storage 808 during their execution by machine 800. In one example, one or any combination of hardware processor 802, main memory 804, static memory 806, or mass storage 808 may constitute machine-readable media 822. Although machine-readable media 822 is shown as a single medium, the term “machine-readable media” may include one or more mediums (e.g., centralized or distributed databases, and / or associated caches and servers) configured to store one or more instructions 824.
[0080] The term “machine-readable medium” can include any medium capable of storing, encoding, or carrying instructions for execution by machine 800, causing machine 800 to perform one or more of the techniques of the Disclosure, or storing, encoding, or carrying data structures used by or associated with such instructions. Non-limiting examples of machine-readable mediums may include solid-state memory, optical mediums, magnetic mediums, and signals (e.g., radio frequency signals, other photon-based signals, audio signals, etc.). In one example, a non-temporary machine-readable medium includes a machine-readable medium having a plurality of particles having invariant (e.g., stationary) mass, and is therefore a composition of matter. Thus, a non-temporary machine-readable medium is a machine-readable medium that does not contain a transient propagating signal. Specific examples of non-temporary 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 (EEPROM)) and flash memory devices, as well as magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and CD-ROM and DVD-ROM disks.
[0081] Instruction 824 may be further transmitted or received over a communication network 826 using a transmission medium via a network interface device 820 that utilizes one of several transport protocols (e.g., Frame Relay, Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), etc.). Illustrative communication networks may include, among others, 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., the IEEE 802.11 standard family known as Wi-Fi®, the IEEE 802.16 standard family known as WiMax®), the IEEE 802.15.4 standard family, and peer-to-peer (P2P) networks. In one example, the network interface device 820 may include one or more physical jacks (e.g., Ethernet, coaxial jacks, or telephone jacks) or one or more antennas for connecting to the communication network 826. For example, the network interface device 820 may include multiple antennas for wireless communication using at least one of the following techniques: single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO). The term “transmission medium” should be interpreted to include any intangible medium capable of storing, encoding, or carrying instructions for execution by machine 800, including digital or analog communication signals or other intangible medium for facilitating communication of such software. The transmission medium is a machine-readable medium.
[0082] Notes and examples The following non-limiting examples elaborate on specific aspects of this subject matter, in particular, to address the problems and provide the advantages described herein.
[0083] Example 1 is a method for operating a mobile cleaning robot, the method comprising: engaging the cleaning pad of the mobile cleaning robot with the floor surface of the environment; operating at least one wheel of the mobile cleaning robot to move the mobile cleaning robot forward for the first time relative to the floor surface along a cleaning row while the cleaning pad is engaged with the floor surface; after moving forward, operating at least one wheel of the mobile cleaning robot to move the mobile cleaning robot backward along a cleaning row relative to the floor surface 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 a cleaning row while the cleaning pad is engaged with the floor surface.
[0084] In Example 2, the subject of Example 1 optionally includes the following: the mobile cleaning robot moves forward by a first distance when it first moves forward; the mobile cleaning robot moves backward by a second distance when it moves backward; and the mobile cleaning robot moves forward by a third distance when it moves forward for the second time, with the third distance being greater than the first and second distances.
[0085] In Example 3, the subject of Example 2 optionally includes the fact that the second distance is smaller than the first and third distances.
[0086] In Example 4, the subject of Example 3 optionally includes the condition that it is a multiple of the diameter of the mobile cleaning robot.
[0087] In Example 5, the subject of Example 4 optionally includes the fact that it is a multiple of the diameter of the mobile cleaning robot.
[0088] In Example 6, one or more of the themes from Examples 3 to 5 optionally include spraying a liquid onto the floor surface while moving forward along a cleaning line.
[0089] In Example 7, the subject of Example 6 optionally includes interrupting the spraying of the liquid while moving forward and before moving backward.
[0090] In Example 8, one or more of themes from Examples 6 to 7 optionally include the spray distance being less than the first distance, the second distance, and the third distance.
[0091] In Example 9, one or more subjects from Examples 1 to 8 optionally include the step of using the pad drive system of the mobile cleaning robot to move a cleaning pad relative to the body of the mobile cleaning robot at least one of the following times: when the mobile cleaning robot moves forward for the first time, when it moves backward, and when it moves forward for the second time.
[0092] Example 10 is a method for operating a mobile cleaning robot, which includes the steps of engaging the cleaning pad of the mobile cleaning robot with the floor surface of the environment; moving the mobile cleaning robot forward and laterally to a first side of the centerline of the cleaning line by operating the first wheels of the mobile cleaning robot at a first speed and the second wheels of the mobile cleaning robot at a second speed lower than the first speed; and moving the mobile cleaning robot forward, laterally toward the centerline and laterally toward a second side of the centerline by operating the second wheels of the mobile cleaning robot at a first speed and the first wheels of the mobile cleaning robot at a second speed.
[0093] In Example 11, the subject of Example 10 optionally includes the steps of moving the mobile cleaning robot forward across the centerline by operating the first wheel at a first speed and the second wheel at a second speed, moving the mobile cleaning robot laterally toward the centerline, and moving laterally toward the first side of the centerline.
[0094] In Example 12, the subject of Example 11 optionally includes the fact that the mobile cleaning robot moves sinusoidally around a centerline.
[0095] In Example 13, one or more themes from Examples 10 to 12 optionally include the condition that the first velocity is in the first direction of rotation and the second velocity is zero.
[0096] In Example 14, one or more themes from Examples 10 to 13 optionally include the condition that the first velocity is in a first direction of rotation and the second velocity is in a second direction of rotation opposite to the first direction of rotation.
[0097] Example 15 is a non-temporary machine-readable medium containing instructions for operating a mobile cleaning robot, the instructions, when executed by the machine, cause the machine to act on actuators connected to a cleaning pad assembly to move the cleaning pads of the cleaning pad assembly from a retracted position at least partially above the body of the mobile cleaning robot to an deployed position at least partially below the body, engaging the cleaning pads with the floor surface of the environment; act on one or both of a pair of drive wheels of the mobile cleaning robot to move the mobile cleaning robot along a cleaning row; act on actuators to move the cleaning pads back and forth when the cleaning pads are at least partially below the body in order to scrub the floor surface as the mobile cleaning robot moves along the cleaning row.
[0098] In Example 16, the subject of Example 15 optionally includes the actuator being operated to repeatedly move the cleaning pad back and forth as the mobile cleaning robot moves along the cleaning row.
[0099] In Example 17, any one or more subjects from Examples 15 to 16 optionally include the instruction further causing the machine to engage the cleaning pad of the mobile cleaning robot with the floor surface of the environment, to actuate at least one wheel of the mobile cleaning robot to move the mobile cleaning robot forward along the cleaning row relative to the floor surface while the cleaning pad is engaged with the floor surface, after moving forward, to actuate at least one wheel of the mobile cleaning robot to move the mobile cleaning robot backward along the cleaning row relative to the floor surface while the cleaning pad is engaged with the floor surface, and after moving backward, to actuate at least one wheel of the mobile cleaning robot to move the mobile cleaning robot forward a second time along the cleaning row relative to the floor surface while the cleaning pad is engaged with the floor surface.
[0100] In Example 18, the subject of Example 17 optionally includes the following: when the mobile cleaning robot moves forward for the first time, it moves forward by a first distance; when the mobile cleaning robot moves backward, it moves backward by a second distance; and when the mobile cleaning robot moves forward for the second time, it moves forward by a third distance, where the third distance is greater than the first and second distances.
[0101] In Example 19, the subject of Example 18 optionally includes the condition that the second distance is smaller than the first and third distances.
[0102] In Example 20, the subject of Example 19 optionally includes the condition that it is a multiple of the diameter of the mobile cleaning robot.
[0103] Example 21 is a device equipped with one of the implementation means described in Examples 1 to 20.
[0104] Example 22 is an implementation system of one of Examples 1 through 20.
[0105] Example 23 is an implementation method of any of Examples 1 through 20.
[0106] In Example 24, any one or any combination of the devices, systems, or methods in Examples 1 through 25 may be optionally configured such that all enumerated elements or options are available for use or selection.
[0107] The above detailed description includes references to the accompanying drawings, which form part of the detailed description. The drawings illustrate, for illustrative purposes, specific embodiments in which the present invention can be carried out. These embodiments are also referred to herein as “examples.” Such examples may include additional elements to the illustrated or described elements. However, the inventors also consider examples in which only the illustrated or described elements are provided. Furthermore, the inventors also consider examples using any combination or rearrangement of the illustrated or described elements (or one or more embodiments thereof) with respect to a particular example (or one or more embodiments thereof) or to other examples (or one or more embodiments thereof) illustrated or described herein.
[0108] In the event of any conflicting use between this Specified and any document incorporated by reference, the use in this document shall prevail. In this Specified, the terms “including” and “in which” are used as plain English synonyms for the terms “comprising” and “wherein,” respectively. Furthermore, in the following claims, the terms “including” and “comprising” are open-ended; that is, any system, apparatus, article, composition, formulation, or process that includes additional elements to those listed after such terms in the claims is still considered to be within the scope of those claims.
[0109] The above description is illustrative and not limiting. For example, the above examples (or one or more embodiments thereof) may be used in combination with each other. Other embodiments may be used by those skilled in the art, etc., considering the above description. The abstract is provided in accordance with 37 C. FR § 1.72(b) to enable readers to quickly confirm the nature of the technical disclosure. The abstract is submitted with the understanding that it is not to be used to interpret or limit the scope or meaning of the claims. Also, in the above detailed description, various features may be grouped together in order to streamline the disclosure. This should not be interpreted as meaning that any disclosed feature not claimed is intended to be essential to any claim. Rather, the subject matter of the invention may lie in fewer features than all the features of a particular disclosed embodiment. Therefore, it is conceivable that the following claims are incorporated into the detailed description as examples or embodiments, and each claim stands independently as a separate embodiment, and such embodiments may be combined with each other in various combinations or substitutions. The scope of the invention should be determined by referring to the appended claims, together with the full scope of equivalents recognized in such claims. [Explanation of Symbols]
[0110] 40 Environment, 42 Room, 42a Room, 42b Room, 42c Room, 42d Room, 42e Room, 44 Bed, 46 Table, 48 Island, 50 Floor, 50a Floor, 50b Floor, 50c Floor, 50d Floor, 50e Floor, 52 Rug, 54 Behavior Control Zone, 60 User, 75 Trash, 100 Mobile Cleaning Robot, Housing, 102 Main Body, 104 Mopping System, 106 Arm, 106a Arm, 106b Arm, 108 Pad Assembly, Cleaning Pad Assembly, 109 Bumper, 111 Controller, 113 Extractor, Cleaning Assembly, Cleaning Head, 114 Cleaning Roller, 114a Roller, Cleaning Roller, 114b Roller, Cleaning Roller, 115 Motor, Actuator, 116 Motor, 116a Motor, actuator, 116b Motor, actuator, 117 Dispenser, 118a Drive wheel, 118b Drive wheel, 120 Caster, caster wheel, 122 Side brush assembly, 124 Vacuum assembly, 126 Memory, 128 Sensor, 130 Cleaning waste container, 132 Tank, 134 Pump, 135 Waste port, 136 Suction duct, 139 Bump sensor, 140 Image acquisition device, 142 Mopping pad, 144 Dirt sensor, 145 Filter, 200 Docking station, 300 Communication network, 304 Mobile device, 306 Cloud computing system, 400 Movement path, position, 400A Position, 400B Position, 400C Position, 400D Position, 400E Position, 500 Movement path, 600 Movement path, 600A position, 600B position, 600C position, rotation position, 600D position, rotation position, 600E position, 600F position, 600G position, 700 Movement path, 700A position, 700B position, 700C position, 700D position, 700E position, 800 Machine, 802 Hardware processor, 804 Main memory, 806 Static memory, 808 Mass storage, Storage device, 810 Display unit, 812 Alphanumeric input device, 814 User interface (UI) navigation device, 816 Sensor, 818 Signal generation device, 820 Network interface device, 822Machine-readable medium, 824 Instructions, 826 Communication network, 828 Output controller, 830 Interlink, C Centerline, D1 First distance, Initial distance, D2 Second distance, D3 Third distance, D4 Distance, P Path
Claims
1. A method for operating a mobile cleaning robot, wherein the method is: Steps include engaging the cleaning pad of the mobile cleaning robot with the floor surface of the environment, The steps include: operating at least one wheel of the mobile cleaning robot to move the mobile cleaning robot forward along the cleaning row relative to the floor surface while the cleaning pad is engaged with the floor surface; The steps include: moving forward, then operating at least one wheel of the mobile cleaning robot to move the mobile cleaning robot backward along the cleaning row relative to the floor surface while the cleaning pad is engaged with the floor surface; After moving backward, while the cleaning pad is engaged with the floor surface, the steps include: moving the mobile cleaning robot forward a second time along the cleaning row relative to the floor surface by operating at least one wheel of the mobile cleaning robot; Methods that include...
2. The method according to claim 1, wherein the mobile cleaning robot moves forward by a first distance when it moves forward for the first time, moves backward by a second distance when it moves backward, and moves forward by a third distance when it moves forward for the second time, the third distance being greater than the first and second distances.
3. The method according to claim 2, wherein the second distance is smaller than the first distance and the third distance.
4. The method according to claim 3, wherein the third distance is 1.5 times the diameter of the mobile cleaning robot.
5. The method according to claim 4, wherein the second distance is 0.77 times the diameter of the mobile cleaning robot.
6. The step of spraying liquid onto the floor surface while moving forward along the cleaning line. The method according to any one of claims 3 to 5, further comprising:
7. Steps to interrupt liquid spraying during forward movement and before backward movement. The method according to claim 6, further comprising:
8. The method according to claim 6, wherein the spray distance is smaller than the first distance, the second distance, and the third distance.
9. Steps to move the cleaning pad relative to the body of the mobile cleaning robot using the pad drive system of the mobile cleaning robot at least one of the following times: when the mobile cleaning robot moves forward for the first time, when it moves backward, and when it moves forward for the second time The method according to any one of claims 1 to 8, further comprising:
10. A method for operating a mobile cleaning robot, wherein the method is: Steps include engaging the cleaning pad of the mobile cleaning robot with the floor surface of the environment, The steps include: moving the mobile cleaning robot forward and laterally to the first side of the centerline of the cleaning line by operating the first wheels of the mobile cleaning robot at a first speed and the second wheels of the mobile cleaning robot at a second speed lower than the first speed; Steps include: moving the second wheels of the mobile cleaning robot at a first speed, moving the first wheels of the mobile cleaning robot at a second speed to move the mobile cleaning robot forward, moving the mobile cleaning robot laterally toward the center line, and moving it laterally toward the second side of the center line. Methods that include...
11. Steps to move the mobile cleaning robot forward across the centerline by operating the first wheel at a first speed and the second wheel at a second speed, move the mobile cleaning robot laterally toward the centerline, and move it laterally toward the first side of the centerline. The method according to claim 10, including the method described in claim 10.
12. The method according to claim 11, wherein the mobile cleaning robot moves sinusoidally around the center line.
13. The method according to any one of claims 10 to 12, wherein the first velocity is in a first rotational direction and the second velocity is zero.
14. The method according to any one of claims 10 to 13, wherein the first velocity is in a first rotational direction and the second velocity is in a second rotational direction opposite to the first rotational direction.
15. A non-temporary machine-readable medium containing instructions for operating a mobile cleaning robot, wherein the instructions, when executed by the machine, An actuator connected to the cleaning pad assembly is operated to move the cleaning pad of the cleaning pad assembly from a retracted position at least partially above the body of the mobile cleaning robot to an deployed position at least partially below the body. Engage the cleaning pad with the floor surface of the environment, By operating one or both of the pair of drive wheels of the mobile cleaning robot, the mobile cleaning robot is moved along the cleaning line. The actuator is operated to move the cleaning pad back and forth so that the cleaning pad is at least partially beneath the body in order to scrub the floor surface as the mobile cleaning robot moves along the cleaning row. Non-temporary machine-readable media.
16. The non-transient machine-readable medium according to claim 15, wherein the actuator is operated to repeatedly move the cleaning pad back and forth as the mobile cleaning robot moves along the cleaning row.
17. The aforementioned instruction further instructs the machine, The cleaning pad of the mobile cleaning robot engages with the floor surface of the environment, The mobile cleaning robot is moved forward along the cleaning row relative to the floor surface for a first time by operating at least one of the wheels of the mobile cleaning robot so that the cleaning pad is engaged with the floor surface. After moving forward, the mobile cleaning robot is moved backward along the cleaning row relative to the floor surface by operating at least one of its wheels, while the cleaning pad is engaged with the floor surface. After moving backward, the mobile cleaning robot is moved forward along the cleaning row relative to the floor surface for a second time by operating at least one of the wheels of the mobile cleaning robot so that the cleaning pad is engaged with the floor surface. A non-temporary machine-readable medium according to claim 15 or 16.
18. The non-temporary machine-readable medium according to claim 17, wherein the mobile cleaning robot moves forward by a first distance when the mobile cleaning robot moves forward for the first time, the mobile cleaning robot moves backward by a second distance when the mobile cleaning robot moves in a direction, and the mobile cleaning robot moves forward by a third distance when the mobile cleaning robot moves forward for the second time, the third distance being greater than the first distance and the second distance.
19. The non-temporary machine-readable medium according to claim 18, wherein the second distance is smaller than the first distance and the third distance.
20. The non-temporary machine-readable medium according to claim 19, wherein the third distance is 1.5 times the diameter of the mobile cleaning robot.