Identifying categories of floors

By calculating the vacuum cleaner motor torque load sensor data to generate trimming estimates, accurately identify the floor type, adjust the suction power and brush rotation speed, the problem of poor cleaning performance of cordless vacuum cleaners on different floors is solved, and the cleaning effect and battery utilization is improved.

CN120379575APending Publication Date: 2025-07-25VERSUNI HLDG BV
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202380082599.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-12-02
Filing Date
2023-11-22
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

The prior art is difficult to accurately identify the type of floor where the vacuum cleaner nozzle is located, resulting in poor cleaning performance of cordless vacuum cleaners on different floors.

Method used

Through a computer-implemented method, the torque load sensor data of the vacuum cleaner motor is used to generate trimming estimates, distinguish soft and hard floors, and adjust the suction power and the rotation speed of the brush.

Benefits of technology

Improves the cleaning performance of cordless vacuum cleaners on different floors, extends running time and reduces battery consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120379575A_ABST
    Figure CN120379575A_ABST
Patent Text Reader

Abstract

A method (600) and system nozzle for determining on which of a plurality of floor categories a nozzle (111) of a vacuum cleaner (110) is positioned, each floor category having a different stiffness. Data representative of a torque load of a motor that rotates a brush in a nozzle is obtained and processed to generate a trim estimate of a parameter that measures variations in the data. Responsive to the trim estimate (620) breaking through the predetermined threshold, it is determined that the nozzle is positioned on the softer floor category.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of vacuum cleaners and, in particular, to identifying the floor category of the nozzle of a vacuum cleaner. Background Art

[0002] In the field of vacuum cleaners, a great deal of research is being carried out to improve the energy efficiency of vacuum cleaners. This is particularly important with the increasing use and availability of battery-powered vacuum cleaners (cordless vacuum cleaners), as the runtime, weight, and cost of such cleaners depend largely on the battery capacity.

[0003] To ensure sufficient runtime for cordless vacuum cleaners, the suction power and air flow rate generated by such cordless vacuum cleaners are typically lower than those of conventional corded vacuum cleaners. To compensate for the decrease in suction power, most wireless vacuum cleaners include a nozzle that contains a rotating brush. This increases and optimizes the cleaning performance of the wireless vacuum cleaner to better utilize the limited available energy in the battery.

[0004] To meet the desired dust pick-up (DPU) requirements, soft floor categories / types generally require a greater air flow rate or suction power compared to hard floor categories / types. To help consumers automatically optimize runtime 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 are automatically adjusted based on the floor category / type.

[0005] Therefore, it is desirable to provide a technique that can accurately identify the category / type of the floor where the nozzle of a vacuum cleaner is located.

[0006] EP4059402A1 discloses a floor type identification device for a vacuum cleaner. The device includes a coupled current sensing unit and a processing and control module. When the suction head is moved, the drive current of the roller brush drive motor is detected by the current sensing unit, such that the processing and control module determines based on the change in the drive current that the suction head is moving on a specific floor having a hard surface, a short pile carpet surface, or a long pile carpet surface.

[0007] WO2016 / 096046A1 relates to a cleaning device and a method for a cleaning device that detects the type of surface over which the cleaning device moves. A method for a cleaning device to detect the type of surface over which the cleaning device moves includes: measuring a drive current of a rotatable cleaning member configured to remove debris from the surface over which the cleaning device moves; comparing the measured drive current value with at least one predetermined current value associated with a specific type of surface; and determining whether the measured drive current value corresponds to the predetermined current value, wherein the surface over which the cleaning device moves is considered to be the specific type.

[0008] EP2457486A2 discloses a robotic vacuum cleaner that includes: a main brush for sweeping or dispersing dust on the floor; a main brush motor for rotating the main brush; a revolutions per minute (RPM) detector for detecting the RPM of the main brush motor; and a control unit for determining the type of floor based on the RPM of the main brush motor obtained by the RPM detector and for controlling the operation of the robotic vacuum cleaner based on the determined type of floor. Based on the detected information related to the floor material, a carpet mode for cleaning only the carpet area and a hard floor mode for cleaning the hard floor area excluding the carpet area are given, which enables partial cleaning according to the cleaning area selected by the user and adjustment of the number of cleaning operations or cleaning intensity according to the floor material. Summary of the Invention

[0009] The present invention is defined by the claims.

[0010] According to an example of an aspect of the present invention, a computer-implemented method is provided for determining on which one of a plurality of floor categories a nozzle of a vacuum cleaner is positioned, the plurality of floor categories including a first floor category and a harder second floor category, the computer-implemented method including: obtaining sensor data in response to a torque load of a motor of the vacuum cleaner that rotates a brush located in the nozzle of the vacuum cleaner; processing the sensor data to generate a trimmed estimate of a scale parameter that provides the sensor data; and determining that the nozzle is positioned on the first floor category in response to the trimmed estimate breaching a first predetermined threshold.

