Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CLEANING METHOD OF A ROBOTIC CLEANING DEVICE
Document Type and Number:
WIPO Patent Application WO/2022/228671
Kind Code:
A1
Abstract:
The present disclosure relates to a method of a robotic cleaning device (100) of cleaning a surface, and a robotic cleaning device (100) performing the method. In an aspect, a method of a robotic cleaning device (100) of cleaning a surface is provided. The method comprises detecting (S101), while in a current cleaning mode, an uncleaned area (401a) of the surface, which uncleaned area is enclosed by an area having been cleaned, determining (S102) whether or not a size of the uncleaned area (401a) is below a maximum size threshold value, and if so departing (S103) from the current cleaning mode and moving (S104) to, and cleaning, the detected uncleaned area (401a).

Inventors:
LINDHE MAGNUS (SE)
Application Number:
PCT/EP2021/061205
Publication Date:
November 03, 2022
Filing Date:
April 28, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ELECTROLUX AB (SE)
International Classes:
A47L9/28
Domestic Patent References:
WO2013118974A12013-08-15
WO2020103707A12020-05-28
Foreign References:
CN111930111A2020-11-13
US20210007572A12021-01-14
Attorney, Agent or Firm:
ELECTROLUX GROUP PATENTS (SE)
Download PDF:
Claims:
CLAIMS

1. Method of a robotic cleaning device (100) of cleaning a surface, comprising: detecting (S101), while in a current cleaning mode, an uncleaned area (401a) of the surface, which uncleaned area is enclosed by an area having been cleaned; determining (S102) whether or not a size of the uncleaned area (401a) is below a maximum size threshold value; and if so departing (S103) from the current cleaning mode; and moving (S104) to, and cleaning, the detected uncleaned area (401a).

2. The method of claim 1, further comprising: resuming (S105) said current cleaning mode.

3. The method of any one of the preceding claims, the determining (S102) whether or not a size of the uncleaned area (401a) is below a maximum size threshold value further comprising: determining (S102) whether or not the size of the uncleaned area (401a) is above a minimum size threshold value; and if so departing from the current cleaning mode.

4. The method of any one of the preceding claims, further comprising: registering, upon moving over the surface, which areas of the surface have been cleaned and which areas have not, and encountered obstacles; and storing a map indicating which areas of the surface have been cleaned and which have not, and which map further indicates the encountered obstacles.

5. The method of claim 4, the detecting (S101) of an uncleaned area (401a) enclosed by an area having been cleaned comprising: performing a scan of the stored map limited to grids in the map within a set maximum distance from the robotic cleaning device (100); the method further comprising: determining (Sioia) whether or not said uncleaned area (401a) enclosed by an area having been cleaned is completely within the maximum distance; and if so proceeding to determining (S102) the size of the uncleaned area (401a).

6. The method of claims 4 or 5, further comprising: adding (S100) parallelly aligned sweep lines to the stored map, which sweep lines assist the robotic cleaning device (100) in performing parallel cleaning sweeps over the surface to be cleaned, the robotic cleaning device (100) moving along a sweep line in a first direction until it reaches an endpoint wherein the robotic cleaning device (100) moves to an immediately adjacent sweep line in a determined cleaning direction being orthogonal to the parallelly aligned sweep lines and moves in a direction opposite to the first direction; and the moving (S104) to, and cleaning, the detected uncleaned area comprising: moving, from an endpoint of a sweep line where said uncleaned area was detected, in a direction opposite to the cleaning direction, to perform sweep cleaning along a maximum allowed number of sweep lines covering said uncleaned area.

7. The method of claim 6, the adding of the parallelly aligned sweep lines to the stored map comprising: selecting a distance between two parallelly aligned sweep lines to be less than a cleaning width of the robotic cleaning device (100).

8. The method of claims 6 or 7, the moving (S104) to, and cleaning, the detected uncleaned area comprising: moving to an endpoint of a sweep line of said uncleaned area being furthest away from a current position and cleaning the uncleaned area by moving along the sweep lines in the cleaning detection.

9. The method of claims 6 or 7, the moving (S104) to, and cleaning, the detected uncleaned area comprising: moving to an endpoint of a sweep line of said uncleaned area being closest from a current position and cleaning the uncleaned area by moving along the sweep lines in the opposite detection.

10. The method of any one of claims 6-9, the maximum allowed number of sweep lines covering said uncleaned area being set to five.

11. A computer program (125) comprising computer-executable instructions for causing a robotic cleaning device (100) to perform the steps recited in any one of claims 1-11 when the computer-executable instructions are executed on a controller (116) included in the robotic cleaning device (100).

