Controlling Precision Systems Using Free-Topology Waveforms

Automated free topology optimization for inkjet waveforms addresses the limitations of existing methods by ensuring precise droplet control and placement accuracy through computer vision and feedback, enhancing inkjet performance for diverse fluids and devices.

JP7758354B2Active Publication Date: 2025-10-22BOARD OF RGT THE UNIV OF TEXAS SYST
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2022558256
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-03-25
Filing Date
2021-03-25
Publication Date
2025-10-22
Estimated Expiration
2041-03-25

AI Technical Summary

Technical Problem

Existing methods for optimizing inkjet pressure waveforms are overly conservative and limited, failing to consider the complex correlation between piezoelectric structural materials, actuation mechanics, inkjet geometry, and fluid rheology, leading to suboptimal droplet resolution and placement accuracy, especially for complex fluid properties.

Method used

A computer-implemented method using free topology optimization and automated tuning to generate optimized control variable vectors for inkjet waveforms, incorporating computer vision for droplet imaging and feedback, to achieve precise droplet control and minimize defects.

Benefits of technology

Automated optimization of complex pressure waveforms ensures accurate droplet resolution and placement, reducing transient defects, satellites, and debris, while adapting to various fluid and inkjet device combinations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007758354000002
    Figure 0007758354000002
  • Figure 0007758354000003
    Figure 0007758354000003
  • Figure 0007758354000004
    Figure 0007758354000004
Patent Text Reader

Abstract

A method, computer program product, and system for precision inkjet printing includes determining a control variable vector of operating parameters associated with an inkjet waveform. A printhead is then actuated to eject a grid of droplets from the inkjet onto a substrate based on the inkjet waveform. An image of the grid of droplets on the substrate is then acquired. The acquired image is then processed to calculate a fitness function for the inkjet waveform, the fitness function including a function of sensed output variables related to print characteristics. The control variable vector is then adjusted by updating its topology based on the fitness function to obtain an optimized control variable vector associated with the optimized inkjet waveform.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Patent Application No. 62 / 994,368, entitled "Precision Inkjet Control Using Free Topology Waveforms," ​​filed March 25, 2020, the entire contents of which are incorporated herein by reference.

[0002] Government Interests This invention was made with government support under Grant No. EEC 1160494 awarded by the National Science Foundation. The United States Government has certain rights in this invention.

[0003] The present invention relates generally to inkjet printing, and more particularly to precision inkjet printing using free topology waveforms. [Background technology]

[0004] Inkjet devices, such as printers, are configured to print images on substrates such as paper, plastic, or other materials. Inkjet devices generally include a printhead (also referred to as an "ink jet") that selectively ejects ink droplets from nozzles in the printhead onto the substrate. The ink droplets are deposited on the substrate, printing the desired image.

[0005] Ink-jetting is a complex phenomenon involving several different interacting physical processes. There are various types of ink-jet devices that use different mechanisms for ink-jetting. For example, an ink-jet device may include a printhead that uses mechanisms such as piezoelectric, thermal, electrohydrodynamic, and other suitable mechanisms. Piezoelectric ink-jet uses a piezoelectric element to acoustically stimulate ink in a channel behind a nozzle. The resulting pressure change at the nozzle causes a droplet to be ejected. The piezoelectric element is operated by an actuation waveform, which is a short electrical pulse that is generated for each ejection of a droplet.

[0006] In a piezoelectric inkjet, the pressure at the orifice is based on a pressure waveform that is typically a series of voltage ramps and plateaus on the order of tens of volts, lasting approximately 2 to 50 microseconds (μs). Each voltage change deforms the piezoelectric element, thereby initiating an acoustic pressure wave that propagates to the nozzle and fluid reservoir. When the pressure wave reaches the nozzle, the resulting pressure change can control the fluid dynamics at the nozzle, resulting in the formation of a column of fluid that ejects from the nozzle into one or more droplets.

[0007] When an ink stream breaks up into droplets, it may not produce droplets of a single size. The ink stream breaks up into a series of uniform, large droplets that may have smaller droplets called "satellites." The shape of the pressure waveform determines the fluid dynamics at the nozzle, which determines several characteristics of the fluid droplet, such as the volume and velocity of the droplet and the volume and size of the satellites. Unfortunately, it is difficult to correlate the pressure waveform with the resulting droplet morphology and velocity.

[0008] The pressure waveform may vary based on the particular implementation. For example, a standard pressure waveform is a unipolar waveform consisting of two impulses with a rise and a fall in sequence. A unipolar waveform is parameterized by a peak voltage and a dwell time, which is the time that elapses between pulses. For a particular fluid and inkjet, the optimal dwell time for the unipolar waveform exists when the momentum of the ejected droplet is maximized at a given voltage. In typical operation, droplet volume and velocity tend to increase linearly with voltage at the optimal dwell time.

[0009] Other pressure waveforms can be utilized based on the goals of a particular implementation. For example, reducing droplet volume may require advanced waveforms that induce complex pressure gradients at the orifice. Additionally, fluids with challenging rheological properties may be prone to unstable jetting and may not be jettable with standard unipolar waveforms.

[0010] Many methods have been proposed and utilized to improve piezoelectric inkjets, some of which involve optimizing drop volume. Many of these methods involve dimensionless numbers and may involve altering the pressure waveform, such as by using a bipolar waveform with modified dwell time. Some methods have proposed and used numbers including the Ohnesorge number, related Z numbers, and / or other ratios. Such numbers relate to the jettability and / or printability of specific fluids in specific inkjets. Limits are often proposed for these numbers based on various fluids, such as wax suspensions or low-viscosity inks, and inkjet nozzle geometry, such as orifice radius, orifice length, or orifice diameter. These limits consider fluid parameters such as fluid viscosity, viscous dissipation, fluid surface tension, fluid density, and / or satellite morphology.

[0011] Selecting the optimal waveform for various pressure waveforms is often a manual, trial-and-error process. Simple unipolar waveforms can be easily optimized for stable jetting for fluids and performance requirements that correspond to typical operating conditions for inkjet devices. However, jetting fluids with extreme properties while specifying droplet resolution requires increasingly complex waveforms. As waveform complexity increases, versatility increases, but the problem structure or topology increases dramatically. This is because a greater number of parameters are required to define the waveform structure or topology, which is beyond the scope of traditional manual tuning methods. While multiphysics simulations and models can predict droplet morphology, these models are complex, nonlinear, application-specific, excessively time-consuming, and inherently irreversible. Furthermore, no analytical models are available to predict droplet volume from actuation waveforms. Additionally, any waveform tuning is specific to a particular combination of fluid and inkjet device. [Prior art documents] [Patent documents]

