(19)
(11) EP 4 509 027 A1

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication:
19.02.2025 Bulletin 2025/08

(21) Application number: 23191525.7

(22) Date of filing: 15.08.2023
(51) International Patent Classification (IPC): 
A47L 9/02(2006.01)
A47L 9/04(2006.01)
A47L 9/28(2006.01)
(52) Cooperative Patent Classification (CPC):
A47L 9/02; A47L 9/2826; A47L 9/2847; A47L 9/2831; A47L 9/0411; A47L 9/2842
(84) Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR
Designated Extension States:
BA
Designated Validation States:
KH MA MD TN

(71) Applicant: Versuni Holding B.V.
5656 AE Eindhoven (NL)

(72) Inventors:
  • BOONSTRA, Bonne Lambert
    5656 AE Eindhoven (NL)
  • VAN DER KOOI, Johannes Tseard
    5656 AE Eindhoven (NL)
  • BRADA, Ijpe Bernardus
    5656 AE Eindhoven (NL)

(74) Representative: Vollering, Stefanus Franciscus Maria 
Versuni Holding B.V. Microstad Professor Doctor Dorgelolaan 2
5611 BA Eindhoven
5611 BA Eindhoven (NL)

   


(54) IDENTIFYING A TRANSITION BETWEEN DIFFERENT CATEGORIES OF FLOORING


(57) A mechanism for detecting a transition of a nozzle of a vacuum cleaner between two categories of flooring. A respective trimmed estimator is determined for two different instances of sensor data, each representing a different period of time. A difference between the trimmed estimators is compared to a threshold to determine whether or not a transition has occurred.




Description

FIELD OF THE INVENTION



[0001] The present invention relates to the field of vacuum cleaners.

BACKGROUND OF THE INVENTION



[0002] In the field of vacuum cleaners, a significant amount of research is being performed to improve energy efficiency. This is particularly important with the increasing use and availability of battery-powered vacuum cleaners (cordless vacuum cleaners), because the runtime, weight and cost of such cleaners heavily depend upon the battery capacity.

[0003] To ensure sufficient run times with cordless vacuum cleaners, the suction power and hence air flow rate generated by such cordless vacuum cleaners are usually lower than those of conventional corded vacuum cleaners. To compensate for this decrease in suction power, most cordless vacuum cleaners include a nozzle containing a rotating brush. This increases and optimizes the cleaning performance of a cordless vacuum cleaner to make improved use of the limited amount of energy available in the battery.

[0004] In order to meet desired dust pick-up (DPU) requirements, generally more air flow rate or suction power is required on soft floor categories/types compared to hard floors categories/types. To help the consumer to automatically optimize between run time and cleaning performance on different floor categories/types, adaptive vacuum cleaning modes have been introduced in which the suction power and/or rotational speed of the brush is automatically adjusted based on the floor category/type.

[0005] It would therefore be desirable to provide a technique that can accurately identify when a category/type of flooring, on which the nozzle of a vacuum cleaner is positioned, has changed.

SUMMARY OF THE INVENTION



[0006] The invention is defined by the claims.

[0007] According to examples in accordance with an aspect of the invention, there is provided a computer-implemented method for identifying a transition of a nozzle of a vacuum cleaner from being positioned on a first category of flooring to a second category of flooring, wherein the hardness of the first category of flooring and the hardness of the second category of flooring are different.

[0008] The computer-implemented method comprises: obtaining first sensor data, captured during a first period of time, wherein the first sensor data is responsive to a torque load of a nozzle brush motor of the vacuum cleaner for rotating a brush located in the nozzle of the vacuum cleaner; processing the first sensor data to generate a first trimmed estimator providing a predefined scale parameter of the first sensor data; obtaining second sensor data, captured during a second period of time, wherein the second sensor data is responsive to the torque load of the nozzle brush motor, and wherein the second period of time is later than the first period of time and partially overlaps the first period of time; processing the second sensor data to generate a second trimmed estimator providing the predefined scale parameter of the second sensor data; determining a difference between the first trimmed estimator and the second trimmed estimator; and responsive to the determined difference breaching a first predetermined threshold, determining that the nozzle has transitioned from being positioned on the first category of flooring to the second category of flooring.

[0009] In the context of the present disclosure, each trimmed estimator is a statistical measure of dispersion that does not take account of outliers within the corresponding (instance of) sensor data. Thus, the trimmed estimator is a measure of dispersion within a central portion of the sensor data. The term trimmed estimator is well established in the field of statistical analysis. A scale parameter provides a statistical measure of dispersion, e.g., range, standard deviation, or variance.

[0010] It will be apparent that the sensor data comprises a plurality or sequence of values representing the torque provided by a motor of the vacuum cleaner over a particular period or window of time. The purpose of the proposed method is to determine or predict whether a floor-category transition has occurred.

[0011] The present disclosure recognizes that the dispersion of values within sensor data will change when the sensor data is for a period of time that includes a transition compared to sensor data for a period of time that does not include a transition. By monitoring the difference between statistical measures of dispersion (for different time periods), the occurrence of a transition can be detected. The proposed approach provides a noise-robust mechanism for detecting floor category transitions.

[0012] In some examples, the first trimmed estimator is a trimmed range of the first sensor data; and the second trimmed estimator is the trimmed range of the second sensor data.

[0013] Optionally, the first trimmed estimator is an interquartile range of the first sensor data; and the second trimmed estimator is the interquartile range of the second sensor data. An alternative label for the interquartile range is the 25% trimmed range. An alternative form of a trimmed range is an interdecile range (i.e., a 40% trimmed range). Other suitable types of trimmed ranges would be apparent to the skilled person (e.g., the 30% trimmed range or the 35% trimmed range).

[0014] In some examples, no less than 50% of the second period of time overlaps the first period of time.

[0015] Optionally, the first and second periods of time have the same length.