12. A computer program product comprising a computer readable medium (126), the computer readable medium having the computer program (125) according to claim 11 embodied thereon.

13. A robotic cleaning device (100) configured to clean a surface, the robotic cleaning device (100) comprising: a controller (116) configured to cause the robotic cleaning device (100) to: detect, while in a current cleaning mode, an uncleaned area (401a) of the surface, which uncleaned area is enclosed by an area having been cleaned; determine whether or not a size of the uncleaned area (401a) is below a maximum size threshold value; and if so depart from the current cleaning mode; and move to, and clean, the detected uncleaned area (401a).

14. The robotic cleaning device (100) of claim 13, the controller (116) further being configured to cause the robotic cleaning device (100) to: resume said current cleaning mode.

15. The robotic cleaning device (100) of claim 13, the controller (116) further being configured to cause the robotic cleaning device (100) to, when determining whether or not a size of the uncleaned area (401a) is below a maximum size threshold value: determine whether or not the size of the uncleaned area (401a) is above a minimum size threshold value; and if so departing from the current cleaning mode.

16. The robotic cleaning device (100) of any one of claims 13-15, the controller (116) further being configured to cause the robotic cleaning device (100) to: register, upon moving over the surface, which areas of the surface have been cleaned and which areas have not, and encountered obstacles; and store a map indicating which areas of the surface have been cleaned and which have not, and which map further indicates the encountered obstacles.

17. The robotic cleaning device (100) of claim 16, the controller (116) further being configured to cause the robotic cleaning device (100) to, when detecting an uncleaned area (401a) enclosed by an area having been cleaned comprising: perform a scan of the stored map limited to grids in the map within a set maximum distance from the robotic cleaning device (100); and further to: determine whether or not said uncleaned area (401a) enclosed by an area having been cleaned is completely within the maximum distance; and if so to proceed to determine the size of the uncleaned area (401a).

18. The robotic cleaning device (100) of claims 16 or 17, the controller (116) further being configured to cause the robotic cleaning device (100) to: add parallelly aligned sweep lines to the stored map, which sweep lines assist the robotic cleaning device (100) in performing parallel cleaning sweeps over the surface to be cleaned, the robotic cleaning device (100) moving along a sweep line in a first direction until it reaches an endpoint wherein the robotic cleaning device (100) moves to an immediately adjacent sweep line in a determined cleaning direction being orthogonal to the parallelly aligned sweep lines and moves in a direction opposite to the first direction; and to, when moving to and cleaning the detected uncleaned area: move, from an endpoint of a sweep line where said uncleaned area was detected, in a direction opposite to the cleaning direction, to perform sweep cleaning along a maximum allowed number of sweep lines covering said uncleaned area.

19. The robotic cleaning device (100) of claim 18, the controller (116) further being configured to cause the robotic cleaning device (100) to, when adding the parallelly aligned sweep lines to the stored map: select a distance between two parallelly aligned sweep lines to be less than a cleaning width of the robotic cleaning device (100).

20. The robotic cleaning device (100) of claims 18 or 19, the controller (116) further being configured to cause the robotic cleaning device (100) to, when moving to and cleaning the detected uncleaned area: move to an endpoint of a sweep line of said uncleaned area being furthest away from a current position and cleaning the uncleaned area by moving along the sweep lines in the cleaning detection.

21. The robotic cleaning device (100) of claims 18 or 19, the controller (116) further being configured to cause the robotic cleaning device (100) to, when moving to and cleaning the detected uncleaned area: move to an endpoint of a sweep line of said uncleaned area being closest from a current position and cleaning the uncleaned area by moving along the sweep lines in the opposite detection.

22. The robotic cleaning device (100) of any one of claims 18-21, the maximum allowed number of sweep lines covering said uncleaned area being set to five.

Description:
CLEANING METHOD OF A ROBOTIC CLEANING DEVICE

TECHNICAL FIELD

[001] The present disclosure relates to a method of a robotic cleaning device of cleaning a surface, and a robotic cleaning device performing the method.

BACKGROUND

[002] In many fields of technology, it is desirable to use robots with an autonomous behaviour such that they freely can move around a space without colliding with possible obstacles.

[003] Robotic vacuum cleaners are known in the art, which are equipped with drive means in the form of a motor for moving the cleaner across a surface to be cleaned. The robotic vacuum cleaners are further equipped with intelligence in the form of microprocessor(s) and navigation means for causing an autonomous behaviour such that the robotic vacuum cleaners freely can move around and clean a surface in the form of e.g. a floor. Thus, these prior art robotic vacuum cleaners have the capability of more or less autonomously moving across, and vacuum-cleaning, a room without colliding with obstacles located in the room, such as furniture, pets, walls, doors, etc.

[004] When a robotic vacuum cleaner vacuums the floor, the robotic cleaner may leave small patches of uncleaned floor behind, and therefore subsequently must go back to clean the patches. This takes extra time, increases the risk of getting stuck or lost on the way to and from the patches, and may also give the user the impression that the robotic cleaner has forgotten that patch, since the robotic cleaner does not clean the patch immediately.

SUMMARY

[005] An objective is to solve this problem in the art and thus to provide an improved robotic cleaning device.

[006] This objective is attained in a first aspect by a method of a robotic cleaning device of cleaning a surface. The method comprise detecting, while in a current cleaning mode, an uncleaned area of the surface, which uncleaned area is enclosed by an area having been cleaned, determining whether or not a size of the uncleaned area is below a maximum size threshold value, and if so departing from the current cleaning mode and moving to, and cleaning, the detected uncleaned area.

[007] This objective is attained in a second aspect by a robotic cleaning device configured to clean a surface, which robotic cleaning device comprises a controller configured to cause the robotic cleaning device to detect, while in a current cleaning mode, an uncleaned area of the surface, which uncleaned area is enclosed by an area having been cleaned, determine whether or not a size of the uncleaned area is below a maximum size threshold value, and if so to depart from the current cleaning mode and move to, and clean, the detected uncleaned area.

[008] Thus, while the robotic cleaning device is in a cleaning mode and moves over the area to be cleaned, the devices registers which areas of the surface have been cleaned and which have not. Upon noting a smaller uncleaned area having been left behind, for instance being smaller than a predetermined threshold value, the robotic cleaning device makes a departure from the current cleaning mode and returns to the uncleaned area for cleaning the area. Optionally after having cleaned the uncleaned area, the (paused) cleaning mode is resumed.

[009] Advantageously, with this method the previously left-behind and uncleaned area has now been successfully cleaned and the robot may proceed with cleaning the remaining surface.

[0010] In an embodiment, the determining whether or not a size of the uncleaned area is below a maximum size threshold value further comprises determining whether or not the size of the uncleaned area is above a minimum size threshold value, and if so the current cleaning mode is departed from.

[0011] In an embodiment, the robotic cleaning device registers, upon moving over the surface, which areas of the surface have been cleaned and which areas have not, and encountered obstacles, and stores a map indicating which areas of the surface have been cleaned and which have not, and which map further indicates the encountered obstacles. [0012] In an embodiment, the detecting of an uncleaned area enclosed by an area having been cleaned comprises performing a scan of the stored map limited to grids in the map within a set maximum distance from the robotic cleaning device and further determining whether or not said uncleaned area enclosed by an area having been cleaned is completely within the maximum distance. If so the robotic cleaning device proceeds to determine the size of the uncleaned area.

[0013] In an embodiment, the method further comprises adding parallelly aligned sweep lines to the stored map, which sweep lines assist the robotic cleaning device in performing parallel cleaning sweeps over the surface to be cleaned, the robotic cleaning device moving along a sweep line in a first direction until it reaches an endpoint wherein the robotic cleaning device moves to an immediately adjacent sweep line in a determined cleaning direction being orthogonal to the parallelly aligned sweep lines and moves in a direction opposite to the first direction. The robotic cleaning device moves from an endpoint of a sweep line where said uncleaned area was detected, in a direction opposite to the cleaning direction, to perform sweep cleaning along a maximum allowed number of sweep lines covering said uncleaned area.

[0014] In an embodiment, a distance between two parallelly aligned sweep lines is selected to be less than a cleaning width of the robotic cleaning device.

[0015] In an embodiment, the robotic cleaning device moves to an endpoint of a sweep line of said uncleaned area being furthest away from a current position and cleans the uncleaned area by moving along the sweep lines in the cleaning detection.

[0016] In an embodiment, the robotic cleaning device moves to an endpoint of a sweep line of said uncleaned area being closest from a current position and cleans the uncleaned area by moving along the sweep lines in the opposite detection.

[0017] These and further embodiments will be described in detail in the following.

[0018] Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a/an/the element, apparatus, component, means, step, etc." are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.

BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Aspects and embodiments are now described, by way of example, with reference to the accompanying drawings, in which:

[0020] Figure 1 shows a robotic cleaning device according to an embodiment in a bottom view;