[0011] In the context of the present disclosure, a trimmed estimate is a statistical measure of the spread that does not consider outliers within the sensor data. Thus, a trimmed estimate is a measure of the spread within the central portion of the sensor data. In the field of statistical analysis, the term "trimmed estimate" has been widely used. A scale parameter provides a statistical measure of the spread, such as range, standard deviation, or variance.

[0012] It is obvious that the sensor data includes a plurality of values or a series of values representing the torque provided by the motor of the vacuum cleaner within a specific time period or time window. The purpose of the proposed method is to determine or predict whether the nozzle of the vacuum cleaner is positioned on a soft floor (first category) or a hard floor (second category) during the said time period / time window.

[0013] It has been recognized that the torque variation provided by the brush rotation motor is greater when the nozzle is positioned on a softer floor compared to a hard floor. This is because during the use of the vacuum cleaner, the forward and backward movement of the nozzle causes different magnitudes of force to be applied between the brush and the floor, as the forward movement will increase the force between the brush and the floor, while the backward movement will decrease the force between the brush and the floor. When vacuum cleaning on a soft floor such as a carpet, the torque loads during the stationary phase, forward stroke, and backward stroke are significantly different. When vacuum cleaning on a soft floor, compared to a hard floor, the absolute change in the torque load of the motor is greater as the nozzle moves forward and backward. This is because the brush-surface interaction on a soft floor is much higher than that on a hard floor.

[0014] In some examples, the trimmed estimate is the trimmed range of the sensor data.

[0015] In some examples, the trimmed estimate is the interquartile range of the sensor data. Another label for the interquartile range is the 25% trimmed range. Another form of the trimmed range is the interval range (i.e., the 40% trimmed range). Other suitable types of trimmed ranges will be obvious to those skilled in the art (e.g., the 30% trimmed range or the 35% trimmed range).

[0016] In some examples, the computer-implemented method is configured to determine that the nozzle is positioned on the first floor category in response to the trimmed estimate reaching or exceeding a first predetermined threshold.

[0017] In some examples, the sensor data is a measure of the (electrical) current that drives the motor to rotate the brush. The current drawn by the motor is proportional to the torque load. The amount of current drawn by the motor is an indicator of the torque applied by the motor of the vacuum cleaner, i.e., an indicator of the torque load, and can be easily and accurately measured / monitored.

[0018] In some examples, the computer-implemented method includes determining that the nozzle is positioned on the second floor category in response to the trimmed estimate failing to breach a first predetermined threshold.

[0019] In some examples, the computer-implemented method further includes: in response to the trim estimate failing to breach a first predetermined threshold, determining a sensor data value representing a first predetermined percentile of the sensor data as the percentile value; in response to the percentile value breaching a second threshold, determining that the nozzle is positioned on a first floor category; and in response to the percentile value failing to breach the second threshold, determining that the nozzle is positioned on a second floor category.

[0020] Since the change in sensor data responds to the movement (forward and backward) of the nozzle, it is difficult to distinguish a stationary nozzle on the first floor category from a moving / stationary nozzle on the second floor category. This embodiment at least partially overcomes this problem by comparing the absolute percentile value with a threshold to distinguish between a harder floor and a softer floor.

[0021] This method is not as precise as using the change in sensor data and is sensitive to different vacuum cleaners and floors. Therefore, it is less preferred for identifying the category of the floor compared to using the change in sensor data.

[0022] In some examples, the first predetermined percentile is not the 0th percentile or the 100th percentile of the sensor data.

[0023] In some examples, the first predetermined percentile is the Xth percentile of the sensor data, where the value of X is from 10 to 90, and preferably from 25 to 75. Preferably, the predetermined percentile is the 75th percentile of the sensor data.

[0024] In some examples, the computer-implemented method further includes, in response to the trim estimate breaching the first predetermined threshold, setting the second threshold to be equal to: a sensor data value representing a second predetermined percentile of the sensor data; the trimmed average of the sensor data; or the average of a sensor data value representing a third predetermined percentile of the sensor data and a sensor data value representing a fourth predetermined percentile of the sensor data.

[0025] In other words, the second threshold is set based on the sensor data obtained when the nozzle is determined to be on the first floor category. Therefore, the second threshold is specific to a particular vacuum cleaner during a particular vacuuming period, thereby improving the reliability of the threshold for distinguishing between the first floor category and the second floor category.

[0026] In some examples, after setting the second threshold in response to the trim estimate breaching the first predetermined threshold, the value of the second threshold is less than the value of the first predetermined percentile of the sensor data.

[0027] There is also proposed a computer-implemented method for controlling the suction power of a vacuum cleaner and / or the rotational speed of a brush located in the nozzle of the vacuum cleaner, the computer-implemented method comprising: determining whether the nozzle is positioned on a first floor type or a second floor type by performing the above method; and setting the suction power of the vacuum cleaner and / or the rotational speed of the brush in response to the determined floor type.