[0016] Some embodiments further comprise: obtaining third sensor data, captured during a third period of time, wherein: the third sensor data is responsive to the torque load of the nozzle brush motor; and the third period of time is later than the second period of time and starts no earlier than a predetermined time delay after the start of the first period of time; determining, as a first set of one or more percentile values, one or more values of the first sensor data representing a respective one or more first predetermined percentiles of the first sensor data; determining, as a second set of percentile values, one or more values of the third sensor data representing a respective one or more second predetermined percentiles of the third sensor data; and comparing at least one of the second set of percentile values to at least one of the first set of percentile values to predict whether or not the first category of flooring is harder than the second category of flooring.

[0017] Thus, embodiments also propose techniques for determining whether the transition is from a soft floor to a hard floor or vice versa.

[0018] In some embodiments, the first set of one or more percentile values comprises a first first percentile value, representing a first first predetermined percentile of the first sensor data; the second set of one or more percentile values comprises a first second percentile value, representing a first second predetermined percentile of the third sensor data, wherein the first second predetermined percentile is lower than the first first predetermined percentile; and determining that the first category of flooring is harder than the second category of flooring responsive to the first second percentile value being greater than the first first percentile value.

[0019] In some examples, the first first predetermined percentile is the Xth percentile, wherein the value of X is greater than 50 and less than 90, and preferably from 60 to 80; and the first second predetermined percentile is the Yth percentile, wherein the value of Y is greater than 10 and less than 50, and preferably from 20 to 40.

[0020] The value of X may be 75 and the value of Y may be 25.

[0021] In some examples, the first set of one or more percentile values comprises a second first percentile value, representing a second first predetermined percentile of the first sensor data; the second set of one or more percentile values comprises a second second percentile value, representing a second second predetermined percentile of the third sensor data, wherein the second second predetermined percentile is greater than the second first predetermined percentile; and determining that the first category of flooring is not harder than the second category of flooring responsive to the second second percentile value being less than the second first percentile value.

[0022] In some examples, the second first predetermined percentile is the Zth percentile, wherein the value of Z is from 10 to 49, and preferably from 20 to 40; and the second second predetermined percentile is the Vth percentile, wherein the value of Z is from 51 to 90, and preferably from 60 to 80.

[0023] Optionally, the value of Z is 25 and the value of V is 75.

[0024] There is also proposed a computer-implemented method for controlling the suction power of the vacuum cleaner and/or rotation speed of a brush located in a nozzle of the vacuum cleaner, the computer-implemented method comprising: determining whether or not the nozzle has transitioned from being positioned on a first category of flooring to a second category of flooring by performing the method of any of claims 1 to 12; and adjusting the suction power of the vacuum cleaner and/or rotation speed of the brush responsive to the determining that the nozzle has transitioned from being positioned on the first category of flooring to the second category of flooring.

[0025] There is also proposed a computer program product comprising computer program code means which, when executed on a computing device having a processing system, cause the processing system to perform all of the steps of any herein disclosed method.

[0026] There is also proposed a processing system for identifying a transition of a nozzle of a vacuum cleaner from being positioned on a first category of flooring to a second category of flooring, wherein the hardness of the first category of flooring and the hardness of the second category of flooring are different.

[0027] The processing system is configured to: obtain first sensor data, captured during a first period of time, wherein the first sensor data is responsive to a torque load of a nozzle brush motor of the vacuum cleaner for rotating a brush located in the nozzle of the vacuum cleaner; process the first sensor data to generate a first trimmed estimator providing a predefined scale parameter of the first sensor data; obtain second sensor data, captured during a second period of time, wherein the second sensor data is responsive to the torque load of the nozzle brush motor; process the second sensor data to generate a second trimmed estimator providing the predefined scale parameter of the second sensor data; determine a difference between the first trimmed estimator and the second trimmed estimator; and responsive to the determined difference breaching a first predetermined threshold, determine that the nozzle has transitioned from being positioned on the first category of flooring to the second category of flooring.

[0028] The processing system may be appropriately adapted to perform the functions of any herein disclosed method, and vice versa.

[0029] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiment(s) described hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS



[0030] For a better understanding of the invention, and to show more clearly how it may be carried into effect, reference will now be made, by way of example only, to the accompanying drawings, in which:

Figure 1 illustrates a system in which embodiments may be implemented;

Figure 2 illustrates a relationship between flooring hardness and motor current;

Figure 3 is a flowchart illustrating a proposed method;

Figure 4 illustrates the effect of a flooring transition on an interquartile range of sensor data;

Figure 5 is a flowchart illustrating another proposed approach;

Figure 6 illustrates the effect of a different flooring transition on an interquartile range of sensor data; and

Figure 7 illustrates a control scheme for a nozzle brush motor.


DETAILED DESCRIPTION OF THE EMBODIMENTS



[0031] The invention will be described with reference to the Figures.

[0032] It should be understood that the detailed description and specific examples, while indicating exemplary embodiments of the apparatus, systems and methods, are intended for purposes of illustration only and are not intended to limit the scope of the invention. These and other features, aspects, and advantages of the apparatus, systems and methods of the present invention will become better understood from the following description, appended claims, and accompanying drawings. It should be understood that the Figures are merely schematic and are not drawn to scale. It should also be understood that the same reference numerals are used throughout the Figures to indicate the same or similar parts.

[0033] The invention provides a mechanism for detecting a transition of a nozzle of a vacuum cleaner between two categories of flooring. A respective trimmed estimator is determined for two different instances of sensor data, each representing a different period of time. A difference between the trimmed estimators is compared to a threshold to determine whether or not a transition has occurred.

[0034] Figure 1 illustrates a system 100, comprising a (cordless) vacuum cleaner 110 and a processing system 120.

[0035] The vacuum cleaner 110 comprises a nozzle 111 having a brush 112. A motor (not visible) of the vacuum cleaner is configured to rotate the brush 112 located in the nozzle 111 of the vacuum cleaner 110. This motor may be labelled a nozzle brush motor for conciseness. The nozzle brush motor may be located in the nozzle 111 or elsewhere in the vacuum cleaner (e.g., connected to the brush 112 via one or more linkages).