[0021] Figure 2 illustrates a prior art approach used by robotic cleaning devices for keeping track of which areas have been cleaned on a particular surface to be cleaned;

[0022] Figures 3a-d illustrate a robotic cleaning device applying wall following cleaning mode upon cleaning a surface;

[0023] Figure 4 illustrates cleaning of a surface according to an embodiment;

[0024] Figure 5 shows a flowchart illustrating a method of a robotic cleaning device of cleaning a surface according to an embodiment;

[0025] Figure 6 shows a flowchart illustrating a method of a robotic cleaning device of cleaning a surface according to a further embodiment;

[0026] Figure 7 illustrates a further embodiment where a radial scan is performed to detect uncleaned areas;

[0027] Figure 8 shows a flowchart illustrating a method of a robotic cleaning device of cleaning a surface according to yet an embodiment;

[0028] Figures 9a-c illustrate a further embodiment where the robotic cleaning device adds parallel sweep lines to a grid map in order to parallel sweep cleaning; and

[0029] Figure 10 shows a flowchart illustrating a method of a robotic cleaning device of cleaning a surface according to still an embodiment. DETAILED DESCRIPTION

[0030] The aspects of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments are shown.

[0031] These aspects may, however, be embodied in many different forms and should not be construed as limiting; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and to fully convey the scope of all aspects to those skilled in the art. Like numbers refer to like elements throughout the description.

[0032] The disclosure relates to robotic cleaning devices, or in other words, to automatic, self-propelled machines for cleaning a surface, e.g. a robotic vacuum cleaner, a robotic sweeper or a robotic floor washer. The robotic cleaning device according to embodiments can be mains-operated and have a cord, be battery- operated or use any other kind of suitable energy source, for example solar energy.

[0033] Even though it is envisaged that embodiments may be performed by a variety of appropriate robotic cleaning devices being equipped with sufficient processing intelligence, Figure 1 shows a robotic cleaning device 100 according to an embodiment in a bottom view, i.e. the underside of the robotic cleaning device is shown. The arrow indicates the forward direction of the robotic cleaning device 100 being illustrated in the form of a robotic vacuum cleaner.

[0034] The robotic vacuum cleaner 100 comprises a main body 111 housing components such as a propulsion system comprising driving means in the form of two electric wheel motors 115a, 115b for enabling movement of the driving wheels 112, 113 such that the robotic vacuum cleaner 100 can be moved over a surface to be cleaned. Each wheel motor 115a, 115b is capable of controlling the respective driving wheel 112, 113 to rotate independently of each other in order to move the robotic vacuum cleaner 100 across the surface to be cleaned. A number of different driving wheel arrangements, as well as various wheel motor arrangements, can be envisaged. It should be noted that the robotic vacuum cleaner 100 may have any appropriate shape, such as a device having a more traditional circular-shaped main body, or a triangular-shaped main body. As an alternative, a track propulsion system may be used or even a hovercraft propulsion system. The propulsion system may further be arranged to cause the robotic vacuum cleaner 100 to perform any one or more of a yaw, pitch, translation or roll movement.

[0035] A controller 116 such as a microprocessor controls the wheel motors 115a, 115b to rotate the driving wheels 112, 113 as required in view of information received from an obstacle detecting device (not shown in Figure 1) for detecting obstacles in the form of walls, floor lamps, table legs, around which the robotic cleaning device must navigate. The obstacle detecting device may be embodied in the form of a 3D sensor system registering its surroundings, implemented by means of e.g. a 3D camera, a camera in combination with lasers, a laser scanner, etc. for detecting obstacles and communicating information about any detected obstacle to the microprocessor 116. The microprocessor 116 communicates with the wheel motors 115a, 115b to control movement of the wheels 112, 113 in accordance with information provided by the obstacle detecting device such that the robotic vacuum cleaner 100 can move as desired across the surface to be cleaned.

[0036] Moreover, the main body 111 of the robotic vacuum cleaner 100 comprises a suction fan 120 creating an air flow for transporting debris to a dust bag, dust container or cyclone arrangement (not shown) housed in the main body via the opening 118 in the bottom side of the main body 111. The suction fan 120 is driven by a fan motor 121 communicatively connected to the controller 116 from which the fan motor 121 receives instructions for controlling the suction fan 120. The main body 111 may further be arranged with one or more rotating side brushes 114 adjacent to the opening 118.

