WO2021054968A1 - Convolution kernels - Google Patents

Convolution kernels Download PDF

Info

Publication number
WO2021054968A1
WO2021054968A1 PCT/US2019/052116 US2019052116W WO2021054968A1 WO 2021054968 A1 WO2021054968 A1 WO 2021054968A1 US 2019052116 W US2019052116 W US 2019052116W WO 2021054968 A1 WO2021054968 A1 WO 2021054968A1
Authority
WO
WIPO (PCT)
Prior art keywords
temperature distribution
kernel
size
predicted
additive manufacturing
Prior art date
Application number
PCT/US2019/052116
Other languages
French (fr)
Inventor
Pol FORNOS MARTINEZ
Ismael FERNANDEZ AYMERICH
Alejandro Manuel DE PENA HEMPEL
Original Assignee
Hewlett-Packard Development Company, L.P.
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
Application filed by Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2019/052116 priority Critical patent/WO2021054968A1/en
Publication of WO2021054968A1 publication Critical patent/WO2021054968A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Definitions

  • an additive manufacturing apparatus may determine a temperature of a build material used to generate a three-dimensional object by measuring the temperature of the build material and/or using a predictive model to determine expected temperatures. The determined and/or expected temperatures may then be used in control of the additive manufacturing apparatus during the additive manufacturing process.
  • Figure 1 is a flowchart of an example method of determining a convolution kernel
  • Figures 2A and 2C are graphs showing example convolution kernels
  • Figures 2B and 2D are examples of graphs showing predicted temperatures against theoretical measured temperatures
  • Figure 3 is a flowchart of an example method of determining a size of a convolution kernel
  • Figures 4A, 4B and 4C are graphs showing examples of predicted temperatures against actual measured temperatures for different sizes
  • Figure 5 is a graph showing an example of a relationship between kernel width and a curvature
  • Figure 6 is a simplified schematic drawing of an example machine readable medium associated with a processor
  • Figure 7 is a simplified schematic of an example of an apparatus
  • Figure 8 is a simplified schematic of an example of an additive manufacturing apparatus.
  • Additive manufacturing techniques may generate a three-dimensional object through the solidification of a build material, which may for example comprise a plastic, ceramic or metal material.
  • the build material is a powder-like granular material, which may for example be a plastic, ceramic or metal powder and the properties of generated objects may depend on the type of build material and the type of solidification mechanism used.
  • the powder may be formed from, or may include, short fibres that may, for example, have been cut into short lengths from long strands or threads of material.
  • Build material may be deposited, for example on a print bed and processed layer by layer, for example within a fabrication chamber.
  • a suitable build material may be PA12 build material commercially referred to as V1R10A “HP PA12” available from HP Inc.
  • selective solidification is achieved through directional application of energy, for example using a laser or electron beam which results in solidification of build material where the directional energy is applied.
  • at least one print agent may be selectively applied to the build material, and may be liquid when applied.
  • a fusing agent also termed a ‘coalescence agent’ or ‘coalescing agent’
  • the fusing agent may have a composition which absorbs energy such that, when energy (for example, heat) is applied to the layer, the build material coalesces and solidifies to form a slice of the three-dimensional object in accordance with the pattern.
  • energy for example, heat
  • coalescence may be achieved in some other manner, such as use of directed energy or chemical solidification.
  • a suitable fusing agent may be an ink-type formulation comprising carbon black, such as, for example, the fusing agent formulation commercially referred to as V1Q60Q “HP fusing agent” available from HP Inc.
  • a fusing agent may comprise an infra-red light absorber, a near infra-red light absorber, a visible light absorber and/or a UV light absorber.
  • print agents comprising visible light absorption enhancers are dye based colored ink and pigment based colored ink, such as inks commercially referred to as CE039A and CE042A available from HP Inc.
  • a print agent may comprise a coalescence modifier agent, which acts to modify the effects of a fusing agent for example by reducing or increasing coalescence or to assist in producing a particular finish or appearance to an object, and such agents may therefore be termed detailing agents.
  • a coalescence modifier agent may have a cooling effect, and thus be termed ‘cooling agent’.
  • detailing agent may be used in particular near edge surfaces of an object being printed, although it may also be used in other regions.
  • a suitable detailing agent may be a formulation commercially referred to as V1Q61A “HP detailing agent” available from HP Inc.
  • the detailing agent is an aqueous composition (or simply water) which undergoes evaporation when heated.
  • a coloring agent for example comprising a dye or colorant, may in some examples be used as a fusing agent or a coalescence modifier agent, and/or as a print agent to provide a particular color for the object.
  • Additive manufacturing systems may generate objects based on structural design data. This may involve a designer generating a three-dimensional model of an object to be generated, for example using a computer aided design (CAD) application.
  • the model may define the solid portions of the object.
  • the model data can be processed to generate slices of parallel planes of the model. Each slice may model at least a portion of a respective layer of build material that is to be solidified or caused to coalesce by the additive manufacturing system.
  • a temperature distribution is a description of a spatial distribution of temperature values in a medium, for example in a portion of build material.
  • a temperature distribution may also be referred to as a ‘heat map’.
  • Additive manufacturing apparatus which make use of heat in the additive manufacturing process may be intended to precisely control the thermal properties of the build material.
  • An additive manufacturing apparatus may, prior to or during a build, make use of predicted temperatures (for example, predicted heat maps) based on a model of the intended build process, for example to specify print material amounts or apparatus parameters such as the power supplied by heat lamps and the like.
  • the additive manufacturing apparatus may also make use of temperature measurements of the build material prior to and/or during the build process as part of a control feedback loop.
  • Predicted temperatures may differ from the actual temperatures for a number of reasons.
  • a model used to predict temperatures may not account for parameters such as as atmospheric conditions and ambient temperature, which may vary with each operation.
  • the build material used for example the thermal diffusivity may vary between batches of material, for example based on the age or composition of the batch, or its manufacture or storage conditions.
  • factors which are difficult to model such as variations in the heating provided by a radiation source of the apparatus over time as the radiation source ages and begins to depart from its nominal behaviour, errors in spatial registration within the apparatus, differences between spatial arrangements in different apparatus, time differences in processing different parts of a layer, inhomogeneous emissivity of the different material phases (e.g. powder, molten or solid) and the like.
  • a predicted temperature distribution, or predicted ‘heat map’ may be obtained by performing a convolution of a function describing or modelling the spreading of heat through a build material with a model (for example, a bitmap or the like) representing at least one layer of an object to be generated.
  • An initial model of a layer may comprise an array of values, each corresponding to one voxel of the model (wherein a voxel is a three-dimensional pixel), wherein each voxel models a sub-volume of the fabrication chamber.
  • build material modelled by a voxel is intended to be fused, it may be associated with a first value (e.g. and where the build material modelled by a voxel is not intended to be fused it may be associated with a second value (e.g. T 2 ).
  • the voxels are determined bearing in mind the print resolution of an object generation apparatus, such that each voxel represents a region which may be uniquely addressed when applying print agents, and therefore the properties of one voxel may vary from those of neighbouring voxels.
  • a voxel may correspond to a volume which can be individually addressed by an object generation apparatus (which may be a particular object generation apparatus, or a class of object generation apparatus, or the like) such that the properties thereof can be determined at least substantially independently of the properties of other voxels.
  • the ‘height’ of a voxel may correspond to the height of a layer of build material.
  • the resolution of an object generation apparatus may exceed the resolution of a voxel.
  • the voxels of an object model may each have the same shape (for example, cuboid or tetrahedral), but they may in principle differ in shape.
  • voxels are cuboids, for example based on the height of a layer of build material.
  • each voxel in processing data representing an object, each voxel may be associated with properties, and/or to object generation instructions, which apply to the voxel as a whole.
  • a convolution kernel may be applied to the initial model of the at least one layer.
  • the convolution kernel may comprise a function modelling how temperatures evolves over time as the heat spreads through the build material. For example if heat is applied by a point source within the build material, the surrounding material would heat up and increase in temperature over time as the heat conducts through the material. In an (unlikely) example where material corresponding to a single voxel is to be solidified, this would generally be hotter than its surroundings, so would radiate heat to these surroundings, increasing the temperature thereof while itself cooling. In practice, regions may absorb heat from, or lose heat to, surrounding regions depending on factors such as their mutual temperature difference and the thermal diffusivity of the material, and at a rate depending on factors such as the build material type.
  • Figure 1 shows an example of a method, which may be a method of determining a convolution kernel, for example to improve temperature predictions in an additive manufacturing process.
  • the method may for example be implemented by a computer or using processing circuitry.
  • Block 102 comprises determining, using processing circuitry, a predicted temperature distribution of an additive manufacturing process using a convolution kernel having a first size.
  • the predicted temperature distribution may be determined by convolving the convolution kernel with a model representing at least one layer (e.g. a slice, which may be voxelised slice) of build material including layer of the object to be generated.
  • the initial model may be an ‘idealised’ or ‘theoretical’ temperature distribution which treats each voxel as a point source of heat. When convolved with an appropriate convolution kernel, this provides a prediction of what the expected temperature distribution will be.
  • a convolution kernel may be a function which describes how heat spreads from a point source over time.
  • the convolution kernel may be a function, or an operator, that has a time and a spatial dependency.
  • the convolution kernel may be a one dimensional function or a two dimensional function. When a one dimensional kernel is used, the convolution kernel may be symmetrical in the x and y directions of a print bed in an additive manufacturing apparatus.
  • the convolution kernel is described as having a size.
  • the size represents how the heat ‘spreads’ through a layer by the convolution operation.
  • the size may be a width of the function (e.g. this may be a full width at half maximum, or a standard deviation, or any other measure of width of a function, wherein the appropriate measure of width may depend on the function), and in practice may indicate the size of a neighbourhood of thermal influence within the thermal model.
  • the kernel may be thought of as a window which is scanned over a model of a layer of build material, parts of which are solidified.
  • the kernel size may be considered in terms of the number of voxels which are convolved together.
  • kernel When the kernel is scanned over a voxelised layer, this convolves temperatures associated with all the voxels within the window. Thus, it may be appropriate to define a larger window (kernel) for materials having a higher temperature diffusivity than for materials having a higher temperature diffusivity. Specific example of kernels are discussed in greater detail below.
  • Block 104 comprises acquiring a corresponding measured temperature distribution of the additive manufacturing process.
  • this may be a ‘heat map’ of a layer.
  • the corresponding measured temperature distribution also describes the temperature of the build material in an additive manufacturing apparatus, and provides temperature values which correspond to the temperatures of the predicted temperature distribution in that they both describe a spatial distribution of (predicted or actual) temperatures in the build material.
  • the predicted temperature distribution and the measured temperature distribution may each be expressed as an array of values, the values representing the temperatures at a point in the build material.
  • the resolution (the number of points of temperature values in the array) of the predicted temperature distribution may be equal to the resolution of the measured temperature distribution.
  • the measured temperature distribution may be a lower resolution and may comprise fewer temperature values than the predicted temperature distribution. This may be the case if the hardware used to capture the measured temperature distribution records temperature distribution at a lower resolution than the resolution used to define the object to be built during a build process. In other examples, one of the distributions may be ‘up sampled’ or ‘down sampled’ such that the resolutions, even if initially different, correspond.
  • Block 106 comprises determining, using processing circuitry, a function describing a correspondence between the predicted temperature distribution and the measured temperature distribution.
  • the function may describe how well the predicted temperature distribution predicts the actual measured temperature distribution. For example, predicted and measured temperatures for each of a plurality of locations may be considered on a location by location basis. Examples of how such a function may be determined are described in more detail in relation to Figures 3 and 4A-C.
  • Block 108 comprises varying a size of the kernel to increase the correspondence between the predicted temperature distribution and the measured temperature distribution.
  • the size of the kernel may be varied and the function describing the correspondence between the predicted temperature distribution and the measured distribution recalculated for each variation of the size of the kernel. The size of the kernel may then be selected based on the function by selecting the kernel width that results in a function which performs well in predicting the measured temperature distribution.
  • Figure 2A is a graph showing a temperatures of first predicted temperature distribution 202 and a first measured temperature distribution 204 in arbitrary units.
  • the vertical axis represents temperature.
  • the predicted temperature distribution is obtained by performing a convolution of a convolution kernel with a bitmap representing a layer of an object to be generated (which may for example comprise a slice of a ‘virtual’ fabrication chamber modelling an intended content of a fabrication chamber in additive manufacturing).
  • the bitmap may be thought of as providing a model in which each voxel (or pixel of a layer) is a point source of heat, having a first temperature if the voxel models a portion of the layer which is intended to be fused and a second temperature if the voxel models a portion of the layer which is intended to remain as powder.
  • the voxels may be modelled at a print addressable resolution, for example the intended resolution for applying print agents (which may for example be 600 dots per inch, or 1200 dots per inch, or the like).
  • the model then predicts the temperature of each pixel after a time has passed, wherein the predicted temperatures may generally be, or be between, the first and second temperatures.
  • the convolution kernel is a Gaussian function.
  • a Gaussian function is the solution of the one dimensional diffusion equation and therefore represents an idealised description of the conduction of heat, and therefore temperature distribution due to a point source of heat.
  • a Gaussian function may be described by the following equation: where T is the temperature at point and at time t, t 0 is the initial time and D is the diffusivity of the material.
  • the size of the kernel may vary as Dc, and the ideal size may vary with D and t. This can be understood as, for a higher diffusivity material, the area of influence of a point source of heat is greater, and over time, heat will spread further. In examples, the size (width) of the kernel may be proportional to Vot.
  • the convolution kernel may explicitly account for transfer of heat through the material due to conduction, where it is derived experimentally, it may implicitly include also electrical cross talk between sensor pixels and blurring caused by optical systems. Such effects can vary between build processes, over time and between different apparatus.
  • Figure 2A the first predicted temperature distribution 202 is wider than the first measured temperature distribution 204, such that the first predicted temperature distribution 202 tends to predict a greater temperature than the first measured temperature distribution 204. Therefore the first predicted temperature distribution 202 overestimates the actual temperature of the build material.
  • Figure 2B shows a plot 212 of the predicted temperature along the horizontal axis against the measured temperature on the vertical axis for the temperature distributions shown in Figure 2A. More particularly, the predicted temperature for each of an array of locations (x axis) has been plotted against the measured temperature for that location (Y axis). In other words, each point represents a pair of temperature values - predicted and measured- associated with a particular location. In this example the curvature of the plot 212 is positive, which indicates that the heat conduction of the material is over estimated by the kernel used to generate the first predicted temperature distribution 202.
  • Figure 2C is a graph showing a second predicted temperature distribution 222 and a second measured temperature distribution 224 in arbitrary units.
  • the second predicted temperature distribution 222 tends to predict temperatures which are lower than the corresponding point in the second measured temperature distribution. Therefore the second predicted temperature distribution 222 tends to underestimates the actual temperature of the build material.
  • Figure 2D shows a plot 232, similar to that of Figure 2B, but in case showing the predicted temperature along the horizontal axis against the measured temperature on the vertical axis for the temperature distributions shown in Figure 2C.
  • the curvature of the plot 232 is negative, which indicates that the heat conduction of the material is underestimated by the kernel used to generate the second predicted temperature distribution 222.
  • An ideal convolution kernel is one which would result in a plot of the predicted temperature against measured temperature resulting in a straight line.
  • Curve fitting may be used to determine a curve associated with the plot, and examples of curves fitted to the plots are shown in Figures 2B and 2D. Whether the curvature of the curve fitted to such a plot is positive or negative may be determined by calculating the second derivative thereof. Where the second derivative is zero, the fitted curve is a straight line, which may indicate that a kernel accurately predicts the temperature distribution.
  • Figure 3 shows an example of a method, which may be a method of determining a convolution kernel, for example to improve temperature prediction in additive manufacturing process.
  • the method may be performed by processing circuitry.
  • the processing circuitry may comprise part of an additive manufacturing apparatus, or may be in communication with an additive manufacturing apparatus.
  • Block 302 comprises acquiring the measured temperature distribution by measuring the temperature distribution of a build material.
  • an additive manufacturing apparatus may comprise means for measuring a temperature distribution, for example a thermal imaging device such as an infrared camera.
  • Block 302 may comprise measuring the temperatures using such a device, or acquiring temperatures measured by such a device.
  • a bitmap representing a layer of an object to be generated is obtained.
  • the initial model may be a bitmap comprising voxels which may categorised based on whether or not they are intended to fuse.
  • the voxels of such a bit map may be associated with an initial temperature value, relating to any or any combination or whether or not it is intended to fuse, amounts of fusing agents to be applied thereto, apparatus parameters (e.g. heat lamp power levels to be used in object generation), build material and/or fusing agent type, and the like.
  • Block 306 comprises convolving the kernel with the bitmap obtained in block 304 to determine a predicted temperature distribution.
  • the size of the kernel is smaller than an expected kernel size.
  • the size may for example comprise a Full Width Half Maximum of a function (e.g. a Gaussian function) described by the kernel, or the standard deviation thereof, or any other measure of size.
  • the expected kernel size may be a kernel size which is has an expected approximate value. For example it may be a kernel size which was previously found to give good correspondence between predicted temperatures and measured temperatures.
  • the expected kernel size may be different depending on the type of build material which is being used.
  • a function describing a correspondence between the predicted temperature distribution, determined in block 306, and the measured temperature distribution, measured in block 302 is determined.
  • the function may be a function as described in relation to Figures 2B and 2D.
  • Such a function may be obtained by performing a regression to fit a curve to the points of a plot of predicted temperature against measured temperature. Curve fitting may be performed by any suitable means, such as polynomial regression analysis.
  • a parameter of a regression function associating the predicted temperature with the measured temperature is determined, wherein the function describing the correspondence is a regression function.
  • the parameter is the curvature of the function.
  • the kernel size is iteratively changed by increasing the size of the kernel. In this way the method iteratively increases the kernel size each time the loop is performed.
  • the kernel may be incremented by a fixed amount or may be incremented by a variable amount. For example its size may be incremented by a percentage on each iteration or may be incremented by smaller amounts as the curvature of the function approaches zero to avoid significantly overshooting the optimal kernel size by a significant amount.
  • a fault state is determined.
  • an action may be taken. For example the action may be to pause or halt the build process or it may be to provide a notification to a user.
  • a fault state may be indicative of the use of incorrect or faulty build material, or a build material which is different to the expected build material.
  • an ‘out of bound’ kernel size may be indicative of an apparatus fault, for example a fault or failure in the thermal imaging apparatus or the heating apparatus.
  • the method continues to block 306, where the kernel of incremented size is convolved with the bitmap. The method then returns to block 308 for a further iteration of determining a function describing correspondence between the predicted temperature and measured temperature.
  • an interpolation is performed between the size of the kernel providing the iterations before and after the sign of the curvature changes, to determine a kernel size corresponding to a regression of minimal curvature.
  • a final iteration may be the first iteration which results in a negative curvature, and an interpolation between the kernel size for this final iteration and the kernel size for the penultimate iteration may be carried out.
  • the interpolation may be weighted based on the values of the curvatures to determine the kernel size which would result in curvature equal to zero i.e. a straight line. In some examples linear interpolation may be used. Performing the interpolation is described in more detail with reference to Figure 5.
  • a subsequent predicted temperature distribution (e.g. for a subsequent layer in object generation) is determined by using the kernel with size corresponding to the regression of minimal curvature. Now that an improved kernel has been obtained it may be used in determining predicted temperatures which will more accurately represent the actual temperature distribution.
  • At least one apparatus parameter is controlled based on the subsequent predicted temperature distribution.
  • An additive manufacturing apparatus may use the updated kernel to predict temperature distributions in control of a build process. For example the size of the kernel may be determined at the beginning of a build process, and applied throughout a build operation to control parameters such as energy delivered to a layer, layer processing time, amounts of print agents and the like.
  • the size of a kernel may be determined a plurality of times throughout a build operation, for example once for every layer which is deposited during a build process, or once during each phase of depositing a layer.
  • Depositing a layer may comprise multiple phases for example a first phase can comprise depositing build material used for creating a layer and a second phase can comprise depositing agents in the layer an applying energy to the layer. This may allow for changes (e.g. drift) in apparatus performance and/or environmental conditions and the like to be taken into account throughout a build operation.
  • kernel size may be determined once every time a predetermined number of layers has been deposited or once a predetermined amount of time has passed. In this way processing time may be saved by not performing the method at each layer, while still checking if adjustments should be made throughout the build.
  • the kernel was iteratively increased in size, this need not be the case in all examples.
  • the kernel may initially be larger than expected and be decreased in size, or may be both increased and decreased in size to converge on a value which results in a zero or near zero curvature.
  • Figures 4A, 4B and 4C show plots of predicted temperature on the horizontal axis against measured temperatures on the vertical axis, having a form similar to that described in relation to Figure 2B and 2D above.
  • a different kernel width for example, the width may be Full Width at Half Maximum value or the standard deviation of the function described thereby
  • Figure 4A a kernel with relatively narrow width is used which results in the conduction of heat being overestimated resulting in a regression plot with positive curvature.
  • Figure 4B the predicted temperature is determined using a kernel with an increased width.
  • the kernel width is such that the regression plot is a straight line which implies the kernel width is optimal.
  • Figure 5 is a graph which shows the results of the iterative process described above in relation to Figure 3.
  • the graph shows a plot 502 of kernel width along the horizontal axis (in arbitrary units in this example, but in general the units may relate to a size in millimetres, or to a voxel count, or the like) and regression curvature on the vertical axis.
  • Each point represents an iteration of the process.
  • the kernel width is zero, and the curvature of the regression plot is determined to be 0.04.
  • the curvature increases, but in each subsequent iteration the curvature decreases.
  • the curvature remains positive, but in the sixth iteration 508 the curvature becomes negative.
  • the actual value 510 of kernel width which results in a curvature of zero can be estimated by interpolating between the final iteration which results in a positive curvature and the first iteration which results in negative curvature, in this example the fifth iteration 506 and the sixth iteration 508.
  • the interpolation may be a linear interpolation between the points defined by the predicted temperature and measured temperature for the final iteration with positive curvature and the first iteration with negative curvature.
  • the interpolation results in a kernel width of 2.43.
  • the units are arbitrary, however in practice a kernel width of order 1-10mm, or 1-5mm may be expected for some build materials. Variations between apparatus, environmental conditions, and batch to batch variations of build material, etc. can produce variations of up to 2mm in kernel width.
  • Figure 6 shows a machine readable medium 602 associated with a processor 604.
  • the machine readable medium 602 comprises instructions 606 which, when executed by the processor 604, cause the processor 604 to carry out processes.
  • the instructions 606 comprise instructions 608 to cause the processor 604 to acquire a predicted temperature distribution from a model describing an additive manufacturing process, wherein the model utilises a convolution kernel having a first size.
  • the processor may receive the predicted temperature distribution from a storage medium, or may cause the predicted temperature distribution to be calculated.
  • the instructions 606 comprise instructions 610 to cause the processor 604 to acquire a measured temperature distribution of the additive manufacturing process.
  • the processor may cause a measurement to be performed to obtain the measured temperature distribution from a temperature measuring apparatus such as an infrared camera.
  • the processor may receive the measured temperature distribution indirectly, for example via a network connection, or from a memory.
  • the temperature distribution is measured in real time, or near real time, whereas in other examples the temperature distribution may be measured in advance and stored on a storage medium for use at a later time.
  • the instructions 606 further comprise instructions 612 to cause the processor 604 to determine a measure of correlation between the measured temperature distribution and the predicted temperature distribution.
  • the instructions 606 further comprise instructions 614 to cause the processor 604 to vary the width of the kernel to increase the measure of correlation between predicted temperatures and measured temperatures.
  • the kernel width may be varied in an iterative manner, for example as described in relation to Figure 3.
  • the machine readable medium 602 may comprise instructions to carry out any, or any combination, of the blocks of Figures 1 or 3, or to act as part of the processing circuitry 702 of Figures 7 or 8.
  • Figure 7 shows an apparatus 700 comprising processing circuitry 702.
  • the processing circuitry 702 comprises a measurement module 704, convolution module 706, a correlation module 708 and a kernel width module 710.
  • the measurement module 704 receives a measured temperature distribution of an additive manufacturing print bed.
  • the temperature distribution may be acquired in real time, or near real time, using a temperature sensing apparatus, or may be acquired form a measurement performed in advance.
  • the convolution module 706 performs a convolution of a model representing a layer of an object to be generated.
  • the model may comprise a bitmap and/or may comprise data that describes an object to be generated by the apparatus during an additive manufacturing build process.
  • the data may comprise values corresponding to each voxel of a model of a layer in additive manufacturing (for example, theoretical initial temperature values), and can describe which voxels correspond to build material which is intended to comprise fuse.
  • the correlation module 708 correlates the measured temperature distribution with the predicted temperature distribution. This provides information describing how good the kernel is in producing a predicted temperature distribution which accurately predicts the actual temperature of the build material.
  • the kernel width module 710 determines a width of the variable width kernel which results in an improved correlation between the measured temperature distribution and the predicted temperature distribution.
  • the width may be varied iteratively, for example as described in relation to Figure 3.
  • the processing circuitry 702 may for example perform any or any combination of the blocks of Figure 1 or 3.
  • Figure 8 shows an additive manufacturing apparatus 800 comprising processing circuitry 702 which comprises the measurement module 704, convolution module 706, a correlation module 708 and a kernel width module 710 as described above in relation to Figure 7.
  • the additive manufacturing apparatus 800 further comprises a thermal imaging device, in this example an infrared camera 802.
  • the measurement module 704 receives the measured temperature distribution from the infrared camera 802.
  • the infrared camera may be to measure the temperature of build material within a print bed of the additive manufacturing apparatus 800.
  • the temperature is obtained by the infrared camera it can be transmitted to the measurement module 704 for further processing, as described in relation to Figure 7.
  • Examples in the present disclosure can be provided as methods, systems or machine readable instructions, such as any combination of software, hardware, firmware or the like.
  • Such machine readable instructions may be included on a computer readable storage medium (including but not limited to disc storage, CD-ROM, optical storage, etc.) having computer readable program codes therein or thereon.
  • the machine readable instructions may, for example, be executed by a general purpose computer, a special purpose computer, an embedded processor or processors of other programmable data processing devices to realize the functions described in the description and diagrams.
  • a processor or processing apparatus may execute the machine readable instructions.
  • functional modules of the apparatus and devices for example, the measurement module 704, convolution module 706, a correlation module 708 and/or kernel width module 710) may be implemented by a processor executing machine readable instructions stored in a memory, or a processor operating in accordance with instructions embedded in logic circuitry.
  • the term ‘processor’ is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array etc.
  • the methods and functional modules may all be performed by a single processor or divided amongst several processors.
  • Such machine readable instructions may also be stored in a computer readable storage that can guide the computer or other programmable data processing devices to operate in a specific mode.
  • Such machine readable instructions may also be loaded onto a computer or other programmable data processing devices, so that the computer or other programmable data processing devices perform a series of operations to produce computer-implemented processing, thus the instructions executed on the computer or other programmable devices realize functions specified by block(s) in the flow charts and/or block diagrams.
  • teachings herein may be implemented in the form of a computer software product, the computer software product being stored in a storage medium and comprising a plurality of instructions for making a computer device implement the methods recited in the examples of the present disclosure.
  • the method, apparatus and related aspects have been described with reference to certain examples, various modifications, changes, omissions, and substitutions can be made without departing from the spirit of the present disclosure. It is intended, therefore, that the method, apparatus and related aspects be limited only by the scope of the following claims and their equivalents. It should be noted that the above- mentioned examples illustrate rather than limit what is described herein, and that those skilled in the art will be able to design many alternative implementations without departing from the scope of the appended claims.

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Materials Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Optics & Photonics (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)

