SYSTEMS, METHOD AND MEDIA FOR MANUFACTURING PROCESSES

DE602020064920T2Active Publication Date: 2025-12-31NANOTRONICS IMAGING INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE602020064920
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-09-10
Filing Date
2020-09-09
Publication Date
2025-12-31
Estimated Expiration
2040-09-09

AI Technical Summary

Technical Problem

Manufacturing processes often struggle to consistently meet desired design specifications due to the complexity and variability of multi-step operations, leading to inefficiencies and waste, as existing monitoring and adjustment methods are inadequate for real-time adaptation.

Method used

A monitoring platform utilizing reinforcement learning and a prediction engine, comprising a failure classifier, state autoencoder, and corrective agent, dynamically adjusts process controls in real-time to project final quality metrics and correct deviations, leveraging machine learning to optimize manufacturing processes.

Benefits of technology

Enhances the ability to produce high-quality products by dynamically adjusting manufacturing processes, reducing waste and improving consistency by projecting final quality metrics and implementing corrective actions in real-time.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

Cross-Reference to Related Applications

[0001] This application claims priority to U.S. Provisional Application Serial No. 62 / 898,535, filed September 10, 2019.Field of Disclosure

[0002] The present disclosure generally relates to a system, method, and media for manufacturing processes.Background

[0003] To manufacture products that consistently meet desired design specifications safely, timely, and with minimum waste, constant monitoring and adjustment to the manufacturing process is typically required.

[0004] US2019118300A1 relates to systems, devices, and methods for additive manufacturing are provided that allow for components being manufactured to be assessed during the printing process. As a result, changes to a print plan can be considered, made, and implemented during the printing process. More particularly, a spectrometer is operated while a component is being printed to measure one or more parameters associated with one or more layers of the component being printed. The measured parameter(s) are then relied upon to determine if any changes are needed to the way printing is occurring, and if such changes are desirable, the system is able to implement such changes during the printing process. By way of non-limiting examples, printed material in one or more layers may be reheated to alter the printed component, such as to remove defects identified by the spectrometer data. A variety of systems, devices, and methods for performing real-time sensing and control of an additive manufacturing process are also provided.

[0005] US2014301179A1 relates to a manufactured physical object including surface features that encode information according to a code. Each respective surface feature consists of a bump on, or recess in, a surface of the object. Each respective surface feature by itself, regardless of any state of any other surface feature, encodes a sequence of multiple bits. The sequence is determined, at least in part, by a discrete elevation of the respective surface feature. At least three different discrete elevations of surface features are significant in the code. Also, one or more other parameters of the surface features may be significant in the code, such as discrete rotational orientation, discrete overall shape, discrete color, or presence or absence of the feature.

[0006] WO2019125970A1 relates to an additive manufacturing system using a trained artificial intelligence module as part of a closed-loop control structure for adjusting the initial set of build parameters in-process to improve part quality. The closed-loop control structure includes a slow control loop taking into account in-process build layer images, and may include fast control loop taking into account melt pool monitoring data. The artificial intelligence module is trained using outputs from a plurality of convolutional neural networks (CNNs) tasked with evaluating build layer images captured in- process and images of finished parts captured post-process. The post process images may include two-dimensional images of sectioned finished parts and three- dimensional CAT scan images of finished parts.

[0007] US2019004079A1 relates to a manufacturing computer device for dynamically adapting additive manufacturing of a part. The manufacturing computer device includes at least one processor in communication with at least one memory device. The at least one memory device stores a build file for building the part including a plurality of geometries that each include one or more values of a first build parameter. The processor is programmed to receive sensor information of a build of the part by a machine, compare the sensor information for each geometry of the plurality of geometries to the corresponding one or more values of the first build parameter, determine one or more values for a second build parameter for each of the geometries based on the one or more differences, and generate an updated build file for the part including the one or more values for the second build parameter.

[0008] US2019227524A1 relates to methods for real-time adaptive control of a free form deposition process or a joining process, the methods comprising: a) providing an input design geometry for an object; b) providing a training data set, wherein the training data set comprises process simulation data, process characterization data, in-process inspection data, post-build inspection data, or any combination thereof, for a plurality of design geometries or portions thereof that are the same as or different from the input design geometry of step (a); c) providing a predicted optimal set or sequence of one or more process control parameters for fabricating the object, wherein the predicted optimal set of one or more process control parameters are derived using a machine learning algorithm that has been trained using the training data set of step (b); and d) performing the free form deposition process or the joining process to fabricate the object, wherein real-time process characterization data is provided as input to the machine learning algorithm to adjust one or more process control parameters in real-time.Summary