[0037] Further, the main body 111 may optionally be arranged with a cleaning member 117 for removing debris and dust from the surface to be cleaned in the form of a rotatable brush roll arranged in an opening 118 at the bottom of the robotic cleaner 100. Thus, the rotatable brush roll 117 is arranged along a horizontal axis in the opening 118 to enhance the dust and debris collecting properties of the cleaning device 100. In order to rotate the brush roll 117, a brush roll motor 119 is operatively coupled to the brush roll to control its rotation in line with instructions received from the controller 116.

[0038] With further reference to Figure 1, the controller/processing unit 116 embodied in the form of one or more microprocessors is arranged to execute a computer program 125 downloaded to a suitable storage medium 126 associated with the microprocessor, such as a Random Access Memory (RAM), a Flash memory or a hard disk drive. The controller 116 is arranged to carry out a method according to embodiments when the appropriate computer program 125 comprising computer- executable instructions is downloaded to the storage medium 126 and executed by the controller 116. The storage medium 126 may also be a computer program product comprising the computer program 125. Alternatively, the computer program 125 may be transferred to the storage medium 126 by means of a suitable computer program product, such as a digital versatile disc (DVD), compact disc (CD) or a memory stick. As a further alternative, the computer program 125 may be downloaded to the storage medium 126 over a wired or wireless network. The controller 116 may alternatively be embodied in the form of a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), etc.

[0039] Figure 2 illustrates an approach which is commonly used by robotic cleaning devices for keeping track of which areas have been cleaned on a particular surface to be cleaned.

[0040] Thus, while performing a cleaning operation, the robotic cleaning device 100 (which in the following occasionally will be referred to only as “the robot”) updates a grid map with an appropriate resolution of e.g. 2.5 cm. As the robot 100 moves, it will indicate an area 200 which it has cleaned using a first marking, in this example a white marking, while indicating an area 201 which it has yet not cleaned using a second marking, in this example a striped marking. As is understood, when the robot 100 starts the cleaning program, the complete surface to be cleaned is indicated in the map with the striped marking, thereby indicating in the map that the surface remains to be cleaned. [0041] In other words, the robot 100 will, upon moving over the surface, register which areas of the surface have been cleaned and which areas have not, as well as encountered obstacles such as walls, furniture and other objects and store a map indicating which areas of the surface have been cleaned and which have not, as well as the encountered obstacles. The stored map is referred to as the grid map.

[0042] In this example, the robot 100 applies a cleaning mode commonly known as wall following and indicates the wall 202 which is followed with a third marking, in this example a thicker black line. With this line indicating the wall, the robot 100 delimits the surface to be cleaned.

[0043] With the grid map illustrated in Figure 2, the robot 100 is able to keep track of which areas have been cleaned and which areas remain to be cleaned.

[0044] Figures 3a-d illustrate in more detail a robot applying wall following cleaning mode upon cleaning a surface. It is noted that the robot itself is not included in Figures 3a-d, but only a pattern along which the robot moves upon cleaning the surface.

[0045] In Figure 3a, the robot moves until encountering the wall 300 at point A. Upon encountering the wall 300, the robot will apply the wall following mode until it again reaches point A where the robot concludes that a complete cleaning round has been performed for the surface to be cleaned (for instance from the grid map described with reference to Figure 2).

[0046] In Figure 3b, after again having reached point A, in order to avoid re cleaning an area of the surface already having been cleaned, the robot moves to point B and enters a cleaning mode where it performs parallel sweeps over the area that has not yet been cleaned.

[0047] In other words, the robot moves from point A to point B and then moves towards a distal section 300a of the wall 300 and when reaching an area already having been cleaned adjacent to that section 300a of the wall 300, the robot makes a 180 0 turn and moves in an opposite direction parallel to the immediately travelled direction while selecting a distance d between the parallelly travelled paths which corresponds to a cleaning width of the robot. In practice, the distance d is selected to be just below the cleaning width to avoid leaving small uncleaned areas. To further avoid leaving uncleaned areas, the robot makes the i8o° turn fully inside the area (having the same width as the robot) near the wall where cleaning was performed by applying the wall following mode. This ensures that adjacent parallel sweeps have the desired spacing along their complete length.

[0048] As can be seen, these parallel sweeps are performed until obstacle 301 is encountered at point C. In practice, the obstacle 301 may for instance be embodied in the form of a cooking island.

[0049] In Figure 3c, upon encountering the obstacle 301, the robot pauses the current parallel sweep mode and again enters wall following mode for cleaning around the obstacle 301.

[0050] In Figure 3d, the robot moves to point D and resumes the parallel sweep mode until it reaches point E where all areas adjacent to the robot have been cleaned.

