Autonomous floor cleaner and method for autonomous floor cleaning

By integrating sensors and drive systems in autonomous floor cleaners, zero-radius turn and distance sensor readings are achieved, the floor cleaners are trapped due to dense obstacles, and the cleaning efficiency and battery life are improved.

CN113100663BActive Publication Date: 2025-02-18BISSELL INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110032573.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-01-10
Filing Date
2021-01-11
Publication Date
2025-02-18
Estimated Expiration
2041-01-11

AI Technical Summary

Technical Problem

Existing autonomous floor cleaners are prone to being trapped in small areas due to dense obstacles, resulting in the inability to effectively clean new floor areas.

Method used

Zero radius turn and distance sensor readings are achieved by integrating autonomously movable housings, drive systems, controllers and sensors in the autonomous floor cleaner to determine the space that can take up and choose the appropriate direction of progress to avoid being trapped.

Benefits of technology

It effectively avoids trapped conditions, improves the cleaning efficiency and battery life of the floor cleaner, and ensures that more floor areas can be cleaned.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113100663B_ABST
    Figure CN113100663B_ABST
Patent Text Reader

Abstract

An autonomous floor cleaner includes a plurality of occupiable space sensors for location and / or proximity sensing. Data from the occupiable space sensors can be used to determine an area of ​​occupiable space near the autonomous floor cleaner. Methods for exiting trapped conditions, obstacle avoidance, and path planning are disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Citation of Related Applications

[0002] This application claims the benefit of U.S. Provisional Patent Application No. 62 / 959,259, filed on January 10, 2020, the entire contents of which are incorporated herein by reference. Technical Field

[0003] The application relates to an autonomous floor cleaner and a method for autonomous floor cleaning. Background Art

[0004] Autonomous or robotic floor cleaners can move to clean floor surfaces without the assistance of a user or operator. For example, a floor cleaner can be configured to vacuum or sweep dirt (including dust, hair, and other debris) into a collection box carried on the floor cleaner. Some floor cleaners are also configured to apply and extract liquids for wet cleaning of bare floors, carpets, mats, and other floor surfaces. The floor cleaner can move randomly around the surface while cleaning the floor surface, or use a mapping / navigation system for guided navigation around the surface.

[0005] A significant problem with current autonomous floor cleaners is that they tend to get stuck in small areas due to obstacle density, size, and orientation relative to each other. Examples of small areas where such floor cleaners are often stuck include under tables, between chair legs, or in corners of rooms where furniture, side tables, etc. are pushed up against walls. These obstruction conditions are particularly problematic for autonomous floor cleaners that travel randomly, which tend to get stuck in these small areas, frequently bounce off obstacles, waste battery life, and fail to clean new areas of the floor. Summary of the invention

[0006] In one aspect, the present disclosure is directed to an autonomous floor cleaner.

[0007] In one embodiment, an autonomous floor cleaner includes an autonomously movable housing, a drive system for autonomously moving the housing over a surface to be cleaned, a controller for controlling operation of the autonomous floor cleaner, and one or more sensors for determining an area of ​​an occupyable space.

[0008] In certain embodiments, the controller is configured to drive the autonomous floor cleaner to perform a zero-radius turn, analyze input from a plurality of occupiable space sensors to determine at least one area of ​​occupiable space around the autonomous floor cleaner, select a forward direction for the autonomous floor cleaner based on the determination of at least one area of ​​occupiable space around the autonomous floor cleaner, and operate the drive system to drive the autonomous floor cleaner forward in the forward direction.

[0009]

[0013] In another aspect, various methods for exiting a trapped situation for an autonomous floor cleaner are described herein.

[0010] In one embodiment, a method for exiting a trapped situation for an autonomous floor cleaner is provided. When in a trapped situation, the autonomous floor cleaner may perform a zero-radius turn while taking readings with a distance sensor. The autonomous floor cleaner may determine a heading for exiting the trapped situation based on the sensor readings from the zero-radius turn.

[0011] In another embodiment, a method for leaving a trapped condition includes detecting a trapped condition, driving an autonomous floor cleaner to perform a zero-radius turn, detecting an occupiable space around the autonomous floor cleaner, wherein the occupiable space includes an area large enough to drive the autonomous floor cleaner through, and driving the autonomous floor cleaner to escape from being trapped.

[0012] In yet another aspect, various methods for obstacle avoidance for an autonomous floor cleaner are described herein. In one embodiment, a method for obstacle avoidance includes performing a zero-radius turn while taking readings using a range sensor. The autonomous floor cleaner can determine a heading for obstacle avoidance based on the sensor readings from the zero-radius turn.

[0013] In yet another aspect, various methods for path planning for an autonomous floor cleaner are provided. In one embodiment, the method of planning a cleaning path includes performing a zero-radius turn while taking readings from a distance sensor. The autonomous floor cleaner can determine a heading for the cleaning path based on the sensor readings from the zero-radius turn.

[0014] These and other features and advantages of the present disclosure will become apparent from the following description of specific embodiments, when viewed in light of the accompanying drawings and appended claims.

[0015] Before describing the embodiments of the present application in detail, it should be understood that the present application is not limited to the details of operation or the details of the construction and arrangement of the components set forth in the following description or shown in the drawings. The present application can be implemented in various other embodiments and can be practiced or executed in alternative ways that are not explicitly disclosed herein. Moreover, it should be understood that the words and terms used herein are for descriptive purposes and should not be considered restrictive. The use of "include" and "comprise" and its variations means including the items listed thereafter and their equivalents and additional items and their equivalents. In addition, enumeration can be used in the description of various embodiments. Unless otherwise expressly stated, the use of enumeration should not be interpreted as limiting the present application to any particular order or number of components. Nor should the use of enumeration be interpreted as excluding from the scope of the present application any additional steps or components that may be combined with or combined into the steps or components of the enumeration. Any reference to "at least one of X, Y and Z" of the claim element is intended to include any single one of X, Y or Z and any combination of X, Y and Z, such as X, Y, Z; X, Y; X, Z; and Y, Z. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In the attached picture:

[0017] Figure 1 is a perspective view of an autonomous floor cleaner or robot according to one embodiment of the present application;

[0018] Figure 2 yes Figure 1 Bottom view of the robot;

[0019] Figure 3 yes Figure 1 Schematic diagram of the robot;

[0020] Figure 4 is an enlarged view of a portion of the robot with a sensor cover removed, illustrating one embodiment of a distance sensor for the robot;

[0021] Figure 5 is a top schematic diagram of a robot showing a plurality of distance sensors in an exemplary layout and a coverage pattern provided by the distance sensors;

[0022] Figures 6 to 9 is a schematic diagram showing a robot in a trapped condition between multiple obstacles according to an embodiment of the present application and depicting a method of leaving the trapped condition;

[0023] Fig.10 is a schematic diagram showing a robot in a room according to another embodiment of the present application and depicting a method of obstacle avoidance and / or cleaning path planning;

[0024] Fig.11 is Fig.10 A coordinate grid diagram of objects detected near the robot's position as shown;

[0025] Fig.12 is a flow chart illustrating one embodiment of a method performed by a robot for exiting a trapped situation;

[0026] Fig.13 is a flow chart illustrating another embodiment of a method performed by a robot for leaving a trapped situation;

[0027] Fig.14 is a flow chart illustrating yet another embodiment of a method performed by a robot for leaving a trapped situation;

[0028] Fig.15 is a flow chart illustrating yet another embodiment of a method performed by a robot for leaving a trapped situation;

[0029] Fig.16 is a flow chart illustrating one embodiment of a method for planning a cleaning path performed by a robot;

[0030] Fig.17 is a flow chart illustrating one embodiment of a method performed by a robot for planning a spot cleaning path; and

[0031] Fig.18 is a flow chart illustrating one embodiment of a method performed by a robot for planning a braided cleaning path. DETAILED DESCRIPTION

[0032] The present disclosure generally relates to autonomous floor cleaners and methods for autonomous floor cleaning. More specifically, in one aspect, the present disclosure relates to systems and methods for escaping a trapped situation for an autonomous floor cleaner. In another aspect, the present disclosure relates to systems and methods for obstacle avoidance for an autonomous floor cleaner. In another aspect, the present disclosure relates to systems and methods for path planning for an autonomous floor cleaner.