[0009] In accordance with a first aspect of the present invention there is provided a manufacturing system as defined in claim 1. Optional and / or preferable features are defined in the dependent claims.

[0010] In accordance with a second aspect of the invention there is provided a multi-step manufacturing method as defined in claim 5. Optional and or preferable features are defined in the dependent claims.

[0011] In accordance with a third aspect of the invention, there is provided a three dimensional (3D) printing system as defined in claim 9. Optional and / or preferable features are defined in the dependent claims.Brief Description of the Drawings

[0012] So that the manner in which the above recited features of the present disclosure can be understood in detail, a more particular description of the disclosure, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this disclosure and are therefore not to be considered limiting of its scope, for the disclosure may admit to other equally effective embodiments, so long as they fall within the scope of the appended claims. Figure 1 is a block diagram illustrating a manufacturing environment, used by example embodiments. Figure 2 is a block diagram illustrating prediction engine of manufacturing environment, used by example embodiments. Figure 3 is a block diagram illustrating architecture of state autoencoder of the prediction engine, used by example embodiments. Figure 4 is a block diagram illustrating architecture of an actor-critic paradigm for corrective agent of the prediction engine, used by example embodiments. Figure 5 is a flow diagram illustrating a method of performing a multi-step manufacturing process, according to embodiments. Figure 6A illustrates a system bus computing system architecture, used with embodiments. Figure 6B illustrates a computer system having a chipset architecture, used with embodiments.

[0013] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements disclosed in one embodiment may be beneficially utilized on other embodiments without specific recitation.Detailed Description

[0014] Manufacturing processes may be complex and include raw materials being processed by different process stations (or "stations") until a final product is produced. In some embodiments, each process station receives an input for processing and may output an intermediate output that may be passed along to a subsequent (downstream) process station for additional processing. In some embodiments, a final process station may receive an input for processing and may output the final product or, more generally, the final output.

[0015] Each station may include one or more tools / equipment that may perform a set of processes steps. Exemplary process stations may include, but are not limited to, conveyor belts, injection molding presses, cutting machines, die stamping machines, extruders, computer numerical control (CNC) mills, grinders, assembly stations, three-dimensional printers, quality control stations, validation stations, and the like.

[0016] Operations of each process station may be governed by one or more process controllers. Each process station may include one or more process controllers that may be programmed to control the operation of the process station. An operator, or control algorithms, may provide the station controller with station controller setpoints that may represent the desired value, or range of values, for each control value. In some embodiments, values used for feedback or feed forward in a manufacturing process may be referred to as control values. Exemplary control values may include, but are not limited to: speed, temperature, pressure, vacuum, rotation, current, voltage, power, viscosity, materials / resources used at the station, throughput rate, outage time, noxious fumes, and the like.

[0017] One or more techniques described herein are generally directed to a monitoring platform configured to monitor each step of a multi-step manufacturing process. For each step of the multi-step manufacturing process, the monitoring platform may monitor progress of the product and determine how a current state of the product affects a final quality metric associated with the final product. Generally, a final quality metric is a metric that cannot be measured at each step of a multi-step manufacturing process. Exemplary final quality metrics may include, but are not limited to, tensile strength, hardness, thermal properties of the final product, and the like. For certain final quality metrics, such as tensile strength, destructive testing is used for measuring such metric.

[0018] The one or more techniques described herein are able to project the final quality metric at each step of a multi-step manufacturing process using one or more artificial intelligence techniques. For example, the one or more techniques described herein may leverage one or more reinforcement algorithms to project the final quality metric based on a state of the product at a specific step of a multi-step manufacturing process.

[0019] The application of reinforcement learning to the physical environment is not a trivial task. Reinforcement learning, in general, is not as conducive to real, physical environments, as other types of machine learning techniques. This may be attributed to the large number of training examples that are typically required to train a prediction model. In the physical environment, it is often difficult to generate the requisite number of training examples due to the cost and time of manufacturing physical products. To account for this limitation, the one or more techniques provided herein may leverage a model-free reinforcement learning technique, which allows a prediction model to learn an environment as it is traversed. This plays well with physical measurements as it requires less measurements for a prediction of optimal actions.