[0012] [Patent Document 1] U.S. Patent No. 10,336,062 Summary of the Invention [Problem to be solved by the invention]

[0013] The challenge with methods using dimensionless numbers and / or varying waveforms is that they may be overly conservative, artificially limiting jetting performance. These methods may also depend on fluid rheology and inkjet device geometry without considering the complex correlation between piezoelectric structural materials, actuation mechanics, inkjet geometry, and fluid rheology. Manual tuning, as discussed above, is limited to simple waveforms with few parameters. Unfortunately, there is currently no automated means to optimize pressure waveforms with more complex structures or topologies to control droplet resolution while maintaining droplet placement accuracy or other figures of merit for any combination of material and inkjet device. [Means for solving the problem]

[0014] In one embodiment of the present invention, a computer-implemented method for controlling a system includes defining a control variable vector in terms of a topology and a set of scalar values ​​associated with the topology. The method further includes determining initial values ​​of the control variable vector at which the system will operate to generate an initial set of sensed output variables. The method additionally includes calculating a fitness function that includes the initial set of sensed output variables, the fitness function defining a desired behavior of the system. The method further includes generating an optimized control variable vector using the fitness function by updating the topology based on minimizing the difference between the fitness function and a target fitness function. The method also includes controlling the system using the generated optimized control variable vector.

[0015] Other aspects of the above computer-implemented method embodiments are in systems and computer program products.

[0016] In another embodiment of the present invention, a computer-implemented method for performing inkjet printing includes determining a control variable vector of operating parameters associated with an inkjet waveform. The method further includes operating a printhead to eject a grid of droplets from an inkjet onto a substrate based on the inkjet waveform. The method additionally includes acquiring an image of the grid of droplets on the substrate. The method further includes processing the acquired image to calculate a fitness function for the inkjet waveform, the fitness function including a function of sensed output variables related to print characteristics, the fitness function defining a desired behavior of the inkjet system. Additionally, the method includes adjusting the control variable vector by updating the topology based on the fitness function to obtain an optimized control variable vector associated with the optimized inkjet waveform.

[0017] Other aspects of the above computer-implemented method embodiments are in systems and computer program products.

[0018] The foregoing has outlined, rather broadly, the features and technical advantages of one or more embodiments of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described below which may form the subject of the claims of the invention.

[0019] The invention can be better understood when considered in conjunction with the following detailed description and the following drawings. [Brief explanation of the drawings]

[0020] [Figure 1] FIG. 2 illustrates an embodiment of a testbed according to an embodiment of the present invention. [Figure 2] FIG. 1 is a diagram illustrating an embodiment of the present disclosure of a hardware configuration of a controller that represents a hardware environment for implementing the present invention. [Figure 3] 1 is a flowchart of a method for precision inkjet printing using a multi-nozzle piezo inkjet head, in accordance with one embodiment of the present invention. [Figure 4] 3 is a flowchart of a method for controlling a system according to one embodiment of the present invention. [Figure 5] FIG. 2 illustrates multi-level index crossover in a binary genetic algorithm, according to one embodiment of the present invention. [Figure 6] FIG. 1 illustrates a multi-level crossover for a chromosome with a repetitive supergene, according to one embodiment of the present invention. [Figure 7A] FIG. 1 illustrates a parameterization of free topology waveform components according to one embodiment of the present invention. [Figure 7B] FIG. 7B illustrates the result of overlaying the components shown in FIG. 7A, according to one embodiment of the present invention. [Figure 8A] FIG. 10 illustrates a super-Gaussian curve showing the effect of varying α and ρ, which control the width and tail weight of the curve, respectively, in accordance with one embodiment of the present invention. [Figure 8B] FIG. 10 illustrates a super-Gaussian curve showing the effect of varying α and ρ, which control the width and tail weight of the curve, respectively, in accordance with one embodiment of the present invention. [Figure 9A] FIG. 10 illustrates waveforms obtained by manual adjustment, according to one embodiment of the present invention. [Figure 9B] 9B is an image of a manually dispensed droplet of FIG. 9A on a silicon wafer coated with perfluorooctyltrichlorosilane (FOTS), according to one embodiment of the present invention. [Figure 10A] FIG. 10 illustrates waveforms obtained by fixed topology optimization, according to one embodiment of the present invention. [Figure 10B]10B is an image of a dispensed droplet from the fixed topology waveform of FIG. 10A on a silicon wafer coated with FOTS, according to one embodiment of the present invention. [Figure 11A] FIG. 10 illustrates waveform time series obtained by automatic tuning using free topology optimization, according to one embodiment of the present invention. [Figure 11B] 11B is an image of a droplet dispensed by the free topology waveform of FIG. 11A on a silicon wafer coated with FOTS, according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0021] As mentioned in the Background section, the challenge with methods using dimensionless numbers and / or varying waveforms is that they can be overly conservative, artificially limiting jetting performance. These methods can also depend on fluid rheology and inkjet device geometry without considering the complex correlation between piezoelectric structural materials, actuation mechanics, inkjet geometry, and fluid rheology. Manual tuning is limited to simple waveforms with few parameters. Unfortunately, there is currently no automated way to optimize complex pressure waveforms to control droplet resolution while maintaining placement accuracy for any combination of material and inkjet device.

[0022] The principles of the present invention provide a means to automatically optimize complex pressure waveforms to control droplet resolution for any combination of material and inkjet device while maintaining placement accuracy and minimizing the presence of transient defects, satellite droplets, missing droplets, and debris. In particular, embodiments of the present invention automatically optimize complex pressure waveforms to obtain desired performance for any combination of material and inkjet device through the use of an inkjet testbed for multi-nozzle piezojets that enables in-situ imaging and automatic waveform tuning. Furthermore, embodiments of the present invention include a novel tuning scheme based on free topology optimization.

[0023] In one embodiment, the multi-nozzle printhead testbed incorporates computer vision imaging of droplets on a substrate. An inkjet printhead dispenses onto a substrate carried by a precision XY translation stage. The stage then positions the dispensed droplets under a microscope, and performance is measured using computer vision-based automated inspection techniques.