[0028] In some examples, the step of setting the suction power and / or the rotational speed includes setting the suction power and / or the rotational speed to be higher when it is determined that the nozzle is positioned on the first floor type than when it is determined that the nozzle is positioned on the second floor type.

[0029] There is also provided 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 the steps of any of the above methods.

[0030] According to another aspect of the present invention, there is provided a processing system for determining on which one of a plurality of floor types the nozzle of a vacuum cleaner is positioned, the plurality of floor types including a first floor type and a harder second floor type, the processing system being configured to: obtain sensor data in response to the current drawn by a motor of the vacuum cleaner for rotating a brush located in the nozzle of the vacuum cleaner; process the sensor data to generate a trimmed estimate of a scale parameter providing the sensor data; and determine that the nozzle is positioned on the first floor type in response to the trimmed estimate breaching a first predetermined threshold.

[0031] These and other aspects of the present invention will become apparent and be elucidated with reference to the embodiments (one or more) described below. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] For a better understanding of the present invention and to more clearly show how the present invention may be implemented, reference will now be made, by way of example only, to the accompanying drawings in which:

[0033] Figure 1 There is illustrated a system according to an embodiment of the present invention, the system including a vacuum cleaner and a processing system for determining on which one of a plurality of floor types the nozzle of the vacuum cleaner is positioned;

[0034] Figure 2 There is illustrated example transient motor current data for a nozzle positioned on a soft floor and a harder floor;

[0035] Figure 3 There is illustrated a set of box plots of motor current data for several different types of floors;

[0036] Figure 4 Illustrates example transient motor current data for both a stationary nozzle and a reciprocating nozzle on hard and soft floors;

[0037] Figure 5 Illustrates a schematic overview of a motor control system for a brushed DC motor according to an embodiment of the present invention; and

[0038] Figure 6 Illustrates a computer-implemented method according to an embodiment of the present invention for determining on which of a plurality of floor classes a nozzle of a vacuum cleaner is positioned. DETAILED DESCRIPTION

[0039] The present invention will be described with reference to the accompanying drawings.

[0040] 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, the appended claims, and the accompanying drawings. It should be understood that the drawings are merely schematic and are not drawn to scale. It should also be understood that in all the drawings, the same reference numerals are used to indicate the same or similar components.

[0041] The present invention provides a method and system for determining on which of a plurality of floor classes a nozzle of a vacuum cleaner is positioned, each floor class having a different hardness. Data representative of the torque load of a motor that rotates a brush in the nozzle is obtained and processed to generate a trimmed estimate of a parameter that measures data variation. In response to the trimmed estimate breaching a predetermined threshold, it is determined that the nozzle is positioned on the softest floor class. Since this determination is based on data representative of the torque load of a motor that rotates a brush in the nozzle, this determination can be made at any time the motor is running, including when the vacuum cleaner is stationary on the floor.

[0042] Embodiments are based at least in part on the recognition that when the nozzle is on a soft floor, the interaction between the nozzle brush and the floor results in very different torque loads for the forward and backward strokes of the nozzle, but when the nozzle is on a hard floor, the torque load of the motor experiences very little variation.

[0043] For example, the illustrative embodiments can be used in vacuum cleaners having a rotating brush in the nozzle, particularly cordless vacuum cleaners having a rotating brush in the nozzle.

[0044] Figure 1FIG. 0 illustrates a system 100 according to an embodiment of the present invention, the system including a (wireless) vacuum cleaner 110 and a processing system 120 for determining on which one of a plurality of floor 130 categories the nozzle 111 of the vacuum cleaner is positioned. The plurality of floor categories includes a first floor category and a harder second floor category. In other words, the system can be used to determine whether the nozzle of the vacuum cleaner is positioned on a "soft" floor (e.g., a floor with pile / fabric, such as a carpet) or a "hard" floor (e.g., a floor that does not include pile or fabric, such as a tile floor, a wood floor, or a laminate floor). In the context of this specification, a "soft" floor is a floor category that experiences a higher brush-floor interaction than a hard floor.

[0045] For illustrative purposes, in Figure 1 , the processing system 120 has been shown as being separate from the vacuum cleaner 110, but in reality, the processing system can be housed within the vacuum cleaner itself. The processing system 120 itself is an embodiment of the present invention.

