# US 2024/0201373 A1 · Measurement system with automatic tracking for customizing swimming pool components

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2024/0201373 A1
- Document ID: US20240201373A1
- Status: Published application
- Kind: A1
- Application number: 18/537,348
- Filed: 2023-12-12
- Published: 2024-06-20
- Earliest claimed: 2022-12-19
- Assignees: Latham Pool Products, Inc.
- Applicants: Latham Pool Products, Inc.
- Inventors: Will Cappiello
- Web page: https://patentgrep.com/patent/US20240201373A1

## CPC

- G01S 17/08: for measuring distance only (indirect measurement G01S17/46; active triangulation systems G01S17/48)
- G01B 11/026: {by measuring distance between sensor and object (G01B11/0608 takes precedence)}
- G01B 11/24: for measuring contours or curvatures
- G01S 7/4972: {Alignment of sensor}
- G01S 17/894: Three-dimensional [3D] imaging with simultaneous measurement of time-of-flight at a two-dimensional [2D] array of receiver pixels, e.g. time-of-flight cameras or flash lidar
- G06K 7/1404: {Methods for optical code recognition}
- G06T 7/20: Analysis of motion (motion estimation for coding, decoding, compressing or decompressing digital video signals H04N19/43, H04N19/51)
- G06T 17/00: Three-dimensional [3D] modelling for computer graphics
- H04N 23/61: based on recognised objects
- G01S: RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01B: MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Some examples of the present disclosure relate to a measurement system with automatic tracking for measuring the perimeter of a swimming pool. In one example, a measurement system can track movement of a target object around a perimeter of a swimming pool by analyzing images of the target object received from a camera. While tracking the movement of the target object, the measurement system can automatically control an orientation of a ranging device to follow the movement of the target object. The measurement system can receive a user request to acquire range data. In response to the user request, the measurement system can instruct the ranging device to collect the range data while the ranging device is oriented toward the particular location. The measurement system can then receive the range data and store the range data to a storage device.

## Claims

### Claim 1

A computer-implemented method, comprising:
tracking movement of a target object around a perimeter of a swimming pool by analyzing images of the target object received from a camera;
while tracking the movement of the target object around the perimeter of the swimming pool, automatically controlling an orientation of a ranging device to follow the movement of the target object around the perimeter of the swimming pool;
while the target object is positioned at a particular location around the perimeter of the swimming pool, receiving a user request to acquire range data, the range data indicating a spatial distance from the ranging device to the particular location;
in response to receiving the user request, instructing the ranging device to collect the range data while the ranging device is oriented toward the particular location;
receiving the range data from the ranging device; and
storing the range data to a storage device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the particular location is a first location, and further comprising:
while the target object is positioned at a second location around the perimeter of the swimming pool, receiving an additional user request to acquire additional range data, the additional range data indicating another spatial distance from the ranging device to the second location;
in response to receiving the additional user request, instructing the ranging device to collect the additional range data while the ranging device is oriented toward the second location;
receiving the additional range data from the ranging device; and
determining a segment distance between the first location and the second location based on the range data and the additional range data.

### Claim 3 (depends on 1)

The method of claim 1, wherein orienting the ranging device comprises:
determining a current orientation of the ranging device;
analyzing the images using one or more image processing techniques to determine an offset between the current orientation and an aligned orientation; and
controlling, using the offset, the ranging device to rotate about at least one axis orthogonal to a primary axis of the ranging device to align the primary axis with the target object according to the aligned orientation.

### Claim 4 (depends on 1)

The method of claim 1, wherein the ranging device is mounted in a fixed alignment with the camera, and automatically controlling the orientation of the ranging device comprises transmitting commands to an actuator for moving the camera to point at the target object based on the images.

### Claim 5 (depends on 1)

The method of claim 1, further comprising generating a virtual model of the swimming pool based on the range data.

### Claim 6 (depends on 1)

The method of claim 1, further comprising receiving an additional indication that the ranging device has been successfully oriented toward the target object.

