WO2023122004A1 - Machine learning for additive manufacturing - Google Patents

Machine learning for additive manufacturing Download PDF

Info

Publication number
WO2023122004A1
WO2023122004A1 PCT/US2022/053334 US2022053334W WO2023122004A1 WO 2023122004 A1 WO2023122004 A1 WO 2023122004A1 US 2022053334 W US2022053334 W US 2022053334W WO 2023122004 A1 WO2023122004 A1 WO 2023122004A1
Authority
WO
WIPO (PCT)
Prior art keywords
fabrication
printer
updating
commands
printer commands
Prior art date
Application number
PCT/US2022/053334
Other languages
French (fr)
Inventor
Desai CHEN
Original Assignee
Inkbit, LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/560,455 external-priority patent/US11354466B1/en
Application filed by Inkbit, LLC filed Critical Inkbit, LLC
Publication of WO2023122004A1 publication Critical patent/WO2023122004A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/10Processes of additive manufacturing
    • B29C64/106Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material
    • B29C64/112Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material using individual droplets, e.g. from jetting heads
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • B29C64/393Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y10/00Processes of additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • B33Y50/02Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]

Definitions

  • a typical additive manufacturing process works by slicing a digital model (for example, represented using an STL file) into a series of layers. Then the layers are sent to a fabrication apparatus that deposits the layers one by one from the bottom to the top.
  • Additive manufacturing is rapidly gaining popularity in a variety of markets including automotive, aerospace, medical devices, pharmaceuticals, and industrial tooling.
  • extrusion processes such as fused deposition modeling® (FDM®)
  • light polymerization processes such as stereolithography (SLA) and multijet/polyjet
  • powder bed fusion processes such as selective laser sintering (SLS) or binder jetting
  • lamination processes such as laminated object manufacturing (LOM).
  • Inkjet 3D printing is a method of additive manufacturing where printheads deposit droplets of liquid ink.
  • Printheads are typically mounted on a gantry system to allow 5 deposition of ink in different locations within the build volume.
  • the build platform may also move with respect to the printheads, which may be stationary.
  • the liquid ink is solidified using UV or visible-light radiation.
  • Multiple printheads may be used in one system in order to build objects with multiple base materials. For example, materials that have different optical, mechanical, thermal, 10 electromagnetic properties can be used.
  • the UV curing unit is typically one of the subsystems used within an inkjet additive manufacturing apparatus.
  • UV radiation provides the means of solidifying inks via photo- initiation of the polymerization reaction.
  • UV radiation can be supplied by a variety of 15 different mechanisms such as arrays of LEDs and Mercury or Xenon arc lamps.
  • UV curing is typically applied after each layer is printed or after each material within a layer is deposited.
  • the UV curing unit can be fixed with respect to the printer or it can move independently with respect to the object.
  • ink solidification can be achieved by changes in thermal conditions. For 20 example, a liquid material solidifies as its temperature is lowered.
  • inks can be used in this category such as waxes. Both UV-phase change inks and thermal-phase change inks can be combined to manufacture an object. Because of the slight variation of each drop and surface tension of inks, liquid layers deposited onto the platform are not perfectly flat, requiring a mechanical flattening device in 25 order to eliminate the error and error accumulation caused by uneven layers.
  • the flattening - 2- Attorney Docket No.30232-027WO1 device may be a roller, script, or even mill, etc. Typically, about 20-30% of jetted material is removed during the flattening process, resulting in significant waste and increased material cost. 3D printed objects when manufactured using an inkjet process may need structural 5 support. For example, most objects with overhangs need support structures.
  • additional print data is generated for these support structures.
  • a separate ink is designated as a support material.
  • This ink is deposited also using printheads and then it is solidified. It is desirable for the support material to be easily removed after the print is completed.
  • support materials 10 including UV-curable materials that are soluble in water or other solvents or wax-based materials that can be removed by melting.
  • parts are typically post-processed. For example, support material may need to be removed. The parts might also need to be post-processed to improve their mechanical or thermal properties. This may include thermal treatment and/or 15 additional UV exposure.
  • inks may include additives.
  • additives include colorants in the form of dyes or pigments or the mixture of pigments and dyes that are dispersed or dissolved in the ink. Surfactants may also be used to adjust the surface tension of the ink for improved jetting or printing performance. In addition, other types of particles or additives may be used in 20 order to enhance the mechanical, thermal or optical characteristics of the cured resin.
  • such a model and/or policy is updated during the - 3- Attorney Docket No.30232-027WO1 printing process (e.g., during fabrication of one object, between fabrications of different objects, etc.) to maintain high accuracy by adapting to any changes that may not have been adequately incorporated into the control of the printing process earlier.
  • At least some embodiments make use of machine-learning techniques to implement the 5 model of the printing process and/or the policy for the printing process.
  • artificial neural networks which may be implemented in software and/or using custom or special-purpose hardware, may be used to implement the model and/or policy.
  • the determination of control based on a model may make use of a planning approach, in which the effect of one or more printing steps (e.g., one or more added layers) is predicted and a 10 search for the best next control of a printing step is determined.
  • Reinforcement Learning (RL) approaches may be used to determine control inputs (i.e., “actions”) based on observations of the object being printed, for example, observations that are based on surface geometry and/or surface material of the partially fabricated object.
  • RL based techniques may use “simulated experience” that predicts printing results to improve a 15 policy and possibly discover policies that are not typically implemented based on human input alone.
  • a method is used fabricating a 3D object that an object specification via a printer.
  • the method includes receiving sensor data characterizing a first partial fabrication of the 3D object.
  • Printer commands are determined for causing the printer 20 to fabricate a first incremental portion of the 3D object on the first partial fabrication of the 3D object. This determining depending on a simulation of a printing process, the sensor data, and the object specification.
  • the printer is caused to fabricate the first incremental portion of the 3D object of the first partial fabrication according to the printing process using the printer commands to yield a second partial fabrication. 25 Aspects can include one or more of the following features.
  • the determining of the printer commands for causing the printer to fabricate a first incremental portion comprises processing data that depends on the sensor data and data that depends on the object specification using a policy to yield the printer commands for the first incremental portion of the 3D object.
  • the method includes using a Reinforcement Learning procedure to update at least one of the simulations of the printing process and the policy for yielding printing commands.
  • the policy comprises a second artificial neural network. The method includes updating the second artificial neural network using at least one of data determined from sensor data received characterizing the object after fabrication of the 10 first incremental portion and data determined from the simulation of the printing process.
  • the printer commands represent instructions for depositing at least one of a material and an amount of a material at each location of a plurality of locations on a surface of the first partial fabrication of the 3D object.
  • the simulated printing process comprises an artificial neural network.
  • the artificial neural network of the simulated printing process comprises a convolutional neural network representing a physical phenomenon of the printing process. After the printer fabricates the first incremental portion, and after receiving sensor data characterizing the second partial fabrication of the 3D object, the artificial neural network of the simulated printing process is updated based on said sensor data.
  • the determining of the printer commands comprises simulating fabrication of an incremental portion of the 3D object according to a plurality of candidate printer commands, and selecting the printer commands for the first incremental portion from the candidate printer commands.
  • the determining of the printer commands comprises simulating fabrication of sequences of multiple incremental portions of the 3D object according to a plurality of candidate sequences of printer commands, and selecting the printer commands for the first incremental portion from one of the candidate printer commands.
  • the determining of the printer commands comprises determining a corresponding reward value resulting from each simulating fabrication of an incremental portion of the 3D object according to a plurality of candidate printer commands, and selecting the printer commands for the first incremental portion according to the determined rewards.
  • the simulating of the fabricating of the incremental portion according to candidate 10 printer commands comprises processing the candidate printer commands using an artificial neural network.
  • the candidate printer commands comprise an array of jet commands for printing locations on the 3D object.
  • the processing of the candidate printer commands comprises processing the printer 15 commands in combination with data determined from the sensor data.
  • the data determined from the sensor data comprises surface geometry data.
  • An output of the artificial neural network represents a surface geometry resulting from the simulated fabrication of the first portion.
  • a method for fabricating a 3D object having an object 20 specification via a printer includes maintaining configuration data for a policy (e.g., stored values characterizing the policy) for processing an input depending on sensor data characterizing a partial fabrication of the object and input depending on the object specification to yield printer commands (e.g., commanded actions).
  • Sensor data characterizing a first partial fabrication of the 3D object is received.
  • Printer commands for - 6- Attorney Docket No.30232-027WO1 causing the printer to fabricate a first incremental portion of the 3D object on the first partial fabrication of the 3D object are determined using the policy with inputs comprising an input depending on sensor data characterizing the first partial fabrication of the object and an input depending on the object specification.
  • the printer is caused to fabricate the first incremental 5 portion of the 3D object of the first partial fabrication according to the printing process using the printer commands to yield a second partial fabrication.
  • the maintaining of the configuration data includes updating the configuration data for the policy based on at least one of a simulation of the printing process and sensor data characterizing the second partial fabrication of the object. 10 Aspects can include one or more of the following features. Updating the configuration data for the policy comprises using a Reinforcement Learning procedure.
  • a method for fabricating a 3D object includes, during at least some iterations of a plurality of iterations of incremental fabrication of a multi-material three-dimensional object according to a fabrication process, receiving sensor data characterizing a partial fabrication of the object resulting from incremental fabrication prior to a current iteration, the partial fabrication representing at least a geometry of a top surface 20 of the partial fabrication of the object, and variation of material composition over the top surface.
  • Values of parameters of a fabrication model of the fabrication process are updated based on printer commands issues in prior iterations and respective sensor data received after execution of the printer commands of the prior iterations.
  • Values of parameters of a print command planner for determining printer commands are updated based on at least one of the 25 fabrication model and the sensor data received for one or more prior iterations.
  • the print command planner is used to determine printer commands for the execution in the iteration based on a representation of the 3D object. Incremental fabrication of the object is then caused to use the determined printer commands.
  • Updating the values of the parameters of the print command planner at an iteration includes performing one or more simulated iterations comprising determining a sequence of one or more printer commands, simulating incremental fabrication of an object according to the printer commands and the fabrication model, and determining simulated sensor data resulting from the simulated incremental fabrication. 10
  • the values of parameters or the print command planner are updated according to results of performing the plurality of simulated iterations.
  • Updating the values of the parameters of the print command planner includes performing multiple simulated iterations the sequence of one or more printer commands comprises a sequence of multiple printer commands. 15
  • the print command planner provides as output printer commands that specify, for a 20 plurality of locations across the top surface of the partially fabricated object, material ejection commands for jetted addition of multiple materials. Updating the values of the parameters of the print command planner includes selecting the parameters to improve an overall quality of the fabricated object. - 8- Attorney Docket No.30232-027WO1
  • the fabrication model represents at least one of material flow and material mixing of multiple materials at locations of material transitions, and wherein the print command planner is determined to mitigate flow and mixing at the location of material transitions.
  • the print command planner implements at least one of depositing material to yield non- 5 uniform material layers and depositing one material in advance of another material near material transitions.
  • the multiple materials comprise a removable support material and a curable build material, and the print command planner is determined to improve a quality of a resulting outer surface of the build material.
  • Updating the values of the parameters of the fabrication model responds to at least one of changes in geometric calibration of jets used to deposit material and the partially fabricated object and changes in material characteristics that occur during fabrication of the object.
  • Updating the values of the parameters of the print command planner comprises updating 15 said parameters to advance printing as fast as possible.
  • Updating the values of the parameters of the print command planner comprises updating said parameters to keep the top surface of the partial fabrication as flat as possible.
  • Updating the values of the parameters of the print command planner comprises updating said parameters according to a trade-off between the flatness of the top surface of the partial 20 fabrication and printing speed.
  • Updating the values of the parameters of the print command planner comprises updating said parameters to keep variation of the top surface of the partial fabrication within a range limit.
  • Updating the values of the parameters of the fabrication model includes updating an estimate the amount or a variability of an amount material being deposited by a jet or printhead during printing.
  • the printer planner adjusts printer commands according to a desired amount of material 5 to be deposited via the jet or printhead.
  • Updating the values of the parameters of the fabrication model includes responding to at least one of nozzle rotation and nozzle failure.
  • a non-transitory machine-readable medium comprises instructions stored thereon.
  • an additive manufacturing system comprises a controller configured to cause the system to perform all the steps of any one of the methods set forth above.
  • FIG.1 is a block diagram of a feedback-based fabrication system.
  • FIG.2 is a block diagram of a controller that uses a fabrication model.
  • FIG.3 is a block diagram of a controller that uses a policy model.
  • the system 130 includes a printer 132, which is controllable to deposit material to form the object, and a scanner 134, which provides feedback observations 135 regarding how the material has been deposited.
  • the 15 scanner feedback is fed back to a controller (also referred to as an “agent”) 120, which processes the model 120 and the feedback 135 to select a next actions 125 to command the system 130 to incrementally add material to the partially fabricated object 140.
  • the printing is performed in a series of increments, which in many of the embodiments correspond to thin layers that are successively deposited to ultimately form the 20 object.
  • the t th increment has a corresponding control input (also referred to as an “action”) a t that is provided to the system by the controller.
  • the system After acting on that control input, the system provides a next observation o t + 1 of the partially fabricated object that results from that action.
  • the controller e.g., a print command planner
  • the controller makes use of the reference data and the history of the actions and 25 observations to determine the next action (e.g., print command) to send to the system.
  • the - 11- Attorney Docket No.30232-027WO1 system in combination with the object being fabricated can be considered to be the system environment with which the agent interacts.
  • the machine learning techniques described herein are applicable to a variety of forms of printing approaches and corresponding control inputs, and sensing approaches and associated 5 observations.
  • At least some embodiments make use of jetted additive fabrication in which material is deposited in thin layers, which cure or otherwise solidify sufficiently before subsequent 10 layers are formed on top of them.
  • curable “build” material e.g., a polymer
  • an ultimately removable support material e.g., a wax
  • Example systems for this type 15 of fabrication are described in U.S. Patents 10,252,466, 10,456,984, 10,926,473, and 11,518,109.
  • the printer 132 is controllable to deposit material in particular locations on the object. For example, a set of jets pass continuously over the object, with each jet travelling in an x direction at a particular offset in a perpendicular y direction. 20 Each jet is controllable to emit material at particular offsets in the x direction.
  • the x ⁇ y plane is divided into rectangular cells, and the control input for a layer to be deposited identifies which cells should have material emitted, and which cells should be omitted. That is, the control input can be represented as a 1-0 array of “on-off” indicators. Each material (e.g., support material and each build material) has a separate such array.
  • the amount of material that is desired to be emitted is specified in the - 12- Attorney Docket No.30232-027WO1 control input, for example, rather than specifying an on-off input, for each material in each cell the control input affects the amount of material to be emitted using a discrete or continuous indicator.
  • the indicator may be a numerical value between 0.0 and 1.0 indicating the desired fractional amount of material that is desired to be emitted. 5 Therefore, the control input in such examples has characteristics of a binary or continuous multichannel image (e.g., analogous to a color image).
  • the indicator may represent a characteristic of control of the jet and only indirectly represents the amount of material to 10 be emitted.
  • the jets are electrically controllable “drop-on-demand” jets, and each of the selectable characteristics have a corresponding electrical control (e.g., a control waveform).
  • the characteristic of excitation may be a continuous quantity such as an amplitude of an excitation waveform, or timing of the waveform (e.g., rise time, dwell time, fall time), or 15 may be a discrete quantity such as the number of excitation pulses, or may be an enumerated quantity to select from a set of pre-specified excitation waveforms.
  • the locations of emissions along the path of a jet in the x direction is finely controllable, with the control input specifying the locations in the x direction where to emit material, not necessarily constrained to be on a grid on which the desired output is 20 specified.
  • control input may be specified in an array that is more finely divided in the x direction than the input, possibly with a constraint on how frequently material may be emitted (i.e., repeated emissions at the fine scale may be prohibited or physically impossible.)
  • additional control inputs may be global to a layer being 25 deposited, for example, representing a control value for a printhead such as a pressure, - 13- Attorney Docket No.30232-027WO1 temperature, or parameter of a control waveform for the jets.
  • a printer may have additional controllable components, such as a controllable cooling component as described in U.S.
  • Patent Application 17/085,376, that has a set of controllable cooling elements disposed above the object being fabricated, for example, forming a linear cooling 5 element (e.g., fans, ducts, etc.) extending in the y direction or a two-dimensional cooling element having a grid of such cooling elements.
  • the control input may include the degree of cooling to be applied at different locations on the surface of the object.
  • the emission of material to form the object has a wide variety of unpredictable aspects, including for example, the amount of material emitted, the trajectory 10 toward the surface of the object being fabricated, the fluid properties (e.g., flow, mixing) when the material reaches the surface of the object, solidifying (e.g., curing, phase change, etc.) of the material.
  • the controller is designed 15 to take into consideration such variability when determining a control input.
  • a number of different sensing (also referred to as “scanning”) approaches may be used to generate the observations of a partially fabricated object that are fed back to the controller.
  • these observations provide dimensional information, material information, and/or 20 thermal information as a function of location.
  • One form of such an observation is an array of height measurements of the object as a function of location cells or quantized locations in the x ⁇ y plane which may be represented as z ( x , y ) .
  • the array has cells that have the same dimensions and locations as the cells of the control input, but such a direct correspondence is not required (e.g., there may 25 be a greater resolution or a lower resolution as compared to the control input).
  • the observation includes a characterization of the uncertainty of the measurement.
  • an observation for a location may include both a height estimate or expected value (e.g., a mean z ( x , y ) of a probability distribution and an uncertainty (e.g., a variance or standard deviation ⁇ z ( x , y ) ) 5 for that measurement.
  • each observation includes an array of material determinations. For example, in the case of two materials, each location may have associated with it a determination of which material is present in the top layer at that location, or may have an estimate of the fraction of or the probability that each material is present at that location.
  • each observation includes an array of thermal measurements, for example, providing the temperature as a function of location, for example, as described in 15 U.S. Patent 11,518,109.
  • the forms of observations above generally represent an estimate of geometric and/or material properties.
  • underlying measurement from a sensor are provided as observations rather than such an estimate derived from the underlying measurements.
  • OCT Optical Coherence Tomography
  • samples of the interference signal or its Fourier transform are provided for each location of the object, thereby permitting the controller to incorporate the inherent uncertainty of the height measurement in its control 25 policy.
  • an imaging sensor e.g., a camera
  • a swept laser e.g., an illumination plane
  • samples of intensity from the imaging sensor are included in the observation.
  • the observation when determining the material that was deposited on a top layer of an object based on different spectral characteristics of emission (e.g., scattering or fluorescence of the material or additives in the material) rather than explicitly accounting for the reflection properties that depend not only on the material of the top layer but also the material below the top layer, the observation provides the spectral measurements made at 10 each location are provided directly, and the controller may incorporate a history of such measurements in its control policy.
  • the observations can include measurements of the jetting process itself, for example, using cameras that observe the emitted material droplets. For example, observed drop size, shape, or location at a particular time after ejection, may provide yet 15 other feedback as a function of location.
  • Such measurements may provide implicit feedback of material properties such as viscosity or surface tension, or ejection characteristics such as velocity, which the controller can incorporate in its policy.
  • the observation may also include more global measurements, such as an ambient temperature of the printer environment, temperature of specific printheads, age or time since 20 last cleaning of the printheads, and the like.
  • the controller implements a print command planner using a policy that maps the inputs received by the controller to an output action (e.g., printer commands) that it provides as the control input to the printing system 130 introduced above with reference to FIG.1.
  • the controller has available to it the reference m ref specifying the model of the object to be fabricated, as well as the entire history of observations o 1 , o 2 ,... , o t received from the printing system and the entire history of actions a 1 , a 2 ,... , a t ⁇ 1 that have been issued to the 5 printing system by the controller.
  • the controller makes use of a summary of the available information at time t when making a determination of what the next action should be.
  • this summary is represented as a “state” of the system s t at time t (i.e., after issuance of the 10 action a t ⁇ 1 to the system and its acting of that action as the control input for the t ⁇ 1 increment, changing the state of the system.
  • the state forms a sequence s 0 , s 1 ,... , s t , which in at least some examples forms a Markov Chain, which has the property that s t completely summarizes the history up to time t (i.e., the time just prior to issuing the action a t for the t th layer and no additional information from that history would yield a different (i.e., better) 15 selected action by the controller.
  • the controller cannot make a definitive determination of the state of the system, for example, because of inherent uncertainties in the measurements provided by the system. In embodiments described below that explicitly account for such uncertainties, the controller cannot determine (i.e., observe) the state s t on which to decide the action a t .
  • the true state is “hidden.” Instead, the 20 controller can rely on a “belief” b t of that state.
  • This belief can encode the known uncertainty of the state, for example, in the form of a probability distribution over the set of possible hidden state values.
  • one choice of a state s t of the system can be represented as the height map of the partially fabricated 25 object in the form of an array of height values as a function of coordinates (e.g., cells) in the x ⁇ y plane, as well as the remaining part of the reference model, denoted m t ref that has not - 17- Attorney Docket No.30232-027WO1 yet been fabricated, for example, defined by “slicing” the reference model at the height of the partially fabricated object and ignoring all that is below that slice. That is, use of this state definition inherently assumes that nothing but the height of the partially fabricated object can affect the future fabrication of the object.
  • the amount to lower a partially 15 fabricated object before starting a pass of depositing material is itself part of the action that is commanded for a layer.
  • the controller selects the action to result in depositing a planar layer of material on the object (i.e., yielding a planar top surface), with the selection of material for each cell being defined by the material along the slice at the bottom of the 20 remaining part of the reference. That is, the control input can be in the form of a multichannel binary image with indicating which material (i.e., corresponding to a channel) to deposit at each location, for example, support material versus build material.
  • This policy is similar to the approach described in U.S. Patent 10,456,984. - 18- Attorney Docket No.30232-027WO1
  • a belief b t may incorporate a mean (i.e., and estimate) of the height at each location as well as a variance (i.e., a measure of uncertainty of the estimate).
  • the general formalism used below is to view the change of state as a result of applying an action as a random function, which may have a distribution that is a function of the previous state as well as the action applied in that state.
  • This randomness may be represented as a conditional probability distribution p( s t+ 1
  • the controller may choose the action a t that yields the most desirable next state, or an expected value of 10 some function of that next state (i.e., an averaging over possible next states weighting by the probabilities of arriving in that next state).
  • s t , a t ) represents the variability of the next height based on which material is actually deposited in response to the commanded action a t 15 .
  • the controller uses a model of the system, for example, a model that yields a distribution of the next state given the present state and the selected action.
  • the model represents a 20 distribution of the achieved height for any chosen action a t .
  • a t represents which material to deposit at each location (cell) during the t th layer for example as one array for each material with indicators of the locations where that material is to be deposited.
  • the model takes a t as well s t representing the height at each location prior to depositing the layer, and yields the distribution of the height at each location (e.g., a mean and variance of 25 the height) resulting from the printing of a layer according to that action.
  • the action a t is selected from a set of possible actions, for example, according to a distribution of such action.
  • the action a t is selected according to a “value” of the next state, V( s t + 1 ) , or in the case that there is uncertainty in the next state, according to an expected value of the next state, denoted E( v ( s t + 1 )) .
  • the value may be a numerical quantity, and the algebraically greater that qu , more desirable (i.e., 10 “better”) that next state is.
  • a “reward” r t which may be represented as a numerical quantity that is algebraically greater if the action is desirable or increases the desirability or expected desirability of the ultimate object being fabricated (e.g., because it has higher dimensional accuracy) and is algebraically smaller, for example, if it is 15 undesirable or consumes a resource.
  • a reward r t may represent a tradeoff between incremental dimensional accuracy of the object by virtue of depositing a layer (e.g., a positive contribution to the goal) and a time to completion of the fabrication (e.g., a negative contribution for thin layers that may require additional layers to complete the object, and therefore require additional fabrication time).
  • the reward is a 20 function of the state (i.e., s t + 1 determines r t + 1 , or a probability distribution of r t ) while in other embodiments, the reward is a function of the previous state and the action applied at the previous state (i.e., s t and a t together determines r t + 1 or its probability distribution). For example, if s t + 1 represents the surface height after issuing the action a t in state s t , although the state may in some embodiments represent the incremental dimensional accuracy, the 25 action a t may be required to represent the thickness (or at least the commanded thickness) of the layer that is deposited to achieve that height.
  • the value of a - 20- Attorney Docket No.30232-027WO1 next state is related to the sequence of future rewards (e.g., a sum into the future, or a discounted sum into the future).
  • future rewards e.g., a sum into the future, or a discounted sum into the future.
  • a first such embodiment makes use of an observation o t 135 that represents an accurate measurement of the height of the partially fabricated object, denoted 10 z t ( x , t ) 235, which acts as the state s t .
  • the control policy in this embodiment is based on a recognition that it is desirable to have as level a top surface of the object as possible after each layer is deposited, in particular with the top surface being as planar as possible and as parallel as possible to the x ⁇ y motion plane of the printing system.
  • a level surface permits positioning the printheads very close to the object 15 (e.g., by raising the build plate vertically toward the printheads), which may have desirable properties such as higher positional accuracy of the depositing of material, or increased consistency of material properties due to the short time that the material is “in flight” before it reaches the object during which the material may change properties (e.g., if the material is a curable polymer and an initiator to the curing is added in the printhead before jetting).
  • the absolute range of height over the surface provides one characterization of how level the top surface is, for example, the difference between the maximum height and the minimum height over the surface.
  • Another characterization of how level the surface is is the square root of an average squared deviation from a mid-height of the layer, average absolute deviation from a mid height or a top height of the surface, and the like. Because lower - 21- Attorney Docket No.30232-027WO1 variation is desirable, the negative of such a characterization of variation is a suitable component of a reward. This component is denoted r (level ) ( s t + 1 ) .
  • Another factor that may be considered in selecting the action is the expected amount of material that will be deposited. For example, the final object has a fixed amount of material 5 and therefore the amount of material deposited in a particular layer represents a factional degree of progress toward fabrication of the overall object.
  • the expected amount of material may be based on the number of “on” cells for each material, possibly accounting for different volume per 10 “drop” (i.e., controlled emission at a cell location). This component is denoted r (material ) ( a t ) below.
  • r (material ) ( a t ) A weighted combination of the negative of a characterization of the variability of the height of the surface and the (positive) amount of material that is deposited is used as a reward r t + 1 (i.e., a characterization of the expected reward after acting on the command a t ).
  • a model representing a change of state from a state s t to a state s t + 1 with an action a t makes use of a fabrication model 250, which in this embodiment is 20 implemented using a neural network.
  • the input to the neural network is an array of the measured height z t ( x , y ) at locations after depositing the first t ⁇ 1 layers (i.e., o t 135), as well as a candidate commanded action a t (k ) . 225, which includes the multiple channels 226- 227 of jet instructions to deposit material at each of the locations. For example, if there are two materials, for every location in the x ⁇ y plane, there are three values that are input: the 25 height before application of the t th layer, and the commanded indicator or amount for each - 22- Attorney Docket No.30232-027WO1 of the materials.
  • the output of the neural network 250 characterizes a distribution of the resulting height via an expected next height at each location x (x , y ) , as well as a variance of the height at that location ⁇ z 2 ( x , y ) . For each of these locations, this yields a probability distribution of height at that location (i.e., a distribution of one component of the next state). 5 That is, there are two “channels” of output, with the dimension of the output being the same as the dimension of the input (i.e., each cell has one set of channels as input, and one set of channels as output).
  • CNN convolutional neural network
  • convolutional kernels with sizes that are commensurate with the 10 physical effects that contribute to variation in height of a layer. For example, there are multiple (e.g., 5-7) such convolutional layers.
  • one physical effect is flow of uncured material, and the size of the kernel is at least as large as the distance that material may flow before it cures.
  • convolutional kernels in some embodiments have overall dimensions corresponding to in the order of 1-2 millimeter (e.g., in the order of 15-30 15 input “pixels”).?
  • An example of a particular form of the neural network 250 processes z (k ) t and a t in separate convolutional sections, and the outputs of those convolutional sections then combined (e.g., added, stacked) as an input to a third convolutional section that yields the output of the neural network 250.
  • the neural network 250 yields a distribution over the heights that are next achieved. For each such achieved height, the component of the reward related to the height variation (introduced as r (level ) ( s t + 1 ) above) can be evaluated.
  • One approach to computing the expected value of this component of the reward is to sample from the distributions of height according to the mean and variance at each location, for example, using a pseudo-random 25 number generator, and for each sample, evaluating the reward.
  • Another approach is to use an - 23- Attorney Docket No.30232-027WO1 analytical approach, for example, assuming that the distribution of height at each location follows a Normal (Gaussian) distribution and evaluating the level-based reward analytically or using cumulative normal distribution tables or approximations.
  • the controller 120 implements a policy that chooses 5 the best action a t that yields the best (i.e., algebraically largest) expected reward r t + 1 based on an iterative search over the possible actions and for each action, considers the resulting distribution of next heights.
  • a search module 270 selects the material that is applied at each location based on the slice of the model m ref based on the measured height represented by s t .
  • the search module iterates (e.g., indexed by k ) over possible inclusion or 10 exclusion of particular cells in the layer in the case that there is only “on-off” control of jets yielding the possible control a t (k ) .
  • search component 270 emits the selected action a t to instruct the system to deposit the next increment of material.
  • FIG.2 There are a number of variants of the embodiment illustrated in FIG.2, for example, 20 differing in the inputs to the model 250.
  • the state includes both the height after depositing of t ⁇ 1 layers, as well as an indicator of the material at each location.
  • the material that was instructed to be deposited at each location in the most recent printing pass is essentially used as a proxy.
  • the model takes as input additional channels a t ⁇ 1 to 25 yield the mean and variance of the next height after depositing the layer according to a t .
  • One reason to include this additional information in the state is that certain combinations of - 24- Attorney Docket No.30232-027WO1 materials interact in different ways (e.g., according to whether they are hydrophobic or hydrophilic), and this interaction can affect the flowing and mixing before curing.
  • the search may be over the discrete set or range of 5 parameters for such controls.
  • the search can look ahead more than a single increment. For example, multiple applications of the model can take a possible sequence of ⁇ future actions, a ( k ),... , ( k ) t a t+ ⁇ ⁇ 1 can iteratively apply to the model to yield successive height distributions and corresponding rewards, and from that an accumulation (e.g., sum, discounted sum) of the 10 rewards. Then next command a t is then selected as the first command from the ⁇ step look ahead.
  • the approach illustrated in FIG.2 uses a parameterized model 250, for example, with the parameters including the weights of convolutional kernels of the neural network.
  • One way to determine values of these parameters is “offline” prior to fabricating an object using a15 training corpus that has corresponding inputs (i.e., z t and a t ) and resulting heights (i.e., z t + 1 ).
  • “online” training can be used based on data collected during the fabrication of the object, for example, adapting a previouslytrained model to more closely match the fabrication conditions for the particular object being fabricated.
  • 3 CONTROL POLICY 20 As may be recognized, the iterative search procedure illustrated in FIG.2 may be somewhat computationally expensive.
  • an alternative is to determine a policy 350 that takes as input the measured heights z t 235 as well as the materials m t 215 to be deposited at that height based on the slicing of the reference model m ref 110 and to deterministically select the next action a t 355.
  • One way of determining the values of parameters characterizing the policy 350 is to use the results of applying the search procedure illustrated in FIG.2.
  • the policy is 5 designed to approximate the iterative search. As such, the policy depends on an estimate fabrication model 250. Therefore, the policy effectively attempts to provide as high a reward as possible (or accumulated reward in the case of using a multi-step lookahead) without the need to perform a search.
  • a “non-deterministic” 10 policy may be used.
  • the policy defines a conditional probability distribution pi (a t
  • a neural network can take s t and a t as input, and produ ue as output representing the probabilitypi (a t
  • One way of training such neural networks representing non-deterministic policies is to match values of actually achieved rewards in a training corpus.
  • a number of policy-based embodiments make use of parameterized deterministic or non-deterministic policies, for example, as shown in FIG.3, with values of the parameters being determined using one of a variety of techniques within a class of techniques generally referred to as “Reinforcement Learning,” for example as described in the textbook Reinforcement Learning by Sutton and Barto (MIT Press, 2020 Second Edition).
  • Reinforcement Learning for example as described in the textbook Reinforcement Learning by Sutton and Barto (MIT Press, 2020 Second Edition).
  • V ( s t ) represents an estimate of the future rewards that may be accumulated starting at state s t and selecting actions a t , a t + 1 , ... based on a policy implemented by the controller.
  • the value function depends on the policy.
  • the value function represents the accumulation (e.g., summation or discounted summation) of the rewards that may be achieved. For example, this accumulation provides a tradeoff of the number of increments that need to be added and the “flatness” of the increments.
  • One policy that makes use of such a value estimate is to search for the action a t that yields the best (e.g., algebraically greatest) value of V( s t + 1 ) .
  • the reward determination component 260 is replaced with a value determination component that outputsV( s t + 1 ) or the expectation of that value, rather than the next reward r t + 1 or its reward.
  • a value determination component that outputsV( s t + 1 ) or the expectation of that value, rather than the next reward r t + 1 or its reward.
  • the values of the parameters of the value function in some embodiments are determined, at least in part, based on the fabrication model. That is, a simulation of fabrication using the model, and the resulting rewards, is used to determine a value function that is consistent with that simulation.
  • One particular way of updating the value function is to use an approach referred to as “temporal different learning.”
  • the basis of such learning is the observation that the difference between the value functions V ( s t ) and V( s t + 1 ) should reflect the actual reward r t + 1 resulting from the policy that determines the action a t based on the state s t . That is, in the case of discounting the future rewards by a factor ⁇ per time step, updating of the values of the parameters of the value function strives to drive differences ( r t+1 + ⁇ V( s t + 1 ) ) ⁇ V ( s t ) to zero, for example, using a gradient updating procedure.
  • RL reinforcement learning
  • parameters of a fabrication model are estimated or updated during fabrication, thereby matching the particular conditions relevant to the fabrication of a particular object.
  • This model is then used to update a policy (or related value function), for example, by simulation of fabrication scenarios using a Monte-Carlo simulation approach.
  • updates may be used in conjunction with updates based on actual observations, either in the current object fabrication, or in a corpus from prior observations.
  • the quality of the object may be more directly determined from the observations. For example, when the observations provide material information in the form of a fractional composition or probability or presence of each material as a function of surface location, the reward can represent an incremental quality of the object achieved by each added increment. As one example, overall quality of the object may be represented to be highest if the outer surface of the desired object (e.g., the boundary between support material and build material) matches the target shape of that surface in the reference model.
  • One way to define a reward that incorporates such quality introducing a component of the reward that when accumulated over increments provides an average or sum (e.g., integral) of deviation of the location of the transitions (e.g., the outer surface of the desired object formed inside the support material) as compared to the reference model.
  • a smoothness of the outer surface may be used as an alternative or additional term in the reward such that rapid changes in the transition location between materials from increment to increment are penalized because they correspond to a rough surface.
  • Other material-related terms may be added to the reward function, for example, related to internal material transitions or fractional compositions within the desired object, for example, between different build materials.
  • exploration of fabrication policies may include intentionally depositing non-planar increments may yield a policy that intentionally yields such non-planar increments.
  • exploration of fabrication policies may include depositing non-uniform material layers (e.g., depositing a thicker layer in a bulk of an object as compared to depositing thin layers near fine features) and depositing one material in advance of another material near material transitions (e.g., depositing support material that hardens in advance of depositing build material that flows to the support material in a subsequent layer).
  • Such an approach may be robust to changes in the printing process, for example, because of variations in the printing materials, and physical changes that might affect calibration.
  • Such approaches may improve with experience, and in the case of techniques with models of the printing process, may improve with simulated experience which examine a wide range of policies for controlling the printer.
  • raw measurements such as images from a laser profilometer or interference signals from an optical coherence tomography based scanner are provided as input and color and intensity data from scanning of materials (e.g., which may have different additives to yield different colors during scanning), for example, as input to a policy.
  • uncertainty in height estimates is essentially incorporated in the internals of the policy evaluation component.
  • Implementations of the controller may use a hardware processor that executes instructions, which are stored on a non-transitory machine-readable medium.
  • the processor may be a general-purpose processor, or a special-purpose processor for instance a graphics processing unit (GPU).
  • Some implementations may use circuitry such as application-specific integrated circuits (e.g., ASICs) and/or field programmed circuitry (e.g., FPGAs) in addition or instead of hardware processors.
  • a number of embodiments of the invention have been described.

Landscapes

  • Engineering & Computer Science (AREA)
  • Materials Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)

Abstract

A method for fabricating a 3D object (143) having an object specification via a printer, the method comprising: receiving sensor (134) data characterizing a first partial fabrication of the 3D object; determining printer (134) commands for causing the printer to fabricate a first incremental portion of the 3D object on the first partial fabrication of the 3D object, the determining depending on a simulation of a printing process, the sensor data, and the object specification; and causing the printer (132) to fabricate the first incremental portion of the 3D object of the first partial fabrication according to the printing process using the printer commands to yield a second partial fabrication.

Description

MACHINE LEARNING FOR ADDITIVE MANUFACTURING CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Application 17/560,455, filed December 23, 2021, and U.S. Application 17/738,464, filed May 6, 2022. For United States purposes, this application is a Continuation of U.S. Application 17/738,464, which is a Continuation of U.S. Application 17/560,455. BACKGROUND This invention relates to an intelligent additive manufacturing approach, and more particularly an approach that makes use of one or more of machine learning, feedback using machine vision, and determination of machine state. Additive manufacturing (AM) is a set of methods that allows objects to be fabricated via selective addition of material. A typical additive manufacturing process works by slicing a digital model (for example, represented using an STL file) into a series of layers. Then the layers are sent to a fabrication apparatus that deposits the layers one by one from the bottom to the top. Additive manufacturing is rapidly gaining popularity in a variety of markets including automotive, aerospace, medical devices, pharmaceuticals, and industrial tooling. The growth of additive manufacturing processes has led to various iterations of such processes being commercialized, including extrusion processes, such as fused deposition modeling® (FDM®), light polymerization processes, such as stereolithography (SLA) and multijet/polyjet, powder bed fusion processes, such as selective laser sintering (SLS) or binder jetting, and lamination processes, such as laminated object manufacturing (LOM). Nevertheless, despite this growth and rapid progress, additive manufacturing has limitations, such as the materials that can be used in conjunction with such processes. There are limited Attorney Docket No.30232-027WO1 types of materials, and the performance of the materials limits the efficiency and quality that results. Inkjet 3D printing is a method of additive manufacturing where printheads deposit droplets of liquid ink. Printheads are typically mounted on a gantry system to allow 5 deposition of ink in different locations within the build volume. The build platform may also move with respect to the printheads, which may be stationary. The liquid ink is solidified using UV or visible-light radiation. Multiple printheads may be used in one system in order to build objects with multiple base materials. For example, materials that have different optical, mechanical, thermal, 10 electromagnetic properties can be used. These materials can be combined to achieve composite materials with a wide range of material properties. The UV curing unit is typically one of the subsystems used within an inkjet additive manufacturing apparatus. UV radiation provides the means of solidifying inks via photo- initiation of the polymerization reaction. UV radiation can be supplied by a variety of 15 different mechanisms such as arrays of LEDs and Mercury or Xenon arc lamps. UV curing is typically applied after each layer is printed or after each material within a layer is deposited. The UV curing unit can be fixed with respect to the printer or it can move independently with respect to the object. Alternatively, ink solidification can be achieved by changes in thermal conditions. For 20 example, a liquid material solidifies as its temperature is lowered. A variety of different inks can be used in this category such as waxes. Both UV-phase change inks and thermal-phase change inks can be combined to manufacture an object. Because of the slight variation of each drop and surface tension of inks, liquid layers deposited onto the platform are not perfectly flat, requiring a mechanical flattening device in 25 order to eliminate the error and error accumulation caused by uneven layers. The flattening - 2- Attorney Docket No.30232-027WO1 device may be a roller, script, or even mill, etc. Typically, about 20-30% of jetted material is removed during the flattening process, resulting in significant waste and increased material cost. 3D printed objects when manufactured using an inkjet process may need structural 5 support. For example, most objects with overhangs need support structures. Typically, additional print data is generated for these support structures. In inkjet additive manufacturing, typically a separate ink is designated as a support material. This ink is deposited also using printheads and then it is solidified. It is desirable for the support material to be easily removed after the print is completed. There are many potential support materials 10 including UV-curable materials that are soluble in water or other solvents or wax-based materials that can be removed by melting. After the printing process is completed, parts are typically post-processed. For example, support material may need to be removed. The parts might also need to be post-processed to improve their mechanical or thermal properties. This may include thermal treatment and/or 15 additional UV exposure. In many cases inks may include additives. These additives include colorants in the form of dyes or pigments or the mixture of pigments and dyes that are dispersed or dissolved in the ink. Surfactants may also be used to adjust the surface tension of the ink for improved jetting or printing performance. In addition, other types of particles or additives may be used in 20 order to enhance the mechanical, thermal or optical characteristics of the cured resin. SUMMARY Determining control inputs to a printer to yield a desired object may be informed by a model of the printing process and/or a policy that maps observations of the printing process to the control inputs. In some embodiments such a model and/or policy is updated during the - 3- Attorney Docket No.30232-027WO1 printing process (e.g., during fabrication of one object, between fabrications of different objects, etc.) to maintain high accuracy by adapting to any changes that may not have been adequately incorporated into the control of the printing process earlier. At least some embodiments make use of machine-learning techniques to implement the 5 model of the printing process and/or the policy for the printing process. For example, artificial neural networks, which may be implemented in software and/or using custom or special-purpose hardware, may be used to implement the model and/or policy. The determination of control based on a model may make use of a planning approach, in which the effect of one or more printing steps (e.g., one or more added layers) is predicted and a 10 search for the best next control of a printing step is determined. Reinforcement Learning (RL) approaches may be used to determine control inputs (i.e., “actions”) based on observations of the object being printed, for example, observations that are based on surface geometry and/or surface material of the partially fabricated object. RL based techniques may use “simulated experience” that predicts printing results to improve a 15 policy and possibly discover policies that are not typically implemented based on human input alone. In one aspect, in general, a method is used fabricating a 3D object that an object specification via a printer. The method includes receiving sensor data characterizing a first partial fabrication of the 3D object. Printer commands are determined for causing the printer 20 to fabricate a first incremental portion of the 3D object on the first partial fabrication of the 3D object. This determining depending on a simulation of a printing process, the sensor data, and the object specification. The printer is caused to fabricate the first incremental portion of the 3D object of the first partial fabrication according to the printing process using the printer commands to yield a second partial fabrication. 25 Aspects can include one or more of the following features. - 4- Attorney Docket No.30232-027WO1 The determining of the printer commands for causing the printer to fabricate a first incremental portion comprises processing data that depends on the sensor data and data that depends on the object specification using a policy to yield the printer commands for the first incremental portion of the 3D object. 5 The method includes using a Reinforcement Learning procedure to update at least one of the simulations of the printing process and the policy for yielding printing commands. The policy comprises a second artificial neural network. The method includes updating the second artificial neural network using at least one of data determined from sensor data received characterizing the object after fabrication of the 10 first incremental portion and data determined from the simulation of the printing process. The printer commands represent instructions for depositing at least one of a material and an amount of a material at each location of a plurality of locations on a surface of the first partial fabrication of the 3D object. The simulated printing process comprises an artificial neural network. 15 The artificial neural network of the simulated printing process comprises a convolutional neural network representing a physical phenomenon of the printing process. After the printer fabricates the first incremental portion, and after receiving sensor data characterizing the second partial fabrication of the 3D object, the artificial neural network of the simulated printing process is updated based on said sensor data. 20 The determining of the printer commands comprises simulating fabrication of an incremental portion of the 3D object according to a plurality of candidate printer commands, and selecting the printer commands for the first incremental portion from the candidate printer commands. - 5- Attorney Docket No.30232-027WO1 The determining of the printer commands comprises simulating fabrication of sequences of multiple incremental portions of the 3D object according to a plurality of candidate sequences of printer commands, and selecting the printer commands for the first incremental portion from one of the candidate printer commands. 5 The determining of the printer commands comprises determining a corresponding reward value resulting from each simulating fabrication of an incremental portion of the 3D object according to a plurality of candidate printer commands, and selecting the printer commands for the first incremental portion according to the determined rewards. The simulating of the fabricating of the incremental portion according to candidate 10 printer commands comprises processing the candidate printer commands using an artificial neural network. The candidate printer commands comprise an array of jet commands for printing locations on the 3D object. The processing of the candidate printer commands comprises processing the printer 15 commands in combination with data determined from the sensor data. The data determined from the sensor data comprises surface geometry data. An output of the artificial neural network represents a surface geometry resulting from the simulated fabrication of the first portion. In another aspect, in general, a method for fabricating a 3D object having an object 20 specification via a printer includes maintaining configuration data for a policy (e.g., stored values characterizing the policy) for processing an input depending on sensor data characterizing a partial fabrication of the object and input depending on the object specification to yield printer commands (e.g., commanded actions). Sensor data characterizing a first partial fabrication of the 3D object is received. Printer commands for - 6- Attorney Docket No.30232-027WO1 causing the printer to fabricate a first incremental portion of the 3D object on the first partial fabrication of the 3D object are determined using the policy with inputs comprising an input depending on sensor data characterizing the first partial fabrication of the object and an input depending on the object specification. The printer is caused to fabricate the first incremental 5 portion of the 3D object of the first partial fabrication according to the printing process using the printer commands to yield a second partial fabrication. the maintaining of the configuration data includes updating the configuration data for the policy based on at least one of a simulation of the printing process and sensor data characterizing the second partial fabrication of the object. 10 Aspects can include one or more of the following features. Updating the configuration data for the policy comprises using a Reinforcement Learning procedure. At least one of the policy and the simulation of the printing process are implemented using an artificial neural network. 15 In another aspect, in general, a method for fabricating a 3D object includes, during at least some iterations of a plurality of iterations of incremental fabrication of a multi-material three-dimensional object according to a fabrication process, receiving sensor data characterizing a partial fabrication of the object resulting from incremental fabrication prior to a current iteration, the partial fabrication representing at least a geometry of a top surface 20 of the partial fabrication of the object, and variation of material composition over the top surface. Values of parameters of a fabrication model of the fabrication process are updated based on printer commands issues in prior iterations and respective sensor data received after execution of the printer commands of the prior iterations. Values of parameters of a print command planner for determining printer commands are updated based on at least one of the 25 fabrication model and the sensor data received for one or more prior iterations. During each - 7- Attorney Docket No.30232-027WO1 iteration of the plurality of iterations, the print command planner is used to determine printer commands for the execution in the iteration based on a representation of the 3D object. Incremental fabrication of the object is then caused to use the determined printer commands. Aspects can include one or more of the following features. 5 Updating the values of the parameters of the print command planner at an iteration includes performing one or more simulated iterations comprising determining a sequence of one or more printer commands, simulating incremental fabrication of an object according to the printer commands and the fabrication model, and determining simulated sensor data resulting from the simulated incremental fabrication. 10 The values of parameters or the print command planner are updated according to results of performing the plurality of simulated iterations. Updating the values of the parameters of the print command planner includes performing multiple simulated iterations the sequence of one or more printer commands comprises a sequence of multiple printer commands. 15 The sequence of multiple printer commands comprises commands for deposition multiple layers of material. Updating the values of the parameters further includes selecting the sequence of multiple commands according to the print command planner. The print command planner provides as output printer commands that specify, for a 20 plurality of locations across the top surface of the partially fabricated object, material ejection commands for jetted addition of multiple materials. Updating the values of the parameters of the print command planner includes selecting the parameters to improve an overall quality of the fabricated object. - 8- Attorney Docket No.30232-027WO1 The fabrication model represents at least one of material flow and material mixing of multiple materials at locations of material transitions, and wherein the print command planner is determined to mitigate flow and mixing at the location of material transitions. The print command planner implements at least one of depositing material to yield non- 5 uniform material layers and depositing one material in advance of another material near material transitions. The multiple materials comprise a removable support material and a curable build material, and the print command planner is determined to improve a quality of a resulting outer surface of the build material. 10 Updating the values of the parameters of the fabrication model responds to at least one of changes in geometric calibration of jets used to deposit material and the partially fabricated object and changes in material characteristics that occur during fabrication of the object. Updating the values of the parameters of the print command planner comprises updating 15 said parameters to advance printing as fast as possible. Updating the values of the parameters of the print command planner comprises updating said parameters to keep the top surface of the partial fabrication as flat as possible. Updating the values of the parameters of the print command planner comprises updating said parameters according to a trade-off between the flatness of the top surface of the partial 20 fabrication and printing speed. Updating the values of the parameters of the print command planner comprises updating said parameters to keep variation of the top surface of the partial fabrication within a range limit. - 9- Attorney Docket No.30232-027WO1 Updating the values of the parameters of the fabrication model includes updating an estimate the amount or a variability of an amount material being deposited by a jet or printhead during printing. The printer planner adjusts printer commands according to a desired amount of material 5 to be deposited via the jet or printhead. Updating the values of the parameters of the fabrication model includes responding to at least one of nozzle rotation and nozzle failure. In another aspect, in general, a non-transitory machine-readable medium comprises instructions stored thereon. Execution of said instructions by a processor causes performance 10 of all the steps of any one of the methods set forth above. In another aspect, in general, an additive manufacturing system comprises a controller configured to cause the system to perform all the steps of any one of the methods set forth above. Other features and advantages of the invention are apparent from the following 15 description, and from the claims. DESCRIPTION OF DRAWINGS FIG.1 is a block diagram of a feedback-based fabrication system. FIG.2 is a block diagram of a controller that uses a fabrication model. FIG.3 is a block diagram of a controller that uses a policy model. - 10- Attorney Docket No.30232-027WO1 DESCRIPTION 1 OVERVIEW A number of embodiments addressed in this document use various techniques in a feedback arrangement to yield accurate additive fabrication. In general, these embodiments 5 are based on machine learning approaches. Some of the approaches described herein are introduced in U.S. Patent 10,769,324, and some of those approaches are extended with additional techniques described herein. Yet other embodiments are introduced in this document. Referring to FIG.1, embodiment described below can be represented by a general 10 framework in which an object (or more generally a set of objects) with a reference data representation (also referred to as a “model”) m ref 110 is to be fabricated using an additive fabrication system 130 to yield a fabricated object 140. The system 130 includes a printer 132, which is controllable to deposit material to form the object, and a scanner 134, which provides feedback observations 135 regarding how the material has been deposited. The 15 scanner feedback is fed back to a controller (also referred to as an “agent”) 120, which processes the model 120 and the feedback 135 to select a next actions 125 to command the system 130 to incrementally add material to the partially fabricated object 140. Very generally, the printing is performed in a series of increments, which in many of the embodiments correspond to thin layers that are successively deposited to ultimately form the 20 object. In this incremental approach, the t th increment has a corresponding control input (also referred to as an “action”) a t that is provided to the system by the controller. After acting on that control input, the system provides a next observation ot + 1 of the partially fabricated object that results from that action. Very generally, the controller (e.g., a print command planner) makes use of the reference data and the history of the actions and 25 observations to determine the next action (e.g., print command) to send to the system. The - 11- Attorney Docket No.30232-027WO1 system in combination with the object being fabricated can be considered to be the system environment with which the agent interacts. The machine learning techniques described herein are applicable to a variety of forms of printing approaches and corresponding control inputs, and sensing approaches and associated 5 observations. The approaches are described below before describing the machine learning techniques that may be applied 1.1 Printer At least some embodiments make use of jetted additive fabrication in which material is deposited in thin layers, which cure or otherwise solidify sufficiently before subsequent 10 layers are formed on top of them. Generally, there is at least one curable “build” material (e.g., a polymer) from which the ultimately desired object is formed, as well as an ultimately removable support material (e.g., a wax) that together form the object being fabricated. More generally, there may be multiple different build materials, and optionally curable materials that are ultimately removed, used to yield the desired object. Example systems for this type 15 of fabrication are described in U.S. Patents 10,252,466, 10,456,984, 10,926,473, and 11,518,109. In at least some embodiments, the printer 132 is controllable to deposit material in particular locations on the object. For example, a set of jets pass continuously over the object, with each jet travelling in an x direction at a particular offset in a perpendicular y direction. 20 Each jet is controllable to emit material at particular offsets in the x direction. In some examples, the x× y plane is divided into rectangular cells, and the control input for a layer to be deposited identifies which cells should have material emitted, and which cells should be omitted. That is, the control input can be represented as a 1-0 array of “on-off” indicators. Each material (e.g., support material and each build material) has a separate such array. In 25 some embodiments, the amount of material that is desired to be emitted is specified in the - 12- Attorney Docket No.30232-027WO1 control input, for example, rather than specifying an on-off input, for each material in each cell the control input affects the amount of material to be emitted using a discrete or continuous indicator. For example, the indicator may be a numerical value between 0.0 and 1.0 indicating the desired fractional amount of material that is desired to be emitted. 5 Therefore, the control input in such examples has characteristics of a binary or continuous multichannel image (e.g., analogous to a color image). In some embodiments, rather than an indicator directly representing the fractional amount of material that is desired to be emitted at each location, the indicator may represent a characteristic of control of the jet and only indirectly represents the amount of material to 10 be emitted. In some examples, the jets are electrically controllable “drop-on-demand” jets, and each of the selectable characteristics have a corresponding electrical control (e.g., a control waveform). For example, in the case of such electrically excited piezo-electric jets, the characteristic of excitation may be a continuous quantity such as an amplitude of an excitation waveform, or timing of the waveform (e.g., rise time, dwell time, fall time), or 15 may be a discrete quantity such as the number of excitation pulses, or may be an enumerated quantity to select from a set of pre-specified excitation waveforms. In some examples, the locations of emissions along the path of a jet in the x direction is finely controllable, with the control input specifying the locations in the x direction where to emit material, not necessarily constrained to be on a grid on which the desired output is 20 specified. As an example, the control input may be specified in an array that is more finely divided in the x direction than the input, possibly with a constraint on how frequently material may be emitted (i.e., repeated emissions at the fine scale may be prohibited or physically impossible.) Note that in some embodiments, additional control inputs may be global to a layer being 25 deposited, for example, representing a control value for a printhead such as a pressure, - 13- Attorney Docket No.30232-027WO1 temperature, or parameter of a control waveform for the jets. Furthermore, a printer may have additional controllable components, such as a controllable cooling component as described in U.S. Patent Application 17/085,376, that has a set of controllable cooling elements disposed above the object being fabricated, for example, forming a linear cooling 5 element (e.g., fans, ducts, etc.) extending in the y direction or a two-dimensional cooling element having a grid of such cooling elements. In such a case, the control input may include the degree of cooling to be applied at different locations on the surface of the object. As may be appreciated, the emission of material to form the object has a wide variety of unpredictable aspects, including for example, the amount of material emitted, the trajectory 10 toward the surface of the object being fabricated, the fluid properties (e.g., flow, mixing) when the material reaches the surface of the object, solidifying (e.g., curing, phase change, etc.) of the material. Furthermore, there may be systematic inaccuracies, for example, with a systemic error between a location where the printer is instructed to emit material, and the actual location where it is deposited. Therefore, as described below, the controller is designed 15 to take into consideration such variability when determining a control input. 1.2 Scanning A number of different sensing (also referred to as “scanning”) approaches may be used to generate the observations of a partially fabricated object that are fed back to the controller. Generally, these observations provide dimensional information, material information, and/or 20 thermal information as a function of location. One form of such an observation is an array of height measurements of the object as a function of location cells or quantized locations in the x× y plane which may be represented as z ( x , y ) . For example, the array has cells that have the same dimensions and locations as the cells of the control input, but such a direct correspondence is not required (e.g., there may 25 be a greater resolution or a lower resolution as compared to the control input). - 14- Attorney Docket No.30232-027WO1 In some embodiments, the observation includes a characterization of the uncertainty of the measurement. For example, in the case of height measurements, an observation for a location may include both a height estimate or expected value (e.g., a mean z ( x , y ) of a probability distribution and an uncertainty (e.g., a variance or standard deviationσz ( x , y ) ) 5 for that measurement. In some embodiments, each observation includes an array of material determinations. For example, in the case of two materials, each location may have associated with it a determination of which material is present in the top layer at that location, or may have an estimate of the fraction of or the probability that each material is present at that location. For 10 example, techniques such as described in U.S. Patent 10,926,473 using material-dependent emissions from the surface of the partially fabricated object may be used to distinguish materials. In some embodiments, each observation includes an array of thermal measurements, for example, providing the temperature as a function of location, for example, as described in 15 U.S. Patent 11,518,109. The forms of observations above generally represent an estimate of geometric and/or material properties. Alternatively, underlying measurement from a sensor are provided as observations rather than such an estimate derived from the underlying measurements. For example, in the case of use of Optical Coherence Tomography (OCT) for sensing surface 20 geometry, rather than estimating the surface location based on a peak in the coherence signal (e.g., a peak in the Fourier Transform of an interference signal of a spectrally dispersed signal) to yield a height estimate of the object, samples of the interference signal or its Fourier transform are provided for each location of the object, thereby permitting the controller to incorporate the inherent uncertainty of the height measurement in its control 25 policy. - 15- Attorney Docket No.30232-027WO1 As another example, when using laser profilometry in which an imaging sensor (e.g., a camera) detects illumination of an object by a swept laser (e.g., an illumination plane) and thereby determines a height of an object based on the peak illumination, samples of intensity from the imaging sensor (e.g., at multiple pixel locations) are included in the observation. 5 As another example, when determining the material that was deposited on a top layer of an object based on different spectral characteristics of emission (e.g., scattering or fluorescence of the material or additives in the material) rather than explicitly accounting for the reflection properties that depend not only on the material of the top layer but also the material below the top layer, the observation provides the spectral measurements made at 10 each location are provided directly, and the controller may incorporate a history of such measurements in its control policy. In some embodiments, the observations can include measurements of the jetting process itself, for example, using cameras that observe the emitted material droplets. For example, observed drop size, shape, or location at a particular time after ejection, may provide yet 15 other feedback as a function of location. For example, such measurements may provide implicit feedback of material properties such as viscosity or surface tension, or ejection characteristics such as velocity, which the controller can incorporate in its policy. The observation may also include more global measurements, such as an ambient temperature of the printer environment, temperature of specific printheads, age or time since 20 last cleaning of the printheads, and the like. 1.3 Control Policy Framework The controller implements a print command planner using a policy that maps the inputs received by the controller to an output action (e.g., printer commands) that it provides as the control input to the printing system 130 introduced above with reference to FIG.1. At least 25 conceptually, after t − 1 increments (i.e., layers) have been deposited in partial fabrication of - 16- Attorney Docket No.30232-027WO1 the object and the scanner has provided feedback as a result of depositing that layer, the controller has available to it the reference m ref specifying the model of the object to be fabricated, as well as the entire history of observations o 1, o 2 ,… , o t received from the printing system and the entire history of actions a 1, a 2 ,… , a t − 1 that have been issued to the 5 printing system by the controller.
Figure imgf000019_0001
In practice, the controller makes use of a summary of the available information at time t when making a determination of what the next action should be. The nature of this summary may differ from embodiment to embodiment described below. In at least some examples, this summary is represented as a “state” of the system s t at time t (i.e., after issuance of the 10 action at − 1 to the system and its acting of that action as the control input for the t − 1 increment, changing the state of the system. The state forms a sequence s 0, s 1 ,… , s t , which in at least some examples forms a Markov Chain, which has the property that s t completely summarizes the history up to time t (i.e., the time just prior to issuing the action a t for the t th layer and no additional information from that history would yield a different (i.e., better) 15 selected action by the controller. In some embodiments, the controller cannot make a definitive determination of the state of the system, for example, because of inherent uncertainties in the measurements provided by the system. In embodiments described below that explicitly account for such uncertainties, the controller cannot determine (i.e., observe) the state s t on which to decide the action a t . That is, the true state is “hidden.” Instead, the 20 controller can rely on a “belief” b t of that state. This belief can encode the known uncertainty of the state, for example, in the form of a probability distribution over the set of possible hidden state values. By way of example, as used in at least some embodiments described below, one choice of a state s t of the system can be represented as the height map of the partially fabricated 25 object in the form of an array of height values as a function of coordinates (e.g., cells) in the x× y plane, as well as the remaining part of the reference model, denoted mt ref that has not - 17- Attorney Docket No.30232-027WO1 yet been fabricated, for example, defined by “slicing” the reference model at the height of the partially fabricated object and ignoring all that is below that slice. That is, use of this state definition inherently assumes that nothing but the height of the partially fabricated object can affect the future fabrication of the object. 5 In the discussion below, examples are described in terms of the height of the partially fabricated object, for example, based on a frame of reference corresponding to the model reference. Alternatively, as the partially fabricated object is lowered as successive increments are deposited on its top surface to maintain a desired separation of the jets and the top surface of the partially fabricated object, the height of the partially fabricated object and the 10 remaining part of the reference model are represented in a reference frame that is fixed relative to the height of the jets. Therefore, the control policy is largely or completely insensitive to the actual height of the partially fabricated object and depends on what is left to fabricate, and characteristics of relatively recently added increments of the partially fabricated object. In some alternative embodiments, the amount to lower a partially 15 fabricated object before starting a pass of depositing material is itself part of the action that is commanded for a layer. In one example of a policy, the controller selects the action to result in depositing a planar layer of material on the object (i.e., yielding a planar top surface), with the selection of material for each cell being defined by the material along the slice at the bottom of the 20 remaining part of the reference. That is, the control input can be in the form of a multichannel binary image with indicating which material (i.e., corresponding to a channel) to deposit at each location, for example, support material versus build material. Such a policy can be represented as a deterministic function of the state at =pi ( s t ) . This policy is similar to the approach described in U.S. Patent 10,456,984. - 18- Attorney Docket No.30232-027WO1 As an example where the state may not be fully observable, as used in at least one embodiment described below, if the height of the partial fabrication is not necessarily known with certainty, a belief b t may incorporate a mean (i.e., and estimate) of the height at each location as well as a variance (i.e., a measure of uncertainty of the estimate). 5 The general formalism used below is to view the change of state as a result of applying an action as a random function, which may have a distribution that is a function of the previous state as well as the action applied in that state. This randomness may be represented as a conditional probability distribution p( st+ 1 | s t , a t ) . With this formalism, the controller may choose the action a t that yields the most desirable next state, or an expected value of 10 some function of that next state (i.e., an averaging over possible next states weighting by the probabilities of arriving in that next state). For example, in the context of the state s t representing the height of the object after t − 1 layers, and a t being the instruction for depositing the t th layer, the distribution p( st+ 1 | s t , a t ) represents the variability of the next height based on which material is actually deposited in response to the commanded action a t 15 . In some embodiments, the controller uses a model of the system, for example, a model that yields a distribution of the next state given the present state and the selected action. In one such embodiment described below in which the state s t represents the height of the partially fabricated object after having applied the first t − 1 layers, the model represents a 20 distribution of the achieved height for any chosen action a t . For example, if a t represents which material to deposit at each location (cell) during the t th layer for example as one array for each material with indicators of the locations where that material is to be deposited. The model takes a t as well s t representing the height at each location prior to depositing the layer, and yields the distribution of the height at each location (e.g., a mean and variance of 25 the height) resulting from the printing of a layer according to that action. - 19- Attorney Docket No.30232-027WO1 There are at least some embodiments in which the action a t is selected from a set of possible actions, for example, according to a distribution of such action. In such embodiments, rather than defining the action as a deterministic function of the state as at =pi ( s t ) , the policy defines a probability distribution over the actions that may be selected, 5 represented as pi (at | s t ) . There are at least some embodiments in which the action a t is selected according to a “value” of the next state, V( st + 1 ) , or in the case that there is uncertainty in the next state, according to an expected value of the next state, denoted E( v ( st + 1 )) . The value may be a numerical quantity, and the algebraically greater that qu
Figure imgf000022_0001
, more desirable (i.e., 10 “better”) that next state is. In at least some embodiments, taking an action a t yields a “reward” r t , which may be represented as a numerical quantity that is algebraically greater if the action is desirable or increases the desirability or expected desirability of the ultimate object being fabricated (e.g., because it has higher dimensional accuracy) and is algebraically smaller, for example, if it is 15 undesirable or consumes a resource. As an example, a reward r t may represent a tradeoff between incremental dimensional accuracy of the object by virtue of depositing a layer (e.g., a positive contribution to the goal) and a time to completion of the fabrication (e.g., a negative contribution for thin layers that may require additional layers to complete the object, and therefore require additional fabrication time). In some embodiments, the reward is a 20 function of the state (i.e., st + 1 determines rt + 1 , or a probability distribution of r t ) while in other embodiments, the reward is a function of the previous state and the action applied at the previous state (i.e., s t and a t together determines rt + 1 or its probability distribution). For example, if st + 1 represents the surface height after issuing the action a t in state s t , although the state may in some embodiments represent the incremental dimensional accuracy, the 25 action a t may be required to represent the thickness (or at least the commanded thickness) of the layer that is deposited to achieve that height. In at least some embodiments, the value of a - 20- Attorney Docket No.30232-027WO1 next state is related to the sequence of future rewards (e.g., a sum into the future, or a discounted sum into the future). 2 DIMENSIONAL MODEL BASED CONTROL A number of embodiments can be used in a situation in which observations from the 5 printing system represent surface height of the partially fabricated object, but do not necessarily provide information about what material is present at different locations and/or locations of material transitions. Referring to FIG.2, a first such embodiment makes use of an observation o t 135 that represents an accurate measurement of the height of the partially fabricated object, denoted 10 zt ( x , t ) 235, which acts as the state s t . The control policy in this embodiment is based on a recognition that it is desirable to have as level a top surface of the object as possible after each layer is deposited, in particular with the top surface being as planar as possible and as parallel as possible to the x× y motion plane of the printing system. One reason that such a level surface is desirable is that it permits positioning the printheads very close to the object 15 (e.g., by raising the build plate vertically toward the printheads), which may have desirable properties such as higher positional accuracy of the depositing of material, or increased consistency of material properties due to the short time that the material is “in flight” before it reaches the object during which the material may change properties (e.g., if the material is a curable polymer and an initiator to the curing is added in the printhead before jetting). 20 The absolute range of height over the surface provides one characterization of how level the top surface is, for example, the difference between the maximum height and the minimum height over the surface. Another characterization of how level the surface is is the square root of an average squared deviation from a mid-height of the layer, average absolute deviation from a mid height or a top height of the surface, and the like. Because lower - 21- Attorney Docket No.30232-027WO1 variation is desirable, the negative of such a characterization of variation is a suitable component of a reward. This component is denoted r (level )( s t + 1 ) . Another factor that may be considered in selecting the action is the expected amount of material that will be deposited. For example, the final object has a fixed amount of material 5 and therefore the amount of material deposited in a particular layer represents a factional degree of progress toward fabrication of the overall object. The more material that is deposited per layer, the fewer layers are needed, and therefore the fabrication time is reduced. In the case of binary control of jets, the expected amount of material may be based on the number of “on” cells for each material, possibly accounting for different volume per 10 “drop” (i.e., controlled emission at a cell location). This component is denoted r (material ) ( a t ) below. A weighted combination of the negative of a characterization of the variability of the height of the surface and the (positive) amount of material that is deposited is used as a reward rt + 1 (i.e., a characterization of the expected reward after acting on the command a t ). 15 With the state representing the height of a surface, note that the reward depends on both the next state (st + 1 ) via the variation in the achieved next height as well as on the action via the amount of material that is deposited in the layer yielding that next height. In some examples, a model representing a change of state from a state s t to a state st + 1 with an action a t makes use of a fabrication model 250, which in this embodiment is 20 implemented using a neural network. The input to the neural network is an array of the measured height zt ( x , y ) at locations after depositing the first t − 1 layers (i.e., o t 135), as well as a candidate commanded action at (k ). 225, which includes the multiple channels 226- 227 of jet instructions to deposit material at each of the locations. For example, if there are two materials, for every location in the x× y plane, there are three values that are input: the 25 height before application of the t th layer, and the commanded indicator or amount for each - 22- Attorney Docket No.30232-027WO1 of the materials. The output of the neural network 250 characterizes a distribution of the resulting height via an expected next height at each location x (x , y ) , as well as a variance of the height at that location σz 2 ( x , y ) . For each of these locations, this yields a probability distribution of height at that location (i.e., a distribution of one component of the next state). 5 That is, there are two “channels” of output, with the dimension of the output being the same as the dimension of the input (i.e., each cell has one set of channels as input, and one set of channels as output). One form of the neural network 250 for this model makes use of a convolutional neural network (CNN) using convolutional kernels with sizes that are commensurate with the 10 physical effects that contribute to variation in height of a layer. For example, there are multiple (e.g., 5-7) such convolutional layers. For example, one physical effect is flow of uncured material, and the size of the kernel is at least as large as the distance that material may flow before it cures. For example, convolutional kernels in some embodiments have overall dimensions corresponding to in the order of 1-2 millimeter (e.g., in the order of 15-30 15 input “pixels”).? An example of a particular form of the neural network 250 processes z (k ) t and a t in separate convolutional sections, and the outputs of those convolutional sections
Figure imgf000025_0001
then combined (e.g., added, stacked) as an input to a third convolutional section that yields the output of the neural network 250. 20 The neural network 250 yields a distribution over the heights that are next achieved. For each such achieved height, the component of the reward related to the height variation (introduced as r (level )( s t + 1 ) above) can be evaluated. One approach to computing the expected value of this component of the reward is to sample from the distributions of height according to the mean and variance at each location, for example, using a pseudo-random 25 number generator, and for each sample, evaluating the reward. Another approach is to use an - 23- Attorney Docket No.30232-027WO1 analytical approach, for example, assuming that the distribution of height at each location follows a Normal (Gaussian) distribution and evaluating the level-based reward analytically or using cumulative normal distribution tables or approximations. In the embodiment shown in FIG.2, the controller 120 implements a policy that chooses 5 the best action a t that yields the best (i.e., algebraically largest) expected reward rt + 1 based on an iterative search over the possible actions and for each action, considers the resulting distribution of next heights. In this search, a search module 270 selects the material that is applied at each location based on the slice of the model m ref based on the measured height represented by s t . The search module iterates (e.g., indexed by k ) over possible inclusion or 10 exclusion of particular cells in the layer in the case that there is only “on-off” control of jets yielding the possible control at (k ) . A variety of types of searches may be used, including a greedy search in which onl
Figure imgf000026_0001
provements in the expected reward are retained, as well as searches that attempt to more reliably yield more globally optimal results (e.g., by not being trapped in local optima). In some implementations, the search is informed by a gradient in 15 the reward, which may be computed using the neural network model. Ultimately, for example, based on convergence of the expected reward or some other stopping criterion, the search component 270 emits the selected action a t to instruct the system to deposit the next increment of material. There are a number of variants of the embodiment illustrated in FIG.2, for example, 20 differing in the inputs to the model 250. In one variant, the state includes both the height after depositing of t − 1 layers, as well as an indicator of the material at each location. In these embodiments in which the material is not observed by the scanning, the material that was instructed to be deposited at each location in the most recent printing pass is essentially used as a proxy. With this definition of state, the model takes as input additional channels at − 1 to 25 yield the mean and variance of the next height after depositing the layer according to a t . One reason to include this additional information in the state is that certain combinations of - 24- Attorney Docket No.30232-027WO1 materials interact in different ways (e.g., according to whether they are hydrophobic or hydrophilic), and this interaction can affect the flowing and mixing before curing. In variants in which there is control of the amount of material that is emitted, for example, by control of an excitation waveform for each jet, the search may be over the discrete set or range of 5 parameters for such controls. In another variant, the search can look ahead more than a single increment. For example, multiple applications of the model can take a possible sequence of τ future actions, a ( k ),… , ( k ) t a t+ τ − 1 can iteratively apply to the model to yield successive height distributions and corresponding rewards, and from that an accumulation (e.g., sum, discounted sum) of the 10 rewards. Then next command a t is then selected as the first command from the τ step look ahead. The approach illustrated in FIG.2 uses a parameterized model 250, for example, with the parameters including the weights of convolutional kernels of the neural network. One way to determine values of these parameters is “offline” prior to fabricating an object using a15 training corpus that has corresponding inputs (i.e., z t and a t ) and resulting heights (i.e., zt + 1 ). In addition, “online” training can be used based on data collected during the fabrication of the object, for example, adapting a previouslytrained model to more closely match the fabrication conditions for the particular object being fabricated. 3 CONTROL POLICY 20 As may be recognized, the iterative search procedure illustrated in FIG.2 may be somewhat computationally expensive. Referring to FIG.3, an alternative is to determine a policy 350 that takes as input the measured heights z t 235 as well as the materials m t 215 to be deposited at that height based on the slicing of the reference model m ref 110 and to deterministically select the next action a t 355. Such a deterministic policy may be denoted - 25- Attorney Docket No.30232-027WO1 at =pi ( s t ) , where the state s t includes both the measured height z t and the materials m t to deposit at that height in the model. One way of determining the values of parameters characterizing the policy 350 is to use the results of applying the search procedure illustrated in FIG.2. That is, the policy is 5 designed to approximate the iterative search. As such, the policy depends on an estimate fabrication model 250. Therefore, the policy effectively attempts to provide as high a reward as possible (or accumulated reward in the case of using a multi-step lookahead) without the need to perform a search. In a variant of the policy-based approach illustrated in FIG.3, a “non-deterministic” 10 policy may be used. In such a variant, the policy defines a conditional probability distribution pi (at | s t ) , and the actual action with which the system is commanded is selected from that distribution. For example, the policy may be implemented as a convolutional neural network similar to the neural network 350 of FIG.3 with an additional random input, for example, an additional input “channel”ω t with an array of independently chosen pseudo-random values 15 (e.g., as at =pi ( s t , ω t ) ). Alternatively, a neural network can take s t and a t as input, and produ
Figure imgf000028_0001
ue as output representing the probabilitypi (at | s t ) . One way of training such neural networks representing non-deterministic policies is to match values of actually achieved rewards in a training corpus. 4 REINFORCEMENT LEARNING 20 A number of policy-based embodiments make use of parameterized deterministic or non-deterministic policies, for example, as shown in FIG.3, with values of the parameters being determined using one of a variety of techniques within a class of techniques generally referred to as “Reinforcement Learning,” for example as described in the textbook Reinforcement Learning by Sutton and Barto (MIT Press, 2020 Second Edition). - 26- One such approach, in the context of the dimension-based control described above, uses a parameterized “value” function V ( st ) , which represents an estimate of the future rewards that may be accumulated starting at state s t and selecting actions at, a t + 1 , … based on a policy implemented by the controller. That is, the value function depends on the policy. In the context of s t representing the surface geometry zt ( x , y ) as well as the remaining model of the object being fabricated, the value function represents the accumulation (e.g., summation or discounted summation) of the rewards that may be achieved. For example, this accumulation provides a tradeoff of the number of increments that need to be added and the “flatness” of the increments. One policy that makes use of such a value estimate is to search for the action a t that yields the best (e.g., algebraically greatest) value of V( st + 1 ) . That is, in FIG.2, the reward determination component 260 is replaced with a value determination component that outputsV( st + 1 ) or the expectation of that value, rather than the next reward rt + 1 or its reward. In this way, an explicit multi-step lookahead is not required because the effect of the future rewards is incorporated into the value function. The values of the parameters of the value function in some embodiments are determined, at least in part, based on the fabrication model. That is, a simulation of fabrication using the model, and the resulting rewards, is used to determine a value function that is consistent with that simulation. One particular way of updating the value function is to use an approach referred to as “temporal different learning.” The basis of such learning is the observation that the difference between the value functions V ( st ) and V( st + 1 ) should reflect the actual reward rt + 1 resulting from the policy that determines the action a t based on the state s t . That is, in the case of discounting the future rewards by a factor γ per time step, updating of the values of the parameters of the value function strives to drive differences (rt+1+γ V( s t + 1 ) ) − V ( s t ) to zero, for example, using a gradient updating procedure. There are a number of reinforcement learning (RL) procedures that update values of parameters of a fabrication model, a policy, a value function, and/or various related functions (e.g., “Q” functions), based on a prior training corpus as well as observations that are collected online during fabrication. In one such approach, parameters of a fabrication model are estimated or updated during fabrication, thereby matching the particular conditions relevant to the fabrication of a particular object. This model is then used to update a policy (or related value function), for example, by simulation of fabrication scenarios using a Monte-Carlo simulation approach. Such updates may be used in conjunction with updates based on actual observations, either in the current object fabrication, or in a corpus from prior observations. 5 FEEDBACK INFORMATION Approaches described above focus on feedback of geometric properties such as surface height and use of smoothness of the surface as a being related to quality of the desired object that is fabricated, in at least some embodiments the quality of the object may be more directly determined from the observations. For example, when the observations provide material information in the form of a fractional composition or probability or presence of each material as a function of surface location, the reward can represent an incremental quality of the object achieved by each added increment. As one example, overall quality of the object may be represented to be highest if the outer surface of the desired object (e.g., the boundary between support material and build material) matches the target shape of that surface in the reference model. One way to define a reward that incorporates such quality introducing a component of the reward that when accumulated over increments provides an average or sum (e.g., integral) of deviation of the location of the transitions (e.g., the outer surface of the desired object formed inside the support material) as compared to the reference model. As another example, a smoothness of the outer surface may be used as an alternative or additional term in the reward such that rapid changes in the transition location between materials from increment to increment are penalized because they correspond to a rough surface. Other material-related terms may be added to the reward function, for example, related to internal material transitions or fractional compositions within the desired object, for example, between different build materials. Note that when using the surface accuracy or smoothness of the ultimately fabricated desired object, it may not be necessary to include a term in the reward corresponding to the planar nature of the top surface of the object. For example, exploration of fabrication policies may include intentionally depositing non-planar increments may yield a policy that intentionally yields such non-planar increments. For example, exploration of fabrication policies may include depositing non-uniform material layers (e.g., depositing a thicker layer in a bulk of an object as compared to depositing thin layers near fine features) and depositing one material in advance of another material near material transitions (e.g., depositing support material that hardens in advance of depositing build material that flows to the support material in a subsequent layer). Using the reinforcement learning formulation and a well- estimated fabrication model, a wide variety of fabrication policies may be explored in simulation, thereby discovering fabrication policies that may not have been anticipated by human design and that may be particularly tailored for materials and combinations of materials used in fabrication of an object. 6 ALTERNATIVE TECHNIQUES A wide range of Reinforcement Learning (RL) approaches may be used in conjunction with the techniques described above, including model-based (also referred to as “model learning”) and model-free (also referred to as “direct”) techniques. Also, a combination of updating a model of the printing process as well as updating a policy for controlling the printing process in what may be referred to a “Dyna” architecture may be used. Such an approach may be robust to changes in the printing process, for example, because of variations in the printing materials, and physical changes that might affect calibration. Such approaches may improve with experience, and in the case of techniques with models of the printing process, may improve with simulated experience which examine a wide range of policies for controlling the printer. Note that rather than using processed versions of scan data in which height and/or material is explicitly represented, raw measurements, such as images from a laser profilometer or interference signals from an optical coherence tomography based scanner are provided as input and color and intensity data from scanning of materials (e.g., which may have different additives to yield different colors during scanning), for example, as input to a policy. In such approaches, uncertainty in height estimates is essentially incorporated in the internals of the policy evaluation component. Similarly, aggregation of multiple scans (e.g., from successive layers) is the effectively incorporated into the policy evaluation. 7 IMPLEMENTATIONS Implementations of the controller may use a hardware processor that executes instructions, which are stored on a non-transitory machine-readable medium. For example, the processor may be a general-purpose processor, or a special-purpose processor for instance a graphics processing unit (GPU). Some implementations may use circuitry such as application-specific integrated circuits (e.g., ASICs) and/or field programmed circuitry (e.g., FPGAs) in addition or instead of hardware processors. A number of embodiments of the invention have been described. Nevertheless, it is to be understood that the foregoing description is intended to illustrate and not to limit the scope of the invention, which is defined by the scope of the following claims. Accordingly, other embodiments are also within the scope of the following claims. For example, various modifications may be made without departing from the scope of the invention. Additionally, some of the steps described above may be order independent, and thus can be performed in an order different from that described. .

Claims

What is claimed is: 1. A method for fabricating a 3D object having an object specification via a printer, the method comprising: receiving sensor data characterizing a first partial fabrication of the 3D object; determining printer commands for causing the printer to fabricate a first incremental portion of the 3D object on the first partial fabrication of the 3D object, the determining depending on a simulation of a printing process, the sensor data, and the object specification; and causing the printer to fabricate the first incremental portion of the 3D object of the first partial fabrication according to the printing process using the printer commands to yield a second partial fabrication.
2. The method of claim 1, wherein the determining of the printer commands for causing the printer to fabricate a first incremental portion comprises processing data that depends on the sensor data and data that depends on the object specification using a policy to yield the printer commands for the first incremental portion of the 3D object.
3. The method of claim 2, further comprising using a Reinforcement Learning procedure to update at least one of the simulation of the printing process and the policy for yielding printing commands.
4. The method of any of claims 2 and 3, wherein the policy comprises a second artificial neural network.
5. The method of claim 4, further comprising updating the second artifical neural network including updating said second artifical neural network using at least one of data determined from sensor data recieved characterizing the object after fabrication of the first incremental portion and data determined from the simulation of the printing process.
6. The method of any of claims 1 through 5, wherein the printer commands represent instructions for depositing at least one of a material and an amount of a material at each location of a plurality of locations on a surface of the first partial fabrication of the 3D object.
7. The method of any of claims 1 through 6, wherein the simulated printing process comprises an artificial neural network.
8. The method of claim 7, wherein the artificial neural network of the simulated printing process comprises a convolutional neural network representing a physical phenomenon of the printing process.
9. The method of claim 7, further comprising, after the printer fabricates the first incremental portion, and after receiving sensor data characterizing the second partial fabrication of the 3D object, updating the artificial neural network of the simulated printing process based on said sensor data.
10. The method of any of claims 1 through 9, wherein the determining of the printer commands comprises simulating fabrication of an incremental portion of the 3D object according to a plurality of candidate printer commands, and selecting the printer commands for the first incremental portion from the candidate printer commands.
11. The method of claim 10, wherein the determining of the printer commands comprises simulating fabrication of sequences of multiple incremental portion of the 3D object according to a plurality of candidate sequences of printer commands, and selecting the printer commands for the first incremental portion from one of the candidate printer commands.
12. The method of claim 10, wherein the determining of the printer commands comprises determining a corresponding reward value resulting from each simulating fabrication of an incremental portion of the 3D object according to a plurality of candidate printer commands, and selecting the printer commands for the first incremental portion according to the determined rewards.
13. The method of claim 10, wherein the simulating of the fabricating of the incremental portion according to candidate printer commands comprises processing the candidate printer commands using an artificial neural network.
14. The method of claim 13, wherein the candidate printer commands comprise an array of jet commands for printing locations on the 3D object.
15. The method of claim 13, wherein the processing of the candidate printer commands comprises processing the printer commands in combination with data determined from the sensor data.
16. The method of claim 15, wherein the data determined from the sensor data comprises surface geometry data.
17. The method of claim 13, wherein an output of the artificial neural network represents a surface geometry resulting from the simulated fabrication of the first portion.
18. A method for fabricating a 3D object having an object specification via a printer, the method comprising: maintaining values for a policy for processing an input depending on sensor data characterizing a partial fabrication of the object and input depending on the object specification to yield printer commands; receiving sensor data characterizing a first partial fabrication of the 3D object; determining printer commands for causing the printer to fabricate a first incremental portion of the 3D object on the first partial fabrication of the 3D object, the determining using the policy with inputs comprising an input depending on sensor data characterizing the first partial fabrication of the object and an input depending on the object specification; and causing the printer to fabricate the first incremental portion of the 3D object of the first partial fabrication according to the printing process using the printer commands to yield a second partial fabrication; wherein the maintaining of the values includes updating the values for the policy based on at least one of a simulation of the printing process and sensor data characterizing the second partial fabrication of the object.
19. The method of claim 18, wherein updating the values for the policy comprises using a Reinforcement Learning procedure.
20. The method of claim 18 wherein at least one of the policy and the simulation of the printing process are implemented using an artificial neural network.
21. A method for fabricating a 3D object, the method comprising: during at least some iterations of a plurality of iterations of incremental fabrication of a multi-material three-dimensional object according to a fabrication process, receiving sensor data characterizing a partial fabrication of the object resulting from incremental fabrication prior to a current iteration, the partial fabrication representing at least a geometry of a top surface of the partial fabrication of the object, and variation of material composition over the top surface, updating values of parameters of a fabrication model of the fabrication process based on printer commands issues in prior iterations and respective sensor data received after execution of the printer commands of the prior iterations, and updating values of parameters of a controller for determining printer commands based on at least one of the fabrication model and the sensor data received for one or more prior iterations; and during each iteration of the plurality of iterations, using the controller to determine printer commands for the execution in the iteration based on a representation of the 3D object, and causing incremental fabrication of the object using the determined printer commands.
22. The method of claim 21, wherein updating the values of the parameters of the controller at an iteration includes: performing one or more simulated iterations comprising determining a sequence of one or more printer commands, simulating incremental fabrication of an object according to the printer commands and the fabrication model, and determining simulated sensor data resulting from the simulated incremental fabrication; and updating the values of parameters or the controller according to results of performing the plurality of simulated iterations.
23. The method of claim 22, wherein updating the values of the parameters of the controller includes performing multiple simulated iterations the sequence of one or more printer commands comprises a sequence of multiple printer commands.
24. The method of claim 23, wherein the sequence of multiple printer commands comprises commands for deposition multiple layers of material.
25. The method of 23, wherein updating the values of the parameters further includes selecting the sequence of multiple commands according to the controller.
26. The method of any of claims 21 through 25, wherein the controller provides as output printer commands that specify, for a plurality of locations across the top surface of the partially fabricated object, material ejection commands for jetted addition of multiple materials.
27. The method of any of claims 21 through 26, wherein updating the values of the parameters of the controller includes selecting the parameters to improve an overall quality of the fabricated object.
28. The method of any of claims 21 through 27, wherein the fabrication model represents at least one of material flow and material mixing of multiple materials at locations of material transitions, and wherein the controller is determined to mitigate flow and mixing at the location of material transitions.
29. The method of claim 28, wherein the controller implements at least one of depositing material to yield non-uniform material layers and depositing one material in advance of another material near material transitions.
30. The method of claim 28, wherein the multiple materials comprise a removable support material and a curable build material, and the controller is determined to improve a quality of a resulting outer surface of the build material.
31. The method of any of claims 21 through 30, wherein updating the values of the parameters of the fabrication model responds to at least one of changes in geometric calibration of jets used to deposit material and the partially fabricated object and changes in material characteristics that occur during fabrication of the object.
32. The method of any of claims 21 through 31, wherein updating the values of the parameters of the controller comprises updating said parameters to advance printing as fast as possible.
33. The method of any of claims 21 through 32, wherein updating the values of the parameters of the controller comprises updating said parameters to keep the top surface of the partial fabrication as flat as possible.
34. The method of any of claims 21 through 33, wherein updating the values of the parameters of the controller comprises updating said parameters according to a trade-off between the flatness of the top surface of the partial fabrication and printing speed.
35. The method of claim 34, wherein updating the values of the parameters of the controller comprises updating said parameters to keep variation of the top surface of the partial fabrication within a range limit.
36. The method of any of claims 21 through 35, wherein updating the values of the parameters of the fabrication model includes updating an estimate the amount or a variability of an amount material being deposited by a jet or printhead during printing.
37. The method of claim 36, wherein the printer planner adjusts printer commands according to a desired amount of material to be deposited via the jet or printhead.
38. The method of any of claims 21 through 37, wherein updating the values of the parameters of the fabrication model includes responding to at least one of nozzle rotation and nozzle failure.
39. A non-transitory machine-readable medium comprising instructions stored thereon, execution of said instructions by a processor causing performance of all the steps of any one of claims 1 through 38.
40. An additive manufacturing system comprising a controller configured to cause the system to perform all the steps of any one of claims 1 through 38. 027WO1-application (1)
PCT/US2022/053334 2021-12-23 2022-12-19 Machine learning for additive manufacturing WO2023122004A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17/560,455 US11354466B1 (en) 2018-11-02 2021-12-23 Machine learning for additive manufacturing
US17/560,455 2021-12-23
US17/738,464 US11651122B2 (en) 2018-11-02 2022-05-06 Machine learning for additive manufacturing
US17/738,464 2022-05-06

Publications (1)

Publication Number Publication Date
WO2023122004A1 true WO2023122004A1 (en) 2023-06-29

Family

ID=85157421

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2022/053334 WO2023122004A1 (en) 2021-12-23 2022-12-19 Machine learning for additive manufacturing

Country Status (1)

Country Link
WO (1) WO2023122004A1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018217903A1 (en) * 2017-05-24 2018-11-29 Relativity Space, Inc. Real-time adaptive control of additive manufacturing processes using machine learning
US10252466B2 (en) 2014-07-28 2019-04-09 Massachusetts Institute Of Technology Systems and methods of machine vision assisted additive fabrication
WO2019070644A2 (en) * 2017-10-02 2019-04-11 Arconic Inc. Systems and methods for utilizing multicriteria optimization in additive manufacture
US10456984B2 (en) 2016-12-16 2019-10-29 Massachusetts Institute Of Technology Adaptive material deposition for additive manufacturing
US20200247063A1 (en) * 2018-04-02 2020-08-06 Nanotronics Imaging, Inc. Systems, methods, and media for artificial intelligence process control in additive manufacturing
US10769324B2 (en) 2018-11-02 2020-09-08 Inkbit, LLC Intelligent additive manufacturing
US10926473B1 (en) 2020-02-20 2021-02-23 Inkbit, LLC Multi-material scanning for additive fabrication
US11518109B2 (en) 2020-10-30 2022-12-06 Inkbit, LLC Thermal management for additive fabrication

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10252466B2 (en) 2014-07-28 2019-04-09 Massachusetts Institute Of Technology Systems and methods of machine vision assisted additive fabrication
US10456984B2 (en) 2016-12-16 2019-10-29 Massachusetts Institute Of Technology Adaptive material deposition for additive manufacturing
WO2018217903A1 (en) * 2017-05-24 2018-11-29 Relativity Space, Inc. Real-time adaptive control of additive manufacturing processes using machine learning
WO2019070644A2 (en) * 2017-10-02 2019-04-11 Arconic Inc. Systems and methods for utilizing multicriteria optimization in additive manufacture
US20200247063A1 (en) * 2018-04-02 2020-08-06 Nanotronics Imaging, Inc. Systems, methods, and media for artificial intelligence process control in additive manufacturing
US10769324B2 (en) 2018-11-02 2020-09-08 Inkbit, LLC Intelligent additive manufacturing
US10926473B1 (en) 2020-02-20 2021-02-23 Inkbit, LLC Multi-material scanning for additive fabrication
US11518109B2 (en) 2020-10-30 2022-12-06 Inkbit, LLC Thermal management for additive fabrication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SUTTONBARTO: "Reinforcement Learning", 2020, MIT PRESS

Similar Documents

Publication Publication Date Title
US10769324B2 (en) Intelligent additive manufacturing
US11651122B2 (en) Machine learning for additive manufacturing
JP6730440B2 (en) GPU material specification for 3D printing using 3D distance field
US10538074B2 (en) Processing slice data
US20210370611A1 (en) Object model dimensions for additive manufacturing
CN110366486A (en) Compliant material for increasing material manufacturing deposits
US11565476B2 (en) Apparatus and methods for additive manufacturing of three dimensional objects
JP6618277B2 (en) Information processing apparatus and information processing method
EP3094472B1 (en) Processing slice data for an additive manufacturing system
WO2023122004A1 (en) Machine learning for additive manufacturing
EP3906147B1 (en) Method and system for improving color uniformity in inkjet printing
EP3774296B1 (en) Three-dimensional object production
US20210116880A1 (en) Object orientation and/or position for additive manufacturing
US20220281178A1 (en) Systems and methods for three-dimensional printing and products produced thereby

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22851214

Country of ref document: EP

Kind code of ref document: A1