[0024] FIG. 1 illustrates one embodiment of a test bed 100 according to an embodiment of the present invention. Referring to FIG. 1, test bed 100 includes a fluid dispensing subsystem 101 (e.g., a Samba® G3L printhead) including a printhead 102 along with a printhead controller 103 configured to control the dispensing of print droplets by printhead 102 of fluid dispensing subsystem 101. In one embodiment, fluid dispensing subsystem 101 is configured to dispense print droplets by printhead 102 onto a wafer held by wafer chuck 104 (e.g., a 200 mm diameter wafer chuck) positioned on an XY stage 105 (e.g., a Newport™ XML350 stage) moved by motion controller 106 (e.g., a Newport™ XPS C8 motion controller), which is controlled by controller 107 (also referred to herein as a “computer vision system”). The printed droplets are inspected by an imaging subsystem 109 (e.g., a Mitutoyo® objective and a FLIR camera) (see element 108). In one embodiment, testbed 100 may further include an automated software system 110 controlled by controller 107. The hardware configuration of controller 107 is further described below in connection with FIG. 2.

[0025] In one embodiment, automation software subsystem 110 includes an electronics controller 111 (e.g., a Samba® drive electronics controller), an interface card 112 (e.g., a Samba® peripheral component interconnect (PCI) express interface card), and a breakout board 113 (e.g., a Samba® PCI express breakout board).

[0026] In one embodiment, test bed 100 may include other subsystems not shown in FIG. 1, such as waste filtration and imaging system bridges.

[0027] In one embodiment, the imaging subsystem 109 comprises an additional flying droplet monitoring system to enable precision assembly of the testbed. Such a flying droplet monitoring system is described in U.S. Patent Application Publication No. 2007 / 0129994, the entire contents of which are incorporated herein by reference.

[0028] In one embodiment, the software application is written in a programming language (e.g., Python) and provides high-level automation functionality along with low-level equipment drivers for motion control, jetting, and image capture, image processing and analysis, waveform analysis and generation capabilities, and a graphical user interface (GUI) to enable an operator to perform various sub-procedures for testing and debugging. In one embodiment, the automation software subsystem 110 is configured to generate software and systems to replace repeatable processes and reduce human intervention, including providing high-level automation functionality along with low-level equipment drivers for motion control, jetting, and image capture, image processing and analysis, waveform analysis and generation capabilities, and a graphical user interface (GUI) to enable an operator to perform various sub-procedures for testing and debugging. In one embodiment, the automation software subsystem 110 is configured to provide waveforms to actuate the printhead 102 using free topology optimization as discussed herein.

[0029] In one embodiment, such software applications reside in the applications of controller 107, as discussed further below in connection with FIG.

[0030] Referring now to FIG. 2, FIG. 2 illustrates one embodiment of the present invention, a hardware configuration for controller 107 (FIG. 1) that represents a hardware environment for practicing the present invention.

[0031] Controller 107 has a processor 201 connected to various other components by a system bus 202. An operating system 203 executes on processor 201 and controls and coordinates the functions of the various components of FIG. 2. Applications 204 according to the principles of the present disclosure execute in conjunction with operating system 203 and provide calls to operating system 203, where these calls implement various functions or services to be performed by applications 204. Applications 204 may include, for example, low-level equipment drivers for motion control, jetting, and image capture, along with high-level automation functions, image processing and analysis, waveform analysis and generation capabilities, and programs to provide a graphical user interface (GUI) to allow an operator to perform various sub-procedures for testing and debugging.

[0032] Referring again to FIG. 2 , read-only memory (“ROM”) 205 is connected to system bus 202 and includes a basic input / output system (“BIOS”) that controls certain basic functions of controller 107. Random access memory (“RAM”) 206 and disk adapter 207 are also connected to system bus 202. It should be noted that software components, including operating system 203 and applications 204, can be loaded into RAM 206, which may be the main memory for execution of controller 107. Disk adapter 207 may be a disk unit 208, e.g., an integrated drive electronics (“IDE”) adapter that communicates with a disk drive. It should be noted that, as discussed herein, programs for providing high-level automation functions, as well as low-level equipment drivers for motion control, jetting, and image capture, image processing and analysis, waveform analysis and generation capabilities, and graphical user interfaces (GUIs) to enable an operator to perform various sub-procedures for testing and debugging, may reside in disk unit 208 or application 204.

[0033] The controller 107 may further include a communications adapter 209 connected to the bus 202. The communications adapter 209 interconnects the bus 202 with an external network for communicating with other devices.

[0034] The present invention may be a system, method, and / or computer program product in any possible degree of integration in technical detail. The computer program product may include a computer-readable storage medium having computer-readable program instructions for causing a processor to perform aspects of the present invention.

[0035] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves with recorded instructions, and any suitable combination thereof. As used herein, a computer-readable storage medium should not be construed as being, per se, a transitory signal such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide, or other transmission medium (e.g., light pulses passing through a fiber optic cable), or an electrical signal transmitted through an electrical wire.

[0036] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or can be downloaded to an external computer or external storage device over a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing / processing device.

[0037] The computer-readable program instructions for carrying out the operations of the present invention may be either source or object code written in any combination of one or more programming languages, including assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuits, or object-oriented programming languages ​​such as Smalltalk, C++, and procedural programming languages ​​such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), may utilize state information of computer-readable program instructions to customize the electronic circuitry and execute the computer-readable program instructions to carry out aspects of the present invention.

[0038] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0039] These computer-readable program instructions may be provided to a computer processor or other programmable data processing apparatus to produce a machine, such that the instructions, when executed by the computer processor or other programmable data processing apparatus, produce means for performing the functions / acts identified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that a computer-readable storage medium having instructions stored thereon includes an article of manufacture containing instructions that implement aspects of the functions / acts identified in one or more blocks of the flowcharts and / or block diagrams.

[0040] Computer-readable program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device to cause the computer, other programmable apparatus, or other device to perform a series of operational steps to generate a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device perform the functions / acts identified in the flowchart and / or block diagram blocks.

[0041] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specific logical function. In some alternative embodiments, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may actually be accomplished as a single step, or may be executed simultaneously, substantially simultaneously, partially, or fully overlapping in time, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. It should also be noted that each block in the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a special-purpose hardware-based system that performs specific functions or acts or executes a combination of special-purpose hardware and computer instructions.

[0042] Reference is now made to FIG. 3, which is a flowchart of a method 300 for precision inkjet printing using a multi-nozzle piezo inkjet head, in accordance with one embodiment of the present invention.

[0043] Referring to FIG. 3 in conjunction with FIGS. 1-2, in step 301, a control variable vector of operating parameters associated with a voltage waveform (eg, an inkjet waveform) is determined by the controller 107.

[0044] In step 302, based on the voltage waveform, print head 102 of fluid dispensing subsystem 101 is actuated by print head controller 103 to eject a grid of droplets from ink jets onto a substrate held by wafer chuck 104. In one embodiment, print head 102 is configured to dispense multiple fluids, where one of the dispensed fluids has different rheological properties than another of the dispensed fluids.

[0045] In step 303, an image of the grid of droplets on the substrate is acquired, such as by the imaging subsystem 109.

