# US 12,181,855 B2 · Calibration of a computer-numerically-controlled machine

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

- Number: US 12,181,855 B2
- Document ID: US12181855B2
- Status: Granted
- Kind: B2
- Application number: 18/394,938
- Filed: 2023-12-22
- Published: 2024-08-22
- Granted: 2024-12-31
- Earliest claimed: 2016-11-25
- Assignees: Glowforge Inc.
- Applicants: Glowforge Inc.
- Inventors: Daniel Shapiro; Mark Gosselin; Anthony Wright; Kevin McVey; Jared Kofron; Daniel Martinec; Brian Fioca; Taylor Vaughn
- Web page: https://patentgrep.com/patent/US12181855B2

## CPC

- G05B 19/19: characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
- G05B 19/402: characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position (G05B19/19 takes precedence)
- G05B 2219/40607: Fixed camera to observe workspace, object, workpiece, global
- G05B 2219/41092: References, calibration positions for correction of value position counter
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

A method for calibrating a computer-numerically-controlled machine can include capturing one or more images of at least a portion of the computer-numerically-controlled machine. The one or more images can be captured with at least one camera located inside an enclosure containing a material bed. A mapping relationship can be created which maps a pixel in the one or more images to a location within the computer-numerically controlled machine. The creation of the mapping relationship can include compensating for a difference in the one or more images relative to one or more physical parameters of the computer-numerically-controlled machine and/or a material positioned on the material bed. Related systems and/or articles of manufacture, including computer program products, are also provided.

## Claims

### Claim 1

A computing system, comprising:
at least one processor;
at least one non-transitory computer-readable medium; and
program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to:
obtain, via one or more cameras located within an enclosure of a computer-numerically-controlled (CNC) machine, one or more images showing (i) at least a portion of a material bed located within the enclosure of the CNC machine and (ii) a workpiece material positioned on the material bed;
process the one or more images based on one or more known physical characteristics of the CNC machine and (i) a thickness of the workpiece material or (ii) a height of an upper surface of the workpiece material relative to the material bed;
generate, based on the processed one or more images, a new image showing (i) at least a portion of the material bed located within the enclosure of the CNC machine and (ii) the workpiece material positioned on the material bed, wherein the new image adjusts for distortions in the one or more images; and
cause the generated new image to be presented on a display screen.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein the program instructions that are executable by the at least one processor such that the computing system is configured to process the one or more images comprise program instructions that are executable by the at least one processor such that the computing system is configured to determine a mapping relationship between pixels in the one or more images to corresponding physical locations within the CNC machine in a manner that compensates for the distortions in the one or more images.

### Claim 3 (depends on 2)

The computing system of claim 2, further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to:
generate a machine file or a motion plan for an intended fabrication pattern based at least on the determined mapping relationship; and
cause the CNC machine to implement the intended fabrication pattern on the workpiece material by delivering electromagnetic energy to the workpiece material based on the machine file or the motion plan.

### Claim 4 (depends on 3)

The computing system of claim 3, wherein:
the program instructions that are executable by the at least one processor such that the computing system is configured to determine the mapping relationship comprise program instructions that are executable by the at least one processor such that the computing system is configured to map a particular pixel coordinate corresponding to a particular pixel in the one or more images to a particular location coordinate corresponding to a particular location within the CNC machine; and
the program instructions that are executable by the at least one processor such that the computing system is configured to generate the machine file or the motion plan comprise program instructions that are executable by the at least one processor such that the computing system is configured to convert an instruction corresponding to the particular pixel coordinate to one or more commands for execution at the particular location.

### Claim 5 (depends on 1)

The computing system of claim 1, further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to:
receive, via a user interface, an intended fabrication pattern; and
cause the intended fabrication pattern to be presented on the display screen over the generated new image.

### Claim 6 (depends on 1)

The computing system of claim 1, wherein the one or more known physical characteristics of the CNC machine comprise a shape of the material bed or lighting conditions within the enclosure.

### Claim 7 (depends on 1)

The computing system of claim 1, further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to:
measure the thickness of the workpiece material or the height of the upper surface of the workpiece material relative to the material bed.

### Claim 8 (depends on 1)

The computing system of claim 1, wherein:
the one or more cameras comprise a first camera and a second camera; and
the computing system further comprises program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to:
cause the first camera to capture a first image of the one or more images; and
based at least in part on the first image, cause the second camera to capture a second image of the one or more images.