[0046] The processing system 120 is configured to obtain sensor data 115 in response to a torque load on a motor that rotates a brush 112 located in the nozzle 111 of the vacuum cleaner 110. For example, the sensor data 115 can be a measure of the current drawn by the motor to rotate the brush, which is proportional to the torque load. By measuring the voltage drop across a shunt resistor located in the same circuit as the motor, or by using a current sensor IC, the current drawn by the motor allows the sensor data in response to the torque load to be easily obtained. In the case of a brushed motor controlled at a constant torque (i.e., drawing a constant current), the sensor data in response to the motor torque load can include a measure of the motor rotation speed. To those skilled in the art, other types of sensor data in response to the torque load on the motor are obvious, such as the total power drawn by the motor and / or data generated by a torque sensor / sensors.

[0047] The sensor data 115 can include a list of data of a predetermined size, e.g., a list of a predetermined number of motor current values. Once the data list is full, the processing system 120 can obtain and process the sensor data, and can continue to obtain and process the sensor data each time the data list is updated. Once the data list is full, when a new entry is added to the data list, the earliest entry can be discarded from the data list. In other words, the sensor data can include a moving window representing a sequence of values of the motor torque load.

[0048] After obtaining the sensor data 115, the processing system 120 processes the sensor data to generate a trimmed estimate of the scale parameter that provides the sensor data. The scale parameter is a parameter that provides a statistical measure of the deviation (e.g., range, standard deviation, or variance). The trimmed estimate is a statistical measure of the deviation that does not consider the outliers within the sensor data, i.e., a measure of the deviation within the central portion of the sensor data.

[0049] Thus, the trimmed estimate provides a measure of the motor torque load variation (e.g., a measure of the motor current variation) that is robust to noise / outliers in the sensor data 115. Using the measure of the torque load variation allows for a more reliable determination of the floor category (e.g., "hard" or "soft") because, unlike the absolute value of the torque / current, it is less affected by factors such as product-to-product variations (e.g., variations in the motor, bristle hardness, etc.), wear, and contamination (e.g., bristles getting wrapped around the brush, etc.).

[0050] When vacuuming on a softer floor (e.g., carpet, etc.), the variation in the motor's torque load is much greater than when vacuuming on a harder floor (e.g., wood, tile, laminate, etc.). When vacuum cleaning on a harder floor, there is little difference between the torque loads during the forward and backward strokes of the nozzle 111 and when the nozzle is stationary. In contrast, compared to when the nozzle is stationary on a softer floor, the downward force applied during the forward stroke on a softer floor causes a greater indentation of the bristles, increasing the motor's torque load (and thus the motor current). During the backward stroke on a softer floor, a smaller downward force is applied and the nozzle is slightly lifted, resulting in a lower torque load (and thus a lower motor current) compared to when the nozzle is stationary on a softer floor. The higher friction of the bristles on the softer floor and the greater variation in the surface resistance of the softer floor also cause a greater variation in the torque load (and current) on the softer floor.

[0051] Figure 2 The greater variation in the motor current for the softer floor is illustrated in the Figure 2 which shows example transient motor current data 200 for a nozzle positioned on a softer floor and example transient motor current data 250 for a nozzle positioned on a harder floor.

[0052] Thus, by providing a measure of the motor torque load variation, the trimmed estimate can be used to distinguish between harder and softer floor categories. The trimmed estimate can be, for example, the trimmed range of the sensor data 115 (i.e., the range of values in the sensor data after truncating the lowest and highest X% of the values, where X is a predetermined number). For example, the trimmed estimate can be the interquartile range of the sensor data (i.e., X = 25). Those skilled in the art will understand that other trimmed ranges can be used, such as the decile range (X = 10).

[0053] Figure 3 Box plot 300 of a set of motor current data of motors with a hard floor rotation speed setting for several different types of floors is illustrated. Floor 0 is a hard floor, while the other floors are carpets of different thicknesses / fluff types. The height of each box represents the interquartile range of the motor current for each floor type. As Figure 3 shown, for the harder floor types, the interquartile range of the motor current is much smaller. The interquartile ranges of different soft floors vary depending on factors such as the fluff weaving pattern (i.e., closed-loop or open-loop).

[0054] Returning to Figure 1 , the processing system 120 can determine the trimming range by sorting the values in the sensor data 115 according to the magnitude of the values (i.e., from the minimum value to the maximum value), determining the Xth percentile and the (100 - X)th percentile, and subtracting the Xth percentile from the (100 - X)th percentile.

[0055] Other suitable trimming estimates for providing the scale parameter of the sensor data 115 will be apparent to those skilled in the art. For example, the trimming estimate can be the trimmed variance or the trimmed standard deviation (i.e., the variance or standard deviation of the values in the sensor data after truncating the lowest and highest X% of the values, where X is a predetermined number).

[0056] The processing system 120 can determine the trimmed variance or standard deviation by sorting the values in the sensor data 115 according to the magnitude of the values, truncating the sensor data by removing the values at a predetermined percentile from each end of the sorted sensor data, and calculating the variance or standard deviation of the truncated sensor data.