[0036] The processing system 120 is configured for identifying a transition of a nozzle of a vacuum cleaner from being positioned on a first category of flooring to a second category of flooring. The hardness of the first category of flooring and the hardness of the second category of flooring are different. In other words, the system may be used to identify a transition between a "soft" floor (e.g., flooring with piles/fabrics, such as carpets) and a "hard" floor (e.g. flooring that does not involve piles or fabric, such as tiled, wooden or laminate flooring), and/or vice versa.

[0037] In the context of the present disclosure and the field of vacuum cleaning generally, a hardness of a flooring refers to an amount of fabric or piles of a floor or to a measure of brush-floor interaction. In particular, harder floors will have less interaction with a nozzle brush 112 (during vacuuming of the floor) than softer floors. A hard floor will have no fabric or piles, e.g., have a smooth surface. A soft floor will comprise fabric or piles. Generally, the greater the amount of fabric or piles, the softer the floor.

[0038] Thus, in the context of this specification, a "soft" floor is a category of flooring that experiences a higher brush-floor interaction than a hard floor.

[0039] For illustrative purposes only, the processing system 120 has been shown as separate to the vacuum cleaner 110 in Figure 1, but the processing system may, in practice, be housed within the vacuum cleaner itself. The processing system 120 is, itself, an embodiment of the invention.

[0040] The processing system 120 is configured to iteratively obtain an instance of sensor data 115, each instance of sensor data being responsive to a torque load of the nozzle brush motor, being the motor for rotating the brush 112 located in the nozzle 111 of the vacuum cleaner 110, over a period of time. More particularly, each instance of sensor data comprises a plurality of samples or measures of a parameter (the "torque load dependent parameter") that is responsive to the torque load of the nozzle brush motor.

[0041] For instance, an instance of sensor data 115 may contain one or more samples or measures of the current drawn by the nozzle brush motor to rotate the brush, which is proportional to the torque load. Thus, the current drawn by the motor may act as a torque load dependent parameter. The current drawn by the motor allows sensor data responsive to the torque load to be obtained easily, e.g., by measuring the voltage drop over a shunt resistor located in same circuit as the motor or by using a current sensor IC.

[0042] In the case of a brush motor that is controlled at a constant torque (i.e., draws a constant current), an instance of sensor data may comprise a plurality of measures or samples of the rotational speed of the motor. Thus, in these circumstances, the rotational speed of the motor is a torque load dependent parameter.

[0043] Other torque load dependent parameters, for use in sensor data, will be apparent to the skilled person, such as a total power drawn by the motor and/or data produced by a torque transducer/sensor.

[0044] Each instance of sensor data 115 will comprise a plurality of samples or measures of the torque load dependent parameter captured over a particular period of time. Thus, different instances of sensor data may contain data captured over different periods of time. Each period of time may have a same length, but start at a different point in time.

[0045] By way of example, an instance of sensor data 115 may comprise a data list or data buffer of a predetermined size, e.g., a list of a predetermined number of (sampled) motor current values. The processing system 120 may iteratively append or add new samples/measures of the torque load dependent parameter to the data list. Once the data list is full, the oldest entry may be dropped from the data list when a new entry is added to the data list. In this way, each instance of sensor data may represent a snapshot of a moving window of a sequence of values representative of a torque load of the motor.

[0046] For such examples, the length of a period of time will depend upon the sampling rate of a sensor of the torque load dependent parameter and/or a size of the data list or data buffer. As a working example, the sampling rate may be 20 Hz and the data list may be configurable to store up to 40 samples. In this scenario, the length of each period of time will be 2 seconds.

[0047] Conceptually, multiple different instances of sensor data can be obtained, each instance of sensor data being associated with a different window or period of time. The periods of time may overlap one another.

[0048] More specifically, the processing system is able to obtain at least first sensor data and second sensor data. The first and second sensor data are example instances of sensor data. The first sensor data is captured during a first period of time. The second sensor data is captured during a second period of time, later than the first period of time. The second period of time partially overlaps the first period of time.

[0049] The present disclosure provides a technique for using captured (instances of) sensor data to detect a transition between different categories of flooring, where different categories of flooring have different levels of hardness. Proposed approaches make use of the recognition that there is a difference in the average torque load applied by a nozzle brush motor (to a brush in the nozzle) to achieve a same number of rotations per minute for different levels of floor hardness. More particularly, it has been recognized that this difference in average torque load results in a significant and detectable difference in the measure of dispersion for sample data for a time period containing a transition compared to sample data for a time period not containing a transition.

[0050] Figure 2 illustrates a set of box plots 200 of motor current data for a nozzle brush motor with a fixed rotational speed setting for several different types of flooring. Thus, each box plot represents the range, spread and/or average of the motor torque load for different types of flooring. As previously explained, a motor current is responsive (e.g., proportional) to a torque load of the motor.

[0051] Floor #0 is a hard floor, while the other floors are carpets (i.e., softer floors than the hard floor) with different thicknesses/type of pile. As shown in Figure 2, the average torque load increases with reduced hardness of the floors. The precise variation between the different soft floors may depend upon a number of factors such as how the pile is woven (i.e., closed loop or open).

[0052] The present invention makes use of these properties to determine or detect a transition between flooring categories.

[0053] Figure 3 is a flowchart illustrates a computer-implemented method 300 for identifying the transition (between different categories of flooring). It will be clear that the method 300 may be employed by the processing system previously described and/or illustrated.

[0054] The computer-implemented method comprises a step 310 of obtaining the first sensor data. As previously explained, the first sensor data is captured during the first period of time.

[0055] The computer-implemented method further comprises a step 320 of processing the first sensor data to generate a first trimmed estimator providing a predefined scale parameter of the first sensor data.