[0046] In step 304, the acquired images are processed by controller 107 to calculate a waveform fitness function that includes a function of estimated sensed output variables related to print characteristics (e.g., drop volume uniformity, average drop volume, drop placement accuracy, presence of transient defects, number of satellite drops, number of missing drops, presence of debris, etc.) In one embodiment, the fitness function defines the desired behavior of the inkjet system.

[0047] In step 305, the control variable vector is adjusted by the controller 107 by updating its topology based on the calculated fitness to obtain an optimized control variable vector associated with an optimized waveform (e.g., an optimized inkjet waveform). In association with the adjustment of the control variable vector, an error between the fitness function and a target fitness function is calculated. For example, in one embodiment, a new set of operating parameters is calculated and compared against the target fitness with the goal of minimizing the difference between the calculated fitness and the target fitness. The set of operating parameters may be adjusted multiple times in association with minimizing the difference between the calculated fitness and the target fitness.

[0048] The method 300 is discussed in more detail further below.

[0049] Reference is now made to FIG. 4, which is a flowchart of a method 400 for controlling a system (or a model of a system), according to one embodiment of the present invention.

[0050] Referring to FIG. 4 in conjunction with FIGS. 1-2, in step 401, a set of fixed system parameters is received, such as by the controller 107. In one embodiment, if the method 400 is used to directly control a system and not a model of the system, step 401 is not required. The fixed system parameters represent aspects or characteristics of the system that are invariant or do not change in the course of controlling the system. In one embodiment, the system is a precision inkjet having a set of fixed system parameters including one or more of the number of nozzles, nozzle pitch, nominal nozzle diameter, and fluid to be ejected. In one embodiment, such set of fixed system parameters is input into the controller 107 by a user of the controller 107, such as via an input to the controller 107.

[0051] In step 402, the controller 107 defines a control variable vector with a topology and a set of scalar values ​​associated with the topology. A "control variable," as used herein, refers to an input to a system that can be optimized and used to control the system to achieve a desired system performance. A "control variable vector," as used herein, refers to a set of one or more control variables. In one embodiment, the topology of a control variable vector is given by the structure of the vector, which estimates its complexity. In one embodiment, the topology is defined as the number of control variables present in the control variable vector. Generally, higher topology control variable vectors have higher complexity and are more difficult to optimize using manual techniques, thereby requiring automated optimization techniques. In one embodiment, the control variable vector defines an inkjet waveform by defining parameters such as voltage ramp and dwell. A number of such parameters are used to define the topology of the inkjet waveform.

[0052] In step 403, the controller 107 determines an initial control variable vector such that, once this initial control variable vector is passed to the controller 107, the system or a model thereof is operated to generate an initial set of sensed output variables. As used herein, a "sensed output variable" refers to a quantity estimated with the aid of data from sensors associated with the system. In one embodiment, the controller 107 is used to process the data from the sensors to estimate the sensed output variables. In one embodiment, operating the system includes ejecting a grid of droplets onto a substrate. In one embodiment, the initial values ​​of the control variable vector operate the inkjet system to generate an initial set of sensed output variables. In one embodiment, the initial set of sensed output variables includes one or more of volume, droplet placement accuracy, velocity, satellites of inkjetted droplets, missing droplets, and transient defects of inkjetted droplets. In one embodiment, the sensed output variables are estimated using data from an imaging subsystem.

[0053] In step 404, the controller 107 generates an initial fitness function, where "fitness function," as used herein, refers to one or more figures of merit used to define the performance of the system as a function of one or more of the initial set of sensed output variables. In one embodiment, the initial fitness function defines the desired behavior of the inkjet system, where the desired behavior includes one or more of meeting a target drop volume resolution, maximizing drop placement accuracy, minimizing transient defects, minimizing satellite drops, minimizing missing drops, and minimizing debris.

[0054] In step 405, the controller 107 executes an automatic optimization scheme to generate an optimized control variable vector using the initial fitness function by updating and adjusting the topology of the control variable vector such that the difference between the value of the fitness function of the optimized control variable vector and the value of the target fitness function is minimized. In one embodiment, the optimized control variable vector is generated in response to an algorithm that runs until the initial fitness function reaches a maximum value. In one embodiment, the optimized control variable vector includes an optimal topology and a set of optimal parameters for the optimal topology. In one embodiment, the topology of the optimized control variable vector is more complex than the topology of the initial control variable vector.

[0055] In step 406, the controller 107 controls the system using the generated optimized control variable vector.

[0056] The method 400 is discussed in more detail below.

[0057] 1-4, the application 204 of the controller 107 can include programs for controlling a system such as the inkjet system described above in connection with FIG. 4. In one embodiment, the application 204 can include, for example, programs for providing low-level equipment drivers for motion control, jetting, and image capture, image processing and analysis, waveform analysis and generation capabilities, and a graphical user interface (GUI) to enable an operator to perform various subprocedures for testing and debugging, along with high-level automation functions. In one embodiment, waveforms for each experiment are generated using a genetic algorithm, and a computer vision system (controller 107) measures droplet placement accuracy and droplet size via the imaging subsystem 109. The XY stage 105 is controlled by sending commands to the controller 107 via a socket interface.

[0058] In one embodiment, an exemplary fluid dispensing subsystem 101 consists of a Fujifilm® Dimatix Samba® piezojet printhead, a Samba® Development Kit controller / drive electronics, and a PCIe interface card, as well as a Samba® ink delivery system. That is, in one embodiment, a portion of the automation software system 110 is embedded within the fluid dispensing subsystem 101. In one embodiment, the fluid dispensing subsystem 101 utilizes a Samba® G3L printhead with an array of 2,048 nozzles arranged in 16 rows over a 43.349 mm span with a nozzle pitch of 21.1167 μm. A single printhead can use its central 1,920 nozzles to jet a 1,200 dots per inch droplet pattern or image at a height of 40.64 mm. In one embodiment, the printhead controller 103 (e.g., a Samba® controller) supports up to four printheads, which can be mounted side-by-side to print larger images.

[0059] In one embodiment, the imaging subsystem 109 of the testbed 100 incorporates a telecentric microscope with in-line illumination and a 3.2 megapixel camera (e.g., a FLIR Grasshopper® 3 GS3-U3-32S4M-C with a Sony® IMX252 monochrome image sensor with 2048 x 1536 pixels, each 3.45 μm x 3.45 μm) for top-down inspection of droplets dispensed onto a silicon substrate. An example microscope is the Moritex MML3-HR110DVI-43F telecentric microscope, which supports sensors up to 35 mm in size with distortion less than 0.05%. In one embodiment, illumination is provided by a CCS HLV2-22SW-3W spotlight LED and a PJ-1505-2CA current source. Images are captured by software triggering using a Python driver and downloading images to the controller 107 via the camera's USB 3.0 connection. Detection of sessile droplets on flat substrates can be achieved using the steps of background subtraction, image binarization, and segmentation, as well as contour analysis. This procedure also enables the detection of satellite droplets, which are important for evaluating the performance of actuation waveforms.