[0057] After determining the trimming estimate, the processing system 120 determines on which floor 130 category the nozzle 111 is positioned by comparing the trimming estimate with a threshold. In particular, in response to the trimming estimate breaching a first predetermined threshold, the processing system determines that the nozzle is positioned on the first floor category. For example (e.g., if the trimming estimate is the trimming range of the motor current), in response to the trimming estimate reaching or exceeding the first predetermined threshold, the processing system can determine that the nozzle is positioned on the first floor category. Alternatively, depending on the type of sensor data and the type of trimming estimate, in response to the trimming estimate dropping below the first predetermined threshold (i.e., in the case where a lower trimming estimate indicates a greater brush - floor interaction), the processing system can determine that the nozzle is positioned on the first floor category.

[0058] The torque load conditions and thus the first predetermined threshold can depend on the RPM / motor settings of the motor. Thus, in some examples, the first predetermined threshold can be selected from a set of first predetermined thresholds based on the RPM / motor settings of the motor. For example, if the motor has two RPM settings (one for harder floors, i.e., floors with lower brush-floor interaction; the other for soft floors, i.e., floors with higher brush-floor interaction), the set of first predetermined thresholds can include a lower threshold for when the motor is at a low RPM setting for a harder floor (with lower brush-floor interaction), and a higher threshold for when the motor is at a high RPM setting for a softer floor (with higher brush-floor interaction). The processing system 120 can determine which RPM setting the motor is in and select the first predetermined threshold from the set in response to the determined RPM setting.

[0059] The appropriate value of the first predetermined threshold for each RPM setting will depend on various factors, including the supply voltage of the motor, the hardness of the brush tufts, the brush tuft density, and the nominal indentation. For example, in a case where the supply voltage of the motor varies between 28.8V and 21V, if the trim estimate is the interquartile range of the motor current value, a first predetermined threshold in the range of 80 mA to 120 mA (e.g., 100 mA) can be used when the motor has a low RPM (i.e., in the "hard floor setting"), and a first predetermined threshold in the range of 180 mA to 220 mA (e.g., 200 mA) can be used when the motor has a higher RPM (i.e., in the "soft floor setting"). Those skilled in the art will readily understand how to determine the appropriate threshold for a specific supply voltage / nozzle setting.

[0060] In some examples, the processing system 120 can determine that the nozzle 111 is positioned on a second (harder) floor category in response to the trim estimate failing to breach the first predetermined threshold. In other words, the determination of which floor category the nozzle is positioned on can simply depend on whether the trim estimate breaches the first predetermined threshold.

[0061] When the nozzle of the vacuum cleaner is moved back and forth, using a single threshold of the trim estimate to determine whether the nozzle 111 is positioned on a first (softer) floor category or a second (harder) floor category provides an accurate determination of the floor 130 category. However, if the nozzle is stationary on a soft carpet, the sensor data 115 will not exhibit large changes caused by the stroke movement. This means that when the nozzle is actually on the first floor category but stationary, the processing system 120 can inaccurately determine that the nozzle is positioned on the second floor category (and can adjust the rotational speed accordingly, as described below).

[0062] Figure 4shows the difference in torque load between a stationary nozzle and a moving (forward and backward stroke) nozzle. The Figure 4 figure illustrates example transient motor current data for both a stationary nozzle and a nozzle moving back and forth on hard and soft floors. Curve 410 shows the motor current signal for the moving nozzle on the hard floor; curve 420 shows the motor current signal for the stationary nozzle on the hard floor; curve 430 shows the motor current signal for the moving nozzle on the soft floor; and curve 440 shows the motor current signal for the stationary nozzle on the soft floor.

[0063] As Figure 4 shown, when the nozzle is positioned on a hard floor, the motor current signal is relatively low and experiences relatively little change whether the nozzle is moving (curve 410) or stationary (curve 420). When the nozzle is positioned on a soft floor, due to the higher torque load, the motor current signal is relatively high for both moving and stationary nozzles, but the variation in the current signal depends very differently on whether the nozzle is moving or stationary. When the nozzle is moving, the motor current signal experiences a relatively large amount of change (curve 430), but the change in the motor current signal for the stationary nozzle on the soft floor (curve 440) is similar to that of the nozzle on the hard floor.

[0064] Returning to Figure 1 , if the processing system 120 erroneously identifies the nozzle 111 as being on a hard floor every time the nozzle stops moving back and forth on a soft floor and immediately adjusts the rotational speed of the motor accordingly whenever the nozzle is stationary for a few seconds or less, this will cause "nervous" behavior of the nozzle.

[0065] In some examples, the processing system can be configured to monitor the movement of the nozzle (e.g., using accelerometer data, etc.) and avoid or prevent using the proposed method to determine which floor category is in use when the nozzle is stationary (e.g., when the movement is below a predetermined movement threshold).