[0020] Figure 1 is a block diagram illustrating a manufacturing environment 100, used by example embodiments. Manufacturing environment 100 may include a manufacturing system 102, a monitoring platform 104, and a control module 106. Manufacturing system 102 may be broadly representative of a multi-step manufacturing system. Manufacturing system 102 may be representative of a manufacturing system for use in additive manufacturing (e.g., 3D printing system). In some embodiments, manufacturing system 102 may be representative of a manufacturing system for use in subtractive manufacturing (e.g., CNC machining. Manufacturing system 102 may be representative of a manufacturing system for use in a combination of additive manufacturing and subtractive manufacturing. More generally, manufacturing system 102 may be representative of a manufacturing system for use in a general manufacturing process.

[0021] Manufacturing system 102 may include one or more stations 108 1 -108 n (generally, "station 108"). Each station 108 may be representative of a step and / or station in a multi-step manufacturing process. For example, each station 108 may be representative of a layer deposition operation in a 3D printing process (e.g., station 108 1 may correspond to layer 1, station 108 2 may correspond to layer 2, etc.). In another example, each station 108 may correspond to a specific processing station.

[0022] Each station 108 may include a process controller 114 and control logic 116. Each process controller 114 1 -114 n may be programmed to control the operation of each respective station 108. Control module 106 may provide each process controller 114 with station controller setpoints that may represent the desired value, or range of values, for each control value. Control logic 116 may refer to the attributes / parameters associated with a station's 108 process steps. In operation, control logic 116 for each station 108 may be dynamically updated throughout the manufacturing process by control module 106, depending on a current trajectory of a final quality metric.

[0023] Monitoring platform 104 may be configured to monitor each station 108 of manufacturing system 102. Monitoring platform 104 may be a component of manufacturing system 102. For example, monitoring platform 104 may be a component of a 3D printing system. Monitoring platform 104 may be independent of manufacturing system 102. For example, monitoring platform 104 may be retrofit onto an existing manufacturing system 102. Monitoring platform 104 may be representative of an imaging device configured to capture an image of a product at each step of a multi-step process. For example, monitoring platform 104 may be configured to capture an image of the product at each station 108. Generally, monitoring platform 104 may be configured to capture information associated with production of a product (e.g., an image, a voltage reading, a speed reading, etc.), and provide that information, as input, to control module 106 for evaluation.

[0024] Control module 106 may be in communication with manufacturing system 102 and monitoring platform 104 via one or more communication channels. The one or more communication channels may be representative of individual connections via the Internet, such as cellular or Wi-Fi networks. The one or more communication channels may connect terminals, services, and mobile devices using direct connections, such as radio frequency identification (RFID), near-field communication (NFC), Bluetooth ™< , low-energy Bluetooth ™< (BLE), Wi-Fi ™< , ZigBee ™< , ambient backscatter communication (ABC) protocols, USB, WAN, or LAN.

[0025] Control module 106 may be configured to control each process controller of manufacturing system 102. For example, based on information captured by monitoring platform 104, control module 106 may be configured to adjust process controls associated with a specific station 108. Control module 106 may be configured to adjust process controls of a specific station 108 based on a projected final quality metric.

[0026] Control module 106 may include prediction engine 112. Prediction engine 112 may be representative of one or more machine learning modules trained to project a final quality metric of a product based on measured data each individual step of a multi-step manufacturing process. In operation, control module 106 may receive input from monitoring platform 104. Such input may take the form of an image of a current state of a product following a step of the multi-step manufacturing process. Based on the input, control module 106 may project a final quality metric of the product. Depending on the projected final quality metric of the product, control module 106 may determine one or more actions to take in subsequent manufacturing steps. For example, if the projected final quality metric falls outside of a range of acceptable values, control module 106 may take one or more actions to rectify the manufacturing process. Control module 106 may interface with station controllers in subsequent stations 108 to adjust their respective control and / or station parameters. These adjustments may aid in correcting the manufacturing process, such that the final quality metric may be within the range of acceptable quality metrics.

[0027] Figure 2 is a block diagram illustrating prediction engine 112, used by example embodiments. As illustrated, prediction engine 112 may include failure classifier 202, state autoencoder 204, and corrective agent 206. Each of failure classifier 202, state autoencoder 204, and corrective agent 206 may include one or more software modules. The one or more software modules may be collections of code or instructions stored on a media (e.g., memory of computing systems associated with control module 106) that represent a series of machine instructions (e.g., program code) that implements one or more algorithmic steps. Such machine instructions may be the actual computer code the processor interprets to implement the instructions or, alternatively, may be a higher level of coding of the instructions that is interpreted to obtain the actual computer code. The one or more software modules may also include one or more hardware components. An example algorithm may be performed by the hardware components (e.g., circuitry) itself, rather as a result of the instructions. Further, each of failure classifier 202, state autoencoder 204, and corrective agent 206 may be configured to transmit one or more signals among the components. Such signals may not be limited to machine instructions executed by a computing device.

[0028] Failure classifier 202, state autoencoder 204, and corrective agent 206 may communicate via one or more local networks 205. Network 205 may be of any suitable type, including individual connections via the Internet, such as cellular or Wi-Fi networks. Network 205 may connect terminals, services, and mobile devices using direct connections, such as radio frequency identification (RFID), near-field communication (NFC), Bluetooth ™< , low-energy Bluetooth ™< (BLE), Wi-Fi ™< , ZigBee ™< , ambient backscatter communication (ABC) protocols, USB, WAN, or LAN. Because the information transmitted may be personal or confidential, security concerns may dictate one or more of these types of connection be encrypted or otherwise secured. However, the information being transmitted may be less personal, and therefore, the network connections may be selected for convenience over security.

[0029] Failure classifier 202 may be configured to determine whether a corrective action on a manufacturing technique is possible. For example, failure classifier 202 may receive, as input, input from monitoring platform 104. Based on the input, failure classifier 202 may determine whether an irrecoverable failure is present. Using a specific example in the field of 3D printing, when a part may become dislodged from a heat bed of the 3D printer or filament is ground down to the point that feeder gears are unable to grip the surface, layers will inherently be misprinted. This is typically an unrecoverable failure, as depositing any amount of plastic on the subsequent layers will not impact the final form of the print. In this manner, a failure is classified as a specimen whose current active layer is incapable of printing on. To correct for these circumstances, one approach is to stop printing the region in which failure was detected, such that the additional unfused plastic will not impact other specimen and cause the failure to cascade to a batch failure.

[0030] In some embodiments, failure classifier 202 may include a convolutional neural network (CNN) 212 trained to identify when an irrecoverable failure is present. CNN 212 may include three convolutional / max pooling layers for feature learning, followed by a full-connected network with dropout, and soft-max activation performing binary classification. CNN 212 may receive, as input from monitoring platform 104, an image of a product before a start of a manufacturing step. Based on the image, CNN 212 may be configured to generate a binary output (e.g., failed or not failed) indicating whether there is an irrecoverable failure present.

[0031] CNN 212 may be trained on the following classes -- failed or not failed. The training set may include various images of products that include features of failed products and features of not failed products. The training set may include thousands of examples of each class. Using a specific example in the field of 3D printing, the training set may include an adequate number of instances of each classification, as a filed print with Y (e.g,.500) layers may have N examples representing a printable layer, and Y - N examples of failure, where N may represent the layer the print failed. In some embodiments, a given batch may include twelve specimens printed, totaling 6000 images per batch. A large set of training image may be collected with labelling that includes visually identifying the layer on which the print failed in an individual region of interest and splitting the data set accordingly.

[0032] State autoencoder 204 may be configured to generate a state encoding for a particular product, upon a determination by failure classifier 202 that the product has not failed. For example, state autoencoder 204 may be configured to generate a state for an agent to act from. State autoencoder 204 may be trained user unsupervised methods in order to generate a state for an agent to act from.

[0033] Figure 3 is a block diagram illustrating architecture of state autoencoder 204, used by example embodiments. As shown, state autoencoder 204 may include an encoder portion 302 and a decoder portion 304. Encoder portion 302 and decoder portion 304 may be mirrored version of themselves, which allows the weights to be trained to reduce the information to an arbitrary dimension that is capable of representing the core components of an image.

[0034] As shown, encoder portion 302 may include images 306, one or more convolutional layers 308, a pooling layer 310, and one or more fully connected layers 312. Images 306 may be representative of an input image received from monitoring platform 104 of a target product or specimen. One or more convolutional layers 308 may be representative of several convolutional layers, with each convolutional layer configured to identify certain features present in the input image. Following passage through one or more convolutional layers 308, the output from one or more convolutional layers 308 may be provided to a pooling layer 310. Pooling layer 310 may be configured to reduce the overall size of the image. The output of pooling layer 310 may be provided to one or more fully connected layers 312. One or more fully connected layers 312 may be representative of several fully connected layers 312. One or more fully connected layers 312 may generate, as output, feature vector 314, which may be used as state definition for corrective agent 206. Feature vector 314 may be an encoded low dimensional representation of one or more high dimensional feature(s) of the target specimen (e.g., images of the specimen). The encoded feature vector 314 may be a latent variable of fixed dimension. Feature vector 314 dimension may be chosen as a part of the neural network design process to best represent the high dimensional features in the encoded latent space.

[0035] Decoder portion 304 may be configured to reconstruct the input image from the output generated by encoder portion 302. Decoder portion 304 may include one or more fully connected layers 316, one or more upsampling layers 318, one or more deconvolutional layers 320, and one or more images 322. One or more fully connected layers 316 may receive input from one or more fully connected layers 312. For example, one or more fully connected layers 316 may receive descaled image data as input, from encoder portion 302. Fully connected layers 316 may provide input to one or more upsampling layers 318. Upsampling layers 318 may be configured to upsample or increase the dimensions of the input provided by fully connected layers 316. Upsampling layers 318 may provide the upsampled images to one or more deconvolutional layers 320 to generate one or more images 322.

[0036] Referring back to Figure 2, the feature vector generated by state autoencoder 204 may be provided as input to corrective agent 206. Corrective agent 206 may be configured to project a final quality metric for a product based on a current state of the product and identify one or more corrective actions to take, assuming the projected final quality metric is not within a range of acceptable values.

[0037] Figure 4 is a block diagram illustrating architecture of an actor-critic paradigm for corrective agent 206, according to example embodiments. As shown, corrective agent 206 may include a current state 402, an actor network ("actor") 404, and a critic network ("critic") 406. Current state 402 may be representative of feature vector 314 generated by state autoencoder 204. For example, corrective agent 206 may receive feature vector 314 and, in parallel, use it as input to two separate networks: actor 404 and critic 406.

[0038] Actor 404 may be configured to generate predictions of corrective actions to be taken based on a given state definition. For example, based on feature vector 314, actor 404 may be configured to generate one or more corrective actions to be taken based on the final quality metric. The set of possible permissible actions to be taken may be pre-set by a user. For example, in the case of 3D printing, the set of permissible actions to be taken may include changing a length of extruded plastic and changing a speed of the extruder head. These actions were selected because they are typically included in every print move of the 3D printing process and dictate the amount of plastic that is meant to be extruded per instruction, as well as the speed at which the print head moves. Both variables are related to the precision of the extrusion process.

[0039] As shown, actor 404 may include one or more fully connected layers 408, 412 and one or more activation functions 410, 414. Activation functions 410 and 414 may be hyperbolic tan (tanh) activation functions. As output, actor 404 may be configured to generate a set of actions (e.g., reward set 416) to be taken based on the current state of the product, as defined by feature vector 314.

[0040] Critic 406 may include architecture similar to actor 404. For example, critic 406 may include similar one or more fully connected layers 418, 422 and similar one or more activation functions 420, 424. The nature of identical inputs for actor 404 and critic 406 may suggest an appropriate transform would contain identical network architectures for both the actor 404 and critic 406 until concatenation. The architecture of both actor 404 and the critic 406 may be designed accordingly. Adopting similar architecture for both actor 404 and critic 406 may allow the design process to be simple, fast and easy to debug. The size and shape of the subsequent network layers may be dependent on that concatenation. The output from one or more fully connected layers 418, 422 may be merged with the set of actions (e.g., reward set 416) generated by actor 404 (e.g., merge 426). Critic 406 may use the set of actions to make a prediction (e.g., prediction 432) of the quality over a trajectory of action using fully connected layers 428 and activation function 430.

[0041] Referring back to Figure 2, prediction engine 112 may be in communication with database 208. Database 208 may store one or more prior experiences 210. Prior experiences 210 may be representative of recommended actions taken for a given state vector and a corresponding final quality metric as a result of those recommend actions. In this manner, prediction engine 112 may constantly adjust its parameters in order to learn which actions to take for a given state of a product that will result in a final quality metric that is within a range of acceptable final quality metrics.

[0042] Figure 5 is a flow diagram illustrating a method 500 of correcting a performing a multi-step manufacturing process, according embodiments. Method 500 may begin at step 502.

[0043] At step 502, a canonical instruction set may be provided to manufacturing system 102. Canonical instruction set may be representative of a set of instructions for a manufacturing process. A canonical instruction set may be provided to each station 108. Each canonical instruction set may dictate the processing parameters for a specific manufacturing step corresponding to a respective station 108.

[0044] At step 504, control module 106 may determine whether manufacturing system 102 is in a terminal state. In other words, control module 106 may determine whether manufacturing system 102 has finished completing a target product. If control module 106 determines that manufacturing system 102 is in a terminal state (i.e., the product has been manufactured), then method 500 may end. If, however, control module 106 determines that manufacturing system 102 is not in a terminal state, method 500 may proceed to step 506.

[0045] At step 506, a corrective action may be applied to a given manufacturing step. For example, based on a prediction generated by corrective agent 206, control module 106 may instruct a given station 108 to adjust one or more processing parameters that correspond to the corrective action to be applied. Step 506 may be optional, such as in situations where the product is undergoing the first processing step or when corrective agent 206 determines that no corrected action is needed.

[0046] At step 508, prediction engine 112 may inspect the product at an end of a processing step. For example, prediction engine 112 may receive input (e.g., one or more images) of the product at the end of a particular processing step from monitoring platform 104. Using the input, failure classifier 202 may determine whether an irrecoverable failure is present. For example, failure classifier 202 may provide the image to CNN 212, which is trained to identify various features of the image to determine whether a irrecoverable failure is present.

[0047] At step 510, prediction engine 112 may determine whether a failure is present. If at step 510, prediction engine 112 determines that an irrecoverable failure is present, then the manufacturing process may terminate. If, however, at step 510, prediction engine 112 determines that an irrecoverable failure is not present, then method 500 may proceed to step 514.

[0048] At step 514, prediction engine 112 may generate a state encoding for the particular processing step. For example, state autoencoder 204 may be configured to generate a state encoding for the manufacturing step, upon a determination by failure classifier 202 that the product has not failed. State autoencoder 204 may generate the state encoding based on the received input (e.g., one or more image of the product) captured by monitoring platform 104.

[0049] At step 516, prediction engine 112 may determine a corrective action to be taken at the next station based on the input and the state encoding. For example, corrective agent 206 may be configured to project a final quality metric for a product based on a current state of the product and identify one or more corrective actions to take, assuming the projected final quality metric is not within a range of acceptable values. Prediction engine 112 may transmit the corrective action to a respective process controller 114 corresponding to a next processing step.

[0050] Following step 516, method 500 may revert to step 504, and control module 106 may determine whether manufacturing system 102 is in a terminal state. If control module 106 determines that manufacturing system 102 is in a terminal state (i.e., the product has been manufactured), then method 500 ends. If, however, control module 106 determines that manufacturing system 102 is not in a terminal state, method 500 may proceed to step 506.

[0051] At step 506, a corrective action may be applied to a given manufacturing step. For example, based on a prediction generated by corrective agent 206 at step 516, control module 106 may instruct a given station 108 to adjust one or more processing parameters that correspond to the corrective action to be applied.

[0052] The following processes may repeat until control module 106 determines that manufacturing system 102 is in a terminal state.

[0053] Figure 6A illustrates a system bus computing system architecture 600, used with embodiments. One or more components of system 600 may be in electrical communication with each other using a bus 605. System 600 may include a processor (e.g., one or more CPUs, GPUs or other types of processors) 610 and a system bus 605 that couples various system components including the system memory 615, such as read only memory (ROM) 620 and random access memory (RAM) 625, to processor 610. System 600 can include a cache of highspeed memory connected directly with, in close proximity to, or integrated as part of processor 610. System 600 can copy data from memory 615 and / or storage device 630 to cache 612 for quick access by processor 610. In this way, cache 612 may provide a performance boost that avoids processor 610 delays while waiting for data. These and other modules can control or be configured to control processor 610 to perform various actions. Other system memory 615 may be available for use as well. Memory 615 may include multiple different types of memory with different performance characteristics. Processor 610 may be representative of a single processor or multiple processors. Processor 610 can include one or more of a general purpose processor or a hardware module or software module, such as service 1 632, service 2 634, and service 3 636 stored in storage device 630, configured to control processor 610, as well as a special-purpose processor where software instructions are incorporated into the actual processor design. Processor 610 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multicore processor may be symmetric or asymmetric.

[0054] To enable user interaction with the computing device 600, an input device 645 which can be any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device 635 can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems can enable a user to provide multiple types of input to communicate with computing device 600. Communications interface 640 can generally govern and manage the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.

[0055] Storage device 630 may be a non-volatile memory and can be a hard disk or other types of computer readable media that can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) 625, read only memory (ROM) 620, and hybrids thereof.