[0051] In Figure 3e, however, the robot detects an uncleaned area north of the obstacle 301 and thus moves to point F where the uncleaned area is located and finishes the cleaning of the surface.

[0052] As is understood, even though Figures 3a-e show a scenario where wall following initially is performed before the robot 100 switches to parallel sweeping, the opposite may very well be envisaged. That is, the robot 100 starts with parallel sweeping and then switches to wall following. In such a case, the robot 100 will immediately turn upon encountering an obstacle and not switch to wall following until the parallel sweeping has been completed.

[0053] Now, in this example, only a single area was left uncleaned, i.e. the small area north of the obstacle 301. However, in practice the surface to be cleaned maybe cluttered with obstacles thus making the cleaning far more complex. In such a scenario, there may be multiple uncleaned areas left.

[0054] Figure 4 illustrates an embodiment where such a scenario is handled in a systematic and structured manner. For illustrative purposes, the structure of the surface to be cleaned in Figure 4 is more complex than that illustrated in Figures 3a- e, where a rectangular surface comprising a single obstacle 301 is to be cleaned. [0055] Reference will further be made to Figure 5 showing a flowchart illustrating a method of a robotic cleaning device of cleaning a surface according to an embodiment.

[0056] In the grid map of Figure 4, similar to Figure 2 a white marking indicates an area 400 already having been cleaned, a striped marking indicates a yet not cleaned area 401, while a thicker black line indicates a wall 402. It should be noted that while the exemplified embodiment shows the robot (not included in Figure 4) applying wall following mode, the embodiment is applicable to all scenarios where one or more areas are left uncleaned regardless of whether wall following is applied or not.

[0057] Further illustrated are two smaller uncleaned areas 401a, 401b. It is assumed that the robot has followed the wall surrounding the area 401a as indicated by the arrow and is located at point A, moving away from the area 401a.

[0058] The robot detects in step S101, while currently being in wall following mode, that it has left an uncleaned area 401a behind, which uncleaned area 401a is enclosed by an area already having been cleaned.

[0059] In step S102, the robot determines whether or not a size of the uncleaned area 401a is below a maximum size threshold value TSMAX. If so, the robot makes a departure from the current wall following mode by pausing the wall following mode in step S103 and returns to the uncleaned area 401a in step S104 for cleaning the area 401a. This maybe referred to as patch cleaning.

[0060] Optionally in step S105, the paused wall following mode is resumed after the area 401a has been cleaned, even if it may be envisaged that in a different scenario from that shown in Figure 4, another more suitable cleaning mode is selected. Nevertheless, the robot will exit the patch cleaning mode after having cleaned the area 401a.

[0061] As regards the size of the uncleaned area 401a, this area should not be too large. If so, the area 401a should not be cleaned by applying the patch cleaning mode, i.e. the robot departing from the currently set cleaning mode in order to move to a smaller uncleaned area before eventually resuming said set cleaning mode, but rather be seen as a “conventional” uncleaned area (which would be the case for the vast uncleaned area denoted 401). In case a number of larger uncleaned areas remain, these areas would typically be scheduled to be cleaned in a given order according to the currently set cleaning mode.

[0062] Advantageously, with this method the previously left-behind and uncleaned area 401a has now been successfully cleaned and the robot may proceed with cleaning the remaining surface.

[0063] The scenario described with reference to Figure 4 usually occurs when the robot has passed into a small or narrow space, which makes it even more rewarding to avoid having to go back to the space since openings to such narrow spaces oftentimes are difficult to enter.

[0064] Figure 6 shows a flowchart illustrating a method of a robotic cleaning device of cleaning a surface according to a further embodiment.

[0065] In addition to determining in step S102 whether or not a size of the uncleaned area 401a is below a maximum size threshold value TSMAX, the robot further determines whether or not the size of the uncleaned area 401a is above a minimum size threshold value TSMIN.

[0066] As regards the size of the uncleaned area 401a, this area should neither be too small nor too large; if the area is too small, it is typically not worth the effort to clean and if it is too large, it should typically be cleaned using a cleaning mode such as the parallel sweep mode as previously discussed.

[0067] Thus, in a practical situation, given that the cleaning width of the robot is, say, 0.3 m, TSMIN would be set to 0.3 x 0.3 m 2 , implying that the robot would move to the area 401a and rotate on the spot while performing the cleaning.

[0068] Moreover, TSMAX may practically be set to 2 x 0.3 m 2 , which would correspond to the robot travelling a i m cleaning path in a first direction then make a 18 o° turn before going back in the opposite parallel direction on a distance of a cleaning width from the travelled first path.