[0060] In one embodiment, multiple images of the planar substrate are stitched together with the aid of an additional calibration step that accounts for X and Y orientation and camera misalignment. In one embodiment, such images are stitched together to generate an image of a grid of droplets. In one embodiment, a calibration target can be used to analyze image distortions.

[0061] Jetting performance can be summarized by statistics of droplet placement and droplet volume. In one embodiment, to test the performance of waveforms generated by a genetic algorithm, droplet patterns are printed on a substrate after loading each waveform into the printhead. A camera captures images before and after each dispense, and the images are processed to determine the centroid and area of ​​the dispensed droplets. The droplet positions are then compared to an ideal droplet pattern. In one embodiment, droplet placement performance is analyzed by the mean squared difference between the aligned ideal grid and the droplet positions.

[0062] In one embodiment, various defect modes are detected when viewing inkjet printed droplets on a substrate and classified based on their root cause. These defects can result from waveform instability, fluid buildup on the printhead nozzle faceplate, or contamination of the substrate.

[0063] Below we discuss advanced evolutionary algorithms applied to multi-nozzle inkjet systems to perform parametric and topological optimization of piezojet actuation waveforms. The discussion of precision inkjet printing as discussed in U.S. Patent No. 6,229,999, the entire contents of which are incorporated herein by reference.

[0064] An embodiment of the present invention includes a control system having one or more fixed system parameters, one or more control variables, and one or more sensed output variables. In one embodiment, a controller can be generated for this system with a variable number of control variables, and therefore a variable topology or dimensionality. In the absence of automated tuning or to keep the controller simple, in one embodiment, the topology of the control system remains fixed, in which case a fixed set of control variables is used. However, such an approach may not yield the best performance from the control system. As a result, in one embodiment, to yield desired performance from a control system, such as a precision inkjet printhead, an automated algorithm (referred to herein as "free topology optimization") is utilized that can handle control systems with variable topology and simultaneously optimize both the topology and the values ​​of the control variables associated with that topology to yield the desired performance from the control system. For example, in one embodiment, an optimization scheme such as an evolutionary algorithm, specifically a genetic algorithm, may be selected to yield the desired performance from the control system. In one embodiment, the sensed output variables are used to define one or more fitness functions or performance indices for the control system. Here, the fitness function is defined as the difference between the target value of the function of the sensed output variable and the achieved value of the function of the sensed output variable.

[0065] In one embodiment, the principles of the present invention include the following aspects: (i) multi-nozzle inkjet systems requiring top-down imaging of dispensed droplets onto a substrate such as a silicon wafer are investigated, and (ii) "free topology" waveforms are explored, going beyond fixed topology (or fixed number of parameters) waveforms to allow for complex waveforms parameterized by more than 20 independent variables.

[0066] In fixed-topology optimization, an optimization algorithm incorporating computer vision measurements of flying droplets can perform parametric optimization of a set of waveform topologies, such as unipolar, bipolar, and tripolar waveforms, with fixed parameter numbers of 4, 7, or 10, respectively. Even with fixed-topology optimization, results show that the regulation of the volume and velocity of jetted droplets, as well as the jetting stability of high-Z-number materials, depend on the piezojet actuation waveform.

[0067] In one embodiment, the principles of the present invention develop a method for generating waveforms with high-order topology. High-order topologies, i.e., waveforms with numerous parameters that are difficult to manually adjust, have demonstrated the ability to achieve higher performance metrics compared to lower-order topologies. Additionally, in one embodiment, this method has been applied to measuring flying droplets, which can indicate steady-state performance for a single-nozzle printhead. In another embodiment, this method has been demonstrated in a multi-nozzle inkjet printhead using droplet-on-substrate imaging (previously described), which also measures transient performance, stability, and reliability.

[0068] In one embodiment, a piezo jet controller actuates each nozzle by applying a shaped voltage pulse each time a droplet is ejected from the printhead. Typical constraints on the shape of the waveform are the controller voltage (the voltage of the printhead controller 103 of the fluid dispensing subsystem 101) and time step resolution, the amplifier slew rate, the maximum and minimum amplifier output voltage, and the wavelet-shaped DC voltage boundary conditions where the waveform starts and ends at the same voltage (typically 0 V).

[0069] The input to the controller 103 is typically defined either by a set of time-voltage pairs or a set of voltage ramps defined by a triplet of time, slew rate, and saturation voltage.

[0070] For example, the Fujifilm® Samba® printhead waveform is represented by three sets of voltage ramps, with waveform voltages constrained to 256 steps between 0 V and 36 V, a time step of 64 ns, and a maximum slew rate of 25 voltage steps per time step, or 55.147 V / μs. This provides a substantially large opportunity space for optimal waveforms, leading to a systematic approach to exploring increasingly complex waveforms to fully realize the potential of the jetting hardware for a given material.

[0071] In one embodiment, an evolutionary algorithm for optimizing high-order topology waveforms uses chromosomes of variable lengths. Genetic algorithms that support chromosomes of variable lengths require special crossover and gene structures to allow crossover between chromosomes of different lengths. In regular binary string chromosomes, bits from various genes are concatenated into a single string before crossover. Recombination is limited to exchanging equal-length slices from the same index of each chromosome string. In chromosomes of different lengths, longer chromosomes have more indexes, which can mean that corresponding slices are not necessarily formed between chromosomes. Restricting crossover indexes to those of shorter chromosomes is not an attractive solution, but allowing full freedom in slice indexes can violate gene structures. In one embodiment, the principles of the present invention utilize a multi-level indexing approach to solve this problem.

[0072] In chromosomes with a fixed number of genes, multi-level indexing is used to equalize the likelihood of crossover slice indexes occurring within a particular gene when genes are represented with different numbers of bits. Consider the four-gene chromosome shown in Figure 5, which illustrates multi-level index crossover in a binary genetic algorithm, according to one embodiment of the present invention.

[0073] 5, genes 0, 1, 2, and 3 are represented by 3, 11, 5, and 5 bits, respectively. A first crossover operation occurs at gene 0, bit 2. Then, a second crossover operation is applied to gene 2, bit 3. As a result, the bits between each crossover point are swapped.