Abstract

In an example, a method includes determining, using processing circuitry, a predicted temperature distribution of an additive manufacturing process using a convolution kernel having a first size. A corresponding measured temperature distribution of the additive manufacturing process may be obtained, and a function describing a correspondence between the predicted temperature distribution and the measured temperature distribution may be determined. The size of the kernel may be varied to increase the correspondence between the predicted temperature distribution and the measured temperature distribution.

Description

CONVOLUTION KERNELS
BACKGROUND [0001] Additive manufacturing apparatus that generate three-dimensional objects on a layer-by-layer basis have been proposed as a convenient way to produce three-dimensional objects. In an additive manufacturing process, an additive manufacturing apparatus may determine a temperature of a build material used to generate a three-dimensional object by measuring the temperature of the build material and/or using a predictive model to determine expected temperatures. The determined and/or expected temperatures may then be used in control of the additive manufacturing apparatus during the additive manufacturing process. BRIEF DESCRIPTION OF DRAWINGS
[0002] Non-limiting examples will now be described with reference to the accompanying drawings, in which:
[0003] Figure 1 is a flowchart of an example method of determining a convolution kernel; [0004] Figures 2A and 2C are graphs showing example convolution kernels;
[0005] Figures 2B and 2D are examples of graphs showing predicted temperatures against theoretical measured temperatures;
[0006] Figure 3 is a flowchart of an example method of determining a size of a convolution kernel; [0007] Figures 4A, 4B and 4C are graphs showing examples of predicted temperatures against actual measured temperatures for different sizes;
[0008] Figure 5 is a graph showing an example of a relationship between kernel width and a curvature;
[0009] Figure 6 is a simplified schematic drawing of an example machine readable medium associated with a processor;
[0010] Figure 7 is a simplified schematic of an example of an apparatus; and [0011] Figure 8 is a simplified schematic of an example of an additive manufacturing apparatus.
DETAILED DESCRIPTION [0012] Additive manufacturing techniques may generate a three-dimensional object through the solidification of a build material, which may for example comprise a plastic, ceramic or metal material. In some examples, the build material is a powder-like granular material, which may for example be a plastic, ceramic or metal powder and the properties of generated objects may depend on the type of build material and the type of solidification mechanism used. In some examples the powder may be formed from, or may include, short fibres that may, for example, have been cut into short lengths from long strands or threads of material. Build material may be deposited, for example on a print bed and processed layer by layer, for example within a fabrication chamber. According to one example, a suitable build material may be PA12 build material commercially referred to as V1R10A “HP PA12” available from HP Inc.
[0013] In some examples, selective solidification is achieved through directional application of energy, for example using a laser or electron beam which results in solidification of build material where the directional energy is applied. In other examples, at least one print agent may be selectively applied to the build material, and may be liquid when applied. For example, a fusing agent (also termed a ‘coalescence agent’ or ‘coalescing agent’) may be selectively distributed onto portions of a layer of build material in a pattern derived from data representing a slice of a three-dimensional object to be generated (which may for example be generated from structural design data). The fusing agent may have a composition which absorbs energy such that, when energy (for example, heat) is applied to the layer, the build material coalesces and solidifies to form a slice of the three-dimensional object in accordance with the pattern. In other examples, coalescence may be achieved in some other manner, such as use of directed energy or chemical solidification.
[0014] According to one example, a suitable fusing agent may be an ink-type formulation comprising carbon black, such as, for example, the fusing agent formulation commercially referred to as V1Q60Q “HP fusing agent” available from HP Inc. In examples, such a fusing agent may comprise an infra-red light absorber, a near infra-red light absorber, a visible light absorber and/or a UV light absorber. Examples of print agents comprising visible light absorption enhancers are dye based colored ink and pigment based colored ink, such as inks commercially referred to as CE039A and CE042A available from HP Inc.
[0015] In addition to a fusing agent, in some examples, a print agent may comprise a coalescence modifier agent, which acts to modify the effects of a fusing agent for example by reducing or increasing coalescence or to assist in producing a particular finish or appearance to an object, and such agents may therefore be termed detailing agents. In some examples, a coalescence modifier agent may have a cooling effect, and thus be termed ‘cooling agent’. In some examples, detailing agent may be used in particular near edge surfaces of an object being printed, although it may also be used in other regions. According to one example, a suitable detailing agent may be a formulation commercially referred to as V1Q61A “HP detailing agent” available from HP Inc. In some examples, the detailing agent is an aqueous composition (or simply water) which undergoes evaporation when heated.
[0016] A coloring agent, for example comprising a dye or colorant, may in some examples be used as a fusing agent or a coalescence modifier agent, and/or as a print agent to provide a particular color for the object.
[0017] Additive manufacturing systems may generate objects based on structural design data. This may involve a designer generating a three-dimensional model of an object to be generated, for example using a computer aided design (CAD) application. The model may define the solid portions of the object. To generate a three-dimensional object from the model using an additive manufacturing system, the model data can be processed to generate slices of parallel planes of the model. Each slice may model at least a portion of a respective layer of build material that is to be solidified or caused to coalesce by the additive manufacturing system.
[0018] As used herein a temperature distribution is a description of a spatial distribution of temperature values in a medium, for example in a portion of build material. A temperature distribution may also be referred to as a ‘heat map’.
[0019] Additive manufacturing apparatus which make use of heat in the additive manufacturing process may be intended to precisely control the thermal properties of the build material. An additive manufacturing apparatus may, prior to or during a build, make use of predicted temperatures (for example, predicted heat maps) based on a model of the intended build process, for example to specify print material amounts or apparatus parameters such as the power supplied by heat lamps and the like. The additive manufacturing apparatus may also make use of temperature measurements of the build material prior to and/or during the build process as part of a control feedback loop.
[0020] Predicted temperatures may differ from the actual temperatures for a number of reasons. For example, a model used to predict temperatures may not account for parameters such as as atmospheric conditions and ambient temperature, which may vary with each operation. Furthermore there may be variations in the build material used, for example the thermal diffusivity may vary between batches of material, for example based on the age or composition of the batch, or its manufacture or storage conditions. Additionally there may be factors which are difficult to model such as variations in the heating provided by a radiation source of the apparatus over time as the radiation source ages and begins to depart from its nominal behaviour, errors in spatial registration within the apparatus, differences between spatial arrangements in different apparatus, time differences in processing different parts of a layer, inhomogeneous emissivity of the different material phases (e.g. powder, molten or solid) and the like.
[0021] A predicted temperature distribution, or predicted ‘heat map’ may be obtained by performing a convolution of a function describing or modelling the spreading of heat through a build material with a model (for example, a bitmap or the like) representing at least one layer of an object to be generated. An initial model of a layer may comprise an array of values, each corresponding to one voxel of the model (wherein a voxel is a three-dimensional pixel), wherein each voxel models a sub-volume of the fabrication chamber. In an example, where build material modelled by a voxel is intended to be fused, it may be associated with a first value (e.g.
Figure imgf000006_0001
and where the build material modelled by a voxel is not intended to be fused it may be associated with a second value (e.g. T2).
[0022] In some examples, the voxels are determined bearing in mind the print resolution of an object generation apparatus, such that each voxel represents a region which may be uniquely addressed when applying print agents, and therefore the properties of one voxel may vary from those of neighbouring voxels. In other words, a voxel may correspond to a volume which can be individually addressed by an object generation apparatus (which may be a particular object generation apparatus, or a class of object generation apparatus, or the like) such that the properties thereof can be determined at least substantially independently of the properties of other voxels. For example, the ‘height’ of a voxel may correspond to the height of a layer of build material. In some examples, the resolution of an object generation apparatus may exceed the resolution of a voxel. In general, the voxels of an object model may each have the same shape (for example, cuboid or tetrahedral), but they may in principle differ in shape. In some examples, voxels are cuboids, for example based on the height of a layer of build material. In some examples, in processing data representing an object, each voxel may be associated with properties, and/or to object generation instructions, which apply to the voxel as a whole.
[0023] A convolution kernel may be applied to the initial model of the at least one layer. The convolution kernel may comprise a function modelling how temperatures evolves over time as the heat spreads through the build material. For example if heat is applied by a point source within the build material, the surrounding material would heat up and increase in temperature over time as the heat conducts through the material. In an (unlikely) example where material corresponding to a single voxel is to be solidified, this would generally be hotter than its surroundings, so would radiate heat to these surroundings, increasing the temperature thereof while itself cooling. In practice, regions may absorb heat from, or lose heat to, surrounding regions depending on factors such as their mutual temperature difference and the thermal diffusivity of the material, and at a rate depending on factors such as the build material type.
[0024] Figure 1 shows an example of a method, which may be a method of determining a convolution kernel, for example to improve temperature predictions in an additive manufacturing process. The method may for example be implemented by a computer or using processing circuitry.
[0025] Block 102 comprises determining, using processing circuitry, a predicted temperature distribution of an additive manufacturing process using a convolution kernel having a first size. The predicted temperature distribution may be determined by convolving the convolution kernel with a model representing at least one layer (e.g. a slice, which may be voxelised slice) of build material including layer of the object to be generated.
[0026] The initial model may be an ‘idealised’ or ‘theoretical’ temperature distribution which treats each voxel as a point source of heat. When convolved with an appropriate convolution kernel, this provides a prediction of what the expected temperature distribution will be. Such a convolution kernel may be a function which describes how heat spreads from a point source over time. [0027] The convolution kernel may be a function, or an operator, that has a time and a spatial dependency. The convolution kernel may be a one dimensional function or a two dimensional function. When a one dimensional kernel is used, the convolution kernel may be symmetrical in the x and y directions of a print bed in an additive manufacturing apparatus.
[0028] The convolution kernel is described as having a size. The size represents how the heat ‘spreads’ through a layer by the convolution operation. The size may be a width of the function (e.g. this may be a full width at half maximum, or a standard deviation, or any other measure of width of a function, wherein the appropriate measure of width may depend on the function), and in practice may indicate the size of a neighbourhood of thermal influence within the thermal model. For example, the kernel may be thought of as a window which is scanned over a model of a layer of build material, parts of which are solidified. To consider a voxelised model of a layer, the kernel size may be considered in terms of the number of voxels which are convolved together. When the kernel is scanned over a voxelised layer, this convolves temperatures associated with all the voxels within the window. Thus, it may be appropriate to define a larger window (kernel) for materials having a higher temperature diffusivity than for materials having a higher temperature diffusivity. Specific example of kernels are discussed in greater detail below.
[0029] Block 104 comprises acquiring a corresponding measured temperature distribution of the additive manufacturing process. For example, this may be a ‘heat map’ of a layer. The corresponding measured temperature distribution also describes the temperature of the build material in an additive manufacturing apparatus, and provides temperature values which correspond to the temperatures of the predicted temperature distribution in that they both describe a spatial distribution of (predicted or actual) temperatures in the build material. In some examples the predicted temperature distribution and the measured temperature distribution may each be expressed as an array of values, the values representing the temperatures at a point in the build material. In some examples the resolution (the number of points of temperature values in the array) of the predicted temperature distribution may be equal to the resolution of the measured temperature distribution. In other examples the measured temperature distribution may be a lower resolution and may comprise fewer temperature values than the predicted temperature distribution. This may be the case if the hardware used to capture the measured temperature distribution records temperature distribution at a lower resolution than the resolution used to define the object to be built during a build process. In other examples, one of the distributions may be ‘up sampled’ or ‘down sampled’ such that the resolutions, even if initially different, correspond.
[0030] Block 106 comprises determining, using processing circuitry, a function describing a correspondence between the predicted temperature distribution and the measured temperature distribution. The function may describe how well the predicted temperature distribution predicts the actual measured temperature distribution. For example, predicted and measured temperatures for each of a plurality of locations may be considered on a location by location basis. Examples of how such a function may be determined are described in more detail in relation to Figures 3 and 4A-C.
[0031] Block 108 comprises varying a size of the kernel to increase the correspondence between the predicted temperature distribution and the measured temperature distribution. In some examples, the size of the kernel may be varied and the function describing the correspondence between the predicted temperature distribution and the measured distribution recalculated for each variation of the size of the kernel. The size of the kernel may then be selected based on the function by selecting the kernel width that results in a function which performs well in predicting the measured temperature distribution.
[0032] Figure 2A is a graph showing a temperatures of first predicted temperature distribution 202 and a first measured temperature distribution 204 in arbitrary units. In this graph, the vertical axis represents temperature.
[0033] The predicted temperature distribution is obtained by performing a convolution of a convolution kernel with a bitmap representing a layer of an object to be generated (which may for example comprise a slice of a ‘virtual’ fabrication chamber modelling an intended content of a fabrication chamber in additive manufacturing). The bitmap may be thought of as providing a model in which each voxel (or pixel of a layer) is a point source of heat, having a first temperature if the voxel models a portion of the layer which is intended to be fused and a second temperature if the voxel models a portion of the layer which is intended to remain as powder. In some examples, the voxels may be modelled at a print addressable resolution, for example the intended resolution for applying print agents (which may for example be 600 dots per inch, or 1200 dots per inch, or the like). [0034] The model then predicts the temperature of each pixel after a time has passed, wherein the predicted temperatures may generally be, or be between, the first and second temperatures. In this example, the convolution kernel is a Gaussian function. A Gaussian function is the solution of the one dimensional diffusion equation and therefore represents an idealised description of the conduction of heat, and therefore temperature distribution due to a point source of heat. A Gaussian function may be described by the following equation:
Figure imgf000010_0001
where T is the temperature at point and at time t, t0 is the initial time and D is the diffusivity of the material.
[0035] The size of the kernel may vary as Dc, and the ideal size may vary with D and t. This can be understood as, for a higher diffusivity material, the area of influence of a point source of heat is greater, and over time, heat will spread further. In examples, the size (width) of the kernel may be proportional to Vot. [0036] While the convolution kernel may explicitly account for transfer of heat through the material due to conduction, where it is derived experimentally, it may implicitly include also electrical cross talk between sensor pixels and blurring caused by optical systems. Such effects can vary between build processes, over time and between different apparatus. [0037] In Figure 2A, the first predicted temperature distribution 202 is wider than the first measured temperature distribution 204, such that the first predicted temperature distribution 202 tends to predict a greater temperature than the first measured temperature distribution 204. Therefore the first predicted temperature distribution 202 overestimates the actual temperature of the build material. [0038] Figure 2B shows a plot 212 of the predicted temperature along the horizontal axis against the measured temperature on the vertical axis for the temperature distributions shown in Figure 2A. More particularly, the predicted temperature for each of an array of locations (x axis) has been plotted against the measured temperature for that location (Y axis). In other words, each point represents a pair of temperature values - predicted and measured- associated with a particular location. In this example the curvature of the plot 212 is positive, which indicates that the heat conduction of the material is over estimated by the kernel used to generate the first predicted temperature distribution 202.
[0039] Figure 2C is a graph showing a second predicted temperature distribution 222 and a second measured temperature distribution 224 in arbitrary units. In this example, the second predicted temperature distribution 222 tends to predict temperatures which are lower than the corresponding point in the second measured temperature distribution. Therefore the second predicted temperature distribution 222 tends to underestimates the actual temperature of the build material.
[0040] Figure 2D shows a plot 232, similar to that of Figure 2B, but in case showing the predicted temperature along the horizontal axis against the measured temperature on the vertical axis for the temperature distributions shown in Figure 2C. In this example, the curvature of the plot 232 is negative, which indicates that the heat conduction of the material is underestimated by the kernel used to generate the second predicted temperature distribution 222.
[0041] An ideal convolution kernel is one which would result in a plot of the predicted temperature against measured temperature resulting in a straight line. Curve fitting may be used to determine a curve associated with the plot, and examples of curves fitted to the plots are shown in Figures 2B and 2D. Whether the curvature of the curve fitted to such a plot is positive or negative may be determined by calculating the second derivative thereof. Where the second derivative is zero, the fitted curve is a straight line, which may indicate that a kernel accurately predicts the temperature distribution.
[0042] Figure 3 shows an example of a method, which may be a method of determining a convolution kernel, for example to improve temperature prediction in additive manufacturing process. The method may be performed by processing circuitry. In some examples, the processing circuitry may comprise part of an additive manufacturing apparatus, or may be in communication with an additive manufacturing apparatus.
[0043] Block 302 comprises acquiring the measured temperature distribution by measuring the temperature distribution of a build material. For example an additive manufacturing apparatus may comprise means for measuring a temperature distribution, for example a thermal imaging device such as an infrared camera. Block 302 may comprise measuring the temperatures using such a device, or acquiring temperatures measured by such a device.
[0044] In block 304, a bitmap representing a layer of an object to be generated is obtained. The initial model may be a bitmap comprising voxels which may categorised based on whether or not they are intended to fuse. The voxels of such a bit map may be associated with an initial temperature value, relating to any or any combination or whether or not it is intended to fuse, amounts of fusing agents to be applied thereto, apparatus parameters (e.g. heat lamp power levels to be used in object generation), build material and/or fusing agent type, and the like.
[0045] Block 306 comprises convolving the kernel with the bitmap obtained in block 304 to determine a predicted temperature distribution. In a first iteration, the size of the kernel is smaller than an expected kernel size. The size may for example comprise a Full Width Half Maximum of a function (e.g. a Gaussian function) described by the kernel, or the standard deviation thereof, or any other measure of size. The expected kernel size may be a kernel size which is has an expected approximate value. For example it may be a kernel size which was previously found to give good correspondence between predicted temperatures and measured temperatures. The expected kernel size may be different depending on the type of build material which is being used.
[0046] In block 308, a function describing a correspondence between the predicted temperature distribution, determined in block 306, and the measured temperature distribution, measured in block 302 is determined. The function may be a function as described in relation to Figures 2B and 2D. Such a function may be obtained by performing a regression to fit a curve to the points of a plot of predicted temperature against measured temperature. Curve fitting may be performed by any suitable means, such as polynomial regression analysis.
[0047] In block 310, a parameter of a regression function associating the predicted temperature with the measured temperature is determined, wherein the function describing the correspondence is a regression function. In this example the parameter is the curvature of the function.
[0048] In block 312, it is determined whether the curvature of the function is positive or negative. If the curvature is positive the method begins a loop which may ultimately return to block 308, by proceeding to block 314. [0049] In block 314, the kernel size is iteratively changed by increasing the size of the kernel. In this way the method iteratively increases the kernel size each time the loop is performed. The kernel may be incremented by a fixed amount or may be incremented by a variable amount. For example its size may be incremented by a percentage on each iteration or may be incremented by smaller amounts as the curvature of the function approaches zero to avoid significantly overshooting the optimal kernel size by a significant amount.
[0050] In block 316, it is determined if the size of the kernel exceeds a threshold. If the size of the kernel does exceed the threshold then in block 318 a fault state is determined. When a fault state is determined an action may be taken. For example the action may be to pause or halt the build process or it may be to provide a notification to a user. In some examples a fault state may be indicative of the use of incorrect or faulty build material, or a build material which is different to the expected build material. For example, if the kernel has an expected size related to the choice of build material (or more particularly diffusivity of the chosen build material), and the actual size is significantly different therefrom, then the intended build material may not actually be in the apparatus. In other examples, an ‘out of bound’ kernel size may be indicative of an apparatus fault, for example a fault or failure in the thermal imaging apparatus or the heating apparatus.
[0051] If the size of the kernel does not exceed the threshold then the method continues to block 306, where the kernel of incremented size is convolved with the bitmap. The method then returns to block 308 for a further iteration of determining a function describing correspondence between the predicted temperature and measured temperature.
[0052] In block 320 an interpolation is performed between the size of the kernel providing the iterations before and after the sign of the curvature changes, to determine a kernel size corresponding to a regression of minimal curvature. For example, a final iteration may be the first iteration which results in a negative curvature, and an interpolation between the kernel size for this final iteration and the kernel size for the penultimate iteration may be carried out. The interpolation may be weighted based on the values of the curvatures to determine the kernel size which would result in curvature equal to zero i.e. a straight line. In some examples linear interpolation may be used. Performing the interpolation is described in more detail with reference to Figure 5. [0053] In block 322, a subsequent predicted temperature distribution (e.g. for a subsequent layer in object generation) is determined by using the kernel with size corresponding to the regression of minimal curvature. Now that an improved kernel has been obtained it may be used in determining predicted temperatures which will more accurately represent the actual temperature distribution.
[0054] In block 324, at least one apparatus parameter is controlled based on the subsequent predicted temperature distribution. An additive manufacturing apparatus may use the updated kernel to predict temperature distributions in control of a build process. For example the size of the kernel may be determined at the beginning of a build process, and applied throughout a build operation to control parameters such as energy delivered to a layer, layer processing time, amounts of print agents and the like.
[0055] In other examples, the size of a kernel may be determined a plurality of times throughout a build operation, for example once for every layer which is deposited during a build process, or once during each phase of depositing a layer. Depositing a layer may comprise multiple phases for example a first phase can comprise depositing build material used for creating a layer and a second phase can comprise depositing agents in the layer an applying energy to the layer. This may allow for changes (e.g. drift) in apparatus performance and/or environmental conditions and the like to be taken into account throughout a build operation. In other examples kernel size may be determined once every time a predetermined number of layers has been deposited or once a predetermined amount of time has passed. In this way processing time may be saved by not performing the method at each layer, while still checking if adjustments should be made throughout the build.
[0056] While in this example the kernel was iteratively increased in size, this need not be the case in all examples. In other examples, the kernel may initially be larger than expected and be decreased in size, or may be both increased and decreased in size to converge on a value which results in a zero or near zero curvature.
[0057] Figures 4A, 4B and 4C show plots of predicted temperature on the horizontal axis against measured temperatures on the vertical axis, having a form similar to that described in relation to Figure 2B and 2D above. In each of Figure 4A, 4B, and 4C a different kernel width (for example, the width may be Full Width at Half Maximum value or the standard deviation of the function described thereby) is used to determine the predicted temperatures. In Figure 4A a kernel with relatively narrow width is used which results in the conduction of heat being overestimated resulting in a regression plot with positive curvature. In Figure 4B the predicted temperature is determined using a kernel with an increased width. In this example the kernel width is such that the regression plot is a straight line which implies the kernel width is optimal. In Figure 4C an even wider kernel is used resulting in a regression plot with negative curvature indicating that this kernel underestimates heat conduction in the build material. The method described herein aims to identify a kernel width such that which results in the plot of Figure 4B which provides a good correlation between predicted and actual temperature of the build material.
[0058] Figure 5 is a graph which shows the results of the iterative process described above in relation to Figure 3. The graph shows a plot 502 of kernel width along the horizontal axis (in arbitrary units in this example, but in general the units may relate to a size in millimetres, or to a voxel count, or the like) and regression curvature on the vertical axis. Each point represents an iteration of the process. In the first iteration 504, the kernel width is zero, and the curvature of the regression plot is determined to be 0.04. In the second iteration the curvature increases, but in each subsequent iteration the curvature decreases. In the fifth iteration 506 the curvature remains positive, but in the sixth iteration 508 the curvature becomes negative. This implies the plot 502 crosses the horizontal axis for a kernel width between that of the fifth iteration 506 and sixth iteration 508. The actual value 510 of kernel width which results in a curvature of zero can be estimated by interpolating between the final iteration which results in a positive curvature and the first iteration which results in negative curvature, in this example the fifth iteration 506 and the sixth iteration 508. The interpolation may be a linear interpolation between the points defined by the predicted temperature and measured temperature for the final iteration with positive curvature and the first iteration with negative curvature. In this example the interpolation results in a kernel width of 2.43. In this example the units are arbitrary, however in practice a kernel width of order 1-10mm, or 1-5mm may be expected for some build materials. Variations between apparatus, environmental conditions, and batch to batch variations of build material, etc. can produce variations of up to 2mm in kernel width.
[0059] Figure 6 shows a machine readable medium 602 associated with a processor 604. The machine readable medium 602 comprises instructions 606 which, when executed by the processor 604, cause the processor 604 to carry out processes. The instructions 606 comprise instructions 608 to cause the processor 604 to acquire a predicted temperature distribution from a model describing an additive manufacturing process, wherein the model utilises a convolution kernel having a first size. The processor may receive the predicted temperature distribution from a storage medium, or may cause the predicted temperature distribution to be calculated.
[0060] The instructions 606 comprise instructions 610 to cause the processor 604 to acquire a measured temperature distribution of the additive manufacturing process. The processor may cause a measurement to be performed to obtain the measured temperature distribution from a temperature measuring apparatus such as an infrared camera. In other examples the processor may receive the measured temperature distribution indirectly, for example via a network connection, or from a memory. In some examples the temperature distribution is measured in real time, or near real time, whereas in other examples the temperature distribution may be measured in advance and stored on a storage medium for use at a later time.
[0061] The instructions 606 further comprise instructions 612 to cause the processor 604 to determine a measure of correlation between the measured temperature distribution and the predicted temperature distribution.
[0062] The instructions 606 further comprise instructions 614 to cause the processor 604 to vary the width of the kernel to increase the measure of correlation between predicted temperatures and measured temperatures. The kernel width may be varied in an iterative manner, for example as described in relation to Figure 3.
[0063] In examples, the machine readable medium 602 may comprise instructions to carry out any, or any combination, of the blocks of Figures 1 or 3, or to act as part of the processing circuitry 702 of Figures 7 or 8.
[0064] Figure 7 shows an apparatus 700 comprising processing circuitry 702. The processing circuitry 702 comprises a measurement module 704, convolution module 706, a correlation module 708 and a kernel width module 710.
[0065] In use of the apparatus 700, the measurement module 704 receives a measured temperature distribution of an additive manufacturing print bed. The temperature distribution may be acquired in real time, or near real time, using a temperature sensing apparatus, or may be acquired form a measurement performed in advance.
[0066] In use of the apparatus 700, the convolution module 706 performs a convolution of a model representing a layer of an object to be generated. The model may comprise a bitmap and/or may comprise data that describes an object to be generated by the apparatus during an additive manufacturing build process. The data may comprise values corresponding to each voxel of a model of a layer in additive manufacturing (for example, theoretical initial temperature values), and can describe which voxels correspond to build material which is intended to comprise fuse.
[0067] In use of the apparatus 700, the correlation module 708 correlates the measured temperature distribution with the predicted temperature distribution. This provides information describing how good the kernel is in producing a predicted temperature distribution which accurately predicts the actual temperature of the build material.
[0068] In use of the apparatus 700, the kernel width module 710 determines a width of the variable width kernel which results in an improved correlation between the measured temperature distribution and the predicted temperature distribution. The width may be varied iteratively, for example as described in relation to Figure 3.
[0069] The processing circuitry 702 may for example perform any or any combination of the blocks of Figure 1 or 3.
[0070] Figure 8 shows an additive manufacturing apparatus 800 comprising processing circuitry 702 which comprises the measurement module 704, convolution module 706, a correlation module 708 and a kernel width module 710 as described above in relation to Figure 7.
[0071] In addition the additive manufacturing apparatus 800 further comprises a thermal imaging device, in this example an infrared camera 802. In this example the measurement module 704 receives the measured temperature distribution from the infrared camera 802. The infrared camera may be to measure the temperature of build material within a print bed of the additive manufacturing apparatus 800. When the temperature is obtained by the infrared camera it can be transmitted to the measurement module 704 for further processing, as described in relation to Figure 7.
[0072] Examples in the present disclosure can be provided as methods, systems or machine readable instructions, such as any combination of software, hardware, firmware or the like. Such machine readable instructions may be included on a computer readable storage medium (including but not limited to disc storage, CD-ROM, optical storage, etc.) having computer readable program codes therein or thereon.
[0073] The present disclosure is described with reference to flow charts and/or block diagrams of the method, devices and systems according to examples of the present disclosure. Although the flow diagrams described above show a specific order of execution, the order of execution may differ from that which is depicted. Blocks described in relation to one flow chart may be combined with those of another flow chart. It shall be understood that each block in the flow charts and/or block diagrams, as well as combinations of the blocks in the flow charts and/or block diagrams can be realized by machine readable instructions.
[0074] The machine readable instructions may, for example, be executed by a general purpose computer, a special purpose computer, an embedded processor or processors of other programmable data processing devices to realize the functions described in the description and diagrams. In particular, a processor or processing apparatus may execute the machine readable instructions. Thus functional modules of the apparatus and devices (for example, the measurement module 704, convolution module 706, a correlation module 708 and/or kernel width module 710) may be implemented by a processor executing machine readable instructions stored in a memory, or a processor operating in accordance with instructions embedded in logic circuitry. The term ‘processor’ is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array etc. The methods and functional modules may all be performed by a single processor or divided amongst several processors.
[0075] Such machine readable instructions may also be stored in a computer readable storage that can guide the computer or other programmable data processing devices to operate in a specific mode.
[0076] Such machine readable instructions may also be loaded onto a computer or other programmable data processing devices, so that the computer or other programmable data processing devices perform a series of operations to produce computer-implemented processing, thus the instructions executed on the computer or other programmable devices realize functions specified by block(s) in the flow charts and/or block diagrams.
[0077] Further, the teachings herein may be implemented in the form of a computer software product, the computer software product being stored in a storage medium and comprising a plurality of instructions for making a computer device implement the methods recited in the examples of the present disclosure. [0078] While the method, apparatus and related aspects have been described with reference to certain examples, various modifications, changes, omissions, and substitutions can be made without departing from the spirit of the present disclosure. It is intended, therefore, that the method, apparatus and related aspects be limited only by the scope of the following claims and their equivalents. It should be noted that the above- mentioned examples illustrate rather than limit what is described herein, and that those skilled in the art will be able to design many alternative implementations without departing from the scope of the appended claims.
[0079] The word “comprising” does not exclude the presence of elements other than those listed in a claim, “a” or “an” does not exclude a plurality, and a single processor or other unit may fulfil the functions of several units recited in the claims.
[0080] The features of any dependent claim may be combined with the features of any of the independent claims or other dependent claims.

Claims

1. A method comprising: determining, using processing circuitry, a predicted temperature distribution of an additive manufacturing process using a convolution kernel having a first size; acquiring a corresponding measured temperature distribution of the additive manufacturing process; determining, using processing circuitry, a function describing a correspondence between the predicted temperature distribution and the measured temperature distribution; and varying the size of the convolution kernel to increase the correspondence between the predicted temperature distribution and the measured temperature distribution.
2. A method as claimed in claim 1 wherein varying the size of the kernel comprises iteratively changing the size of the kernel, and for each iteration determining a predicted temperature distribution and a function describing the correspondence between the predicted temperature distribution and the measured temperature distribution.
3. A method as claimed in claim 2 wherein determining the function describing the correspondence comprises determining a parameter of a regression function associating a temperature of the predicted temperature distribution with a corresponding temperature of the measured temperature distribution.
4. A method as claimed in claim 3, further comprising: at each iteration, determining whether a curvature of the function is positive or negative until the curvature changes between positive and negative.
5. A method as claimed in claim 4, further comprising: performing an interpolation between the size of the kernel providing the iterations before and after the sign of the curvature changes, to determine a kernel size corresponding to a regression of minimal curvature.
6. The method as claimed in claim 5, further comprising: determining a subsequent predicted temperature distribution by using the kernel with size corresponding to the regression of minimal curvature.
7. The method as claimed in claim 6 further comprising controlling at least one apparatus parameter based on the subsequent predicted temperature distribution.
8. The method as claimed in claim 1 , comprising determining if the size of the kernel exceeds a threshold and, if so, determining a fault state.
9. A method as claimed in claim 1 wherein acquiring the measured temperature distribution comprises measuring a temperature of each of a plurality of locations in a layer of build material during an additive manufacturing process.
10. A method as claimed in claim 1 wherein the convolution kernel is a Gaussian function and determining the predicted temperature distribution comprises performing a convolution of the convolution kernel with a bitmap representing a layer of build material to be processed in additive manufacturing, the bitmap indicating locations within layer which are intended to be caused to fuse.
11. A method as claimed in claim 2, wherein the size of the kernel in a first iteration is smaller than an expected kernel size, and in each subsequent iteration the size of the kernel is increased.
12. A machine-readable medium comprising instructions which, when executed by a processor, cause the processor to: acquire a predicted temperature distribution from a model describing an additive manufacturing process, wherein the model utilises a convolution kernel having a first width; acquire a measured temperature distribution of the additive manufacturing process; determine a measure of correlation between the measured temperature distribution and the predicted temperature distribution; and vary the width of the kernel to increase the measure of correlation between predicted temperatures and measured temperatures.
13. An apparatus comprising processing circuitry, the processing circuitry comprising: a measurement module to receive a measured temperature distribution of an additive manufacturing print bed; a convolution module to perform at least one convolution of a model representing a layer of an object to be generated with a variable width kernel to obtain a predicted temperature distribution; a correlation module to correlate the measured temperature distribution with the predicted temperature distribution; and a kernel width module to determine a width of the variable width kernel which results in an improved correlation between the measured temperature distribution and the predicted temperature distribution.
14. An apparatus according to claim 13, further comprising an infrared camera, wherein the measurement module receives the measured temperature distribution from the infrared camera.
15. An apparatus according to claim 13 wherein the apparatus is an additive manufacturing apparatus.
PCT/US2019/052116 2019-09-20 2019-09-20 Convolution kernels WO2021054968A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2019/052116 WO2021054968A1 (en) 2019-09-20 2019-09-20 Convolution kernels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/052116 WO2021054968A1 (en) 2019-09-20 2019-09-20 Convolution kernels

Publications (1)

Publication Number Publication Date
WO2021054968A1 true WO2021054968A1 (en) 2021-03-25

Family

ID=74884521

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2019/052116 WO2021054968A1 (en) 2019-09-20 2019-09-20 Convolution kernels

Country Status (1)

Country Link
WO (1) WO2021054968A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115187918A (en) * 2022-09-14 2022-10-14 中广核贝谷科技有限公司 Method and system for identifying moving object in monitoring video stream

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160059493A1 (en) * 2014-09-02 2016-03-03 Product Innovation and Engineering L.L.C. Additive layering method using improved build description
WO2018234331A1 (en) * 2017-06-20 2018-12-27 Carl Zeiss Ag Method and device for additive manufacturing
US20190079493A1 (en) * 2017-09-14 2019-03-14 General Electric Company Additive manufacturing process plan optimization method and optimizer, and additive manufacturing method
WO2019063370A1 (en) * 2017-09-26 2019-04-04 Siemens Aktiengesellschaft Method and apparatus for monitoring a quality of an object of a 3d-print-job series of identical objects

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160059493A1 (en) * 2014-09-02 2016-03-03 Product Innovation and Engineering L.L.C. Additive layering method using improved build description
WO2018234331A1 (en) * 2017-06-20 2018-12-27 Carl Zeiss Ag Method and device for additive manufacturing
US20190079493A1 (en) * 2017-09-14 2019-03-14 General Electric Company Additive manufacturing process plan optimization method and optimizer, and additive manufacturing method
WO2019063370A1 (en) * 2017-09-26 2019-04-04 Siemens Aktiengesellschaft Method and apparatus for monitoring a quality of an object of a 3d-print-job series of identical objects

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115187918A (en) * 2022-09-14 2022-10-14 中广核贝谷科技有限公司 Method and system for identifying moving object in monitoring video stream
CN115187918B (en) * 2022-09-14 2022-12-13 中广核贝谷科技有限公司 Method and system for identifying moving object in monitoring video stream

Similar Documents

Publication Publication Date Title
US10730282B2 (en) Temperature correction via print agent application
US20190095555A1 (en) Modification data for additive manufacturing
EP3429826B1 (en) Managing thermal contributions between layers during additive manufacturing
US20210370611A1 (en) Object model dimensions for additive manufacturing
US11260598B2 (en) Controlling heat sources based on representative temperatures
CN114175092A (en) Image-based defect detection in additive manufacturing
WO2021054968A1 (en) Convolution kernels
US20220072800A1 (en) Dimensional compensations in additive manufacturing
US20220026876A1 (en) Geometrical compensations
WO2020226605A1 (en) Temperature values in additive manufacturing
US11884021B2 (en) Modifying object geometries based on radiant heating distribution
US20220161498A1 (en) Dimensional compensations for additive manufacturing
WO2020209851A1 (en) Adaptive thermal diffusivity
US20220075348A1 (en) Dimensions in additive manufacturing
WO2020222781A1 (en) Geometrical compensations
US20220016845A1 (en) Geometrical compensation in additive manufacturing
WO2019112580A1 (en) Ancillary objects in object generation
US20210323239A1 (en) Determining cooling agent amounts
WO2023277863A1 (en) Print agent coverage amounts in additive manufacturing
WO2022005464A1 (en) Spatial arrangements for additive manufacturing
WO2021221615A1 (en) Evaluating dimensional accuracy based on weighting factors
WO2022220825A1 (en) Energy levels for fusing energy modules

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: 19946028

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19946028

Country of ref document: EP

Kind code of ref document: A1