[0056] A trimmed estimator is a statistical measure of dispersion that does not take account of outliers within the sensor data, e.g., a measure of dispersion within a central portion of the sensor data. The trimmed estimator therefore provides a measure of variation in the torque load of the motor (e.g., a measure of variation in the motor current) that is robust against noise/outliers in the sensor data 115.

[0057] In some examples, the trimmed estimator is a trimmed range, such as an interquartile range or an interdecile range. A trimmed range represents a difference between a value for an Ath percentile of the sensor data and a value for a Bth percentile of the sensor data, where A > B.

[0058] Approaches for determining a trimmed range of a plurality of samples or measures are readily apparent to the skilled person. In particular, the measures in the instance of sample data may be sorted in ascending order. The trimmed range can be determined by subtracting the value of the Bth percentile from the value of the Ath percentile in the ordered list, where B < A. To determine the interquartile range, A = 75 and B = 25.

[0059] The computer-implemented method further comprises a step 330 of obtaining the second sensor data. As previously mentioned, the second sensor data is captured during a second period of time that is later than the first period of time and partially overlaps the first period of time.

[0060] The computer-implemented method further comprises a step 340 of processing the second sensor data to generate a second trimmed estimator providing the predefined scale parameter of the second sensor data. The predefined scale parameter is the same for both the first and the second trimmed estimators (but measuring this predefined scale parameter for different time periods).

[0061] Some working examples for performing steps 320 and 340 assume that a data list of measures of the torque dependent parameter is iteratively updated with new measures (with old measures being deleted appropriately when the data list is full). The data list may be processed each time it is updated to identify a trimmed estimator. Each determined trimmed estimator is stored as an entry in an estimator buffer. Like the data list, when full, the oldest entry in each estimator buffer may be deleted to make room for a new entry.

[0062] In some examples, step 320 comprises identifying the trimmed estimator in the earliest entry in the estimator buffer as the first trimmed estimator. Correspondingly, step 340 may comprise identifying the trimmed estimator in the most central entry in the estimator buffer as the second trimmed estimator.

[0063] In another example, for use where the predefined scale parameter is a trimmed range, it is again assumed that assume that a data list of measures of the torque dependent parameter is iteratively updated with new measures (with old measures being deleted appropriately when the data list is full). The data list may be processed each time it is updated to identify the value of the Ath percentile of the data list and the value of the Bth percentile of the data list. Each percentile value may be stored in a respective buffer, e.g., an A percentile buffer and a B percentile buffer. Like the data list, when full, the oldest entry in each buffer may be deleted to make room for a new entry.

[0064] In such examples, step 320 may comprise determining the difference between the earliest entry in the A percentile buffer and the earliest entry in the B percentile buffer as the trimmed estimator. Correspondingly, step 340 may comprise determining the difference between the most central entry in the A percentile buffer and the most central entry in the B percentile buffer as the trimmed estimator.

[0065] The present disclosure recognizes that there will be a sudden or identifiable jump in the value of a trimmed estimator between an instance of sensor data for a first time period when the nozzle is on a single category of flooring and an instance of sensor data for a second time period that includes a transition (e.g., half-way through) from said (single) category of flooring to another category of flooring of a different hardness. This is because such a transition will cause the (average) value of the torque load dependent parameter to change significantly. Thus, there is a significant and detectable increase in the dispersion of the values for the torque load dependent parameter during the second time period.

[0066] An improved understanding of this principle may be understood with reference to Figure 4.

[0067] Figure 4 illustrates the effect of a transition, from a first category of flooring to a second category of flooring (softer than the first category of flooring) on the values for an instance of sensor data. More particularly, Figure 4 illustrates the value of the lower or first quartile Q1 of sensor data (over time) and the value of the upper or third quartile Q3 are illustrated for sensor data (over time).

[0068] As previously mentioned, an instance of sensor data contains a plurality of samples captured over a different period of time (which may be of the same length). Thus, each quartile Q1, Q3 of the sensor data represents a percentile/quartile value for a different period of time. Three example time periods are identified in Figure 4, namely a first example time period T1 (before transition), a second example time period T2 (during which time a transition occurs) and a third example time period T3 (after transition).

[0069] A transition from a first category of flooring to a second category of flooring occurs at a transition time, here: during the second example time period T2. After the transition occurs, the average value of the torque load dependent parameter will change (e.g., increase or decrease). For sensor data covering a period of time that includes the transition, this means that the sensor data will include values (having a first average) from before the transition and values (having a second, different average) after transition. The dispersion of the values of sensor data is therefore different for an instance of sensor data that covers a period of time only before or only after a transition and an instance of sensor data that includes a period of time that covers the transition.

[0070] Accordingly, if the Q3 of one instance of sensor data increases (compared to an earlier instance of sensor data), with no significant change to Q1, then it can be assumed that a transition must have occurred during the time period of the later instance of sensor data. Similarly, if the Q1 of one instance of sensor data decreases (compared to an earlier instance of sensor data), with no significant change to Q3, then it can be assumed that a transition must have occurred during the time period of the later instance of sensor data.

[0071] Put another way, if the interquartile range IQR (Q3-Q1) of an instance of sensor data changes significantly compared to an earlier instance of sensor data, then it can be inferred that a transition has occurred during one of the time periods. If the interquartile range of the sensor data for the earlier period of time is less than the interquartile range of the sensor data for the later period of time, then a transition will have occurred during the later period of time. Contrarily, if the interquartile range of the sensor data for the earlier period of time is more than the interquartile range of the sensor data for the later period of time, then a transition will have occurred during the earlier period of time.

[0072] The same principle outlined above holds true for other examples of trimmed estimators, e.g., a trimmed variance, a trimmed standard deviation or other trimmed ranges (e.g., an interdecile range). For instance, if the trimmed variance of one instance of sensor data is larger than the trimmed variance of an earlier instance of sensor data, then it can be assumed that a transition must have occurred during the time period of the later instance of sensor data.