[0033] Figures 1 to 3 One embodiment of an autonomous floor cleaner according to one embodiment of the present application is shown. The autonomous floor cleaner 12 (also referred to herein as the robot 12) can clean a variety of floor surfaces, including bare floors (e.g., hardwood, tile, and stone) as well as soft surfaces (e.g., carpets and mats). The robot 12 includes multiple onboard sensors and can determine areas of occupiable space or open areas. As used herein, the term "occupiable space" means a space that is large enough for the robot 12 to travel through, unless otherwise noted. A space that is large enough for the robot to travel through can be an area that is larger than the robot 12 orthogonal to the forward direction of movement (e.g., Figure 1 For a D-shaped robot 12 as shown, a space large enough for the robot 12 to travel through may be a space larger than the width of the front of the robot 12. For a round robot, a space large enough for the robot to travel through may be a space larger than the diameter of the robot. It should be noted that Figures 1 to 3 The robot 12 shown is only one example of an autonomous floor cleaner that includes onboard sensors for determining the area of ​​an occupiable space and that can perform the methods described herein, and other autonomous floor cleaners may be used.

[0034] In one embodiment, the robot 12 may be a dry vacuum cleaning robot that includes at least a vacuum collection system for creating a partial vacuum to suck debris (which may include dirt, dust, soil, hair, and other debris) from a floor surface and collecting the removed debris in a space disposed on the robot for post-processing.

[0035] In another embodiment, the robot 12 can be a deep cleaning robot that includes a fluid delivery system for storing cleaning fluid and delivering the cleaning fluid to the surface to be cleaned and a fluid recovery system for removing cleaning fluid and debris from the surface to be cleaned and storing the recovered cleaning fluid and debris. The fluid delivery system can be configured to deliver liquid, steam, mist or vapor to the surface to be cleaned.

[0036] In yet another embodiment, the robot 12 may be a wet mopping or sweeping robot that includes a fluid delivery system for storing and delivering cleaning fluid to a surface to be cleaned and a mopping or sweeping system for removing cleaning fluid and debris from the surface to be cleaned without using suction. The fluid delivery system may be configured to deliver liquid, steam, mist, or vapor to the surface to be cleaned.

[0037] In yet another embodiment, the robot 12 may be a dry cleaning robot that includes a cleaning system for removing dry debris from a surface to be cleaned without using suction, and collects the removed debris in a space provided on the robot for post-processing.

[0038] Optionally, a docking station (not shown) may be provided for recharging the power supply of the robot 12, and / or an artificial barrier system (not shown) may be provided for containing the robot 12 within user-determined boundaries.

[0039] The robot 12 mounts components of various functional systems of an autonomous floor cleaner in an autonomously movable unit or housing 22, including a vacuum collection system 24 for generating a working airflow to remove dirt (including dust, hair and other debris) from the surface to be cleaned and store the dirt in a collection space on the vacuum cleaner, a drive system 26 for enabling the robot 12 to move autonomously on the surface to be cleaned, and components of a navigation / mapping system 28 for guiding the movement of the robot 12 on the surface to be cleaned, generating and storing a map of the surface to be cleaned, and recording conditions or other environmental variable information.

[0040] The controller 30 is operably coupled to the various functional systems 24, 26, 28 of the robot 12 for controlling the operation of the robot 12. The controller 30 may be a microcontroller unit (MCU) including at least one central processing unit (CPU).

[0041] As shown, the housing 22 of the robot 12 may be D-shaped, having a first end 32 and a second end 34. The first end 32 defines the front of the robot 12 and may be a straight edge portion of the D-shaped housing 22, optionally including a bumper 36. The second end 34 may define the rear of the robot 12 and may be a rounded portion of the D-shaped housing 22. Other shapes and configurations of the robot 12 are possible, including a rounded portion of the D-shaped housing 22 that may define the front of the robot 12 and a straight edge portion of the D-shaped housing 22 that may define the rear of the robot 12.

[0042] The forward movement of the robot 12 is represented by arrow 38, and the bumper 36 surrounds the first end 32 of the robot 12 to cover the front of the robot 12. During a collision with an obstacle, the bumper 36 can move or translate to record the detection of the object. The bumper 36 can also surround and cover a portion of each lateral side 40 of the robot 12, and can optionally be adapted to move bi-directionally to sense obstacles in front of and to the sides of the robot 12. The lateral sides 40 of the robot 12 extend between the first end 32 and the second end 34 of the robot 12.

[0043] The first end 32 of the robot 12 may define the widest dimension W of the robot 12 orthogonal to the direction of forward movement indicated by arrow 38. Thus, for the robot 12 shown, the occupyable space is a space that is greater than the width W of the first end 32 of the robot 12. The width W of the first end 32 may be the distance between the lateral sides 40 of the robot 12, and may alternatively be the width of the bumper 36 in embodiments where the bumper 36 surrounds and covers a portion of each lateral side 40.

[0044] The vacuum collection system 24 may include a working air path through a unit having an air inlet and an air outlet, a suction nozzle 42, a suction source 44 in fluid communication with the suction nozzle 42 for generating a working airflow, and a collection box 46 for collecting dirt from the working airflow for post-processing. The suction nozzle 42 may define an air inlet of the working air path, wherein the inlet opening of the suction nozzle 42 is disposed on the lower side 48 of the housing 22 and faces the surface to be cleaned. The suction source 44 may include a vacuum motor 50 carried by the housing 22 (which is fluidly upstream of the air outlet (not shown)), and may define a portion of the working air path. The collection box 46 may also define a portion of the working air path, and include a dirt box inlet (not shown) in fluid communication with the suction nozzle 42. Optionally, a separator (not shown) may be formed in a portion of the collection box 46 for separating fluid and entrained dirt from the working airflow. Some non-limiting examples of separators include cyclone separators, filter screens, foam filters, HEPA filters, filter bags, or combinations thereof. In one embodiment, the robot 12 includes a cyclonic separation system driven by a brushless vacuum motor 50. Optionally, a pre-motor filter and / or a post-motor filter (not shown) may also be disposed in the working air path. The working air path may also include various conduits, ducts, or tubes for fluid communication between the various components of the vacuum collection system 24. The vacuum motor 50 may be fluidly positioned downstream of the collection box 46 or fluidly positioned upstream thereof in the working air path.

[0045] The robot 12 may include a brush chamber 56 at the front of the housing 22 in which a brush roll 58 is mounted. The brush roll 58 is mounted to rotate about a substantially horizontal axis relative to the surface on which the robot 12 moves. A drive assembly including a brush motor 60 may be provided within the robot 12 to drive the brush roll 58. In other embodiments, other configurations of agitators or brush rolls may be provided, including one or more fixed or non-moving brushes, or one or more brushes that rotate about a substantially vertical axis.

[0046] In the present embodiment, the brushroll 58 is mounted at the front of the robot 12, wherein the brushroll 58 is generally parallel to the first end 32. The brushroll 58 may be at least partially surrounded by a transparent window 62 at the front of the housing 22.

[0047] The drive system 26 may include a drive wheel 64 for driving the robot 12 across the surface to be cleaned. The drive wheel 64 may be operated by a common wheel motor 66 or a separate wheel motor 66 coupled to the drive wheel 64 through a transmission, which may include a gear train assembly or another suitable transmission. The drive system 26 may receive input from the controller 30 for driving the robot 12 across the floor based on input from the navigation / mapping system 28 for the autonomous operation mode or based on input from a smart phone, tablet or other remote device for the optional manual operation mode. The drive wheel 64 can be driven in a forward or reverse direction to move the unit forward or backward. In addition, the drive wheels 64 can be operated simultaneously at the same rotational speed for linear motion, or independently at different rotational speeds to make the robot 12 turn in the desired direction. Although the drive system 26 is shown herein as including a rotating wheel 64, it should be understood that the drive system 26 may include an alternative traction device for moving the robot 12 across the surface to be cleaned.

[0048] In addition to the drive wheels 64 or other traction devices, the robot 12 may include one or more additional wheels 54 supporting the housing 22, such as casters at a central, rear portion of the underside 48 of the housing 22, and a pair of wheels adjacent to the rear edge of the opening defining the suction nozzle 42.

[0049] The controller 30 may receive input from the navigation / mapping system 28 or from a remote device such as a smart phone (not shown) for guiding the robot 12 over the surface to be cleaned. The navigation / mapping system 28 may include a memory 68 that may store any data useful for navigation, mapping, or conducting an operation cycle, including, but not limited to, maps for navigation, input from various sensors for guiding the movement of the robot 12, etc. For example, a wheel encoder 70 may be placed on the drive shaft of the drive wheel 64 and configured to measure the distance traveled by the robot 12. This distance measurement may be provided as an input to the controller 30.

[0050] In the autonomous mode of operation, the robot 12 can be configured to travel in any pattern for cleaning or disinfecting, including a tread pattern, such as a treadmill or alternating rows (i.e., the robot 12 travels from right to left and from left to right in alternating rows), a spiral trajectory, etc., while cleaning the floor surface, using input from various sensors to change direction or adjust its route as needed to avoid obstacles. In an optional manual mode of operation, the movement of the robot 12 can be controlled using a mobile device such as a smart phone or tablet.

[0051] The robot 12 may include any number of motors for performing movement and cleaning. In one example, three dedicated motors 50, 60, 66 may be provided, respectively, to generate a partial vacuum at the suction nozzle 4, to rotate the brush roller 58, and to drive the wheel 64. In another example, these movement and cleaning operations are performed by less than three or more than three motors.

[0052] The robot 12 may include any number of motor drivers for controlling the motors 50, 60, 66. In the illustrated embodiment, a vacuum motor driver 72, a brush motor driver 74, and a wheel motor driver 76 may be provided for controlling the vacuum motor 50, the brush motor 60, and the wheel motor 66, respectively. The motor drivers 72-76 may serve as an interface between the controller 30 and its corresponding motors. The motor drivers 72-76 may also be integrated circuit chips (ICs).

[0053] The motor drives 72-76 may be electrically coupled to a battery management system 78 including a rechargeable battery 80, which may include a battery pack. In one example, the battery pack may include a plurality of batteries, which may include lithium-ion batteries. Batteries with other battery chemistries are also possible, such as nickel metal hydride and nickel cadmium. Charging contacts 82 for the batteries 80 may be provided on an outer surface of the robot 12. A docking station (not shown) for recharging the batteries 80 may be provided with corresponding charging contacts. In one example, the docking station may be connected to a household power source, such as an A / C power outlet, and may include a converter for converting AC voltage into DC voltage for recharging the batteries 80 onboard the robot 12.

[0054] The controller 30 is also operably coupled to a user interface (UI) 84 on the robot 12 for receiving input from a user. The UI 84 may be used to select an operating cycle of the robot 12 or otherwise control the operation of the robot 12. The UI 84 may have a display 86, such as an LED display, for providing visual notifications to the user. A display driver 88 may be provided for controlling the display 86 and serving as an interface between the controller 30 and the display 86. The display driver 88 may be an IC. The robot 12 may be provided with a speaker (not shown) for providing auditory notifications to the user.

[0055] In one embodiment, the display 86 may include a fully on-board LED scrolling display for notifications.

[0056] The UI 84 may also have one or more switches 90 that are actuated by the user to provide input to the controller 30 to control the operation of various components of the robot 12. A switch driver 92 may be provided for controlling the switches 90 and serves as an interface between the controller 30 and the switches 90.

[0057] The robot 12 may include an onboard Wi-Fi connection configured to allow the robot 12 to access the internet through a mobile device such as a smartphone or tablet or through a network such as an Amazon Amazon's cloud-based voice service or Amazon Echo or Google Assistant or Google Home For example, a user with a smart speaker device can say a command such as "Alexa, ask the robot to start cleaning," and via a Wi-Fi and / or Internet connection, the robot 12 can start a cleaning operation cycle.

[0058] The smart device application for the robot 12 executed on the mobile or remote device may include additional command and control features, including but not limited to a scheduling feature to enable the user to select when the robot 12 will clean. Other features of the smart device application may include a display of the robot's cleaning history, a landing page with current blogs and support videos related to the robot 12, and a controller to automatically reorder accessories for the robot 12 when needed. The smart device application may also be configured to provide detailed notifications directly to the user regarding diagnostics, error warnings, and other information.

[0059] The robot 12 may be provided with one or more cameras or stereo cameras (not shown) for obtaining visual notifications from the user. In this way, the user may convey instructions to the robot 12 through gestures. For example, the user may wave their hands in front of the camera to instruct the robot 12 to stop or move away.

[0060] The controller 30 may be operably coupled to various sensors onboard the robot 12 for receiving inputs about the environment or about the robot 12, and may use the sensor inputs to control the operation of the robot 12, as described in further detail below. In one embodiment, the sensor data may be used by the controller 30 to determine the occupiable space around the robot 12. Some sensors may detect features of the robot's 12 surroundings, including, but not limited to, walls, floors, furniture, pets, stairs, platforms, etc. The sensor inputs may also be stored in the memory 68 or used to form a map by the navigation / mapping system 28. In the example of FIG. Figure 4 Some exemplary sensors are shown in and described below. Although it should be understood that not all of the sensors shown may be provided, additional sensors may be provided, and all possible sensors may be provided in any combination.

[0061] The robot 12 may include one or more distance sensors 94 for position / proximity sensing. The distance sensors 94 may be infrared sensors or time-of-flight (TOF) sensors. Each distance sensor 94 has a field of view or sensing area, which may optionally overlap with each other, to detect obstacles toward the front and sides of the robot 12. Input from the distance sensors 94 is used by the controller 30 to slow down and / or adjust the path of the robot 12 when the sensors 94 detect an object.

[0062] In one embodiment, input from the distance sensor 94 is used by the controller 30 to determine an area of ​​occupiable space around the robot 12. Data from the sensor 94 can be used to determine the precise distance to objects near the robot 12, and can be used to determine the absence of objects near the robot 12 and / or the distance between objects near the robot 12. For example, if two adjacent objects near the robot 12 are separated by a distance greater than the widest dimension W of the robot 12 orthogonal to the forward direction of movement 38, the controller 30 can identify this area as occupiable space. The robot 12 can use the determination of occupiable space to leave a trapped situation, avoid obstacles, and / or plan a cleaning path.

[0063] In the illustrated embodiment, four distance sensors 94 are provided, two near each lateral side of the housing 22. The sensors 94 include an internal right sensor 94A, an external right sensor 94B, an external left sensor 94C, and an internal left sensor 94D. Other numbers and locations of the distance sensors 94 are possible.

[0064] The sensor 94 is mounted to the housing 22, above the window 62 and behind a transparent or translucent portion of the housing 22. For example, the housing 22 may include a transparent or translucent sensor cover 96 for covering and protecting the sensor 94 while still allowing light signals to pass through. The sensor cover 96 may include a single continuous sensor cover or include separate lens inserts for each distance sensor 94.

[0065] refer to Figure 4 , a portion of the robot 12 is shown with the sensor cover 96 removed. In the embodiment shown herein, each distance sensor 94 is a TOF sensor and may have a transmitter 98 and a receiver 100. The TOF sensor 94 measures the time it takes for a light signal to travel from the transmitter 98 to the receiver 100 for determining the precise distance to objects near the robot 12. The transmitter 98 emits a pulsed light signal and may include an LED that emits the light signal. In one embodiment, the LED may be an infrared LED that emits an infrared beam.

[0066] In the illustrated embodiment, the transmitter 98 and receiver 100 have a circular shape and are mounted behind separate circular holes. Therefore, both the transmitter 98 and receiver 100 have a conical field of view or sensing area, and therefore the TOF sensor 94 also has a conical field of view or sensing area. The TOF sensor 94 can be oriented at varying angles near the front end or first end 32 of the robot 12. The varying angles can preferably all be different angles, which allow each sensor 94 to have a field of view or sensing area in the forward and side directions. This field of view allows each sensor 94 to detect obstacles towards the front and sides of the autonomous robot 12.

[0067] The TOF sensors 94 may be staggered relative to the front and sides of the robot 12 so that the robot 12 can accurately determine when an obstacle has been cleared. In the illustrated embodiment, there are two sensors 94 on the left and right sides of the robot 12, where the left and right sides are defined relative to the first end 32. The sensor 94 closer to the first end 32 is the front sensor 94, and the sensor farther from the first end 32 is the rear sensor 94.

[0068] Figure 5 One embodiment of a coverage pattern provided by the TOF sensors 94 of the robot 12 is shown. The TOF sensors 94 on the left and right sides of the robot 12 can be oriented to provide overlapping fields of view A, B, C, D. As the robot 12 travels over the floor surface, the field of view or sensing zone where objects are sensed can change. This allows the robot 12 to accurately and precisely determine the front / rear and lateral position of objects near the housing 22, and is superior to autonomous cleaners with dedicated front-facing and / or side-facing sensors.

[0069] In the illustrated embodiment, the internal right sensor 94A has a field of view A, the external right sensor 94B has a field of view B, the external left sensor 94C has a field of view C, and the internal left sensor 94D has a field of view D. The external sensors 94B, 94C, which are closer to the first end 32, are front sensors and provide the farthest coverage via their respective fields of view B, C. The internal sensors 94A, 94D, which are farther from the first end 32, are rear sensors and may provide greater lateral coverage via their respective fields of view A, D. The fields of view A, B, C, D may be configured to overlap to create multiple areas of sensor coverage.

[0070] In the illustrated embodiment, the orientation of the TOF sensor 94 provides an overall field of view that extends across the entire first end 32 of the robot 12 and becomes wider with increasing distance from the first end 32 of the robot 12. The orientation of the TOF sensor 94 includes an angle and position relative to the front and sides of the robot 12. Figure 5With the overlapping fields of view shown, the concentration of light signals emitted by the sensors 94 may be densest directly in front of the robot 12 (ie, directly in front of the first end 32).

[0071] return Figure 4 , the robot 12 may include one or more of a collision sensor 102, a wall following sensor 104, a cliff sensor 106, an inertial measurement unit (IMU) 108, a lift sensor 110, a box sensor 112, a floor condition sensor 114, or a wheel current sensor 116, including any combination or multiple thereof.

[0072] The collision sensor 102 determines a frontal or side impact to the robot 12 and may be integrated with the housing 22, such as with the bumper 36 ( Figure 2 ) integration. The output signal from the collision sensor 102 provides input to the controller 30 for selecting an obstacle avoidance algorithm. Optionally, the input from the collision sensor 102 can be used by the controller 30 to determine whether the robot 12 is in a trapped condition.

[0073] The wall following sensors 104 (also referred to as side wall sensors) may be located near the sides of the housing 22 and may include side-facing position sensors that provide distance feedback and control the robot 12 so that the robot 12 can follow near a wall without contacting the wall. The wall following sensors 104 may be optical, mechanical, or ultrasonic sensors, including reflectance or time of flight sensors. In another embodiment, no wall following sensors are provided and the TOF sensor 94 is used instead as a wall following sensor. Optionally, input from the wall following sensors 104 may be used by the controller 30 to determine if the robot 12 is in a trapped condition.

[0074] The cliff sensor 106 may be a ground-facing position sensor that provides distance feedback so that the robot 12 can avoid excessive falls along stairwells, platforms, etc. The cliff sensor 106 may be an optical, mechanical, or ultrasonic sensor, including a reflectance or time-of-flight sensor. Figure 2 As shown, four cliff sensors 106 may be disposed on the underside 48 of the housing 22 and facing generally downward. Optionally, input from the cliff sensors 106 may be used by the controller 30 to determine if the robot 12 is in a trapped condition.

[0075] The IMU 108 uses a combination of at least one accelerometer, gyroscope, and optionally a magnetometer or compass to measure and report the robot's acceleration, angular rate, or magnetic field around the robot 12. The IMU 108 can be an integrated inertial sensor located on the controller 30, and can be a nine-axis gyroscope or accelerometer to sense linear acceleration, rotational acceleration, or magnetic field acceleration. The IMU 108 can use the acceleration input data to calculate changes in velocity and attitude and transmit it to the controller 30 for navigating the robot 12 around the surface to be cleaned. Optionally, as described in further detail below, the input from the IMU 108 can be used to determine the robot's current attitude or heading when searching for an occupiable space.

[0076] The lift sensor 110 detects when the robot 12 is lifted off the surface to be cleaned, for example, if a user picks up the robot 12. This information is provided as input to the controller 30, which can stop the operation of the motors 50, 60, 66 in response to the detected lift event. The lift sensor 110 can also detect when the robot 12 is in contact with the surface to be cleaned, such as when the user puts the robot 12 back on the ground. Upon such input, the controller 30 can resume operation.

[0077] The robot 12 may optionally include a bin sensor 112 for detecting a characteristic or state of the collection bin 46. In one example, a pressure sensor may be provided for detecting the weight of the collection bin 46. In another example, a magnetic sensor may be provided for detecting the presence of the collection bin 46. In a non-limiting example, this information is provided as an input to the controller 30, which may prevent operation of the robot 12 until the collection bin 46 is emptied or properly installed. The controller 30 may also direct the display 86 to provide a notification to the user that the collection bin 46 is full or missing.

[0078] The floor condition sensor 114 detects the condition of the surface to be cleaned. For example, the robot 12 may be provided with an infrared (IR) dirt sensor, a stain sensor, an odor sensor, or a wet and dirty sensor. The floor condition sensor 114 provides input to the controller 30, which can guide the operation of the robot 12 based on the condition of the surface to be cleaned, such as by selecting or modifying a cleaning cycle. Optionally, the floor condition sensor 114 can also provide input for display on a smart phone.

[0079] The wheel current sensors 116 detect changes in the motor current of the wheel motors 66 and provide feedback to the controller 30. The wheel current feedback from the wheel current sensors 116 can be used to detect slippage of the wheels relative to the floor surface. Alternatively, an increase in motor current can also indicate that the robot 12 has encountered an obstacle and the wheels 64 are creating additional loads on the motors 66 while trying to keep the robot 12 moving on its desired path. A wheel current sensor 116 can be provided for each wheel motor 66.

[0080] Figures 6 to 9 is a schematic diagram showing a robot 12 in a trapped condition and depicting a method of exiting the trapped condition according to one embodiment. A trapped condition may be a condition where the robot 12 is trapped in a small area due to obstacle density, size, and orientation relative to each other. Examples of small areas where the robot 12 may be trapped include under a table, between chair legs, or in a corner of a room where furniture, side tables, etc. are pushed up against a wall. Using a method for exiting Figures 6 to 9 By using the method for the trapped condition depicted in FIG. 1 , the robot 12 can avoid being trapped in this trapped condition.

[0081] The controller 30 may determine that the robot 12 is trapped based on detecting a predetermined number of obstacles within a predetermined time period. For example, in one embodiment, if at least five obstacles are detected within a three second period, the controller 30 may determine that the robot 12 is trapped. Input from one or more of the distance sensors 94, collision sensors 102, wall following sensors 104, cliff sensors 106, and / or IMU 108 may be used by the controller 30 to determine if the robot 12 is in a trapped condition. Figure 6 In the example shown, the robot 12 is trapped between a plurality of circular obstacles 120 (eg, the legs of a coffee table or chair).

[0082] When trapped, the robot 12 may use one or more onboard sensors, such as the distance sensor 94, to determine an area of ​​occupiable space or an open area around the robot 12. To locate the occupiable space, the robot 12 may perform a zero radius turn as indicated by arrow 122 while taking readings using the distance sensor 94. Performing a zero radius turn may include rotating a predetermined angle, such as 360 degrees, around a center point of the robot 12 in a clockwise or counterclockwise direction, with the center point aligned with a rotation axis having a stationary or fixed position during the rotation of the robot 12.

[0083] In one embodiment, the robot 12 may use multiple TOF sensors 94 to provide time-synchronized or nearly time-synchronized (e.g., within 30 milliseconds of each other) readings to determine the area of ​​the occupiable space. For example, obtaining readings from two or more sensors 94 simultaneously provides a more accurate determination of the size and / or shape of the occupiable space near the robot 12 compared to a single reading from only one sensor.

[0084] In some embodiments, in addition to the TOF sensor 94, the robot 12 may use the wheel encoders 70 of the drive wheels 64 and the IMU 108 to determine the area of ​​the occupiable space as a vector relative to the current posture of the robot. Wheel odometry based on data from the wheel encoders 70 and IMU heading data provided by the IMU 108 can be used to control zero radius turns. As the robot 12 rotates to search for an occupiable space, the controller 30 associates the sensor readings with the current heading of the robot determined based on data from the IMU 108. The controller 30 also uses the readings from the wheel encoders 70 as an input that the position of the robot is static (i.e., the robot rotates around a center point). For example, during a zero radius turn, the readings from the wheel encoders 70 show that the motions traveled by each wheel 64 are equal in magnitude and opposite in direction. Wheel current feedback from the wheel current sensors 116 and acceleration data from the IMU 108 can also be used to control zero radius turns because such data can be used to detect wheel slip. Thus, the surveying and IMU data may be used to determine where the robot 12 is currently pointing, and then the readings from the TOF sensor 94 may be used to determine how much open area is accessible from where the robot 12 is currently pointing.

[0085] As the robot 12 performs a zero radius turn, the robot 12 may keep track of where the open area is located near the robot's position. Figure 7 As shown, in this position, an obstacle 120 is detected in each of regions A and D, resulting in distance readings 124, 126 reported by the corresponding sensors 94A, 94D. No obstacles are detected in regions B and C. The controller 30 can keep track of the location of the open area relative to the current position or heading of the robot. Therefore, the sensor readings show an open area 128 for regions B and C between the two obstacles 120 at the current position or heading of the robot.

[0086] refer to Figures 8 to 9 , as the robot 12 continues to rotate, obstacles may be detected in different areas. Figure 8The locations where obstacles 120 are detected in each of regions B, C, and D are shown, resulting in distance readings reported by the corresponding sensors 94B, 94C, 94D. No obstacles are detected in region A. Therefore, the sensor readings show an open area 130 of region A between two obstacles 120 at the robot's current location or heading. Fig. 9 The location where an obstacle 120 is detected in region A is shown, so that the distance reading is reported by the corresponding sensor 94A. No obstacles are detected in regions B, C, or D. Therefore, the sensor readings show an open area 132 in region B, C, or D at the robot's current location or heading direction. The open area 132 is wide enough for the robot 12 to travel through, and therefore can be identified as an occupiable space. By traveling forward in this heading direction, the robot 12 can leave the trapped situation.

[0087] The robot 12 may use one of a variety of methods to determine the direction of travel to leave the trapped situation. Fig. 9 , after identifying an open area (i.e., an occupiable space) that is wide enough for the robot 12 to travel through, the robot 12 can continue to make zero-radius turns to find all occupiable spaces near the robot 12 before determining which heading direction to exit, or the robot 12 can exit early and exit in this heading direction without completing a zero-radius turn.

[0088] In embodiments where the robot 12 completes a zero radius turn to find all occupiable spaces near the robot 12, the robot 12 may determine the best heading to exit by selecting the widest open area. For example, the controller 30 may track the global best heading at which a new opening is first detected, and if that opening is the widest opening that has been detected during the turn so far, the heading at which the new widest opening was detected is saved as the global best heading. As the robot continues to turn, any openings of equal or smaller width are ignored. This may result in the robot 12 setting off on a heading that may be very close to an obstacle, and not necessarily centered between two obstacles, but wide enough to successfully maneuver through.

[0089] In another embodiment, the robot 12 may construct an outline of an open area and select a heading that centers the robot 12 between obstacle areas. This may increase the chances of successfully exiting a trapped situation because more space may exist between the robot 12 and the obstacle during exit.

[0090] In another embodiment, if the robot 12 finds an acceptably large opening during a zero-radius turn, the robot 12 may leave early. If the threshold is not met, the robot 12 may complete the zero-radius turn and leave in the next best forward direction.

[0091] Regardless of the choice of the forward direction, once the forward direction is determined, the controller 30 repositions the robot 12 for travel in the forward direction, ie, through the occupiable space, thereby exiting the trapped condition.

[0092] Additionally or alternatively, the robot may use similar methods to avoid obstacles and / or plan a cleaning path. Fig.10 1 is a schematic diagram showing a robot 12 in a room 140 including at least one wall 142 and at least one obstacle 144. In order to avoid the wall 142 or the obstacle 144, or to plan a cleaning path in the room 140, according to one method, the robot 12 may use the distance sensor 94 ( Figure 1 ) while taking readings while performing a zero radius turn as indicated by arrow 146. Performing a zero radius turn may include rotating a predetermined angle, such as 360 degrees, in a clockwise or counterclockwise direction around a center point, which may be located along a central axis 148 of the robot 12.

[0093] In one embodiment, the robot 12 is configured and operable to create a grid map of the work area around the robot's current location (e.g., room 140). For example, Fig.11 Shows Fig.10 An exemplary grid diagram of the current position of the robot in the room 140 is shown. The position of each object near the robot 12 is identified based on the xy coordinates of the robot 12 referenced to the origin (0,0). For example, the wall 142 is represented by a straight line drawn at the coordinate points in front of the robot 12, and the obstacle 144 is represented by a curved line drawn at the coordinate points behind the robot 12. Open areas can also be identified based on the absence of coordinate points near the origin.

[0094] The robot 12 may determine a heading or cleaning path for avoiding obstacles based on the grid map. For example, the grid map may be used to find one or more open areas, i.e., occupied spaces, that are wide enough for the robot 12 to navigate through. The robot 12 may determine the best heading by selecting the widest open area or by selecting an open area that meets a predetermined critical point or by selecting a heading that centers the robot between objects.

[0095] Fig.12 is a flow chart illustrating one embodiment of a method 200 for exiting a trapped situation performed by the robot 12. The order of the steps discussed is for illustrative purposes only and is not meant to limit the method in any way, as it should be understood that the steps may be performed in a different logical order, may include additional or intervening steps, or the described steps may be separated into multiple steps without departing from the present application.

[0096] At step 202, the robot 12 is cleaning. During cleaning, the vacuum motor 50 and / or the brush motor 60 may be activated.

[0097] At step 204, the robot 12 checks if it is trapped. A trapped condition may be a condition where the robot 12 is trapped in a small area due to obstacle density, size, and orientation relative to each other. Examples of small areas where the robot 12 may be trapped include under a table, between chair legs, or in a corner of a room where furniture, side tables, etc. are pushed up against a wall.

[0098] In one embodiment, the robot 12 may determine that it is trapped based on detecting a predetermined number of obstacles within a predetermined time period (e.g., detecting at least five obstacles within a three second time period). Input from one or more of the distance sensor 94, the collision sensor 102, the wall following sensor 104, the cliff sensor 106, and / or the IMU 108 may be used by the controller 30 to determine that the robot 12 is in a trapped condition. Optionally, while the robot 12 performs cleaning operations, the controller 30 continuously or intermittently monitors data from the sensors to determine whether the sensor data indicates that the robot 12 is in a trapped condition.

[0099] If so, the controller 30 records that the robot 12 is in a trapped condition, the robot 12 may stop cleaning at step 206, and the robot 12 may begin searching for an occupiable space. Stopping cleaning may include turning off the vacuum motor 50 and / or the brush motor 60. Alternatively, rather than stopping cleaning when in a trapped condition, the robot 12 may continue cleaning while searching for an occupiable space.

[0100] To locate the occupiable space, in one embodiment, the robot 12 may perform a zero radius turn at step 208. A zero radius turn may be performed by operating one drive wheel 64 in a forward direction ( Figure 2 ) and operating the other drive wheel 64 in the opposite direction. The robot 12 can turn clockwise or counterclockwise. Performing a zero radius turn may include rotating a predetermined angle, such as 360 degrees.

[0101] During the zero radius turn, the robot 12 may search for an occupiable space at step 210. While turning, data from the distance sensor 94 may be used to track where the opening is located around the robot 12, as previously described. Optionally, the robot 12 may be constructed similar to Fig.11 Grid diagram of the example shown.

[0102] At step 212, the robot 12 completes a zero radius turn. A complete zero radius turn may include a 360 degree turn of the robot 12. Alternatively, the robot 12 may rotate less than 360 degrees and complete a zero radius turn at step 212.

[0103] Once the robot 12 completes the zero radius turn, the robot 12 may determine at step 214 whether there is an occupiable space near the robot 12. In some cases, no occupiable space may be found. If so, the method 200 proceeds to step 216, and the robot 12 issues an error notification notifying the user that the robot 12 is trapped. The error notification may be a visual notification on the display 86 or elsewhere on the robot 12, or an audible notification issued from the robot 12. Additionally or alternatively, the error notification may be provided to the robot 12 by a smart device application.

[0104] If there is an occupiable space near the robot 12, the method 200 proceeds to step 218, where the controller 30 determines the best direction of travel to exit the trapped condition. The best direction of travel to exit the trapped condition may be a direction of travel that the robot 12 can travel through the occupiable space. In one embodiment, the best direction of travel may be a position that the robot 12 rotates to, where the robot 12 can travel forward a predetermined distance without hitting an obstacle. The predetermined distance may depend on the range of the distance sensor 94, because obstacles outside the range of the sensor 94 are not considered when detecting an occupiable space.

[0105] After determining the best forward direction to leave the trapped situation at step 218, the robot 12 may turn to the best forward direction at step 220. At step 220, the robot 12 may perform a zero radius turn in situ. The robot 12 may turn to the best forward direction in either a clockwise or counterclockwise direction, and may determine the direction based on the shortest turn to the best forward direction, which saves battery life and saves time. Once in the best forward direction, the robot 12 stops turning.

[0106] Next, at step 222, the robot 12 may exit in the best forward direction. The robot 12 may travel forward in the best forward direction to exit the trapped situation, such as by operating both drive wheels 64 in a forward direction. After exiting in the best forward direction, i.e., once the robot 12 is no longer trapped, the method 200 may return to step 202 and the robot 12 may resume cleaning.

[0107] Fig.13is a flow chart illustrating another embodiment of a method 300 for exiting a trapped situation performed by the robot 12. The order of the steps discussed is for illustrative purposes only and is not meant to limit the method in any way, as it should be understood that the steps may be performed in a different logical order, may include additional or intervening steps, or the steps described may be separated into multiple steps without departing from the present application.

[0108] First, the method 300 can be performed as previously described for the first method 200, wherein steps 302-310 are similar or identical to steps 202-210 of the first method 200. While performing the zero-radius turn and searching for the occupiable space, data from the distance sensor 94 can be used to track where the opening is located around the robot 12, as previously described. When the opening is located at step 312, the controller 30 can approach the opening by assigning a score to it. The score can be based on the width of the opening, wherein wider openings are assigned higher scores. At step 314, it is determined whether the opening located at step 312 has been assigned a high score, that is, the highest score assigned to the opening during the zero-radius turn so far. For example, the score of the opening can be compared with all other scores from the zero-radius turn. If it has the highest score (e.g., if it is the widest opening that has been detected during the turn so far), then at step 316, the heading direction in which the new opening is detected is saved as the global best heading direction.

[0109] After saving the global best heading at step 316, or if the opening high score is not met or if no opening is located at step 312, the robot 12 will check whether the turn is complete at step 318, and if not, will continue turning at step 320 while continuing to search for an occupiable space.

[0110] Once the robot 12 completes the zero radius turn, the method 300 proceeds to step 322 and the robot 12 may determine whether there is an occupiable space near the robot 12. In one embodiment, the robot 12 may determine whether the opening high score is a value indicating that the corresponding opening is large enough for the robot 12 to travel through.

[0111] In some cases, no occupiable space may be found. If so, the method 300 proceeds to step 324 and the robot 12 issues an error notification notifying the user that the robot 12 is trapped. The error notification may be a visual notification on the display 86 or elsewhere on the robot 12, or an audible notification issued from the robot 12. Additionally or alternatively, the error notification may be provided to the robot 12 by a smart device application.

[0112] If there is an occupiable space near the robot 12, then at step 326, the robot 12 may turn to the saved global best heading. At step 326, the robot 12 may perform a zero radius turn in place. The robot 12 may turn to the global best heading in either a clockwise or counterclockwise direction, and may determine the direction based on the shortest turn to the global best heading, which saves battery life and saves time. Once at the global best heading, the robot 12 stops turning.

[0113] Next, the robot 12 may exit in the global best forward direction at step 328. The robot 12 may drive forward in the global best forward direction to exit the trapped condition, such as by operating both drive wheels 64 in a forward direction. After exiting in the global best forward direction, i.e., once the robot 12 is no longer trapped, the method 300 may return to step 302 and the robot 12 may resume cleaning.

[0114] Fig.14 is a flow chart illustrating yet another embodiment of a method 400 for exiting a trapped situation performed by the robot 12. The order of the steps discussed is for illustrative purposes only and is not meant to limit the method in any way, as it should be understood that the steps may be performed in a different logical order, may include additional or intervening steps, or the steps described may be divided into multiple steps without departing from the present application.

[0115] First, the method 400 can be performed as previously described for the first method 200, wherein steps 402-410 are similar or identical to steps 202-210 of the first method 200. While performing the zero-radius turn and searching for an occupiable space, the controller 30 can determine in step 412 whether a critical departure point is met. The critical departure point can be an estimated or assumed heading that allows the robot 12 to escape from the trapped condition with a high degree of reliability. In one embodiment, in order to meet the critical departure point, the robot 12 must have detected an opening that meets or exceeds the critical departure size and has rotated at least a minimum departure angle (e.g., at least 45 degrees). In one embodiment, the critical departure size can be 950 mm.

[0116] If the departure threshold is met during the zero radius turn, the robot 12 may depart in its current forward direction at step 414. When the departure threshold is met, the robot 12 may stop turning in place, leaving the robot 12 in the current forward direction, which is estimated / assumed to get the robot 12 out of the trapped condition. The robot 12 may drive forward in the current forward direction to depart from the trapped condition, such as by operating both drive wheels 64 in a forward direction. After departing in the current forward direction, i.e., once the robot 12 is no longer trapped, the method 400 may return to step 402 and the robot 12 may resume cleaning.

[0117] If the exit threshold is not met, the robot 12 will check whether the turn is complete at step 416, and if not, will continue turning at step 418 while continuing to search for an occupiable space. If the robot 12 completes a zero radius turn without detecting any openings that meet the exit threshold, the method 400 proceeds to step 420, and the robot 12 can determine whether there is an occupiable space near the robot 12. In some cases, no occupiable space may be found. If so, the method 400 proceeds to step 422, and the robot 12 issues an error notification notifying the user that the robot 12 is trapped. The error notification can be a visual notification on the display 86 or elsewhere on the robot 12, or an auditory notification issued from the robot 12. Additionally or alternatively, the error notification can be provided to the robot 12 by the smart device application.

[0118] If there is an occupiable space near the robot 12, the method proceeds through steps 424-428, which may be similar or identical to steps 218-222 of the first method 200, and wherein the robot 12 determines the best forward direction, turns to the best forward direction, and exits the trapped condition in the best forward direction. After exiting in the best forward direction, i.e., once the robot 12 is no longer trapped, the method 400 may return to step 402 and the robot 12 may resume cleaning.

[0119] Fig.15 is a flow chart illustrating yet another embodiment of a method 500 for exiting a trapped situation performed by the robot 12. The order of the steps discussed is for illustrative purposes only and is not meant to limit the method in any way, as it should be understood that the steps may be performed in a different logical order, may include additional or intervening steps, or the described steps may be divided into multiple steps without departing from the present application.

[0120] Initially, the method 500 may proceed as previously described for the first method 200, wherein steps 502-516 are similar or identical to steps 202-216 of the first method 200. If, after performing a zero-radius turn and searching for an occupiable space, there is an occupiable space near the robot 12, the method proceeds to step 518 and the controller 30 constructs an outline of the open area around the robot 12. The outline may be based on sensor readings from the zero-radius turn. Alternatively, the outline may be similar to Fig.11 Grid diagram of the example shown.

[0121] After constructing the profile at step 518, the robot 12 may select the maximum open area indicated by the profile, determine the heading in which the robot will be centered within the maximum open area, and turn to the heading at step 520. This heading may give the robot 12 the best chance of successfully leaving the trapped situation. At step 520, the robot 12 may perform a zero radius turn in situ. The robot 12 may turn to the center position heading in either a clockwise or counterclockwise direction, and may determine the direction based on the shortest turn to the center position heading, which saves battery life and saves time. Once in the center position heading, the robot 12 stops turning.

[0122] Next, at step 522, the robot 12 may exit the center position. The robot 12 may travel forward in the center position forward direction to exit the trapped condition, such as by operating both drive wheels 64 in a forward direction. After exiting in the center position forward direction, i.e., once the robot 12 is no longer trapped, the method 500 may return to step 502 and the robot 12 may resume cleaning.

[0123] Fig.16 is a flow chart illustrating one embodiment of a method 600 for cleaning path planning performed by the robot 12. The order of the steps discussed is for illustrative purposes only and is not meant to limit the method in any way, as it should be understood that the steps may be performed in a different logical order, may include additional or intervening steps, or the steps described may be divided into multiple steps without departing from the present application.

[0124] At step 602, the robot 12 enters a planning mode. The robot 12 may enter a planning mode when the user commands the robot 12 to perform a cleaning operation cycle (e.g., by pressing a "clean" or "start" button on the robot 12 or on a mobile device). The robot 12 may use the method 600 to plan a cleaning path before actually starting a cleaning operation. Additionally or alternatively, the robot 12 may enter a planning mode in the middle of a cleaning cycle.

[0125] The method 600 may proceed through steps 604-612 as described above for the method 500, wherein steps 604-612 are similar or identical to steps 508-516 of the method 500. If there is an occupiable space near the robot 12 after performing a zero radius turn and searching for an occupiable space, the method proceeds to step 614 and the controller 30 constructs an outline of the open area around the robot 12. The outline may be based on sensor readings from the zero radius turn. Alternatively, the outline may be similar to Fig.11 Grid diagram of the example shown.

[0126] After establishing the profile at step 614, the robot 12 may plan a cleaning path based on the profile at step 616. The planned cleaning path may be a path that gives the robot 12 the best chance of successfully cleaning most of the floor area while conserving battery life and / or other onboard resources (such as cleaning solution). The cleaning path may include one or more rotation instructions, such as a direction (e.g., left or right) and a degree of rotation to rotate the robot 12. The cleaning path may additionally or alternatively include one or more translation instructions, such as how far to drive the robot 12 in reverse or how far to drive the robot 12 forward.

[0127] Next, at step 618, the robot 12 may follow the planned cleaning path. The robot 12 may operate the drive wheels 64 as needed to execute the rotation and / or translation instructions planned at step 616. While following the cleaning path, the robot 12 may clean the floor surface on which it moves. Accordingly, the vacuum motor 50 and / or the brush motor 60 may be activated as needed.

[0128] Fig.17 is a flow chart illustrating one embodiment of a method 700 for spot cleaning performed by the robot 12. The order of the steps discussed is for illustrative purposes only and is not meant to limit the method in any way, as it should be understood that the steps may be performed in a different logical order, may include additional or intervening steps, or the steps described may be separated into multiple steps without departing from the present application.

[0129] The method 700 may proceed through steps 702-718 as previously described for the cleaning path planning method 600, wherein steps 702-718 are similar or identical to steps 602-618 of the previous method 600. For example, at step 702, when the user has commanded the robot 12 to perform a spot cleaning operation cycle (e.g., pressing a "spot cleaning" or "start" button on the robot 12 or on a mobile device), the robot 12 may enter the planning mode. Additionally or alternatively, the robot 12 may autonomously enter the spot cleaning mode based on sensor data (e.g., input from the floor condition sensor 114).

[0130] When the robot is in spot cleaning mode, the robot 12 focuses on a small area near the robot 12. This is different from random cleaning, in which the area to be cleaned is implicitly unbounded and unknown. In order to stay in a small area, autonomous floor cleaners have traditionally performed some semblance of path following. However, if an obstacle appears in the path, the robot is required to make complex decisions in an attempt to maintain the path or otherwise stay in the small area. The method 700 that begins with searching for occupiable space allows the robot 12 to establish the outline of the opening in the small area and plan in advance for areas that may be difficult or impossible to clean in the small area.

[0131] After establishing the profile at step 714, the robot 12 may plan a spot cleaning path based on the profile at step 716. The planned spot cleaning path may be a path that gives the robot 12 the best chance of successfully cleaning most floor areas while conserving battery life and / or other onboard resources (such as cleaning solution).

[0132] Next, the robot 12 may follow the planned spot cleaning path at step 718. While following the spot cleaning path, the robot 12 may spot clean the floor surface on which it moves. For spot cleaning, components of the fluid delivery system and / or fluid recovery system may be activated as needed.

[0133] Fig.18 is a flow chart illustrating one embodiment of a method 800 for braid cleaning performed by the robot 12, the order of the steps discussed being for illustrative purposes only and not meant to limit the method in any way, as it should be understood that the steps may be performed in a different logical order, may include additional or intervening steps, or the steps described may be divided into multiple steps without departing from the present application.

[0134] The method 800 may proceed through steps 802-812 as previously described for the cleaning path planning method 600, wherein steps 702-812 are similar or identical to steps 602-612 of the previous method 600. For example, at step 802, the robot 12 may enter a planning mode before the robot 12 performs a braided cleaning behavior.

[0135] When the robot performs braided cleaning, the robot 12 may travel in a braided pattern, for example, a plowing turn or alternating rows (i.e., the robot 12 travels from right to left and from left to right on alternating rows). The method 800 may be used to select a direction of travel for starting a braided cleaning path. The method 800 applied starting with searching for an occupiable space allows the robot 12 to establish an outline of an opening and plan the best location to start the braided pattern. For example, a corner or a wall may be the best location to start the braided pattern. If there is a corner or a wall near the robot 12, the corner or wall may be identified when searching for an occupiable space.

[0136] As long as there is an occupiable space near the robot 12, the controller 30 determines the best heading for pigtail cleaning at step 814. The best heading for pigtail cleaning may be a heading that the robot 12 can drive to reach a starting position for pigtail cleaning, from which the robot 12 can then travel in a pigtail pattern. In one embodiment, the best heading may be a position that the robot 12 rotates to where it can drive forward to a wall or corner without hitting an obstacle.

[0137] After determining the optimal heading direction for braid cleaning at step 814, the robot 12 can turn to the optimal heading direction and drive to the optimal heading direction at step 816. The robot 12 can perform a zero radius turn in place at step 816. The robot 12 can turn to the optimal heading direction in a clockwise or counterclockwise direction, and can determine the direction based on the shortest turn to the optimal heading direction, which saves battery life and saves time. Next, the robot 12 can drive forward in the optimal heading direction to reach a starting position for braid cleaning, such as by operating both drive wheels 64 in a forward direction. After reaching the starting position, the robot 12 can start braid cleaning at step 818.

[0138] Various aspects or features of the devices, systems, and methods described herein result in several advantages of the present disclosure. For example, the above aspects provide embodiments of methods for exiting a trapped situation performed by an autonomous or robotic vacuum cleaner. Using the methods disclosed herein, the robot 12 can avoid getting stuck, intelligently navigate around obstacles, and efficiently operate to clean a desired floor area while conserving battery life.

[0139] Another advantage of aspects of the present disclosure relates to obstacle avoidance. The above aspects provide embodiments of methods for avoiding obstacles performed by an autonomous or robotic vacuum cleaner. Using the methods disclosed herein, the robot 12 can avoid getting stuck, navigate around obstacles intelligently, and effectively save battery life.

[0140] Yet another advantage of the present disclosure relates to path planning. The above aspects provide embodiments of methods for planning a cleaning path performed by an autonomous or robotic vacuum cleaner. Using the methods disclosed herein, the robot 12 can avoid getting stuck, intelligently navigate through the planned cleaning path to effectively clean floor areas, while saving battery life and onboard resources (such as cleaning solution).

[0141] In the scope not yet described, the different features and structures of the various embodiments of the present application can be used in combination with each other as needed, or can be used alone. An autonomous floor cleaner or floor cleaning robot is shown here as having all these features does not mean that all these features must be used in combination, but is done here for the simplicity of description. It should be noted that although methods 200, 300, 400, 500, 600, 700, 800 are described with respect to the embodiment of the robot 12 shown herein, methods 200, 300, 400, 500, 600, 700, 800 are also applicable to other robots. In addition, although a variety of methods are disclosed herein, one of the disclosed methods can be performed independently, or more than one method (including any combination of the methods disclosed herein) in the disclosed methods can be performed by a robot. Therefore, the various features of different embodiments can be mixed and matched in various cleaning equipment configurations as needed to form new embodiments, regardless of whether the new embodiments are explicitly described.

[0142] The above description relates to general and specific embodiments of the present disclosure. However, various changes and variations may be made without departing from the spirit and broader aspects of the present disclosure as defined in the appended claims, which are to be interpreted in accordance with the principles of patent law including the doctrine of equivalents. Therefore, the present disclosure is presented for illustrative purposes and should not be interpreted as an exhaustive description of all embodiments of the present disclosure or limiting the scope of the claims to the specific elements shown or described in conjunction with these embodiments. Any reference to a singular element, such as the use of the article "one", "the", "the" or "said" should not be interpreted as limiting the element to the singular.

[0143] Likewise, it should also be understood that the appended claims are not limited to the expressions and specific components or methods described in the detailed description, which may vary between specific embodiments falling within the scope of the appended claims. With respect to any Markush group relied upon herein to describe specific features or aspects of various embodiments, different, special and / or unexpected results may be obtained from each member of the corresponding Markush group independent of all other Markush members. Each member of the Markush group may be relied upon individually and / or in combination and provides adequate support for specific embodiments within the scope of the appended claims.

Claims

1. An autonomous floor cleaner comprising: A housing that can move autonomously, a drive system for autonomously moving the housing over the surface to be cleaned, a controller for controlling the operation of the autonomous floor cleaner, and a plurality of occupiable space sensors having overlapping sensing regions and configured to detect open areas around the autonomous floor cleaner and provide this information as input to the controller; Wherein, the controller is configured as: driving the autonomous floor cleaner to perform a zero-radius turn; searching for open space around the autonomous floor cleaner by analyzing inputs from the plurality of occupiable space sensors to identify the presence of an open area that satisfies a predetermined departure threshold and the presence of at least one area of ​​occupiable space around the autonomous floor cleaner, wherein the at least one area of ​​occupiable space includes an open area large enough to drive the autonomous floor cleaner through; When searching for an open area, in response to identifying an open area that satisfies a predetermined departure threshold: Before completing the 360-degree zero-radius turn, stopping driving the autonomous floor cleaner to perform the zero-radius turn; operating the drive system to drive the autonomous floor cleaner forward in a current direction of travel of the autonomous floor cleaner; In response to completing a zero-radius turn of at least 360 degrees while searching for an open area without identifying an open area that satisfies the predetermined departure threshold: selecting an optimal heading for the autonomous floor cleaner during the zero-radius turn based on the identification of the at least one area of ​​the occupiable space surrounding the autonomous floor cleaner; and The drive system is operated to drive the autonomous floor cleaner forward in the optimal direction of advancement.

2. The autonomous floor cleaner of claim 1, wherein: The plurality of occupiable space sensors include distance sensors configured to detect objects in front of and to the sides of the housing.

3. The autonomous floor cleaner of claim 2, wherein: The distance sensor is one of an infrared sensor and a time-of-flight sensor.

4. The autonomous floor cleaner of claim 1, wherein: The shell is D-shaped and includes a straight front end and a rounded rear end, wherein the front end defines the widest dimension of the autonomous floor cleaner orthogonal to the forward movement direction of the autonomous floor cleaner, and wherein the area of ​​occupiable space is a space larger than the widest dimension of the autonomous floor cleaner.

5. The autonomous floor cleaner of claim 4, wherein: The plurality of occupiable space sensors are disposed adjacent the front end of the housing and are oriented at varying angles to provide an overall field of view extending across the entire front end of the housing and widening outwardly in a direction away from the front end of the housing.

6. The autonomous floor cleaner of claim 1, wherein: The controller is configured to detect that the autonomous floor cleaner is in a trapped condition and to initiate the zero-radius turn upon detecting that the autonomous floor cleaner is in a trapped condition.

7. An autonomous floor cleaner according to any one of claims 1 to 6, wherein: The controller is configured to at least one of: selecting said optimal heading by selecting the widest open area of ​​occupiable space determined during said zero radius turn; as well as The optimal heading is selected by selecting a heading that centers the autonomous floor cleaner between two blocked areas determined during the zero radius turn.

8. The autonomous floor cleaner of claim 1, wherein: The predetermined exit critical point includes detecting an open area of ​​at least one predetermined critical size.

9. The autonomous floor cleaner of claim 8, wherein: The predetermined exit threshold includes the autonomous floor cleaner having rotated at least a predetermined minimum angle during the zero radius turn.

10. An autonomous floor cleaner according to any one of claims 1 to 6, comprising: a vacuum collection system including a working air path through the housing having an air inlet and an air outlet, a suction nozzle defining the air inlet, a suction source including a vacuum motor in fluid communication with the suction nozzle, and a collection box; A rotatable brush roller driven by a brush motor; Wherein, the controller is configured to turn off at least one of the vacuum motor and the brush motor before the zero-radius turn, and turn on the at least one of the vacuum motor and the brush motor after selecting the optimal forward direction.

11. An autonomous floor cleaner according to any one of claims 1 to 6, wherein: The drive system includes a plurality of drive wheels, at least one wheel motor, and a wheel encoder configured to measure a distance traveled by the autonomous floor cleaner and provide the distance measurement as an input to the controller; and The controller is configured to: Input from the wheel encoders is analyzed to determine the at least one region of occupiable space around the autonomous floor cleaner as a vector relative to a pose of the autonomous floor cleaner.

12. A method for leaving a trapped situation during autonomous floor cleaning performed by an autonomous floor cleaner, the autonomous floor cleaner comprising an autonomously movable housing, a drive system for autonomously moving the housing over a surface to be cleaned, and a controller for controlling the operation of the autonomous floor cleaner, the method comprising: detecting that the autonomous floor cleaner is in a trapped condition; driving the autonomous floor cleaner to perform a zero-radius turn; receiving, with the controller, input from a plurality of occupiable space sensors having overlapping sensing regions and configured to detect an open area surrounding the autonomous floor cleaner; searching for open space around the autonomous floor cleaner by analyzing, with the controller, inputs from the plurality of occupiable space sensors to identify the presence of an open area that satisfies a predetermined departure threshold and the presence of at least one area of ​​occupiable space around the autonomous floor cleaner, wherein the at least one area of ​​occupiable space includes an open area large enough to drive the autonomous floor cleaner through; When searching for an open area, in response to identifying an open area that satisfies a predetermined departure threshold: Before completing the 360-degree zero-radius turn, stopping the zero-radius turn; selecting a current posture of the autonomous floor cleaner as a current forward direction; operating the drive system to drive the autonomous floor cleaner forward in the current forward direction; In response to completing a zero-radius turn of at least 360 degrees while searching for an open area without identifying an open area that satisfies the predetermined departure threshold: selecting an optimal heading for exiting the trapped condition based on the identification of the at least one area of ​​the occupiable space around the autonomous floor cleaner during the zero-radius turn; and The drive system is operated to drive the autonomous floor cleaner forward in the optimal direction of advancement.

13. The method according to claim 12, wherein: Driving the autonomous floor cleaner to perform the zero radius turn includes rotating the autonomously movable housing at least 360 degrees about a center point of the autonomously movable housing, the center point being aligned with a rotation axis having a fixed position during rotation of the autonomously movable housing.

14. The method according to claim 12, wherein: Selecting the best heading for the autonomous floor cleaner comprises at least one of: selecting the widest open area of ​​occupiable space determined during said zero-radius turn; as well as A heading is selected that centers the autonomous floor cleaner between two obstruction areas determined during the zero-radius turn.

15. The method according to claim 12, wherein: The predetermined exit critical point includes detecting an open area of ​​at least one predetermined critical size.

16. The method according to claim 15, wherein: The predetermined departure threshold includes rotating the autonomous floor cleaner by at least a predetermined minimum angle during the zero radius turn.

17. A method according to any one of claims 12 to 16, comprising: stopping cleaning and shutting down at least one of the vacuum motor and the brush motor before the zero radius turn; as well as Cleaning is resumed and the at least one of the vacuum motor and the brush motor is turned on after selecting the optimal direction of travel.

18. The method according to any one of claims 12 to 16, comprising: The controller is used to analyze input from a wheel encoder configured to measure a distance traveled by the autonomous floor cleaner to determine the at least one area of ​​occupiable space around the autonomous floor cleaner as a vector relative to a pose of the autonomous floor cleaner.

19. The method according to any one of claims 12 to 16, wherein: Operating the drive system to drive the autonomous floor cleaner forward in the optimal direction of advancement includes: determining the shortest turn to the optimal heading; Turning the autonomous floor cleaner in the shortest turning direction to the optimal heading direction; and The autonomous floor cleaner is driven forward in the optimal direction of advancement.

Citation Information

Patent Citations

  • Autonomic formula vacuum cleaner

    CN208524752U

  • Autonomous floor cleaner

    CN214484411U

  • Mobile robot and method of controlling the same

    US20170332862A1