Field
The present invention relates to a pool cleaner, and, more specifically to a pool cleaner with automatic cleaner traction correction to account for different swimming pool surfaces and conditions.
Related Art
Swimming pools commonly require cleaning. Beyond the treatments and filtration of pool water, the bottom wall and side walls of a pool are scrubbed regularly. Automated pool cleaning devices, e.g., swimming pool cleaners, have been developed to routinely navigate about the pool walls, cleaning as they go.
During cleaning, the pool cleaner will traverse the pool surfaces brushing or scrubbing the debris therefrom. The pool cleaner can be designed to operate at a certain speed while traversing certain walls or operating in certain modes. However, due to many different variables such as obstacles in the pool, changes in pressure, and different pool surfaces, the speeds and angular rates of the pool cleaner can change to an undesirable speed while cleaning the pool.
In order to overcome this problem, pool cleaners can be designed to have a setpoint, which is a desired target for a process variable. In the case of maintaining the angular rate of a pool cleaner, the process variable could be the angular rate of the pool cleaner. Accordingly, the pool cleaner can monitor the angular velocity of the cleaner and if there is an error, the pool cleaner can adjust the motors speed instruction in an effort to achieve the setpoint on the angular velocity of the cleaner.
A pool cleaner can adjust the motor speed instruction based on a “Proportional Integral Derivative” or “PID” control loop formula which takes into account the present error, historical error and future error in deviations from the desired set-point on the angular velocity (or other process variable). In other words, a PID control loop accounts for the input at the present moment, things learned from historical data, and the future projected data. Each one of the three parts to the PID control loop can have a constant factor or coefficient associated with it, also known respectively as “proportional gain,” “integral gain,” and “derivative gain.” Each “gain” represents how much emphasis or weight to put on that part of the formula. In some situations, it could be desirable to focus only on present and historical errors, in which case the gain for the D component is zero, which would result in a “PI” control loop. Alternatively, it could be desirable to focus only on the present error, in which case the gain for the I and D components are zero, which results in a “P” control loop. As used herein, the term “PID” control module can be understood to include within its scope, a “PI” control module (in which the derivative gain is 0) and a “P” control module (in which the integral gain and the derivative gain is 0).
The process of pre-assigning gain values can be called “tuning.” The issue with tuning pool cleaners is that some fixed set of gain values may perform well on some pool surfaces while not performing well on other surfaces because of the difference in traction on the wheels of the pool cleaner. Moreover, pool surfaces can vary greatly from one pool to another. The surfaces can range from concrete, vinyl, fiberglass, tile, and many variations in between. Accordingly, it is difficult to tune the gain values in advance because it cannot be known what pool surface the cleaner will clean.
Therefore, there exists a need for a pool cleaner designed with the ability to automatically account for the differences in traction on any pool surface it may encounter while cleaning.
A pool cleaner is provided including a top housing, a chassis and a computing system. The computing system can include a PID control module, for example, for maintaining a process variable at a setpoint value. The PID control module can be operable to execute various instructions. First, the PID control module can receive the setpoint value for the process variable in memory. Second, the PID control module can monitor the process variable of the pool cleaner while it is cleaning a pool surface to obtain a present state of the process variable. Third, the PID control module can calculate the phase difference and ultimate gain between the setpoint value of the process variable and the present state of the process variable. Finally, the PID control module can automatically tune (“auto-tune”) the PID control module to account for the pool surface the pool cleaner is cleaning by using the phase difference and ultimate gain previously calculated.
The foregoing features and others will be apparent from the following Detailed Description, taken in connection with the accompanying drawings, in which:
The present invention relates to a pool cleaner with automatic cleaner traction correction to account for different swimming pool surfaces, as discussed in detail below in connection with
Examples of robotic (electrical) cleaners are disclosed in U.S. Pre-Grant Patent Application Publication No. 2016/0215516, published Jul. 28, 2016, entitled “Swimming Pool Cleaner With Hydrocyclonic Particle Separator And/Or Six-Roller Drive System” (Hayes/Teuscher/Marciano), U.S. Pre-Grant Patent Application Publication No. 2016/0244988, published Aug. 25, 2016, entitled “Pool Cleaner With Optical Out-Of-Water And Debris Detection” (Barcelos/Teuscher), and U.S. Pat. No. 8,869,337, issued Oct. 28, 2014, and entitled “Pool cleaning device with adjustable buoyant element” (Sumonthee), and the contents of each and all of the foregoing are hereby incorporated by reference.
With reference to
The bottom housing 14 includes side panels 24 and front panel 26. Together, the top housing 12, the bottom housing 14, side panels 24, and front panel 26 form a cavity for housing various internal components within the cleaner 10. The bottom housing 14 allows the plurality of wheels 16 to be secured to the cleaner 10. The plurality of wheels 16 allow the cleaner 10 to traverse the swimming pool surfaces to clean debris. The plurality of wheels 16 is an example of a means for traversing a pool surface to be cleaned. The means for traversing a pool cleaner can include, but is not limited to, tank treads, rollers and similar means. The plurality of rollers 18 facilitate the collection of debris and particles into the cleaner 10.
The cleaner 10 is connected to an external power supply 28. The power supply 28 generally includes a transformer/control box 30 and a power cable 32 in communication with the transformer/control box 30 and the cleaner 10. In an exemplary embodiment, the pool cleaner 10 is an electrical pool cleaner.
Reference will now be made to
Reference will now be made to
Reference will now be made to
As shown in
In step 90, the automatic tuning process 80 updates the proportional gain 68, integral gain 72, and derivative gain 76 in equation 60. The automatic tuning process 80 uses the phase difference calculated in step 88 when updating the proportional gain 68, integral gain 72, and derivative gain 76. There is a mathematical relationship between the phase difference and how much traction the plurality of wheels 16 have on the pool surface. There is also a relationship between how much traction the plurality of wheels 16 have and the material the pool surface is made of. From most traction to least traction, the following is an example of the relative traction on pool surfaces: concrete→vinyl→fiberglass→tile. Therefore, the PID control module 56 automatically tunes the pool cleaner 10 based on the traction and pool surface. The automatic tuning process 80 derives the proportional gain 68, integral gain 72, and derivative gain 76 by using the following function:
Phi=180−theta
Kp=Ku*cos(phi)
Kd=0.25*Ki
Ki=(tan(phi)+(tan(phi)^2+16)^(½))/(2*Wu)
The proportional gain 68, integral gain 72, and derivative gain 76 can be tuned based on surface the pool cleaner 10 is currently cleaning. For a concrete pool surface, the proportional gain 68 could be 5, the integral gain 72 could be 1, and the derivative gain 76 could be 0.25. For a vinyl pool surface, the proportional gain 68 could be 5, the integral gain 72 could be 1, and the derivative gain 76 could be 0.25. For a fiberglass pool surface, the proportional gain 68 could be 5, the integral gain 72 could be 1, and the derivative gain 76 could be 0.25. For a tile pool surface, the proportional gain 68 could be 5, the integral gain 72 could be 1, and the derivative gain 76 could be 0.25. There can be gain scheduling, e.g., where these gain values can be located in a look-up table stored in memory in the storage device 48 and retrieved based on the phase difference, e.g., based on the theta value. The PID control module 56 can receive an input from the user indicating which pool surface the cleaner 10 will clean. The PID control module 56 can receive this input via the network interface 54 or by a push button located on the cleaner 10 or on a central controller. A user can send the input from a smartphone, PDA, tablet or a similar device which can be received by the cleaner 10 via the network interface 54. Upon receiving this input, the PID control module 56 can use the look-up table and input the proper gain values in the equation 60. For example, a user interface could include buttons or a touchscreens that allow a user to input a choice/selection between a pool wall formed of concrete, vinyl, fiberglass, or tile, and then retrieve, calculate, and/or adjust the gain values accordingly. The system of the present application can tune one gain value, two gain values, or three gain values.
Additionally and/or alternatively, the PID control module 56 can auto-tune the gain values (e.g., calculate the gain values in real-time) where it automatically determines the correct gain values to input into the equation 60 by relying on the phase difference in theta calculated in step 88. Depending on the phase difference, the PID control module 56 can automatically determine the correct pool surface and the many variations thereof. A look-up table is not required. Instead, the proportional gain 68, integral gain 72, and derivative gain 76 could be formulas themselves which are constantly updating. The formula for the gain values can be based on the theta value calculated in step 88.
Reference will now be made to
In step 104, the pool cleaner 10 executes a model estimation program which uses the data received from the pool cleaner 10 in step 102 to identify a plant model. The model estimation program can utilize a parametric approach for minimizing value functions or metrics. Minimizing functions can include methods of batch gradient descent where the function is quadratic or has a global minimum. Stochastic gradient descent can be used with multiple state methods to avoid local minima. Using a single metric, (L1, L2 norm, mean error), the pool cleaner 10 can implement a “leave-one-out” strategy for a linear model. A buffer can be used to contain the mean error, and the plant model representing the smallest mean error can be selected. In step 106, an optimization program analyzes a plant model to determine the appropriate gain values. The present disclosure is not limited by any type of plant model, and the specific plant models discussed are for explanatory purposes only. One example of a plant model could be a linear dynamic model where traction is estimate as torque is applies to the right and left wheels of the pool cleaner 10 via tractive effort. The following is a representation of this model:
M{umlaut over (q)}=Bτ−Cλ
where
and τ=[τ1,τr]T.
Another plant model could use a plucker transformation into body coordinated as shown below:
Still further, another plant model could modeled as a second order system in the laplace domain as show in the equation below:
The optimization program can take rely on the fact that a plant model can have an inherent stability criteria based on the physics of the plant model. The optimization program can analyze the plant model and determine the gain values by taking the laplace transform of the plant mathematical model, and factoring the transfer function into poles and zeros as shown in the following equation:
The location of the poles are where the transfer function does undefined. A PID controller could have a transfer function in the following form:
A closed loop transfer can be the product of the plant transfer function and the PID transfer function. As shown in
The closed loop transfer function is:
Where G(s)=H(s), the pool cleaner 10 can determine when a certain gain value will make the plant model and system response parameters go unstable as based on the location of the zeros and the poles.
In one embodiment, traction estimation of a pool cleaner 10 can implement a square wave input for the target (desired) angular rate. The angular rate can then be demuxed into motor speeds for both the left and right driver to provide rotation motion for the wheels of the pool cleaner 10. The actual angular rate is recorded and a peak detection algorithm can be used to determine the ultimate gain and the period for the closed loop plant model. A peak detection algorithm can work by using a first in first out (“FIFO”) buffer which only adds values to the values which are greater or less than the last value. The peak estimation algorithm determines the open loop system response. The gain values modify the transfer function of the plant model from an open loop transfer function to a closed loop transfer function. The gain values become incorporated in the pool cleaner 10 dynamics. The plant model is a representation of the physics in the traction estimation algorithm for determining gain values. Modeling in the time domain can be used based on Ziger Nichols tunings. Varying levels of traction can act as a low pass filter to the system response of the cleaner 10.
Having thus described the invention in detail, it is to be understood that the foregoing description is not intended to limit the spirit or scope thereof. It will be understood that the embodiments of the present invention described herein are merely exemplary and that a person skilled in the art may make any variations and modification without departing from the spirit and scope of the invention. All such variations and modifications, including those discussed above, are intended to be included within the scope of the invention.
| Number | Name | Date | Kind |
|---|---|---|---|
| 2810350 | MacWilliams | Oct 1957 | A |
| 3841793 | MacManus | Oct 1974 | A |
| 3953152 | Sipin | Apr 1976 | A |
| 3953777 | McKee | Apr 1976 | A |
| 4237451 | Hollenbeck | Dec 1980 | A |
| 4421643 | Frederick | Dec 1983 | A |
| 4505643 | Millis et al. | Mar 1985 | A |
| 4545906 | Frederick | Oct 1985 | A |
| 4715786 | Wolff et al. | Dec 1987 | A |
| 4797666 | Baxter et al. | Jan 1989 | A |
| 5083905 | Mohn | Jan 1992 | A |
| 5222867 | Walker, Sr. et al. | Jun 1993 | A |
| 5342527 | Chevallet et al. | Aug 1994 | A |
| 5464327 | Horwitz | Nov 1995 | A |
| 5540555 | Corso et al. | Jul 1996 | A |
| 5580221 | Triezenberg | Dec 1996 | A |
| 5631845 | Filev et al. | May 1997 | A |
| 5720068 | Clark et al. | Feb 1998 | A |
| 5730861 | Sterghos et al. | Mar 1998 | A |
| 5775304 | Kono et al. | Jul 1998 | A |
| 5818714 | Zou et al. | Oct 1998 | A |
| 5819848 | Rasmuson et al. | Oct 1998 | A |
| 6045331 | Gehm et al. | Apr 2000 | A |
| 6056008 | Adams et al. | May 2000 | A |
| 6092618 | Collier-Hallman | Jul 2000 | A |
| 6227806 | Libfeld | May 2001 | B1 |
| 6328881 | Larkner et al. | Dec 2001 | B1 |
| 6350105 | Kobayashi et al. | Feb 2002 | B1 |
| 6354805 | Moller | Mar 2002 | B1 |
| 6414455 | Watson | Jul 2002 | B1 |
| 6435637 | Lyman | Aug 2002 | B1 |
| 6444129 | Collins | Sep 2002 | B1 |
| 6464464 | Sabini et al. | Oct 2002 | B2 |
| 6481973 | Struthers | Nov 2002 | B1 |
| 6588632 | Nicol | Jul 2003 | B1 |
| 6589030 | Ozaki | Jul 2003 | B2 |
| 6625824 | Lutz et al. | Sep 2003 | B1 |
| 6741056 | Hall | May 2004 | B1 |
| 6776584 | Sabini et al. | Aug 2004 | B2 |
| 6842117 | Keown | Jan 2005 | B2 |
| 6998807 | Phillips et al. | Feb 2006 | B2 |
| 7080508 | Stavale et al. | Jul 2006 | B2 |
| 7117120 | Beck et al. | Oct 2006 | B2 |
| 7170262 | Pettigrew | Jan 2007 | B2 |
| 7244106 | Kallman et al. | Jul 2007 | B2 |
| RE40310 | Larkner et al. | May 2008 | E |
| 7435059 | Smith et al. | Oct 2008 | B2 |
| 7484938 | Allen | Feb 2009 | B2 |
| 7704051 | Koehl | Apr 2010 | B2 |
| 7797062 | Discenzo et al. | Sep 2010 | B2 |
| 7815420 | Keoehl | Oct 2010 | B2 |
| 8019479 | Stiles et al. | Sep 2011 | B2 |
| 8869337 | Sumonthee | Oct 2014 | B2 |
| 20010050248 | Larkner et al. | Dec 2001 | A1 |
| 20030061004 | Discenzo | Mar 2003 | A1 |
| 20040062658 | Beck et al. | Apr 2004 | A1 |
| 20050058548 | Thomas et al. | Mar 2005 | A1 |
| 20050084384 | Delano et al. | Apr 2005 | A1 |
| 20050123408 | Koehl | Jun 2005 | A1 |
| 20050158176 | Yiu et al. | Jul 2005 | A1 |
| 20090290989 | Mehlhorn et al. | Nov 2009 | A1 |
| 20090290991 | Mehlhorn et al. | Nov 2009 | A1 |
| 20110004339 | Ozick | Jan 2011 | A1 |
| 20160215516 | Hayes | Jul 2016 | A1 |
| 20160244988 | Barcelos | Aug 2016 | A1 |
| Number | Date | Country |
|---|---|---|
| 1645063 | Jul 2005 | CN |
| 33 08 862 | Sep 1984 | DE |
| 2 832 504 | May 2003 | FR |
| 2 223 331 | Jul 1992 | GB |
| 01016993 | Jan 1989 | JP |
| 01016994 | Jan 1989 | JP |
| Entry |
|---|
| “Cover-less” Instruction Manual for the Danfoss VLT® 8000 AQUA that is coded “MG.80.A2.02” in the footer (181 pages). |
| Danfoss VLT® 6000 Series Adjustable Frequency Drive Installation, Operation, and Maintenance Manual (Mar. 2000) (118 pages). |
| Declaration of Ali Emadi, Ph. D, U.S. Pat. No. 7,704,051, Before the Patent Trial And Appeal Board (110 pages). |
| Texas Instruments, Digital Signal Processing Solution for AC Induction Motor, Application Note, BPRA043 (1996) (27 pages). |
| Danfoss Drives A/S, Towards Autonomous Control of HVAC Systems (1999) (212 pages). |
| “Declaration of Prior Invention to Overcome Cited Patent (37 C.F.R. § 1.131),” including the evidence attached thereto and made a part thereof, and which was filed in the '747 Application on Mar. 14, 2006 (34 pages). |
| “Adaptive Control, Second Edition,” Karl John Åström and Björn, Wittenmark, Lund Institute of Technology, Addison-Wesley Publishing Company, Inc., Copyright 1995 (589 pages). |
| “Modern Power Electronics and AC Drives,” Bimal K. Bose, Prentice Hall PTR (Marked Copyright 2002; Published Oct. 2001) (728 pages). |
| Danfoss, VLT® AQUA Drive, “The ultimate solution for Water, Wastewater, & Irrigation” (May 2007) (16 pages). |
| Texas Instruments, Zhenyu Yu and David Figoli, DSP Digital Control System Applications—AC Induction Motor Control Using Constant V/Hz Principle and Space Vector PWM Technique with TMS320C240, Applicaiton Report No. SPRA284A (Apr. 1998) (131 pages). |
| “Gain-scheduling control of the Switched Reluctance Motor,” W.K. Ho, S.K. Panda, K.W. Lim, F.S. Huang, Department of Electrical Engineering, national University of Singapore, Control Engineering Practice 6 (1998), pp. 181-189, received May 1997 and in revised from Oct. 1997 (9 pages). |
| Danfoss, Dynamic simulations of DH House Stations Technical Paper by Jan Eric Thorsen (published at least as early as Sep. 2002) (10 pages). |
| From co-pending litigation of Pentair Water Pool and Spa, Inc. et al. v. Hayward Industries Inc. et al., Civil Action Case No. 5:11-cv-00459, the Transcript of Jul. 16, 2013 Deposition of E. Randolph Collins, Jr., Ph.D., P.E. (68 pages). |
| From Co-Pending Reexamination No. 95/002,007 for U.S. Pat. No. 7,815,420, the Feb. 13, 2013 “Declaration Under 37 C.F.R. § 1.132 of E. Randolph Collins, Jr., Ph.D., P.E.” (32 pages). |
| Transcript of the Deposition of E. Randolph Collins Taken in the Present IPR2013-00287 on May 22, 2014 (236 pages). |
| Hayward Industries, Inc. v. Pentair Water Pool and Spa, Inc., Case IPR2013-00287, U.S. Pat. No. 7,704,051, Petitioner's Demonstrative Exhibit 1063, Oral Hearing, Aug. 15, 2014 (24 pages). |
| Deposition Transcript of Ali Emadi, Hayward Industries, Inc. v. Pentair Water Pool and Spa, Inc., Case IPR2013-00287, U.S. Pat. No. 7,704,051 (49 pages). |
| Declaration of Randolph E. Collins, Hayward Industries, Inc. v. Pentair Water Pool and Spa, Inc., Case IPR2013-00287, U.S. Pat. No. 7,704,051 (18 pages). |
| Examiner's Answer, U.S. Appl. No. 10/730,747, dated Sep. 18, 2009 (9 pages). |
| Appeal Brief, U.S. Appl. No. 10/730,747, dated Jul. 20, 2009 (20 pages). |
| Patent Owner's Presentation, Hayward Industries, Inc. v. Pentair Water Pool and Spa, Inc., Case IPR2013-00287, U.S. Pat. No. 7,704,051, Aug. 15, 2014 (13 pages). |
| Preliminary Response to Petition Under 37 C.F.R. § 42.107, Hayward Industries, Inc. v. Pentair Water Pool and Spa, Inc., Case IPR2013-00287, U.S. Pat. No. 7,704,051 (56 pages). |
| Decision, Institution of Inter Partes Review, 37 C.F.R. § 42.108, Hayward Industries, Inc. v. Pentair Water Pool and Spa, Inc., Case IPR2013-00287, U.S. Pat. No. 7,704,051 (31 pages). |
| Patent Owner Response Under 37 C.F.R. § 42.120, Hayward Industries, Inc. v. Pentair Water Pool and Spa, Inc., Case IPR2013-00287, U.S. Pat. No. 7,704,051 (45 pages). |
| Final Written Decision, Hayward industries, Inc. v. Pentair Water Pool and Spa, Inc., Case IPR2013-00287, U.S. Pat. No. 7,704,051 (28 pages). |
| Petition for Inter Partes Review of U.S. Pat. No. 7,704,051, Before the Patent Trial and Appeal Board (77 pages). |
| Petitioner Reply to Patent Owner Response, Hayward Industries, Inc. v. Pentair Water Pool and Spa, Inc., Case IPR2013-00287, U.S. Pat. No. 7,704,051 (28 pages). |
| Stephen Homsey, School of Science and Engineering, Teesside University, A Review of Relay Auto-tuning Methods for the Tuning of PID-type Controllers (Nov. 21, 2016 date from Internet Archive), available at <https://warwick.ac.uk/fac/cross_fac/iatl/reinvention/issues/volume5issue2/homsey/>. |
| Vance VanDoren, Ph.D., P.E., Relay Method Automates PID Loop Tuning, A traditional loop tuning technique has been modified to simplify its implementation (Sep. 1, 2009) (Dec. 7, 2016 date from Internet Archive), available at <https://www.controleng.com/search/search-single-display/relay-method-automates-pid-loop-tuning/4a5774decc.html>. |
| Brett Beauregard, Arduino PID Autotune Library (Jan. 28, 2012) (Apr. 26, 2017 date from Internet Archive), available at <http://brettbeauregard.com/blog/2012/01/arduino-pid-autotune-library/>. |