[0073] Thus, in the context of the present disclosure, a trimmed estimator may be a trimmed range (e.g., an interquartile range or an interdecile range), a trimmed variance or a trimmed standard deviation (i.e., a variance or standard deviation of the values in the sensor data after truncating the lowest and highest C% of values, where C is a predetermined number).

[0074] The processing system 120 may determine a trimmed variance or standard deviation of an instance of sensor data by sorting the values in the sensor data 115 according to the size of the value, truncating the sensor data by removing a predetermined percentage of values from each end of the sorted sensor data, and calculating the variance or standard deviation of the truncated sensor data.

[0075] By monitoring the difference in trimmed estimators (for a same predefined scale parameter) between different instances of sensor data captured in overlapping time periods, a transition can thereby be reliably detected.

[0076] Figure 4 illustrates this understanding. In the illustrated example, no transition occurs during a first example time period T1, but a transition does occur during a second example time period T2. Accordingly, there is a large difference between the interquartile range IQR2 of the sensor data for the second example time period and the interquartile range IQR1 of the sensor data for the first example time period. A transition can therefore be detected by monitoring differences between trimmed estimators of different instances of sensor data for a threshold breach.

[0077] As a further demonstration, consider a scenario in which the second example time period T2 instead represents the first time period, and a third example time period T3 instead represents a second time period (after the first time period) during which no transition occurs. As illustrated in Figure 4, there is a large difference between the interquartile range IQR3 of the sensor data for the third example time period T3 and the interquartile range IQR2 of the sensor data for the second example time period.

[0078] Turning back to Figure 3, the computer-implemented method 300 further comprises a step 350 of determining a difference between the first trimmed estimator and the second trimmed estimator.

[0079] The method 300 also comprises a step 360 of, responsive to the determined difference breaching a first predetermined threshold, determining that the nozzle has transitioned from being positioned on the first category of flooring to the second category of flooring.

[0080] Step 360 may be performed, for example, by performing a sub-step 361 of determining whether the determined difference breaches the first predetermined threshold. Responsive to a positive determination in sub-step 361, step 360 may perform a sub-step 362 of identifying a transition. Otherwise, step 360 may perform a sub-step 363 of identifying no transition.

[0081] The value of the first predetermined threshold may be dependent upon the specific use case scenario. In particular, the value of the first predetermined threshold may be calibrated for a particular model of vacuum cleaner, e.g., using standard testing procedures. As an example, the value for the predetermined threshold may be set to be equal to 75% of a trimmed estimator of the predefined scale parameter for calibration sensor data that covers a time period in which a transition (from one category of flooring to another category of flooring) occurs halfway through.

[0082] As previously explained, each trimmed estimator may be a trimmed range, e.g., an interquartile range. This has been identified as being more robust to noise than other forms of trimmed estimator.

[0083] A trimmed range can be determined by identifying the Ath percentile of the corresponding sensor data and the Bth percentile of the corresponding percentile data (where B < A), and subtracting the Bth percentile from the Ath percentile.

[0084] Preferably, A - B ≥ 10, and more preferably, A - B ≥ 30. This provides improved robustness to noise or outlying values. In some examples, B is no less than 10, reducing an impact of outlying values on the trimmed estimator(s). In some examples, A is no more than 90, reducing an impacting of outlying values of the trimmed estimator(s). In some examples, 10 ≤ B < 50, e.g., the value of B may be from 10 to 49, and preferably from 20 to 40. In some examples, 50 < A ≤ 90, e.g., the value of A may be from 51 to 90, and preferably from 60 to 80.

[0085] To produce an interquartile range, A = 75 and B = 25.

[0086] Preferably, no less than 50% of the second period of time overlaps the first period of time.

[0087] Although the previously described mechanism facilitates an identification of when a transition has occurred, it will not immediately identifiable from this detection alone whether the transition is to a harder category of flooring or a softer category of flooring. It would be advantageous to facilitate identification of what form of transition has occurred.

[0088] Detection of the form of transition can be determined by comparing particular percentile values before and after the transition.

[0089] Figure 5 is a flowchart illustrating additional optional steps for further determining a type of transition. Thus, Figure 5 illustrates a method 500 that includes performing the method 300 previously described.

[0090] The method 500 comprises a step 510 of obtaining third sensor data, captured during a third period of time. Like the first and second sensor data, the third sensor data is responsive to the torque load of the nozzle brush motor. The third period of time is later than the second period of time and starts no earlier than a predetermined time delay after the start of the first period of time.

[0091] In particular, the third period of time should be a period of time during which (when the difference between the second trimmed estimator and first trimmer estimator breaches the predetermined threshold) a difference between a third trimmed estimator, providing the predefined scale parameter of the third sensor data, and the first trimmed estimator does not breach the predetermined threshold.

[0092] The method 500 also comprises a step 520 of determining, as a first set of one or more percentile values PV1s, one or more values of the first sensor data representing a respective one or more first predetermined percentiles of the first sensor data. This step may be performed as part of process 300. For instance, if the predefined scale parameter is a trimmed range, then one or more of the first predetermined percentiles may be a percentile used to determine the trimmed range. For the sake of illustrative clarity, this step is illustrated as a separate function.

[0093] The method 500 also comprises a step 530 of determining, as a second set of percentile values PV2s, one or more values of the third sensor data representing a respective one or more second predetermined percentiles of the third sensor data.

[0094] One working example of performing steps 520 and 530 assumes that a data list of measures of the torque dependent parameter is iteratively updated with new measures (with old measures being deleted appropriately when the data list is full). In some examples, the data list is processed each time it is updated to identify two or more predetermined percentile values, including values representing each of the percentiles of the one or more first predetermined percentiles and the one or more second predetermined percentiles. Each determined percentile value is stored in a respective percentile buffer (each buffer representing a different percentile). Like the data list, when full, the oldest entry in each percentile buffer may be deleted to make room for a new entry.

[0095] In this scenario, step 520 may comprise identifying the oldest entry in each percentile buffer(s) for the one or more first predetermined percentiles to produce the first set of percentile values PV1s. Similarly, step 550 may comprise identifying the newest entry in each percentile buffer(s) for the one or more second predetermined percentiles to produce the second set of percentile values PV1s.

[0096] The method also comprises a step 540 of comparing at least one of the second set of percentile values to at least one of the first set of percentile values to predict whether or not the first category of flooring is harder than the second category of flooring.

[0097] To facilitate detection of a movement from a hard floor to a soft floor, the first set of one or more percentile values comprises a first first percentile value and the second set of one or more percentile values comprises a first second percentile value. The first first percentile value represents a first first predetermined percentile (i.e., an Xth percentile) of the first sensor data. The second first percentile value represents a first second predetermined percentile (i.e., an Yth percentile) of the third sensor data. The first second predetermined percentile is less than the first first predetermined percentile (i.e., X > Y).

[0098] Preferably, X - Y ≥ 10, and more preferably, X - Y ≥ 30. This provides improved robustness to noise or outlying values. In some examples, Y is no less than 10, reducing an impact of outlying values on the method. In some examples, X is no more than 90, reducing an impacting of outlying values on the method.

[0099] In some examples, 10 ≤ Y < 50, e.g., the value of Y may be from 10 to 49, and preferably from 20 to 40. In some examples, 50 < X ≤ 90, e.g., the value of X may be from 51 to 90, and preferably from 60 to 80.

[0100] As a working example, the first first percentile value may be a 75th percentile of the first sensor data, i.e., a third quartile. The first second percentile may be a 25th percentile of the second sensor data, i.e., a first quartile.

[0101] Referring back to Figure 4, it can be easily seen how, in such circumstances, the third quartile Q31 of sensor data obtained over the first example time period T1 (before transition) is less than the first quartile Q13 of sensor data obtained over the third example time period T3 (after transition). This demonstrates how a transition from a harder floor to a softer floor can be detected.

[0102] Step 540 may comprise a sub-step 541 of determining whether the first first percentile value is less than the first second percentile value. Responsive to a positive determination, step 540 performs a sub-step 542 of determining that the first category of flooring is harder than the second category of flooring, i.e., that a hard to soft transition (Hard -> Soft) has occurred.

[0103] This approach recognizes that the average torque load of a nozzle brush motor is greater when operating on soft floors compared to hard floors (as illustrated in Figure 2). By comparing a high percentile value before a transition to a low percentile value after a transition, then it is possible to more accurately detect the occurrence of a transition from a hard floor to a soft floor.

[0104] By way of a working example, referring back to Figure 4, the first first percentile value may be a 75th percentile of the first sensor data, i.e., a third quartile. The first second percentile may be a 25th percentile of the second sensor data, i.e., a first quartile.

[0105] To facilitate detection of a movement from a hard floor to a soft floor, the first set of one or more percentile values comprises a second first percentile value and the second set of one or more percentile values comprises a second second percentile value. The second first percentile value represents a second first predetermined percentile (i.e., a Zth percentile) of the first sensor data. The second second percentile value represents a second second predetermined percentile (i.e., a Vth percentile) of the third sensor data. The second second predetermined percentile is more than the second first predetermined percentile (i.e., V > Z).

[0106] Preferably, V - Z ≥ 10, and more preferably, V - Z ≥ 30. This provides improved robustness to noise or outlying values. In some examples, Z is no less than 10, reducing an impact of outlying values on the method. In some examples, V is no more than 90, reducing an impact of outlying values on the method.

[0107] In some examples, 10 ≤ Z < 50, e.g., the value of Z may be from 10 to 49, and preferably from 20 to 40. In some examples, 50 < V ≤ 90, e.g., the value of V may be from 51 to 90, and preferably from 60 to 80.

[0108] As a working example, the second first percentile value may be a 25th percentile of the first sensor data, i.e., a first quartile. The second second percentile may be a 75th percentile of the second sensor data, i.e., a third quartile.

[0109] Preferably, X = V and Y = Z. This can reduce the number of percentile buffers that need to be updated (if used). Even more preferably, if the predefined scale parameter used in method 300 is a trimmed range, then A = X = V and B = Y = Z. This further reduces the number of percentile buffers that need to be stored and updated.

[0110] Step 540 may comprise a sub-step 453 of determining whether the second first percentile value is more than the second second percentile value. Responsive to a positive determination, step 540 performs a sub-step 545 of determining that the first category of flooring is softer than the second category of flooring, i.e., that a soft to hard transition (Soft - > Hard) has occurred.

[0111] Figure 6 illustrates the effect of a transition, from a first category of flooring to a second category of flooring (harder than the first category of flooring) on the values for instances of sensor data.

[0112] More particularly, Figure 6 illustrates the value of the lower or first quartile Q1 of sensor data (over time) and the value of the upper or third quartile Q3 are illustrated for sensor data (over time). Each quartile Q1, Q3 of the sensor data represents a percentile/quartile value for a different period of time. Three example time periods are identified in Figure 6, namely a fourth example time period T4 (before transition), a fifth example time period T5 (during which time a transition occurs) and a sixth example time period T6 (after transition).

[0113] Figure 6 illustrates how, during a soft to hard floor transition, the first quartile Q14 of sensor data obtained over the fourth example time period T4 (before transition) is greater than the third quartile Q36 of sensor data obtained over the sixth example time period T6 (after transition). This demonstrates how a transition from a softer floor to a harder floor can be detected.

[0114] Figure 7 illustrates a schematic overview of a (closed-loop) motor control system 700 for a brushed DC motor for rotating a brush in a nozzle of a vacuum cleaner, i.e., a nozzle brush motor, according to an embodiment of the invention.