[0074] As mentioned above, gene 1 has 11 bits, while gene 0 has only 3 bits. An index of intersection that treats each bit equally would occur 34.6% of the time for gene 1, but only 7.7% of the time for gene 0. Instead, genes can be selected probabilistically using outer indices based on the number of genes, and then inner indices can be selected based on the number of bits in the selected gene. Additionally, the weighting function used to select each gene index can also weight each gene based on the number of bits.

[0075] After selecting the gene index, the interior index is selected from a uniform distribution. When the final gene is selected, the largest selectable interior index is incremented by one to represent a slice ending at the end of the chromosome. Combining parametric indexing with a repeating gene structure based on a modular composite "supergene" structure, a multilevel index approach to crossover can also be used to solve the gene slicing problem when performing crossover on chromosomes of different lengths. A supergene is defined as a set of small genes conforming to a uniform structure. As shown in Figure 6, crossover can be performed between chromosomes containing different numbers of supergenes when the interior crossover index is kept the same.

[0076] FIG. 6 is a diagram illustrating multi-level crossover for a chromosome with a repetitive supergene, according to one embodiment of the present invention.

[0077] In one embodiment, every actuation waveform requires at least one rising voltage ramp and one falling voltage ramp to dispense a droplet, and therefore waveforms defined by a variable number of parameters must have a minimum number of parameters corresponding to a trapezoidal pair of main voltage ramps.

[0078] In one embodiment, the trapezoidal pulse superposition is processed sequentially. Each ramp is time-ordered, and the waveform timeline is modified by each ramp by increasing the voltage by the slew rate at each time step from the ramp start until the saturation voltage is reached. In one embodiment, the final voltage ramp is zero. When transforming the waveform in the controller software, extra control points are introduced as needed to define regions where the intersection of two or more ramps results in a slew rate superposition.

[0079] The parameterization and superposition of waveform components of a free waveform topology is shown in Figure 7A, which illustrates the parameterization of waveform components of a free topology according to one embodiment of the present invention. Arrows 701 indicate the change in voltage of each ramp, and arrows 702 indicate the start and end of each ramp. A slew rate is also defined for each ramp.

[0080] Figure 7B shows the result of overlaying the components shown in Figure 7A, according to one embodiment of the present invention. In creating the waveform shown in Figure 7B, each ramp from Figure 7A is implemented from left to right, with the final falling ramp returning to 0V.

[0081] 7A-7B, the main expansion and compression pulses start at 0 V, rise to a peak voltage V0, and then fall by V1. These are followed by two "free" trapezoidal pulses that overlap one another as described above and shown in FIG. 7B.

[0082] The fitness function in an evolutionary algorithm combines a set of estimated performance metrics with one or more functions of the sensed output variables to form one or more performance indices. The fitness function defines optimality in a multi-objective situation through scalarization, a process that balances convergence and diversity for each metric. In most selection methods, including fitness-proportional selection, the fitness function should return larger values ​​corresponding to better performance. Most performance metrics related to jet performance can be expressed by functions such as the L-norm (e.g., L-2, L-infinity norm) or mean squared error (e.g., regression loss function), but the reciprocal sum or negative sum of squared errors is not appropriate for fitness-proportional selection. In one embodiment, a weighted product (WPR) scalarization technique is used. In one embodiment, it is combined with a remapping function to scale and constrain the sensitivity of the fitness function to each performance metric. An advantage of the WPR technique is that it can also include other forms of merit functions, such as a sigmoid function or a super-Gaussian function. The super-Gaussian is defined as follows:

[0083]

number

[0084] The parameter ρ of the Super-Gaussian adds an additional degree of freedom to the Gaussian function, allowing us to modify the weight of the tails. The heavier-tailed merit function accommodates a wider range of lower-performing solutions with lower sensitivity, as shown in Figures 8A-8B, by simply increasing the sensitivity in the critical region between the inflection points.

[0085] 8A-8B show a super-Gaussian curve illustrating the effect of varying α and ρ, which control the width and tail weight of the curve, respectively, according to one embodiment of the present invention.

[0086] The weights of the sigmoid function can be determined by selecting a baseline performance level (around which sensitivity is maximized) and a performance target (after which sensitivity is reduced to increase the sensitivity of the overall fitness function to the remaining performance indicators).

[0087] In one embodiment, metrics incorporated into the fitness function are droplet placement accuracy, average droplet volume, droplet volume uniformity, presence of transient defects, presence of debris, and the number of satellite and missing droplets. In one embodiment, droplet placement is calculated based on each reference grid location. The droplet placement error for each reference grid location can be defined as the volume-weighted sum of the errors for all droplets to which that reference location was closest. In one embodiment, missing droplet locations are excluded from this mean squared error (MSE), and thus the average is based on the difference between the number of reference locations and the number of missing droplets. The MSE is remapped to a Gaussian to maintain a bound between 0 and 1. The average maximum droplet size and the average sum of droplet sizes at each reference point are used to define a merit function that reflects the average droplet size, respectively. In one embodiment, droplet size uniformity can be defined in a fitness function based on the size variation of the largest droplet and the sum of the sizes of all droplets at each reference location. A satellite droplet is defined as a droplet that is not closer to any reference position than any other droplet. A penalty for the presence of satellite droplets is also incorporated into the fitness function. The effect of satellites is also implicit in some of the above measures of performance, but their presence in large numbers is considered a major drawback.

[0088] A missing drop is defined by a reference position with no nearby drops. Because transient defects can occur when the first few drops are missing but the remaining drops are uniformly dispensed, the penalty for missing drops can be similar to or different from the penalty for satellite drops.

[0089] Figure 9A shows a waveform obtained by manual adjustment according to one embodiment of the present invention. Figure 9B shows an image of a dispensed droplet by the manual waveform of Figure 9A on a silicon wafer coated with perfluorooctyltrichlorosilane (FOTS), according to one embodiment of the present invention. The waveform is defined by 13 parameters.

[0090] Figure 10A shows a waveform obtained by fixed topology optimization according to one embodiment of the present invention. Figure 10B shows an image of a droplet dispensed by the fixed topology waveform of Figure 10A on a silicon wafer coated with FOTS according to one embodiment of the present invention. The waveform is defined by a fixed topology of 13 parameters.

[0091] Figure 11A shows a waveform time series of a waveform obtained by automated tuning using free topology optimization, according to one embodiment of the present invention. Figure 11B shows an image of a dispensed droplet from the free topology waveform of Figure 11A on a silicon wafer coated with FOTS, according to one embodiment of the present invention. This waveform had an initial topology of less than 20 parameters and was ultimately optimized with a topology of 124 parameters.

