US20200189272A1 - Method and device for enabling a pattern to be marked on a substrate - Google Patents
Method and device for enabling a pattern to be marked on a substrate Download PDFInfo
- Publication number
- US20200189272A1 US20200189272A1 US16/220,282 US201816220282A US2020189272A1 US 20200189272 A1 US20200189272 A1 US 20200189272A1 US 201816220282 A US201816220282 A US 201816220282A US 2020189272 A1 US2020189272 A1 US 2020189272A1
- Authority
- US
- United States
- Prior art keywords
- pattern
- marking
- printer
- industrial printer
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000000758 substrate Substances 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 82
- 230000002068 genetic effect Effects 0.000 claims abstract description 74
- 238000004806 packaging method and process Methods 0.000 claims description 11
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000008901 benefit Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000005457 optimization Methods 0.000 description 8
- 238000007639 printing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000010304 firing Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 241001672018 Cercomela melanura Species 0.000 description 1
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010330 laser marking Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002985 plastic film Substances 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/07—Ink jet characterised by jet control
- B41J2/075—Ink jet characterised by jet control for many-valued deflection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
- G06F3/1215—Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1247—Job translation or job parsing, e.g. page banding by conversion to printer ready format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1282—High volume printer device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/435—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of radiation to a printing material or impression-transfer material
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J3/00—Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed
- B41J3/407—Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed for marking on special material
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1208—Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
Definitions
- Embodiments herein relate generally to a controller and a method performed by the controller. More particularly the embodiments herein relate to enabling a pattern to be marked on a substrate with an industrial printer.
- an industrial printer In an industrial printer system, an industrial printer is typically configured to mark various types of substrates with different types of patterns.
- One example of an operation of such an industrial printer is the marking of patterns on various types of packages or consumer goods e.g. on a packaging line or a manufacturing assembly line.
- the industrial printer system may also be referred to as an industrial marking system which is configured to mark a pattern on the substrate.
- the pattern marked on the substrate may be for example text, graphics, codes, images etc.
- industrial in industrial printer, industrial printer system and industrial printing may refer to that it is related to or characterized by industry, that it is designed or suitable for use in industry. Industry may be described as the process of making products by using machinery and factories. In industry, the environmental conditions may be variable in time, the ambient temperatures may vary etc.
- the font which describes the way to mark the characters or glyphs in the text is designed by hand. This is a time consuming and inefficient way of designing the font.
- the printer may pass the same point on the object several times.
- the same point is passed numerous times, there is a large risk for that the laser beam burns through the substrate e.g. in case the substrate is a plastic sheet.
- an ink jet printer In order for an ink jet printer to determine the order and angle it will fire the ink drops, it considers several inputs such as e.g. the font, the content structure, the speed of the substrate being marked on. In addition, the ink jet printer uses a hand-optimized look-up table containing the patterns of pixels that should be marked and the best way to mark those patterns. Creating and using a hand-optimized look-up table is inefficient and time consuming.
- the industrial printer When marking a substrate with a pattern, it is desirable and advantageous for the industrial printer to perform the marking in an optimal or near optimal path.
- the brute force method may be used, i.e. by checking all possible marking paths. Such method for finding the optimal or near optimal marking path takes a very long time to execute since there are a large number of possible marking paths.
- ink droplets influence each other.
- the firing of the ink droplets is optimized in order to avoid this, but this optimization is today performed manually by a human operator which takes a lot of time.
- An unoptimized or poorly optimized font will cause an increase in mirror movement of an laser type of industrial printer, difficult speed or direction changes, all of which increase the print time and decrease the throughput, or retrace areas already marked, which could result in poor print quality such as e.g. burns on the substrate in the case of a laser industrial printer.
- An objective of embodiments herein is therefore to obviate at least one of the above disadvantages and to provide improved marking of a pattern on a substrate.
- the object is achieved by a method for enabling marking of a pattern on a substrate with an industrial printer.
- a genetic algorithm is executed based on the pattern to be marked on the substrate.
- a result of the genetic algorithm indicates a resulting path which the industrial printer should follow when marking the pattern on the substrate. It is determined if the resulting path fulfils at least one criterion.
- the object is achieved by a controller device being configured to execute a genetic algorithm based on a pattern to be marked on a substrate with an industrial printer.
- a result of the genetic algorithm indicates a path which the industrial printer should follow when marking the pattern.
- the controller device is configured to determine if the resulting path fulfils at least one criterion.
- the marking of the pattern on the substrate is improved.
- One advantage of the embodiments herein is that an optimal or near optimal marking with respect to time, speed and quality is possible for substantially any type of marking font, code, image, logo, graphics or combination thereof. No upfront hand optimization is required with the embodiments herein.
- An advantage of the embodiments herein is that execution of the genetic algorithm allows user of the printers to use any font they want.
- a further advantage of the embodiments herein is that for a laser printer, they reduce the risk for the laser to burn through the substrate when marking. This is due to that the genetic algorithm provides a resulting path which does not pass the same point more than one time or which passes the same point in a minimum number of times.
- Another advantage of the embodiments herein is that they allow the current hand-optimized look-up tables and potentially other parts of this process to be replaced by the genetic algorithm. Given conditions such as content structure, what needs to be printed, quality of the mark etc., in addition to a sufficiently accurate model, the genetic algorithm is able to determine an at least near optimal way to print the information.
- the embodiments herein provides an advantage of allowing re-ordering the instructions of the current unoptimized or poorly optimized font in a more ideal way for laser marking.
- Another advantage of the embodiments herein is that, for an ink jet printer, the genetic algorithm can minimize dot misplacement issues, particularly for marks which cannot be hand optimized in advanced like a Quick Response (QR) code.
- QR Quick Response
- FIG. 1 is a schematic block diagram illustrating embodiments of an industrial printer system.
- FIG. 2 a is a flow chart illustrating embodiments of a method.
- FIG. 2 b is a flow chart illustrating embodiments of a method.
- FIG. 3 a is an example of marking the pattern A in a non-optimal path.
- FIG. 3 b is an example of marking the pattern A in an optimal or near optimal path.
- FIG. 4 a is an example of marking the pattern H in a non-optimal path.
- FIG. 4 b is an example of marking the pattern H in an optimal or near optimal path.
- FIG. 4 c is an example of marking the pattern H in an optimal or near optimal path.
- FIG. 5 a is an example of a marking of a QR code in a non-optimal path.
- FIG. 5 b is an example of marking of a QR code in an optimal or near optimal path.
- FIG. 6 is an example of a method.
- FIG. 1 illustrates an example of an industrial printer system for marking a pattern 101 on a substrate.
- the substrate may be comprised in an object 105 , e.g. it may be the surface of the object 105 , the material of the object 105 , etc.
- the industrial printer system illustrated in FIG. 1 comprises an industrial printer 110 which is configured to mark the pattern 101 on the substrate.
- the substrate is marked with the pattern 101 using the industrial printer 110 .
- the pattern may also be referred to as a mark.
- the procedure of marking the substrate with a pattern may also be referred to as applying a pattern 101 , printing a pattern 101 , providing a pattern 101 , etc.
- the object 105 may be referred to as a product, a packaging, a goods etc., i.e. it is an entity adapted to have a pattern 101 marked on it using an industrial printer 110 .
- the industrial printer 110 may comprise at least one print head 115 .
- the industrial printer 110 may comprise one, two or multiple print heads 115 , but only one is illustrated in FIG. 1 for the sake of simplicity.
- the print head 115 may be described as an element within the industrial printer 110 that marks the pattern 101 on the substrate. The marking may be performed for example by propelling droplets of ink, writing with a laser beam etc.
- the print head 115 comprises nozzles (also referred to as jets). The nozzles propel or fire drops/droplets of ink on the substrate which forms the pattern 101 .
- a Continuous Ink Jet is an example of an ink jet printer where a continuous stream of ink drops are fired from the print head 115 onto the substrate when marking the pattern 101 .
- the industrial printer 110 may be a laser printer.
- a laser printer a laser beam enables the marking of the pattern 101 on the substrate. Note that the CIJ printer is used herein as an example only, and other types of ink jet printers is equally applicable since they also have a problem with firing the dots and how they influence each other.
- the industrial printer 110 may further comprise a controller 118 and a memory 120 .
- the controller 118 may be adapted to communicate, wirelessly or via wire, with the print head 115 for example by sending instructions for marking the pattern 101 on the substrate.
- the controller 118 may be arranged to create the pattern 101 , to control the print head 115 , etc.
- the controller 118 may be a standalone device which is arranged to communicate with the industrial printer 110 , or the controller 118 may be embedded in the industrial printer 110 , as exemplified in FIG. 1 .
- the controller 118 and the memory 120 may be located at the same physical location as the print head 115 , or they may be located at locations.
- the controller 118 and the memory 120 may be located in one enclosure, box or frame, and the print head 115 may be located in another enclosure, box or frame, both located at the same or different physical locations but adapted to be connected to and communicate with each other.
- the memory 120 may be adapted to store e.g. the pattern 101 to be marked, instructions received form the controller 118 , printer settings etc.
- the memory 120 may be co-located with the controller 118 in the industrial printer 110 , or the memory 120 may be a remote memory which is remote to the controller 118 and which the controller 118 may be adapted to communicate with.
- the memory 120 may be located at the same physical location as the controller 118 or it may be located in a different location, e.g. it may be a cloud memory.
- the industrial printer 110 may further comprise an input unit and an output unit (not shown in FIG. 1 ).
- the input unit may be adapted to receive input from for example a user or an operator of the industrial printer 110 .
- the received input may be for example user configured printer settings, selection of one of a plurality of candidate patterns 101 to be marked on the substrate etc.
- the output unit may be adapted to provide candidate patterns 101 to the user for his selection, to provide confirmation of a marked pattern 101 to the user etc.
- the input unit and the output units may be separate units or they may be co-located.
- the components of the industrial printer 110 may be located at the same physical location, or they may be located at different locations.
- the print head 115 is located at the same location as the object 105 , but the other components of the industrial printer 110 , i.e. the controller 118 , the memory 120 , the input and output units may be located at the same or different location as the print head 115 and the object 105 .
- the controller 118 may be adapted to wirelessly communicate with the print head 115 in order for it to mark the pattern 101 on the substrate.
- the industrial printer system may for example be in use with a packaging or product line (not illustrated in FIG. 1 ) which moves the object 105 having the substrate past the industrial printer 110 , e.g. past the print head 115 .
- the industrial printer 110 may mark the pattern 101 , using the print head 115 , on the substrate while the object 105 moves past the industrial printer 101 , e.g. while the object 105 moves past the print head 115 .
- the packaging or product line may comprise a conveyor belt on which the object 105 is located, and the conveyor belt moves in with a conveyor speed.
- the substrate on which the pattern 101 is to be marked may be located in a certain distance with respect to the print head 115 .
- the distance may be fixed or adjustable.
- the industrial printer 110 may be a black and white printer or a color printer.
- the pattern 101 may comprise one, two or more colors.
- the pattern 101 may form text, graphics, codes, marks, images etc. such as e.g. a company logo, a trademark, a product name, a bar code, an expiry date, 1D barcodes, 2D barcodes, lines, boxes, etc.
- the method for enabling marking of a pattern 101 on a substrate with an industrial printer 110 will now be described with reference to the flowchart depicted in FIG. 2 a and FIG. 2 b .
- the method may be seen as being performed by an industrial printer 110 , for example by the controller 118 associated with or comprised within the industrial printer 110 .
- the method comprises at least one of the following steps, which steps may as well be carried out in another suitable order than described below:
- An initial setup of a genetic algorithm may be performed. For example, this step may be performed before the algorithm is executed for the first time. There may not be any need for an initial setup of the algorithm for the second or more times which the algorithm is executed.
- the initial setup may involve registering configuration data of the industrial printer 101 which may be necessary in the marking process, uploading the pattern 101 etc.
- the genetic algorithm is executed based on the pattern 101 to be marked on the substrate.
- a result of the genetic algorithm indicates a path which the industrial printer 110 , e.g. the print head 115 , should follow when marking the pattern 101 .
- the resulting path may be referred to as an optimal path, a near optimal path, a substantially optimal path, an almost optimal path, an approximation of the optimal path, an estimation of the optimal path etc., and may be described as a path which is as close to the optimal path as possible to be obtained with execution of the genetic algorithm.
- the input to the genetic algorithm may be described as the pattern 101 to be marked such as for example codes or images.
- the input may in addition be constraints, e.g. the conveyor speed, or a range minimum and maximum conveyor speed etc.
- the input may be provided to the genetic algorithm for example via a job or image description, printer configuration, sensor input etc.
- the output of the genetic algorithm may be described as parameter values and sequence and direction of firing the drops of the marking.
- a Genetic Algorithm has a great ability to search a through a huge combination of parameters to find the best possible match with the optimal parameter.
- a genetic algorithm may be described is a method for solving optimization problems based on a natural selection process that is inspired by the biological evolution.
- the algorithm repeatedly modifies a population of individual solutions.
- the genetic algorithm randomly selects individuals from the current population and uses them as parents to produce the children for the next generation.
- the population “evolves” toward a solution which is as near the optimal solution as possible, preferably the exact same as the optimal solution.
- the fitness of every individual in the population is evaluated, multiple individuals are selected from the current population and based on their fitness, and modified, e.g. recombined and possibly mutated, to form a new population.
- the new population is then used in the next iteration of the algorithm.
- the algorithm terminates when either a maximum number of generations has been produced, or a satisfactory fitness level has been reached for the population.
- the solution domain mentioned above corresponds to the pattern to be printed, e.g. the letters A or H.
- a fitness function When a fitness function is applied, it provides an indication of how close a solution is to the desired or optimal solution, i.e. an indication of a near optimal solution.
- the fitness function is defined over the genetic representation and measures the quality of the represented solution, a figure of merit. For example, a fitness function indicates how close a path for marking the pattern 101 is to an optimal path.
- the result of the genetic algorithm is the path which the industrial printer 110 , e.g. the print head 115 , should follow when marking the substrate with the pattern 101 .
- the resulting path may be described as an optimal or a near optimal path which the industrial printer 110 should follow.
- the near optimal path may also be referred to as an approximately optimal path.
- the resulting path indicates at least one of the following:
- the deflection angel mentioned above is controlled by drop charge and deflection plate charge.
- the above is a non-exhaustive list of examples of what the resulting optimal or near optimal path may indicate. And other examples may be stroke length, jump length, total path length, dwell time, pixel spacing etc.
- the resulting optimal or near optimal path may be different for an industrial printer 110 based on laser technology compared to an industrial printer 110 based on ink jet technology.
- the resulting optimal or near optimal path may indicate the order in which parts which constitute the pattern 101 should be marked and the deflection angle.
- the resulting optimal or near optimal path may indicate the order and the direction in which the parts should be marked.
- a drop charge results in a deflection angle and a deflection distance.
- the drop charge and deflection plate charge controls the deflection angle.
- the resulting optimal or near optimal path may indicate the order and direction of the strokes for the vector fonts and the order of firing of the drops in the pattern 101 .
- the parts which constitute the pattern 101 may be at least one of: strokes and/or jumps and/or dots.
- the term “at least one” used herein refers to one, two or more. Thus, there may be at least three different types of parts which may constitute the pattern 101 , and any number, order and combination of these parts is applicable.
- a pattern 101 to be marked by an ink jet printer may be constituted of dots.
- a pattern marked by an ink jet printer does not comprise skips, jumps and mirrors.
- a pattern 101 to be marked by a laser printer may be constituted by strokes and/or jumps.
- the pattern parts, when constituting a certain pattern will be marked in an ordered sequence. Using other words, a pattern 101 may comprise an ordered sequence of strokes and/or dots, and possibly also jumps if required.
- the resulting optimal or near optimal path may then indicate in which order the industrial printer 110 should mark strokes and perform jumps when marking the letter H.
- the direction in which the laser beam or the deflection of the ink droplets moves when marking the pattern 101 may be at least one of left, right, up and/or down.
- a laser beam may be moved in any suitable combination of x and y coordinates, e.g. to make a curved stroke.
- the ink jet printer may only move in one axis, which may be referred to as up/down.
- the laser may move in both axes.
- the pattern 101 to be marked may be a text, a graphic, a one or two dimensional code, an image, lines, a box or a circle.
- true type fonts or proprietary font formats may be used to describe how to mark glyphs in the text.
- a timer may be started.
- the timer is to be used in step 202 for keeping track of the time spent for executing the genetic algorithm.
- Step 202 involves determining whether the resulting path from step 201 fulfils or come sufficiently close to at least one criterion.
- the resulting path may be an optimal or a near optimal path. This may also be described as applying a fitness function to the resulting path from step 201 .
- the fitness function evaluates and compares the results of each iteration of the genetic algorithm to evaluate which results are a better match to the optimal path and pick the “genes” to use in the next genetic iteration or if the condition has been met and the results can be used to start marking.
- This step 202 may be seen as a part of the genetic algorithm or as a separate method step.
- the at least one criterion may be at least one of the following:
- Substantially matching may refer to that the resulting path may be the same as the optimal path with or without a tolerance, i.e. that the resulting path is close enough to the optimal path.
- the tolerance may be predetermined by the operator of the printer 110 or it may be determined by the printer 110 itself.
- the threshold for the time spent for executing the genetic algorithm may be predetermined by the operator of the printer 110 or it may be determined by the printer 110 itself.
- the criteria may have different priority. For example, criterion 1 may have higher priority than criteria 2 and 3. In another example, criterion 3 may have higher priority than criteria 1 and 2. So, when the criterion with the highest priority is fulfilled, the method proceeds to step 203 .
- step 203 An example where all criteria 1, 2 and 3 are used is seen in FIG. 2 b . If criterion 1) is fulfilled, then the method proceeds to step 203 . If criterion 1) is not fulfilled, then criterion 2) is checked. If criterion 2) is fulfilled, then the method proceeds to step 203 . If criterion 2) is not fulfilled, then criterion 3) is checked. If criterion 3) is fulfilled, then the method proceeds to step 203 . If criterion 3) is not fulfilled, then the method goes back to step 201 .
- the print head 115 may move the laser beam when it marks the substrate with the pattern 101 , and moving takes time. Therefore, the resulting optimal or near optimal path may have at least one of: a minimal jump distance and/or a minimal number of mirror direction reversals and/or a minimal number of mirror speed changes, and/or a minimum of retracing of an area that already has been marked etc. At least one of these is to be performed by the industrial printer 110 when marking the pattern 101 in the resulting path using as little time as necessary for the marking, where the resulting path is an optimal path or a near optimal path. This may also be different in ink jet printers and laser printers. For example, an ink jet printer does not have skips, jumps and mirrors.
- drops of ink may influence each other and may also consequently collide when they are fired towards the object 105 when marking.
- the optimal or near optimal path has a minimum of such ink drop influence given other parameters such as the ink type and print speed. E.g. it might not be possible to select the marking path with the minimum drop influence as this might not reach the print speed target.
- the optimal is when it has the least amount of deviations in the dot placement, i.e. the most correct dot placement. In current printers, this is calculated manually which is very time consuming. With use of the genetic algorithm, this time is drastically reduced compared to the manual calculation.
- Step 202 a (not Illustrated in FIG. 2 a )
- This step is a substep of step 202 . It may be determined that the execution of the genetic algorithm should be iterated if the resulting path does not fulfill at least one of the criterion.
- Step 202 b (not Illustrated in FIG. 2 a )
- the parameter to be used when selecting at least part of the resulting path may be associated with at least one of:
- the speed of packaging line may be part of the fitness function, see above.
- Fitness evaluation may be done against e.g. speed of packaging line.
- the speed can be a range of min-max speed.
- Step 202 c (not Illustrated in FIG. 2 a )
- step 202 This is a substep of step 202 and step to be performed after step 202 b or after step 202 a .
- Execution of the genetic algorithm may be iterated as determined in step 202 b .
- the selected part from step 202 b may be re-used when iterating the genetic algorithm.
- the genetic algorithm may be iterated one, two or more times until it fulfils the criterion.
- Marking of the pattern 101 on the object 105 in the resulting path may be initiated. This may be in the form of that the controller 118 sends an instruction to the printer 110 to mark the pattern 101 with the print head 115 . It may be an internal or external event which initiates the printing. Initiating the printing may also be referred to as triggering the printing. Initiating of the printing is done when the resulting path is an optimal path or a near optimal path.
- the printer 110 may mark the pattern 101 on the substrate in the resulting path.
- a stroke may also be referred to as a printing stroke or a draw and is, for a laser printer, a movement of the laser beam from one point to another where the path between the points are marked when marking the pattern 101 .
- An ink jet printer fires ink droplets, which consequently acts differently than a laser printer.
- the black dot in the figs. represents the starting point for the marking.
- FIG. 3 a and FIG. 3 b illustrate marking of the pattern 101 being exemplified with the letter A, where FIG. 3 a illustrates marking the pattern A in a non-optimal path and FIG. 3 b illustrates marking the A in an optimal or near optimal path.
- Non-optimal refers to marking using prior art methods, i.e. not using the genetic algorithm.
- FIG. 3 b illustrates printing the pattern A in an optimal or near optimal path using the method with the genetic algorithm described herein.
- FIG. 3 a illustrates a long jump distance
- FIG. 3 b illustrates a short jump distance, where the jump distance in FIG. 3 b is shorter than the one illustrated in FIG. 3 a.
- this optimal or near optimal path comprises four steps, i.e. 3 strokes and 1 jump.
- Jump distance in FIG. 3 a comprises jump 2 plus jump 4, which is a longer total jump distance for the whole pattern 101 compared to FIG. 4 b which only comprises jump 3 in total.
- the pattern marking in FIG. 3 b has a shorter jump distance compared to FIG. 3 a.
- FIG. 4 a , FIG. 4 b and FIG. 4 c illustrate marking of the pattern 101 being exemplified by the letter H, where FIG. 4 a illustrates marking the pattern H in a non-optimal path.
- Non-optimal refers to marking using prior art methods, i.e. not using any genetic algorithm.
- FIG. 4 b and FIG. 4 c illustrate two examples of marking the pattern H in an optimal or near optimal path using the method with the genetic algorithm described above.
- FIG. 4 b may also described as showing the evolution of the optimization with the algorithm, where FIG. 4 a is the starting point, FIG. 4 b is the result after some iterations which is better than shown in FIG. 4 a , and FIG. 4 c is the optimal/near optimal path.
- the non-optimal marking of letter H starts in the black start dot or circle in the upper left corner which may also be referred to as a start point or as the point (0,0) in an x-y coordinate system (illustrated in FIGS. 4 a , 4 b and 4 c ).
- the marking is performed starting at the start point and is then continued according to the numbered arrows in increasing order, starting with stroke 1, stroke 2, jump 3, stroke 4, stroke 5, jump 6, and ending with stroke 7.
- the non-optimal marking of H is performed in 7 steps, i.e. 5 strokes and 2 jumps.
- y refers to a point on the y-axis
- x refers to a point on the x-axis.
- the ⁇ y refers to a downwards movement on the y-axis
- +y refers to an upwards movement on the y-axis
- ⁇ x refers to a left movement on the x-axis
- +y refers to a right movement on the x-axis.
- 0 in the table refers to that there is no movement in the particular axis.
- the bold x and y in Table 1 illustrates a direction change, which will be described in more detail later.
- FIG. 4 b illustrates one example of the optimal or near optimal marking of the pattern 101 being exemplified by the letter H.
- This optimal or near optimal marking also starts in the upper left corner of the letter H, which is the same start point as in FIG. 4 a .
- the marking then continues according to the numbered arrows in increasing order, starting with stroke 1, stroke 2, stroke 3, jump 4, stroke 5, jump 6 and ending with stroke 7.
- the optimized marking in FIG. 4 b is performed in 7 steps, i.e. 5 strokes and 2 jumps, which is the same as in FIG. 4 a .
- the jump distance is the same in FIGS. 4 a and 4 b.
- Table 2 An overview of the seven marking steps in FIG. 4 b is shown in Table 2 Table 1 below where the left column represents the marking steps 1-7, the middle column represents the start point of the marking step, i.e. the x direction, and the right column represents the end point of the marking step, i.e. the y direction.
- Y refers to a point on the y-axis
- x refers to a point on the x-axis.
- the ⁇ y refers to a downwards movement on the y-axis
- +y refers to an upwards movement on the y-axis
- ⁇ x refers to a left movement on the x-axis
- +y refers to a right movement on the x-axis.
- 0 in the table refers to that there is no movement in the particular axis.
- the bold x and y in Table 2 illustrate a direction change, which will be described in more detail later.
- FIG. 4 a comprises two 180 degree direction changes and FIG. 4 b comprises one 180 degree direction change.
- the direction changes are illustrated with bold font in both Table 1 and Table 2.
- the first direction change is between marking steps 5 and 6 where the change is from ⁇ x to +x
- the second direction change is between steps 6 and 7 from +y to ⁇ y.
- the direction change is between steps 3 and 4 and is from +y to ⁇ y.
- Direction changes takes time and can negatively impact marking quality.
- the embodiments herein comprise a reduced number of direction changes, the marking quality and throughput is increased and improved.
- FIG. 4 c An overview of the seven marking steps in FIG. 4 c is shown in Table 3 below where the left column represents the marking steps 1-7, the middle column represents the start point of the marking step, i.e. the x direction, and the right column represents the end point of the marking step, i.e. the y direction.
- y refers to a point on the y-axis
- x refers to a point on the x-axis.
- the ⁇ y refers to a downwards movement on the y-axis
- +y refers to an upwards movement on the y-axis
- ⁇ x refers to a left movement on the x-axis
- +y refers to a right movement on the x-axis.
- FIG. 5 a illustrates an example of a QR code which has marked in a non-optimal path i.e. with misplaced dots
- FIG. 5 b illustrates an example of the same QR code which has been marked in an optimal or near optimal path, i.e. with well-placed dots.
- the exact dot placement errors would be subject to the printer and the conditions.
- the QR code may also slant a bit with the ink jet technology as dots have to be fired in a sequence.
- the genetic algorithm the drop formation issues are minimized and the risk that the droplets get misplaced is also minimized. With the current technology, this may not be hand optimized since the print speed would have to be reduced.
- the genetic algorithm can minimize dot misplacement issues, particularly for marks where no efficient solution algorithm can be used.
- the method illustrated in FIG. 6 comprises at least one of the following steps, which steps may be performed in any suitable order than described below:
- the resulting path may be an optimal path or a near optimal path.
- the resulting path is associated with or comprises at least one of the following:
- the resulting path which should be followed when marking the pattern 101 i.e. the pattern that the industrial printer 110 , e.g. the print head 115 , should follow, may indicates at least one of:
- the parts which constitute the pattern 101 may be at least one of: strokes and/or jumps and/or dots.
- the pattern 101 to be marked may be a text, a graphic, a one or two dimensional code, an image, a line, a box or a circle, or any combination of this.
- true type fonts or proprietary font formats may be used to describe how to mark glyphs in the text.
- This step corresponds to step 202 in FIGS. 2 a and 2 b .
- the controller 118 determines if the resulting path fulfils at least one criterion.
- the criterion may be at least one of the following:
- the resulting path may be referred to as a resulting optimal path or an optimal path.
- the resulting path may be referred to as a resulting near optimal path or a near optimal path.
- This step corresponds to step 202 in FIGS. 2 a and 2 b .
- the controller 118 may determine that the execution of the genetic algorithm should be iterated if the resulting path does not fulfill the at least one criterion.
- This step corresponds to step 202 in FIG. 2 a and FIG. 2 b .
- the controller 118 may select at least a part of the resulting path based on at least one parameter.
- the parameter to be used when selecting at least part of the resulting path may be associated with at least one of:
- the size of the pattern 101 may be a length and width of the pattern 101 .
- the conveyor speed may be measured in m/s.
- the range of the conveyor speed may be for example in the range of 0-15 m/s, 0.3-10 m/s, 0.3-3 m/s, it may be 0.3 m/s, 3 m/s etc., but any other ranges which are faster or slower than this example is also applicable.
- the conveyor speed may also be zero, i.e. stationary, for example in case of a laser printer.
- the distance between the print head 115 and the substrate may be measured in mm, cm, m, inches or feet. The distance may also be referred to as throwing distance.
- the distance may be for example 4 mm or 1 ⁇ 2 inch for an ink jet printer, but any other smaller or larger distance is also applicable.
- the distance between the print head 115 and the substrate may be in the range between 8-13 mm, in the range of 8-10 mm, it may be 8 mm, 10 mm, 12.5 mm etc.
- the length of the printed pattern for an ink jet printer may be near unlimited with a repeating pattern, e.g. when it used to mark cables.
- the distance may be limited by the lens for a laser printer, e.g. up to 500 mm.
- the length of the printed pattern for a laser printer may be near unlimited.
- the ink type may be for example food-grade ink, thermochromic ink, washable ink, water-based and alcohol-based ink, anti-diversion ink, pigmented ink, fade-resistant ink etc. or any other suitable ink type
- This step corresponds to step 202 in FIGS. 2 a and 2 b .
- the controller 118 may iterate the execution of the genetic algorithm as determined.
- the selected part may be re-used when iterating the genetic algorithm.
- This step corresponds to step 203 in FIGS. 2 a and 2 b .
- the controller 118 may initiate marking of the pattern 101 on the substrate in the resulting path.
- the controller 118 is configured to:
- the criterion may be at least one of the following:
- the controller 118 may be further configured to:
- the controller 118 may be further configured to initiate marking of the pattern 101 on the substrate in the resulting path.
- An optimal path comprises at least one of, or any combination of:
- the resulting path which should be followed, e.g. by the industrial printer 110 or by the print head 115 , when marking the pattern 101 indicates at least one of:
- the parts which constitute the pattern 101 may be at least one of: strokes and/or jumps and/or dots, or any combination thereof.
- the parameter to be used when selecting at least part of the resulting path may be associated with at least one of:
- the pattern 101 to be marked may be a text, a graphic, a one or two dimensional code, an image, a line, a box or a circle, or any combination thereof.
- true type fonts or proprietary font formats may be used to describe how to mark glyphs in the text.
- the controller 118 may be a standalone controller 118 configured to communicate with the industrial printer 110 , or wherein the controller 118 is embedded in the industrial printer 110 .
- a computer program may comprise instructions which, when executed on at least one processor, cause the at least one processor to carry out at one of the method steps in at least one of FIGS. 2 a , 2 b and 5 .
- a carrier may comprise the computer program, and the carrier is one of an electronic signal, optical signal, radio signal or computer readable storage medium.
- the present mechanism for enabling marking of a pattern 101 on a substrate with an industrial printer 110 may be implemented through one or more processors, such as the controller 118 depicted in FIG. 1 , together with computer program code for performing the functions of the embodiments herein.
- the processor may be for example a Digital Signal
- DSP Data Processing Processor
- ASIC Application Specific Integrated Circuit
- FPGA Field-programmable gate array
- the program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the controller 118 .
- a data carrier carrying computer program code for performing the embodiments herein when being loaded into the controller 118 .
- One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick.
- the computer program code can furthermore be provided as pure program code on a server and downloaded to the controller 118 .
- the industrial printer 110 is based on laser technology
- true type fonts, proprietary font formats or other off-the-shelf fonts are supported.
- the number of strokes and jumps are optimized to an optimal or at least a near optimal point.
- the optimization may differ from printer to printer or between regenerations.
- the optimization is calculated in a short period of time compared to taking hours or days with brute force algorithms as in the prior art.
- the industrial printer 110 when the industrial printer 110 is based on ink jet technology, it may not be required for a user of the industrial printer 110 to select an algorithm or there may be some auto generate/intelligence choice in the user interface associated with the industrial printer 110 .
- the genetic algorithm is executed based on parameters such as e.g. job, marking distance, speed, ink type and a near optimal value is used. There may be a regenerate/re-calculate alternative in the user interface.
- the optimization may differ between regenerations of the genetic algorithm.
- the optimization may be calculated in a short period of time compared to hours or days with brute force algorithms as in the prior art.
- the method for enabling a pattern 101 to be marked on a substrate with an industrial printer 110 may comprise at least one of the following steps:
Abstract
Description
- Embodiments herein relate generally to a controller and a method performed by the controller. More particularly the embodiments herein relate to enabling a pattern to be marked on a substrate with an industrial printer.
- In an industrial printer system, an industrial printer is typically configured to mark various types of substrates with different types of patterns. One example of an operation of such an industrial printer is the marking of patterns on various types of packages or consumer goods e.g. on a packaging line or a manufacturing assembly line. The industrial printer system may also be referred to as an industrial marking system which is configured to mark a pattern on the substrate.
- The pattern marked on the substrate may be for example text, graphics, codes, images etc.
- The term industrial in industrial printer, industrial printer system and industrial printing may refer to that it is related to or characterized by industry, that it is designed or suitable for use in industry. Industry may be described as the process of making products by using machinery and factories. In industry, the environmental conditions may be variable in time, the ambient temperatures may vary etc.
- When marking a pattern such as e.g. a text on a substrate using an industrial printer, the font which describes the way to mark the characters or glyphs in the text is designed by hand. This is a time consuming and inefficient way of designing the font.
- When marking the pattern with e.g. a laser printer, the printer may pass the same point on the object several times. When the same point is passed numerous times, there is a large risk for that the laser beam burns through the substrate e.g. in case the substrate is a plastic sheet.
- In order for an ink jet printer to determine the order and angle it will fire the ink drops, it considers several inputs such as e.g. the font, the content structure, the speed of the substrate being marked on. In addition, the ink jet printer uses a hand-optimized look-up table containing the patterns of pixels that should be marked and the best way to mark those patterns. Creating and using a hand-optimized look-up table is inefficient and time consuming.
- When marking a substrate with a pattern, it is desirable and advantageous for the industrial printer to perform the marking in an optimal or near optimal path. For finding an optimal or a near optimal path for a laser type of industrial printer to mark a substrate with a pattern, the brute force method may be used, i.e. by checking all possible marking paths. Such method for finding the optimal or near optimal marking path takes a very long time to execute since there are a large number of possible marking paths.
- In an ink jet printer, there may be a problem that ink droplets influence each other. The firing of the ink droplets is optimized in order to avoid this, but this optimization is today performed manually by a human operator which takes a lot of time.
- An unoptimized or poorly optimized font will cause an increase in mirror movement of an laser type of industrial printer, difficult speed or direction changes, all of which increase the print time and decrease the throughput, or retrace areas already marked, which could result in poor print quality such as e.g. burns on the substrate in the case of a laser industrial printer.
- Therefore, there is a need to at least mitigate or solve these issues.
- An objective of embodiments herein is therefore to obviate at least one of the above disadvantages and to provide improved marking of a pattern on a substrate.
- According to a first aspect, the object is achieved by a method for enabling marking of a pattern on a substrate with an industrial printer. A genetic algorithm is executed based on the pattern to be marked on the substrate. A result of the genetic algorithm indicates a resulting path which the industrial printer should follow when marking the pattern on the substrate. It is determined if the resulting path fulfils at least one criterion.
- According to a second aspect, the object is achieved by a controller device being configured to execute a genetic algorithm based on a pattern to be marked on a substrate with an industrial printer. A result of the genetic algorithm indicates a path which the industrial printer should follow when marking the pattern. The controller device is configured to determine if the resulting path fulfils at least one criterion.
- Since the genetic algorithm analyses the pattern to be marked on the substrate and results in an at least near optimal path which the industrial printer should follow when marking the substrate with the pattern, the marking of the pattern on the substrate is improved.
- Embodiments herein afford many advantages, of which a non-exhaustive list of examples follows:
- One advantage of the embodiments herein is that an optimal or near optimal marking with respect to time, speed and quality is possible for substantially any type of marking font, code, image, logo, graphics or combination thereof. No upfront hand optimization is required with the embodiments herein.
- An advantage of the embodiments herein is that execution of the genetic algorithm allows user of the printers to use any font they want.
- A further advantage of the embodiments herein is that for a laser printer, they reduce the risk for the laser to burn through the substrate when marking. This is due to that the genetic algorithm provides a resulting path which does not pass the same point more than one time or which passes the same point in a minimum number of times.
- Another advantage of the embodiments herein is that they allow the current hand-optimized look-up tables and potentially other parts of this process to be replaced by the genetic algorithm. Given conditions such as content structure, what needs to be printed, quality of the mark etc., in addition to a sufficiently accurate model, the genetic algorithm is able to determine an at least near optimal way to print the information.
- The embodiments herein provides an advantage of allowing re-ordering the instructions of the current unoptimized or poorly optimized font in a more ideal way for laser marking.
- Another advantage of the embodiments herein is that, for an ink jet printer, the genetic algorithm can minimize dot misplacement issues, particularly for marks which cannot be hand optimized in advanced like a Quick Response (QR) code.
- The embodiments herein are not limited to the features and advantages mentioned above. A person skilled in the art will recognize additional features and advantages upon reading the following detailed description.
- The embodiments herein will now be further described in more detail in the following detailed description by reference to the appended drawings illustrating the embodiments and in which:
-
FIG. 1 is a schematic block diagram illustrating embodiments of an industrial printer system. -
FIG. 2a is a flow chart illustrating embodiments of a method. -
FIG. 2b is a flow chart illustrating embodiments of a method. -
FIG. 3a is an example of marking the pattern A in a non-optimal path. -
FIG. 3b is an example of marking the pattern A in an optimal or near optimal path. -
FIG. 4a is an example of marking the pattern H in a non-optimal path. -
FIG. 4b is an example of marking the pattern H in an optimal or near optimal path. -
FIG. 4c is an example of marking the pattern H in an optimal or near optimal path. -
FIG. 5a is an example of a marking of a QR code in a non-optimal path. -
FIG. 5b is an example of marking of a QR code in an optimal or near optimal path. -
FIG. 6 is an example of a method. - The drawings are not necessarily to scale and the dimensions of certain features may have been exaggerated for the sake of clarity. Emphasis is instead placed upon illustrating the principle of the embodiments herein.
-
FIG. 1 illustrates an example of an industrial printer system for marking apattern 101 on a substrate. The substrate may be comprised in anobject 105, e.g. it may be the surface of theobject 105, the material of theobject 105, etc. The industrial printer system illustrated inFIG. 1 comprises an industrial printer 110 which is configured to mark thepattern 101 on the substrate. Thus, the substrate is marked with thepattern 101 using the industrial printer 110. The pattern may also be referred to as a mark. The procedure of marking the substrate with a pattern may also be referred to as applying apattern 101, printing apattern 101, providing apattern 101, etc. - The
object 105 may be referred to as a product, a packaging, a goods etc., i.e. it is an entity adapted to have apattern 101 marked on it using an industrial printer 110. - The industrial printer 110, e.g. a laser printer or an inkjet printer, may comprise at least one
print head 115. Thus, the industrial printer 110 may comprise one, two ormultiple print heads 115, but only one is illustrated inFIG. 1 for the sake of simplicity. Theprint head 115 may be described as an element within the industrial printer 110 that marks thepattern 101 on the substrate. The marking may be performed for example by propelling droplets of ink, writing with a laser beam etc. For example, if the industrial printer 110 is an inkjet printer theprint head 115 comprises nozzles (also referred to as jets). The nozzles propel or fire drops/droplets of ink on the substrate which forms thepattern 101. A Continuous Ink Jet (CIJ) is an example of an ink jet printer where a continuous stream of ink drops are fired from theprint head 115 onto the substrate when marking thepattern 101. In another example, the industrial printer 110 may be a laser printer. In a laser printer, a laser beam enables the marking of thepattern 101 on the substrate. Note that the CIJ printer is used herein as an example only, and other types of ink jet printers is equally applicable since they also have a problem with firing the dots and how they influence each other. - The industrial printer 110 may further comprise a
controller 118 and amemory 120. Thecontroller 118 may be adapted to communicate, wirelessly or via wire, with theprint head 115 for example by sending instructions for marking thepattern 101 on the substrate. Thecontroller 118 may be arranged to create thepattern 101, to control theprint head 115, etc. Thecontroller 118 may be a standalone device which is arranged to communicate with the industrial printer 110, or thecontroller 118 may be embedded in the industrial printer 110, as exemplified inFIG. 1 . - The
controller 118 and thememory 120 may be located at the same physical location as theprint head 115, or they may be located at locations. Thecontroller 118 and thememory 120 may be located in one enclosure, box or frame, and theprint head 115 may be located in another enclosure, box or frame, both located at the same or different physical locations but adapted to be connected to and communicate with each other. - The
memory 120 may be adapted to store e.g. thepattern 101 to be marked, instructions received form thecontroller 118, printer settings etc. Thememory 120 may be co-located with thecontroller 118 in the industrial printer 110, or thememory 120 may be a remote memory which is remote to thecontroller 118 and which thecontroller 118 may be adapted to communicate with. Thememory 120 may be located at the same physical location as thecontroller 118 or it may be located in a different location, e.g. it may be a cloud memory. - The industrial printer 110 may further comprise an input unit and an output unit (not shown in
FIG. 1 ). The input unit may be adapted to receive input from for example a user or an operator of the industrial printer 110. The received input may be for example user configured printer settings, selection of one of a plurality ofcandidate patterns 101 to be marked on the substrate etc. The output unit may be adapted to providecandidate patterns 101 to the user for his selection, to provide confirmation of amarked pattern 101 to the user etc. The input unit and the output units may be separate units or they may be co-located. - The components of the industrial printer 110 may be located at the same physical location, or they may be located at different locations. The
print head 115 is located at the same location as theobject 105, but the other components of the industrial printer 110, i.e. thecontroller 118, thememory 120, the input and output units may be located at the same or different location as theprint head 115 and theobject 105. For example, if thecontroller 118 is located at a different location than theprint head 115 and theobject 105, thecontroller 118 may be adapted to wirelessly communicate with theprint head 115 in order for it to mark thepattern 101 on the substrate. - The industrial printer system may for example be in use with a packaging or product line (not illustrated in
FIG. 1 ) which moves theobject 105 having the substrate past the industrial printer 110, e.g. past theprint head 115. The industrial printer 110 may mark thepattern 101, using theprint head 115, on the substrate while theobject 105 moves past theindustrial printer 101, e.g. while theobject 105 moves past theprint head 115. The packaging or product line may comprise a conveyor belt on which theobject 105 is located, and the conveyor belt moves in with a conveyor speed. - The substrate on which the
pattern 101 is to be marked may be located in a certain distance with respect to theprint head 115. The distance may be fixed or adjustable. - The industrial printer 110 may be a black and white printer or a color printer. Thus, the
pattern 101 may comprise one, two or more colors. Thepattern 101 may form text, graphics, codes, marks, images etc. such as e.g. a company logo, a trademark, a product name, a bar code, an expiry date, 1D barcodes, 2D barcodes, lines, boxes, etc. - The method for enabling marking of a
pattern 101 on a substrate with an industrial printer 110 according to some embodiments will now be described with reference to the flowchart depicted inFIG. 2a andFIG. 2b . The method may be seen as being performed by an industrial printer 110, for example by thecontroller 118 associated with or comprised within the industrial printer 110. The method comprises at least one of the following steps, which steps may as well be carried out in another suitable order than described below: - This may be an optional step. An initial setup of a genetic algorithm may be performed. For example, this step may be performed before the algorithm is executed for the first time. There may not be any need for an initial setup of the algorithm for the second or more times which the algorithm is executed. The initial setup may involve registering configuration data of the
industrial printer 101 which may be necessary in the marking process, uploading thepattern 101 etc. - The genetic algorithm is executed based on the
pattern 101 to be marked on the substrate. A result of the genetic algorithm indicates a path which the industrial printer 110, e.g. theprint head 115, should follow when marking thepattern 101. The resulting path may be referred to as an optimal path, a near optimal path, a substantially optimal path, an almost optimal path, an approximation of the optimal path, an estimation of the optimal path etc., and may be described as a path which is as close to the optimal path as possible to be obtained with execution of the genetic algorithm. - The input to the genetic algorithm may be described as the
pattern 101 to be marked such as for example codes or images. The input may in addition be constraints, e.g. the conveyor speed, or a range minimum and maximum conveyor speed etc. The input may be provided to the genetic algorithm for example via a job or image description, printer configuration, sensor input etc. The output of the genetic algorithm may be described as parameter values and sequence and direction of firing the drops of the marking. - A Genetic Algorithm (GA), has a great ability to search a through a huge combination of parameters to find the best possible match with the optimal parameter. Generally, a genetic algorithm may be described is a method for solving optimization problems based on a natural selection process that is inspired by the biological evolution. The algorithm repeatedly modifies a population of individual solutions. At each step, the genetic algorithm randomly selects individuals from the current population and uses them as parents to produce the children for the next generation. Over successive generations, the population “evolves” toward a solution which is as near the optimal solution as possible, preferably the exact same as the optimal solution. Using other words, in each generation, the fitness of every individual in the population is evaluated, multiple individuals are selected from the current population and based on their fitness, and modified, e.g. recombined and possibly mutated, to form a new population. The new population is then used in the next iteration of the algorithm. The algorithm terminates when either a maximum number of generations has been produced, or a satisfactory fitness level has been reached for the population.
- Thus, a genetic algorithm may be divided into the following two parts:
-
- 1) A genetic representation of the solution domain:
- 2) A fitness function used to evaluate the solution domain.
- The solution domain mentioned above corresponds to the pattern to be printed, e.g. the letters A or H.
- When a fitness function is applied, it provides an indication of how close a solution is to the desired or optimal solution, i.e. an indication of a near optimal solution. The fitness function is defined over the genetic representation and measures the quality of the represented solution, a figure of merit. For example, a fitness function indicates how close a path for marking the
pattern 101 is to an optimal path. - The result of the genetic algorithm is the path which the industrial printer 110, e.g. the
print head 115, should follow when marking the substrate with thepattern 101. The resulting path may be described as an optimal or a near optimal path which the industrial printer 110 should follow. The near optimal path may also be referred to as an approximately optimal path. In more detail, the resulting path indicates at least one of the following: -
- For a laser and an ink jet printer: An order in which parts which constitutes the
pattern 101 should be marked by the industrial printer 110 when marking strokes and performing jumps when marking the substrate in the path, and/or - For a laser printer: A direction in which the parts which constitutes the
pattern 101 should be marked with the industrial printer 110, and/or - For an ink jet printer: A deflection angle.
- For a laser and an ink jet printer: An order in which parts which constitutes the
- The deflection angel mentioned above is controlled by drop charge and deflection plate charge.
- The above is a non-exhaustive list of examples of what the resulting optimal or near optimal path may indicate. And other examples may be stroke length, jump length, total path length, dwell time, pixel spacing etc. The resulting optimal or near optimal path may be different for an industrial printer 110 based on laser technology compared to an industrial printer 110 based on ink jet technology. For example, for an ink jet printer 110, the resulting optimal or near optimal path may indicate the order in which parts which constitute the
pattern 101 should be marked and the deflection angle. For a laser printer 110, the resulting optimal or near optimal path may indicate the order and the direction in which the parts should be marked. - The term deflection angle mentioned above will now be shortly described. A drop charge results in a deflection angle and a deflection distance. The drop charge and deflection plate charge controls the deflection angle.
- For example, the resulting optimal or near optimal path may indicate the order and direction of the strokes for the vector fonts and the order of firing of the drops in the
pattern 101. - The parts which constitute the
pattern 101 may be at least one of: strokes and/or jumps and/or dots. The term “at least one” used herein refers to one, two or more. Thus, there may be at least three different types of parts which may constitute thepattern 101, and any number, order and combination of these parts is applicable. Apattern 101 to be marked by an ink jet printer may be constituted of dots. A pattern marked by an ink jet printer does not comprise skips, jumps and mirrors. Apattern 101 to be marked by a laser printer may be constituted by strokes and/or jumps. The pattern parts, when constituting a certain pattern, will be marked in an ordered sequence. Using other words, apattern 101 may comprise an ordered sequence of strokes and/or dots, and possibly also jumps if required. - Using an example where the
pattern 101 to be marked is the letter H. The resulting optimal or near optimal path may then indicate in which order the industrial printer 110 should mark strokes and perform jumps when marking the letter H. - The direction in which the laser beam or the deflection of the ink droplets moves when marking the
pattern 101 may be at least one of left, right, up and/or down. For example, a laser beam may be moved in any suitable combination of x and y coordinates, e.g. to make a curved stroke. The ink jet printer may only move in one axis, which may be referred to as up/down. The laser may move in both axes. - The
pattern 101 to be marked may be a text, a graphic, a one or two dimensional code, an image, lines, a box or a circle. For example, true type fonts or proprietary font formats may be used to describe how to mark glyphs in the text. - At start of
step 201 or at the first time the genetic algorithm is started, a timer may be started. The timer is to be used instep 202 for keeping track of the time spent for executing the genetic algorithm. - Step 202 involves determining whether the resulting path from
step 201 fulfils or come sufficiently close to at least one criterion. The resulting path may be an optimal or a near optimal path. This may also be described as applying a fitness function to the resulting path fromstep 201. The fitness function evaluates and compares the results of each iteration of the genetic algorithm to evaluate which results are a better match to the optimal path and pick the “genes” to use in the next genetic iteration or if the condition has been met and the results can be used to start marking. - This
step 202 may be seen as a part of the genetic algorithm or as a separate method step. - The at least one criterion may be at least one of the following:
-
- Criterion 1: that the resulting path matches an optimal path for marking the
pattern 101, i.e. that the resulting path is an optimal path; and/or - Criterion 2: that the resulting path substantially matches the optimal path, i.e. that the resulting path is a near optimal path; and/or
- Criterion 3: that a time spent for executing the genetic algorithm has reached or exceeded a threshold, i.e. the time for performing
step 201.
- Criterion 1: that the resulting path matches an optimal path for marking the
- Substantially matching may refer to that the resulting path may be the same as the optimal path with or without a tolerance, i.e. that the resulting path is close enough to the optimal path. The tolerance may be predetermined by the operator of the printer 110 or it may be determined by the printer 110 itself. The threshold for the time spent for executing the genetic algorithm may be predetermined by the operator of the printer 110 or it may be determined by the printer 110 itself.
- The criteria may have different priority. For example,
criterion 1 may have higher priority thancriteria criterion 3 may have higher priority thancriteria - Below is an example of some combinations of the criteria that may be used:
-
-
Criterion 1 -
Criterion 1 andcriterion 2 -
Criterion 1 andcriterion 3 -
Criterion 2 andcriterion 3 -
Criterion 1,criterion 2 andcriterion 3
-
- An example where all
criteria FIG. 2b . If criterion 1) is fulfilled, then the method proceeds to step 203. If criterion 1) is not fulfilled, then criterion 2) is checked. If criterion 2) is fulfilled, then the method proceeds to step 203. If criterion 2) is not fulfilled, then criterion 3) is checked. If criterion 3) is fulfilled, then the method proceeds to step 203. If criterion 3) is not fulfilled, then the method goes back tostep 201. - For example, for a laser printer, the
print head 115 may move the laser beam when it marks the substrate with thepattern 101, and moving takes time. Therefore, the resulting optimal or near optimal path may have at least one of: a minimal jump distance and/or a minimal number of mirror direction reversals and/or a minimal number of mirror speed changes, and/or a minimum of retracing of an area that already has been marked etc. At least one of these is to be performed by the industrial printer 110 when marking thepattern 101 in the resulting path using as little time as necessary for the marking, where the resulting path is an optimal path or a near optimal path. This may also be different in ink jet printers and laser printers. For example, an ink jet printer does not have skips, jumps and mirrors. - For example, in an ink jet printer, drops of ink may influence each other and may also consequently collide when they are fired towards the
object 105 when marking. In such example, the optimal or near optimal path has a minimum of such ink drop influence given other parameters such as the ink type and print speed. E.g. it might not be possible to select the marking path with the minimum drop influence as this might not reach the print speed target. The optimal is when it has the least amount of deviations in the dot placement, i.e. the most correct dot placement. In current printers, this is calculated manually which is very time consuming. With use of the genetic algorithm, this time is drastically reduced compared to the manual calculation. - This is an optional step. This step is a substep of
step 202. It may be determined that the execution of the genetic algorithm should be iterated if the resulting path does not fulfill at least one of the criterion. - This is an optional step. This is a substep of
step 202, and a step to be performed after step 202 a. At least a part of the resulting path may be selected based on at least one parameter, where the resulting path is an optimal path or a near optimal path. - The parameter to be used when selecting at least part of the resulting path may be associated with at least one of:
-
- A size of the
pattern 101, and/or - A conveyor speed or a range of conveyor speed of a packaging line on which the
object 105 is conveyed when thepattern 101 is marked, and/or - A distance from a
print head 115 of the industrial printer 110 to the substrate, and/or - An ink type to be used by the industrial printer 110 when marking the
pattern 101 using theprint head 115.
- A size of the
- As mentioned above, the speed of packaging line may be part of the fitness function, see above. Fitness evaluation may be done against e.g. speed of packaging line. The speed can be a range of min-max speed.
- This is an optional step. This is a substep of
step 202 and step to be performed after step 202 b or after step 202 a. Execution of the genetic algorithm may be iterated as determined in step 202 b. The selected part from step 202 b may be re-used when iterating the genetic algorithm. The genetic algorithm may be iterated one, two or more times until it fulfils the criterion. - Marking of the
pattern 101 on theobject 105 in the resulting path may be initiated. This may be in the form of that thecontroller 118 sends an instruction to the printer 110 to mark thepattern 101 with theprint head 115. It may be an internal or external event which initiates the printing. Initiating the printing may also be referred to as triggering the printing. Initiating of the printing is done when the resulting path is an optimal path or a near optimal path. - The printer 110 may mark the
pattern 101 on the substrate in the resulting path. - Some example of marking a
pattern 101 will now be described with reference toFIGS. 3a, 3b, 4a, 4b and 4c . The continuous arrows in these figs. represent strokes and the dotted arrows represent jumps. A stroke may also be referred to as a printing stroke or a draw and is, for a laser printer, a movement of the laser beam from one point to another where the path between the points are marked when marking thepattern 101. An ink jet printer fires ink droplets, which consequently acts differently than a laser printer. - The black dot in the figs. represents the starting point for the marking.
-
FIG. 3a andFIG. 3b illustrate marking of thepattern 101 being exemplified with the letter A, whereFIG. 3a illustrates marking the pattern A in a non-optimal path andFIG. 3b illustrates marking the A in an optimal or near optimal path. Non-optimal refers to marking using prior art methods, i.e. not using the genetic algorithm.FIG. 3b illustrates printing the pattern A in an optimal or near optimal path using the method with the genetic algorithm described herein.FIG. 3a illustrates a long jump distance andFIG. 3b illustrates a short jump distance, where the jump distance inFIG. 3b is shorter than the one illustrated inFIG. 3 a. - As seen in
FIG. 3a , the marking starts in the top of the A, and then the marking is performed according to the numbered arrows in increasing order, starting withstroke 1, jump 2,stroke 3, jump 4 and ending withstroke 5. Thus, this non-optimal path comprises 5 steps, i.e. 3 strokes and two jumps. - Now proceeding to the optimal or near optimal path in
FIG. 3b . InFIG. 3b , the marking starts in the left bottom of the A which is a different starting point than in the non-optimal path inFIG. 3a . The marking inFIG. 3b is also performed according to the numbered arrows in increasing order, starting withstroke 1,stroke 2, jump 3 and ending withstroke 4. Thus, this optimal or near optimal path comprises four steps, i.e. 3 strokes and 1 jump. Jump distance inFIG. 3a comprisesjump 2 plusjump 4, which is a longer total jump distance for thewhole pattern 101 compared toFIG. 4b which only comprisesjump 3 in total. The pattern marking inFIG. 3b has a shorter jump distance compared toFIG. 3 a. - A shorter jump distance has the advantage of taking less time and allows for throughput to increase.
-
FIG. 4a ,FIG. 4b andFIG. 4c illustrate marking of thepattern 101 being exemplified by the letter H, whereFIG. 4a illustrates marking the pattern H in a non-optimal path. Non-optimal refers to marking using prior art methods, i.e. not using any genetic algorithm.FIG. 4b andFIG. 4c illustrate two examples of marking the pattern H in an optimal or near optimal path using the method with the genetic algorithm described above.FIG. 4b may also described as showing the evolution of the optimization with the algorithm, whereFIG. 4a is the starting point,FIG. 4b is the result after some iterations which is better than shown inFIG. 4a , andFIG. 4c is the optimal/near optimal path. - As seen in
FIG. 4a , the non-optimal marking of letter H starts in the black start dot or circle in the upper left corner which may also be referred to as a start point or as the point (0,0) in an x-y coordinate system (illustrated inFIGS. 4a, 4b and 4c ). The marking is performed starting at the start point and is then continued according to the numbered arrows in increasing order, starting withstroke 1,stroke 2, jump 3,stroke 4,stroke 5, jump 6, and ending withstroke 7. The non-optimal marking of H is performed in 7 steps, i.e. 5 strokes and 2 jumps. An overview of the seven marking steps inFIG. 4a is shown in Table 1 below where the right column represents the steps 1-7, the middle column represents the start point of each marking step, i.e. a movement in the x direction, and the right most column represents the end point of each marking step, i.e. a movement in the y direction. y refers to a point on the y-axis, and x refers to a point on the x-axis. The −y refers to a downwards movement on the y-axis, +y refers to an upwards movement on the y-axis, −x refers to a left movement on the x-axis and +y refers to a right movement on the x-axis. 0 in the table refers to that there is no movement in the particular axis. The bold x and y in Table 1 illustrates a direction change, which will be described in more detail later. -
TABLE 1 Marking step x direction y direction 1 0 − y 2 0 − y 3 +x 0 4 0 + y 5 −x 0 6 +x + y 7 0 −y - Now moving to
FIG. 4b which illustrates one example of the optimal or near optimal marking of thepattern 101 being exemplified by the letter H. This optimal or near optimal marking also starts in the upper left corner of the letter H, which is the same start point as inFIG. 4a . The marking then continues according to the numbered arrows in increasing order, starting withstroke 1,stroke 2,stroke 3, jump 4,stroke 5, jump 6 and ending withstroke 7. The optimized marking inFIG. 4b is performed in 7 steps, i.e. 5 strokes and 2 jumps, which is the same as inFIG. 4a . The jump distance is the same inFIGS. 4a and 4 b. - An overview of the seven marking steps in
FIG. 4b is shown in Table 2 Table 1 below where the left column represents the marking steps 1-7, the middle column represents the start point of the marking step, i.e. the x direction, and the right column represents the end point of the marking step, i.e. the y direction. Y refers to a point on the y-axis, and x refers to a point on the x-axis. The −y refers to a downwards movement on the y-axis, +y refers to an upwards movement on the y-axis, −x refers to a left movement on the x-axis and +y refers to a right movement on the x-axis. 0 in the table refers to that there is no movement in the particular axis. The bold x and y in Table 2 illustrate a direction change, which will be described in more detail later. -
TABLE 2 Marking step x direction y direction 1 0 − y 2 +x 0 3 0 + y 4 −x − y 5 0 − y 6 +x 0 7 0 +y - In addition to the differences between
FIGS. 4a and 4b mentioned earlier, another difference between the non-optimal and the optimal or near optimal marking is the direction change that the printer 110 makes when marking the substrate. The marking inFIG. 4a comprises two 180 degree direction changes andFIG. 4b comprises one 180 degree direction change. The direction changes are illustrated with bold font in both Table 1 and Table 2. InFIG. 4a , the first direction change is between markingsteps steps FIG. 4b , the direction change is betweensteps - Therefore, since the embodiments herein comprise a reduced number of direction changes, the marking quality and throughput is increased and improved.
-
FIG. 4c illustrates another example of the optimal or near optimal marking of thepattern 101 being exemplified by the letter H. This optimal or near optimal marking starts in the middle left corner of the letter H, which is a different start point compared toFIG. 4a andFIG. 4b . The marking then continues according to the numbered arrows in increasing order, starting withstroke 1,stroke 2, jump 3,stroke 4,stroke 5, jump 6 and ending withstroke 7. The optimized marking inFIG. 4c is performed in 7 steps, i.e. 5 strokes and 2 jumps, which is the same as inFIG. 4a andFIG. 4b . The jump distance is shorter than inFIGS. 4a and 4b , and there is no 180 degree direction change in the example illustrated inFIG. 4 c. - An overview of the seven marking steps in
FIG. 4c is shown in Table 3 below where the left column represents the marking steps 1-7, the middle column represents the start point of the marking step, i.e. the x direction, and the right column represents the end point of the marking step, i.e. the y direction. y refers to a point on the y-axis, and x refers to a point on the x-axis. The −y refers to a downwards movement on the y-axis, +y refers to an upwards movement on the y-axis, −x refers to a left movement on the x-axis and +y refers to a right movement on the x-axis. -
TABLE 3 Marking step x direction y direction 1 +x 0 2 0 + y 3 −x 0 4 0 − y 5 0 − y 6 +x 0 7 0 +y -
FIG. 5a illustrates an example of a QR code which has marked in a non-optimal path i.e. with misplaced dots, andFIG. 5b illustrates an example of the same QR code which has been marked in an optimal or near optimal path, i.e. with well-placed dots. The exact dot placement errors would be subject to the printer and the conditions. The QR code may also slant a bit with the ink jet technology as dots have to be fired in a sequence. With the genetic algorithm, the drop formation issues are minimized and the risk that the droplets get misplaced is also minimized. With the current technology, this may not be hand optimized since the print speed would have to be reduced. The genetic algorithm can minimize dot misplacement issues, particularly for marks where no efficient solution algorithm can be used. -
FIG. 6 is a flowchart describing the present method for enabling marking of apattern 101 on a substrate with an industrial printer 110. The method may be performed by acontroller 118, and thecontroller 118 may be a standalone controller configured to communicate with the industrial printer 110, or thecontroller 118 may be embedded in the industrial printer 110. In both cases, the method may also be seen as being performed by the industrial printer 110, for example via thecontroller 118. The industrial printer 110 may be a laser printer or an ink jet printer. The ink jet printer may be a CIJ printer. - The method illustrated in
FIG. 6 comprises at least one of the following steps, which steps may be performed in any suitable order than described below: - This step corresponds to step 201 in
FIGS. 2a and 2b . Thecontroller 118 executes a genetic algorithm based on thepattern 101 to be marked on the substrate. A result of the genetic algorithm indicates a resulting path which the industrial printer 110 should follow when marking thepattern 101 on the substrate. - The resulting path may be an optimal path or a near optimal path.
- The resulting path is associated with or comprises at least one of the following:
-
- a minimal jump distance, and/or
- a minimal number of mirror direction reversals,
- and/or a minimal number of mirror speed changes, and/or
- a minimum of retracing of an area that already has been marked, and/or
- a minimal dot marking location deviation.
- With an ink jet printer, the dot marking location deviation may be caused by substrate movement, drop charge attraction, aerodynamic effect. With a laser printer, the dot marking location deviation may be caused by galvo inertia, galvo control errors such as overshoot and undershoot.
- The resulting path which should be followed when marking the
pattern 101, i.e. the pattern that the industrial printer 110, e.g. theprint head 115, should follow, may indicates at least one of: -
- an order in which parts which constitutes the
pattern 101 should be marked by the industrial printer 110 in the resulting path, and/or - a direction in which the parts which constitutes the
pattern 101 should be marked by the industrial printer 110, and/or - a deflection angle of the industrial printer 110.
- an order in which parts which constitutes the
- The parts which constitute the
pattern 101 may be at least one of: strokes and/or jumps and/or dots. - The
pattern 101 to be marked may be a text, a graphic, a one or two dimensional code, an image, a line, a box or a circle, or any combination of this. For example, true type fonts or proprietary font formats may be used to describe how to mark glyphs in the text. - This step corresponds to step 202 in
FIGS. 2a and 2b . Thecontroller 118 determines if the resulting path fulfils at least one criterion. - The criterion may be at least one of the following:
-
- that the resulting path matches an optimal path for marking the
pattern 101; and/or - that the resulting path substantially matches the optimal path; and/or
- that a time spent for executing the genetic algorithm has reached or exceeded a threshold.
- that the resulting path matches an optimal path for marking the
- When the resulting path matches the optimal path, the resulting path may be referred to as a resulting optimal path or an optimal path. When the resulting path substantially matches the optimal path, the resulting path may be referred to as a resulting near optimal path or a near optimal path.
- This step corresponds to step 202 in
FIGS. 2a and 2b . Thecontroller 118 may determine that the execution of the genetic algorithm should be iterated if the resulting path does not fulfill the at least one criterion. - This step corresponds to step 202 in
FIG. 2a andFIG. 2b . Thecontroller 118 may select at least a part of the resulting path based on at least one parameter. - The parameter to be used when selecting at least part of the resulting path may be associated with at least one of:
-
- A size of the
pattern 101, and/or - A conveyor speed or a range of conveyor speed of a packaging line on which the substrate is conveyed when the
pattern 101 is marked, and/or - A distance from a
print head 115 of the industrial printer 110 to the substrate, and/or - An ink type to be used by the industrial printer 110 when marking the
pattern 101.
- A size of the
- The size of the
pattern 101 may be a length and width of thepattern 101. The conveyor speed may be measured in m/s. The range of the conveyor speed may be for example in the range of 0-15 m/s, 0.3-10 m/s, 0.3-3 m/s, it may be 0.3 m/s, 3 m/s etc., but any other ranges which are faster or slower than this example is also applicable. The conveyor speed may also be zero, i.e. stationary, for example in case of a laser printer. The distance between theprint head 115 and the substrate may be measured in mm, cm, m, inches or feet. The distance may also be referred to as throwing distance. The distance may be for example 4 mm or ½ inch for an ink jet printer, but any other smaller or larger distance is also applicable. In another example, the distance between theprint head 115 and the substrate, may be in the range between 8-13 mm, in the range of 8-10 mm, it may be 8 mm, 10 mm, 12.5 mm etc. The length of the printed pattern for an ink jet printer may be near unlimited with a repeating pattern, e.g. when it used to mark cables. The distance may be limited by the lens for a laser printer, e.g. up to 500 mm. The length of the printed pattern for a laser printer may be near unlimited. The ink type may be for example food-grade ink, thermochromic ink, washable ink, water-based and alcohol-based ink, anti-diversion ink, pigmented ink, fade-resistant ink etc. or any other suitable ink type - This step corresponds to step 202 in
FIGS. 2a and 2b . Thecontroller 118 may iterate the execution of the genetic algorithm as determined. The selected part may be re-used when iterating the genetic algorithm. - This step corresponds to step 203 in
FIGS. 2a and 2b . Thecontroller 118 may initiate marking of thepattern 101 on the substrate in the resulting path. - The
controller 118 is configured to: -
- Execute a genetic algorithm based on a
pattern 101 to be marked on a substrate with an industrial printer 110. A result of the genetic algorithm indicates a path which the industrial printer 110 should follow when marking thepattern 101. - Determine if the resulting path fulfils at least one criterion.
- Execute a genetic algorithm based on a
- The criterion may be at least one of the following:
-
- that the resulting path matches an optimal path for marking the pattern; and/or
- that the resulting path substantially matches the optimal path; and/or
- that a time spent for executing the genetic algorithm has reached or exceeded a threshold.
- The
controller 118 may be further configured to: -
- determine that the execution of the genetic algorithm should be iterated if the resulting path does not fulfill the criterion;
- select at least a part of the resulting path based on at least one parameter; and to
- iterate the execution of the genetic algorithm as determined, wherein the selected part is re-used when iterating the genetic algorithm.
- The
controller 118 may be further configured to initiate marking of thepattern 101 on the substrate in the resulting path. - An optimal path comprises at least one of, or any combination of:
-
- a minimal jump distance, and/or
- a minimal number of mirror direction reversals, and/or
- a minimal number of mirror speed changes, and/or
- a minimum of retracing of an area that already has been marked, and/or
- a minimal dot marking location deviation.
- The resulting path which should be followed, e.g. by the industrial printer 110 or by the
print head 115, when marking thepattern 101 indicates at least one of: -
- An order in which parts which constitutes the
pattern 101 should be marked by the industrial printer 110 in the resulting path, and/or - A direction in which the parts which constitutes the
pattern 101 should be marked by the industrial printer 110, and/or - A deflection angle of the industrial printer 110.
- An order in which parts which constitutes the
- The parts which constitute the
pattern 101 may be at least one of: strokes and/or jumps and/or dots, or any combination thereof. - The parameter to be used when selecting at least part of the resulting path may be associated with at least one of:
-
- a size of the
pattern 101, and/or - a conveyor speed or a range of conveyor speed of a packaging line on which the substrate is conveyed when the
pattern 101 is marked, and/or - a distance from a
print head 115 of the industrial printer 110 to the substrate, and/or - an ink type to be used by the industrial printer 110 when marking the
pattern 101.
- a size of the
- The
pattern 101 to be marked may be a text, a graphic, a one or two dimensional code, an image, a line, a box or a circle, or any combination thereof. For example, true type fonts or proprietary font formats may be used to describe how to mark glyphs in the text. - The industrial printer 110 may be a laser printer or an ink jet printer. The ink jet printer may be a CIJ printer.
- The
controller 118 may be astandalone controller 118 configured to communicate with the industrial printer 110, or wherein thecontroller 118 is embedded in the industrial printer 110. - A computer program may comprise instructions which, when executed on at least one processor, cause the at least one processor to carry out at one of the method steps in at least one of
FIGS. 2a, 2b and 5. A carrier may comprise the computer program, and the carrier is one of an electronic signal, optical signal, radio signal or computer readable storage medium. - The present mechanism for enabling marking of a
pattern 101 on a substrate with an industrial printer 110 may be implemented through one or more processors, such as thecontroller 118 depicted inFIG. 1 , together with computer program code for performing the functions of the embodiments herein. The processor may be for example a Digital Signal - Processor (DSP), Application Specific Integrated Circuit (ASIC) processor, Field-programmable gate array (FPGA) processor or microprocessor. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the
controller 118. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code can furthermore be provided as pure program code on a server and downloaded to thecontroller 118. - With the embodiments herein, for example when the industrial printer 110 is based on laser technology, true type fonts, proprietary font formats or other off-the-shelf fonts are supported. The number of strokes and jumps are optimized to an optimal or at least a near optimal point. There may be a regenerate/re-calculate alternative in a user interface associated with the industrial printer 110 in case the user of the printer 110 wants to regenerate or re-calculate the path for marking the
pattern 101. The optimization may differ from printer to printer or between regenerations. The optimization is calculated in a short period of time compared to taking hours or days with brute force algorithms as in the prior art. - With the embodiments herein, for example when the industrial printer 110 is based on ink jet technology, it may not be required for a user of the industrial printer 110 to select an algorithm or there may be some auto generate/intelligence choice in the user interface associated with the industrial printer 110. The genetic algorithm is executed based on parameters such as e.g. job, marking distance, speed, ink type and a near optimal value is used. There may be a regenerate/re-calculate alternative in the user interface. The optimization may differ between regenerations of the genetic algorithm. The optimization may be calculated in a short period of time compared to hours or days with brute force algorithms as in the prior art.
- Summarized, the method for enabling a
pattern 101 to be marked on a substrate with an industrial printer 110 may comprise at least one of the following steps: -
- 1. Initial setup of the genetic algorithm
- 2. Execute the genetic algorithm
- 3. Evaluate if at least one criterion has been met. If at least one criterion is met: mark the
pattern 101. - 4. New iteration using the genetic algorithm with the best fitting candidates with crossovers and mutations, i.e. a loop back to
step 2.
- The embodiments herein are not limited to the above described embodiments. Various alternatives, modifications and equivalents may be used. Therefore, the above embodiments should not be taken as limiting the scope of the embodiments, which is defined by the appending claims.
- It should be emphasized that the term “comprises/comprising” when used in this specification is taken to specify the presence of stated features, integers, steps or components, but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof. It should also be noted that the words “a” or “an” preceding an element do not exclude the presence of a plurality of such elements.
- The term “configured to” used herein may also be referred to as “arranged to”, “adapted to”, “capable of” or “operative to”.
- It should also be emphasised that the steps of the methods defined in the appended claims may, without departing from the embodiments herein, be performed in another order than the order in which they appear in the claims.
Claims (22)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/220,282 US10703099B1 (en) | 2018-12-14 | 2018-12-14 | Method and device for enabling a pattern to be marked on a substrate |
EP19894931.5A EP3894230A4 (en) | 2018-12-14 | 2019-12-12 | Method and device for enabling a pattern to be marked on a substrate |
PCT/US2019/065897 WO2020123764A1 (en) | 2018-12-14 | 2019-12-12 | Method and device for enabling a pattern to be marked on a substrate |
CN201980082821.5A CN113165408B (en) | 2018-12-14 | 2019-12-12 | Method and device for enabling a pattern to be marked on a substrate |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/220,282 US10703099B1 (en) | 2018-12-14 | 2018-12-14 | Method and device for enabling a pattern to be marked on a substrate |
Publications (2)
Publication Number | Publication Date |
---|---|
US20200189272A1 true US20200189272A1 (en) | 2020-06-18 |
US10703099B1 US10703099B1 (en) | 2020-07-07 |
Family
ID=71073278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/220,282 Active US10703099B1 (en) | 2018-12-14 | 2018-12-14 | Method and device for enabling a pattern to be marked on a substrate |
Country Status (4)
Country | Link |
---|---|
US (1) | US10703099B1 (en) |
EP (1) | EP3894230A4 (en) |
CN (1) | CN113165408B (en) |
WO (1) | WO2020123764A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114801477A (en) * | 2022-03-11 | 2022-07-29 | 华中科技大学 | Patterning planning method, printing method and system for printing display |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113793352B (en) * | 2021-09-30 | 2023-04-28 | 中国人民解放军国防科技大学 | Laser filling method and device for single-layer outline pattern based on contour lines |
CN115179667B (en) * | 2022-06-14 | 2023-10-31 | 深圳达捷科技有限公司 | Automatic control method and system for spray printing of multi-product production line |
CN115497106B (en) * | 2022-11-14 | 2023-01-24 | 合肥中科类脑智能技术有限公司 | Battery laser code-spraying identification method based on data enhancement and multitask model |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5893668A (en) * | 1996-07-02 | 1999-04-13 | Telesis Technologies, Inc. | Method for optimizing font marking |
US7457786B2 (en) | 2005-08-23 | 2008-11-25 | General Electric Company | Performance enhancement of optimization processes |
US7461035B2 (en) * | 2005-10-26 | 2008-12-02 | Motorola, Inc. | Path determination facilitation method |
CN101983130B (en) * | 2008-03-18 | 2013-08-14 | 马维尔国际贸易有限公司 | Handheld mobile printing device capable of real-time in-line tagging of print surfaces |
FR2989625B1 (en) * | 2012-04-24 | 2015-12-25 | Markem Imaje | PRINTING AN AUTHENTICATION PATTERN WITH A CONTINUOUS INK JET PRINTER |
KR20230106718A (en) * | 2012-12-27 | 2023-07-13 | 카티바, 인크. | Techniques for print ink volume control to deposit fluids within precise tolerances |
CN104965485A (en) * | 2014-11-25 | 2015-10-07 | 哈尔滨工业大学 | Path planning method of surface array salient point on-demand jet printing control system |
CN104780214B (en) * | 2015-04-20 | 2018-07-27 | 河海大学常州校区 | Cloud manufacture system based on cloud computing and 3 D-printing |
CN104842564B (en) * | 2015-05-12 | 2017-03-01 | 南京师范大学 | A kind of 3 D-printing multitask Optimization Scheduling based on NSGA II |
CN106469031A (en) * | 2015-08-17 | 2017-03-01 | 北京奇虎科技有限公司 | A kind of Method of printing based on printer, printer and print system |
US20180196349A1 (en) | 2017-01-08 | 2018-07-12 | Mentor Graphics Corporation | Lithography Model Calibration Via Genetic Algorithms with Adaptive Deterministic Crowding and Dynamic Niching |
JP6878908B2 (en) * | 2017-01-23 | 2021-06-02 | セイコーエプソン株式会社 | Encoders, robots and printers |
-
2018
- 2018-12-14 US US16/220,282 patent/US10703099B1/en active Active
-
2019
- 2019-12-12 WO PCT/US2019/065897 patent/WO2020123764A1/en unknown
- 2019-12-12 CN CN201980082821.5A patent/CN113165408B/en active Active
- 2019-12-12 EP EP19894931.5A patent/EP3894230A4/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114801477A (en) * | 2022-03-11 | 2022-07-29 | 华中科技大学 | Patterning planning method, printing method and system for printing display |
Also Published As
Publication number | Publication date |
---|---|
EP3894230A1 (en) | 2021-10-20 |
US10703099B1 (en) | 2020-07-07 |
WO2020123764A1 (en) | 2020-06-18 |
CN113165408A (en) | 2021-07-23 |
EP3894230A4 (en) | 2022-09-14 |
CN113165408B (en) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10703099B1 (en) | Method and device for enabling a pattern to be marked on a substrate | |
US10000072B2 (en) | Printer and printing jig | |
EP3427922A1 (en) | Method for printing colored object of 3d printer | |
JP5482626B2 (en) | Printing system, correspondence information creation method | |
JP6102604B2 (en) | Printing apparatus and printing apparatus control method | |
JP7020025B2 (en) | Printing equipment, printing methods and programs | |
JP2018187915A (en) | Three-dimensional object printing system and three-dimensional object printing method | |
JP2014100874A (en) | Ink jet recording device, bar code correction method, and program | |
US10406804B2 (en) | Printing apparatus, printing method, and non-transitory computer-readable recording medium | |
JP2018507796A (en) | Method for printing multiple voxels of an object | |
JP6443185B2 (en) | Inkjet printer and printing method | |
US8434843B2 (en) | Printing apparatus, printing method, and program | |
JP2015160414A (en) | Image formation system | |
CN108081588B (en) | Color object printing method of 3D printer | |
JP2020042418A (en) | Data generation system, communication terminal, image formation device and program | |
JP4661043B2 (en) | Printing apparatus, printing control apparatus, printing method, and program | |
CN107264067B (en) | Apparatus and method for printing on a profile of a print medium having an irregular surface | |
JP5333394B2 (en) | Image processing device | |
US20130265357A1 (en) | Printing device and printing method | |
JP2009176126A (en) | Bar-code generation system and bar-code generation program | |
JP6790643B2 (en) | Image forming equipment, programs, and inspection patterns | |
US11192359B2 (en) | Liquid discharge apparatus, control method for liquid discharge apparatus, and medium storing program executable by liquid discharge apparatus | |
CN109866508B (en) | Printing system and method for operating a printing press | |
US20230229880A1 (en) | Printing apparatus | |
JP2003230971A (en) | Method and apparatus for laser beam processing by scanning method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: MARKEM-IMAJE CORPORATION, NEW HAMPSHIRE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YOHN, ANDREW;PALMEN, MIKAEL;REEL/FRAME:048295/0424 Effective date: 20190118 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |