Patent Description:
Swimming pools and spas are constructed in multiple shapes and sizes. Although some pools are generally rectilinear in shape and of generally constant depth, many others have complex shapes with non-uniform lengths, widths, and depths. These complex shapes complicate determination of various characteristics of the pools: As a simple example, even determining volumes of these pools may be difficult.

Nevertheless, obtaining additional information about swimming pools and spas often will be useful in operating the vessels. For example, localized mapping of the length, width, and depth of a pool may provide beneficial information to an automatic swimming pool cleaner (APC) operating therein. Knowing the volume of the pool, as another example, may be valuable in calculating an amount of chlorine (or other chemical) to add to the water of the pool to improve its quality or cleanliness.

Automated systems for discerning at least some information relating to pools have been proposed. Such systems contemplate using an operating, in-pool automatic pool cleaner with on-board processor and memory (commonly called a "pool robot") to travel within a pool and gather information about the pool based on its travels. <CIT>, for example, discloses a pool robot having on-board laser range finders or other sensor assemblies to "map[] a swimming pool or spa environment. " See Leonessa, p. <NUM>, ¶ <NUM>.

Also proposed is usage of cameras to capture movement of pool robots operating within pools. <CIT>, discloses a camera system configured to capture movement of a robotic cleaner within a pool. See Durvasula, p. <NUM>, ¶ <NUM>. Together with an external controller, the camera system identifies areas of the pool not traversed by the robotic cleaner and, in real-time, electronically steers the robot to cover such missed areas. <NUM>, ¶¶ <NUM>-<NUM>. Uncleaned areas may also be displayed (in unspecified manner) to allow persons to estimate how much more time must elapse before all areas are cleaned. Although cameras detailed in the Durvasula application may be positioned externally of a pool (i.e. not submerged within the pool), systems of the Durvasula application do not contemplate mapping, e.g., sizes and shapes of pools. Indeed, to the extent graphical depiction of pool information appears in the displays, the information evidently is pre-loaded in the controller. <NUM>, ¶¶ <NUM>-<NUM>.

Commonly-owned <CIT> of McQueen discusses systems and methods of mapping characteristics (including sizes and shapes) of swimming pools and spas. Preferred methods use satellite-based imagery as, for example, provided by Google Earth. Often pools are visible in the publicly-available satellite images, which thus provide "bird's eye" views of the pools. Shapes of the pools, at least at their upper surfaces, can be discerned from viewing the bird's eye images.

Further methods according to the state of the art are disclosed in <CIT>, <CIT>, <CIT>, <CIT>, <CIT>.

The present invention employs augmented reality techniques to assist in determining characteristics of swimming pools and spas. Using an image-capture device such as (but not limited to) a smartphone or tablet, someone may virtually trace an outline of a pool. A reference size and shape may be supplied to scale the outline appropriately. Additional depth-related and other information may be provided, allowing creation of a three-dimensional mapping of the general size and shape of the pool. The mapped and provided information may be available for display (on the same device used to capture the images or otherwise) if desired; it further may be furnished to an APC to improve its operational efficiency in cleaning the pool. Other uses of the mapped and provided information may be made as well. As one of many such examples of these other uses, operation of any appropriately-configured equipment of a water-circulation system of a pool or spa may change depending on the obtained information.

In some versions of the invention, the conventional smartphone or tablet, etc., may have loaded into it computer software emulating a tangible measuring device such as a tape measure or ruler. For example, a software application ("app") entitled "AR Measure" available from Laan Labs may be loaded onto an iPhone and supply a VR tape measure. A pool owner (or service technician, contractor, or other interested party) thereafter may use the AR Measure app to determine information about the pool, either by walking the perimeter of the pool with the iPhone in hand or directing a camera of the iPhone about the perimeter, as examples. Discontinuities of pool shape may be marked or otherwise noted (either "manually" by the user or "automatically" by the app), as may be other points of interest. Sizes, shapes, and other features of pools thus may be determined using the app, which determinations may be stored in memory, displayed, transferred or transmitted elsewhere, or otherwise processed as appropriate or desired.

It thus is an optional, non-exclusive object of the present invention to provide systems and methods for determining characteristics of liquid-containing vessels.

It is another optional, non-exclusive object of the present invention to provide systems and methods for using augmented reality techniques to map shapes of swimming pools and spas.

It is also an optional, non-exclusive object of the present invention to provide systems and methods for determining other characteristics (e.g. volumes) of the pools and spas, and utilizing the determined information in operation of the pools and spas.

It is, moreover, an optional, non-exclusive object of the present invention to provide systems and methods for determining information about pools and spas that may be furnished to APCs for operation in pools or spas.

Other objects, features, and advantages of the present invention will be apparent to persons skilled in the relevant art as defined by the appended claims.

In at least one version of the invention, a person may interact with a software program ("app") resident on, e.g., a mobile electronic device. An exemplary version of the app is entitled "NAV assist," as shown in <FIG>. The app initially may request information about the general shape of the pool of interest, asking the person or user to select whether the pool is free-form or rectilinear in shape (<FIG>).

This version of the app contemplates that a "Zodiac V4" robotic APC will be deployed in the pool. As illustrated in <FIG>, the app requests that the person place the box B (see also <FIG>) for the Zodiac V4 APC next to the pool, with the side of box B containing a large red dot facing upward. Because the size and shape of box B are known, box B may readily function as a reference object for purposes of scale. Of course, persons skilled in the art will recognize that other objects of known size may be utilized instead of this box B, and other methods of providing reference information, may be used. As well, in some instances no distinct reference object need be used as, for example, when apps utilizing Apple's ARKit software tools are available.

