FIELD OF THE INVENTION
[0001] The present invention relates to the field of vacuum cleaners, and in particular
to identifying a category of flooring on which a nozzle of a vacuum cleaner is placed.
BACKGROUND OF THE INVENTION
[0002] In the field of vacuum cleaners, a significant amount of research is being performed
to improve the energy efficiency of a vacuum cleaners. 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
a category/type of flooring on which the nozzle of a vacuum cleaner is positioned.
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 determining on which of a plurality of categories
of flooring a nozzle of a vacuum cleaner is positioned, the plurality of categories
of flooring including a first category of flooring and a second, harder category of
flooring, the computer-implemented method comprising: obtaining sensor data responsive
to a torque load of a motor of the vacuum cleaner for rotating a brush located in
the nozzle of the vacuum cleaner; processing the sensor data to generate a trimmed
estimator providing a scale parameter of the sensor data; and determining that the
nozzle is positioned on the first category of flooring responsive to the trimmed estimator
breaching a first predetermined threshold.
[0008] In the context of the present disclosure, the trimmed estimator is a statistical
measure of dispersion that does not take account of outliers within the 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.
[0009] 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, during said period/window of time, the nozzle of the vacuum cleaner was located
on soft (the first category) or hard (the second category) flooring.
[0010] It has been recognized that a variation in the torque provided by the brush-rotating
motor is greater when the nozzle is positioned on softer flooring compared to hard
flooring. This is because the forward and backward movement of the nozzle during use
of the vacuum cleaner causes different amounts of force to be applied between the
brush and the floor, as a forward motion would increase the force between brush and
floor with backward motion decreasing the force between brush and floor. When vacuum
cleaning on soft floors such as carpets, the torque load during the stationary phase,
forward stroke and backward stroke is significantly different. When vacuum cleaning
on a soft floor, the absolute change in the torque load of the motor as the nozzle
is moved forward and backward is greater when vacuum cleaning on a soft floor compared
to a hard floor. This is because the brush-surface interaction on soft floors is much
higher than that of hard floors.
[0011] In some examples, the trimmed estimator is a trimmed range of the sensor data.
[0012] In some examples, the trimmed estimator is an interquartile range of the 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).
[0013] In some examples, the computer-implemented method is configured to determine that
the nozzle is positioned on the first category of flooring responsive to the trimmed
estimator reaching or exceeding the first predetermined threshold.
[0014] In some examples, the sensor data is a measure of the (electrical) current drawn
by the motor to rotate the brush. The current drawn by the motor is proportional to
the torque load. An amount of current drawn by the motor is an indicator of the torque
applied by the motor of the vacuum cleaner, i.e., of the torque load, and can be easily
and accurately measured/monitored.
[0015] In some examples, the computer-implemented method comprises determining that the
nozzle is positioned on the second category of flooring responsive to the trimmed
estimator failing to breach the first predetermined threshold.
[0016] In some examples, the computer implemented method further comprises, responsive to
the trimmed estimator failing to breach the first predetermined threshold: determining,
as a percentile value, the value of the sensor data representing a first predetermined
percentile of the sensor data; responsive to the percentile value breaching a second
threshold, determining that the nozzle is positioned on the first category of flooring;
and responsive to the percentile value failing to breach the second threshold, determining
that the nozzle is positioned on the second category of flooring.
[0017] As the variations in the sensor data are responsive to movement (forwards and backwards)
of the nozzle, it is difficult to discriminate between a stationary nozzle on a first
category of flooring and a moving/stationary nozzle on a second category of flooring.
This embodiment at least partially overcomes this issue by comparing an absolute percentile
value to a threshold to discriminate between harder and softer floorings.
[0018] This approach is less accurate then making use of variations in the sensor data,
as well as being sensitive to different vacuum cleaners and floors. It is therefore
less preferred for identifying a category of flooring compared to using variations
in the sensor data.
[0019] In some examples, the first predetermined percentile is not the 0
th percentile or the 100
th percentile of the sensor data.
[0020] In some examples, the first predetermined percentile is the Xth percentile of the
sensor data, wherein the value of X is from 10 to 90 and preferably from 25 to 75.
Preferably, the predetermined percentile is the 75
th percentile of the sensor data.
[0021] In some examples, the computer-implemented method further comprises, responsive to
the trimmed estimator breaching the first predetermined threshold, setting the second
threshold to be equal to: the value of the sensor data representing a second predetermined
percentile of the sensor data; a trimmed mean of the sensor data; or the average of
the value of the sensor data representing a third predetermined percentile of the
sensor data and the value of the sensor data representing a fourth predetermined percentile
of the sensor data.
[0022] In other words, the second threshold is set based on sensor data obtained when the
nozzle is determined to be on the first category of flooring. The second threshold
is thus specific to a particular vacuum cleaner in a particular vacuuming session,
improving a reliability of the threshold for distinguishing between the first and
second categories of flooring.
[0023] In some examples, after setting the second threshold responsive to the trimmed estimator
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.
[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
the nozzle is positioned on a first category of flooring or a second category of flooring
by performing the method described above; and setting the suction power of the vacuum
cleaner and/or rotation speed of the brush responsive to the determined category of
flooring.
[0025] In some examples, the step of setting the suction power and/or rotation speed comprises
setting the suction power and/or rotation speed to be higher when it is determined
that the nozzle is positioned on the first category of flooring than when it is determined
that the nozzle is positioned on the second category of flooring.
[0026] There is also provided 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 of the methods described
above.
[0027] According to another aspect of the invention, there is provided a processing system
for determining on which of a plurality of categories of flooring a nozzle of a vacuum
cleaner is positioned, the plurality of categories of flooring including a first category
of flooring and a second, harder category of flooring, the processing system being
configured to: obtain sensor data responsive to a 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 estimator providing a scale parameter of the
sensor data; and determine that the nozzle is positioned on the first category of
flooring responsive to the trimmed estimator breaching a first predetermined threshold.
[0028] 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
[0029] 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, comprising a vacuum cleaner and a processing system
for determining on which of a plurality of categories of flooring a nozzle of the
vacuum cleaner is positioned, according to an embodiment of the invention;
Figure 2 illustrates example transient motor current data for a nozzle positioned
on a soft floor and on a harder floor;
Figure 3 illustrates a set of box plots of motor current data for several different
types of flooring;
Figure 4 illustrates example transient motor current data on a hard floor and a soft
floor for both a stationary nozzle and a nozzle being moved back and forth;
Figure 5 illustrates a schematic overview of a motor control system for a brushed
DC motor, according to an embodiment of the invention; and
Figure 6 illustrates a computer-implemented method for determining on which of a plurality
of categories of flooring a nozzle of a vacuum cleaner is positioned, according to
an embodiment of the invention.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0030] The invention will be described with reference to the Figures.
[0031] 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.
[0032] The invention provides a method and system for determining on which of a plurality
of categories of flooring, each having a different hardness, a nozzle of a vacuum
cleaner is positioned. Data representative of a torque load of a motor that rotates
a brush in the nozzle is obtained and processed to generate a trimmed estimator of
a parameter that measures variation in the data. A determination that the nozzle is
positioned on the softest category of flooring is made in response to the trimmed
estimator breaching a predetermined threshold. Since the determination is based on
data representative of a torque load of the motor that rotates the brush in the nozzle,
the determination may be made at any time when the motor is running, including when
the vacuum cleaner is stationary on the flooring.
[0033] Embodiments are at least partly based on the realization that the interactions between
the nozzle brush and the flooring result in very different torque loads for forward
strokes and backward strokes of the nozzle when it is on a soft floor, but the torque
load of the motor experiences very little variation when the nozzle is on a hard floor.
[0034] Illustrative embodiments may, for example, be employed in vacuum cleaners that have
a rotating brush in the nozzle, and in particular, in cordless vacuum cleaners with
a rotating brush in the nozzle.
[0035] Figure 1 illustrates a system 100, comprising a (cordless) vacuum cleaner 110 and
a processing system 120 for determining on which of a plurality of categories of flooring
130 a nozzle 111 of the vacuum cleaner is positioned, according to an embodiment of
the invention. The plurality of categories of flooring include a first category of
flooring and a second, harder category of flooring. In other words, the system may
be used to determine whether the nozzle of the vacuum cleaner is positioned on a "soft"
floor (e.g. flooring with piles/fabrics, such as carpets) or a "hard" floor (e.g.
flooring that does not involve piles or fabric, such as tiled, wooden or laminate
flooring). 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.
[0036] For illustrative purposes, 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.
[0037] The processing system 120 is configured to obtain sensor data 115 responsive to a
torque load of a motor for rotating a brush 112 located in the nozzle 111 of the vacuum
cleaner 110. For instance, the sensor data 115 may be a measure of the current drawn
by the motor to rotate the brush, which is proportional to the torque load. The current
drawn by the motor allows sensor data responsive to the torque load to be obtained
easily, by measuring the voltage drop over a shunt resistor located in same circuit
as the motor or by using a current sensor IC. In the case of a brush motor that is
controlled at a constant torque (i.e. draws a constant current), the sensor data responsive
to a torque load of the motor may comprise a measure of the rotational speed to the
motor. Other types of sensor data responsive to a torque load of the motor 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.
[0038] The sensor data 115 may comprise a data list of a predetermined size, e.g. a list
of a predetermined number of motor current values. The processing system 120 may obtain
and process the sensor data once the data list is full, and may continue to obtain
and process the sensor data each time the data list is updated. 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 other words, the sensor data may comprise a moving window of
a sequence of values representative of a torque load of the motor.
[0039] Having obtained the sensor data 115, the processing system 120 processes the sensor
data to generate a trimmed estimator providing a scale parameter of the sensor data.
A scale parameter is a parameter that provides a statistical measure of dispersion
(e.g. range, standard deviation or variance). A trimmed estimator is a statistical
measure of dispersion that does not take account of outliers within the sensor data,
i.e. a measure of dispersion within a central portion of the sensor data.
[0040] 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. The use of a measure of variation in torque
load allows a category of flooring (e.g. "hard" or "soft") to be determined more reliably,
as, unlike absolute values of torque/current, it is less affected by factors such
as product-to-product variation (e.g. variation in motors, brush hair stiffness, etc.),
wear and pollution (e.g. hair entanglement around the brush etc.).
[0041] The variation in the torque load of the motor is much larger when vacuuming on softer
floors (e.g. carpets and the like) than on harder floors (e.g. wood, tiles, laminate
and the like). When vacuum cleaning on a harder floor, there is little difference
between the torque load during forward and backward strokes of the nozzle 111 and
while the nozzle is stationary. By contrast, the downward force applied during a forward
stroke on a softer floor results in a larger indentation of the brush hairs, increasing
the torque load of the motor (and therefore the motor current) compared to when the
nozzle is stationary on the softer floor. During a backward stroke on a softer floor,
less downward force is applied, and the nozzle is lifted slightly, resulting in a
lower torque load (and therefore a lower motor current) compared to when the nozzle
is stationary on the softer floor. The higher friction of the brush hairs on softer
floors and the higher variation in surface resistance for softer floors also contribute
to the larger variations in torque load (and therefore current) on softer floors.
[0042] The larger variation in motor current for softer floors is illustrated in Figure
2, which shows example transient motor current data 200 for a nozzle positioned on
a soft floor and example transient motor current data 250 for a nozzle positioned
on a harder floor.
[0043] Thus, the trimmed estimator, by providing a measure of variation in the torque load
of the motor, may be used to distinguish between harder and softer categories of flooring.
The trimmed estimator may, for example, be a trimmed range of the sensor data 115
(i.e. the range of the values in the sensor data after truncating the lowest and highest
X% of values, where X is a predetermined number). For instance, the trimmed estimator
may be an interquartile range of the sensor data (i.e. X = 25). The skilled person
will appreciate that other trimmed ranges may be used, such as the interdecile range
(X = 10).
[0044] Figure 3 illustrates a set of box plots 300 of motor current data for a motor with
a hard floor rotational speed setting for several different types of flooring. Floor
#0 is a hard floor, while the other floors are carpets with different thicknesses/type
of pile. The height of each box represents the interquartile range of the motor current
for each type of flooring. As shown in Figure 3, the interquartile range of the motor
current is much smaller for harder flooring types. The interquartile range varies
between the different soft floors, according to factors such as how the pile is woven
(i.e. closed loop or open).
[0045] Returning to Figure 1, the processing system 120 may determine a trimmed range by
sorting the values in the sensor data 115 according to the size of the value (i.e.
from the smallest value to the largest), determining the Xth percentile and the (100
- X)th percentile, and subtracting the Xth percentile from the (100 - X)th percentile
to the determine the trimmed range.
[0046] Other suitable trimmed estimators providing a scale parameter of the sensor data
115 will be apparent to the skilled person. For example, the trimmed estimator may
be 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
X% of values, where X is a predetermined number).
[0047] The processing system 120 may determine a trimmed variance or standard deviation
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.
[0048] Having determined the trimmed estimator, the processing system 120 determines which
category of flooring 130 the nozzle 111 is positioned on by comparing the trimmed
estimator to a threshold value. In particular, the processing system determines that
the nozzle is positioned on the first category of flooring responsive to the trimmed
estimator breaching a first predetermined threshold. For instance (e.g. if the trimmed
estimator is a trimmed range of the motor current), the processing system may determine
that the nozzle is positioned on the first category of flooring responsive to the
trimmed estimator reaching or exceeding the first predetermined threshold. Alternatively,
depending on the type of sensor data and the type of trimmed estimator, the processing
system may determine that the nozzle is positioned on the first category of flooring
responsive to the trimmed estimator falling below the first predetermined threshold
(i.e. in cases where a lower trimmed estimator indicates a greater brush-floor interaction).
[0049] The torque loading conditions, and therefore the first predetermined threshold, may
depend on the RPM/motor setting of the motor. Thus, in some examples, the first predetermined
threshold may be selected from a set of first predetermined thresholds according to
the RPM/motor setting of the motor. For instance, if the motor has two RPM settings
(one for harder floors, i.e. floors with a lower brush-floor interaction; the other
for softer floors, i..e. floors with a higher brush-floor interaction), the set of
first predetermined thresholds may comprise a lower threshold for use when the motor
is on the low RPM setting for harder floors (having a lower brush-floor interaction)
and a higher threshold for use when the motor is on the high RPM setting for softer
floors (having a higher brush-floor interaction) . The processing system 120 may determine
which RPM setting the motor is on, and select the first predetermined threshold from
the set responsive to the determined RPM setting.
[0050] Suitable values for the first predetermined threshold for each RPM setting will depend
on various factors, including the supply voltage of the motor, the stiffness of the
brush tuft, the brush tuft density and nominal indentation. For example, in the case
of a motor with a supply voltage that varies between 28.8 V and 21 V, if the trimmed
estimator is an interquartile range of motor current values, a first predetermined
threshold in the range of 80 mA to 120 mA (e.g. 100 mA) may be used when the motor
has a low RPM (i.e. is in a "hard floor setting") and a first predetermined threshold
in the range of 180 mA to 220 mA (e.g. 200 mA) may be used when the motor has a higher
RPM (i.e. is in a "soft floor setting"). The skilled person will readily understand
how to determine suitable threshold values for a particular supply voltage/nozzle
set-up.
[0051] In some examples, the processing system 120 may determine that the nozzle 111 is
positioned on the second (harder) category of flooring responsive to the trimmed estimator
failing to breach the first predetermined threshold. In other words, the determination
as to which category of flooring the nozzle is positioned on may simply depend on
whether or not the trimmed estimator breaches the first predetermined threshold.
[0052] The use of a single threshold for the trimmed estimator to determine whether the
nozzle 111 is positioned on a floor belonging to the first (softer) category or the
second (harder) category provides an accurate determination of the category of flooring
130 when the nozzle of the vacuum cleaner is being moved back and forth. However,
if the nozzle is stationary on a softer carpet, the sensor data 115 does not exhibit
the high variation caused by stroking movement. This means that the processing system
120 may inaccurately determine that the nozzle is positioned on the second category
of flooring (and may adjust the rotational speed accordingly, as described below)
when the nozzle is actually on the first category of flooring, but stationary.
[0053] The difference in torque load between stationary and moving (with forward and backward
strokes) nozzles is shown in Figure 4, which illustrates example transient motor current
data on a hard floor and a soft floor for both a stationary nozzle and a nozzle being
moved back and forth. Graph 410 shows the motor current signal for a moving nozzle
on a hard floor; graph 420 shows the motor current signal for a stationary nozzle
on a hard floor; graph 430 shows the motor current signal for a moving nozzle on a
soft floor; and graph 440 shows the motor current signal for a stationary nozzle on
a soft floor.
[0054] As shown in Figure 4, the motor current signal is relatively low and experiences
relatively little variation when the nozzle is positioned on a hard floor, regardless
of whether the nozzle is moving (graph 410) or stationary (graph 420). When the nozzle
is positioned on a soft floor, the motor current signal is relatively high for both
moving and stationary nozzles, due to the higher torque load, but the variation in
the current signal is very different depending on whether the nozzle is moving or
stationary. The motor current signal experiences a relatively large amount of variation
when the nozzle is moving (graph 430), but the variation in the motor current signal
for the stationary nozzle on the soft floor (graph 440) is similar to the variation
for the nozzle on the hard floor.
[0055] Returning to Figure 1, if the processing system 120 incorrectly identifies the nozzle
111 as being on a hard floor each 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 would result in
"nervous" behavior of the nozzle.
[0056] In some examples, the processing system may be configured to monitor a movement of
the nozzle (e.g., using accelerometer data or the like) and avoid or prevent use of
the proposed approach for determining which category of flooring is in use whilst
the nozzle is stationary, e.g., whilst a movement is below a predetermined movement
threshold.
[0057] Alternatively and preferably, in response to the trimmed estimator failing to breach
the first predetermined threshold, the processing system 120 may further process the
sensor data 115 to determine or predict whether the nozzle 111 is on the second (harder)
category of flooring or is stationary (or near-stationary) on the first category of
flooring.
[0058] For example, responsive to the trimmed estimator failing to breach the first predetermined
threshold, the processing system 120 may determine, as a percentile value, the value
of the sensor data representing a predetermined percentile of the sensor data. Since
the torque load is higher for softer floors than harder floors, the percentile value
will be higher when the nozzle is stationary on a softer floor than when the nozzle
is on a harder floor.
[0059] The processing system 120 may therefore determine whether the nozzle 111 is positioned
on the first category of flooring (despite the failure of the trimmed estimator to
breach the first predetermined threshold) or on the second category of flooring by
comparing the percentile value to a second threshold. In other words, the processing
system may determine that the nozzle is positioned on the first category of flooring
responsive to the percentile value breaching the second threshold, and that the nozzle
is positioned on the second category of flooring responsive to the percentile value
failing to breach the second threshold.
[0060] Preferably, the predetermined percentile for which a percentile value is determined
is not the 0
th percentile or the 100
th percentile of the sensor data. The predetermined percentile may, for example, 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 instance, the predetermined percentile may be the 75
th percentile (i.e. the third quartile) of the sensor data.
[0061] A suitable value for the second threshold may vary between vacuum cleaners, and for
a particular vacuum cleaner, may vary according to wear and contamination (e.g. hairs
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 session. In particular, the second threshold may be determined based on
sensor data obtained while the nozzle is moving on a particular soft floor (i.e. when
the variation in the sensor data clearly indicates that the nozzle is on the first
category of flooring).
[0062] For example, the processing system 120 may, responsive to the trimmed estimator breaching
the first predetermined threshold (i.e. when the nozzle 111 is moving on a softer
floor), set the second threshold to be equal to the value of the sensor data representing
a second predetermined percentile of the sensor data. The second predetermined percentile
should be lower than the first predetermined percentile, so that the value of the
second threshold is less than the value of the first predetermined percentile of the
sensor data. In other words, the second threshold should be set so that the sensor
data obtained while the nozzle is moving on the first category of flooring has a percentile
value that breaches the second threshold, in order that the second threshold is capable
of distinguishing between the categories of flooring.
[0063] In other examples, the processing system 120 may, responsive to the trimmed estimator
breaching the first predetermined threshold, set the second threshold to be equal
to a trimmed mean of the sensor data (i.e. a mean of the sensor data after truncating
the lowest and highest X% of values, where X is a predetermined number), or to the
average of the value of the sensor data representing a third predetermined percentile
of the sensor data and the value of the sensor data representing a fourth predetermined
percentile of the sensor data. For instance, the second threshold may be an average
of the first quartile and the third quartile of the sensor data, using sensor data
for which the trimmed estimator breaches the first predetermined threshold. Again,
the second threshold should be set so that the sensor data obtained while the nozzle
is moving on the first category of flooring has a percentile value that breaches the
second threshold.
[0064] In some examples, having determined whether the nozzle 111 of the vacuum cleaner
110 is positioned on a first category of flooring or a second category of flooring
as described above, the processing system 120 sets the suction power and/or rotation
speed of the brush 112 located in the nozzle responsive to the determined category
of flooring. In particular, the suction power and/or rotation speed may be set to
be higher when it is determined that the nozzle is positioned on the first (softer)
category of flooring than when it is determined that the nozzle is positioned on the
second (harder) category of flooring.
[0065] In other words, the processing system 120 may form part of a motor control system.
The motor control system regulates the rotational speed of the motor for rotating
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 the motor controller.
However, brushed DC motors are more commonly used due to their lower cost. Brushed
motors require additional means for monitoring the rotational speed.
[0066] Figure 5 illustrates a schematic overview of a (closed-loop) motor control system
500 for a brushed DC motor, according to an embodiment of the invention. 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.
[0067] The motor current is measured by measuring the voltage drop across a shunt resistor
or by using a current sensor IC, and a computer-implemented method is used to determine
on which category of flooring the nozzle of the vacuum cleaner is positioned, as described
above. The RPM setpoint for the motor may then be set in response to the determined
category of flooring.
[0068] For example, the vacuum cleaner may be configured to start a vacuuming session in
a hard floor state, i.e., when turned on, the vacuum cleaner initially has a low RPM
and aggregate (fan and motor assembly) power setpoint. Once sufficient sensor data
has been obtained, a determination as to the category of flooring on which the nozzle
is positioned is made. If it is determined that the vacuum cleaner is positioned on
the second (harder) category of flooring, the vacuum cleaner may continue with the
low RPM and aggregate power setpoint.
[0069] In response to a determination that the vacuum cleaner is positioned on the first
(softer) category of flooring, either because the vacuum cleaner started on a softer
floor or because the vacuum cleaner has transitioned from a harder floor to a softer
floor, the RPM and aggregate power setpoint may be adjusted to a higher setting. The
RPM and aggregate power setpoints for the first and second categories of flooring
may be predetermined, and the setpoint may be set by selecting from the predetermined
setpoints according to the determined category of flooring.
[0070] Similarly, if the vacuum cleaner is operating in a soft floor state (i.e. with the
high RPM and aggregate power setpoint for the first category of flooring), the RPM
and aggregate power setpoint may be adjusted to the lower setting in response to a
determination that the vacuum cleaner is positioned on the second (harder) category
of flooring.
[0071] 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.
[0072] While the motor is ramping up or down to correct the rotational speed, the sensor
data will not be representative of the category of flooring, due to the torque the
motor is generating to accelerate or decelerate the brush. Thus, in some examples,
sensor data 115 may not be obtained or processed during a predetermined ramping period
immediately following a change in RPM setpoint. A ramp counter may be used to ensure
that no sensor data is obtained/processed during the ramping period.
[0073] Once the ramping period is ended, sensor data may continue to be obtained and processed
to determine the category of flooring. Preferably, a data list containing sensor data
values is emptied in response to a change of setpoint, so that the determination of
the category of flooring is made using only sensor data obtained after the new setpoint
has been reached.
[0074] In examples in which a second threshold is used to distinguish between a nozzle on
the second (harder) category of flooring and a stationary nozzle on the first category
of flooring, the processing system 120 may, in response to the trimmed estimator failing
to breach the 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 category of flooring) keep the RPM setpoint at the higher setting unless
and until a time for which the nozzle has been stationary exceeds a predetermined
period. In response to a determination that the time for which the nozzle has been
stationary exceeds a predetermined period, the processing system may adjust the RPM
to the lower setting, in order to reduce damage to the flooring and to increase the
run time of the battery. The predetermined period may be in the range of 5 seconds
to 30 seconds.
[0075] Figure 6 illustrates a computer-implemented method 600 for determining on which of
a plurality of categories of flooring a nozzle of a vacuum cleaner is positioned,
according to an embodiment of the invention. The plurality of categories of flooring
including a first category of flooring and a second, harder category of flooring.
[0076] The computer-implemented method 600 may be carried out by any kind of computer, including
digital, analog and mechanical computers. For example, the method 600 may be carried
out by the processing system 120 described above.
[0077] The computer-implemented method 600 begins at step 610, at which sensor data responsive
to a torque load of a motor of the vacuum cleaner for rotating a brush located in
the nozzle of the vacuum cleaner is obtained.
[0078] At step 620, the sensor data is processed to generate a trimmed estimator providing
a scale parameter of the sensor data.
[0079] At step 630, the nozzle is determined to be positioned on the first category of flooring
responsive to the trimmed estimator breaching a first predetermined threshold.
[0080] It will be understood that the disclosed methods are computer-implemented methods.
As such, there is also proposed a concept of a computer program comprising code means
for implementing any described method when said program is run on a processing system.
[0081] 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.
[0082] 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.
[0083] 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.
[0084] 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.
[0085] 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.
[0086] 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.
[0087] 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.
[0088] 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.
[0089] 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.
[0090] Any reference signs in the claims should not be construed as limiting the scope.
1. A computer-implemented method for determining on which of a plurality of categories
of flooring a nozzle of a vacuum cleaner is positioned, the plurality of categories
of flooring including a first category of flooring and a second, harder category of
flooring, the computer-implemented method comprising:
obtaining sensor data responsive to a torque load of a motor of the vacuum cleaner
for rotating a brush located in the nozzle of the vacuum cleaner;
processing the sensor data to generate a trimmed estimator providing a scale parameter
of the sensor data; and
determining that the nozzle is positioned on the first category of flooring responsive
to the trimmed estimator breaching a first predetermined threshold.
2. The computer-implemented method of claim 1, wherein the trimmed estimator is a trimmed
range of the sensor data.
3. The computer-implemented method of claim 2, wherein the trimmed estimator is an interquartile
range of the sensor data.
4. The computer-implemented method of any of claims 1 to 3, wherein the computer-implemented
method is configured to determine that the nozzle is positioned on the first category
of flooring responsive to the trimmed estimator reaching or exceeding the first predetermined
threshold.
5. The computer-implemented method of any of claims 1 to 4, wherein the sensor data is
a measure of the current drawn by the motor to rotate the brush.
6. The computer-implemented method of any of claims 1 to 5, wherein the computer-implemented
method comprises determining that the nozzle is positioned on the second category
of flooring responsive to the trimmed estimator failing to breach the first predetermined
threshold.
7. The computer-implemented method of any of claims 1 to 5, wherein the computer implemented
further comprises, responsive to the trimmed estimator failing to breach the first
predetermined threshold:
determining, as a percentile value, the value of the sensor data representing a first
predetermined percentile of the sensor data;
responsive to the percentile value breaching a second threshold, determining that
the nozzle is positioned on the first category of flooring; and
responsive to the percentile value failing to breach the second threshold, determining
that the nozzle is positioned on the second category of flooring.
8. The computer-implemented method of claim 7, wherein the first predetermined percentile
is not the 0th percentile or the 100th percentile of the sensor data.
9. The computer-implemented method of claim 8, wherein the first predetermined percentile
is the Xth percentile of the sensor data, wherein the value of X is from 10 to 90
and preferably from 25 to 75.
10. The computer-implemented method of any of claims 7 to 9, further comprising, responsive
to the trimmed estimator breaching the first predetermined threshold, setting the
second threshold to be equal to:
the value of the sensor data representing a second predetermined percentile of the
sensor data;
a trimmed mean of the sensor data; or
the average of the value of the sensor data representing a third predetermined percentile
of the sensor data and the value of the sensor data representing a fourth predetermined
percentile of the sensor data.
11. The computer-implemented method of claim 10, wherein, after setting the second threshold
responsive to the trimmed estimator 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.
12. 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 the nozzle is positioned on a first category of flooring or a
second category of flooring by performing the method of any of claims 6 to 11; and
setting the suction power of the vacuum cleaner and/or rotation speed of the brush
responsive to the determined category of flooring.
13. The computer-implemented method of claim 12, wherein the step of setting the suction
power of the vacuum cleaner and/or rotation speed comprises setting the suction power
of the vacuum cleaner and/or rotation speed to be higher when it is determined that
the nozzle is positioned on the first category of flooring than when it is determined
that the nozzle is positioned on 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 determining on which of a plurality of categories of flooring
a nozzle of a vacuum cleaner is positioned, the plurality of categories of flooring
including a first category of flooring and a second, harder category of flooring,
the processing system being configured to:
obtain sensor data responsive to a 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 estimator providing a scale parameter
of the sensor data; and
determine that the nozzle is positioned on the first category of flooring responsive
to the trimmed estimator breaching a first predetermined threshold.