Controlling power consumption of a vacuum based on usage of the vacuum
A controller with a machine learning algorithm in battery-powered vacuum cleaners adjusts power modes based on usage, addressing inefficient battery drain by switching to low-power mode when idle, thus prolonging operation time.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-25
- Publication Date
- 2026-04-02
AI Technical Summary
Battery-powered vacuum cleaners drain quickly when left idle in high-power mode without active use, leading to inefficient battery consumption.
Implementing a controller with a machine learning algorithm to determine whether the vacuum is actively vacuuming or idle, based on sensor data and vacuum mode, and automatically adjust the power mode accordingly.
Conserves battery power by switching to low-power mode when idle, extending the vacuum's operational time before recharging is necessary.
Smart Images

Figure US2025047908_02042026_PF_FP_ABST
Abstract
Description
Attorney Docket No. 066042-1730-W001CONTROLLING POWER CONSUMPTION OF A VACUUM BASED ON USAGE OF THE VACUUMRELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application No. 63 / 700,206, filed on September 27, 2024. The entire contents of which is hereby incorporated by reference.FIELD
[0002] The present disclosure relates generally to vacuum cleaners, and more specifically to wet / dry vacuum cleaners.SUMMARY
[0003] When a battery-powered vacuum is left idle in high-power mode, the battery of the vacuum drains quickly even though no work is being performed by the vacuum. Ideally, when a vacuum is idle, it operates in a low-power mode or battery saver mode to conserve the battery and, when the vacuum is being used to clean, it is operated in high-power mode to achieve better performance. The implementations described herein provide systems and methods for determining whether the vacuum is being used, and automatically switching the mode the vacuum is operating in based on whether the vacuum is being used and the mode that the vacuum is currently operating in. The systems and methods described herein are effective at determining the usage of the vacuum regardless of the tool head attached to the vacuum (or, more specifically, the hose of the vacuum). The systems and methods allow battery power to be conserved and increase the amount of time that a vacuum may be operated before the battery of the vacuum needs to be recharged or replaced.
[0004] Implementations described herein provide a vacuum including a controller. The controller is configured to determine, using a machine learning algorithm, whether the vacuum is actively vacuuming or is idle based on 1) data received from one or more sensors, 2) a determined value, or both 1) and 2) and a mode of the vacuum. The controller is also configured to control the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle.Attorney Docket No. 066042-1730-W001
[0005] Implementations described herein also provides a method for controlling power consumption of a vacuum. The method includes determining, using a machine learning algorithm, whether the vacuum is actively vacuuming or is idle based on 1) data received from one or more sensors, 2) a determined value, or both 1) and 2) and a mode of the vacuum. The method also includes controlling the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle.
[0006] Before any implementations are explained in detail, it is to be understood that the implementations are not limited in application to the details of the configurations and arrangements of components set forth in the following description or illustrated in the accompanying drawings. The implementations are capable of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein are for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof are meant to encompass the items listed thereafter and equivalents thereof as well as additional items. Unless specified or limited otherwise, the terms “mounted,” “connected,” “supported,” and “coupled” and variations thereof are used broadly and encompass both direct and indirect mountings, connections, supports, and couplings.
[0007] Unless the context of their usage unambiguously indicates otherwise, the articles “a,” “an,” and “the” should not be interpreted as meaning “one” or “only one.” Rather these articles should be interpreted as meaning “at least one” or “one or more.” Likewise, when the terms “the” or “said” are used to refer to a noun previously introduced by the indefinite article “a” or “an,” “the” and “said” mean “at least one” or “one or more” unless the usage unambiguously indicates otherwise.
[0008] In addition, it should be understood that implementations may include hardware, software, and electronic components or modules that, for purposes of discussion, may be illustrated and described as if the majority of the components were implemented solely in hardware. However, one of ordinary skill in the art, and based on a reading of this detailed description, would recognize that, in at least one implementation, the electronic-based aspects may be implemented in software (e.g., stored on non-transitory computer-readable medium) executable by one or more processing units, such as a microprocessor and / or application specificAttorney Docket No. 066042-1730-W001 integrated circuits (“ASICs”). As such, it should be noted that a plurality of hardware and software based devices, as well as a plurality of different structural components, may be utilized to implement the implementations. For example, “servers,” “computing devices,” “controllers,” “processors,” etc., described in the specification can include one or more processing units, one or more computer-readable medium modules, one or more input / output interfaces, and various connections (e.g., a system bus) connecting the components.
[0009] Relative terminology, such as, for example, “about,” “approximately,” “substantially,” etc., used in connection with a quantity or condition would be understood by those of ordinary skill to be inclusive of the stated value and has the meaning dictated by the context (e.g., the term includes at least the degree of error associated with the measurement accuracy, tolerances [e.g., manufacturing, assembly, use, etc.] associated with the particular value, etc.). Such terminology should also be considered as disclosing the range defined by the absolute values of the two endpoints. For example, the expression “from about 2 to about 4” also discloses the range “from 2 to 4”. The relative terminology may refer to plus or minus a percentage (e.g., 1%, 5%, 10%) of an indicated value.
[0010] It should be understood that although certain drawings illustrate hardware and software located within particular devices, these depictions are for illustrative purposes only. Functionality described herein as being performed by one component may be performed by multiple components in a distributed manner. Likewise, functionality performed by multiple components may be consolidated and performed by a single component. In some implementations, the illustrated components may be combined or divided into separate software, firmware and / or hardware. For example, instead of being located within and performed by a single electronic processor, logic and processing may be distributed among multiple electronic processors. Regardless of how they are combined or divided, hardware and software components may be located on the same computing device or may be distributed among different computing devices connected by one or more networks or other suitable communication links. Similarly, a component described as performing particular functionality may also perform additional functionality not described herein. For example, a device or structure that is “configured” in a certain way is configured in at least that way but may also be configured in ways that are not explicitly listed.Attorney Docket No. 066042-1730-W001
[0011] Accordingly, in the claims, if an apparatus, method, or system is claimed, for example, as including a controller, control unit, electronic processor, computing device, logic element, module, memory module, communication channel or network, or other element configured in a certain manner, for example, to perform multiple functions, the claim or claim element should be interpreted as meaning one or more of such elements where any one of the one or more elements is configured as claimed, for example, to make any one or more of the recited multiple functions, such that the one or more elements, as a set, perform the multiple functions collectively.
[0012] Other aspects of the implementations will become apparent by consideration of the detailed description and accompanying drawings.BRIEF DESCRIPTION OF THE DRAWINGS
[0013] FIG. 1 is a perspective view of a vacuum assembly.
[0014] FIG. 2 is a schematic side view of the vacuum assembly of FIG. 1.
[0015] FIG. 3 A is a top view of the vacuum assembly of FIG. 1 with a single accessory attached thereto.
[0016] FIG. 3B is a top view of the vacuum assembly of FIG. 1 with two accessories attached thereto.
[0017] FIG. 4 is a perspective view of the power head of the vacuum assembly of FIG. 1.
[0018] FIGS. 5A and 5B illustrate a remote user input for use with the vacuum assembly ofFIG. 1.
[0019] FIG. 6 illustrates the remote user input of FIG. 5 A installed on the distal end of a vacuum hose.
[0020] FIG. 7 is a section view taken along line 8 — 8 of FIG. 6 with the remote user input removed.
[0021] FIGS. 8 A and 8B illustrate a schematic diagram of the vacuum assembly of FIG. 1.Attorney Docket No. 066042-1730-W001
[0022] FIG. 9 provides an illustrative example a location of sensors in the vacuum assembly of FIG. 1.
[0023] FIGS. 10-14 illustrate example graphs of data collected by sensors included in the vacuum assembly of FIG. 1.
[0024] FIG. 15 includes an example flowchart of a method for controlling power consumption of the vacuum assembly of FIG. 1 based on usage of the vacuum assembly.
[0025] FIG. 16 includes an illustrative example of a deep learning algorithm that may be utilized to perform the method of FIG. 15 to determine whether the vacuum assembly is actively vacuuming or is idle.
[0026] FIG. 17 includes an example flowchart of the functionality described in relation to FIG. 15 and FIG. 16.
[0027] FIG. 18 provides an illustrative example of changing a mode of the vacuum assembly of FIG. 1.DETAILED DESCRIPTION
[0028] FIGS. 1-4 illustrate a vacuum 100. More specifically, the vacuum 100 is a form of wet / dry vacuum assembly including a collection vessel or container 104 defining a collection volume 106 therein, and a power head 108 removably couplable to the collection container 104. The vacuum 100 also defines a support plane 114 that is parallel to the support surface upon which the vacuum 100 rests during operation, and a stack axis 122 extending in the direction of stacking. In the illustrated implementation, the stack axis 122 is normal to the support plane 114 (see FIG. 2).
[0029] The container 104 of the vacuum 100 includes a body 110 at least partially defining the collection volume 106 therein. More specifically, the body 110 includes a base wall 112, and a plurality of side walls 116 extending from the periphery of the base wall 112 to define an open end 120 opposite thereof. The resulting open end 120 provides access to the collection volume 106. In the illustrated implementation, the base wall 112 is generally octagonal in shape having eight side walls 116 extending upwardly therefrom. However, in other implementations, differentAttorney Docket No. 066042-1730-W001 shaped containers may be present. In the illustrated implementation, the base wall 112 is parallel to the support plane 114. In still other implementations, the base wall 112 is normal to the stack axis 122.
[0030] As shown in FIG. 2, the open end 120 of the container 104 forms a first connection interface 124 to which other devices may be releasably attached (e.g., the power head 108 or other intermediate stack accessories). During use, the first connection interface 124 serves to physically align the connected elements (e.g., vertically, horizontally, and rotationally) while also establishing an internal connection region. The internal connection region, in turn, serves as an area where various operable connections (e.g., airflow passage connections, electrical connections, debris passage connections, and the like) may be made and the transfer of material (e.g., air, dust, debris, and the like) may occur within the confines of the assembled vacuum’s structure.
[0031] As shown in FIG. 1, the container 104 also includes a coupling element 134 positioned proximate the open end 120 and configured to form a releasable connection with a corresponding coupling element 134 of either the power head 108 or an intermediate stack accessory. More specifically, the container 104 includes a lip formed into the body 110 thereof to which a latch 142 may releasably engage. While the illustrated coupling element 134 is a lip to be used together with a corresponding latch 142, it is understood that in other implementations the positions may be reversed. In still other implementations, other forms of connection (e.g., latches, clamps, clips, and the like) may be used.
[0032] As shown in FIGS. 1-3, the power head 108 of the vacuum 100 includes a housing 146 at least partially enclosing a power head volume 148 therein, a blower assembly 152 at least partially positioned within the power head volume 148 of the housing 146 and in fluid communication with the collection volume 106 when the power head 108 is attached to the container 104, and an inlet passage 150 extending between and open to the exterior of the housing 146 and the collection volume 106 when the power head 108 is attached to the container 104.
[0033] The housing 146 of the power head 108, in turn, includes a series of walls or plates that at least partially define the power head volume 148. More specifically, the housing 146Attorney Docket No. 066042-1730-W001 includes a bottom or base wall 154, a face plate or front wall 156 extending from the base wall, a back plate or back wall 158 extending from the base wall 154 opposite the front wall 156, and a pair of side walls 162 extending from the base wall 154 between the front wall 156 and the back wall 158. The housing 146 also includes a top plate or top wall 166 opposite the base wall 154 to at least partially enclose the power head volume 148 therein. In the illustrated implementation, the base wall 154 defines a base wall plane 160 generally parallel thereto, in some implementations, the base wall plane 160, in turn, is parallel to the support plane 114 when the power head 108 is attached to the container 104. In other implementations, the base wall plane 160 is normal to the stack axis 122 when the power head 108 is attached to the container 104.
[0034] The housing 146 of the power head 108 also defines a longitudinal midpoint center axis 241 subdividing the power head 108 in half in a front-to-back direction (e.g., the longitudinal midpoint center axis 241 passes through the front wall 156 and back wall 158). The power head 108 also defines a lateral midpoint center axis 240 subdividing the power head 108 in half in a side-to-side direction (e.g., the lateral midpoint center axis 240 passes through the pair of side walls 162).
[0035] As shown in FIG. 2, the base wall 154 of the power head 108 forms a second connection interface 172 to which other devices may be releasably attached (e.g., the container 104 or other intermediate stack accessories). During use, the second connection interface 172 serves to physically align the connected elements (e.g., vertically, horizontally, and rotationally) while also establishing an internal connection region. The internal connection region, in turn, serves as an area where various operable connections (e.g., airflow passage connections, electrical connections, debris passage connections, and the like) may be made and the transfer of material (e.g., air, dust, debris, and the like) may occur within the confines of the assembled vacuum’s structure.
[0036] As shown in FIGS. 1 and 3, the housing 146 includes a connection interface 176 configured to allow one or more accessories 214 (e.g., storage containers, tools, bags, pouches, organizers, and the like) to be releasably attached thereto. In some implementations, the connection interface 176 includes a plurality of individual connection elements or points 180, each configured to form an individual releasable connection with an accessory. In otherAttorney Docket No. 066042-1730-W001 implementations, the connection interface 176 includes a docking plate forming a substantially planar exterior surface 184 that, in turn, defines a docking plane 188. In still other implementations, the connection interface 176 may form all or a portion of the top wall 166 of the housing 146. In the illustrated implementation, the docking plane 188 is parallel to the support plane 114 and the base wall plane 160. In other implementations, the docking plane 188 is normal to the stack axis 122.
[0037] In some implementations, one or more of the individual connection points 180 may include a pocket 192 formed into the exterior surface 184 of the connection interface 176 (i .e., the pocket 192 is recessed into the top wall 166 of the housing 146 and extends inwardly toward the base wall 154 below the docking plane 188). In such implementations, the connection points 180 may also include one or more tabs 196 extending into the pocket 192 at various locations around the perimeter thereof. In some implementations, the tabs 196 of each pocket 192 are oriented so that an accessory 214 may be slidingly introduced into the pockets 192 via a first direction of insertion A whereby the resulting interlocking interaction between the tabs 196 and the accessory 214 form a releasable connection therebetween (see FIG. 3A). To remove the accessory 214, the user may slide the accessory in a second direction B opposite the first direction of insertion A. In some implementations, the direction of insertion A and / or the second direction B are parallel to the tabs 196 (±1%, ±2%, ±5%, ±10%). In still other implementations, the first direction of insertion A and / or the second direction B of at least one connection point 180 is parallel (±1%, ±2%, ±5%, ±10%) the docking plane 188. In still other implementations, the orientation of the tabs 196 of at least two connection points 180 are parallel.
[0038] As shown in FIG. 1, the direction of insertion of each connection point 180 is parallel each other such that an accessory being introduced along the first insertion direction A may engage and form a connection with two or more connection points 180 simultaneously. However, in other implementations, different individual connection points 180 or subsets of connection points 180 may have different insertion directions. In still other implementations, one or more of the connection points 180 may accommodate two or more directions of insertion.
[0039] In the illustrated implementation, each connection point 180 is substantially similar in construction so that a common connection element style may interchangeably form a releasableAttorney Docket No. 066042-1730-W001 connection with any of the connection points 180 during use. In some implementations, the connection points 180 are also arranged on the connection interface 176 so that a single accessory may form releasable connections with two or more of the connection points 180 simultaneously (see FIG. 3A). For example, accessory 214 of FIG. 3A forms individual releasable connections with the four connection points 180 in the occupied region 216 simultaneously (discussed below). In other implementations, one or more of the connection points 180 may lie on the docking plane 188. In still other implementations, all of the connection points 180 may lie on the docking plane 188.
[0040] While the illustrated connection points 180 include pockets 192 forming a sliding connection, it is understood that in other implementations different types of connection points 180 forming different styles of connections may be present. Some connections may include, but are not limited to pins, tabs, latches, detents, apertures, protrusions, bayonet fittings, threads, and the like. Furthermore, while all of the illustrated connection points 180 have a similar size and configuration, it is understood that in other implementations different sizes and / or styles of connection points 180 may be used on a given connection interface 176.
[0041] In the illustrated implementation, the connection points 180 are generally evenly distributed over the entire connection interface 176 forming a rectangular array. Specifically, the connection points 180 are distributed to form two rows positioned along the edges of the connection interface 176 with each row containing four connection points 180 equally distributed along the length of the top wall 166. In other implementations, the connection points 180 may be distributed unevenly or in distinct patterns over the connection interface 176. For example, in some implementations the connection points 180 may be distributed in sub-patterns (e.g., form sub-regions) that, in turn, are distributed about the connection interface 176. In still other implementations, the points 180 may be distributed in a radial array. In still other implementations, the points 180 may be distributed in a series of overlaid patterns, with each pattern corresponding to a particular accessory or industry standard connection pattern. Together, all of the individual connection points 180 define a connection region 200. In the illustrated implementation, the connection region 200 includes an enclosed region 200 completely encompassing all connection points 180 (see FIGS. 1 and 3 A). Specifically, the enclosedAttorney Docket No. 066042-1730-W001 connection region 200 is a rectangular region encompassing all connection points 180 although other regional shapes may be produced.
[0042] The connection interface 176 also includes a handle 204 incorporated therein to allow the user to lift or otherwise manipulate the power head 108 during operation. The handle 204 includes a grip portion 208 that is recessed into the exterior surface 184 of the connection interface 176 so that the entire grip portion 208 is positioned below the docking plane 188 (i.e., is positioned between the docking plane 188 and the base wall 154). In the illustrated implementation, the handle 204 includes a cavity 212 extending into the top wall 166 (i.e., extending inwardly generally toward the base wall 154 of the power head 108 away from the docking plane 188), with the grip portion 208 (e.g., a rod or shaft) positioned within the cavity 212 that is also positioned below the docking plane 188 (i.e., between the docking plane 188 and the base wall 154). Furthermore, the handle 204 is positioned so that the handle 204 is at least partially positioned within the connection region 200. In some implementations, the handle 204 is completely positioned within the connection region 200.
[0043] In some implementations, the handle 204 is positioned such that it intersects at least one of the longitudinal midpoint center axis 241 or the lateral midpoint center axis 240. In other implementations, the handle 204 is oriented parallel to one of the longitudinal midpoint center axis 241 or the lateral midpoint center axis 240. In still other implementations, the handle 204 is oriented and positioned both parallel to and aligned with one of the longitudinal midpoint center axis 241 or the lateral midpoint center axis 240. In still other implementations, the power head 108 defines a power head center of gravity PHCG and a reference axis oriented parallel normal to the docking plane 188 passes through the power head center of gravity PHCG and the handle 204 simultaneously. In still other implementations, the combined container 104 and power head 108 define a power head / container center of gravity PHCCG and a reference axis oriented parallel normal to the docking plane 188 passes through the power head / container center of gravity PHCCG and the handle 204 simultaneously. In still other implementations, the handle 204 may be positioned so that it is positioned completely on one side of the longitudinal midpoint center axis 241 and / or the lateral midpoint center axis 240.Attorney Docket No. 066042-1730-W001
[0044] During use, the user may selectively attach and detach one or more accessories 214 to the connection interface 176 by way of the above-described connection points 180 (see FIG. 3 A). More specifically, the user may attach the one or more accessories 214 to the connection interface 176 thereby producing one or more occupied regions 216, generally corresponding to the portion of the connection interface 176 that is not accessible due to the presence of the accessories, and one or more unoccupied regions 220, generally corresponding to the portion of the connection interface 176 that remains accessible despite the presence of the accessories. In the illustrated implementation, the connection interface 176 is configured and the handle 204 positioned so that at least one accessory may be attached to the connection interface 176 such that handle 204 remains at least partially in an unoccupied region 220. In still other implementations, the connection interface 176 is configured and the handle 204 positioned so that at least one accessory may be attached to the connection interface 176 such that the handle 204 remains completely in an unoccupied region 220 (see FIG. 3A). In still other implementations, the connection interface 176 is configured and the handle 204 positioned so that at least one accessory 214 may be attached to the connection interface 176 such that the handle is at least partially positioned within an occupied region 216. In still other implementations, the top wall 166 is configured and the handle 204 positioned so that at least one accessory 214 may be attached to the connection interface 176 such that the handle 204 is completely positioned within an occupied region 216. In still other implementations, the handle 204 may be positioned so that the handle 204 remains accessible with at least one accessory attached to the connection interface 176. In such implementations, the handle 204 may also be positioned so that it becomes inaccessible when at least one accessory is attached to the connection interface 176.
[0045] For example, FIG. 3A illustrates a configuration where an accessory 214 is attached to the connection interface 176 such that the handle 204 remains accessible (i.e., is in an unoccupied region 220). In contrast, FIG. 3B illustrates a configuration where two accessories 214 are attached to the connection interface 176 such that the handle 204 is no longer accessible (i.e., the handle is in an occupied region 216).
[0046] As shown in FIG. 4, the front wall 156 of the power head 108 includes an inlet passage 150, one or more battery terminals 224, and a user interface panel 228. The userAttorney Docket No. 066042-1730-W001 interface panel 228, in turn, generally includes one or more user inputs (i.e., buttons, displays, touch screens, and the like) to operate the vacuum 100.
[0047] Together, the relative location of the three elements, inlet passage 150, the one or more battery terminals 224, the user interface panel 228 permit the user to access all of the major interactive points of the vacuum 100 from a single location. Specifically, the user may install the vacuum hose 362 into the inlet passage 150, install the battery packs 236, and control the operation of the vacuum 100 from a single panel (for example, the front wall 156). Stated differently, the vacuum 100 is configured so that the inlet passage 150, the one or more battery terminals 224, and the user interface panel 228 are all positioned on the same wall. In still other implementations, the inlet passage 150, the one or more battery terminals 224, and the user interface panel 228 are all positioned on the same half of the vacuum 100 (i.e., each of the inlet passage 150, the one or more battery terminals 224, and the user interface panel 228 are positioned on the same side of a lateral midpoint center axis 240 subdividing the vacuum 100 geometrically in half).
[0048] The one or more battery terminals 224 of the vacuum 100 are each configured to serve as a location where a given battery pack 236 may be releasably coupled to the vacuum 100 and provide electrical power thereto during use. Each battery terminal 224 includes a mechanical interface 244 that is configured to physically locate and selectively couple the battery pack 236 to the terminal 224, and one or more electrical contacts 248, each configured to form an electrical connection with the battery pack 236 when the battery pack 236 is coupled to the terminal 224. More specifically, the mechanical interface 244 is such that the battery pack 236 is introduced into engagement with and removed from the battery terminal 224 while traveling along a battery docking axis 252 (see FIG. 2). In the illustrated implementation, the battery terminals 224 are located on the housing 146 so that the terminals 224 are positioned outside the connection region 200.
[0049] In the illustrated implementation, the battery docking axis 252 is oriented such that it forms a first angle 256 relative to the stack axis 122. More specifically, the battery docking axis 252 is oriented (i.e., the first angle 256 is sized) so that it is sufficiently angled to allow the user to readily read the battery level indicator on the battery pack 236 when installed on the terminalAttorney Docket No. 066042-1730-W001224, but also sufficiently vertical so that the vacuum 100 does not roll or otherwise move due to the docking force F applied to the battery pack 236 when being installed in the terminal 22. More specifically, in some implementations the first angle 256 is approximately 5 degrees (±1%, ±2%, ±5%, ±10%), 10 degrees (±1%, ±2%, ±5%, ±10%), 15 degrees (±1%, ±2%, ±5%, ±10%), and 20 degrees (±1%, ±2%, ±5%, ±10%). In still other implementations, the first angle 256 is between 1 degree and 10 degrees (±1%, ±2%, ±5%, ±10%), between 2 degrees and 10 degrees (±1%, ±2%, ±5%, ±10%), between 5 degrees and 10 degrees (±1%, ±2%, ±5%, ±10%), between 5 degrees and 15 degrees (±1%, ±2%, ±5%, ±10%), between 5 degrees and 20 degrees (±1%, ±2%, ±5%, ±10%), between 1 degree and 15 degrees (±1%, ±2%, ±5%, ±10%), between 5 degrees and 15 degrees (±1%, ±2%, ±5%, ±10%), and between 5 degrees and 20 degrees (±1%, ±2%, ±5%, ±10%). In the illustrated implementation, the mechanical interface 244 of the battery terminal 224 includes a pair of rails 284 (see FIG 4) configured to engage with corresponding rails (not shown) of the battery pack 236 to physically locate the battery pack 236 relative to the terminal 224 and a detent 288 configured to be engaged by a latch 292 formed on the battery pack 236 to releasably secure the battery pack 236 to the terminal 224. The rails 284, in turn, are parallel with the battery docking axis 252.
[0050] To install a battery pack 236 on the power head 108, the user first aligns the battery pack 236 with the battery terminal 224 (i.e., aligns the rails of the battery pack 236 with the rails 284 of the terminal 224). The user then introduces the battery pack 236 along the battery docking axis 252 in a first direction C causing the battery pack 236 to engage with the rails 284 of the terminal 224. The user then continues to advance the battery pack 236 along the battery docking axis 252 until the latch 292 of the battery pack 236 engages the corresponding detent 288 of the terminal 224. Once engaged, the user the applies a final docking force (F) parallel to the battery docking axis 252 to lock the battery pack 236 in place.
[0051] To remove the battery pack 236, the user actuates (i.e., releases) the latch 292 of the battery pack 236 and begins to withdraw the battery pack 236 from the terminal 224 in a second direction D, opposite direction C, that is parallel to the battery docking axis 252.
[0052] While the illustrated terminal 224 includes rails 284 and a detent 288, it is understood that other forms of connection may be used. For example, a probe and pocket connection, twist-Attorney Docket No. 066042-1730-W001 lock connection, and the like may also be used. Furthermore, while the illustrated vacuum 100 includes a single terminal 224 for receiving a single battery pack 236. However, in other implementations more or fewer terminals 224 may be present. For example, in some implementations the vacuum 100 may include two terminals 224 each incorporated into the front wall 156.
[0053] As shown in FIGS. 5A-5B, the vacuum 100 also includes a remote user interface or remote 272 to allow the user to operate the vacuum 100 remotely from the user interface panel 228 incorporated into the power head 108. During use, the remote 272 sends and receives signals with the power head 108 via wireless communications (i.e., Bluetooth and the like). Inputs available to the user may include, but are not limited to, turning on and off the vacuum 100, setting the speed of the vacuum 100, selecting between various operating modes, and the like. The remote 272 may also include one or more outputs providing information to the user such as, but not limited to, the current operating conditions, battery levels, and the like.
[0054] In the illustrated implementation, the remote 272 includes a substantially rectangular body 276 with one or more user inputs 280 included therein. However, in other implementations more or less elements may be incorporated therein such as LEDs, speakers, microphones, displays, touchscreens, and the like. In the illustrated implementation, all user inputs 280 (i.e., a mode and a power button) are formed into a single face of the body 276 forming an input surface 350.
[0055] The remote 272 also includes a plurality of mounting elements incorporated therein to allow the remote 272 to be more readily stored and carried during operation of the vacuum 100. In the illustrated implementation, the remote 272 includes a connection loop 354 extending outwardly from the body 276, and one or more magnets 358 incorporated into the body 276 opposite the input surface 350. The presence of the connection loop 354 permits the remote 272 to be readily hung (i.e., on a nail, hook, and the like) or attached to lanyard, keychain, and the like. Furthermore, the presence of the magnets 358 allows the remote 272 to be attached to metallic objects like refrigerators, tables, and the like. Still further, the magnets 358 of the remote 272 permit the remote 272 to be incorporated into a wrist strap (not shown).Attorney Docket No. 066042-1730-W001
[0056] As shown in FIGS. 2 and 6-7, the vacuum 100 also includes a vacuum hose 362 that may be releasably coupled to the inlet passage 150 of the power head 108. Specifically, the vacuum hose 362 is an elongated element having a first end 366 removably couplable to the inlet passage 150 of the power head 108 and a second or distal end 370 opposite the first end 366. In some implementations, all or a portion of the hose 362 may be flexible. In other implementations, all or a portion of the hose 362 may be rigid. In still other implementations, the hose 362 may be formed as a single piece or include a plurality of individual sub-segments that can be combined in various combinations to produce the desired hose configuration.
[0057] As shown in FIGS. 6 and 7, the distal end 370 of the hose 362 includes a mount 374 for releasably coupling the remote 272 thereto. More specifically, the mount 374 includes a series of tabs or walls 374a, 374b forming a pocket 382 sized and shaped to receive at least a portion of the remote 272 therein while allowing the user inputs 280 of the input surface 350 of the remote 272 to remain accessible. More specifically, the walls include a pair of side walls 374a and an end wall 374b that together permit the remote 272 to be introduced into the pocket 382 in a direction parallel to the axis of the hose 362 (see FIG. 6). In the illustrated implementation, the mount 374 also includes a pocket 382 formed into the end wall 374b to allow a user to more easily access the remote 272 and bias the remote 272 out of the pocket 382.
[0058] As shown in FIG. 7, the mount 374 also includes a retention mechanism to secure the remote 272 within the mount 374. For example, the retention mechanism includes a resilient detent that is sized and shaped to resiliently engage the remote 272 and restrict its removal from the pocket 382. Specifically, the detent includes a locking lug that is sized and shaped to be received within the connection loop 354 of the remote 272. Furthermore, the illustrated retention mechanism the retention mechanism is formed from a ferrous metallic materials so that the magnets 358 within the remote 272 supplement the retention strength of the mount 374.
[0059] As shown in FIG. 8A, the vacuum 100 also includes a switching network 416, sensors 418, the battery terminal(s) 224, a power input unit 424, a controller 426, and a wireless communication controller 450. The battery terminal(s) 224 is coupled to the controller 426 and couples to the battery pack 236. The battery terminal(s) 224 transmits the power received from the battery pack 236 to the power input unit 424. The power input unit 424 includes active and / or passive components (e.g., voltage step-down controllers, voltage converters, rectifiers, filters,Attorney Docket No. 066042-1730-W001 etc.) to regulate or control the power received through the battery terminal(s) 224 and to the wireless communication controller 450 and controller 426.
[0060] The switching network 416 enables the controller 426 to control the operation of the motor 300. Generally, when the vacuum 100 is turned on, electrical current is supplied from the battery terminal(s) 224 to the motor 300, via the switching network 416.
[0061] In response to the controller 426 receiving a power on signal from the user interface panel 228 or the remote 272, the controller 426 activates the switching network 416 to provide power to the motor 300. In some implementations, the switching network 416 controls the amount of current available to the motor 300 and thereby controls the speed and torque output of the motor 300. The switching network 416 may include numerous field-effect transistors (“FETs”), bipolar transistors, or other types of electrical switches. For instance, the switching network 416 may include a six-FET bridge that receives pulse-width modulated (“PWM”) signals from the controller 426 to drive the motor 300. In some implementations, the switching network 416 controls power consumption of the vacuum 100 (the current and voltage supplied to the motor 300) based on one or more modes or settings selected by a user via the user interface panel 228, the remote 272, or both. In some implementations, the switching network 416 controls the current and voltage supplied to the motor 300 based on usage of the vacuum 100 (whether or not the vacuum 100 is idle).
[0062] The sensors 418 are coupled to the controller 426 and communicate to the controller 426 various signals indicative of different parameters of the vacuum 100. The sensors 418 may include one or more Hall sensors 418A, one or more voltage sensors 418B, one or more current sensors 418C, one or more infrared (IR) sensors 418D (for example, a time-of-flight sensor), one or more Piezo sensors 418E, one or more pressure sensors 418F, and one or more back-EMF detectors 418G, among other sensors. In some implementations, each Hall sensor 418A outputs motor feedback information to the controller 426, such as an indication (e.g., a pulse) when a magnet of the motor’s rotor rotates across the face of that Hall sensor. Based on the motor feedback information from the Hall sensors 418A, the controller 426 can determine the position, velocity, and acceleration of the rotor. In other implementations, each back-EMF detector 418G outputs a back-EMF signal to the controller 426. Based on the back-EMF signal from the back- EMF detectors 418G, the controller 426 can determine the position, velocity, and acceleration ofAttorney Docket No. 066042-1730-W001 the rotor. In some implementations, the controller 426 employs sensorless trapezoidal commutation to control the motor 300 based on the back-EMF signal. In response to the motor feedback information and the signals from the mode of the vacuum 100 (for example, whether the vacuum 100 is in low power mode or high power mode), the controller 426 may transmit control signals to control the switching network 416 to drive the motor 300. For instance, by selectively enabling and disabling the FETs of the switching network 416, power received via the battery terminal(s) 224 is selectively applied to stator coils of the motor 300 to cause rotation of its rotor. The current and voltage information is used by the controller 426 determine power being supplied by the battery pack 236 and ensure proper timing of control signals to the switching network 416.
[0063] In some implementations, the user interface panel 228 and / or remote 272 receives control signals from the controller 426 to convey information based on different states or modes of the vacuum 100. For example, the user interface panel 228 includes indicators such as one or more light-emitting diodes (“LEDs”), or a display screen and can be configured to display conditions of, or information associated with, the vacuum 100. For example, the indicators may be configured to indicate measured electrical characteristics of the vacuum 100, the status of the vacuum 100, the mode of the vacuum 100, etc. In some implementations, this information may be conveyed to a user through audible or tactile outputs.
[0064] As described above, the controller 426 is electrically and / or communicatively connected to a variety of modules or components of the vacuum 100. In some implementations, the controller 426 includes a plurality of electrical and electronic components that provide power, operational control, and protection to the components and modules within the controller 426 and / or vacuum 100. For example, the controller 426 includes, among other things, a processing unit 430 (e.g., a microprocessor, a microcontroller, electronic processor, electronic controller, or another suitable programmable device), a memory 432, input units 434, and output units 436. The processing unit 430 (herein, electronic processor 430) includes, among other things, a control unit 440, an arithmetic logic unit (“ALU”) 442, and a plurality of registers 444 (shown as a group of registers in FIG. 8A). In some implementations, the controller 426 is implemented partially or entirely on a semiconductor (e.g., a field-programmable gate array [“FPGA”] semiconductor) chip, such as a chip developed through a register transfer level (“RTL”) design process.Attorney Docket No. 066042-1730-W001
[0065] The memory 432 includes, for example, a program / data storage area and a machine learning data storage area 433. The program storage area and the data storage area can include combinations of different types of memory, such as a read-only memory (“ROM”), a random access memory (“RAM”) (e.g., dynamic RAM [“DRAM”], a synchronous DRAM [“SDRAM”], etc.), an electrically erasable programmable read-only memory (“EEPROM”), a flash memory, a hard disk, a secure digital (“SD”) card, or other suitable magnetic, optical, physical, or electronic memory device(s). The electronic processor 430 is connected to the memory 432 and executes software instructions that are stored in a memory 432 (e.g., RAM 432 during execution), a ROM 432 (e.g., on a generally permanent basis), or another non-transitory computer readable medium such as another memory or a disc). Software included in the implementation of the vacuum 100 can be stored in the memory 432 of the controller 426 (e.g., in the program storage area). The software includes, for example, firmware, one or more applications, program data, filters, rules, one or more program modules, and other executable instructions. The controller 426 is configured to retrieve from memory and execute, among other things, instructions related to the control processes and methods described herein. The controller 426 is also configured to store vacuum information on the memory 432 including operational data, information identifying the type of vacuum, a unique identifier for the particular vacuum, and other information relevant to operating or maintaining the vacuum 100. The vacuum usage information, such as current levels, motor speed, motor acceleration, whether the vacuum is actively vacuuming, may be captured or inferred from data output by the sensor(s) 418. Such information may then be accessed with the external electronic device. In other constructions, the controller 426 includes additional, fewer, or different components.
[0066] The wireless communication controller 450 is coupled to the controller 426. As shown in FIG. 8B, the wireless communication controller 450 includes a radio transceiver and an antenna 454, a memory 456, and an electronic processor 458. The radio transceiver and antenna 454 operate together to send and receive wireless messages to and from the remote 272 and the electronic processor 458. The memory 456 can store instructions to be implemented by the electronic processor 458 and / or may store data related to communications between the vacuum 100 and the remote 272 or the like. The electronic processor 458 for the wireless communication controller 450 controls wireless communications between the vacuum 100 and the remote 272. For example, the electronic processor 458 associated with the wireless communication controllerAttorney Docket No. 066042-1730-W001450 buffers incoming and / or outgoing data, communicates with the controller 426, and determines the communication protocol and / or settings to use in wireless communications.
[0067] In the illustrated implementation, the wireless communication controller 450 is a Bluetooth® controller. The Bluetooth® controller communicates with the remote 272 employing the Bluetooth ® protocol. Therefore, in the illustrated implementation, the remote 272 and the vacuum 100 are within a communication range (i.e., in proximity) of each other while they exchange data. In other implementations, the wireless communication controller 450 communicates using other protocols (e.g., Wi-Fi®, cellular protocols, a proprietary protocol, etc.) over a different type of wireless network. For example, the wireless communication controller 450 may be configured to communicate via Wi-Fi® through a WAN, such as the Internet or a LAN, or to communicate through a piconet (e.g., using infrared or near-field communications (“NFC”).
[0068] The wireless communication controller 450 is configured to receive data from the controller 426 and relay the information to the remote 272 via the transceiver and antenna 454. In a similar manner, the wireless communication controller 450 is configured to receive information from the remote 272 via the transceiver and antenna 454 and relay the information to the controller 426.
[0069] The memory 432 stores various identifying information of the vacuum 100 including a unique binary identifier (UBID), an American Standard Code for Information Interchange [“ASCII”] serial number, an ASCII nickname, and a decimal catalog number. The UBID both uniquely identifies the type of vacuum and provides a unique serial number for each vacuum 100. Additional or alternative techniques for uniquely identifying the vacuum 100 are used in some implementations.
[0070] FIG. 9 provides an illustrative example of where the sensors 418 are located in the vacuum 100. In the example illustrated in FIG. 9, the IR sensor 418D, the Piezo sensor 418E, and the pressure sensor 418F are located within and / or attached to the inlet passage 150. Although not illustrated in FIG. 9, the vacuum 100 may include a current sensor 418C and / or a voltage sensor 418B configured to measure the current and / or voltage consumed by the motor 300. It should be understood that the sensors illustrated in FIG. 9 and their positions are merely examples. Other types of sensors may be utilized and the sensors may be mounted / located atAttorney Docket No. 066042-1730-W001 positions other than those illustrated in FIG. 9. For example, the IR sensor 418D, the Piezo sensor 418E, and / or the pressure sensor 418F may be located within and / or attached to the container 104 rather than the inlet passage 150. Additionally, the vacuum 100 may include more than one sensor of each type. For example, the vacuum 100 may include multiple pressure sensors at various locations.
[0071] FIGS. 10-14 include example graphs of data collected by the sensors 418 and indicate how the sensor data corresponds to the vacuum 100 being actively vacuuming. In FIG. 10, the x- axis of the graph 500 represents time (in seconds (s)) and the y-axis of the graph 500 represents pressure (in hectoPascals (hPa)) as measured by, for example, the pressure sensor 418F. As shown in FIG. 10, when the measured pressure is steady the vacuum is likely idle and when the measured pressure is not steady (is oscillating) the vacuum 100 is likely actively vacuuming.
[0072] In FIG. 11, the x-axis of the graph 600 represents time (in seconds (s)) and the y-axis represents the speed of the motor 300 (in rotations per minute (RPM)), as measured by the Hall sensor 418A or determined by the controller 426 based on back-EMF, a measured voltage, a measured current, or a combination of the foregoing. As illustrated in the graph 600, the speed of the motor 300 spiking indicates that the vacuum 100 is actively vacuuming.
[0073] In FIG. 12, the x-axis of the graph 700 represents a number of data points collected over time by the IR sensor 418D and the y-axis represents the value measured by the IR sensor 418D. In some instances, the value measured by the IR sensor 418D increasing or spiking indicates that the inlet passage 150 contains dust and debris and that the vacuum 100 is actively vacuuming. For example, the value measured by the IR sensor 418D may increase when the concentration of dirt or dust particles increases. In another example, the value measured by the IR sensor 418D may increase due to one or more large pieces of debris passing through the inlet passage 150.
[0074] In FIG. 13, the x-axis of the graph 800 represents a number of data points collected over time by the Piezo sensor 418E and the y-axis represents the value measured by the Piezo sensor 418E. As illustrated in the graph 800, the value measured by the Piezo sensor 418E spiking indicates that the vacuum 100 is actively vacuuming. The value measured by a Piezo sensor 418E increases when the Piezo sensor is deformed. The Piezo sensor 418E may be deformed by debris ingested when the vacuum is actively being used. The Piezo sensor 418EAttorney Docket No. 066042-1730-W001 may also be deformed based on vibrations produced by the motor 300 and may be used to determine the speed of the motor 300. The Piezo sensor 418E may also be deformed based on increasing and decreasing air flow in the vacuum 100.
[0075] In FIG. 14, the x-axis of the spectrogram 850 represents a number of data points collected over time by the and the y-axis represents current sampled at 4 kilohertz (kHz) by the current sensor 418C. In some implementations, the current sampled by the current sensor 418C is the current the battery pack 236 provides to the vacuum 100. In some implementations, current sampled by the current sensor 418C in the frequency domain indicates whether the vacuum 100 is actively vacuuming or is idle. For example, increases in current indicate that the vacuum 100 is actively vacuuming and decreases in current indicated that the vacuum is idle. In some implementations, current frequency may change due to changes the speed or load of the motor 300.
[0076] FIG. 15 includes a flowchart of a method 900 for controlling power consumption of a vacuum based on usage of the vacuum (for example, the vacuum 100). In some implementations, the power consumed by the vacuum 100 from the attached battery pack 236 varies depending on the mode that the vacuum is in. For example, the mode of the vacuum 100 may be a high-power mode or a low-power mode. In some implementations, the mode of the vacuum 100 is a high- power mode, a low-power mode, or a battery saver mode. In some implementations, in high- power mode, the motor 300 drains more power from the battery pack 236 than the motor 300 drains from the battery pack 236 in the low-power mode or battery saver-mode. In some implementations, in low-power mode, the motor 300 drains more power from the battery pack 236 than the motor 300 drains from the battery pack 236 in the battery saver-mode. How much power is drained from the battery pack 236 in each mode depends on model of the vacuum 100, the capacity of the battery pack 236, and whether multiple battery packs 236 are powering the vacuum 100. For example, where the battery pack 236 attached to the vacuum 100 is a 18V battery with an Amp-hour rating of 12 Ah and is the only battery pack attached to the vacuum 100, the power draw from the battery pack 236 is 450 Watts (W) in the high-power mode, 300 W in the low-power mode, and 150 W in the battery saver mode.
[0077] In some implementations, there may be additional modes that the vacuum 100 may be placed in. For example, the vacuum 100 may have a higher power mode and, where the batteryAttorney Docket No. 066042-1730-W001 pack 236 atached to the vacuum 100 is a 18V battery with an Amp-hour rating of 12 Ah and is the only battery pack atached to the vacuum 100, the power draw from the battery pack 236 is 540 W in the higher-power mode.
[0078] In some implementations, the method 900 begins at block 905 when the controller 426 receives data from one or more sensors. The one or more sensors may include one or more of the Hall sensors 418A, voltage sensors 418B, current sensors, 418C, IR sensors 418D, Piezo sensors 418E, pressure sensors 418F, back-EMF detectors 418G. In some implementations, at block 906, the controller 426 determines a value. For example, the controller 426 may determine a speed of motor 300 of the vacuum 100, a voltage, and a current (for example, a voltage and a current output from the battery pack 236). The controller 426 may determine the value based on data or signals from the back-EMF detector 418G, the voltage sensor, the current sensor, a combination of the foregoing, and the like.
[0079] At block 907, the controller 426 determines, using a machine learning algorithm, whether the vacuum is actively vacuuming or is idle based on 1) data received from one or more sensors, 2) a determined value, or both 1) and 2) and a mode of the vacuum. The vacuum 100 may be idle when the vacuum 100 is powered on and creating a vacuum but is not being actively used to vacuum or ingest dirt, dust, debris, or the like.
[0080] In some implementations, the machine learning algorithm utilized at block 907 to determine whether the vacuum 100 is actively vacuuming or is idle is a machine learning algorithm retrieved from memory 432, such as from the machine learning data storage area.
[0081] To implement the machine learning algorithm, the controller 426 is configured to learn a general rule or model that maps the inputs to the outputs based on the provided example input-output pairs. The machine learning algorithm may be configured to perform machine learning using various types of methods. For example, the controller 426 may implement the machine learning program using decision tree learning (such as random decision forests), associates rule learning, artificial neural networks, recurrent artificial neural networks, long short term memory neural networks, inductive logic programming, support vector machines, clustering, Bayesian networks, reinforcement learning, representation learning, similarity and metric learning, sparse dictionary learning, genetic algorithms, k-nearest neighbor (KNN), among others, such as those listed in Table 1 below.Attorney Docket No. 066042-1730-W001
[0082] The controller 426 is programmed and trained to perform a particular task using the machine learning algorithm. For example, in some implementations, the controller 426 is trained to determine whether the vacuum 100 is actively vacuuming or is idle. The training examples used to train the machine learning algorithm may be graphs or tables of sensor data, determined values, vacuum mode, and whether the vacuum 100 is actively vacuuming or idle. The training examples may be previously collected training examples, from, for example, a plurality of the same type of vacuums. For example, the training examples may have been previously collected from a plurality of vacuums of the same type (for example, the same make and model) over a span of, for example, one year.
[0083] A number of different training examples is provided to the controller 426. The controller 426 may use these training examples to generate a machine learning algorithm (e.g., a rule, a set of equations, and the like) that helps categorize the vacuum 100 as actively vacuuming or idle based on new input data. The controller 426 may weight different training examples differently to, for example, prioritize different conditions or inputs and outputs to and from the controller 426. For example, certain observed operating characteristics may be weighed more heavily than others.Attorney Docket No. 066042-1730-W001
[0084] In one example, the controller 426 may implement an artificial neural network. The artificial neural network includes an input layer, a plurality of hidden layers or nodes, and an output layer. Typically, the input layer includes as many nodes as inputs provided to the controller 426. The number (and the type) of inputs provided to the controller 426 may vary based on the particular task for the controller 426. Accordingly, the input layer of the artificial neural network of the controller 426 may have a different number of nodes based on the particular task for the controller 426. The input layer connects to the hidden layers. The number of hidden layers varies and may depend on the particular task for the controller 426. Additionally, each hidden layer may have a different number of nodes and may be connected to the next layer differently. For example, each node of the input layer may be connected to each node of the first hidden layer. The connection between each node of the input layer and each node of the first hidden layer may be assigned a weight parameter. Additionally, each node of the neural network may also be assigned a bias value. However, each node of the first hidden layer may not be connected to each node of the second hidden layer. That is, there may be some nodes of the first hidden layer that are not connected to all of the nodes of the second hidden layer. The connections between the nodes of the first hidden layers and the second hidden layers are each assigned different weight parameters. Each node of the hidden layer is associated with an activation function. The activation function defines how the hidden layer is to process the input received from the input layer or from a previous input layer. These activation functions may vary and be based on not only the type of task associated with the controller 426, but may also vary based on the specific type of hidden layer implemented.
[0085] Each hidden layer may perform a different function. For example, some hidden layers can be convolutional hidden layers which can, in some instances, reduce the dimensionality of the inputs, while other hidden layers can perform statistical functions such as max pooling, which may reduce a group of inputs to the maximum value, an averaging layer, among others. In some of the hidden layers (also referred to as “dense layers”), each node is connected to each node of the next hidden layer. Some neural networks including more than, for example, three hidden layers may be considered deep neural networks. The last hidden layer is connected to the output layer. Similar to the input layer, the output layer typically has the same number of nodes as the possible outputs.Attorney Docket No. 066042-1730-W001
[0086] During training, the artificial neural network receives the inputs for a training example and generates an output using the bias for each node, and the connections between each node and the corresponding weights. The artificial neural network then compares the generated output with the actual output of the training example. Based on the generated output and the actual output of the training example, the neural network changes the weights associated with each node connection. In some implementations, the neural network also changes the weights associated with each node during training. The training continues until a training condition is met. The training condition may correspond to, for example, a predetermined number of training examples being used, a minimum accuracy threshold being reached during training and validation, a predetermined number of validation iterations being completed, and the like. Different types of training algorithms can be used to adjust the bias values and the weights of the node connection based on the training examples. The training algorithms may include, for example, gradient descent, newton’s method, conjugate gradient, quasi newton, and levenberg marquardt, among others.
[0087] FIG. 16 includes an illustrative example of a deep learning algorithm (machine learning algorithm) that the controller 426 may utilize to determine whether the vacuum 100 is actively vacuuming or is idle. At block 1000, the controller 426, executing the deep learning algorithm determines a subset of sensor data and / or determined values (hereinafter referred to as the “subset of data”) collected / determined over a predefined window of time (for example, 2000 ms) and down samples the subset of data. In some implementations, prior to analyzing the subset of data with a neural network, the controller 426, at block 1005 removes the mean from the data. In some implementations, at block 1010, the controller 426 executes a convolutional neural network (CNN) to analyze the subset of data. The CNN may include two 64 channel convolutional layers. Each convolutional layer may be followed by a rectified linear unit (ReLU) activation function with batch normalization. The CNN may also include a max pooling layer that is the final hidden layer before the output layer. In some implementations, the output generated when the controller 426 executes the CNN is input to a multilayer perceptron (MLP). At block 1015, the controller 426 executes the MLP to generate a prediction regarding whether the vacuum 100 is actively vacuuming or is idle. The MLP may also output a confidence value associated with the prediction. In some implementations, the MLP includes one or more fully connected layers and utilizes a Sigmoid activation function.Attorney Docket No. 066042-1730-W001
[0088] Returning to FIG. 15, at block 910, the controller 426 controls the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle.
[0089] FIG. 17 provides a flowchart 1100 of the functionality described in relation to FIG. 15 and FIG. 16. Block 1105 represents the sensor data received and / or the value(s) determined by the controller 426 and that is input to the machine learning algorithm. Block 1110 represents the mode of the vacuum 100 is input to the machine learning algorithm. Block 1115 represents the preprocessing of the received sensor data and / or determined value(s). Preprocessing the received sensor data may include determining a subset of data, down sampling the subset of data, and removing the mean from the subset of data as described above in relation to FIG. 16. At block 1120, the preprocessed central data is analyzed using one or more neural networks (for example, the CNN and MLP described above in relation to FIG. 16). At block 1120, a determination of whether the vacuum is actively vacuuming or idle is generated. Block 1125 represents controlling or adjusting the mode of the vacuum 100 based on the determination of whether the vacuum is actively vacuuming or idle. In some implementations, a confidence value is also generated at block 1120 and the confidence value is used to control the mode of the vacuum 100 at block 1125 (described in further detail below). Block 1130 represents operating the vacuum 100 in the mode determined at block 1125.
[0090] In some implementations, the control logic utilized by the controller 426 to control the mode of the vacuum 100 relies only on the current mode of the vacuum 100 and the determination of whether the vacuum is actively vacuuming or idle. For example, when the controller 426, utilizing the machine learning algorithm, determines the vacuum 100 to be idle, the controller 426 determines whether the vacuum 100 is in a lowest-power mode. The lowest- power mode may be the lowest power mode that the vacuum 100 may operate in without being powered off. When the vacuum 100 is not in a lowest-power mode, the controller 426 may change the mode of the vacuum 100 to a lower-power mode. For example, when the vacuum 100 may be in a battery saver mode, a low-power mode, or a high-power mode and the vacuum 100 is determined to be idle and is in the high-power mode, the controller 426 may change the mode of the vacuum 100 to the low-power mode or the battery saver mode (a lowest power mode). When the machine learning algorithm determines the vacuum 100 to be actively vacuuming, theAttorney Docket No. 066042-1730-W001 controller 426 determines whether the vacuum 100 is in a highest-power mode. When the vacuum 100 is not in the highest-power mode the controller 426 may change the mode of the vacuum 100 to a higher-power mode. For example, when the vacuum 100 may be in a battery saver mode, a low-power mode, or a high-power mode and the vacuum 100 is determined to be active and is in the battery saver mode, the controller 426 may change the mode of the vacuum 100 to the low-power mode or the high-power mode (a highest power mode).
[0091] In other implementations, the control logic utilized by the controller 426 to control the mode of the vacuum 100 relies on the confidence value produced by the machine learning algorithm and / or one or more previous predictions made by the machine learning algorithm when changing the mode of the vacuum 100 in addition to relying on the current mode of the vacuum 100 and the determination of whether the vacuum is actively vacuuming or idle. For example, when the vacuum 100 is in a high-power mode and the machine learning algorithm determines, with a high confidence value (for example, a confidence value above a predetermined threshold), that the vacuum 100 is idle, the controller 426 may change the mode of the vacuum to a battery saver mode. In another example, when the vacuum 100 is in a high- power mode and the machine learning algorithm determines, with a low confidence value (for example, a confidence value below a predetermined threshold), that the vacuum 100 is idle, the controller 426 may change the mode of the vacuum to a low-power mode rather than changing the mode to the battery saver mode (the lowest power mode).
[0092] FIG. 18 provides an illustrative example of changing a mode of the vacuum 100 based on the confidence value produced by the machine learning algorithm, the current mode of the vacuum 100, the determination of whether the vacuum is actively vacuuming or idle. At block 1200, the vacuum 100 is in a low-power mode and the controller 426 determines the vacuum 100 to be idle. At block 1205, the controller 426 determines that the vacuum 100 has gone from idle to active vacuuming. The determination that the vacuum 100 is actively vacuuming may be associated with a confidence value that is above a predetermined threshold and, at block 1205, the mode of the vacuum 100 changes from a low-power mode to a high- power mode. At block 1210, the controller 426 determines that the vacuum 100 is idle. However, the determination that the vacuum 100 is idle may be associated with a confidence value that is below a predetermined threshold. Therefore, the vacuum 100 may remain in high-power mode until the confidence value associated with the determination that the vacuum 100 is idle is equalAttorney Docket No. 066042-1730-W001 to or above a predetermined threshold. When the confidence value associated with the determination that the vacuum 100 is idle is equal to or above a predetermined threshold, the vacuum changes from a high-power mode to a low power mode.
[0093] In yet another example, when the vacuum 100 is in a high-power mode and the machine learning algorithm determines, with a low confidence value, that the vacuum 100 is idle, the controller 426 may change the mode of the vacuum 100 based on the current determination of the machine learning algorithm and one or more previous determinations made by the machine learning algorithm. For example, when the machine learning algorithm has determined that the vacuum is idle at least a predetermined number of times over the most previous 5 seconds, the controller 426 may change the mode of the vacuum 100 from the high- power mode to the low-power mode. When the machine learning algorithm has determined that the vacuum is idle less than a predetermined number of times over the most previous 5 seconds, the controller 426 may control the mode of the vacuum 100 to remain the high-power mode.
[0094] Thus, implementations described herein provide, among other things, controlling power consumption of a vacuum based on usage of the vacuum. Various features and advantages are set forth in the following claims.
[0095] Clause 1. A vacuum comprising: a controller, the controller configured to: determine, using a machine learning algorithm, whether the vacuum is actively vacuuming or is idle based on 1) data received from one or more sensors, 2) a determined value, or both 1) and 2) and a mode of the vacuum; and control the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle.
[0096] Clause 2. The vacuum according to clause 1, wherein the controller is further configured to: receive data from the one or more sensors, wherein the one or more sensors include at least one selected from the group consisting of a Hall sensor, a voltage sensor, a current sensor, a IR sensor, a Piezo sensor, and a pressure sensor.
[0097] Clause 3. The vacuum according to clause 1, wherein the determined value is at least one selected from the group consisting of a speed of a motor of the vacuum, a voltage, and a current.Attorney Docket No. 066042-1730-W001
[0098] Clause 4. The vacuum according to clause 1, wherein the machine learning algorithm is a deep learning algorithm including a convolutional neural network and a multilayer perceptron and the controller is configured to determine, using a machine learning algorithm, whether the vacuum is actively vacuuming or is idle based on the data received from the one or more sensors and a mode of the vacuum by: preprocessing the data received from the one or more sensors; analyzing the preprocessed data using the convolutional neural network; and analyzing output generated by the convolutional neural network using the multilayer perceptron to generate the determination of whether the vacuum is actively vacuuming or idle.
[0099] Clause 5. The vacuum according to clause 4, wherein preprocessing the data received from the one or more sensors includes: determining a subset of data received from the one or more sensors, wherein the subset of data is collected over a predefined window of time; down sampling the subset of data; and removing a mean from the subset of data.
[0100] Clause 6. The vacuum according to clause 1, wherein the controller is configured to control the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle by: when the mode of the vacuum is not a lowest-power mode and the vacuum is idle, changing the mode of the vacuum to the lowest- power mode; and when the mode of the vacuum is not a highest-power mode and the vacuum is actively vacuuming, changing the mode of the vacuum to the highest-power mode.
[0101] Clause 7. The vacuum according to clause 2, wherein the IR sensor, the Piezo sensor, and the pressure sensor are included in an inlet passage of the vacuum.
[0102] Clause 8. The vacuum according to clause 1, wherein the controller is further configured to: generate, using the machine learning algorithm, a confidence value associated with the determination of whether the vacuum is idle or actively vacuuming.
[0103] Clause 9. The vacuum according to clause 8, wherein the controller is configured to control the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle by: controlling the mode of the vacuum based on the mode of the vacuum, the determination of whether the vacuum is actively vacuuming or idle, and the confidence value associated with the determination.Attorney Docket No. 066042-1730-W001
[0104] Clause 10. The vacuum according to clause 1 , wherein the controller is configured to control the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle by: controlling the mode of the vacuum based on the mode of the vacuum, the determination of whether the vacuum is actively vacuuming or idle, and one or more previous determinations of whether the vacuum is actively vacuuming or idle.[00105J Clause 11. A method for controlling power consumption of a vacuum, the method comprising: determining, using a machine learning algorithm, whether the vacuum is actively vacuuming or is idle based on 1) data received from one or more sensors, 2) a determined value, or both 1) and 2) and a mode of the vacuum; and controlling the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle.
[0106] Clause 12. The method according to clause 11, the method further comprising: receive data from the one or more sensors, wherein the one or more sensors include at least one selected from the group consisting of a Hall sensor, a voltage sensor, a current sensor, a IR sensor, a Piezo sensor, and a pressure sensor.
[0107] Clause 13. The method according to clause 11, wherein the determined value is at least one selected from the group consisting of a speed of a motor of the vacuum, a voltage, and a current.
[0108] Clause 14. The method according to clause 11, wherein the machine learning algorithm is a deep learning algorithm including a convolutional neural network and a multilayer perceptron and determining, using a machine learning algorithm, whether the vacuum is actively vacuuming or is idle based on the data received from the one or more sensors and a mode of the vacuum includes: preprocessing the data received from the one or more sensors; analyzing the preprocessed data using the convolutional neural network; and analyzing output generated by the convolutional neural network using the multilayer perceptron to generate the determination of whether the vacuum is actively vacuuming or idle.
[0109] Clause 15. The method according to clause 14, wherein preprocessing the data received from the one or more sensors includes: determining a subset of data received from theAttorney Docket No. 066042-1730-W001 one or more sensors, wherein the subset of data is collected over a predefined window of time; down sampling the subset of data; and removing a mean from the subset of data.
[0110] Clause 16. The method according to clause 11, wherein controlling the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle includes: when the mode of the vacuum is not a lowest-power mode and the vacuum is idle, changing the mode of the vacuum to the lowest-power mode; and when the mode of the vacuum is not a highest-power mode and the vacuum is actively vacuuming, changing the mode of the vacuum to the highest-power mode.
[0111] Clause 17. The method according to clause 12, wherein the IR sensor, the Piezo sensor, and the pressure sensor are included in an inlet passage of the vacuum.
[0112] Clause 18. The method according to clause 11, the method further comprising: generating, using the machine learning algorithm, a confidence value associated with the determination of whether the vacuum is idle or actively vacuuming.
[0113] Clause 19. The method according to clause 18, wherein controlling the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle includes: controlling the mode of the vacuum based on the mode of the vacuum, the determination of whether the vacuum is actively vacuuming or idle, and the confidence value associated with the determination.
[0114] Clause 20. The method according to clause 11, wherein controlling the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle includes: controlling the mode of the vacuum based on the mode of the vacuum, the determination of whether the vacuum is actively vacuuming or idle, and one or more previous determinations of whether the vacuum is actively vacuuming or idle.
Claims
Attorney Docket No. 066042-1730-W001CLAIMSWhat is claimed is:
1. A vacuum compri sing : a controller, the controller configured to: determine, using a machine learning algorithm, whether the vacuum is actively vacuuming or is idle based on 1) data received from one or more sensors, 2) a determined value, or both 1) and 2) and a mode of the vacuum; and control the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle.
2. The vacuum according to claim 1, wherein the controller is further configured to: receive data from the one or more sensors, wherein the one or more sensors include at least one selected from the group consisting of a Hall sensor, a voltage sensor, a current sensor, a IR sensor, a Piezo sensor, and a pressure sensor.
3. The vacuum according to claim 1, wherein the determined value is at least one selected from the group consisting of a speed of a motor of the vacuum, a voltage, and a current.
4. The vacuum according to claim 1, wherein the machine learning algorithm is a deep learning algorithm including a convolutional neural network and a multilayer perceptron and the controller is configured to determine, using a machine learning algorithm, whether the vacuum is actively vacuuming or is idle based on the data received from the one or more sensors and a mode of the vacuum by: preprocessing the data received from the one or more sensors; analyzing the preprocessed data using the convolutional neural network; and analyzing output generated by the convolutional neural network using the multilayer perceptron to generate the determination of whether the vacuum is actively vacuuming or idle.
5. The vacuum according to claim 4, wherein preprocessing the data received from the one or more sensors includes:Attorney Docket No. 066042-1730-W001 determining a subset of data received from the one or more sensors, wherein the subset of data is collected over a predefined window of time; down sampling the subset of data; and removing a mean from the subset of data.
6. The vacuum according to claim 1, wherein the controller is configured to control the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle by: when the mode of the vacuum is not a lowest-power mode and the vacuum is idle, changing the mode of the vacuum to the lowest-power mode; and when the mode of the vacuum is not a highest-power mode and the vacuum is actively vacuuming, changing the mode of the vacuum to the highest-power mode.
7. The vacuum according to claim 2, wherein the IR sensor, the Piezo sensor, and the pressure sensor are included in an inlet passage of the vacuum.
8. The vacuum according to claim 1, wherein the controller is further configured to: generate, using the machine learning algorithm, a confidence value associated with the determination of whether the vacuum is idle or actively vacuuming.
9. The vacuum according to claim 8, wherein the controller is configured to control the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle by: controlling the mode of the vacuum based on the mode of the vacuum, the determination of whether the vacuum is actively vacuuming or idle, and the confidence value associated with the determination.
10. The vacuum according to claim 1, wherein the controller is configured to control the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle by: controlling the mode of the vacuum based on the mode of the vacuum, the determination of whether the vacuum is actively vacuuming or idle, and one or more previous determinations of whether the vacuum is actively vacuuming or idle.Attorney Docket No. 066042-1730-W00111. A method for controlling power consumption of a vacuum, the method comprising: determining, using a machine learning algorithm, whether the vacuum is actively vacuuming or is idle based on 1) data received from one or more sensors, 2) a determined value, or both 1) and 2) and a mode of the vacuum; and controlling the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle.
12. The method according to claim 11, the method further comprising: receive data from the one or more sensors, wherein the one or more sensors include at least one selected from the group consisting of a Hall sensor, a voltage sensor, a current sensor, a IR sensor, a Piezo sensor, and a pressure sensor.
13. The method according to claim 11, wherein the determined value is at least one selected from the group consisting of a speed of a motor of the vacuum, a voltage, and a current.
14. The method according to claim 11, wherein the machine learning algorithm is a deep learning algorithm including a convolutional neural network and a multilayer perceptron and determining, using a machine learning algorithm, whether the vacuum is actively vacuuming or is idle based on the data received from the one or more sensors and a mode of the vacuum includes: preprocessing the data received from the one or more sensors; analyzing the preprocessed data using the convolutional neural network; and analyzing output generated by the convolutional neural network using the multilayer perceptron to generate the determination of whether the vacuum is actively vacuuming or idle.
15. The method according to claim 14, wherein preprocessing the data received from the one or more sensors includes: determining a subset of data received from the one or more sensors, wherein the subset of data is collected over a predefined window of time; down sampling the subset of data; and removing a mean from the subset of data.Attorney Docket No. 066042-1730-W00116. The method according to claim 1 1 , wherein controlling the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle includes: when the mode of the vacuum is not a lowest-power mode and the vacuum is idle, changing the mode of the vacuum to the lowest-power mode; and when the mode of the vacuum is not a highest-power mode and the vacuum is actively vacuuming, changing the mode of the vacuum to the highest-power mode.
17. The method according to claim 12, wherein the IR sensor, the Piezo sensor, and the pressure sensor are included in an inlet passage of the vacuum.
18. The method according to claim 11, the method further comprising: generating, using the machine learning algorithm, a confidence value associated with the determination of whether the vacuum is idle or actively vacuuming.
19. The method according to claim 18, wherein controlling the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle includes: controlling the mode of the vacuum based on the mode of the vacuum, the determination of whether the vacuum is actively vacuuming or idle, and the confidence value associated with the determination.
20. The method according to claim 11, wherein controlling the mode of the vacuum based on the mode of the vacuum and the determination of whether the vacuum is actively vacuuming or idle includes: controlling the mode of the vacuum based on the mode of the vacuum, the determination of whether the vacuum is actively vacuuming or idle, and one or more previous determinations of whether the vacuum is actively vacuuming or idle.
Citation Information
Patent Citations
Driving method, device, equipment, program product and system of intelligent cleaning equipment
CN114305208A
Control system, optimum control quantity determining device, and vacuum cleaner
JP1993031059A
Method and apparatus for executing cleaning operation
US20190343355A1
Cleaner and control method thereof
US20210068604A1
Vacuum cleaner
US20230292967A1