[0092] The free-topology GA was able to find a high-performance waveform with over 100 parameters that produced the smallest observed droplet size while maintaining jetting reliability and 3-sigma placement accuracy within 10 μm in both the x and y directions. In particular, the smallest droplet produced by the free-topology waveform had a measured area of ​​303.8 μm. 2 , which corresponds to an estimated volume of 336 fL. This represents a 49.4% reduction in sessile drop area and a 64.1% reduction in drop volume compared to the smallest drop produced by manual adjustment, and a 22.8% reduction in drop volume compared to the smallest drop produced by the fixed topology waveform.

[0093] In one embodiment, a genetic algorithm is selected as a probabilistic method for optimizing an inkjet actuation waveform, which is typically defined by a set of parameters sent to an inkjet controller that generates an analog waveform when the inkjet is actuated, and the waveform parameter domain is typically discrete and bounded.

[0094] In an inkjet system, there are no internal sensors that can be used to determine droplet velocity, droplet size (volume), or the number of droplets ejected during each actuation. Furthermore, accurate models of inkjet systems can be difficult or impossible to obtain. Therefore, in one embodiment, the actuation waveforms are implemented in an actual inkjet system using real-time computer vision as feedback, synergizing with the iterative experimentation required to utilize a genetic algorithm.

[0095] In one embodiment, for a multi-nozzle inkjet head testbed, an on-substrate imaging testbed is constructed to test waveforms using two types of sophisticated genetic algorithms: a "fixed topology" algorithm and a more advanced "free topology" algorithm. In contrast to in-flight imaging, which can only capture the steady-state behavior of an inkjet as it prints a continuous stream of droplets, on-substrate imaging can capture the transient behavior of an inkjet. Furthermore, droplets from multiple nozzles can be observed in a single on-substrate image, allowing direct measurement of the placement accuracy of the ensemble droplets. The placement accuracy, droplet size (volume), and waveform robustness to transient irregularities and state variations of each nozzle were evaluated using computer vision.

[0096] In one embodiment, the free topology scheme is modified to allow for the addition or removal of supergenes (sets of six waveform parameters) depending on the number of supergenes present in the waveform. More than one supergene may be added at a time, and they may be removed in blocks based on a range of start times. In another embodiment, the sensitivity of a fuzzy likelihood function that probabilistically selects supergenes of one waveform that are "close" in time to supergenes of another waveform is experimented. In one embodiment, the fitness coefficients for each generation (for either the free topology scheme or the fixed topology scheme) are constructed based on the distribution of performance in the current population.

[0097] In one embodiment, high-performance waveforms are found at various levels of complexity for a given jet and material combination, but having a larger number of parameters is beneficial from a reliability and robustness standpoint. The frequency response of piezo jets includes resonant peaks at frequencies approaching 0.1-1 MHz, and therefore subtle impulses and overshoots of large parameter waveforms can affect the overall performance of these multi-jet piezo printheads.

[0098] The description of various embodiments of the present invention has been presented for purposes of illustration and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein has been chosen to best explain the principles, practical applications, or technical improvements over those found in the marketplace of the embodiments, or to enable others skilled in the art to understand the embodiments disclosed herein. [Explanation of symbols]

[0099] 100 testbeds 101 Fluid Dispensing Subsystem 102 Print head 103 Printhead Controller 104 Wafer chuck 105 XY stage 106 Motion Controller 107 Controller 108 Inspection of printed droplets 109 Imaging Subsystem 110 Automation Software Subsystem 111 Electronics Controller 112 Interface Card 113 Breakout Board 201 processor 202 System Bus 203 Operating Systems 204 Applications 205 Read-Only Memory (ROM) 206 Random Access Memory (RAM) 207 Disk Adapter 208 Disk Unit 209 Communication Adapter 300 ways 400 ways

Claims

1. 1. A computer-implemented method for controlling a system, comprising: defining a control variable vector according to a topology and a set of scalar values ​​associated with said topology, said control variable vector corresponding to a set of one or more control variables that are optimized as inputs to said system to make said system controllable, said topology corresponding to the number of control variables present in said control variable vector; determining initial values ​​for the control variable vector that will operate the system to generate an initial set of sensed output variables; calculating a fitness function that includes the initial set of sensed output variables, the fitness function defining a desired behavior of the system; generating an optimized control variable vector using the fitness function by updating and adjusting the topology of the control variable vector based on minimizing the difference between the value of the fitness function of the optimized control variable vector and the value of a target fitness function, wherein the topology of the control variable vector is updated and adjusted using a multi-level index to create the optimized control variable vector such that all genes have an equal chance of crossover occurring within a gene, regardless of their size, to address the issue of different genes in a set of chromosomes being represented by different numbers of bits, and outer indices of the multi-level index are used to select genes to use in the crossover; controlling the system using the generated optimized control variable vector; 10. A computer-implemented method comprising:

2. The method of claim 1 , further comprising receiving a set of fixed system parameters.

3. The method of claim 1 , wherein the optimized control variable vector is generated using free topology optimization.

4. The method of claim 1 , wherein the optimized control variable vector is generated according to an algorithm that runs until the fitness function reaches a maximum value.

5. The method of claim 4 , wherein the optimized control variable vector comprises an optimal topology and a set of optimal parameters for the optimal topology.

6. 10. The method of claim 1, wherein the system is an inkjet system, the control variable vector defines an inkjet waveform, and the initial set of sensed output variables includes one or more of volume, drop placement accuracy, velocity, satellites of inkjetted drops, missing drops, and transient defects of inkjetted drops.

7. 1. A computer program product for controlling a system, the computer program product comprising one or more computer readable storage media having program code embodied therein, the program code comprising: defining a control variable vector according to a topology and a set of scalar values ​​associated with the topology, the control variable vector corresponding to a set of one or more control variables that are optimized as inputs to the system to make the system controllable, the topology corresponding to the number of control variables present in the control variable vector; determining initial values ​​for the control variable vector that will operate the system to generate an initial set of sensed output variables; calculating a fitness function that includes the initial set of sensed output variables, the fitness function defining a desired behavior of the system; generating an optimized control variable vector using the fitness function by updating and adjusting the topology of the control variable vector based on minimizing the difference between the value of the fitness function of the optimized control variable vector and the value of a target fitness function, wherein the topology of the control variable vector is updated and adjusted using a multi-level index to address the issue of different genes in a set of chromosomes being represented by different numbers of bits, creating the optimized control variable vector such that all genes have an equal chance of crossover occurring within a gene regardless of their size, wherein outer indices of the multi-level index are used to select genes to use in the crossover, and inner indices of the multi-level index are used to select specific numbers of bits within the selected genes; controlling the system using the generated optimized control variable vector; 1. A computer program product comprising programming instructions for:

