Utilizing transferred global context information to predict part deformation during metal sintering
By employing machine learning models to transfer global context information, the method addresses the challenge of predicting part deformation in metal sintering processes, achieving accurate predictions across different sintering schedules and geometries.
Patent Information
- Application Number
- PCT/US2023/071299
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-31
- Publication Date
- 2025-02-06
AI Technical Summary
Existing metal sintering processes face challenges in accurately predicting part deformation due to variations in sintering schedules and geometries, leading to costly and time-consuming experimentation and simulation.
The use of machine learning models to transfer global context information between different sintering schedules and geometries, enabling the prediction of part deformation even with unseen schedules or geometries.
This approach allows for accurate prediction of part deformation across various sintering schedules and geometries, reducing the need for extensive experimentation and simulation, and thereby saving time and resources.
Smart Images

Figure US2023071299_06022025_PF_FP_ABST
Abstract
Description
UTILIZING TRANSFERRED GLOBAL CONTEXT INFORMATION TO PREDICT PART DEFORMATION DURING METAL SINTERINGBACKGROUND 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 orcharacteristics 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, adisplacement 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 vectorsand 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 aresubstantially 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. Inthis 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 and326. 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'+1as 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 informationor 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 constraintof “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
CLAIMSWhat is claimed is:
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.
Citation Information
Patent Citations
Sintering state combinations
WO2023287408A1