[0115] The motor control system determines a measure for the rotational speed of the brush by periodically stopping power supply to the motor for a short time (e.g. less than a millisecond), and measuring the back-emf voltage during this time. The back-emf voltage is then used as a measure for the rotational speed of the brush. The motor control system uses the feedback information about the rotational speed to operate a closed-loop system that ensures the rotational speed of the motor corresponds to the RPM setpoint.

[0116] The motor control system may be operable in at least two modes, including a hard-floor mode and a soft-floor mode.

[0117] The RPM setpoint for the motor may be dependent upon the mode of operation. For instance, the RPM setpoint may be set to be lower for the hard-floor mode than for the soft floor mode.

[0118] The motor control system may be configured to switch its mode of operation responsive to a detected transition between categories of flooring. For instance, if a transition is detected whilst operating in the hard-floor mode, the motor control system may switch to the soft-floor mode. Similarly, if a transition is detected whilst operating in the soft-floor mode, the motor control system may switch to the hard-floor mode. Of course, in some embodiments the mode is only switched if the detected transition is of the relevant type (e.g., a hard -> soft transition will cause a switch to the soft-floor mode and a soft -> hard transition will cause a switch to the hard-floor mode).

[0119] As previously explained, detection of a transition makes use of sensor data responsive to a torque load of the motor. In some examples, the sensor data comprises samples or measures of the motor current (which changes responsive to the torque load of the motor). The motor current may be measured by measuring the voltage drop across a shunt resistor or by using a current sensor IC. The herein proposed approach can be used to perform transition detection.

[0120] For example, the motor control system of a vacuum cleaner may be configured to start a vacuuming session in a hard-floor mode, i.e., when turned on. Thus, the (nozzle brush) motor may initially have a low RPM. Once sufficient sensor data has been obtained, a determination as to whether a transition has occurred can be made. If it is determined that the nozzle of the vacuum cleaner has transitioned to the second category of flooring, then the motor control system may instead operate in the soft-floor mode (e.g., setting the RPM accordingly).

[0121] When the RPM setpoint is changed from a lower setting to a higher setting (or vice versa), the brush rotational speed error increases, and the motor control system adjusts the output (PWM duty cycle) to minimize the error.

[0122] The above-described example proposes a technique for modifying a rotation speed of a brush (by changing the RPM setpoint) responsive to any detected transitions. One or more other properties of the vacuum cleaner may additionally and/or alternatively be set responsive to detected transitions.

[0123] In particular, the operation mode of one or more other control systems may also and/or otherwise be responsive to a detected transition of a nozzle of a vacuum cleaner from being positioned on a first category of flooring to a second category of flooring.

[0124] As an example, a second motor control system may control the suction power of the vacuum cleaner, e.g., by adjusting a speed of a motor that drives suction of the vacuum cleaner. In some examples, the second motor control system is similarly operable in a hard-floor and soft-floor mode, and may switch modes in a similar manner to that previously described. The second control motor system may be configured to increase the suction power when operating in the soft-floor mode compared to the hard-floor mode.

[0125] Previously described examples propose techniques that propose to switch an operating mode of control systems responsive to a detected transition. Thus, when a transition is detected, an operating mode is switched. However, this is not essential. In some variations, a detected transition forms only part of the required conditions and/or criteria for switching the operating mode of any control system.

[0126] By way of example, to reduce a risk of false switching, a switch from a soft-floor mode to a hard-floor mode (for any control system) may require: detection of a transition, determination that the transition is from a softer floor to a harder floor; and a separate determination that the nozzle is (now) positioned on a hard floor, e.g., using an elsewhere described procedure. In particular, any other approach (described within this document or elsewhere) for determining a category of flooring upon which a nozzle of a vacuum could be employed.

[0127] Similarly, as another example, to reduce a risk of false switching, a switch from a hard-floor mode to a soft-floor mode (for any control system) may require: detection of a transition, determination that the transition is from a harder floor to a softer floor; and a separate determination that the nozzle is (now) positioned on a soft floor, e.g., using an elsewhere described procedure. In particular, any other approach (described within this document or elsewhere) for determining a category of flooring upon which a nozzle of a vacuum could be employed.

[0128] The skilled person would be readily capable of developing a processing system for carrying out any herein described method. Thus, each step of a flow chart may represent a different action performed by a processing system, and may be performed by a respective module of the processing system.

[0129] As discussed above, the system makes use of a processing system to perform the data processing. The processing system can be implemented in numerous ways, with software and/or hardware, to perform the various functions required. The processing system typically employs one or more microprocessors that may be programmed using software (e.g., microcode) to perform the required functions. The processing system may be implemented as a combination of dedicated hardware to perform some functions and one or more programmed microprocessors and associated circuitry to perform other functions.

[0130] Examples of circuitry that may be employed in various embodiments of the present disclosure include, but are not limited to, conventional microprocessors, application specific integrated circuits (ASICs), and field-programmable gate arrays (FPGAs). Thus, the processing system may be embodied as a digital and/or analog processing system.

[0131] In various implementations, the processing system may be associated with one or more storage media such as volatile and non-volatile computer memory such as RAM, PROM, EPROM, and EEPROM. The storage media may be encoded with one or more programs that, when executed on one or more processing systems and/or controllers, perform the required functions. Various storage media may be fixed within a processing system or controller may be transportable, such that the one or more programs stored thereon can be loaded into a processing system.

[0132] Variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality.

[0133] Functions implemented by a processing system may be implemented by a single processing system or by multiple separate processing units which may together be considered to constitute a "processing system". Such processing units may in some cases be remote from each other and communicate with each other in a wired or wireless manner.

[0134] The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.

[0135] A computer program may be stored/distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication systems.

[0136] If the term "adapted to" is used in the claims or description, it is noted the term "adapted to" is intended to be equivalent to the term "configured to". If the term "arrangement" is used in the claims or description, it is noted the term "arrangement" is intended to be equivalent to the term "system", and vice versa.

[0137] Any reference signs in the claims should not be construed as limiting the scope.


Claims

1. A computer-implemented method for identifying a transition of a nozzle of a vacuum cleaner from being positioned on a first category of flooring to a second category of flooring, wherein the hardness of the first category of flooring and the hardness of the second category of flooring are different, wherein the computer-implemented method comprises:

obtaining first sensor data, captured during a first period of time, wherein the first sensor data is responsive to a torque load of a nozzle brush motor of the vacuum cleaner for rotating a brush located in the nozzle of the vacuum cleaner;

processing the first sensor data to generate a first trimmed estimator providing a predefined scale parameter of the first sensor data;

obtaining second sensor data, captured during a second period of time, wherein the second sensor data is responsive to the torque load of the nozzle brush motor, and wherein the second period of time is later than the first period of time and partially overlaps the first period of time;

processing the second sensor data to generate a second trimmed estimator providing the predefined scale parameter of the second sensor data;

determining a difference between the first trimmed estimator and the second trimmed estimator; and

responsive to the determined difference breaching a first predetermined threshold, determining that the nozzle has transitioned from being positioned on the first category of flooring to the second category of flooring.


 
2. The computer-implemented method of claim 1, wherein:

the first trimmed estimator is a trimmed range of the first sensor data; and

the second trimmed estimator is the trimmed range of the second sensor data.


 
3. The computer-implemented method of claim 2, wherein:

the first trimmed estimator is an interquartile range of the first sensor data; and

the second trimmed estimator is the interquartile range of the second sensor data.


 
4. The computer-implemented method of any of claims 1 to 3, wherein no less than 50% of the second period of time overlaps the first period of time.
 
5. The computer-implemented method of any of claims 1 to 4, wherein the first and second periods of time have the same length.
 
6. The computer-implemented method of any of claims 1 to 5, further comprising, obtaining third sensor data, captured during a third period of time, wherein:

the third sensor data is responsive to the torque load of the nozzle brush motor; and

the third period of time is later than the second period of time and starts no earlier than a predetermined time delay after the start of the first period of time;

determining, as a first set of one or more percentile values, one or more values of the first sensor data representing a respective one or more first predetermined percentiles of the first sensor data;

determining, as a second set of percentile values, one or more values of the third sensor data representing a respective one or more second predetermined percentiles of the third sensor data;

comparing at least one of the second set of percentile values to at least one of the first set of percentile values to predict whether or not the first category of flooring is harder than the second category of flooring.


 
7. The computer-implemented method of claim 6, wherein:

the first set of one or more percentile values comprises a first first percentile value, representing a first first predetermined percentile of the first sensor data;

the second set of one or more percentile values comprises a first second percentile value, representing a first second predetermined percentile of the third sensor data, wherein the first second predetermined percentile is lower than the first first predetermined percentile; and

determining that the first category of flooring is harder than the second category of flooring responsive to the first second percentile value being greater than the first first percentile value.


 
8. The computer-implemented method of claim 7, wherein:

the first first predetermined percentile is the Xth percentile, wherein the value of X is greater than 50 and less than 90, and preferably from 60 to 80; and

the first second predetermined percentile is the Yth percentile, wherein the value of Y is greater than 10 and less than 50, and preferably from 20 to 40.


 
9. The computer-implemented method of claim 8, wherein the value of X is 75 and the value of Y is 25.
 
10. The computer-implemented method of any of claims 6 to 9, wherein:

the first set of one or more percentile values comprises a second first percentile value, representing a second first predetermined percentile of the first sensor data;

the second set of one or more percentile values comprises a second second percentile value, representing a second second predetermined percentile of the third sensor data, wherein the second second predetermined percentile is greater than the second first predetermined percentile; and

determining that the first category of flooring is not harder than the second category of flooring responsive to the second second percentile value being less than the second first percentile value.


 
11. The computer-implemented method of claim 10, wherein:

the second first predetermined percentile is the Zth percentile, wherein the value of Z is from 10 to 49, and preferably from 20 to 40; and

the second second predetermined percentile is the Vth percentile, wherein the value of Z is from 51 to 90, and preferably from 60 to 80.


 
12. The computer-implemented method of claim 11, wherein the value of Z is 25 and the value of V is 75.
 
13. A computer-implemented method for controlling the suction power of the vacuum cleaner and/or rotation speed of a brush located in a nozzle of the vacuum cleaner, the computer-implemented method comprising:

determining whether or not the nozzle has transitioned from being positioned on a first category of flooring to a second category of flooring by performing the method of any of claims 1 to 12; and

adjusting the suction power of the vacuum cleaner and/or rotation speed of the brush responsive to the determining that the nozzle has transitioned from being positioned on the first category of flooring to the second category of flooring.


 
14. A computer program product comprising computer program code means which, when executed on a computing device having a processing system, cause the processing system to perform all of the steps of the method according to any of claims 1 to 13.
 
15. A processing system for identifying a transition of a nozzle of a vacuum cleaner from being positioned on a first category of flooring to a second category of flooring, wherein the hardness of the first category of flooring and the hardness of the second category of flooring are different, wherein the processing system is configured to:

obtain first sensor data, captured during a first period of time, wherein the first sensor data is responsive to a torque load of a nozzle brush motor of the vacuum cleaner for rotating a brush located in the nozzle of the vacuum cleaner;

process the first sensor data to generate a first trimmed estimator providing a predefined scale parameter of the first sensor data;

obtain second sensor data, captured during a second period of time, wherein the second sensor data is responsive to the torque load of the nozzle brush motor;

process the second sensor data to generate a second trimmed estimator providing the predefined scale parameter of the second sensor data;

determine a difference between the first trimmed estimator and the second trimmed estimator; and

responsive to the determined difference breaching a first predetermined threshold, determine that the nozzle has transitioned from being positioned on the first category of flooring to the second category of flooring.


 




Drawing
















Search report









Search report