WO2025029283A1 - Utilizing transferred global context information to predict part deformation during metal sintering - Google Patents
Utilizing transferred global context information to predict part deformation during metal sintering Download PDFInfo
- Publication number
- WO2025029283A1 WO2025029283A1 PCT/US2023/071299 US2023071299W WO2025029283A1 WO 2025029283 A1 WO2025029283 A1 WO 2025029283A1 US 2023071299 W US2023071299 W US 2023071299W WO 2025029283 A1 WO2025029283 A1 WO 2025029283A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sintering
- schedule
- deformation
- network
- sintering schedule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/10—Additive manufacturing, e.g. three-dimensional [3D] printing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/08—Thermal analysis or thermal optimisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Definitions
- Three-dimensional (3D) solid parts may be produced from a digital model using additive manufacturing.
- Additive manufacturing may be used in rapid prototyping, mold generation, mold master generation, and short-run manufacturing.
- Additive manufacturing involves the application of successive layers of build material. This is unlike some machining processes that often remove material to create the final part.
- the build material may be cured or fused.
- FIG. 1 is a block diagram of an example metal sintering inference system, suitable for implementing aspects of the technology
- FIG. 2 is an example encoder of metal sintering inference system, according to an aspect of the technology described herein;
- FIG. 3 illustrates example training of machine learning components of a metal sintering inference system, according to an aspect of the technology described herein;
- FIG. 4 illustrates example inferencing using a metal sintering inference system, according to an aspect of the technology described herein;
- FIG. 5 is a flow diagram showing an example method for predicting part deformation during sintering, in accordance with an aspect of the technology described herein;
- FIG. 6 a flow diagram showing an example method for predicting part deformation during sintering, in accordance with an aspect of the technology described herein;
- FIG. 7 is a flow diagram showing an example method for training a first network and a second network to predict part deformation during sintering, in accordance with an aspect of the technology described herein.
- Additive manufacturing may be used to manufacture three-dimensional (3D) objects.
- 3D printing is an example of additive manufacturing.
- Metal printing e.g., metal binding printing, binder jet, Metal Jet Fusion, etc.
- metal powder may be glued at certain voxels.
- a voxel is a representation of a location in a 3D space (e.g., a component of a 3D space).
- a voxel may represent a volume that is a subset of the 3D space.
- voxels may be arranged on a 3D grid.
- a voxel may be cuboid or rectangular prismatic in shape.
- voxels in the 3D space may be uniformly sized or non-uniformly sized.
- a voxel size dimension may include 25.4 millimeters (mm)/150 » 170 microns for 150 dots per inch (dpi), 490 microns for 50 dpi, 2 mm, 4 mm, etc.
- voxel level and variations thereof may refer to a resolution, scale, or density corresponding to voxel size.
- Some examples of the techniques described herein may be utilized for various examples of additive manufacturing. For instance, some examples may be utilized for metal printing. Some metal printing techniques may be powder-based and driven by powder gluing and/or sintering. Some examples of the approaches described herein may be applied to areabased powder bed metal printing, such as binder jet, Metal Jet Fusion, and/or metal binding printing, etc. Some examples of the approaches described herein may be applied to additive manufacturing where an agent or agents (e.g., latex) carried by droplets are utilized for voxellevel powder binding.
- an agent or agents e.g., latex
- metal printing may include two phases.
- the printer e.g., print head, carriage, agent dispenser, and/or nozzle, etc.
- an agent or agents e.g., binding agent, glue, latex, etc.
- a precursor object is a mass of metal powder and adhesive.
- a precursor object may be sintered (e.g., heated) to produce an end object.
- the glued precursor object may be placed in a furnace or oven to be sintered to produce the end object. Sintering may cause the metal powder to fuse, and/or may cause the agent to be burned off.
- An end object is an object formed from a manufacturing procedure or procedures.
- an end object may undergo a further manufacturing procedure or procedures (e.g., support removal, polishing, assembly, painting, finishing, etc.).
- a precursor object may have an approximate shape of an end object.
- the two phases of some examples of metal printing may present challenges in controlling the shape (e.g., geometry) of the end object.
- the application e.g., injection
- agent(s) e.g., glue, latex, etc.
- metal powder fusion e.g., fusion of metal particles
- metal sintering may be performed in approaches for metal injection molded (MIM) objects and/or binder jet (e.g., MetJet).
- MIM metal injection molded
- binder jet e.g., MetJet
- metal sintering may introduce a deformation and/or change in an object varying from 25% to 50% depending on precursor object porosity.
- a factor or factors causing the deformation e.g., visco-plasticity, sintering pressure, yield surface parameters, yield stress, and/or gravitational sag, etc.
- Some approaches for metal sintering simulation may provide science-driven simulation based on first principle sintering physics.
- metal sintering simulation may provide science driven prediction of an object deformation and/or compensation for the deformation.
- Some simulation approaches may provide relatively high accuracy results at a voxel level for a variety of geometries (e.g., from less to more complex geometries).
- Due to computational complexity some examples of physics-based simulation engines may take a relatively long period to complete a simulation. For instance, simulating transient and dynamic sintering of an object may take from tens of minutes to several hours depending on object size. In some examples, larger object sizes may increase simulation runtime.
- CNNs convolutional neural networks
- RNNs recurrent neural networks
- GNNs graph neural networks
- a deep neural network may predict or infer a sintering state.
- a sintering state is data representing a state of an object in a sintering procedure.
- a sintering state may indicate a characteristic or characteristics of the object at a time during the sintering procedure.
- a sintering state may indicate a physical value or values associated with a voxel or voxels of an object. Examples of a characteristic(s) that may be indicated by a sintering state may include displacement, porosity, a displacement rate of change, a velocity, an acceleration, etc.
- Displacement is an amount of movement (e.g., distance) for all or a portion (e.g., voxel(s)) of an object.
- displacement may indicate an amount and/or direction that a part of an object has moved during sintering over a time period (e.g., since beginning a sintering procedure).
- Displacement may be expressed as a displacement vector or vectors at a voxel level.
- Porosity is a proportion of empty volume or unoccupied volume for all or a portion (e.g., voxel(s)) of an object.
- a displacement rate of change is a rate of change (e.g., velocity) of displacement for all or a portion (e.g., voxel(s)) of an object.
- An acceleration e.g., displacement acceleration
- a rate of change of a velocity is a rate of change of a velocity.
- simulating and/or predicting sintering states may be performed in a voxel space.
- a voxel space is a plurality of voxels and can be a frame of reference for describing a 3D structure of the model. This can be contrasted to a mesh which is a discretization model for 2D manifolds.
- a voxel space may represent a build volume and/or a sintering volume.
- a build volume is a 3D space for object manufacturing.
- a build volume is a physical space in which an apparatus (e.g., computer, 3D printer, etc.) may deposit material (e.g., metal powder, metal particles, etc.) and agent(s) (e.g., glue, latex, etc.) to manufacture an object (e.g., precursor object).
- an apparatus may progressively fill a build volume layer-by-layer with material and agent during manufacturing.
- a sintering volume is a 3D space for object sintering (e.g., oven).
- a precursor object may be placed in a sintering volume for sintering.
- a voxel space may be expressed in coordinates.
- locations in a voxel space may be expressed as x, y, or z coordinates or a count of voxels in the x, y, or z direction.
- a sintering state may indicate a displacement in a voxel space.
- a sintering state may indicate a displacement (e.g., displacement vector(s), displacement field(s), etc.) in voxel units and/or coordinates.
- a sintering state may indicate a position of a point or points of the object at a second time, where the point or points of the object at the second time correspond to a point or points of the object at the first time (and/or at a time previous to the first time).
- a displacement vector may indicate a distance and/or direction of movement of a point of the object over time. For instance, a displacement vector may be determined as a difference (e.g., subtraction) between positions of a point over time (in a voxel space, for instance).
- a sintering state may indicate a displacement rate of change (e.g., displacement “velocity”).
- a machine learning model may produce a sintering state that indicates the rate of change of the displacements.
- a machine learning model e.g., deep learning model for inferencing
- a sintering state may indicate a velocity rate of change (e.g., displacement “acceleration”).
- a machine learning model may produce a sintering state that indicates the rate of change of the displacement velocity.
- a machine learning model e.g., deep learning model for inferencing
- a sintering stage is a period during a sintering procedure.
- a sintering procedure may include multiple sintering stages (e.g., 2, 3, 4, etc., sintering stages).
- each sintering stage may correspond to different circumstances or sintering schedules (e.g., different temperatures, different heating patterns, different periods during the sintering procedure, etc.).
- Multiple sintering schedules are used in sintering ovens.
- a sintering schedule dictates how fast temperature rises, up to which degree, holds for how long, and how fast the temperature drops to room temperature.
- the sintering schedule drives the microscale sintering metallurgy and densification.
- sintering dynamics at different temperatures and/or sintering stages may have different deformation rates.
- the sintering procedure may comprise multiple sintering stages, with each sintering stage having a different sintering schedule.
- a machine learning model or models e.g., deep learning models may be trained to predict a sintering state in a sintering procedure.
- An offline loop is a procedure that is performed independent of (e.g., before) manufacturing, without manufacturing the object, and/or without measuring (e.g., scanning) the manufactured object.
- volumetric shrinkage can be up to 40%.
- the shrinkage is not uniform due to multiple factors: 1) geometrical conditions (impact due to part shape, round, bulk, or thin sheet, small features, overhang, contact surface area, impacts from print metal material properties (expressed by, for example, “Elastic modulus E” or “Poisson’s ratio v (nu)” in the physical simulation, etc.); and 2) parameter settings or oven control parameters of the sintering schedule, which controls the pace of the densification.
- geometrical conditions impact due to part shape, round, bulk, or thin sheet, small features, overhang, contact surface area, impacts from print metal material properties (expressed by, for example, “Elastic modulus E” or “Poisson’s ratio v (nu)” in the physical simulation, etc.
- parameter settings or oven control parameters of the sintering schedule which controls the pace of the densification.
- each machine learning model is trained with a specific sintering schedule. Variations in the sintering schedule (e.g., the sintering temperature profile, the porosity value, the dirichlet boundary conditions, etc.) may be selected, resulting in numerous sintering schedule scenarios. Applying a model trained with a specific sintering schedule to a different sintering schedule may harm the model prediction accuracy because the simulated deformation values are likely in a different data distribution than the model training data.
- the sintering schedule e.g., the sintering temperature profile, the porosity value, the dirichlet boundary conditions, etc.
- examples of the techniques described herein utilize machine learning models to train and transfer parameter knowledge (hereinafter, global context information) corresponding to the sintering schedule from one geometry simulation to other geometries.
- global context information is a latent space representation of information about the geometry or sintering schedule.
- the physical simulation of one geometry with the unseen sintering schedule can be utilized by a trained model to extract global context information and predict the sintering deformation for other geometries using the unseen sintering schedule.
- examples of the techniques described herein utilize machine learning models to train and transfer the global context information corresponding to the geometry of a part from one sintering schedule to other sintering schedules.
- the physical simulation of one sintering schedule with the unseen geometry can be utilized by a different trained model to extract global context information corresponding to the unseen geometry and predict the sintering deformation of the unseen geometry for other sintering schedules.
- a science-driven simulation is initially utilized to generate the transient dynamics for each voxel and for each timestep for a given part and sintering schedule.
- This forms one of the ground truths and the results are encoded as sequences of node vectors and edge vectors, each representing the state of the object at one timestep (during training, at least two simulations of two different parts using the sintering schedule or at least two simulations of one part using two different sintering schedules may be used to calculate the loss).
- the node vector is a vector of nodes and includes all the nodes that form the part including internal nodes (e.g., a node can represent a voxel) in this example.
- Each node in the node vector is a vector itself and includes x, y, z coordinates, velocity, acceleration, temperature, and porosity.
- the node vector is a vector of vectors.
- the term vector refers to a logical element that is used for storing a sequence of data elements of the same basic type.
- the edge vector is a vector of edges in this example. An edge is formed by two neighboring nodes. Each edge in the edge vector is a vector itself and includes, for example, starting node, end node, their distances (i.e., between the starting node and the end node or, more simply, between neighboring nodes), strain, and stress.
- node vector may also include the classification of whether it is a node on the contacting surface, whether it includes the surface friction, relative distance to the printing bounding box in xyz-dimension.
- each node may connect to multiple neighboring nodes. The connection can be determined with a pre-defined radius range with the starting node at centroid.
- the simulation is defined such that a part is placed on a flat surface.
- the voxels on the bottom surface are defined as contacting points.
- a part or a local region of the part may have the tendency to shrinks towards a certain direction, inducing the contacting points’ friction.
- the printing bed has a defined size for XY direction and the printable region’s height defines the printing bounding box.
- the bounding box is defined as an imaginary rectangle that serves as the maximum region of an arbitrary part geometry.
- the outcome from the training is parameters for two neutral networks: one neural network is the encoder that represents the impact of part geometrical conditions for two different geometries (parts K and S) with the same sintering schedule.
- the second neural network is the decoder that describes how the geometrical conditions and the sintering schedules interact/convolute with each other.
- two different geometries (parts K and S) with the same sintering schedule are pre-processed and formed with a graph data structure and provided as input to the encoder. Training is performed by minimizing the loss function (i.e., the extracted global context information representation from the two different parts are substantially the same (i.e., although the loss function is minimized, the error may still be nonzero)).
- the geometry information from part K is combined or concatenated with the extracted global context information from part S and input into the trained decoder to predict the deformation of part K using the sintering schedule of part S.
- two different sintering schedules with the same geometry are pre-processed and formed with a graph data structure and provided as input to the encoder. Training is performed by minimizing the loss function (i.e., the extracted geometry information from the two different sintering schedules are substantially the same (i.e., although the loss function is minimized, the error may still be non-zero)).
- the first global context information is combined or concatenated with the extracted geometry information and input into the trained decoder to predict the deformation of the part using the second sintering schedule.
- the trained graph- structural based decoder predicts deformation on the voxel level for every sintering timestep for an arbitrary geometry. Initially, a simulation is run for a reference part using the given sintering schedule. The trained graph-structural based encoder extracts the sintering schedule impact as a latent vector (i.e., the global context information). The decoder combines or concatenates the extracted latent vector and the arbitrary geometry (e.g., a CAD file) and predicts the deformation.
- a latent vector i.e., the global context information
- the decoder combines or concatenates the extracted latent vector and the arbitrary geometry (e.g., a CAD file) and predicts the deformation.
- the trained graph- structural based decoder predicts deformation on the voxel level for every sintering timestep for an arbitrary sintering schedule. Initially, a simulation is run for the given part using a reference sintering schedule. The trained graph-structural based encoder extracts part geometrical conditions impact as a latent graph. The trained graph-structural based decoder combines or concatenates the latent graph and the arbitrary sintering schedule and predicts the deformation.
- a user provides a specific geometry and sintering schedule for a physics based simulation (e.g., finite element analysis), or the user provides the results from such a simulation.
- the user provides the results from the simulation and either a modified geometry or a modified sintering schedule to a trained machine learning model.
- the trained machine learning model outputs a prediction of the part deformation that results from the modified geometry or the modified sintering schedule.
- example operating environment 100 includes a separation engine 102; a computing device 104 having a presentation component 106; a prediction engine 108; and a 3D printer 110.
- the separation engine 102 receives an input sintering simulation.
- an input sintering simulation of part K at sintering time z-th step, two pieces of information are separated by separation engine 102.
- the geometry information Ui which represents the geometry of the part
- the global context information Gi which is a latent vector space that encodes parameters of the sintering schedule for the sintering run.
- either the geometry information Ui or the global context information Gi may be separated by separation engine 102.
- the global context information Gi may have the same value across different parts, depending on the parameters of the sintering schedule used for the simulation.
- the user may provide, via the presentation component 106 of computing device 104, a part with different geometrical features for sintering using the same sintering schedule. In other aspects, the user may provide, via the presentation component 106 of computing device 104, the same part for sintering using a different sintering schedule.
- Prediction engine 108 predicts deformation of the part with different geometrical features with the same sintering schedule or of the same part with the different sintering schedule. Continuing the example above, the user may want the predicted deformation of part .S'. Prediction engine appends the extracted global context information Gi to the geometry information of part 5 and generates part .S” s sintering deformation prediction using the sintering schedule (which is captured in the global context information Gi).
- the user may test multiple parts (e.g., modifications to the geometry of part .S’) with the sintering schedule.
- prediction engine appends the extracted global context information Gi to the modified geometry of part .S' and generates part 5”s sintering deformation prediction using the sintering schedule.
- the user may test multiple sintering schedules (e.g., modifications to variables of the sintering schedule) with part S.
- prediction engine appends the extracted global context information Gi to the geometry information of part 5 and generates part S’ s sintering deformation prediction using the modified sintering schedule.
- the user may initiate printing, via the presentation component 106 of computing device 104, and the part is printed by 3D printer 110.
- the separation engine 102 and/or prediction engine 108 may be embodied on servers. In other configurations, the separation engine 102 and/or prediction engine 108 may be implemented at least partially or entirely on a user device.
- the separation engine 102 and/or prediction engine 108 (and its components) may be embodied as a set of compiled computer instructions or functions, program modules, computer software services, or an arrangement of processes carried out on one or more computer systems.
- FIG. 2 an example encoder 200 of metal sintering inference system is illustrated, according to an aspect of the technology described herein.
- the graph data structure representation 212 includes the node vector nf, the edge vector e , the neighborhood recording senders list sender , the neighborhood recording receivers list receiver?, and the last sintering time step node acceleration (or velocity or position) a_y s (i. e. , the last time step acceleration for each node).
- a sender refers to a node having a directed edge.
- a receiver refers to a node within a radius r range of the sender node that is a receiver of the directed edge of the sender node.
- the graph data structure representation 222 includes the node vector n ⁇ , the edge vector e ⁇ , the neighborhood recording senders list sender , the neighborhood recording receivers list receiver*, and the final sintering time step node acceleration (or velocity or position) a_y*.
- Each graph representation 212, 222 is passed through an encoder 230 that contains several graph message passing rounds to encode the graph representations 214, 224.
- multiple rounds of calculations may be performed, where each round may be referred to as one “message passing” round, representing the interaction among nodes through edges.
- the number of message passing rounds (e.g., 10 or another quantity) may vary depending on training.
- a graph pooling step is performed for each encoded graph representation 214, 224 to generate fixed- length vector representations, G? 216 and G* 226 (i.e., latent space representations of the global context information for geometries .S' and K at time step z).
- G? 216 and G* 226 i.e., latent space representations of the global context information for geometries .S' and K at time step z.
- a graph pool method is utilized to aggregate information in the nodes to make sure the extracted vector representations G are of the same size.
- data is selected from part S 310 and part K 320 which have same the sintering schedules.
- encoder 330 extracts global context information Gf 316 and 326.
- Decoder 340 uses geometry information 328 from part K 320 (e.g., acceleration of k-1, k-2, k-3 steps and the connection information of voxels) and global context information Gf 316 to predict geometry information L/ +1 , or sintering deformation 350.
- a loss function can be used to train encoder 330 and decoder 340.
- a means squared error (MSE) loss or dynamic max node loss can be utilized to train encoder 430 and decoder 340.
- the first part of the loss function attempts to make global information Gf 326 and Gf 316 as close as possible because in the training set the input geometry pairs are obtained from the same sintering schedules.
- the second part of the loss function, the geometry loss attempts to make the predicted deformation U' +1 as close to the ground truth 328 as possible (i.e., deformation for part K at predicted target timestep z'+l).
- FIG. 4 illustrates an example metal sintering inference system 400, according to an aspect of the technology described herein.
- Metal sintering inference system 400 is able to use simulation data of one part to predict simulation data of other parts with the same sintering schedules.
- metal sintering inference system 400 is able to use simulation data of one sintering schedule to predict simulation data of other sintering schedules with the same part.
- Trained encoder 430 and trained decoder 440 are an encoder and a decoder that have been trained as described above with respect to encoder 330 and decoder 340 of FIG. 3.
- Initially trained encoder 430 extracts global context information 416 from simulation 410 of part S.
- Trained decoder 440 combines geometry information 428 of part K 420 with global context information 416 to predict geometry information or deformation 450 of part K.
- the inference system can be implemented with one trained encoder and one trained decoder.
- FIG. 5 is a flow diagram showing an example method 600 for predicting part deformation during sintering, in accordance with an aspect of the technology described herein.
- the method 500 may be performed, for instance, by the metal sintering inference systems of FIGS. 1 or 4.
- a simulation of sintering of a first part according to a first sintering schedule is performed, using a processor.
- the simulation may be initiated from computing device 104 via presentation component 106 of FIG. 1.
- deformation of the first part during sintering according to a second sintering schedule or deformation of a second part during sintering according to the first sintering schedule is predicted.
- the predicted deformation of the first part during sintering according to the second sintering schedule or the predicted deformation of the second part during sintering according to the first sintering schedule is provided, such as via presentation component 106 of computing device 104 of FIG. 1.
- the first part may be sintered accorded to the second sintering schedule or the second part may be sintered according to the first sintering schedule.
- the sintering may be performed by 3D printer 110 and initiated via presentation component 106 of computing device 104 of FIG. 1.
- geometrical data of a third part corresponding to modifications to geometrical data of the second part may be received.
- the predicted deformation may not meet the expectations of the user, and the user makes modifications to the second part.
- the modifications may be made via presentation component 106 of computing device 104 of FIG. 1.
- the user Prior to actually printing the third part, the user may wish to initiate a deformation prediction via presentation component 106 of computing device 104 of FIG. 1. Accordingly, using the processor and the global context information, deformation of the third part during sintering according to the first sintering schedule is predicted.
- a third sintering schedule corresponding to modifications to the second sintering schedule may be received.
- the predicted deformation may not meet the expectations of the user, and the user may instead make modifications to the second sintering schedule.
- the modifications may be made via presentation component 106 of computing device 104 of FIG. 1.
- the user Prior to actually printing the part using the third sintering schedule, the user may wish to initiate a deformation prediction via presentation component 106 of computing device 104 of FIG. 1. Accordingly, using the processor and the global context information, deformation of the first part during sintering according to the third sintering schedule is predicted. [0053] FIG.
- FIG. 6 is a flow diagram showing an example method 600 for predicting part deformation during sintering, in accordance with an aspect of the technology described herein.
- the method 600 may be performed, for instance, by the metal sintering inference systems of FIGS. 1 or 4.
- global context information is extracted, using a first trained network, from a sintering simulation of a first part having a first sintering schedule.
- the method may be initiated from computing device 104 via presentation component 106 of FIG. 1.
- the extracted global context information is combined, using a second trained network, with either (i) geometrical data for a second part and the first sintering schedule or (ii) geometrical data for the first part and a second sintering schedule.
- deformation of the first part is predicted in accordance with the second sintering schedule or deformation of the second part is predicted in accordance with the first sintering schedule.
- the predicted deformation of the first part during sintering according to the second sintering schedule or the deformation of the second part during sintering according to the first sintering schedule is provided.
- the deformation may be provided to computing device 104 via presentation component 106 of FIG. 1.
- FIG. 7 is a flow diagram showing a method 700 for training a first network and a second network to predict part deformation during sintering, in accordance with an aspect of the technology described herein.
- the method 700 may be performed, for instance, by the metal sintering inference systems of FIGS. 1 or 4.
- the first network is trained using input sintering simulations for at least two input parts corresponding to a first sintering schedule.
- the method may be initiated from computing device 104 via presentation component 106 of FIG. 1.
- the second network is trained by combining global context information and geometrical data from one of the at least two input parts.
- a loss function concurrently trains the first network and the second network. Put another way, the result of the loss function is backpropagated through both networks (i.e., the overall result of the loss function trains both networks).
- the trained networks can be utilized to predict the deformation of a third part in accordance with the first sintering schedule. In other aspects, the trained networks can be utilized to predict the deformation of the first part or the second part in accordance with a second sintering schedule.
- computer-readable media can be any available media that can be accessed by a computing device and includes both volatile and nonvolatile media, removable and non-removable media.
- computer-readable media may comprise computer-storage media and communication media.
- Computer-storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVDs) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
- Computer storage media does not comprise signals per se.
- Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes wired media, such as a wired network or direct-wired connection, and wireless media, such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above should also be included within the scope of computer- readable media.
- words such as “a” and “an,” unless otherwise indicated to the contrary, may also include the plural as well as the singular.
- the constraint of “a feature” is satisfied where one or more features are present.
- the term “or” includes the conjunctive, the disjunctive, and both (a or b thus includes either a or b. as well as a and b).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Machine learning models are utilized to train and transfer parameter knowledge corresponding to a sintering schedule from one geometry simulation to other geometries. Thus, even with an unseen sintering schedule, the physical simulation of one geometry with the unseen sintering schedule can be utilized by a trained model to extract parameter knowledge and predict the sintering deformation for other geometries using the unseen sintering schedule. Additionally, or alternatively, machine learning models are utilized to transfer parameter knowledge corresponding to the geometry of a part from one sintering schedule to other sintering schedules. Thus, even with an unseen geometry, the physical simulation of one sintering schedule with the unseen geometry can be utilized by the trained model to extract global context information corresponding to the unseen geometry and predict the sintering deformation of the unseen geometry for other sintering schedules.
Description
UTILIZING TRANSFERRED GLOBAL CONTEXT INFORMATION TO PREDICT PART DEFORMATION DURING METAL SINTERING
BACKGROUND OF THE INVENTION
[0001] Three-dimensional (3D) solid parts may be produced from a digital model using additive manufacturing. Additive manufacturing may be used in rapid prototyping, mold generation, mold master generation, and short-run manufacturing. Additive manufacturing involves the application of successive layers of build material. This is unlike some machining processes that often remove material to create the final part. In some additive manufacturing techniques, the build material may be cured or fused.
BRIEF DESCRIPTION OF THE DRAWING
[0002] The present technology is described in detail below with reference to the attached drawing figures, wherein:
[0003] FIG. 1 is a block diagram of an example metal sintering inference system, suitable for implementing aspects of the technology;
[0004] FIG. 2 is an example encoder of metal sintering inference system, according to an aspect of the technology described herein;
[0005] FIG. 3 illustrates example training of machine learning components of a metal sintering inference system, according to an aspect of the technology described herein;
[0006] FIG. 4 illustrates example inferencing using a metal sintering inference system, according to an aspect of the technology described herein;
[0007] FIG. 5 is a flow diagram showing an example method for predicting part deformation during sintering, in accordance with an aspect of the technology described herein; [0008] FIG. 6 a flow diagram showing an example method for predicting part deformation during sintering, in accordance with an aspect of the technology described herein; [0009] FIG. 7 is a flow diagram showing an example method for training a first network and a second network to predict part deformation during sintering, in accordance with an aspect of the technology described herein.
DETAILED DESCRIPTION OF THE INVENTION
[0010] Additive manufacturing may be used to manufacture three-dimensional (3D) objects. 3D printing is an example of additive manufacturing. Metal printing (e.g., metal binding printing, binder jet, Metal Jet Fusion, etc.) is an example of 3D printing. In some examples, metal powder may be glued at certain voxels. A voxel is a representation of a location in a 3D space (e.g., a component of a 3D space). For instance, a voxel may represent a volume that is a subset of the 3D space. In some examples, voxels may be arranged on a 3D grid. For instance, a voxel may be cuboid or rectangular prismatic in shape. In some examples, voxels in the 3D space may be uniformly sized or non-uniformly sized. Examples of a voxel size dimension may include 25.4 millimeters (mm)/150 » 170 microns for 150 dots per inch (dpi), 490 microns for 50 dpi, 2 mm, 4 mm, etc. The term “voxel level” and variations thereof may refer to a resolution, scale, or density corresponding to voxel size.
[0011] Some examples of the techniques described herein may be utilized for various examples of additive manufacturing. For instance, some examples may be utilized for metal printing. Some metal printing techniques may be powder-based and driven by powder gluing and/or sintering. Some examples of the approaches described herein may be applied to areabased powder bed metal printing, such as binder jet, Metal Jet Fusion, and/or metal binding printing, etc. Some examples of the approaches described herein may be applied to additive manufacturing where an agent or agents (e.g., latex) carried by droplets are utilized for voxellevel powder binding.
[0012] In some examples, metal printing may include two phases. In a first phase, the printer (e.g., print head, carriage, agent dispenser, and/or nozzle, etc.) may apply an agent or agents (e.g., binding agent, glue, latex, etc.) to loose metal powder layer-by-layer to produce a glued precursor (or “green”) object. A precursor object is a mass of metal powder and adhesive. In a second phase, a precursor object may be sintered (e.g., heated) to produce an end object. For example, the glued precursor object may be placed in a furnace or oven to be sintered to produce the end object. Sintering may cause the metal powder to fuse, and/or may cause the agent to be burned off. An end object is an object formed from a manufacturing procedure or procedures. In some examples, an end object may undergo a further manufacturing procedure or procedures (e.g., support removal, polishing, assembly, painting, finishing, etc.). A precursor object may have an approximate shape of an end object.
[0013] The two phases of some examples of metal printing may present challenges in controlling the shape (e.g., geometry) of the end object. For example, the application (e.g., injection) of agent(s) (e.g., glue, latex, etc.) may lead to porosity in the precursor part, which may significantly influence the shape of the end object. In some examples, metal powder fusion (e.g., fusion of metal particles) may be separated from a layer-by-layer printing procedure, which may limit control over sintering and/or fusion.
[0014] In some examples, metal sintering may be performed in approaches for metal injection molded (MIM) objects and/or binder jet (e.g., MetJet). In some cases, metal sintering may introduce a deformation and/or change in an object varying from 25% to 50% depending on precursor object porosity. A factor or factors causing the deformation (e.g., visco-plasticity, sintering pressure, yield surface parameters, yield stress, and/or gravitational sag, etc.) may be utilized during the shape deformation simulation. Some approaches for metal sintering simulation may provide science-driven simulation based on first principle sintering physics. For instance, factors including thermal profile and/or yield curve may be utilized to simulate object deformation due to shrinkage and/or sagging, etc. In some approaches, metal sintering simulation may provide science driven prediction of an object deformation and/or compensation for the deformation. Some simulation approaches may provide relatively high accuracy results at a voxel level for a variety of geometries (e.g., from less to more complex geometries). Due to computational complexity, some examples of physics-based simulation engines may take a relatively long period to complete a simulation. For instance, simulating transient and dynamic sintering of an object may take from tens of minutes to several hours depending on object size. In some examples, larger object sizes may increase simulation runtime.
[0015] Some examples of the techniques described herein may utilize a machine learning model or models. For example, techniques described herein may utilize convolutional neural networks (CNNs) (e.g., basic CNN, deconvolutional neural network, inception module, residual neural network, etc.), recurrent neural networks (RNNs) (e.g., basic RNN, multi-layer RNN, bi-directional RNN, fused RNN, clockwork RNN, etc.), graph neural networks (GNNs), etc. Different depths of a neural network or neural networks may be utilized in accordance with some examples of the techniques described herein.
[0016] In some examples of the techniques described herein, a deep neural network may predict or infer a sintering state. A sintering state is data representing a state of an object in a sintering procedure. For instance, a sintering state may indicate a characteristic or
characteristics of the object at a time during the sintering procedure. In some examples, a sintering state may indicate a physical value or values associated with a voxel or voxels of an object. Examples of a characteristic(s) that may be indicated by a sintering state may include displacement, porosity, a displacement rate of change, a velocity, an acceleration, etc. Displacement is an amount of movement (e.g., distance) for all or a portion (e.g., voxel(s)) of an object. For instance, displacement may indicate an amount and/or direction that a part of an object has moved during sintering over a time period (e.g., since beginning a sintering procedure). Displacement may be expressed as a displacement vector or vectors at a voxel level. Porosity is a proportion of empty volume or unoccupied volume for all or a portion (e.g., voxel(s)) of an object. A displacement rate of change is a rate of change (e.g., velocity) of displacement for all or a portion (e.g., voxel(s)) of an object. An acceleration (e.g., displacement acceleration) is a rate of change of a velocity.
[0017] In some examples, simulating and/or predicting sintering states may be performed in a voxel space. A voxel space is a plurality of voxels and can be a frame of reference for describing a 3D structure of the model. This can be contrasted to a mesh which is a discretization model for 2D manifolds. In some examples, a voxel space may represent a build volume and/or a sintering volume. A build volume is a 3D space for object manufacturing. For example, a build volume is a physical space in which an apparatus (e.g., computer, 3D printer, etc.) may deposit material (e.g., metal powder, metal particles, etc.) and agent(s) (e.g., glue, latex, etc.) to manufacture an object (e.g., precursor object). In some examples, an apparatus may progressively fill a build volume layer-by-layer with material and agent during manufacturing. A sintering volume is a 3D space for object sintering (e.g., oven). For instance, a precursor object may be placed in a sintering volume for sintering. In some examples, a voxel space may be expressed in coordinates. For example, locations in a voxel space may be expressed as x, y, or z coordinates or a count of voxels in the x, y, or z direction. [0018] In some examples, a sintering state may indicate a displacement in a voxel space. For instance, a sintering state may indicate a displacement (e.g., displacement vector(s), displacement field(s), etc.) in voxel units and/or coordinates. In some examples, a sintering state may indicate a position of a point or points of the object at a second time, where the point or points of the object at the second time correspond to a point or points of the object at the first time (and/or at a time previous to the first time). A displacement vector may indicate a distance and/or direction of movement of a point of the object over time. For instance, a
displacement vector may be determined as a difference (e.g., subtraction) between positions of a point over time (in a voxel space, for instance).
[0019] In some examples, a sintering state may indicate a displacement rate of change (e.g., displacement “velocity”). For instance, a machine learning model may produce a sintering state that indicates the rate of change of the displacements. For example, a machine learning model (e.g., deep learning model for inferencing) may predict a displacement velocity for an increment in time (e.g., prediction increment).
[0020] In some examples, a sintering state may indicate a velocity rate of change (e.g., displacement “acceleration”). For instance, a machine learning model may produce a sintering state that indicates the rate of change of the displacement velocity. For example, a machine learning model (e.g., deep learning model for inferencing) may predict a displacement acceleration for an increment in time (e.g., prediction increment).
[0021] A sintering stage is a period during a sintering procedure. For example, a sintering procedure may include multiple sintering stages (e.g., 2, 3, 4, etc., sintering stages). In some examples, each sintering stage may correspond to different circumstances or sintering schedules (e.g., different temperatures, different heating patterns, different periods during the sintering procedure, etc.). Multiple sintering schedules are used in sintering ovens. For example, a sintering schedule dictates how fast temperature rises, up to which degree, holds for how long, and how fast the temperature drops to room temperature. The sintering schedule drives the microscale sintering metallurgy and densification. In some aspects, sintering dynamics at different temperatures and/or sintering stages may have different deformation rates. For clarity, the sintering procedure may comprise multiple sintering stages, with each sintering stage having a different sintering schedule. A machine learning model or models (e.g., deep learning models) may be trained to predict a sintering state in a sintering procedure.
[0022] Some examples of the techniques described herein may be performed in an offline loop. An offline loop is a procedure that is performed independent of (e.g., before) manufacturing, without manufacturing the object, and/or without measuring (e.g., scanning) the manufactured object.
[0023] Due to the densification process, the final metal piece is significantly distorted from the initial green part (e.g., volumetric shrinkage can be up to 40%). The shrinkage is not uniform due to multiple factors: 1) geometrical conditions (impact due to part shape, round, bulk, or thin sheet, small features, overhang, contact surface area, impacts from print metal material properties (expressed by, for example, “Elastic modulus E” or “Poisson’s ratio v (nu)”
in the physical simulation, etc.); and 2) parameter settings or oven control parameters of the sintering schedule, which controls the pace of the densification. These two groups of effects convolute to generate the final shape. However, some simulations and other methods are unable to separate these two factors. The result is, for each part, a large number of different sintering schedules need to be screened, either with an equally large number of experiments or simulations. Moreover, if a baseline sintering schedule is desired, a large number of parts with varying geometries need to be screened (e.g., input by user), again with either an equally large number of experiments or simulations. Both options are cost- and time-prohibitive.
[0024] Even when machine learning models are used to speed up the process of predicting deformation, each machine learning model is trained with a specific sintering schedule. Variations in the sintering schedule (e.g., the sintering temperature profile, the porosity value, the dirichlet boundary conditions, etc.) may be selected, resulting in numerous sintering schedule scenarios. Applying a model trained with a specific sintering schedule to a different sintering schedule may harm the model prediction accuracy because the simulated deformation values are likely in a different data distribution than the model training data.
[0025] Accordingly, examples of the techniques described herein utilize machine learning models to train and transfer parameter knowledge (hereinafter, global context information) corresponding to the sintering schedule from one geometry simulation to other geometries. For clarity, global context information is a latent space representation of information about the geometry or sintering schedule. Thus, even with an unseen sintering schedule, the physical simulation of one geometry with the unseen sintering schedule can be utilized by a trained model to extract global context information and predict the sintering deformation for other geometries using the unseen sintering schedule. Additionally, or alternatively, examples of the techniques described herein utilize machine learning models to train and transfer the global context information corresponding to the geometry of a part from one sintering schedule to other sintering schedules. Thus, even with an unseen geometry, the physical simulation of one sintering schedule with the unseen geometry can be utilized by a different trained model to extract global context information corresponding to the unseen geometry and predict the sintering deformation of the unseen geometry for other sintering schedules.
[0026] In aspects, a science-driven simulation is initially utilized to generate the transient dynamics for each voxel and for each timestep for a given part and sintering schedule. This forms one of the ground truths and the results are encoded as sequences of node vectors
and edge vectors, each representing the state of the object at one timestep (during training, at least two simulations of two different parts using the sintering schedule or at least two simulations of one part using two different sintering schedules may be used to calculate the loss). For clarity, the node vector is a vector of nodes and includes all the nodes that form the part including internal nodes (e.g., a node can represent a voxel) in this example. Each node in the node vector is a vector itself and includes x, y, z coordinates, velocity, acceleration, temperature, and porosity. Thus, the node vector is a vector of vectors.
[0027] For clarity, the term vector refers to a logical element that is used for storing a sequence of data elements of the same basic type. The edge vector is a vector of edges in this example. An edge is formed by two neighboring nodes. Each edge in the edge vector is a vector itself and includes, for example, starting node, end node, their distances (i.e., between the starting node and the end node or, more simply, between neighboring nodes), strain, and stress. In some aspects, node vector may also include the classification of whether it is a node on the contacting surface, whether it includes the surface friction, relative distance to the printing bounding box in xyz-dimension. Moreover, each node may connect to multiple neighboring nodes. The connection can be determined with a pre-defined radius range with the starting node at centroid.
[0028] In some simulations, the simulation is defined such that a part is placed on a flat surface. The voxels on the bottom surface are defined as contacting points. In cases where one side of the part is placed on the surface, a part or a local region of the part may have the tendency to shrinks towards a certain direction, inducing the contacting points’ friction. The printing bed has a defined size for XY direction and the printable region’s height defines the printing bounding box. For a part level, the bounding box is defined as an imaginary rectangle that serves as the maximum region of an arbitrary part geometry.
[0029] The outcome from the training is parameters for two neutral networks: one neural network is the encoder that represents the impact of part geometrical conditions for two different geometries (parts K and S) with the same sintering schedule. The second neural network is the decoder that describes how the geometrical conditions and the sintering schedules interact/convolute with each other.
[0030] During training of the encoder, two different geometries (parts K and S) with the same sintering schedule are pre-processed and formed with a graph data structure and provided as input to the encoder. Training is performed by minimizing the loss function (i.e., the extracted global context information representation from the two different parts are
substantially the same (i.e., although the loss function is minimized, the error may still be nonzero)). During training of the decoder, the geometry information from part K is combined or concatenated with the extracted global context information from part S and input into the trained decoder to predict the deformation of part K using the sintering schedule of part S.
[0031] In other aspects, during training of the encoder, two different sintering schedules with the same geometry are pre-processed and formed with a graph data structure and provided as input to the encoder. Training is performed by minimizing the loss function (i.e., the extracted geometry information from the two different sintering schedules are substantially the same (i.e., although the loss function is minimized, the error may still be non-zero)). During training of the decoder, the first global context information is combined or concatenated with the extracted geometry information and input into the trained decoder to predict the deformation of the part using the second sintering schedule.
[0032] In aspects, during inferencing, for a given sintering schedule (even one that has never been seen before), the trained graph- structural based decoder predicts deformation on the voxel level for every sintering timestep for an arbitrary geometry. Initially, a simulation is run for a reference part using the given sintering schedule. The trained graph-structural based encoder extracts the sintering schedule impact as a latent vector (i.e., the global context information). The decoder combines or concatenates the extracted latent vector and the arbitrary geometry (e.g., a CAD file) and predicts the deformation.
[0033] In other aspects, during inferencing, for a given part, the trained graph- structural based decoder predicts deformation on the voxel level for every sintering timestep for an arbitrary sintering schedule. Initially, a simulation is run for the given part using a reference sintering schedule. The trained graph-structural based encoder extracts part geometrical conditions impact as a latent graph. The trained graph-structural based decoder combines or concatenates the latent graph and the arbitrary sintering schedule and predicts the deformation. [0034] In practice, a user provides a specific geometry and sintering schedule for a physics based simulation (e.g., finite element analysis), or the user provides the results from such a simulation. The user provides the results from the simulation and either a modified geometry or a modified sintering schedule to a trained machine learning model. The trained machine learning model outputs a prediction of the part deformation that results from the modified geometry or the modified sintering schedule.
[0035] Having briefly described an overview of aspects of the technology described herein, an example operating environment in which aspects of the technology described herein may be implemented is described below.
[0036] Turning now to FIG. 1, a block diagram is provided showing an operating environment 100 in which aspects of the present disclosure may be employed. Among other components not shown, example operating environment 100 includes a separation engine 102; a computing device 104 having a presentation component 106; a prediction engine 108; and a 3D printer 110.
[0037] At a high level, the separation engine 102 receives an input sintering simulation. For an input sintering simulation of part K, at sintering time z-th step, two pieces of information are separated by separation engine 102. The geometry information Ui, which represents the geometry of the part, and the global context information Gi, which is a latent vector space that encodes parameters of the sintering schedule for the sintering run. In some examples, either the geometry information Ui or the global context information Gi (but not both) may be separated by separation engine 102. The global context information Gi may have the same value across different parts, depending on the parameters of the sintering schedule used for the simulation.
[0038] In aspects, the user may provide, via the presentation component 106 of computing device 104, a part with different geometrical features for sintering using the same sintering schedule. In other aspects, the user may provide, via the presentation component 106 of computing device 104, the same part for sintering using a different sintering schedule.
[0039] Prediction engine 108 predicts deformation of the part with different geometrical features with the same sintering schedule or of the same part with the different sintering schedule. Continuing the example above, the user may want the predicted deformation of part .S'. Prediction engine appends the extracted global context information Gi to the geometry information of part 5 and generates part .S” s sintering deformation prediction using the sintering schedule (which is captured in the global context information Gi).
[0040] The user may test multiple parts (e.g., modifications to the geometry of part .S’) with the sintering schedule. In this example, prediction engine appends the extracted global context information Gi to the modified geometry of part .S' and generates part 5”s sintering deformation prediction using the sintering schedule. Similarly, the user may test multiple sintering schedules (e.g., modifications to variables of the sintering schedule) with part S. In
this example, prediction engine appends the extracted global context information Gi to the geometry information of part 5 and generates part S’ s sintering deformation prediction using the modified sintering schedule. When the user is satisfied with the predicted deformation, the user may initiate printing, via the presentation component 106 of computing device 104, and the part is printed by 3D printer 110.
[0041] In some configurations, the separation engine 102 and/or prediction engine 108 may be embodied on servers. In other configurations, the separation engine 102 and/or prediction engine 108 may be implemented at least partially or entirely on a user device. The separation engine 102 and/or prediction engine 108 (and its components) may be embodied as a set of compiled computer instructions or functions, program modules, computer software services, or an arrangement of processes carried out on one or more computer systems.
[0042] Turning now to FIG. 2, an example encoder 200 of metal sintering inference system is illustrated, according to an aspect of the technology described herein. Given a sintered part 5 210, a graph data structure representation 212 of .S' at each sintering time z-th step is initially generated. The graph data structure representation 212 includes the node vector nf, the edge vector e , the neighborhood recording senders list sender , the neighborhood recording receivers list receiver?, and the last sintering time step node acceleration (or velocity or position) a_ys (i. e. , the last time step acceleration for each node). A sender refers to a node having a directed edge. A receiver refers to a node within a radius r range of the sender node that is a receiver of the directed edge of the sender node.
[0043] Similarly, given a sintered part K 220, a graph data structure representation 222 of K at each sintering time z'-th step is initially generated. The graph data structure representation 222 includes the node vector n^, the edge vector e^, the neighborhood recording senders list sender , the neighborhood recording receivers list receiver*, and the final sintering time step node acceleration (or velocity or position) a_y*.
[0044] Each graph representation 212, 222 is passed through an encoder 230 that contains several graph message passing rounds to encode the graph representations 214, 224. In some examples, multiple rounds of calculations may be performed, where each round may be referred to as one “message passing” round, representing the interaction among nodes through edges. The number of message passing rounds (e.g., 10 or another quantity) may vary depending on training. A graph pooling step is performed for each encoded graph representation 214, 224 to generate fixed- length vector representations, G? 216 and G* 226
(i.e., latent space representations of the global context information for geometries .S' and K at time step z). Although different geometries contain different sizes of nodes, a graph pool method is utilized to aggregate information in the nodes to make sure the extracted vector representations G are of the same size.
[0045] During training, as illustrated in FIG. 3 , data is selected from part S 310 and part K 320 which have same the sintering schedules. As described above, encoder 330 extracts global context information Gf 316 and
326. Decoder 340 uses geometry information 328 from part K 320 (e.g., acceleration of k-1, k-2, k-3 steps and the connection information of voxels) and global context information Gf 316 to predict geometry information L/ +1, or sintering deformation 350. A loss function can be used to train encoder 330 and decoder 340. By way of example, a means squared error (MSE) loss or dynamic max node loss can be utilized to train encoder 430 and decoder 340. In some aspects, the loss function may be defined as: loss = MSE(Gf, Gf) + MSE(U + , Ut+1).
[0046] The first part of the loss function, the parameter loss, attempts to make global information Gf 326 and Gf 316 as close as possible because in the training set the input geometry pairs are obtained from the same sintering schedules. The second part of the loss function, the geometry loss, attempts to make the predicted deformation U'+1 as close to the ground truth 328 as possible (i.e., deformation for part K at predicted target timestep z'+l).
[0047] Next, FIG. 4 illustrates an example metal sintering inference system 400, according to an aspect of the technology described herein. Metal sintering inference system 400 is able to use simulation data of one part to predict simulation data of other parts with the same sintering schedules. In some aspects, metal sintering inference system 400 is able to use simulation data of one sintering schedule to predict simulation data of other sintering schedules with the same part. Trained encoder 430 and trained decoder 440 are an encoder and a decoder that have been trained as described above with respect to encoder 330 and decoder 340 of FIG. 3. Initially trained encoder 430 extracts global context information 416 from simulation 410 of part S. Trained decoder 440 combines geometry information 428 of part K 420 with global context information 416 to predict geometry information
or deformation 450 of part K. For clarity, the inference system can be implemented with one trained encoder and one trained decoder.
[0048] FIG. 5 is a flow diagram showing an example method 600 for predicting part deformation during sintering, in accordance with an aspect of the technology described herein.
The method 500 may be performed, for instance, by the metal sintering inference systems of FIGS. 1 or 4. As shown at block 502, a simulation of sintering of a first part according to a first sintering schedule is performed, using a processor. In aspects, the simulation may be initiated from computing device 104 via presentation component 106 of FIG. 1.
[0049] At block 504, using the processor and global context information extracted from results of the simulation, deformation of the first part during sintering according to a second sintering schedule or deformation of a second part during sintering according to the first sintering schedule is predicted. In some aspects, the predicted deformation of the first part during sintering according to the second sintering schedule or the predicted deformation of the second part during sintering according to the first sintering schedule is provided, such as via presentation component 106 of computing device 104 of FIG. 1.
[0050] In some aspects, if the predicted deformation meets the expectations of a user, the first part may be sintered accorded to the second sintering schedule or the second part may be sintered according to the first sintering schedule. The sintering may be performed by 3D printer 110 and initiated via presentation component 106 of computing device 104 of FIG. 1.
[0051] In some aspects, geometrical data of a third part corresponding to modifications to geometrical data of the second part may be received. For example, the predicted deformation may not meet the expectations of the user, and the user makes modifications to the second part. The modifications may be made via presentation component 106 of computing device 104 of FIG. 1. Prior to actually printing the third part, the user may wish to initiate a deformation prediction via presentation component 106 of computing device 104 of FIG. 1. Accordingly, using the processor and the global context information, deformation of the third part during sintering according to the first sintering schedule is predicted.
[0052] Additionally, or alternatively, a third sintering schedule corresponding to modifications to the second sintering schedule may be received. For example, the predicted deformation may not meet the expectations of the user, and the user may instead make modifications to the second sintering schedule. Again, the modifications may be made via presentation component 106 of computing device 104 of FIG. 1. Prior to actually printing the part using the third sintering schedule, the user may wish to initiate a deformation prediction via presentation component 106 of computing device 104 of FIG. 1. Accordingly, using the processor and the global context information, deformation of the first part during sintering according to the third sintering schedule is predicted.
[0053] FIG. 6 is a flow diagram showing an example method 600 for predicting part deformation during sintering, in accordance with an aspect of the technology described herein. The method 600 may be performed, for instance, by the metal sintering inference systems of FIGS. 1 or 4. As shown at block 602, global context information is extracted, using a first trained network, from a sintering simulation of a first part having a first sintering schedule. In aspects, the method may be initiated from computing device 104 via presentation component 106 of FIG. 1.
[0054] At block 604, the extracted global context information is combined, using a second trained network, with either (i) geometrical data for a second part and the first sintering schedule or (ii) geometrical data for the first part and a second sintering schedule. In some aspects, based on the combining, deformation of the first part is predicted in accordance with the second sintering schedule or deformation of the second part is predicted in accordance with the first sintering schedule. The predicted deformation of the first part during sintering according to the second sintering schedule or the deformation of the second part during sintering according to the first sintering schedule is provided. For example, the deformation may be provided to computing device 104 via presentation component 106 of FIG. 1.
[0055] FIG. 7 is a flow diagram showing a method 700 for training a first network and a second network to predict part deformation during sintering, in accordance with an aspect of the technology described herein. The method 700 may be performed, for instance, by the metal sintering inference systems of FIGS. 1 or 4. As shown at block 702, the first network is trained using input sintering simulations for at least two input parts corresponding to a first sintering schedule. In aspects, the method may be initiated from computing device 104 via presentation component 106 of FIG. 1.
[0056] At block 704, the second network is trained by combining global context information and geometrical data from one of the at least two input parts. A loss function concurrently trains the first network and the second network. Put another way, the result of the loss function is backpropagated through both networks (i.e., the overall result of the loss function trains both networks).
[0057] In some aspects, the trained networks can be utilized to predict the deformation of a third part in accordance with the first sintering schedule. In other aspects, the trained networks can be utilized to predict the deformation of the first part or the second part in accordance with a second sintering schedule.
[0058] As used herein, computer-readable media can be any available media that can be accessed by a computing device and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer-storage media and communication media.
[0059] Computer-storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVDs) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computing device. Computer storage media does not comprise signals per se.
[0060] Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media, such as a wired network or direct-wired connection, and wireless media, such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above should also be included within the scope of computer- readable media.
[0061] The subject matter of aspects of the technology is described with specificity herein to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the terms “step” and/or “block” may be used herein to connote different elements of methods employed, the terms should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
[0062] In addition, words such as “a” and “an,” unless otherwise indicated to the contrary, may also include the plural as well as the singular. Thus, for example, the constraint
of “a feature” is satisfied where one or more features are present. Furthermore, the term “or” includes the conjunctive, the disjunctive, and both (a or b thus includes either a or b. as well as a and b).
Claims
1. A method to predict part deformation during sintering comprising: performing, using a processor, a simulation of sintering of a first part according to a first sintering schedule; and predicting, using the processor and global context information extracted from results of the simulation, deformation of the first part during sintering according to a second sintering schedule or deformation of a second part during sintering according to the first sintering schedule.
2. The method of claim 1, further comprising displaying the predicted deformation of the first part during sintering according to the second sintering schedule or the predicted deformation of the second part during sintering according to the first sintering schedule.
3. The method of claim 1, further comprising sintering the first part according to the second sintering schedule or the second part according to the first sintering schedule.
4. The method of claim 1, further comprising receiving geometrical data of a third part corresponding to modifications to geometrical data of the second part.
5. The method of claim 4, further comprising predicting, using the processor and the global context information, deformation of the third part during sintering according to the first sintering schedule.
6. The method of claim 1, further comprising receiving a third sintering schedule corresponding to modifications of the second sintering schedule.
7. The method of claim 6, further comprising predicting, using the processor and the global context information, deformation of the first part during sintering according to the third sintering schedule.
8. Non-transitory computer storage media storing computer-readable instructions that when executed by a processor, cause the processor to perform operations, the operations comprising: extracting, using a first trained network, global context information from a sintering simulation of a first part having a first sintering schedule; inputting into a second trained network, the extracted global context information concatenated with either (i) geometrical data for a second part and the first sintering schedule or (ii) geometrical data for the first part and a second sintering schedule.
9. The media of claim 8, further comprising, based on the concatenating, predicting deformation of the first part in accordance with the second sintering schedule or deformation of the second part in accordance with the first sintering schedule.
10. The media of claim 9, further comprising displaying the predicted deformation of the first part during sintering according to the second sintering schedule or the deformation of the second part during sintering according to the first sintering schedule.
11. The media of claim 8, further comprising training the first network using input sintering simulations for at least two input parts corresponding to a third sintering schedule.
12. The media of claim 8, further comprising training the second network by combining the global context information and geometrical data from one of at least two input parts.
13. The media of claim 8, wherein a loss function concurrently trains the first network and the second network.
14. A method to train a first network and a second network to predict part deformation during sintering, the method comprising: training the first network using input sintering simulations for at least two input parts corresponding to a first sintering schedule; and training the second network using global context information and geometrical data from one of the at least two input parts, wherein the training causes the global context information to be substantially independent of differences in geometrical data of the at least two input parts.
15. The method of claim 14, further comprising: utilizing the trained first network and the trained second network to predict the deformation of a third part in accordance with the first sintering schedule; or utilizing the trained first network and the trained second network to predict the deformation of the first part or the second part in accordance with a second sintering schedule.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2023/071299 WO2025029283A1 (en) | 2023-07-31 | 2023-07-31 | Utilizing transferred global context information to predict part deformation during metal sintering |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2023/071299 WO2025029283A1 (en) | 2023-07-31 | 2023-07-31 | Utilizing transferred global context information to predict part deformation during metal sintering |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025029283A1 true WO2025029283A1 (en) | 2025-02-06 |
Family
ID=87748186
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2023/071299 Pending WO2025029283A1 (en) | 2023-07-31 | 2023-07-31 | Utilizing transferred global context information to predict part deformation during metal sintering |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025029283A1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2023287408A1 (en) * | 2021-07-14 | 2023-01-19 | Hewlett-Packard Development Company, L.P. | Sintering state combinations |
-
2023
- 2023-07-31 WO PCT/US2023/071299 patent/WO2025029283A1/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2023287408A1 (en) * | 2021-07-14 | 2023-01-19 | Hewlett-Packard Development Company, L.P. | Sintering state combinations |
Non-Patent Citations (1)
| Title |
|---|
| "A Computational Framework for Modeling and Simulation of Metal Binder Jetting", 31 December 2022, UNIVERSITY OF CALIFORNIA, BERKELEY, article ISIED ROGER SAMIR: "Image Segmentation Model to Predict Deformation of BJet Sintered Green Parts", pages: 66 - 78, XP093128910 * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11409261B2 (en) | Predicting distributions of values of layers for three-dimensional printing | |
| US9987800B2 (en) | Systems and methods of simulating intermediate forms for additive fabrication | |
| US10326910B2 (en) | Using three-dimensional threshold matrices in the production of three-dimensional objects | |
| CN107530973B (en) | Processing object component data for three-dimensional objects | |
| WO2019210056A1 (en) | System and method for minimizing deviations in 3d printed and sintered parts | |
| US12459041B2 (en) | Porosity prediction | |
| JP7616903B2 (en) | Shape Estimation for Additive Manufacturing Processes | |
| US10252513B2 (en) | Combining structures in a three-dimensional object | |
| US20220016842A1 (en) | Determining a thermal footprint for a three-dimensional printed part | |
| RU2703845C2 (en) | Systems, methods and apparatus for distributing material associated with making components | |
| US20240227020A1 (en) | Object sintering states | |
| WO2025029283A1 (en) | Utilizing transferred global context information to predict part deformation during metal sintering | |
| US20240307968A1 (en) | Sintering state combinations | |
| CN116940458B (en) | Powder recycling | |
| CN114556437A (en) | Method of generating a grid of parts, method of using a grid of parts, computer program and computer readable medium | |
| US20240184954A1 (en) | Iterative model compensation | |
| WO2023132817A1 (en) | Temperature profile deformation predictions | |
| CN117295574B (en) | Sintering state of the object | |
| JP7813213B2 (en) | Computer-aided design with geometry filtering to expedite manufacturing | |
| JP7508929B2 (en) | Machine Learning Equipment | |
| US20240051232A1 (en) | Controlling toolpaths during additive manufacturing | |
| Söderhjelm | Topology Optimization for Additive Manufacturing | |
| US20230245272A1 (en) | Thermal image generation | |
| Rodrıguez et al. | Department of Precision and Microsystems Engineering | |
| CN115003438A (en) | Determining build parameters in additive manufacturing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23757817 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |