Sintering state of an object
By combining machine learning models with a physical simulation engine, the sintering state in additive manufacturing can be quickly predicted, solving the problem of shape control difficulties in metal printing, achieving more efficient shape prediction and control, and reducing computation time.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- PERRYDOT PRINTING CO LTD
- Filing Date
- 2021-05-04
- Publication Date
- 2026-05-01
AI Technical Summary
Existing additive manufacturing technologies, especially powder-based metal printing, face challenges in controlling the final object shape. These challenges include the influence of porosity and limited control over metal powder fusion, making it difficult to accurately predict deformation and shape changes.
By combining machine learning models with a physical simulation engine, the sintering state is predicted at the voxel level. Deep neural networks are used to quickly infer displacement and porosity changes during the sintering process. An iterative tuning process is combined to improve prediction accuracy and replace part of the simulation period, thereby achieving rapid shape control.
It improves the accuracy and control efficiency of predicting the final object shape during the metal printing process, reduces computation time, maintains high prediction accuracy, and achieves faster processing speed.
Smart Images

Figure CN117295574B_ABST
Abstract
Description
Background Technology
[0001] Three-dimensional (3D) solid parts can be produced from digital models using additive manufacturing. Additive manufacturing can be used for rapid prototyping, mold generation, mold mastering, and short-term manufacturing. Additive manufacturing involves the application of continuous layers of building material. This differs from some machining processes, which typically remove material to create the final part. In some additive manufacturing techniques, the building material can be solidified or fused together. Attached Figure Description
[0002] Figure 1 This is a flowchart illustrating an example of a method for determining the sintering state of an object;
[0003] Figure 2 This is an example illustration of a graph showing displacement and temperature according to some of the techniques described in this article;
[0004] Figure 3 This is a block diagram of an example of a device that can be used to determine the sintering state of an object;
[0005] Figure 4 This is a block diagram illustrating an example of a computer-readable medium used to determine the sintering state of an object.
[0006] Figure 5 This is a diagram illustrating examples of machine learning model architectures that can be utilized based on some of the techniques described in this article; and
[0007] Figure 6 This is a diagram illustrating examples of machine learning architectures that can be utilized based on some of the techniques described in this article. Detailed Implementation
[0008] Additive manufacturing can be used to create three-dimensional (3D) objects. 3D printing is an example of additive manufacturing. Metal printing (e.g., metal bonding printing, metal jet fusion, etc.) is an example of 3D printing. In some examples, metal powder can be adhered to certain voxels. A voxel is a representation of a location in 3D space (e.g., a component of 3D space). For example, a voxel can represent a volume as a subset of 3D space. In some examples, voxels can be arranged on a 3D mesh. For example, the shape of a voxel can be a cuboid or a rectangular prism. In some examples, voxels in 3D space can be of uniform or non-uniform size. Examples of voxel sizes can include 170 micrometers at 25.4 mm / 150 ≈ 150 dots per inch (dpi), 490 micrometers at 50 dpi, 2 mm, 4 mm, etc. The term "voxel level" and its variations can refer to the resolution, scale, or density corresponding to the voxel size.
[0009] Some examples of the techniques described herein can be used in various examples of additive manufacturing. For example, some examples can be used for metal printing. Some metal printing techniques can be powder-based and driven by powder bonding and / or sintering. Some examples of the methods described herein can be applied to region-based powder bed metal printing, such as binder jetting, metal jet fusion, and / or metal bonding printing. Some examples of the methods described herein can be applied to additive manufacturing in which one or more reagents (e.g., latex) carried by droplets are used for voxel-level powder bonding.
[0010] In some examples, metal printing may include two stages. In the first stage, a printer (e.g., printhead, carriage, reagent dispenser, and / or nozzle, etc.) may apply one or more reagents (e.g., binders, glues, latex, etc.) layer by layer to loose metal powder to produce a bonded precursor (or “green”) object. The precursor object is a large amount of metal powder and binder. In the second stage, the precursor part may be sintered (e.g., heated) to produce the final object. For example, the bonded precursor object may be placed in a furnace or oven for sintering to produce the final object. Sintering may fuse the metal powder and / or may burn off the reagents. The final object is an object formed by one or more manufacturing processes. In some examples, the final object may undergo one or more further manufacturing processes (e.g., support removal, polishing, assembly, painting, finishing, etc.). The precursor object may have an approximate shape of the final object.
[0011] In some examples of metal printing, the two stages can present challenges in controlling the shape (e.g., geometry) of the final object. For instance, the application (e.g., injection) of one or more agents (e.g., glue, latex, etc.) can result in porosity in the precursor component, which can significantly affect the shape of the final object. In some examples, metal powder fusion (e.g., fusion of metal particles) can be separated from the layer-by-layer printing process, which can limit control over sintering and / or fusion.
[0012] In some examples, metal sintering can be performed in metal injection molding (MIM) objects and / or binder jetting (e.g., MetJet). In some cases, metal sintering can introduce deformation and / or alteration into the object, varying from 25% to 50% depending on the porosity of the precursor object. One or more factors causing deformation (e.g., viscoplasticity, sintering pressure, yield surface parameters, yield stress, and / or gravitational sag, etc.) can be captured and applied to shape deformation simulations. Some methods of metal sintering simulation can provide science-driven simulations based on first-principles sintering physics. For example, factors including thermal profiles and / or yield curves can be used to simulate object deformation due to shrinkage and / or sag, etc. In some methods, metal sintering simulation can provide science-driven predictions of object deformation and / or compensation for deformation. Some simulation methods can provide relatively high accuracy results at the voxel level for a wide range of geometries (e.g., from less complex to more complex geometries). Due to computational complexity, some examples of physics-based simulation engines may require relatively long timeframes to complete the simulation. For example, depending on the object size, simulating the transient and dynamic sintering of an object can take anywhere from tens of minutes to several hours. In some examples, larger object sizes can increase simulation run times. For instance, a 12.5 cm object might require 218.4 minutes to complete a simulation run. Some examples of physics-based simulation engines can utilize relatively small increments (e.g., time periods) in the simulation to manage the nonlinearities caused by sintering physics. Therefore, this can help reduce simulation time.
[0013] Some examples of the techniques described in this article can utilize one or more machine learning models. Machine learning is a technique in which a machine learning model is trained to perform one or more tasks based on a set of examples (e.g., data). Training a machine learning model may include determining weights corresponding to the structure of the machine learning model. An artificial neural network is a machine learning model consisting of nodes, model layers, and / or connections. Deep learning is a type of machine learning that utilizes multiple layers. A deep neural network is a neural network that utilizes deep learning.
[0014] Examples of neural networks include convolutional neural networks (CNNs) (e.g., basic CNNs, deconvolutional neural networks, initialization modules, residual neural networks, etc.) and recurrent neural networks (RNNs) (e.g., basic RNNs, multilayer RNNs, bidirectional RNNs, fused RNNs, clockwork RNNs, etc.). Based on some examples of the techniques described in this paper, different depths of neural networks (one or more) can be utilized.
[0015] In some examples of the techniques described in this paper, deep learning can be used to construct quantitative models that can be used in conjunction with simulation methods to replace parts of intermediate simulation periods. In some examples, deep neural networks can infer sintering states. Sintering state is data representing the state of an object during the sintering process. For example, sintering state can indicate one or more properties of an object at a given time during the sintering process. In some examples, sintering state can indicate one or more physical values associated with one or more voxels of an object. Examples of properties that can be indicated by sintering state can include displacement, porosity, and / or rate of change of displacement, etc. Displacement is the amount (e.g., distance) of movement of all or part of an object (e.g., one or more voxels). For example, displacement can indicate the amount and / or direction in which a part of an object has moved during a time period (e.g., since the start of the sintering process). Displacement can be expressed as one or more displacement vectors at the voxel level. Porosity is the empty or free volume of all or part of an object (e.g., one or more voxels). The rate of change of displacement is the rate of change of displacement (e.g., velocity) of all or part of an object (e.g., one or more voxels).
[0016] The time intervals spanned in a prediction (e.g., through one or more machine learning models) can be referred to as prediction increments. For example, a deep neural network can infer the sintering state at time T2 based on the sintering state (e.g., displacement) at time T1, where T1 < T2. The time intervals spanned in a simulation can be referred to as simulation increments. In some examples, the prediction increment (e.g., T2 - T1) can be greater than the simulation increment. In some examples, T1 = k * dt and T2 = (k + n) * dt, where T1 is the first time (e.g., the prediction start time), T2 is the second time, k is the time exponent of the first time, n represents the number of simulation increments, and dt represents the time amount of the simulation increment. In some examples, n >> 1. For example, prediction increments can span and / or replace many simulation increments.
[0017] In some examples, the prediction of the sintering state at T2 can be based on the simulated sintering state at T1. For example, the simulated sintering state at T1 can be used as input to a machine learning model to predict the sintering state at T2. Predicting the sintering state using a machine learning model can be performed much faster than simulating the sintering state. For example, predicting the sintering state at T2 can be performed in less than a second, which may be faster than determining the sintering state at T2 through simulation. For example, a relatively large number of simulation increments can be used, and each simulation increment may take approximately one minute to complete. Replacing some simulation increments with predictions (e.g., machine learning, inference, etc.) can determine the sintering state in a shorter time (e.g., faster). For example, combining machine learning (e.g., a deep learning inference engine) with simulation can allow for larger (e.g., ×10) increments (e.g., prediction increments) to improve processing speed while maintaining accuracy.
[0018] In some examples, the sintering state prediction (e.g., inference from T1 to T2) may not be very accurate (e.g., it may be less accurate than the sintering state simulation). In some examples, the predicted sintering state can be tuned to achieve an accuracy target. For example, a physical simulation engine can utilize an iterative tuning process to achieve an accuracy target and / or increase the accuracy of the predicted (e.g., inferred) sintering state at T2.
[0019] Some examples of the techniques described in this article can be performed in an offline loop. An offline loop is a process performed independently of manufacturing (e.g., prior to manufacturing), without manufacturing an object, and / or without measuring (e.g., scanning) the manufactured object.
[0020] Throughout the accompanying drawings, the same reference numerals may or may not specify similar or identical elements. Similar numerals may or may not indicate similar elements. When an element is mentioned without a reference numeral, this generally refers to the element, limited to or not limited to any particular drawing or figure. The drawings are not necessarily to scale, and the size of some parts may be exaggerated to more clearly illustrate the examples shown. Furthermore, the drawings provide examples consistent with the description. However, the description is not limited to the examples provided in the drawings.
[0021] Figure 1 This is a flowchart illustrating an example of a method 100 for determining the sintering state of an object. Method 100 and / or one or more elements of method 100 can be performed by a device (e.g., an electronic device). For example, method 100 can be performed by combining... Figure 3 The described device 302 is executed.
[0022] The device can use a physics engine to simulate the first sintering state of the 102 objects at a specific moment. The objects can be represented by object models and / or can be planned for manufacturing. An object model is a geometric model of the object. For example, an object model can be a three-dimensional (3D) model representing the object. Examples of object models include computer-aided design (CAD) models, mesh models, 3D surfaces, etc. An object model can be expressed as a set of points, surfaces, faces, vertices, etc. In some examples, the device can receive object models from another device (e.g., linked devices, networked devices, removable storage devices, etc.) or can generate 3D object models.
[0023] A physics engine is a combination of hardware (e.g., a circuit system) or instructions and hardware (e.g., a processor with instructions) used to simulate one or more physical phenomena. In some examples, a physics engine can simulate the sintering of materials (e.g., metals). For example, a physics engine can simulate physical phenomena concerning an object (e.g., an object model) over time (e.g., during sintering). The simulation can indicate deformation effects (e.g., shrinkage, sagging, etc.). In some examples, a physics engine can use the finite element analysis (FEA) method to simulate sintering.
[0024] Some examples of physics engines can utilize time-progression methods. Starting from an initial time T0, the physics engine can simulate and / or process simulation increments (e.g., a time period, dt, etc.). In some examples, the simulation increments can be indicated by received input. For example, the device can receive input from a user indicating the simulation increments. In some examples, the simulation increments can be chosen randomly, from a range, and / or can be chosen primarily based on experience.
[0025] In some examples, the physical simulation engine may utilize experimental displacements. Experimental displacements are estimates of displacements that may occur during sintering. Experimental displacements may be generated by a machine learning model and / or with another function (e.g., randomly selected and / or a displacement estimation function, etc.). In some examples, the experimental displacement may be denoted as D0. Experimental displacements (e.g., experimental displacement fields) may trigger force imbalances involved in the sintering process. In some examples, the physical simulation engine may include and / or utilize iterative optimization techniques to iteratively reshape the displacements initialized by D0 to achieve force balance. In some examples, the physical simulation engine may generate displacement fields (e.g., equilibrium displacement fields that may be denoted as De) as the first sintering state at a first time point (e.g., T1, T0+dt).
[0026] The device can use a machine learning model to predict a second sintering state of the 104 object at a second time based on a first sintering state, wherein the predicted increment between the first time (e.g., T1) and the second time (e.g., T2) differs from the simulated increment (e.g., dt). For example, the predicted increment may not be equal to, greater than, less than, or mismatched with the simulated increment. As described herein, for example, the predicted increment (e.g., T2-T1) may be larger than the simulated increment (e.g., dt) (e.g., over a longer time period). For example, the predicted increment may span a longer time period than the simulated increment. In some examples, the predicted increment may be less than (e.g., smaller than) the simulated increment. In some examples, the difference between the predicted and simulated increments may trigger an imbalance of forces. A physical simulation engine can be used to iteratively reshape the second sintering state (e.g., second D0) into an equilibrium state (e.g., equilibrium displacement, De), where equilibrium is achieved.
[0027] In some examples, after obtaining a predicted output (e.g., a predicted sintering state) from a machine learning model, the device can feed the predicted output back to a physics engine. For example, the physics engine can use the predicted output as one or more test displacements that can trigger force imbalances to iteratively reshape test displacements (e.g., D0). As used herein, force balance can be achieved, and the physics simulation engine can be used to calculate the equilibrium displacement field (e.g., De). In some examples, method 100 may include repeated (e.g., recursively performed) sintering state simulation and sintering state prediction (e.g., iterating between 102 and 104).
[0028] Machine learning models can be trained using training data from one or more training simulations. For example, a machine learning model can use a first training sintering state (e.g., displacement, rate of change of displacement, etc.) at a first training time as input and a second training sintering state (e.g., displacement, rate of change of displacement, etc.) at a second training time as ground truth during training. Examples of machine learning model architectures that can be utilized according to the techniques described herein are related to... Figure 5 and Figure 6 Given. For example, the machine learning model can be (one or more) neural networks, (one or more) CNNs, etc. In some examples, the machine learning architecture may include a corresponding machine learning model for predicting the corresponding planar sintering states (e.g., xy-plane sintering state, yz-plane sintering state, and xz-plane sintering state), which can be fused to produce a 3D sintering state. For example, the device may utilize information about Figure 6 The described planar machine learning model is used to predict the sintering state of 104.
[0029] In some examples, multiple machine learning models can be utilized. For instance, a corresponding machine learning model can be trained for a specific sintering stage. A sintering stage is a period of time during the sintering process. For example, the sintering process may include multiple sintering stages (e.g., 2, 3, 4, etc.). In some examples, each sintering stage may correspond to different conditions (e.g., different temperatures, different heating modes, different periods during the sintering process, etc.). For example, the sintering kinetics at different temperatures and / or sintering stages may have different deformation rates. Multiple machine learning models (e.g., deep learning models) can be trained to adapt to different sintering stages. In some examples, the machine learning model may have a fixed prediction increment at some point in time when deployed (e.g., a prediction increment from time TA to time TB). A fixed prediction increment may be useful for a defined sintering temperature timetable.
[0030] In some examples, each machine learning model can be trained using data from the corresponding sintering stage. For instance, the corresponding machine learning models can be trained with different training data. For example, a machine learning model can be trained with data from the first stage of a training simulation, and a second machine learning model can be trained with data from the second stage of a training simulation (and / or another training simulation). In some examples, machine learning models corresponding to different sintering stages can have similar or identical architectures and / or can be trained with different training data.
[0031] In some examples, a machine learning model can be trained to make predictions (once or multiple times) in the first sintering stage, and a second machine learning model can be trained to make predictions (once or multiple times) in the second sintering stage. For example, the machine learning model can be used to predict a second sintering state in the first sintering stage. Method 100 may include using the second machine learning model in the second sintering stage to predict a third sintering state of the object (e.g., a subsequent sintering state). Examples of sintering stages are related to... Figure 2 Provided.
[0032] In some examples, and in some methods, the simulation of sintering stages 102 and / or the prediction of sintering stage 104 can be performed in voxel space. Voxel space consists of multiple voxels. In some examples, voxel space can represent build volume and / or sintering volume. Build volume is a 3D space used for object fabrication. For example, build volume can represent a cuboid space in which an apparatus (e.g., a computer, 3D printer, etc.) can deposit materials (e.g., metal powder, metal particles, etc.) and (one or more) reagents (e.g., glue, latex, etc.) to fabricate an object (e.g., a precursor object). In some examples, during fabrication, the apparatus can progressively fill the build volume with materials and reagents layer by layer. Sintering volume can represent a 3D space used for sintering an object (e.g., an oven). For example, a precursor object can be placed in a sintering volume for sintering. In some examples, voxel space can be expressed in coordinates. For example, a position in voxel space can be expressed with three coordinates: x (e.g., width), y (e.g., length), and z (e.g., height).
[0033] In some examples, the sintering state can indicate displacement in voxel space. For example, a second sintering state can indicate displacement (e.g., one or more displacement vectors, one or more displacement fields, etc.) in voxel elements and / or coordinates. In some examples, the second sintering state can indicate the position of an object at one or more points at a second time, where the object at one or more points at the second time corresponds to one or more points at a first time (and / or a time prior to the first time). The displacement vector can indicate the distance and / or direction of movement of a point of the object over time. For example, the displacement vector can be determined as the difference (e.g., subtraction) between the positions of points over time (e.g., in voxel space).
[0034] In some examples, the sintering state can indicate the rate of displacement change (e.g., displacement "velocity"). For example, a machine learning model can generate a sintering state indicating the rate of displacement change. For example, a machine learning model (e.g., a deep learning model for inference) can take an increment (e.g., a predicted increment) as input (e.g., a dynamic input) and can work with different temperature control curves. In some examples, multiple machine learning models (e.g., velocity-based deep learning models) can be trained to capture different sintering dynamics.
[0035] In some examples, method 100 may include tuning the sintering state (e.g., a second sintering state) using a physical simulation engine. For example, a machine learning model can predict (e.g., infer) the second sintering state. The predicted sintering state may not be as accurate as the simulated sintering state. The physical simulation engine can perform an iterative tuning process to tune the second sintering state, which can improve the accuracy of the sintering state. In some examples, the predicted sintering state (e.g., the second sintering state) may indicate the test displacement and / or test displacement field (e.g., D0) used for simulation. In some examples, the test displacement and / or test displacement field (e.g., D0) may be relatively close to the equilibrium displacement field (e.g., De). This can allow the use of prediction increments larger than simulation increments. For example, if D0 is relatively close to De, iterative tuning can be used to efficiently converge one or more displacement fields to De. This may contribute to faster computation and / or provide sintering state accuracy similar to that of the physical simulation engine.
[0036] In some examples, method 100 may include determining and / or selecting a machine learning model. For example, the device may determine when to switch between machine learning models at different stages. In some examples, the switching between machine learning models may be based on setting time and / or setting temperature. For example, the device may switch from a first-stage machine learning model to a second-stage machine learning model within a simulation time of 600 minutes and / or at a simulation temperature of 145 degrees Celsius (°C). In some examples, other times and / or temperatures may be utilized.
[0037] In some examples, method 100 may include using a transition region to determine and / or select a machine learning model. The transition region is a region during the sintering process where a machine learning model switch may occur (e.g., in terms of time and / or (one or more) temperature ranges). For example, for a transition from a first sintering stage to a second sintering stage, the first transition region may be between 100°C and 200°C. For a transition from a second sintering stage to a third sintering state, the second transition region may be between 1000°C and 1100°C. For example, the apparatus may check whether the current simulation time and / or simulation temperature is within sintering stage S. ind (For example, the sintering stage outside the transition region). If the current simulation time and / or simulation temperature are in the sintering stage S ind (Where, for example, "ind" indicates the sintering stage and / or the index of the machine learning model), the apparatus can utilize the index corresponding to stage S. ind Machine learning model M ind If the current simulation time and / or simulation temperature are in the transition region R ind The device can then execute two machine learning models M. ind and M ind+1The apparatus can determine the residual loss corresponding to the machine learning model. The residual loss indicates the difference or error between the predicted sintering state and the final sintering state (e.g., tuned sintering state, tuned displacement, etc.). The apparatus can select a machine learning model corresponding to a smaller residual loss. The selected machine learning model can be used in the transition region. In some examples, multiple machine learning model selections can be implemented in the transition region. For example, the apparatus can be in M... ind and M ind+1 Choose between them. Once M has been selected... ind+1 M ind+1 It can then be used for the remaining portion of the transition region and / or the sintering stage after the transition region until the next transition or transition region.
[0038] In some examples, the apparatus may use a machine learning model to predict a first candidate sintering state in the transition region. The apparatus may use a second machine learning model to predict a second candidate sintering state in the transition region. The apparatus may determine a first residual loss based on the first candidate sintering state and a second residual loss based on the second candidate sintering state. The apparatus may select either a machine learning model or a second machine learning model based on the first and second residual losses. In some examples, determining the first residual loss may include determining a first difference between the first candidate sintering state and the tuned sintering state. Determining the second residual loss may include determining a second difference between the second candidate sintering state and the tuned sintering state. Selecting either a machine learning model or a second machine learning model may include comparing the first residual loss with the second residual loss (e.g., determining which is less and / or more). The apparatus may select a machine learning model associated with a smaller residual loss.
[0039] In some examples, the apparatus may utilize a selection machine learning model to select a machine learning model for the sintering stage (e.g., a selection machine learning model, a second machine learning model, a third machine learning model, etc.). For example, method 100 may include selecting a machine learning model or a second machine learning model based on the selection machine learning model. In some examples, the selection machine learning model may detect sintering stages. For example, the selection machine learning model may be a CNN trained to learn one or more sintering stages. For example, machine learning model selection may be managed based on a machine learning model trained to classify one or more sintering stages. In some examples, the selection machine learning model may utilize time, temperature, and / or other relevant information as inputs to each increment. The selection machine learning model may be trained with a target sintering stage class. For example, at inference time, using the invocation time and / or temperature, the trained selection machine learning model may output a corresponding sintering stage index (e.g., ind), which can be used to select the corresponding machine learning model (e.g., a deep learning model).
[0040] In some examples, one or more elements of method 100 may be repeated, may be iterative, and / or may be repeated. For example, the apparatus may simulate one or more subsequent sintering states, and / or the apparatus may predict one or more subsequent sintering states. An iteration is an instance of a repeated process or loop. For example, an iteration may include a series of operations that can be iterated and / or repeated. For example, an iteration may be a series of execution instructions within a loop.
[0041] In some examples, one or more operations, functions, and / or elements of method 100 may be omitted and / or combined. In some examples, method 100 may include information about... Figure 2 , Figure 3 , Figure 4 , Figure 5 and / or Figure 6 The described operation(s), function(s), and / or element(s), some or all of them.
[0042] Figure 2 This is a diagram illustrating an example of graph 201 showing displacement and temperature according to some of the techniques described herein. For example, graph 201 illustrates examples of x-axis displacement 217, y-axis displacement 219, and z-axis displacement 221 corresponding to the displacement at the point of maximum deformation in a shape deformation simulation. The x-axis displacement 217, y-axis displacement 219, and z-axis displacement 221 are illustrated as displacements (in millimeters (mm)) over time (in minutes) 211 (e.g., simulation time) 209. The sintering process temperature 215 is illustrated as temperature (in °C) 213 over time (in minutes) 211 (e.g., simulation time).
[0043] As illustrated in Table 201, the sintering process may involve sintering an object at varying temperatures. The object may undergo deformation during the sintering process.
[0044] Figure 2The diagram illustrates an example of sintering stages. For example, a sintering process may include a first sintering stage 203, a second sintering stage 205, and a third sintering stage 207 (e.g., an equilibration stage). The first sintering stage 203 may have associated time and / or temperature (e.g., 470-600 minutes), the second sintering stage 205 may have associated time and / or temperature (e.g., 600-785 minutes), and the third sintering stage may have associated time and / or temperature (e.g., 785-900 minutes). In some examples, more or fewer sintering stages may be utilized. In some examples, a corresponding machine learning model may be trained for each sintering stage. For example, a machine learning model may be trained for the first sintering stage 203, a second machine learning model may be trained for the second sintering stage 205, and a third machine learning model may be trained for the third sintering stage 207. For example, a simulation process may be divided into three sintering stages, where each sintering stage may have a corresponding machine learning model (e.g., a deep learning model) based on the sintering temperature distribution, object geometry, and / or material.
[0045] In some examples, the machine learning model can be selected based on a stage (e.g., based on the number of stages and / or temperature). For example, if the simulation time is within the time range of the stage and / or if the simulation temperature is within the temperature range of the stage, the device can select a machine learning model corresponding to that stage.
[0046] In some examples, due to variations in temperature distribution, changing object geometry, etc., during each sintering process, precise timing and / or temperature points corresponding to stages may not provide optimal switching triggering. In some examples, transition regions (one or more) can be utilized. Figure 2An example of a first transition region 223 (for the transition from the first sintering stage 203 to the second sintering stage 205) and a second transition region 225 (for the transition from the second sintering stage 205 to the third sintering stage 207) is illustrated. For example, the apparatus may utilize a machine learning model to predict the sintering state of the first sintering stage 203 (e.g., outside the first transition region 223). When in the first transition region 223, the apparatus may utilize a machine learning model to predict a first candidate sintering state and a second machine learning model to predict a second candidate sintering state. The apparatus may determine one or more tuned sintering states based on the first candidate sintering state and / or the second candidate sintering state. The apparatus may determine a first residual loss between the first candidate sintering state and the tuned sintering state. The apparatus may determine a second residual loss between the second candidate sintering state and the tuned sintering state. The apparatus may select a machine learning model associated with fewer residual losses. For example, once the second machine learning model produces a second candidate sintering state with less residual loss, the apparatus can switch to the second machine learning model and / or utilize the second machine learning model during the second sintering stage 205 until the second transition region 225. In the second transition region, the apparatus can similarly execute the second and third machine learning models to select the machine learning model associated with less residual loss. The third machine learning model can be utilized for the remainder of the third sintering stage 207.
[0047] Figure 3 This is a block diagram illustrating an example of an apparatus 302 that can be used to determine the sintering state of an object. Apparatus 302 can be a computing device, such as a personal computer, server computer, printer, 3D printer, smartphone, tablet computer, etc. Apparatus 302 may include and / or be coupled to a processor 304 and / or a memory 306. Memory 306 may communicate electronically with processor 304. For example, processor 304 may write to and / or read from memory 306. In some examples, apparatus 302 may communicate with additive manufacturing equipment (e.g., a 3D printing device) (e.g., coupled to or having a communication link with the additive manufacturing device). In some examples, apparatus 302 may be an example of a 3D printing device. Without departing from the scope of this disclosure, apparatus 302 may include additional components (not shown) and / or some components described herein may be removed and / or modified.
[0048] Processor 304 may be any of a central processing unit (CPU), a semiconductor-based microprocessor, a graphics processing unit (GPU), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), and / or other hardware devices suitable for retrieving and executing instructions stored on memory 306. Processor 304 may fetch, decode, and / or execute instructions stored in memory 306 (e.g., prediction instruction 312 and / or selection instruction 314). In some examples, processor 304 may include one or more electronic circuits comprising electronic components for performing one or more functions of the instructions (e.g., prediction instruction 312, tuning instruction 327, and / or selection instruction 314). In some examples, processor 304 may perform combined... Figures 1-6 One, some, or all of the functions, operations, elements, methods, etc. described.
[0049] Memory 306 can be any electronic, magnetic, optical, and / or other physical storage device that contains or stores electronic information (e.g., instructions and / or data). Thus, for example, memory 306 can be random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), storage devices, optical discs, and / or the like. In some embodiments, memory 306 can be a non-transitory tangible machine-readable storage medium, wherein the term "non-transitory" does not cover transient propagation signals.
[0050] In some examples, device 302 may also include a data repository (not shown) on which processor 304 may store information. The data repository may be volatile and / or non-volatile memory, such as dynamic random access memory (DRAM), EEPROM, magnetoresistive random access memory (MRAM), phase-change RAM (PCRAM), memristors, flash memory, and the like. In some examples, memory 306 may be included within the data repository. In some examples, memory 306 may be separate from the data repository. In some methods, the data repository may store instructions and / or data similar to those stored in memory 306. For example, the data repository may be non-volatile memory, and memory 306 may be volatile memory.
[0051] In some examples, device 302 may include an input / output interface (not shown) through which processor 304 can communicate with one or more external devices (not shown), for example, to receive and store information relating to one or more objects, with respect to which one or more sintering states can be determined. The input / output interface may include hardware and / or machine-readable instructions to enable processor 304 to communicate with one or more external devices. The input / output interface may enable wired or wireless connectivity to one or more external devices. In some examples, the input / output interface may further include a network interface card and / or may also include hardware and / or machine-readable instructions to enable processor 304 to communicate with various input and / or output devices such as a keyboard, mouse, monitor, another device, electronic device, computing device, etc., through which a user can input instructions into device 302. In some examples, device 302 may receive 3D model data 308 from one or more external devices (e.g., a computer, removable storage device, network device, etc.).
[0052] In some examples, memory 306 may store 3D model data 308. 3D model data 308 may be generated by device 302 and / or received from another device. Some examples of 3D model data 308 include one or more 3D Manufacturing Format (3MF) files, 3D Computer-Aided Design (CAD) images, object shape data, mesh data, geometric data, etc. 3D model data 308 may indicate the shape of one or more objects. In some examples, 3D model data 308 may indicate a package of build volumes, or device 302 may arrange the 3D object model represented by 3D model data 308 into a package of build volumes. In some examples, 3D model data 308 may be used to obtain slices of one or more 3D models. For example, device 302 may slice one or more models to produce slices, which may be stored in memory 306. In some examples, 3D model data 308 may be used to obtain one or more proxy maps of one or more 3D models. For example, device 302 may use slices to determine proxy maps (e.g., voxels or pixels to which one or more proxies are to be applied), which may be stored in memory 306.
[0053] In some examples, memory 306 may store displacement data 310. Displacement data 310 may indicate displacement (e.g., intermediate displacement). In some examples, displacement data 310 may be generated by a machine learning model (e.g., D0 predicted from a deep learning model) and / or a physics simulation engine (e.g., the output De of a physics simulation engine tuned by the physics simulation engine). In some examples, displacement data 310 may be stored as an image and / or (one or more) visualization files. In some examples, displacement data 310 may be stored separately from (e.g., independently of) 3D model data 308.
[0054] Memory 306 may store prediction instructions 312. In some examples, processor 304 may execute prediction instructions 312 to predict a first sintering state of an object using a first machine learning model. In some examples, this may be as follows: Figure 1 and / or Figure 2 This is accomplished as described. For example, processor 304 can infer the sintering state (e.g., displacement, rate of change of displacement, etc.) of an object represented by 3D model data 308. In some examples, the first machine learning model can be trained using training data that includes a simulated input sintering state at a start time (e.g., a sintering state generated by a simulation at a first simulation time) and a simulated output sintering state at a target time (e.g., a sintering state generated by a simulation at a second simulation time). For example, the simulated input sintering state may correspond to the start time, and the simulated output sintering state may correspond to the target time. In some examples, the simulated output sintering state may be the ground truth used to train the first machine learning model. During inference, the trained first machine learning model can use the simulated sintering state at one time to predict the simulated sintering state at a later time.
[0055] In some examples, processor 304 can execute prediction instruction 312 to predict a second sintering state of the object using a second machine learning model. In some examples, this can be as follows: Figure 1 and / or Figure 2 As described, it is completed. The first and second sintering states can correspond to the same prediction increment. In some examples, the first machine learning model and / or the second machine learning model can utilize information about... Figure 5 The described machine learning model architecture 526 and / or about Figure 6 The described machine learning model architecture is similar to 658.
[0056] In some examples, processor 304 can execute tuning instruction 327 to tune a first sintering state and / or a second sintering state using a physics simulation engine, thereby producing a tuned sintering state. In some examples, this can be as follows: Figure 1 and / or Figure 2 Complete it as described.
[0057] Memory 306 may store selection instruction 314. In some examples, processor 304 may execute selection instruction 314 to select a first machine learning model or a second machine learning model based on a first sintering state, a second sintering state, and a tuned sintering state. In some examples, this may be as follows: Figure 1 and / or Figure 2 This is accomplished as described. For example, device 302 (e.g., processor 304) can determine a first residual loss based on a first sintering state and a tuned sintering state, and can determine a second residual loss based on a second sintering state and a tuned sintering state. Device 302 (e.g., processor 304) can compare the residual losses and select the machine learning model associated with the smaller residual loss. For example, device 302 (e.g., processor 304) can use a machine learning model that produces a sintering state (e.g., the first sintering state or the second sintering state) that is closer to the tuned sintering state.
[0058] Memory 306 may store operation instructions 318. In some examples, processor 304 may execute operation instructions 318 to perform operations based on a sintering state (e.g., tuned sintering state). For example, device 302 may display the sintering state and / or one or more values associated with the sintering state (e.g., maximum displacement, displacement direction, an image of the object model with color coding indicating the degree of displacement on the object model, etc.), store the sintering state and / or associated data in memory 306, and / or send the sintering state and / or associated data to another device(s). In some examples, device 302 may determine whether the sintering state (e.g., final or final sintering state) is within tolerance (e.g., within the target displacement amount). In some examples, if the sintering state is within tolerance, device 302 may print a precursor object based on the object model. For example, device 302 may print a precursor object based on a two-dimensional (2D) drawing or slice of the object model indicating the placement of a binder (e.g., glue). In some examples, device 302 (e.g., processor 304) may determine compensation based on sintering states (e.g., a series of sintering states and / or a final sintering state). For example, device 302 (e.g., processor 304) may adjust the object model to compensate for deformation (e.g., sagging) indicated by one or more sintering states. For example, the object model may be adjusted in one or more directions opposite to the displacements indicated by one or more sintering states to reduce deformation.
[0059] Figure 4This is a block diagram illustrating an example of a computer-readable medium 420 used to determine the sintering state of an object. The computer-readable medium 420 can be a non-transitory tangible computer-readable medium 420. For example, the computer-readable medium 420 can be RAM, EEPROM, storage devices, optical discs, and the like. In some examples, the computer-readable medium 420 can be volatile and / or non-volatile memory, such as DRAM, EEPROM, MRAM, PCRAM, memristors, flash memory, and / or the like. In some embodiments, combined with... Figure 3 The described memory 306 can be combined with Figure 4 Examples of computer-readable media 420 described herein.
[0060] Computer-readable medium 420 may include code (e.g., data and / or instructions, executable code, etc.). For example, computer-readable medium 420 may include 3D model data 429, prediction instructions 422, and / or fusion instructions 424.
[0061] In some examples, computer-readable medium 420 may store 3D model data 429. Some examples of 3D model data 429 include 3D CAD files, 3D meshes, etc. 3D model data 429 may indicate the shape of one or more 3D objects (e.g., one or more object models).
[0062] In some examples, prediction instruction 422 is code that causes the processor to predict the sintering state of the first plane using a first-plane machine learning model. For example, the first-plane machine learning model could be an xy machine learning model. The xy machine learning model can be trained to predict the sintering state in the xy plane.
[0063] In some examples, prediction instruction 422 is code that causes the processor to use a second-plane machine learning model to predict the sintering state in the second plane. For example, the second-plane machine learning model could be a yz machine learning model. The yz machine learning model can be trained to predict the sintering state in the yz plane.
[0064] In some examples, prediction instruction 422 is code that causes the processor to use a third-plane machine learning model to predict the sintering state in the third plane. For example, the third-plane machine learning model could be an xz machine learning model. The xz machine learning model can be trained to predict the sintering state in the xz plane.
[0065] In some examples, fusion instruction 424 is code that causes the processor to fuse the first-plane sintering state, the second-plane sintering state, and the third-plane sintering state to produce a 3D sintering state. For example, the first-plane sintering state, the second-plane sintering state, and the third-plane sintering state can be fused. For example, information from the first-plane sintering state, the second-plane sintering state, and the third-plane sintering state can be combined to produce a sintering state across x, y, and z dimensions. In some examples, fusion instruction 424 can be based on a fusion network (e.g., a neural network trained to fuse the first-plane sintering state, the second-plane sintering state, and the third-plane sintering state). Examples of architectures used to predict xy sintering states, yz sintering states, and xz sintering states (e.g., fusing xy sintering states, yz sintering states, and xz sintering states to produce a 3D sintering state) are related to... Figure 6 Provided.
[0066] Figure 5 This is a diagram illustrating examples of machine learning model architecture 526 that can be utilized according to some of the techniques described herein. In some examples, method 100 may utilize architecture 526 to predict one or more sintering states. In some examples, device 302 may utilize (e.g., processor 304 may execute) architecture 526 to predict sintering states. In some examples, machine learning model architecture 536 may include wrapping mechanisms, convolutional neural networks, and / or spatial transformer layers.
[0067] Architecture 526 may include an input layer 528, convolutional layers, pooling layers, difference field determination 532, and a wrapping layer 544. Figure 5 In this example, the architecture uses layer copy 536 for concatenation, performs max pooling 538 (e.g., 2×2 max pooling), performs up convolution 540, and performs convolution 542 (e.g., 3×3 convolution). In this example, the input layer 528 can take an input of size 192×192×3. In some examples, the input can be at a first time (e.g., t(mn)), where t is time, m is the increment exponent at a second or target time (e.g., t(m)), and n is the number of increments. The input can be a displacement. For example, a displacement can be represented as a 3-channel image, where each color channel represents a displacement on the corresponding axis (e.g., x, y, and z). Figure 5 Examples of sizes and / or dimensions that can be utilized are illustrated. In some examples, other sizes (e.g., layer size and / or operation size) can be utilized. For example, different architectures can be utilized. In some examples, the number of encoding and decoding stages and / or the number of feature maps per encoding and / or decoding stage can be adjusted, where the connection layer sizes are matched.
[0068] In some examples, architecture 526 can be trained with simulated sintering states at a start time to predict the corresponding layer sintering state (e.g., displacement values) at a target time, where the simulated output data at the target time can be used as the underlying ground truth. From a physical domain perspective, metal sintering can be a physical process in which each metal particle is influenced by its neighboring particles under the influence of various forces involved, resulting in deformation of the final object. Machine learning models (e.g., CNNs) can be used to extract local and high-level features of an image, learn filter matrices and connection weights, and predict output feature maps. Some machine learning models can maintain the structural integrity of the input image by passing the input and concatenating a contracted partial feature layer (e.g., encoder portion 530 of architecture 526) with an expanded partial feature layer (e.g., decoder portion 531 of architecture 526) and ensuring that the input and the learned features are used for the final prediction. For example, maintaining structural integrity may help preserve the original geometric information of the simulated data.
[0069] exist Figure 5 In the example illustrated, architecture 526 predicts difference fields (e.g., displacement difference, difference between the deformation at the start time layer and the predicted deformation at the target time layer, etc.). A wrapping layer 544 can be utilized, and an input layer 528 can be attached to generate a predicted sintering state 534. In some examples, the predicted sintering state 534 can be at a second time (e.g., t(k)). In some examples, the wrapping layer 544 can be a convolutional layer or another structure. Figure 5 In the example, a space transformer layer can be used.
[0070] In some examples, the training objective function can be used to train one or more machine learning models described in this paper. In some examples, similarity loss (e.g., L...) sim This can be used to train machine learning models to reduce (e.g., minimize) the fundamental truth (e.g., I) according to equation (1). G ) and predicted displacement images (e.g., I P The difference between each pixel, where h indicates the image “height” or number of pixel rows, i is the exponent (e.g., number of pixel rows), w indicates the image “width” or number of pixel columns, and j is the exponent (e.g., number of pixel columns).
[0071]
[0072] In some examples, I G and / or I PIt can be expressed as one or more scalars of one-dimensional displacement or as a vector comprising one or more 3D (e.g., x, y, z) displacement values. In some examples, the displacement vector can represent a voxel-level physical property. In some examples, to measure and / or represent a quantitative displacement vector for each voxel (e.g., at a first time and a second time), the object can be sliced at a certain height (e.g., z-height). Each slice can represent the voxel displacement as values corresponding to three-dimensional (e.g., x, y, and z) displacements (e.g., u, v, and w).
[0073] In some examples, gradient loss (e.g., L) can be used. 梯度 (Apart from similarity loss in some methods). Since image gradients can be used to extract information from images (e.g., edge or intensity changes in a given direction (x or y), gradient loss can be used to enforce preservation of geometry. Gradient loss can be expressed as given in equation (2).
[0074]
[0075] In equation (2), dx G The gradient of the fundamental truth in the x-direction, dx P It is the predicted gradient in the x-direction, dy G Indicates the fundamental true gradient in the y-direction, and dy P It is the predicted gradient in the y-direction.
[0076] In some examples, the overall objective function can be a weighted combination of similarity loss and gradient loss. The overall objective function (e.g., L) can be expressed according to equation (3).
[0077] L = L sim +λL 梯度
[0078] (3) In equation (3), λ is the weighting value. In some examples, the machine learning model(s) described herein may be trained using similarity loss, gradient loss, and / or overall loss.
[0079] Figure 6 This is a diagram illustrating examples of machine learning architectures 658 that can be utilized based on some of the techniques described in this article. Figure 6The architecture 658 includes a first planar machine learning model 652, a second planar machine learning model 654, and a third planar machine learning model 656. The first planar machine learning model 652 can be trained on the xy-plane, the second planar machine learning model 654 can be trained on the yz-plane, and the third planar machine learning model 656 can be trained on the xz-plane. The planar machine learning models can predict deformations in their respective planes. For example, each planar machine learning model can perform 2D displacement predictions for each voxel on a different plane of the 3D data. In some examples, each planar machine learning model can have [specific parameters related to the plane]. Figure 5 The described architecture is 526 or another similar architecture.
[0080] The first planar machine learning model 652 can utilize xy input 646. The second planar machine learning model 654 can utilize yz input 648. The third planar machine learning model 656 can utilize xz input 650. The prediction result 659 can be fed into the fusion network 660. In some examples, the fusion network 660 can be a multilayer perceptron (MLP) layer network or another model. The output 662 of the fusion network can be a 3D sintered state (e.g., displacement in three-dimensional space).
[0081] In some examples, the loss function used to train the fusion network 660 can be defined as the square of the norm of the 3D displacement error: in, Indicate the predicted displacement, and Displacement indicating the underlying truth. The fusion network 660 and planar machine learning models (e.g., 2D deformation predictors) can be trained separately.
[0082] about Figure 6 The described architecture 658 can capture geometric information for each plane (e.g., all x, y, and z dimensions). The fusion network 660 can learn to combine dimensional information, thereby maintaining integrity across spatial dimensions.
[0083] In some examples, about Figure 6 The described machine learning model architecture 658 can be used for... Figure 1 , Figure 2 , Figure 3 and / or Figure 4 The machine learning model(s) described herein. In some examples, other machine learning model architectures may be utilized based on the techniques described herein. For example, in some examples, a variational autoencoder model architecture may be utilized.
[0084] Some examples of the techniques described in this paper can integrate machine learning models (e.g., deep learning inference engines) as components within a physics-based simulation engine to predict metal sintering deformation with improved speed and / or accuracy. In some examples, machine learning models (e.g., one or more deep learning models and / or network architectures) can learn local material property compositions and / or predict physics fields based on the learned local and / or global material property compositions, such as defining displacement vectors at increments. In some examples, machine learning models (e.g., deep learning inference engines) can be integrated as part of a time-progressive simulation.
[0085] In some examples, machine learning models that predict the rate of change of displacement (e.g., displacement "velocity") can be utilized. For example, multiple velocity models that capture different sintering dynamics can be trained and / or utilized.
[0086] In some examples, the velocity model can take time period DT as input. The velocity model can allow prediction of displacements varying with DT. At time T0, the device can trigger the velocity model to generate D0. DT can be constructed using one or more methods.
[0087] In some approaches, while the physics simulation engine is time-progressive, it can generate time series pairs (DT, N). DT is the time period used, and N is the number of iterations converged from D0 to De. In some examples, DT can be increased (e.g., maximized) under a finite constraint of N. Machine learning models (e.g., time series regression models) can be developed based on history. These models can be used to predict DT versus N as a tradeoff for time T0, which may lead to the selection of DT.
[0088] In some examples, methods using (max(D0), N) pairs can be used. Machine learning models (e.g., time series regression models) can be trained to allow predictions of max(D0) versus N, as a tradeoff for time T0, which may lead to the selection of max(D0). Depending on the velocity model, DT can be calculated.
[0089] In some examples, the apparatus can deploy different machine learning models representing different sintering dynamics in parallel. A first convergence result can produce De. Other trials with other machine learning models can terminate. In some examples, if convergence is not reached within a time threshold (e.g., within a certain number of iterations, within an actual amount of time, within 2 minutes, etc.), the parallel trials (e.g., all parallel trials) can terminate. In this case, the time period DT can be reduced (e.g., by half or another proportion), and the machine learning model can be tried again (e.g., the parallel trials).
[0090] While various examples of techniques are described herein, the techniques are not limited to these examples. Variations of the examples described herein can be implemented within the scope of this disclosure. For example, operations, functions, aspects, or elements of the examples described herein may be omitted or combined.
Claims
1. A method for manufacturing an object, the method comprising: The first sintering state of an object is simulated using a physics simulation engine. A machine learning model is used to predict the second sintering state of an object at a second time based on the first sintering state, wherein the predicted increment between the first and second times is different from the simulated increment; The machine learning model is used to predict the first candidate sintering state in the transition region; A second machine learning model is used to predict the second candidate sintering state in the transition region; A first residual loss is determined based on the first candidate sintering state, and a second residual loss is determined based on the second candidate sintering state; and The machine learning model or the second machine learning model is selected based on the first residual loss and the second residual loss.
2. The method according to claim 1, wherein, The corresponding machine learning model is trained for the corresponding sintering stage.
3. The method according to claim 2, wherein, The machine learning model is used to predict a second sintering state in the first sintering stage, and the method further includes using a second machine learning model to predict a third sintering state of the object in the second sintering stage.
4. The method according to claim 2, wherein, The corresponding machine learning models are trained using different training data.
5. The method according to claim 1, wherein, The second sintering state indicates the displacement in the voxel space.
6. The method according to claim 1, wherein, The second sintering state indicates the rate of displacement change.
7. The method according to claim 1, wherein: Determining the first residual loss includes determining the first difference between the first candidate sintering state and the tuned sintering state; Determining the second residual loss includes determining the second difference between the second candidate sintering state and the tuned sintering state; as well as Choosing a machine learning model or a second machine learning model involves comparing the first residual loss with the second residual loss.
8. An apparatus for manufacturing an object, comprising: Memory; A processor that communicates electronically with a memory, wherein the processor is used to: The first sintering state of the object is predicted using the first machine learning model; The second machine learning model is used to predict the second sintering state of the object; The first residual loss is determined based on the first sintering state and the tuned sintering state; The second residual loss is determined based on the second sintering state and the tuned sintering state; and Choose the machine learning model associated with the smaller residual loss from either the first or the second machine learning model.
9. The apparatus according to claim 8, wherein, The processor is used to tune a first sintering state or a second sintering state using a physics simulation engine to generate a tuned sintering state.
10. The apparatus according to claim 8, wherein, The first machine learning model is trained using training data, which includes the simulated input sintering state at the start time and the simulated output sintering state at the target time.
11. A non-transitory tangible computer-readable medium for storing executable code, comprising: Code used to enable the processor to predict the sintering state of the first plane using a first-plane machine learning model; Code used to enable the processor to predict the sintering state of the second plane using a second-plane machine learning model; Code used to enable the processor to predict the sintering state of the third plane using a third-plane machine learning model; as well as Code used to enable the processor to fuse the first planar sintering state, the second planar sintering state, and the third planar sintering state to generate a three-dimensional 3D sintering state.
12. The computer-readable medium of claim 11, wherein, The first planar machine learning model is an xy machine learning model, the second planar machine learning model is a yz machine learning model, and the third planar machine learning model is an xz machine learning model.
13. The computer-readable medium of claim 11, wherein, The code used to fuse the first, second, and third planar sintering states of the processor is based on a fusion network.
Citation Information
Patent Citations
Numerical simulation method for silicon carbide ceramic ordinary pressure solid phase sintering process
CN107315853A
Mechanical structure abnormal state rapid identification method and storage medium
CN109918726A
Colloid screening model construction method and colloid screening method
CN112133447A