[0069] As is understood, for the robot to return to an uncleaned area 401a, the area must be enclosed by a cleaned area. For instance, a cupboard placed against a wall would in case wall following mode is applied be surrounded by cleaned areas on three sides when the robot has passed by (and further a wall following marking would be placed between the cupboard and the cleaned areas), but not on the fourth side facing the wall. Thus, on a grid map, the area represented by the cupboard would not be enclosed by already cleaned areas.

[0070] In other words, the uncleaned area 401a must be completely enclosed inside a cleaned area 400, and there must be a continuous section of the border between the uncleaned area and the cleaned area which has no wall following markings, which section further should be at least as long as the width of the robot 100 so that there is an open passage into the uncleaned area 401a.

[0071] Figure 7 illustrates a further embodiment where not only the minimum and maximum size threshold values are considered but also a distance r from the robot 100 to an uncleaned area. As illustrated in Figure 7, there is an uncleaned area at each of positions A, B, C and D, respectively.

[0072] Reference will further be made to Figure 8 showing a flowchart illustrating a method of a robotic cleaning device of cleaning a surface according to yet an embodiment.

[0073] To detect an uncleaned area, the robot 100 will in step S101 perform a radial scan with radius r of the grid map to determine which areas have been cleaned and which have not. The robot 100 will thus search a circular section of the grid map with radius r surrounding the robot 100 to determine in step Sioia whether one or more uncleaned areas are fully within the circle having radius r. This is performed relatively often, and to save processing power, the radius r is advantageously set to an appropriate value, i.e. not too large. Rather than measuring the Euclidean distance r to an uncleaned area, the robot could possibly compute the shortest collision-free path to each grid in the map, and set an upper limit L on the length of that path. Such a path can, e.g., be computed by the well-known A* planning method. The search could then extend outwards from the robot position in the map, and only include grids with a shortest path length less than L. In other words, the robot 100 performs a scan of the stored map limited to grids in the map within a set maximum distance (i.e. r or L) from the robot 100. [0074] In this embodiment, the robot 100 will in step Sioia detect area A as an uncleaned area enclosed by another cleaned area and which further is fully within the radius r, but none of areas B, C and D will be detected as such since each of areas B, C and D extend beyond the radius r and their full size is thus unknown.

[0075] Thereafter, as previously described, the method proceeds to determine the size of the area A in step S102. If in step Sioia the area A would not be located completely within the radius r, the current cleaning mode continues and the method would not proceed to step S102 (and thus no patch cleaning would be performed for the area A).

[0076] The performing of step Sioia is further advantageous since a distal part of an area - in this case area A - cannot be located further away from the robot than the radius r, which has as an effect that the robot will not travel farther than distance r for cleaning an uncleaned area.

[0077] Figures 9a-c illustrate a further embodiment where the robot 100 adds parallel sweep lines to the grid map in order to facilitate navigation in general and parallel sweep cleaning in particular. Reference will further be made to Figure 10 showing a flowchart illustrating a method of a robotic cleaning device of cleaning a surface according to an embodiment.

[0078] In Figure 9a, vertically aligned sweep lines 500 are added in step S100 to the grid map and the robot 100 moves from west to east along the sweep lines (or could alternatively move from east to west). As is understood, the parallel sweep lines could be aligned in any suitable direction, such as in a horizontal direction where the robot 100 would move north-south or south-north, or even diagonally over the grid map where the robot 100 would move from one corner to an opposite corner of the surface. Nevertheless, it is advantageous in terms of cleaning efficiency to align the sweep lines with the orientation of the room (i.e. the surface to be cleaned) in order to minimize the number of turns required. For a substantially rectangular room, it would further be advantageous to orient the sweep lines parallel to the longest side of the room in order to minimize the number of turns and thus maximize the fraction of time spent driving straight across uncleaned areas. [0079] The parallel sweep lines are typically arranged such that the distance between two adjacent sweep lines is slightly less than the cleaning width of the robot 100 to allow a small overlap of two adjacent cleaning paths following the sweep lines, thereby avoiding uncleaned streaks along the cleaning paths. The sweep lines may be removed from the grid map as the robot 100 moves along them. In Figures 9a-c, the robot 100 has performed wall following cleaning leaving a cleaned area next to the wall 402.