8. a memory for storing a computer program for controlling the system; a processor coupled to the memory, the processor comprising: defining a control variable vector according to a topology and a set of scalar values ​​associated with the topology, the control variable vector corresponding to a set of one or more control variables that are optimized as inputs to the system to make the system controllable, the topology corresponding to the number of control variables present in the control variable vector; determining initial values ​​for the control variable vector that will operate the system to generate an initial set of sensed output variables; calculating a fitness function that includes the initial set of sensed output variables, the fitness function defining a desired behavior of the system; generating an optimized control variable vector using the fitness function by updating and adjusting the topology of the control variable vector based on minimizing the difference between the value of the fitness function of the optimized control variable vector and the value of a target fitness function; updating and adjusting the topology of the control variable vector using a multi-level index to create the optimized control variable vector such that crossover occurs equally within all genes regardless of their size to address the issue of different genes being represented by different numbers of bits, an outer index of the multi-level index being used to select genes to use in the crossover, and an inner index of the multi-level index being used to select a particular number of bits within the selected genes; controlling the system using the generated optimized control variable vector; a processor configured to execute program instructions of the computer program, A controller comprising:

9. 1. A computer-implemented method for performing inkjet printing, comprising: determining a control variable vector of operating parameters associated with an inkjet waveform, the inkjet waveform being represented as a variable length chromosome in a genetic algorithm; activating a printhead to eject a grid of droplets from an inkjet onto a substrate based on the inkjet waveform; acquiring an image of the grid of droplets on the substrate; processing the acquired image to calculate a fitness function for the inkjet waveform comprising a function of sensed output variables related to print characteristics, the fitness function defining a desired behavior of the inkjet system; adjusting the control variable vector by updating its topology based on the fitness function of the inkjet waveform to obtain an optimized control variable vector associated with an optimized inkjet waveform based on minimizing a difference between a value of the fitness function of the inkjet waveform and a value of a target fitness function, wherein the topology corresponds to the number of control variables present in the control variable vector; and adjusting the control variable vector by using a multi-level index to address the issue of different genes in a chromosome set being represented by different numbers of bits, thereby obtaining the optimized control variable vector such that crossover within a gene is equally likely to occur for all genes regardless of their size, wherein an outer index of the multi-level index is used to select genes to use in the crossover, and an inner index of the multi-level index is used to select a particular number of bits within the selected gene; 10. A computer-implemented method comprising:

10. The method of claim 9 , wherein the optimized control variable vector comprises an optimal topology and a set of optimal parameters for the optimal topology.

11. 10. The method of claim 9, wherein the print characteristics include one or more of drop volume uniformity, average drop volume, drop placement accuracy, presence of transient defects, number of satellite drops, number of missing drops, and presence of debris.

12. 10. The method of claim 9, wherein the adjusting the control variable vector comprises calculating an error between the fitness function of the inkjet waveform and the target fitness function.

13. optimizing the error using a free topology evolutionary algorithm. The method of claim 12 further comprising:

14. The method of claim 9 , wherein the inkjet waveform has more than 20 parameters.

15. The method of claim 9 , wherein the inkjet waveform has more than three parameters.

16. controlling a plurality of nozzles to eject a plurality of droplets, each of the plurality of nozzles being independently controlled; 10. The method of claim 9, further comprising:

17. 10. The method of claim 9, wherein the printhead is configured to dispense a plurality of fluids, one of the plurality of fluids having different rheological properties than another of the plurality of fluids.

18. 1. A computer program product for performing inkjet printing, the computer program product including one or more computer readable storage media having program code embodied therein, the program code comprising: determining a control variable vector of operating parameters associated with an inkjet waveform, the inkjet waveform being represented as a variable length chromosome in a genetic algorithm; activating a printhead to eject a grid of droplets from an inkjet onto a substrate based on the inkjet waveform; acquiring an image of the grid of droplets on the substrate; processing the acquired image to calculate a fitness function for the inkjet waveform comprising a function of sensed output variables related to print characteristics, the fitness function defining a desired behavior of the inkjet system; adjusting the control variable vector by updating its topology based on the fitness function of the inkjet waveform to obtain an optimized control variable vector associated with an inkjet waveform optimized based on minimizing a difference between a value of the fitness function of the inkjet waveform and a value of a target fitness function, the topology corresponding to the number of control variables present in the control variable vector, wherein a multi-level index is used to address the issue of different genes in a chromosome set being represented by different numbers of bits, by obtaining the optimized control variable vector so that all genes have an equal chance of intra-gene crossover occurring regardless of their size, an outer index of the multi-level index is used to select genes to use in the crossover, and an inner index of the multi-level index is used to select a particular number of bits within the selected gene, and the crossover is a process of combining portions of two parent chromosomes to create a new child chromosome; 1. A computer program product comprising programming instructions for:

19. a memory for storing a computer program for performing inkjet printing; a processor coupled to the memory, the processor comprising: determining a control variable vector of operating parameters associated with an inkjet waveform, the inkjet waveform being represented as a variable length chromosome in a genetic algorithm; activating a printhead to eject a grid of droplets from an inkjet onto a substrate based on the inkjet waveform; acquiring an image of the grid of droplets on the substrate; processing the acquired image to calculate a fitness function for the inkjet waveform comprising a function of sensed output variables related to print characteristics, the fitness function defining a desired behavior of the inkjet system; adjusting the control variable vector by updating its topology based on the fitness function of the inkjet waveform to obtain an optimized control variable vector associated with an inkjet waveform optimized based on minimizing a difference between a value of the fitness function of the inkjet waveform and a value of a target fitness function, the topology corresponding to the number of control variables present in the control variable vector; and using a multi-level index to address the issue of different genes in a chromosome set being represented by different numbers of bits, adjusting the control variable vector by obtaining the optimized control variable vector such that all genes have an equal chance of intra-gene crossover occurring regardless of their size, an outer index of the multi-level index being used to select genes to use in the crossover, and an inner index of the multi-level index being used to select a particular number of bits within the selected genes; a processor configured to execute program instructions of the computer program, A system comprising:

Citation Information

Patent Citations

  • Optimization of constitution of computer-controlled component mounting machine

    JP1994215087A

  • Mask pattern designing method and designing device for optical proximity correction of photolithography, and manufacturing method for semiconductor device using the same

    JP2006276079A

  • Image recording device and image recording method

    JP2007160748A

  • Prediction of printing result

    JP2008259168A

  • A method for correcting the zoom setting and / or vertical offset of a stereo film frame, and a control or adjustment system for a camera rig with two cameras.

    JP2014527196A