### Claim 9 (depends on 8)

The computing system of claim 8, further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to:
determine a location of at least one of the first camera or the second camera based on at least one of the first image or the second image, wherein the one or more known physical characteristics of the CNC machine comprise the location of the at least one of the first camera or the second camera.

### Claim 10 (depends on 1)

The computing system of claim 1, wherein:
the one or more images include one or more distinct patterns from a calibration tool that includes a plurality of distinct patterns; and
the program instructions that are executable by the at least one processor such that the computing system is configured to process the one or more images comprise program instructions that are executable by the at least one processor such that the computing system is configured to process the one or more images based at least in part on a location of the one or more distinct patterns within the calibration tool.

### Claim 11

A non-transitory computer-readable medium, wherein the non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a computing system to:
obtain, via one or more cameras located within an enclosure of a computer-numerically-controlled (CNC) machine, one or more images showing (i) at least a portion of a material bed located within the enclosure of the CNC machine and (ii) a workpiece material positioned on the material bed;
process the one or more images based on one or more known physical characteristics of the CNC machine and (i) a thickness of the workpiece material or (ii) a height of an upper surface of the workpiece material relative to the material bed;
generate, based on the processed one or more images, a new image showing (i) at least a portion of the material bed located within the enclosure of the CNC machine and (ii) the workpiece material positioned on the material bed, wherein the new image adjusts for distortions in the one or more images; and
cause the generated new image to be presented on a display screen.

### Claim 12 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the program instructions that, when executed by at least one processor, cause the computing system to process the one or more images comprise program instructions that, when executed by at least one processor, cause the computing system to determine a mapping relationship between pixels in the one or more images to corresponding physical locations within the CNC machine in a manner that compensates for the distortions in the one or more images.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the computing system to:
generate a machine file or a motion plan for an intended fabrication pattern based at least on the determined mapping relationship; and
cause the CNC machine to implement the intended fabrication pattern on the workpiece material by delivering electromagnetic energy to the workpiece material based on the machine file or the motion plan.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein:
the program instructions that, when executed by at least one processor, cause the computing system to determine the mapping relationship comprise program instructions that, when executed by at least one processor, cause the computing system to map a particular pixel coordinate corresponding to a particular pixel in the one or more images to a particular location coordinate corresponding to a particular location within the CNC machine; and
the program instructions that, when executed by at least one processor, cause the computing system to generate the machine file or the motion plan comprise program instructions that, when executed by at least one processor, cause the computing system to convert an instruction corresponding to the particular pixel coordinate to one or more commands for execution at the particular location.

### Claim 15 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the computing system to:
receive, via a user interface, an intended fabrication pattern; and
cause the intended fabrication pattern to be presented on the display screen over the generated new image.

### Claim 16 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the one or more known physical characteristics of the CNC machine comprise a shape of the material bed or lighting conditions within the enclosure.

### Claim 17 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the computing system to:
measure the thickness of the workpiece material or the height of the upper surface of the workpiece material relative to the material bed.

### Claim 18 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein:
the one or more cameras comprise a first camera and a second camera; and
the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the computing system to:
cause the first camera to capture a first image of the one or more images; and
based at least in part on the first image, cause the second camera to capture a second image of the one or more images.

### Claim 19 (depends on 18)

The non-transitory computer-readable medium of claim 18, wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the computing system to:
determine a location of at least one of the first camera or the second camera based on at least one of the first image or the second image, wherein the one or more known physical characteristics of the CNC machine comprise the location of the at least one of the first camera or the second camera.

### Claim 20

A method implemented by a computing system, the method comprising:
obtaining, via one or more cameras located within an enclosure of a computer-numerically-controlled (CNC) machine, one or more images showing (i) at least a portion of a material bed located within the enclosure of the CNC machine and (ii) a workpiece material positioned on the material bed;
processing the one or more images based on one or more known physical characteristics of the CNC machine and (i) a thickness of the workpiece material or (ii) a height of an upper surface of the workpiece material relative to the material bed;
generating, based on the processed one or more images, a new image showing (i) at least a portion of the material bed located within the enclosure of the CNC machine and (ii) the workpiece material positioned on the material bed, wherein the new image adjusts for distortions in the one or more images; and
causing the generated new image to be presented on a display screen.