[0056] Storage device 630 can include services 632, 634, and 636 for controlling the processor 610. Other hardware or software modules are contemplated. Storage device 630 can be connected to system bus 605. In one aspect, a hardware module that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as processor 610, bus 605, display 635, and so forth, to carry out the function.

[0057] Figure 6B illustrates a computer system 650 having a chipset architecture, according to example embodiments. Computer system 650 may be an example of computer hardware, software, and firmware that can be used to implement the disclosed technology. System 650 can include one or more processors 655, representative of any number of physically and / or logically distinct resources capable of executing software, firmware, and hardware configured to perform identified computations. One or more processors 655 can communicate with a chipset 660 that can control input to and output from one or more processors 655. In this example, chipset 660 outputs information to output 665, such as a display, and can read and write information to storage device 670, which can include magnetic media, and solid state media, for example. Chipset 660 can also read data from and write data to RAM 675. A bridge 680 for interfacing with a variety of user interface components 685 can be provided for interfacing with chipset 660. Such user interface components 685 can include a keyboard, a microphone, touch detection and processing circuitry, a pointing device, such as a mouse, and so on. In general, inputs to system 650 can come from any of a variety of sources, machine generated and / or human generated.

[0058] Chipset 660 can also interface with one or more communication interfaces 690 that can have different physical interfaces. Such communication interfaces can include interfaces for wired and wireless local area networks, for broadband wireless networks, as well as personal area networks. Some applications of the methods for generating, displaying, and using the GUI disclosed herein can include receiving ordered datasets over the physical interface or be generated by the machine itself by one or more processors 655 analyzing data stored in storage 670 or 675. Further, the machine can receive inputs from a user through user interface components 685 and execute appropriate functions, such as browsing functions by interpreting these inputs using one or more processors 655.