[0080] With reference to Figure 9a, when the robot 100 reaches an end of a sweep line after having travelled in a north-south direction as indicated by the dotted arrow, the robot 100 will select the next sweep line in the cleaning direction, which is orthogonal to the vertically aligned sweep lines and is this example is extending from west to east, and move in a direction opposite to the direction travelled along the immediately adjacent sweep line in order to clean uncleaned area 401.

[0081] In other words, the robot 100 will make a 180 0 turn at the black endpoint and travel along the associated sweep line in a south-north direction until the next endpoint is reached, and the process is repeated.

[0082] In Figure 9b, the robot 100 has reached a corner section of the surface to be cleaned, and there are no sweep lines nearby. The robot 100 selects the closest sweep line endpoint in any direction (indicated by the black endpoint) and thereafter follows the selected sweep line 500, in this example in a south-north direction, before reaching the other endpoint of the selected sweep line. The robot 100 will then make a 180 0 turn and travel north-south along the next sweep line, thus steadily moving in an eastward direction until all sweep lines have been travelled and the cleaning of the uncleaned area 401 is complete.

[0083] In Figure 9c, the robot 100 performed parallel sweeps in an eastward direction as described in Figure 9a, but encountered obstacle 403 at point A, whereupon the robot 100 entered wall following mode and thus circled the obstacle 403 before continuing to perform parallel sweeps along the sweep lines south of the obstacle 403 until reaching its current position. [0084] However, again with reference to the flowchart of Figure 10, in the current position where the endpoint of the sweep line adjacent to the sweep line denote C2 has been reached, instead of continuing to move in the eastbound direction - i.e. to move in the cleaning direction to sweep line C2 and the uncleaned area 401 - the robot 100 detects in step S101 an uncleaned area 401a enclosed by a previously cleaned area north of the obstacle 403.

[0085] In this exemplifying embodiment, it is assumed that the size of the uncleaned area 401a is below TSMAX and above TSMIN in step S102, wherein the robot 100 makes a departure from the current sweep cleaning mode in step S103 where the robot 100 moves in the eastbound cleaning direction, and enters the patch cleaning mode in step S104 since the area 401a comprising sweep lines just north of the obstacle 403 is uncleaned (and enclosed by a previously cleaned area).

[0086] The robot 100 will thus in step S104 travel in a direction opposite to the cleaning direction to the uncleaned area 401a left behind, i.e. the robot will move in a westward direction.

[0087] In an embodiment, when using sweep lines, the robot 100 is allowed to travel a maximum number of sweep lines in the direction opposite to the cleaning direction when performing the patch cleaning of the area 401a north of the obstacle 403, for instance four or five sweep lines.

[0088] Hence, upon determining (cf. step S102) whether or not a size of the uncleaned area 401a is below TSMAX and above TSMIN, that size could be expressed in terms of number of sweep lines allowed to travel when performing the patch cleaning, where e.g. TSMIN may amount to one sweep line while TSMAX may amount to five sweep lines, making the allowable range 2-4 sweep lines.

[0089] Thus, the robot 100 moves the allowed number of sweep lines - in this example 4 - in the direction opposite to the cleaning direction. The robot 100 will accordingly (after having departed from the eastbound travel of the current cleaning mode in step S103) move to the black endpoint of sweep line Cl and perform sweep cleaning along the sweep lines as previously described before moving to sweep line C2 and resuming the current sweep cleaning mode in step S105 in the eastbound cleaning direction. In other words, in this embodiment the robot 100 moves to an endpoint of a sweep line Cl of the uncleaned area 401a being furthest away from a current position and cleans the uncleaned area 401a by moving along the sweep lines in the cleaning detection and then resumes the current cleaning mode by moving to sweep line C2 and cleaning the area 401.

[0090] Alternatively, the robot 100 starts at the closest sweep line and performs sweep cleaning until the black endpoint of sweep line Cl is reached before moving to sweep line C2 and resuming the current sweep cleaning mode in step S105. That is, in this embodiment the robot 100 moves to an endpoint of a sweep line of the uncleaned area being closest from a current position and cleans the uncleaned area by moving along the sweep lines in the opposite detection and then resumes the current cleaning mode by moving in the cleaning direction to sweep line C2.

[0091] Again, this is advantageous since the uncleaned area north of the obstacle 403 is cleaned immediately upon the robot 100 discovering that it has left an uncleaned area behind, thereby avoiding subsequently having to return to the area which would result in unnecessary transport and extended duration for the cleaning programme.

[0092] The aspects of the present disclosure have mainly been described above with reference to a few embodiments and examples thereof. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the disclosure, as defined by the appended patent claims.

[0093] Thus, while various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.