[0066] Alternatively and preferably, in response to the trimming estimate failing to breach a first predetermined threshold, the processing system 120 can also process the sensor data 115 to determine or predict whether the nozzle 111 is stationary (or nearly stationary) on a second (harder) floor category or on the first floor category.

[0067] For example, in response to the trimming estimate failing to breach a first predetermined threshold, the processing system 120 can determine the sensor data value representing a predetermined percentile of the sensor data as the percentile. Since the torque load of the softer floor is higher than that of the harder floor, the percentile value when the nozzle is stationary on the softer floor will be higher than the percentile value when the nozzle is on the harder floor.

[0068] The processing system 120 can therefore determine whether the nozzle 111 is positioned on the first floor category (even though the trim estimate fails to breach the first predetermined threshold) or on the second floor category by comparing the percentile value to the second threshold. In other words, the processing system can determine that the nozzle is positioned on the first floor category in response to the percentile value breaching the second threshold, and determine that the nozzle is positioned on the second floor category in response to the percentile value not breaching the second threshold.

[0069] Preferably, the predetermined percentile for determining the percentile value is not the 0th percentile or the 100th percentile of the sensor data. For example, the predetermined percentile may be the Xth percentile, where X is in the range from 10 to 90. Preferably, X is in the range from 25 to 75. For example, the predetermined percentile may be the 75th percentile (i.e., the third quartile) of the sensor data.

[0070] Suitable values for the second threshold may vary between vacuum cleaners and, for a particular vacuum cleaner, may vary depending on wear and contamination (e.g. hair entangled in the brush) and between different soft floors. Therefore, the second threshold is preferably a self-learned threshold that is defined / updated during each vacuuming period. In particular, the second threshold may be determined based on sensor data obtained when the nozzle is moved over a particular soft floor (i.e. when a change in the sensor data clearly indicates that the nozzle is on the first floor category).

[0071] For example, the processing system 120 may set the second threshold value equal to the value of the sensor data representing a second predetermined percentile of the sensor data in response to the trim estimate value breaching the first predetermined threshold value (i.e., when the nozzle 111 is moved over a softer floor). The second predetermined percentile should be lower than the first predetermined percentile such that the value of the second threshold value is less than the value of the first predetermined percentile of the sensor data. In other words, the second threshold value should be set such that the sensor data obtained when the nozzle is moved over a first floor category has a percentile value that breaches the second threshold value so that the second threshold value can distinguish between the categories of flooring.

[0072] In other examples, in response to the trim estimate breaching a first predetermined threshold, the processing system 120 can set the second threshold to be equal to the trimmed average of the sensor data (i.e., the average of the sensor data after truncating the lowest and highest X% of the values, where X is a predetermined number), or equal to the average of the value of the sensor data representing the third predetermined percentile of the sensor data and the value of the sensor data representing the fourth predetermined percentile of the sensor data. For example, the second threshold can be the average of the first quartile and the third quartile of the sensor data, using the trimmed estimate of the sensor data that breaches the first predetermined threshold. Again, the second threshold should be set such that the percentile value of the sensor data obtained when the nozzle is moved over the first floor category breaches the second threshold.

[0073] In some examples, as described above, having determined whether the nozzle 111 of the vacuum cleaner 110 is positioned on a first floor category or a second floor category, the processing system 120 sets the suction power and / or the rotational speed of the brush 112 located in the nozzle in response to the determined floor category. In particular, when it is determined that the nozzle is positioned on the first (softer) floor category, the suction power and / or the rotational speed can be set higher than when it is determined that the nozzle is positioned on the second (harder) floor category.

[0074] In other words, the processing system 120 can form a component of the motor control system. The motor control system regulates the rotational speed of the motor used to rotate the brush to maintain a desired cleaning performance. When a brushless DC motor is used to rotate the brush, the rotational speed is monitored by a motor controller. However, due to lower cost, brushed DC motors are more commonly used. A brushed motor requires additional means to monitor the rotational speed.

[0075] Figure 5 FIG. shows a schematic overview of a (closed-loop) motor control system 500 for a brushed DC motor according to an embodiment of the present invention. The motor control system determines a measure of the brush rotational speed by periodically powering off the motor for a short period of time (e.g., less than one millisecond) and measuring the back-emf (electromotive force) voltage during this period. The back-emf voltage is then used as a measure of the rotational speed of the brush. The motor control system uses the feedback information regarding the rotational speed to operate a closed-loop system to ensure that the rotational speed of the motor corresponds to the RPM set point.

[0076] As described above, by measuring the voltage drop across a shunt resistor or by using a current sensor IC to measure the motor current, and using a computer-implemented method to determine on which floor category the nozzle of the vacuum cleaner is positioned. Then, the RPM set point of the motor can be set in response to the determined floor type.