[0059] It can be appreciated that example systems 600 and 650 can have more than one processor 610 or be part of a group or cluster of computing devices networked together to provide greater processing capability.

[0060] While the foregoing is directed to embodiments described herein, other and further embodiments may be devised without departing from the basic scope thereof. For example, aspects of the present disclosure may be implemented in hardware or software or a combination of hardware and software. The program(s) of the program product define functions of the embodiments (including the methods described herein) and can be contained on a variety of computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory (ROM) devices within a computer, such as CD-ROM disks readably by a CD-ROM drive, flash memory, ROM chips, or any type of solid-state non-volatile memory) on which information is permanently stored; and (ii) writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive or any type of solid state random-access memory) on which alterable information is stored. Such computer-readable storage media, when carrying computer-readable instructions that direct the functions of the disclosed embodiments, are embodiments of the present disclosure.

Claims

1. A manufacturing system (102), comprising: one or more stations (1081 - 108n), each station (108) configured to perform at least one step in a multi-step manufacturing process for a product; a monitoring platform (104) configured to monitor progression of the product throughout the multi-step manufacturing process; and a control module (106) configured to dynamically adjust processing parameters of each step of the multi-step manufacturing process to achieve a desired final quality metric for the product, the control module (106) comprising a failure classifier (202), a corrective agent (206), and a state autoencoder (204) communicating via a network, the control module (106) configured to perform operations, comprising: receiving, from the monitoring platform (104), an image of the product at a step of the multi-step manufacturing process; determining, by the failure classifier (202) of the control module (106), that an irrecoverable failure is not present based on the image of the product; responsive to determining that an irrecoverable failure is not present, generating, by the state autoencoder (204) of the control module (106), a state encoding for the product based on the image; predicting, by the corrective agent (206) of the control module (106), a final quality metric of the product based on the state encoding generated by the state autoencoder (204), the final quality metric representing a metric associated with the product that cannot be measured until processing of the product is complete; determining, by the corrective agent (206) of the control module (106) that the final quality metric is not within a range of acceptable values; and based on the determining: generating, by the corrective agent (206) of the control module (106), a corrective action to be performed by a downstream station, and updating, by the control module (106) control logic for the downstream station to perform the corrective action.

