Abstract
A computer-implemented method of controlling the operation of a robotic vacuum cleaner that includes the steps of: receiving dust distribution data indicating the spatial distribution of dust particles across the floor of a building; and planning a cleaning operation of the floor of the building to be executed by the robotic vacuum cleaner, based on the received dust distribution data. Additional computer-implemented methods relate to planning a cleaning operation manually via a client device, and an alert generation method based on dust distribution data.
Claims
1. A computer-implemented method of controlling the operation of a robotic vacuum cleaner, the computer-implemented method comprising: receiving dust distribution data indicating the spatial distribution of dust particles across a floor of a building; and planning a cleaning operation of the floor of the building to be executed by the robotic vacuum cleaner, based on the received dust distribution data.
2. The computer-implemented method of claim 1, wherein: the floor of the building is divided into a plurality of zones or grid elements, and planning a cleaning operation comprises generating data specifying which zones or grid elements are to be traversed by the robotic vacuum cleaner, based on the received dust distribution data.
3. The computer-implemented method of claim 2, wherein: planning the cleaning operation comprises determining an order in which the zones or grid elements are traversed by the robotic vacuum cleaner, the order of zones or grid elements being determined based on the received dust distribution data.
4. The computer-implemented method of claim 3, wherein: planning the cleaning operation comprises ranking the locations in order of the amount of dust, and generating instructions which, when executed by a processor of the robotic vacuum cleaner, cause it to visit the locations in the order of decreasing amount of dust.
5. The computer-implemented method of claim 1, wherein: planning the cleaning operation comprises generating one or more operating parameters, the one or more operating parameters being generated based on the dust distribution data.
6. The computer-implemented method claim 5, wherein: generating the one or more operating parameters comprises: for each of a plurality of locations, zones, or grid elements on the floor of the building, generating a respective value of the one or more operating parameters; and the value of the operating parameter for each of the plurality of locations, zones or grid elements on the floor of the building is generated based on the dust distribution data associated with the respective location.
7. The computer-implemented method of claim 5, wherein: the one or more parameters comprise suction power; and the suction power is selected to be higher in a location, zone or grid element with a relatively higher amount of dust than in a location, zone or grid element with a relatively lower amount of dust, according to the received dust distribution data.
8. The computer-implemented method of claim 5, wherein: the one or more parameters comprise rate of rotation of a brush within an enclosure of the robotic vacuum cleaner.
9. The computer-implemented method of claim 5, wherein: the one or more parameters comprise cleaning speed; and the cleaning speed is selected to be lower in a location, zone or grid element with a relatively higher amount of dust than in a location, zone or grid element with a relative lower amount of dust, according to the received dust distribution data.
10. The computer-implemented method of claim 5, wherein: planning a cleaning operation comprises generating a cleaning plan comprising instructions which, when executed by a processor of the robotic vacuum cleaner, cause the robotic vacuum cleaner to execute a cleaning operation defined by the cleaning plan, the cleaning plan comprising an ordered list of locations, zones or grid elements within the floor of the building, and for each location, zone or grid element, one or more operating parameters to be used at that location, zone or grid element.
11. The computer-implemented method of claim 5, wherein: the method comprises planning a plurality of cleaning operations, based on the received dust distribution data; the one or more operating parameters comprises a respective frequency with which each location, each zone, or each grid element is cleaned by the robotic vacuum cleaner; and the frequency is selected to be higher in a location, zone or grid element with a relatively higher amount of dust than a location, zone or grid element with a relatively lower amount of dust.
12. A robotic vacuum cleaner system comprising a processor configured to perform the computer-implemented method of claim 1.
13. A computer-implemented method of controlling a robotic vacuum cleaner using a client device, the computer-implemented method comprising: receiving, by the client device, a dust distribution map indicating the distribution of dust particles on the floor of a building; displaying the dust distribution map on a display component of the client device; receiving a user input corresponding to selected locations of the dust distribution map, the selected locations being locations to be cleaned by the robotic vacuum cleaner; generating, based on the received user input, instructions, which when executed by a processor of the robotic vacuum cleaner, are configured to cause the robotic vacuum cleaner to clean the locations of a floor of a building corresponding to the selected locations of the dust distribution map.
14. The computer-implemented method of claim 13, wherein: receiving the user input comprises receiving the user input via a touchscreen of the client device.
15. A computer-implemented method of monitoring the dust distribution on the floor of a building, the computer-implemented method comprising: receiving dust distribution data indicating the distribution of dust particles on the floor of a building; comparing the dust distribution data with expected dust distribution data, based on stored dust distribution data, to determine a deviation between the amount of dust in one or more regions of the received dust distribution data from the corresponding region in the stored dust distribution data; and if a deviation exceeds a predetermined threshold in one or more region, generating an alert.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0096] Embodiments of the present invention will now be described with reference to the accompanying drawings, in which:
[0097] FIG. 1A is a high-level system diagram including a client device, a robotic vacuum cleaner, and a cloud computing server.
[0098] FIGS. 1B and 1C show a robotic vacuum cleaner, highlighting the location of a piezoelectric sensor.
[0099] FIG. 2 is a schematic diagram showing the components of a client device.
[0100] FIG. 3 is a schematic diagram showing the components of a robotic vacuum cleaner.
[0101] FIG. 4A is a schematic diagram showing the components of the dust distribution data generation module of the processor of the robotic vacuum cleaner.
[0102] FIG. 4B is a schematic diagram showing the components of the control module of the processor of the robotic vacuum cleaner.
[0103] FIG. 5 is a schematic diagram showing the components of a cloud computing server.
[0104] FIG. 6 is a flowchart illustrating, at a high-level, the steps which are performed by the system of the present invention.
[0105] FIGS. 7A, 7B, 8A, and 8B are flowcharts illustrating the generation of the dust distribution data.
[0106] FIG. 8C shows an example of a dust distribution map that may be generated using the dust particle distribution data.
[0107] FIGS. 9A and 9B are schematic diagrams illustrating the movement of an robotic vacuum cleaner during a cleaning operation.
[0108] FIG. 10 is a flowchart illustrating the steps involved in transmitting the dust distribution data to the cloud computing server.
[0109] FIG. 11 is a flowchart illustrating the steps which take place when the cloud computing server receives the dust distribution data.
[0110] FIG. 12 is a flowchart illustrating the steps involved in a control operation, based on dust distribution data.
[0111] FIG. 13 is a diagram illustrating a layout of zones in the floor of a building.
[0112] FIG. 14 is a table illustrating a set of operating parameters which may be used by a robotic vacuum cleaner.
[0113] FIG. 15 is a flowchart illustrating the steps involved in an alert generation process, based on dust distribution data.
DETAILED DESCRIPTION OF THE DRAWINGS
[0114] Aspects and embodiments of the present invention will now be discussed with reference to the accompanying figures. Further aspects and embodiments will be apparent to those skilled in the art. All documents mentioned in this text are incorporated herein by reference.
[0115] FIG. 1A is a high-level schematic of a system 1 which may be used to execute the method of the first aspect of the invention, for example. The system 1 includes three components: a client device 10, a robotic vacuum cleaner 20, and a cloud computing server 30. These components are interconnected, as indicated by the lines connecting them. Specifically, client device 10, robotic vacuum cleaner 20, and cloud computing server 30 may be connected to each other via one or more networks (not shown), preferably wireless networks, such a Wi-Fi networks or cellular networks. In some cases, the three components may all be connected by the same network, and in other cases, each pair of components may be connected by a separate respective network. In other cases, two pairs of components may be connected by a first network, and the third pair of components may be connected by a second network. FIGS. 1A and 1B show an example of a robotic vacuum cleaner 20 which may be used in implementations of the present invention, and will be discussed in more detail shortly.
[0116] We now describe the components making up, respectively, the client device 10, the robotic vacuum cleaner 20, and the cloud computing server 30 with reference to FIGS. 1B to 5, before describing in detail the methods which may be performed by the respective components, with reference to FIGS. 6 to 13.
[0117] FIG. 2 shows an example of a client device 10 which may be used in methods according to the present invention. The client device 10 is preferably a handheld device such as a smartphone or tablet which has stored thereon an application which is configured to perform various aspects of the present invention. The client device 10 comprises a robotic vacuum cleaner interface module 102 for interfacing the with robotic vacuum cleaner 102. The client device 10 further comprises a display component 104, and input receiving component 106 (such as a touch screen, which may be integrated with the display component 104), a processor 108, and a memory 110. The client device 112 further comprises a cloud computing server interface module 112 for interfacing with the cloud computing server 30. The functions of these components will be described in greater detail later in this application, with reference to the various methods which may be performed in accordance with the invention.
[0118] FIG. 3 is a schematic diagram of a robotic vacuum cleaner 20 which may be used in methods according to the present invention. The robotic vacuum cleaner 20 includes a piezoelectric sensor 201 which has a detection region 203. The purpose of the piezoelectric sensor 201 is to generate electrical signals indicative of the size and/or mass of dust particles when they are incident on the detection region 203 thereof. Specifically, the piezoelectric sensor 201 is configured to generate electrical signals based on the vibrations (and resulting changes in pressure) caused by dust particles striking the detection region 203. In some implementations, the piezoelectric sensor 201 may be sufficiently sensitive to generate an electrical signal based on a vibration caused by particles striking a surface anywhere in an airflow path of the robotic vacuum cleaner 20. FIGS. 1B and 1C show a non-limiting example of a robotic vacuum cleaner 20 which may be used in implementations of the present invention. In particular, these drawings show the location of an airflow path 22 within the robotic vacuum cleaner 20. The front of the robotic vacuum cleaner 20 includes a brush bar 24 containing a roller 26. The base of the brush bar 24 defines an approximately rectangular area, referred to herein as the brush bar area A. At a given time, while the robotic vacuum cleaner 20 is in a particular location, all of the dust particles which are located in the brush bar area A are entrained in an airflow and pass through the airflow path 22 (which is preferably in the form of an air duct, but it should be acknowledged that other arrangements may be possible). The piezoelectric sensor 201 is located on or in a top surface 28 of the airflow path 22, preferably with the detection region 203 exposed to the airflow path 22. As discussed, in some cases, the piezoelectric sensor 201 (e.g. the RS PRO, SMD Diaphragm External, Piezo Buzzer, up to 30V ac.sup.1) may only generate signals based on vibrations caused by dust particles striking the detection region 203, but in other cases, electrical signals may be generated based on vibrations caused by dust particles striking any internal surfaces 29 of the airflow path 22. In some cases, electrical signals may be generated based on all or substantially all of the dust particles passing through the airflow path 22, but in other cases, the piezoelectric sensor 201 may only generate electrical signals for a sample of the dust particles passing through the airflow path 22. As long as the proportion sampled is constant or substantially constant, the invention is still effective. .sup.1https://uk.rs-online.com/web/p/piezo-buzzers/1710886
[0119] Returning to FIG. 3, the robotic vacuum cleaner 20 further includes a client device interface module 202 for interfacing with the client device 1. The robotic vacuum cleaner 20 further comprises a processor 204 including a dust distribution data generation module 210 whose purpose it is to generate dust distribution data based on input from the piezoelectric sensor 201. The dust distribution data generation module 210 is shown in more detail in FIG. 4A. It includes a piezoelectric sensor interface module 2102 for interfacing with the piezoelectric sensor 201 (i.e. for receiving electrical signals generated by the piezoelectric sensor 201 as outlined above). The dust distribution data generation module 210 further includes a particle size determination module 2014, a particle mass determination module 2106 (though this may not be present in some implementations, in which particle mass is not measured), a particle counter 2108 (though this may not be present in some implementations, in which the number of particles is not counted), and a location determination module 2109. The functionality of these modules is described in detail later in this application.
[0120] Returning again to FIG. 3, the processor 204 further comprises a control module 212, whose purpose it is to plan a cleaning operation based on a dust distribution map, or dust distribution data. FIG. 4B shows more details of the control module 212, which includes an operational parameter generation module 2122, a cleaning route planning module 2124, and an alert generation module 2126. The functionality of these modules is described in detail later in this application.
[0121] Returning once more to FIG. 3, the robotic vacuum cleaner 20 further includes a memory 206 which includes a buffer 2014, a dust particle mass determination algorithm 216 (though this may not be present in implementations which do not require the calculation of particle mass), a dust particle size determination algorithm 218, a floor plan 220, and a cleaning plan 222. Finally, the robotic vacuum cleaner 20 includes a cloud computing server interface module 208 for interfacing with the cloud computing server 30.
[0122] FIG. 5 is a schematic representation of the cloud computing server 30, which by its nature is preferably located remotely from the robotic vacuum cleaner 20 and the client device 10. The cloud computing server 30 comprises a robotic vacuum cleaner interface module 302 for interfacing with the robotic vacuum cleaner 20. The cloud computing server 30 further comprises a processor 304 which includes an addition module 310 and an instruction generation module 312. The cloud computing server 30 further includes a memory 306 which includes a buffer 314 and dust particle distribution data 316. Finally, the cloud computing server 30 includes a client device interface module 308 for interfacing with the client device 10.
[0123] We now describe in detail methods which may be performed according to some aspects of the invention. FIG. 6 is a flowchart illustrating the high-level steps performed by the dust distribution data generation module 210 of the processor 204 of the robotic vacuum cleaner 20. Steps S600 and S602 take place during a cleaning operation of the robotic vacuum cleaner 20, i.e. while the robotic vacuum cleaner 200 is vacuuming the floor of a house or other building according to some cleaning plan 222 which is stored in its memory 208. In step S600, raw particle data is received from the piezoelectric sensor 201 (specifically via the piezoelectric sensor interface module 2102), and in step S602 location information is received from the location determination module 2109 of the dust distribution data generation module 210. In FIG. 6, step S600 is shown to be performed before step S602, but these steps may take place in either order, or may take place simultaneously. Thereafter, in step S604, dust particle size distribution data is generated. In the present context, dust particle size distribution data refers to data indicative of the total number and/or mass of dust particles in each of a plurality of particle size classes within a given region. The methods by which this may be performed are described now, with reference to FIGS. 7A, 7B, 8A, and 8B.
[0124] FIG. 7A refers to a process in which the location at which every particle is detected is recorded individually. The steps shown in FIG. 7A are performed for each particle detected. In a first step S700, a dust particle causes a vibration which is converted into an electrical signal by the piezoelectric sensor 201. Then, in step S702, the particle size determination module 2104 of the dust distribution data generation module 210 applies the dust particle size determination algorithm 218 to the electrical signal, thereby determining into which particle size class the dust particle in question falls. Then, in step S704, the location at which that dust particle was picked up by the robotic vacuum cleaner 20 is acquired from the location determination module 2109 of the dust distribution data generation module 210. Then finally, in step S706, the particle size class and the respective location of that particle are recorded and stored in the buffer 214 of the memory 208 of the robotic vacuum cleaner 20. As discussed, this process is performed for each dust particle which is detected by the piezoelectric sensor 201. The resulting dust distribution data generated effectively comprises a list of particles (each of which may, for example, be assigned a particle ID), along with the location at which they were detected by the piezoelectric sensor 201, along with their particle size class. FIG. 7B illustrates an almost identical process, except for the fact that in step S702, a particle mass determination algorithm 216 is also applied to the electrical signal by the particle mass determination module 2106, so that the mass of the particle may be determined, as well as the size class of the particle. Then, in step S708, the dust particle mass is also stored alongside the location and the particle size class.
[0125] FIG. 8A refers to a process for which a particle count/mass determination are made for each brush bar area A. FIGS. 9A and 9B illustrate this in a little more detail. FIG. 9A shows an example of a cleaning path which may be taken by the robotic vacuum cleaner 20, shown by the spiralling line. In the example shown, points on the floor are defined using an (x,y) Cartesian coordinate system, based on some predetermined origin. As the robotic vacuum cleaner 20 progresses along its path, it cleans an area of floor corresponding to a brush bar area A, moving continuously or in increments having the same length as a longitudinal length or the brush bar (i.e. the length measured in the direction of the movement of the robotic vacuum cleaner 20), as shown in FIG. 9B. Returning to FIG. 8A, the process illustrated is performed as the robotic vacuum cleaner 20 is located in each brush bar area A. In a first step (not shown), the location of the brush bar area A is determined and recorded. Then, as a particle is incident on e.g. the detection region 203 of the piezoelectric sensor 201, an electrical signal is generated in step S800. Then, in step S802, the particle size determination module 2016 applies the dust particle size determination algorithm 218 to the electrical signal, thereby determining the particle size class to which the dust particle belongs. In step S804, the particle size class is recorded, e.g. in the buffer 214 of the memory 208. Steps S800 and S804 are performed for each particle detected while the robotic vacuum cleaner 20 is located in the given brush bar area A. In step S806, based on all of the recorded data, the particle counter 2108 determines the number of particles in each particle size class for the given brush bar area. These counts may then be recorded in the buffer 214 of the memory 208 of the robotic vacuum cleaner 20. Then, the robotic vacuum cleaner 20 may move on to the next brush bar area, and the process repeated until the cleaning path has been completed. By only recording the total number of dust particles in each particle class for a given brush bar area, the amount of data which needs to be stored on the buffer 214 of the memory 208 is significantly reduced, although the resulting dust distribution map will have a lower degree of granularity than if the dust distribution data were generated using the method of FIG. 7A.
[0126] The process of FIG. 8B is largely identical, except that in step S802, a particle mass determination algorithm 216 is also applied to the electrical signal by the particle mass determination module 2106, so that the mass of the particle may be determined, as well as the size class of the particle. Then, in step S808, the total dust particle mass in each particle size class is determined e.g. by the particle mass determination module 2106, rather than just the number of particles.
[0127] At this point, dust distribution data has been generated and stored in the buffer 214 of the memory 206 of the robotic vacuum cleaner 20. In some cases (not shown), this data may be transmitted to a persistent memory of the robotic vacuum cleaner, but in preferred cases, the dust distribution data 316 is stored in the memory 306 of (or associated with) the cloud computing server 30. FIG. 10 illustrates a process by which the dust distribution data 316 may be stored on the memory 306 of the cloud computing server 30. In a first step S1000, it is determined, e.g. by the processor 204 of the robotic vacuum cleaner 20 that the dust distribution data should be transferred from the buffer 214 of the memory 06 of the robotic vacuum cleaner 20 to the cloud computing server 30. Scenarios in which it may be determined that the dust distribution data is ready for transfer include when the robotic vacuum cleaner 20 has completed a full cleaning operation, when the robotic vacuum cleaner 20 has completed cleaning a predetermined region of the floor of the house or building, at predetermined time intervals, or when a request is received e.g. from the client device 10 for the dust distribution data (e.g. in the form of a dust distribution map). When it is determined in step S1000 that the data should be transferred, in step S1002, the processor 204 (e.g. a specific compression module, not shown in FIG. 2) may then compress the generated dust distribution data stored in the buffer 214 of the memory 206 of the robotic vacuum cleaner 20. By compressing the data, there is less data to be transferred to the cloud computing server 30 via one or more networks (not shown, but discussed in detail earlier). Finally, in step S1004 of FIG. 10, the dust distribution data is transmitted to the cloud computing server 30 via the cloud computing server interface module 208 of the robotic vacuum cleaner 20. We now turn to FIG. 11 which sets out the steps which are performed subsequently by the cloud computing server 30. In step S1100, the dust distribution data is received at the cloud computing server 30 via the robotic vacuum cleaner interface module 302 thereof. Then, in step S1102, the compressed dust distribution data is decompressed by e.g. a decompression module (not shown) of the processor 304 of the cloud computing server 30, and may be temporarily stored, for example in the buffer 316 of the memory 306 of the cloud computing server 30. At this point, it will be recalled that the dust distribution data which has been generated by the dust distribution data generation module 201 of the processor 204 of the robotic vacuum cleaner 20 includes information which is divided into various particle size classes. For example, if the method of FIG. 7A has been adopted, the dust distribution data may comprise a plurality of records, each comprising the particle size class and location of a particle. Similarly, if the method FIG. 8A has been adopted, the dust distribution data may comprise the total number of particles in each particle size class, for each of the brush bar areas. In either case, there is no information which indicates the total particle mass, or total number of particles across all of the particle size classes. Accordingly, in step S1104 of FIG. 11, the addition module 310 of the processor 304 of the cloud computing server 30 calculates, for example for a given brush bar area, or other subdivision of the floor which has been cleaned, the total mass of dust particles, or the total number of particles, by summing together the values in each of the particle size classes. After this calculation is performed by the addition module 310, the resulting dust distribution data 316 is stored in the memory 316 of the cloud computing server 30.
[0128] The processes of FIGS. 6 to 11 may be performed once, or multiple times during a single cleaning operation. After the cleaning operation is complete, the memory 306 of the cloud computing server 30 (or in cases in which it is retained on the robotic vacuum cleaner, the memory 206) will store comprehensive dust distribution data 316 representing the amount of dust in each of a plurality of particle size classes in each of a plurality of subdivisions of the floor of the building (either in terms of dust particle mass or dust particle number), as well as data representing the total amount of dust in each of those subdivisions of the area. One of the main motivations of the present invention is the generation of a dust distribution map based on the generated dust distribution data, which may then be displayed on the display component 104 of the client device 10.
[0129] In order to initiate this process, in response to a user input received at the input receiving component 106 of the client device 10, the client device 10 may transmit a request for a dust distribution map to the cloud computing server 30, via the cloud computing server interface module 112 of the input device 10. This request may be sent to the cloud computing server 30 via an application on the client device 10. The request is then received at the cloud computing server 30 via the client device interface module 308. At that point, step S606 of FIG. 6 takes place: the based on the dust particle distribution data 316 stored on the memory 306, the instruction generation module 312 of the processor 304 of the cloud computing server 30 generates instructions, which when executed by the processor 108 of the client deice 10, are configured to cause the display component 104 of the client device 10 to display a dust particle distribution map. Additional detail about the characteristics of the map are set out elsewhere in this application. In step S608, the generated instructions are transmitted to the client device 10, whereupon they are received via the cloud computing server interface module 112, and may be executed by the processor 108.
[0130] FIG. 8C shows an example of a dust distribution map which may be generated based on the dust distribution data which is generated according to e.g. the first aspect of the invention. In the dust distribution map, the lighter areas are those which include greater amounts of dust.
[0131] The remaining drawings relate to processes via which the robotic vacuum cleaner 20 may be controlled based on the generated dust distribution data. In order to initiate a cleaning operation, a user of the client device 10 may send a request, via an application stored thereon, to the robotic vacuum cleaner 20. The request may be conveyed via the robotic vacuum cleaner interface module 102 of the client device 10, and the client device interface module 202 of the robotic vacuum cleaner 30. In response, the control module 212 of the processor 204 of the robotic vacuum cleaner 20 may generate a cleaning plan for execution by the robotic vacuum cleaner. As shown in FIG. 12, in order for the control module 212 to generate the cleaning plan, or to plan a cleaning operation, the control module 212 of the processor 204 of the robotic vacuum cleaner 20 may receive the generated dust distribution data, for example from the cloud computing server 30. Specifically, in response to a request for a cleaning operation, the robotic vacuum cleaner 20 may transmit, via the cloud computing server interface module 208, a request the generated dust distribution data 316 from the memory 306 of the cloud computing server 30. The request may be received at the cloud computing server 30 via the robotic vacuum cleaner interface module 302. In response, the cloud computing server 30 may transmit the dust distribution data 316 from its memory to the robotic vacuum cleaner 20, via the robotic vacuum cleaner interface module 302. The control module 212 of the processor 204 of the robotic vacuum cleaner 20 may then receive the dust distribution data 316 via the cloud computing server interface module 208. This is shown as step S1200 of FIG. 12. Then, in step S1202, the control module 212 plans a cleaning operation based on the received dust distribution data 316. The planned cleaning operation 222 may subsequently be stored in the memory 206 of the robotic vacuum cleaner 20. More specifically, the cleaning route planning module 2124 of the control module 212 may determine a cleaning route, e.g. by determining an order in which various locations should be visited by the robotic vacuum cleaner 20 during the cleaning operation. Then, the operational parameter generation module 2122 may, for each location, determine an appropriate operational parameter or parameters to use. These two components may accordingly work together to form the cleaning plan.
[0132] In alternative implementations, these steps may take place at different locations. For example, the planning operation may take place on a control module (not shown) of the cloud computing server 30, and subsequently transmitted to the robotic vacuum cleaner 20 for storage in the memory 206. This approach has an advantage of outsourcing the potentially computationally demanding planning to the cloud computing server, thereby reducing the processing requirements of the processor 204 of the robotic vacuum cleaner 20.
[0133] As we have discussed elsewhere in this application, there are a number of operational parameters which may be varied during a clean, including suction power and the speed of rotation of a brush bar. In addition, the cleaning plan 222 may also specify an order of various locations to visit during the clean. FIG. 13 shows a schematic representation of a room containing predefined zones 1 to 16. Of course, in reality, the cleaning zones are likely to be more complicated than this, but this is for illustrative purposes only. FIG. 14 shows an example of a cleaning plan which specifies that the robotic vacuum cleaner 20 should move along the left-hand side of the room first, through zones with location IDs 1, 5, 9, and 13. For each zone, the plan specifies a motor power and brush bar speed. It will be appreciated that other operating parameters may also be defined in the plan. It should be stressed that the plan shown in FIG. 14 is a schematic representation, and the data may be stored in various forms. In FIG. 14 the data is shown in the form of a table for ease of understanding. It should be noted that the cleaning plan may include other parameters too, and the example shown in FIG. 14 should not be taken as limiting.
[0134] FIG. 15 shows an example of an alert generation process, in which trends in the dust distribution data may be monitored and an alert may be generated in the event that an unexpected deviation is detected. Specifically, in a first step S1300, alert generation module 2126 of the control module 212 of the processor 204 of the robotic vacuum cleaner 20 may receive the most recently generated dust distribution data.
[0135] Alternatively, this step may be performed on processor 108 of the client device 10 or processor 304 of the cloud computing server 30. Then, in step S1302, a deviation between the received dust distribution data and an expected dust distribution may be determined, by the same component as performed step S1300, or by another component. In step S1304, it is determined whether the deviation exceeds a predetermined deviation threshold, and if so, in step S1306, an alert is generated. If not, the process ends.
[0136] The features disclosed in the foregoing description, or in the following claims, or in the accompanying drawings, expressed in their specific forms or in terms of a means for performing the disclosed function, or a method or process for obtaining the disclosed results, as appropriate, may, separately, or in any combination of such features, be utilised for realising the invention in diverse forms thereof.
[0137] While the invention has been described in conjunction with the exemplary embodiments described above, many equivalent modifications and variations will be apparent to those skilled in the art when given this disclosure. Accordingly, the exemplary embodiments of the invention set forth above are considered to be illustrative and not limiting. Various changes to the described embodiments may be made without departing from the spirit and scope of the invention.
[0138] For the avoidance of any doubt, any theoretical explanations provided herein are provided for the purposes of improving the understanding of a reader. The inventors do not wish to be bound by any of these theoretical explanations.
[0139] Any section headings used herein are for organizational purposes only and are not to be construed as limiting the subject matter described.
[0140] Throughout this specification, including the claims which follow, unless the context requires otherwise, the word comprise and include, and variations such as comprises, comprising, and including will be understood to imply the inclusion of a stated integer or step or group of integers or steps but not the exclusion of any other integer or step or group of integers or steps.
[0141] It must be noted that, as used in the specification and the appended claims, the singular forms a, an, and the include plural referents unless the context clearly dictates otherwise. Ranges may be expressed herein as from about one particular value, and/or to about another particular value. When such a range is expressed, another embodiment includes from the one particular value and/or to the other particular value. Similarly, when values are expressed as approximations, by the use of the antecedent about, it will be understood that the particular value forms another embodiment. The term about in relation to a numerical value is optional and means for example +/10%.