[0077] For example, a vacuum cleaner can be configured to start a vacuuming period in a hard floor state, i.e., when turned on, the vacuum cleaner initially has a low RPM and a total (fan and motor assembly) power set point. Once sufficient sensor data has been obtained, the floor category where the nozzle is located can be determined. If it is determined that the vacuum cleaner is positioned on a second (harder) floor category, the vacuum cleaner can continue at the low RPM and total power set point.

[0078] In response to determining that the vacuum cleaner is positioned on a first (softer) floor category, either because the vacuum cleaner starts on a softer floor or because the vacuum cleaner has transitioned from a harder floor to a softer floor, the RPM and total power set point can be adjusted to a higher setting. The RPM and total power set points for the first floor category and the second floor category can be predetermined, and the set points can be set by selecting from the predetermined set points according to the determined floor category.

[0079] Similarly, if the vacuum cleaner is operating in a soft floor state (i.e., has a high RPM and total power set point for the first floor category), then in response to determining that the vacuum cleaner is located on a second (harder) floor category, the RPM and total power set point can be adjusted to a lower setting.

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

[0081] When the motor ramps up or down to correct the rotation speed, since the motor generates torque to accelerate or decelerate the brush, the sensor data will not be representative of the floor category. Therefore, in some examples, the sensor data 115 may not be obtained or processed during a predetermined ramp period immediately following the RPM set point change. A ramp counter can be used to ensure that no sensor data is obtained / processed during the ramp period.

[0082] Once the ramp period ends, sensor data can continue to be obtained and processed to determine the floor category. Preferably, the data list containing the sensor data values is cleared in response to a change in the set point, so that only the sensor data obtained after reaching the new set point is used to determine the floor category.

[0083] In an example where a second threshold is used to distinguish between the nozzle on the second (harder) floor category and the stationary nozzle on the first floor category, the processing system 120 may maintain the RPM setpoint at a higher setting in response to the trim estimate failing to breach a first predetermined threshold and the percentile value breaching the second threshold (i.e., in response to determining that the nozzle is stationary on the first floor category), unless and until the nozzle has been stationary for a period of time exceeding a predetermined period. In response to determining that the nozzle has been stationary for a period of time exceeding the predetermined period, the processing system may adjust the RPM to a lower setting in order to reduce damage to the floor and increase the runtime of the battery. The predetermined period may be in the range of 5 seconds to 30 seconds.

[0084] Figure 6 FIG. illustrates a computer-implemented method 600, in accordance with an embodiment of the present invention, for determining on which of a plurality of floor categories a nozzle of a vacuum cleaner is positioned. The plurality of floor categories includes a first floor category and a harder second floor category.

[0085] The computer-implemented method 600 may be performed by any type of computer, including digital, analog, and mechanical computers. For example, method 600 may be performed by the aforementioned processing system 120.

[0086] The computer-implemented method 600 begins at step 610, where sensor data is obtained in response to a torque load on a motor of the vacuum cleaner, the motor being used to rotate a brush located in the nozzle of the vacuum cleaner.

[0087] At step 620, the sensor data is processed to generate a trim estimate that provides a scaling parameter of the sensor data.

[0088] At step 630, in response to the trim estimate breaching a first predetermined threshold, it is determined that the nozzle is positioned on the first floor category.

[0089] It should be understood that the disclosed methods are computer-implemented methods. As such, the concept of a computer program is also presented, the computer program including code means for implementing any of the described methods when the program is run on a processing system.

[0090] Those skilled in the art will be able to readily develop a processing system for performing any of the methods described herein. Thus, each step of the flowchart may represent a different action performed by the processing system and may be performed by a corresponding module of the processing system.

[0091] As described above, the system utilizes a processing system to perform data processing. The processing system can be implemented in various ways using software and / or hardware to perform the various required functions. The processing system typically employs one or more microprocessors, which can be programmed using software (such as microcode) to perform the required functions. The processing system can be implemented as a combination of dedicated hardware that performs some functions and one or more programmed microprocessors and associated circuitry that perform other functions.

[0092] Examples of circuits that can be used 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 can be embodied as a digital and / or analog processing system.

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

[0094] Based on a study of the drawings, the disclosure, and the appended claims, those skilled in the art can understand and implement variations of the disclosed embodiments when practicing the claimed invention. 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.

[0095] The functions implemented by the processing system can be implemented by a single processing system or by multiple individual processing units, which can together be considered to constitute a "processing system". Such processing units can in some cases be located remotely from each other and communicate with each other in a wired or wireless manner.

[0096] The fact that certain measures are recited only in mutually different dependent claims does not indicate that a combination of these measures cannot be used advantageously.

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

[0098] If the term "adapted to" is used in a claim or the specification, it should be noted that the term "adapted to" is intended to be equivalent to the term "configured to". If the term "means" is used in a claim or the specification, it should be noted that the term "means" is intended to be equivalent to the term "system", and vice versa.

[0099] Any reference signs in the claims shall not be construed as limiting the scope.