2. The manufacturing system (102) of claim 1, further comprising: projecting an updated final quality metric based on the corrective action and the state encoding.

3. The manufacturing system (102) of claim 1 or claim 2, wherein the failure classifier (202) comprises a convolutional neural network trained to receive, as input, the image of the product and generate, as output, a determination of whether an irrecoverable failure is present.

4. The manufacturing system (102) of claim 1 or of any of claims 2 to 3, further comprising: generating, by the corrective agent (206) of the control module (106), a further corrective action to be performed by a further downstream station, and updating, by the control module (106), further control logic for the further downstream station to perform the further corrective action, wherein each of the one or more stations correspond to a layer deposition in a 3D printing process.

5. A multi-step manufacturing method, comprising: receiving, by a computing system from a monitoring platform (104) of a manufacturing system (102) according to claim 1, an image of a product at a station of one or more stations (1081 - 108n), each station (108) configured to perform a step of a multi-step manufacturing process; determining, by a failure classifier (202) of the computing system, that an irrecoverable failure is not present based on the image of the product; responsive to determining that an irrecoverable failure is not present, generating, by a state encoder (204) of the computing system, a state encoding for the product based on the image of the product; predicting, by a corrective agent (206) of the computing system, a final quality metric of the product based on the state encoding generated by the state autoencoder (204), the final quality metric representing a metric associated with the product that cannot be measured until processing of the product is complete; determining, by the corrective agent (206) of the computing system, that the final quality metric of the product is not within a range of acceptable values; and based on the determining: generating, by the corrective agent (206) of the computing system, a corrective action to be performed by a downstream station, and updating, by the computing system, control logic for the downstream station to perform the corrective action.

