IP Library Granted Patent US 12,181,855
Granted Patent B2
US 12,181,855 · App. 18/394,938 · Granted Dec 31, 2024

Calibration of a computer-numerically-controlled machine

Inventors: Daniel Shapiro (Mercer Island, WA); Mark Gosselin (Seattle, WA); Anthony Wright (Seattle, WA); Kevin McVey (Seattle, WA); Jared Kofron (Vashon, WA); Daniel Martinec (Kirkland, WA); Brian Fioca (Seattle, WA); Taylor Vaughn (Seattle, WA)
Assignee: Glowforge, Inc.
G05B19/19G05B19/402G05B2219/40607G05B2219/41092
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,181,855
App. No.
18/394,938
Granted
Dec 31, 2024
Kind
B2
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 (61)

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.

2. 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.

3. 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.

4. 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.

5. 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.

6. 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.

7. 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.

8. 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.

9. 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.

10. 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.

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.

12. 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.

13. 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.

14. 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.

15. 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.

16. 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.

17. 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.

18. 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.

19. 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.

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.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2026
From: PURPLEVINE IP SINGAPORE PTE. LTD.
To: MAKEBLOCK HONGKONG HOLDING LIMITED
Reel/Frame 073443/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2026
From: LASER EQUIPMENT COMPANY (ABC), LLC
To: PURPLEVINE IP SINGAPORE PTE. LTD.
Reel/Frame 073443/0437 →
RELEASE OF SECURITY INTEREST Recorded Jan 7, 2026
From: JPMORGAN CHASE BANK, N.A.
To: LASER EQUIPMENT COMPANY (ABC), LLC
Reel/Frame 073398/0789 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2026
From: GLOWFORGE INC.
To: LASER EQUIPMENT COMPANY (ABC), LLC
Reel/Frame 073369/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2024
From: SHAPIRO, DANIEL
To: GLOWFORGE INC.
Reel/Frame 067491/0569 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2024
From: GOSSELIN, MARK; WRIGHT, ANTHONY; MCVEY, KEVIN; KOFRON, JARED; MARTINEC, DANIEL; FIOCA, BRIAN; VAUGHN, TAYLOR
To: GLOWFORGE INC.
Reel/Frame 067491/0620 →
SUPPLEMENT NO. 1 TO INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 13, 2024
From: GLOWFORGE INC.; GLOWFORGE INTERNATIONAL INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067385/0141 →
Continuity (4)
Continuation 17463857 · Sep 1, 2021
Continuation 15823511 · Nov 27, 2017
Provisional Application 62426437 · Nov 25, 2016
Related Publication 20240280956A1 · Aug 22, 2024