Claims

1. A computer-implemented method (600) for determining on which one of a plurality of floor categories a nozzle (111) of a vacuum cleaner (110) is positioned, the plurality of floor categories including a first floor category and a harder second floor category, the computer-implemented method (600) comprising: Obtaining sensor data (610) in response to a torque load of a motor of the vacuum cleaner (110), the motor being for rotating a brush (112) located in the nozzle (111) of the vacuum cleaner (100); Characterized in that Processing the sensor data (115) to generate a trimmed estimate (620) of a scale parameter providing the sensor data (115); and Determining that the nozzle (111) is positioned on the first floor category in response to the trimmed estimate breaching a first predetermined threshold.

2. The computer-implemented method (600) according to claim 1, wherein the trimmed estimate is a trimmed range of the sensor data (115).

3. The computer-implemented method (600) according to claim 2, wherein the trimmed estimate is an interquartile range of the sensor data (115).

4. The computer-implemented method (600) according to any one of claims 1 to 3, wherein the computer-implemented method (600) is configured to determine that the nozzle (111) is positioned on the first floor category in response to the trimmed estimate reaching or exceeding the first predetermined threshold.

5. The computer-implemented method (600) according to any one of claims 1 to 4, wherein the sensor data is a measure of the current drawn by the motor rotating the brush (112).

6. The computer-implemented method (600) according to any one of claims 1 to 5, wherein the computer-implemented method (600) includes determining that the nozzle (111) is positioned on the second floor category in response to the trimmed estimate failing to breach the first predetermined threshold.

7. The computer-implemented method (600) according to any one of claims 1 to 5, wherein the computer-implemented method further includes, in response to the trimmed estimate failing to breach the first predetermined threshold: Determining a value of the sensor data (115) representing a first predetermined percentile of the sensor data (115) as a percentile value; Determining that the nozzle (111) is positioned on the first floor category in response to the percentile value breaching a second threshold; and Determining that the nozzle (111) is positioned on the second floor category in response to the percentile value failing to breach the second threshold.

8. The computer-implemented method (600) according to claim 7, wherein the first predetermined percentile is not the 0th percentile or the 100th percentile of the sensor data (115).

9. The computer-implemented method (600) according to claim 8, wherein the first predetermined percentile is the Xth percentile of the sensor data (115), where the value of X is from 10 to 90, and preferably from 25 to 75.

10. The computer-implemented method (600) according to any one of claims 7 to 9, further comprising, in response to the trimmed estimate breaking through the first predetermined threshold, setting the second threshold to be equal to: The value of the sensor data (115) representing the second predetermined percentile of the sensor data; The trimmed mean of the sensor data (115); or The mean of the value of the sensor data (115) representing the third predetermined percentile of the sensor data (115) and the value of the sensor data (115) representing the fourth predetermined percentile of the sensor data (115).

11. The computer-implemented method (600) according to claim 10, wherein after setting the second threshold in response to the trimmed estimate breaking through the first predetermined threshold, the value of the second threshold is less than the value of the first predetermined percentile of the sensor data (115).

12. A computer-implemented method (600) for controlling the suction power of a vacuum cleaner (110) and / or the rotational speed of a brush (112) located in a nozzle (111) of the vacuum cleaner (110), the computer-implemented method (600) comprising: Determining whether the nozzle (111) is positioned on a first floor category or a second floor category by performing the method according to any one of claims 6 to 11; and characterized in that Setting the suction power of the vacuum cleaner (110) and / or the rotational speed of the brush (112) in response to the determined floor category.

13. The computer-implemented method (600) according to claim 12, wherein the step of setting the suction power and / or the rotational speed of the vacuum cleaner (110) comprises: When it is determined that the nozzle (111) is positioned on the first floor category, setting the suction power and / or rotational speed of the vacuum cleaner (110) to be higher than when it is determined that the nozzle (111) is positioned on the second floor category.

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 the steps of the method according to any one of claims 1 to 13.

15. A processing system for determining on which one of a plurality of floor categories a nozzle (111) of a vacuum cleaner (110) is positioned, the plurality of floor categories including a first floor category and a harder second floor category, the processing system being configured to: Obtain sensor data in response to the current drawn by a motor of the vacuum cleaner (110) for rotating a brush (112) located in the nozzle (111) of the vacuum cleaner (110); Characterized in that Process the sensor data to generate a trimmed estimate (620) of a scale parameter providing the sensor data; and In response to the trimming estimate breaking through a first predetermined threshold, it is determined that the nozzle (111) is positioned on the first floor category.

Citation Information

Patent Citations

  • Robot cleaner and control method thereof

    EP2457486A2

  • Floor types identifying device, dust suction device having the same, and vacuum cleaner having the same

    EP4059402A1

  • Measuring brush roll current for determining type of surface

    WO2016096046A1