Assessing whether the Zodiac V4 box (or other reference object) is level relative to the ground (Earth) also supplies useful information to the app. Accordingly, <FIG> depicts the app requesting the person to place the image-capture device on the upper face of box B with the back or bottom side of the device facing the red dot. The person thereafter may interact with the app to commence a "level" determination (<FIG>); such determination typically utilizes existing hardware (e.g. accelerometer, compass) within the device to evaluate its orientation relative to the ground. To the extent that box B is not level, in-app corrections may be made.

<FIG> depicts the app displaying to the person an instruction to commence tracing an outline of the pool. Using the image-capture function of the device, the person places virtual markers M along the upper edge of the pool. In at least one version of the app, a cursor C may provide "cross-hairs" on the images viewed on the device; when the person aligns the cross-hairs of cursor C with a point of the viewed image along the upper edge of the pool, the person may "click" on the device so as to capture the point as part of the outline of the pool and virtually mark it with a marker M. Such capturing efforts typically require box B to be present in the picture (as shown, for example, in <FIG>) to serve as a real-world reference for the ground plane, although conceivably the reference information supplied by box B could be translated to some other object if necessary or desired.

The person proceeds to move the device so as to capture additional points of the outline of the pool and virtually mark them with markers M. <FIG>, for example, shows four markers M, with cursor C moved in preparation for marking a fifth point of the outline. Spacing of markers M is not critical, although creating more markers M may produce more precise outlines than creating fewer markers M.

Once markers M exist around the entirety of the pool, the app may create and display a virtual outline of the pool as shown in <FIG>. Also as shown in <FIG>, a maximum length and width of the outlined pool may be calculated and displayed. Further, by assuming certain depth-related information about the pool, the app may render and display a three-dimensional assumptive view of the pool as shown in <FIG>.

Because depth of a pool is difficult to ascertain (due in part to light refraction properties of water), versions of the present app request that the person interactively supply some of this information. In <FIG>, for example, a person is requested to provide an approximate maximum depth of the pool, while in <FIG>, the person is requested to select one of several possible depth profiles for the pool. After the information is provided and the selection is made, the app may then display an elevational rendering of the pool for confirmation, as shown in <FIG>. Additionally illustrated in <FIG> are various characteristics (e.g., length, width, depth, volume, water surface area, wall and floor surface area) of the pool whose values are obtained or calculated by the app. Further envisioned by the version of the app shown in <FIG> is display of some of these values, which may change as the person changes the pool depth (as by adjusting the virtual slider of the figure).

Versions of the app also contemplate optionally receiving additional information about the pool of interest. <FIG>, for example, requests that the person identify whether fresh or salt water is present in the pool, whether pool entry is made by stairs, a ladder, or a beach, and the color of the pool surfaces. Additional or alternative information may be obtained as desired.

Thereafter, some or all of the information available to or created by the app may be supplied to an APC in an effort to improve its performance. Consistent with <FIG>, the app may instruct the person to place the APC in the pool and provide power to the APC. The app and the APC may then communicate in any appropriate way; presently preferred is that such communication occur wirelessly, as through Bluetooth technology, although other communication techniques may be used instead. Data provided to the APC may be used to adjust its internal navigation parameters to improve cleaning of the pool. Of course, these data may be supplied to other equipment as well: The calculated volume of the pool may be supplied to an automatic chlorinator, for example, for determination of how much chlorine to release to the pool.

Numerous variations of the app may be made within the scope of the invention. As one of many examples, size calculations of the pool possibly may be improved by having the user mark, or confirm an automatic marking of, a rendering of the pool with a "spine"--a curve or line approximately bisecting the width of the pool along its length. Renderings also may include features of the pool (e.g. stairs, ladders, drains, fittings, etc.), and the app may upload information concerning the pool to others such as pool service technicians, pool equipment manufacturers, etc..

Yet additionally, the app may receive information about the pool from the APC or remote sources. As the APC navigates the pool, it may be able to glean information such as depth and curvature and transmit the information to the app. The app also may determine orientation of the pool relative to magnetic North. This determination, when provided to an APC equipped with a magnetometer, for example, may assist the APC in obtaining its relative position within the pool. Any or all of these data, whether sensed by or supplied to the APC, may aid in creating an efficient cleaning cycle for a pool.

Moreover, at least some newer image-capture devices may be configured so as not to need reference box B in order to determine a ground plane and sizing. A user may continue to create markers M about the pool, but need not necessarily maintain box B in the camera view. Furthermore, information obtained by any or all of the person, APC, and app may be useful to pool service and development teams, for example, and others involved in research, development, maintenance, repair, etc., of pools and associated equipment. The information may be transferred to these people in any appropriate manners, including (but not limited to) through the Internet.

These examples are not intended to be mutually exclusive, exhaustive, or restrictive in any way, and the invention is not limited to these example embodiments but rather encompasses all possible modifications and variations within the scope of any claims ultimately drafted and issued in connection with the invention (and their equivalents) as defined by the appended claims.

Claim 1:
A method of cleaning a swimming pool comprising:
a. determining a 3D mapping of the swimming pool by capturing images of the swimming pool;
b. communicating information relating to the 3D mapping of the swimming pool to an automatic swimming pool cleaner; and
c. causing operation of the automatic swimming pool cleaner within the swimming pool;
wherein determining a 3D mapping of the swimming pool comprises: (i) tracing a virtual outline of the swimming pool by using an image-capture function of a mobile device to place virtual markers M along the upper edge of the pool, (ii) placing virtual markers on captured images, (iii) displaying a virtual outline of the swimming pool from virtual markers, (iv) providing information relating to a depth of the swimming pool, and in that the step of causing operation comprises adjusting internal navigation parameters of the automatic swimming pool cleaner from communicated information to improve cleaning of the pool.