6. The multi-step manufacturing method of claim 5, further comprising: projecting an updated final quality metric based on the corrective action and the state encoding.

7. The multi-step manufacturing method of claim 5 or claim 6, wherein the failure classifier (202) comprises a convolutional neural network (212) trained to receive, as input, the image of the product and generate, as output, a determination of whether an irrecoverable failure is present.

8. The multi-step manufacturing method of claim 5 or of any of claims 6 to 7, further comprising: generating, by the corrective agent (206) of the computing system, a further corrective action to be performed by a further downstream station, and updating, by the computing system, a further control logic for the further downstream station to perform the further corrective action, wherein each of the one or more stations correspond to a layer deposition in a 3D printing process.

9. A three-dimensional (3D) printing system, comprising: a processing station configured to deposit a plurality of layers to form a product; a monitoring platform (104) configured to monitor progression of the product throughout a deposition process; and a control module (106) configured to dynamically adjust processing parameters for each layer of the plurality of layers to achieve a desired final quality metric for the product, the control module (106) comprising a failure classifier (202), a corrective agent (206), and a state autoencoder (204) communicating via a network, the control module (106) configured to perform operations, comprising: receiving, from the monitoring platform (104), an image of the product after a layer has been deposited; determining, by the failure classifier (202) of the control module (106), that an irrecoverable failure is not present based on the image of the product; responsive to determining that an irrecoverable failure is not present, generating, by the state encoder of the control module (106), a state encoding for the product based on the image of the product; predicting, by the corrective agent (206) of the control module (106), a final quality metric of the product based on the state encoding generated by the state autoencoder (204), the final quality metric representing a metric associated with the product that cannot be measured until processing of the product is complete; determining, by the corrective agent (206) of the control module (106), that the final quality metric is not within a range of acceptable values; and based on the determining: generating, by the corrective agent (206) of the control module (106), a corrective action to be performed for depositing a following layer of the plurality of layers, and updating, by the control module (106), control logic for depositing the following layer of the plurality of layers in accordance with the corrective action.

10. The system of claim 9 further comprising: projecting an updated final quality metric based on the corrective action and the state encoding.

11. The system of claim 9 or claim 10, wherein the failure classifier (202) comprises a convolutional neural network (212) trained to receive, as input, the image of the product and generate, as output, a determination of whether an irrecoverable failure is present.

12. The system of claim 9 or of any of claims 10 to 11, further comprising: generating, by the corrective agent (206) of the control module (106), a further corrective action to be performed by a further downstream station, and updating, by the control module (106), further control logic for a further following layer based on the further corrective action.