### Claim 7 (depends on 1)

The method of claim 1, wherein the ranging device comprises a laser range finder.

### Claim 8 (depends on 1)

The method of claim 1, wherein the target object comprises a machine-readable optical label.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
generating, by a user device, guidance for a user to position the target object at an additional location adjacent to the perimeter of the swimming pool; and
presenting, by the user device, the guidance in a graphical user interface to the user.

### Claim 10

A system comprising:
a scanning subsystem comprising a camera and a ranging device;
one or more processors; and
one or more memories including instructions executable by the one or more processors for causing the one or more processors to perform operations including:
tracking movement of a target object around a perimeter of a swimming pool by analyzing images of the target object received from the camera;
while tracking the movement of the target object around the perimeter of the swimming pool, automatically controlling an orientation of the ranging device to follow the movement of the target object around the perimeter of the swimming pool;
while the target object is positioned at a particular location around the perimeter of the swimming pool, receiving a user request to acquire range data, the range data indicating a spatial distance from the ranging device to the particular location;
in response to receiving the user request, instructing the ranging device to collect the range data while the ranging device is oriented toward the particular location;
receiving the range data from the ranging device; and
storing the range data to a storage device.

### Claim 11 (depends on 10)

The system of claim 10, wherein the particular location is a first location, and wherein the operations further comprise:
while the target object is positioned at a second location around the perimeter of the swimming pool, receiving an additional user request to acquire additional range data, the additional range data indicating another spatial distance from the ranging device to the second location;
in response to receiving the additional user request, instructing the ranging device to collect the additional range data while the ranging device is oriented toward the second location;
receiving the additional range data from the ranging device; and
determining a segment distance between the first location and the second location based on the range data and the additional range data.

### Claim 12 (depends on 10)

The system of claim 10, wherein the operations further comprise:
determining a current orientation of the ranging device;
analyzing the images using one or more image processing techniques to determine an offset between the current orientation and an aligned orientation; and
controlling, using the offset, the ranging device to rotate about at least one axis orthogonal to a primary axis of the ranging device to align the primary axis with the target object according to the aligned orientation.

### Claim 13 (depends on 10)

The system of claim 10, wherein the ranging device is mounted in a fixed alignment with the camera, and automatically controlling the orientation of the ranging device comprises transmitting commands to an actuator for moving the camera to point at the target object based on the images.

### Claim 14 (depends on 10)

The system of claim 10, wherein the operations further comprise generating a virtual model of the swimming pool based on the range data.

### Claim 15 (depends on 10)

The system of claim 10, wherein the operations further comprise receiving an additional indication that the ranging device has been successfully oriented toward the target object.

### Claim 16 (depends on 10)

The system of claim 10, wherein the ranging device comprises a laser range finder.

### Claim 17 (depends on 10)

The system of claim 10, wherein the target object comprises a machine-readable optical label.

### Claim 18 (depends on 10)

The system of claim 10, wherein the operations further comprise:
generating guidance for a user to position the target object at an additional location adjacent to the perimeter of the swimming pool; and
presenting the guidance in a graphical user interface to the user.

### Claim 19 (depends on 10)

The system of claim 10, wherein the particular location corresponds to an anchor location.

### Claim 20

A non-transitory computer-readable medium comprising program code that is executable by one or more processors for causing a system to perform operations including:
tracking movement of a target object around a perimeter of a swimming pool by analyzing images of the target object received from a camera;
while tracking the movement of the target object around the perimeter of the swimming pool, automatically controlling an orientation of a ranging device to follow the movement of the target object around the perimeter of the swimming pool;
while the target object is positioned at a particular location around the perimeter of the swimming pool, receiving a user request to acquire range data, the range data indicating a spatial distance from the ranging device to the particular location;
in response to receiving the user request, instructing the ranging device to collect the range data while the ranging device is oriented toward the particular location;
receiving the range data from the ranging device; and
storing the range data to a storage device.
