Calibration system and method for additive manufacturing devices
10118341 ยท 2018-11-06
Assignee
Inventors
- Henry Liu (Las Vegas, CA)
- Mark P. Woodward (Las Vegas, NV, US)
- Rodney Chang (Las Vegas, NV, US)
- Nathan Rowe (Las Vegas, NV, US)
Cpc classification
G05B19/401
PHYSICS
B33Y10/00
PERFORMING OPERATIONS; TRANSPORTING
B29C64/386
PERFORMING OPERATIONS; TRANSPORTING
B33Y30/00
PERFORMING OPERATIONS; TRANSPORTING
B33Y50/00
PERFORMING OPERATIONS; TRANSPORTING
B29C64/00
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/36415
PHYSICS
B29C64/393
PERFORMING OPERATIONS; TRANSPORTING
B22F10/31
PERFORMING OPERATIONS; TRANSPORTING
G01D18/00
PHYSICS
G05B19/4099
PHYSICS
B22F10/28
PERFORMING OPERATIONS; TRANSPORTING
G05B17/00
PHYSICS
B22F12/90
PERFORMING OPERATIONS; TRANSPORTING
B33Y50/02
PERFORMING OPERATIONS; TRANSPORTING
Y02P10/25
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
B29C64/386
PERFORMING OPERATIONS; TRANSPORTING
B33Y50/02
PERFORMING OPERATIONS; TRANSPORTING
B29C64/00
PERFORMING OPERATIONS; TRANSPORTING
G05B19/4099
PHYSICS
B33Y50/00
PERFORMING OPERATIONS; TRANSPORTING
G05B17/00
PHYSICS
G01D18/00
PHYSICS
Abstract
An additive manufacturing device calibration system and method. In laser control systems, such as the laser control systems used for SL and SLS 3D printers, the laser beam is moved to a location by applying a control value. Often the control value and the location of the laser beam are in different spaces. One calibration system and method involves the input of a number of control values and their corresponding laser beam locations, and the adjusting of the parameters of a mapping function such that the control values generated by applying the mapping function to the input laser beam locations best matches the corresponding input control values.
Claims
1. An additive manufacturing device calibration method comprising: (i) collecting a number of laser locations on a build surface of said additive manufacturing device and corresponding control values of said laser locations necessary to direct a laser to said laser locations; (ii) applying a function fitting algorithm to an unfitted mapping function utilizing said laser locations and said corresponding control values to generate a calibration data set of laser locations and corresponding control values wherein said calibration data set permits control values to be generated from other laser locations not yet collected; and (iii) moving a laser to a desired laser location by applying mapping to said desired laser location to generate a necessary control value.
2. The additive manufacturing device calibration method of claim 1 further comprising automatically collecting said laser locations on said build surface of said additive manufacturing device and corresponding control values of said laser locations.
3. The additive manufacturing device calibration method of claim 2 further comprising utilizing photosensors positioned on said build surface.
4. The additive manufacturing device calibration method of claim 1 further comprising randomly and automatically collecting said laser locations on said build surface of said additive manufacturing device and corresponding control values of said laser locations.
5. The additive manufacturing device calibration method of claim 4 further comprising utilizing photosensors positioned on said build surface.
6. The additive manufacturing device calibration method of claim 1 further comprising utilizing a manual system for collecting said laser locations on said build surface of said additive manufacturing device and corresponding control values of said laser locations.
7. The additive manufacturing device calibration method of claim 6 further comprising utilizing a substrate depicting said laser locations on said build surface wherein said substrate is dimensioned to at least partially cover said build surface.
8. The additive manufacturing device calibration method of claim 1 further comprising utilizing a 2.sup.nd order polynomial as said unfitted mapping function.
9. The additive manufacturing device calibration method of claim 1 further comprising utilizing a linear regression as said function fitting algorithm.
10. The additive manufacturing device calibration method of claim 1 further comprising collecting said control values in the form of galvanometer voltages.
11. An additive manufacturing device system comprising: a laser; a laser steering system for controlling a direction of focus of said laser; a build surface; an interface; and computer instructions configured to: (i) collect a number of laser locations on said build surface and corresponding control values of said laser locations necessary to direct said laser to said laser locations; and (ii) apply a function fitting algorithm to an unfitted mapping function utilizing said laser locations and said corresponding control values to generate a calibration data set of laser locations and corresponding control values wherein said calibration data set permits control values to be determined from other laser locations not yet collected.
12. The additive manufacturing device system of claim 11 wherein said computer instructions are further configured to: automatically collect said laser locations on said build surface and said corresponding control values.
13. The additive manufacturing device system of claim 11 further comprising photosensors configured to position on said build surface.
14. The additive manufacturing device system of claim 11 further comprising a substrate depicting laser locations on said build surface wherein said substrate is dimensioned to at least partially cover said build surface.
15. The additive manufacturing device system of claim 11 wherein said computer instructions are further configured to: utilize a 2.sup.nd order polynomial as said unfitted mapping function.
16. The additive manufacturing device system of claim 11 wherein said computer instructions are further configured to: apply a linear regression as said function fitting algorithm.
17. The additive manufacturing device system of claim 11 wherein said laser steering system includes galvanometers and said collected and yet to be collected control values are based on galvanometer voltages.
18. An additive manufacturing device system comprising: a laser; a laser steering system for controlling a direction of focus of said laser; a build surface; a substrate depicting multiple marks representing laser locations on said build surface; an interface allowing a user to manually direct the laser to said marks on said substrate as said substrate rests on said build surface; and computer instructions configured to: (i) collect control values as said laser is directed at each of said marks; and (ii) apply a function fitting algorithm to an unfitted mapping function utilizing said laser locations, associated with each of said marks, and said corresponding control values to generate a calibration data set of laser locations and corresponding control values wherein said calibration data set permits control values to be determined for other laser locations not identified by a mark on said substrate.
19. The additive manufacturing device system of claim 18 wherein said substrate further depicts guide arrows between marks thereon.
20. The additive manufacturing device system of claim 18 wherein said substrate is dimensioned to at least partially cover said build surface.
21. The additive manufacturing device system of claim 18 wherein said computer instructions are further configured to: utilize a 2.sup.nd order polynomial as said unfitted mapping function.
22. The additive manufacturing device system of claim 18 wherein said computer instructions are further configured to: apply a linear regression as said function fitting algorithm.
23. An additive manufacturing device system comprising: a laser; a laser steering system for controlling a direction of focus of said laser; a build surface; a series of photosensors for use on said build surface; an interface; and computer instructions configured to: (i) collect control values as said laser is directed automatically at each of said photosensors; and (ii) apply a function fitting algorithm to an unfitted mapping function utilizing laser locations associated with each of said photosensors and said corresponding control values to generate a calibration data set of laser locations and corresponding control values wherein said calibration data set permits control values to be determined for other laser locations not identified by a photosensor on said build surface.
Description
BRIEF DESCRIPTION OF FIGURES
(1)
(2)
(3)
(4)
DETAILED DESCRIPTION
(5) For the purposes of promoting an understanding of the principles in accordance with the embodiments of the present invention, reference will now be made to the embodiments illustrated in the drawings and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended. Any alterations and further modifications of the inventive feature illustrated herein, and any additional applications of the principles of the invention as illustrated herein, which would normally occur to one skilled in the relevant art and having possession of this disclosure, are to be considered within the scope of the invention claimed.
(6) Those skilled in the art will recognize that the embodiments of the present invention involve both hardware and software elements which portions are described below in such detail required to construct and operate the calibration system and method according to the embodiments of the present invention.
(7) As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.), or an embodiment combining software and hardware. Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
(8) Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), and optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
(9) A computer readable signal medium may include a propagated data signal with computer readable program code embodied thereon, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any variety of forms, including, but not limited to, electromagnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device.
(10) Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF and the like, or any suitable combination of the foregoing.
(11) Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like or conventional procedural programming languages, such as the C programming language, AJAX, PHP, HTML, XHTML, Ruby, CSS or similar programming languages. The programming code may be configured in an application, an operating system, as part of a system firmware, or any suitable combination thereof. The programming code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on a remote computer or server as in a client/server relationship sometimes known as cloud computing. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
(12) Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
(13) These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
(14) The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
(15) The advantages of the embodiments of the present invention include, without limitation, a way of calibrating a laser-based additive manufacturing device by collecting a small number of calibration data points, without the need to explicitly model the kinematics of the system and variations between systems. The collection and processing of said number of calibration data points is shown to be easily performed.
(16) Referring now to
(17) The laser-based additive manufacturing device 100 of
(18) Still referring to
(19) One method for creating the mapping is to directly model the physics which produce the laser beam location from the control value. Such a method is time consuming and requires expert knowledge. Moreover, in practice, there are optical, mechanical, and electrical imperfections in any laser-based additive manufacturing device, resulting in differences between machines. Since the imperfections for a given machine are difficult, if not impossible, to predict, a mapping created by direct modeling will contain inherent imprecision and inaccuracy.
(20) The embodiments of the present invention involve building a mapping by collecting a set of calibration data points, and fitting the parameters of an unfitted mapping function to the collected calibration data points. Such a process, produces a precise mapping function calibrated to the specific laser-based additive manufacturing device. The resulting mapping automatically includes the physics of the system, and any optical, mechanical and electrical imperfections associated therewith.
(21) While the detailed description focuses on control values being galvanometer voltages, other control values such as laser beam angles may be used with the embodiments of the present invention. Moreover, other laser steering systems (e.g., spinning mirrors) are available and may be used with the embodiments of the present invention. That is, the embodiments of the present contemplate collecting different control values dependent upon the laser steering system used by the additive manufacturing device.
(22) Referring now to
(23) Still referring to
(24) Referring now to
(25) One embodiment of the present invention is set forth in Table 1 below.
(26) TABLE-US-00001 TABLE 1 Machine SL Location A point on the build plane (x, y) Control Value Two voltages, one for each of two mirror galvanometers Data Collection Manual guidance, via a paper placed on the build plane, depicting a grid of dots and arrows therebetween to guide the user. Mapping Function Two 2.sup.nd degree polynomials Function Fitting Linear Regression Algorithm
(27) Referring again to
(28) Referring now to
(29) In an automated system, a series of photosensors (acting as the marks) are positioned on the build surface 400. The system automatically guides the laser to the photosensors to determine the control values associated therewith. The location of the marks may be randomly distributed or based on a pre-established model related to device type, etc. The location of the marks must be known to the machine.
(30) The mapping function takes a location, in this case the x and y location on the build surface, and outputs a control value, in this case, a voltage for each of the mirror galvanometers. In this instance, the mapping function is divided into two functions, V.sub.A(x, y) and V.sub.B(x, y), one for the voltage for galvanometer A and one for the voltage for galvanometer B. Each function has independent parameters, a and b, respectively. A mapping function with multiple outputs does not need to be decomposed in this manner but can be a single function with a multi-dimensional output. In this embodiment, V.sub.A(x, y) and V.sub.B(x, y) are chosen to each be second order polynomials:
V.sub.A(x,y)=a.sub.0+a.sub.1x+a.sub.2y+a.sub.3xy+a.sub.4xx+a.sub.5yy
V.sub.B(x,y)=b.sub.0+b.sub.1x+b.sub.2y+b.sub.3xy+b.sub.4xx+b.sub.5yy
(31) For the calibration data set, let p.sup.i be the location on the build plane of calibration data point i. Further, let p.sub.x.sup.i be the x component of the location of the ith calibration data point, and p.sub.y.sup.i be the y component of the location of the ith calibration data point. Let v.sup.i be the control value voltages of calibration data point i. Further, let v.sub.a.sup.i be the voltage for galvanometer A for data point i, and let v.sub.b.sup.i be the voltage value for galvanometer B for data point i. Calibration data point i may now be represented as the pair (p.sup.i, v.sup.i). Let n be the number of calibration data points in the calibration data set.
(32) For this embodiment, the chosen function fitting algorithm is linear regression. Those skilled in the art will recognize that other function fitting algorithm may be used with polynomial functions and other functions (e.g., back-propagation for neutral networks) used within the embodiments of the present invention. The objective is to choose a.sub.j such that the predicted V.sub.A(p.sub.x.sup.i,p.sub.y.sup.i) is close to the measured v.sub.a.sup.i for all i. Similarly, the objective is to choose b.sub.j such that the predicted V.sub.B(p.sub.x.sup.i,p.sub.y.sup.i) is close to the measured v.sub.b.sup.i for all i. Specifically, linear regression minimizes:
(33)
and
(34)
(35) There are many freely available implementations of linear regression algorithms. For example, the \ operator in Matlab, or the dgesv( ) function in the LAPACK library for C/C++. Nearly all of these libraries require the data to be provided in a similar format. Specifically, they require a matrix X and a vector z. For this embodiment, the matrix X is the same for the a.sub.j linear regression and the b.sub.j linear regression, but the vector z is different. Let z.sub.a be the z vector for the a.sub.j linear regression and let z.sub.b be the z vector for the b.sub.j linear regression. Here X, z.sub.a, and z.sub.b are defined as:
(36)
Passing X and z.sub.a to a linear regression solver gives the a.sub.j parameters for the V.sub.A(x, y) mapping function. Passing X and z.sub.b to a linear regression solver gives the b.sub.j parameters for the V.sub.B(x, y) mapping function.
(37) With the parameters of V.sub.A(x,y) and V.sub.B(x,y) fit to the calibration data set, the result is a precise mapping function calibrated for a specific 3D printing device.
(38) While the foregoing written description of the embodiments of the present invention enable one of ordinary skill to make and use what is considered presently to be the best mode thereof, those of ordinary skill will understand and appreciate the existence of variations, combinations, and equivalents of the specific embodiment, method, and examples herein. The invention herein should therefore not be limited by the above-described embodiments, methods, and examples, but by all embodiments and methods within the scope and spirit of the invention as claimed.