+ All Categories
Home > Documents > Eindhoven University of Technology MASTER Path generator ...

Eindhoven University of Technology MASTER Path generator ...

Date post: 03-Nov-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
89
Eindhoven University of Technology MASTER Path generator : a system to compute near-optimal time-related paths for a Laser Beam Pattern Generator Meijers, P.F.P. Award date: 1993 Link to publication Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain
Transcript
Page 1: Eindhoven University of Technology MASTER Path generator ...

Eindhoven University of Technology

MASTER

Path generator : a system to compute near-optimal time-related paths for a Laser BeamPattern Generator

Meijers, P.F.P.

Award date:1993

Link to publication

DisclaimerThis document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Studenttheses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the documentas presented in the repository. The required complexity or quality of research of student theses may vary by program, and the requiredminimum study period may vary in duration.

General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.

• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

Page 2: Eindhoven University of Technology MASTER Path generator ...

For internal use only

RVV1{-525-P~-93030-P~

Nat.Lab. Report Nr. 6695

P.F.P. Meijers

Path GeneratorA system to compute near-optimal time-related

paths for a Laser Beam Pattern Generator

Concerns:Period of work:

End Report~ay 1992 - ~arch 1993

© Philips Electronics N.V. 1993All rights are reserved. Reproduction in whole or in part

is prohibited without the written consent of the copyright owner.

Page 3: Eindhoven University of Technology MASTER Path generator ...

For internal use only

Path Generator

A system to compute near-optimaltime-related paths for a Laser BeamPattern Generator

P.F.P. MeijersEindhoven, University of TechnologyFaculty of Electronics

Graduation report, february 1993

The project described in this report has been carried out at:

Philips Research Laboratories,Natuurkundig Laboratorium (Nat. Lab.), Eindhoven,Sector A.P.M., Optical Group /Sector I.S.T., Group Information Technologies.

Supervisors Nat. Lab.:

Dr. E.J.D. PolProf. Dr. FJ. Peters

Supervisors University:

lr. H.H. v.d. YenDr. S. Weiland

t.9 Philips Electronics N.V. 1993All rights are reserved. Reproduction in whole or in part

is prohibited without the written consent of the copyright owner.

Page 4: Eindhoven University of Technology MASTER Path generator ...

Nat.Lab. Report Nr. 6695

P.F.P. Meijers

Philips Research Laboratories

Path GeneratorA system to compute near-optimal time-related paths

for a Laser Beam Pattern Generator

Abstract

This reports describes a system which computes the time-related table movement and corre­sponding laser intensity of a Laser Beam Pattern Generator (LBPG), to create three-dimension­al micron-sized patterns on the surface of a specific object. The time-related movements arecalled paths. It is the task of the Path Generator to transform the input data - representing onlythe geometry of the movement and corresponding laser light dose - to plot paths (laser on) andpaths describing the movement between consecutive plot paths, called connection paths (laseroff).

The plot paths are generated by Least Squares fitting of 3rd degree time-parametric polynomi­als, which are also used to construct connection paths. Two types of connection paths are used:simple connection paths, which are generally applicable and easy to compute, and near-optimalconnection paths, which connect two consecutive plot paths in (near-)minimal time. Conditionsfor optimality are extrapolated from optimal system control theory.

Finally, a method is developed to optimize the sequence in which the various plot paths are ac­tually plot by the LBPG. This optimization reduces the necessary overall connection time andthus the total LBPG execution time to generate a pattern.

Page 5: Eindhoven University of Technology MASTER Path generator ...

For internal use only

Contents

Nat.Lab. Report Nr. 6695

I Introduction 1

1 Project objective 2

2 LBPG system overview 3

3 Report organization 5

4 Standard conventions 6

II Problem analysis and

system description 7

5

6

7

System 105.1 Input type5.2 Output type

5.2.1 Set Point Generator algorithm5.2.2 Laser intensity path boundaries5.2.3 Interface with the LBPG Controller

Plot path generation6.1 Polynomial fitting

6.1.1 Analysis6.1.2 Algorithm description

6.2 Plot path dimensioning and optimization6.3 Exposure / Modulation component

Connection path generation7.1 Simple connection paths

7.1.1 2nd order brake paths / acceleration paths7.1.2 Displacement paths7.1.3 Conversion to polynomials with discrete time durations

7.2 Optimal connection paths7.2.1 Optimal system control theory7.2.2 Application7.2.3 Position violation

7.3 2D connection paths

8888

II13

141415171921

23232325272828353637

~) Philips Electronics N.V. 1993

Page 6: Eindhoven University of Technology MASTER Path generator ...

For internal use only

8 Plot path sequence optimization8.1 Analysis and method description8.2 Connection time models8.3 Geometric ordination by use of a quad-tree structure8.4 Algorithm description

III System tests and results

9 Test cases9.1 FGCl test pattern9.2 FGC2 test pattern9.3 LBPG-Text test pattern9.4 Hologram test pattern9.5 Remarks on the optimization efficiency

IV Conclusion and

recommendations

Nat.Lab. Report Nr. 6695

3838394142

44

454650515556

60

10 Conclusions 61

11 Recommendations 61

V References 62

VI Appendices 64

A Least Squares problem 65

B Dependencies elimination of the curve fitting approximation set 67

C Connection path computation 70C.l Simple connection paths 70C.2 Optimal connection paths 78

.' Philips Electronics N. V. 1993

Page 7: Eindhoven University of Technology MASTER Path generator ...

For internal use only

Part I

Nat.Lab. Report Nr. 6695

© Philips Electronics N.V. 1993

Introduction

Page 8: Eindhoven University of Technology MASTER Path generator ...

For internal use only

1 Project objective

Nat.Lab. Report Nr. 6695

From the now standard technology for producing digital circuitry, a new approach for makingoptical systems has emerged: grating optics, which eliminates almost all complex productionsteps of conventional lenses. Along with the increasing number of applications for grating op­tics, the need for internal independent production facilities has arisen. Therefore, a high preci­sion Laser Beam Pattern Generator (LBPG) has been developed by the Optical Group ofPhilips Nat. Lab.

This LBPG can plot specified 3D patterns on objects at micron level, accomplished by plottingon a photo resist along the object surface and etching afterwards. The LBPG machine exists ofa table that can make two-dimensional horizontal movements, and a fixed laser beam of vari­able intensity projecting on an object fixed on the LBPG table (see figure I).

figure 1: schematic of the LBPG.

The geometric layout of the patterns is computed by specialized CAD tools and has to be trans­formed into time-related plot paths, which describe the geometric movement of the LBPG tablein time and the corresponding laser intensity during this movement. These paths are used tocontrol the LBPG.

This report describes the design and implementation of a Path Generator (PG) system, whichcomputes the time-related plot paths together with the movement in time between consecutiveplot paths, called connection paths.

l(l Philips Electronics N.V. 1993 2

Page 9: Eindhoven University of Technology MASTER Path generator ...

For internal use only

2 LBPG system overview

Nat.Lab. Report Nr. 6695

The types of patterns to be engraved by the LBPG can be characterised by two parts:

• a periodical function type representing the pattern profile (e.g. sinus, saw-tooth or pulse)and its amplitude.

• a set of two-dimensional curves representing lines of constant profile phase: the grating.

grating curves

..............•..........

......'....':=

z

figure 2: pattern example (saw-tooth profile).

This pattern information needs to be transformed to a set of plot curves I , representing the geo­metric movement of the LBPG table and the corresponding laser light dose during this move­ment, called exposure. This is performed by a Profile Generator.

Next the plot curves need to be transformed to plot paths representing the time related geomet­ric movement of the LBPG table and the corresponding laser intensity. This is performed bythe PG, which also computes the time-related movement between the plot paths, called connec­tion paths (laser off). The final task of the PG is to transform the plot paths and connection pathsto data for the LBPG Controller.

The LBPG contains a discrete controller, which consists of a Set Point Generator (SPG), a dis­crete servo-loop system and a laser modulator system. The SPG computes the table position,velocity and acceleration and laser intensity for all sample points of time, called the set points.The table information is added to the servo-loop system, which drives the table. The laser in­tensity information is used to drive the laser modulator system.

The entire route from pattern designers to LBPG is depicted in figure 3.

l. Curves only consist of geometric infonnation. On the other hand, paths consist of time-related geometric in­fonnation.

'<' Philips Electronics N. V. 1993

Page 10: Eindhoven University of Technology MASTER Path generator ...

For internal use only

Customer I Customer II

Nat.Lab. Report Nr. 6695

Profiley 1('".(( !am""

L:~ -

Path Generator

Connection path genemtor

figure 3: schematic of the whole LBPG system.

rio. Philips Electronics N.V. 1993 4

Page 11: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

Due to the physical limitations of the LBPG, some important restrictions on the kind of paths,generated by the PG exist. For all paths, the table position, velocity, acceleration and jerk arebounded. Moreover, the table position, velocity and acceleration are time-continuous. The laserintensity is also bounded. However, due to a large laser modulator bandwidth, no physical lim­itations are present for the fIrst three time-derivatives of the laser intensity.

3 Report organization

Part II contains the problems analysis and system description. It starts with a description of thedesired PG system input and output, which is used as specification for the synthesis of the PG(section 5). Sections 6 describes an algorithm to compute the plot paths by using Least Squarespolynomial fitting. Section 7 describes the construction of connection paths. It gives two kindsof connection paths: simple connection paths and (near-)optimal connection paths. It uses someoptimal system control theory to derive conditions for optimality. Section 8 describes in whatsequence the plot paths should be plotted to minimise the total LBPG execution time. It de­scribes an optimization algorithm based on a local search method.

Part III summarises the test results of the implemented PG system. Tests are performed withseveral test patterns including a realistic pattern generated by the Profile Generator.

Finally Part IV contains the conclusions and some recommendations for further investigation.

«l Philips Electronics N.V. 1993 5

Page 12: Eindhoven University of Technology MASTER Path generator ...

For internal use only

4 Standard conventions

Nat.Lab. Report Nr. 6695

Throughout the report, the following notational conventions are used:

• p for one-dimensional position. v, a and j are used as symbols for one-dimensional velocity,acceleration and jerk (i.e. the 1st, 2nd and 3rd time derivative of the position).

For a two-dimensional position, the symbol f! is used, with derivatives y, g and j. Theircomponents are indicated with the subscripts x and y

Position, velocity and acceleration on a path at a certain point of time are called the state ofthe path on that point of time.

• t for point of time.

[tb' te] is used to indicate a time interval.

Ilt is used for the length of a time interval te - tb.

~) Philips Electronics N.V. 1993 6

Page 13: Eindhoven University of Technology MASTER Path generator ...

For internal use only

Part II

ProbleIn analysis andsysteIn description

'" Philips Electronics N. V. 1993

Nat.Lab. Report Nr. 6695

7

Page 14: Eindhoven University of Technology MASTER Path generator ...

For internal use only

5 System 10

5.1 Input type

Nat.Lab. Report Nr. 6695

As mentioned in the previous chapter, the PG system's input is a set of plot curves. Each curveis represented by a set of samples along the curve, called a plot polygon l . All samples havethree components: the x- and y-coordinate of the LBPG table and the corresponding exposure.

figure 4: example plot polygons.

5.2 Output type

The output type of the PG system is defined by the SPG, which is driven by this output. Hence,the SPG is described in the next section to explain the PG output type.

5.2.1 Set Point Generator algorithm

The SPG performs real-time computation of the set points for all sample points of time. So, theavailable computation time for every set point is bounded by the sample period.

Its function is to transform the time-continuous path information into time-discrete path infor­mation. It computes the set points:

for k E {O, 1, ... }

with p(t), yet) and aU) the time-continuous path position, velocity and acceleration and tsthe sample period of the discrete control.

I. Strictly speaking, the polygon represents the set of plot curve samples and not the plot curve geometry.which is completely smooth. Only the vertices represent valid information; the line segments do not. So inthis way the name polygon may be confusing. However for convenience of tenninology the name polygon ismaintained.

«' Philips Electronics N.V. 1993 8

Page 15: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Repon Nr. 6695

The algorithm used is a discrete integration algorithm, which computes the set points by suc­cessive discrete integration of the path jerk at the sample points of time. Because of the boundedavailable computation time, this kind of algorithm turned out to be the only one, which com­bines satisfactory short computation time1 with small input data size, particularly when the pathjerk is piece-wise constant over longer periods of time.

The algorithm can be derived as follows.

Let t = {ktsIkE {a, 1, ... } } to be the discrete time domain with ts the sample period of thediscrete control.

To minimise the input data size, let the (continuous time) path jerk be piece-wise constant:

J(t)

Jo for

jJ1 for

JIl - 1 for

t E [0, t 1 )

tE [t1,t2 )

with 0< t 1 < t2 < '" < til

(the path begins at t =aand ends at t = til)'

Let tiE t for i E {I, ... , n} ,otherwise the algorithm would need too much computation time2.

Then the path position, velocity and acceleration for t E [0, t1] are equal to:

or

t

g(t) = fJod't + g(O)

ot

yet) = fg('t)d't + yeO)

ot

/?(t) = fy('t)d't + /?(O)

o

for t E [0, ttl

t2 t3/?(t) =/?(O) + yeO) t + g(O) 2 +J07)

t2yet) = yeO) + g(O)t+ J

02

get) = q(O) +Jot

for t E [0, ttl (1)

1. It contains only additions and a few simple multiplications (multiplications with a constant factor).

2. Jerk changes between sample points of time would involve extra computational effort.

(0 Philips Electronics N. V. 1993 9

Page 16: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

(2)

When only state values at the sample points of time are considered, this can be rewritten to therecursive equations:

2

yet) = y(t - ts) + (J(t)ts - jo~

2 3ts . ts

l2(t) =l2(t - ts) + y(t)ts - (J(t)I + f0 6for repeated application of this recurrence yields equations (1) for t E {ts' 2ts' ... , t I} .

By using scaled discrete versions for the position, velocity, acceleration and jerk, the sampleperiod can be eliminated from the previous equations (2).

~

fh=fJ k - 1 +jk

~ ~ ~ 1~ )Yk=Yk-l+(Jk-ih

,..,.. ,.. 1 .... 1~

12k = I2 k -l +Yk- i(Jk+"6h

with:

fort 1

k E {1, 2, ... , - }ts

(3)

k E {a, 1, ... }

These equations form the discrete integration algorithm to compute the set points.

For the next jerk value j 1 for t E [t l' t2] the same algorithm is continued, etc.

Conclusion:The continuous time curves 12, y, (J and j are, in this way, concatenated polynomial time func­tions of order 3, 2, 1 and°respectively.

'" Philips Electronics N. V. 1993 10

Page 17: Eindhoven University of Technology MASTER Path generator ...

For internal use only

5.2.2 Laser intensity path boundaries

Nat.Lab. Report Nr. 6695

A plot path starts with an initial laser intensity value and corresponding initial first and secondderivatives usually unequal to zero. Because a plot path is preceded by a connection path withzero laser intensity, the transition from connection path to plot path is discontinuous. This dis­continuity is only allowed at the beginning of a plot path and is made possible due to the appli­cation of a laser modulator with a very high bandwidth (relative to the sample frequency)!. Dueto this high modulator bandwidth the laser intensity derivatives are not physically bounded(from the PO system point of view).

/ (laser intensity)

teConnection path

Plot path-------1- ~t

Connection path

figure 5: example laser intensity path.

Although it involves 2nd order continuity, which is as mentioned not really necessary, the setpoint generator algorithm (3) as described in the previous section is also used to compute thelaser intensity set points. This choice is made because of reasons of input data reduction andSPO simplicity.

The extreme values of the laser intensity derivatives can be constructed by looking at the ex­treme laser intensity path:

P/ (laser intensity)

P1im I f----""7""......---,----""7""......--

o

figure 6:extreme laser intensity path.

It has a frequency offi2 (withfs = 1/ts the sample frequency) and an amplitude of half the max­imum laser intensity Plim/'

(p/(kts) = D for k E {D, 1,2, ... })

It describes the path with maximum oscillation (in terms of frequency and amplitude) that canbe followed by the set point generator algorithm.

1. The laser modulator can make a step from laser off to maximum intensity during one srunple period.

'<' Philips Electronics N.V. 1993 II

Page 18: Eindhoven University of Technology MASTER Path generator ...

For internal use only

As can be verified, the path is fonnalised by:

Nat.Lab. Report Nr. 6695

with extreme values (maximum moduli):

.. Plim/aUm/ = maxlp/t)1 = p/(O) = 6Ts

'" Philips Electronics N. V. 1993 12

Page 19: Eindhoven University of Technology MASTER Path generator ...

For internal use only

5.2.3 Interface with the LBPG Controller

Nat.Lab. Report Nr. 6695

The SPG uses algorithm (3) for computing the set points and so, it needs jerk input togetherwith the period of time (number of sample points of time) this jerk input holds. Each jerk inputconsists of three components: the x and y component of the LBPG table jerk and the laser in­tensity jerk.

The initial state of the LBPG table is always the same: l!0 = YO = aO = 0, so there is no needof giving it explicitly as input to the SPG.

However, at the beginning of each plot path, the initial laser intensity and Ist and 2nd derivativeare given as SPG input, to tum the laser on.

The set point moduli are limited by:

• for the x and y component: Plim ' V[" , alim and jlim .xy lmxy xy xy

• for the laser intensity component: p/'m ' vi' , a/. and j/'m .l / lm/ lm/ l /

At this point, the following conclusion need to be taken:All final path descriptions within the PO system must consist of concatenated 3rd degree time­parametric polynomials (see (1)) with mutual 2nd order time-continuity and time durationsequal to an integer number of sample periods.

'Q Philips Electronics N. V. 1993

Page 20: Eindhoven University of Technology MASTER Path generator ...

For internal use only

6 Plot path generation

6.1 Polynomial fitting

Nat.Lab. Report Nr. 6695

To transform the input polygons representing the plot curve into sets of concatenated 3rd de­gree polynomials representing the output plot paths, polynomial fitting has to be performed.

The idea behind polynomial fitting is, that a concatenation of polynomials is constructed suchthat it approximates the given input points (read polygon points) at certain sequential points oftime.The correctness of the fit can be expressed by defining an approximation error margin asdepicted in figure 7.

polynomial 1

/',.../ ~ polygon

polynomial 2

error margin /

--. t

figure 7: example of an one-dimensional 2nd order time-continuous polynomial fit.

If for fitting 3rd degree polynomials are used, the path data is suitable as output to the LBPGController, for 3rd degree polynomials are 2nd order continuous and have a constant jerk.

'¢J Philips Electronics N.V. 1993 14

Page 21: Eindhoven University of Technology MASTER Path generator ...

For internal use only

6.1.1 Analysis

Let

P={E1,···,En }

the sequence of (x,y) polygon points of an arbitrary polygon.

Define

!! [t t] (t)b' e

Nat.Lab. Report Nr. 6695

to be a 3rd degree time-parametric polynomial on parameter interval t E [tb, teJ .

Let

the sequence of concatenated 3rd degree time-parametric polynomials with mutual 2nd ordertime-continuity, to fit the set of polygon points P.

Concatenations involves: tb = t for all i E {2, ... , m} .i ei-l

2nd order time continuity involves:

for all i E {2, ... , m} .

Let

(4)

the sequence of so called reference points of time, representing the sequential time-parametervalues for which the consecutive polynomials approximate the corresponding polygon points:

with {

p.E P-I

tk E T /\

EkE P

forallkE {l, ... ,n}.

The approximation operator involves minimization of the error vectors:

(0 Philips Electronics N.V. 1993 15

Page 22: Eindhoven University of Technology MASTER Path generator ...

For internal use only

Writing each polynomial in pas:

Nat.Lab. Report Nr. 6695

p .(t) [ ] = {;t" CPo(t) + {;. cp let) + {;" CP2(t) + {;" CP3(t)t lbi' lei 0 t l t2 t3

for all ie {l, ... ,m}

with (cpoCt), cP I (t), CP2(t), CP3(t) a 3rd degree polynomial base

and {ft' '{;t' , {;. '{;t" } the polynomial coefficientso I t2 3

yields the following approximation set l :

........

".

f..j

(5)

&mo<Po(ln) <PI(In) Cj)2(tn) <P3(ln) "" I

""2&m 3

Then the problem of fitting the polynomial setp to the polygon point setP is reduced to solvingabove approximation set under the constraint of 2nd order time-continuity for all consecutivepolynomials in p (defined by (4)). Appendix B describes how to include this constraint in theapproximation set by eliminating all dependent variables.

[41 discussed a numerically stable technique, using so-called Householder transformations, todetermine the Least Squares solution of arbitrary approximation sets (see appendix A). Thistechnique can be applied to solve the fitting problem. It minimizes the error sum

11

E = L II gkl12k = 1

with respect to the 2nd order time-continuity constraints (4), aiming to achieve:

E ~ Elim

with EUrn the prescribed admissible approximation error.

1. set of approximation equations, indicated with the approximation operator "".

(<J Philips Electronics N. V. 1993 16

Page 23: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

6.1.2 Algorithm description

for i E {I, ... , n - 1}

The fitting algorithm consists of the following steps:

1. Create the set of reference points of time T on the interval [0, 1], based on the relative euc­lidian distance between the consecutive xy polygon points:

Let

di = J(PXi+l-PXi)2+ (PYi+l-PYi)2

the distances between the polygon points and

n - 1

D = L dii = 1

the total polygon length.

Then the reference points of time become:

t. =l {

0 d. 1l-

t i - 1+--0

for i = 1

for i = {I, ... , n}(6)

T = {tl' ... , tn }

This method for choosing the sequence of reference points of time can be justified as fol­lows:

After fitting, the plot path represented by the set of polynomials will 'reach' the sequentialpolygon points at the corresponding reference points of time. Then for all pairs of polygonpoints (f i , f i + 1) with i E {l, n - I} , the quotient of the mutual euclidian distance d iand the time duration 'between' the polygon points ti + 1 - ti , i.e. the average velocity be­tween the polygon points, is equal:

for i E {I, /1 - 1}-= v

d.l

ti + 1 - ti

This has the advantage that relatively straight paths with the maximum velocity as limitingfactor can have near maximum average velocity during the whole path and so these pathshave a near minimum time duration.

2. Start with one fitting polynomial on time-parameter interval [0, 1]:

p = {PI [0, Ij (t)} m = 1

3. Fit the polynomial set p to the polygon point set P by Least Squares approximation accord­ing to section 6.1.1 and appendix A.

(¢) Pililips Electronics N.V. 1993 17

Page 24: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nal.Lab. Report Nr. 6695

4. Compute the fit errors at the reference points of time. If they are all within a prescribed er­ror margin, terminate the fitting algorithm.

5. Else, split the polynomial with the largest fit error into two parts of equal time intervallength, i.e. replace the polynomial P.(t) by two new polynomials such that if p was:

-I [tbi' te)

p = {PI(t)[t t]' ···,pP)[t t]' ···,Pm(t)[t t]}b]' el bi' ei bm' em

now p becomes:

p = {PI (t), •.. ,p. I (t),p. 1 (t), ••• ,p (t)}- [tbl' tel] -Ia[t - (t + t)J -Ib[_ (t + t ) t J -m[tb ' tern]

bi' 2 bi ei 2 bi ei' ei m

with i the index of the polynomial with the largest fit error.

6. go to step 3.

Remark:By iteratively increasing the number of concatenated polynomials to fit the polygon in case ofinsufficient approximation accuracy, finally the number of independent parameters within theLS problem will be equal to the number of approximation equations. Then, ignoring numericalinaccuracy, the approximation error will be zero and by this execution termination is accom­plished.

'Cl Philips Electronics N.V. 1993 18

Page 25: Eindhoven University of Technology MASTER Path generator ...

For internal use only

6.2 Plot path dimensioning and optimization

Nat.Lab. Report Nr. 6695

After fitting, the constructed plot path needs to be dimensioned and optimized in total time du­ration, with respect to the limits VUm' aUm and him' Both can be combined as follows:

All path polynomials are equally reparametrisated, such that during the most critical part of thepath, the velocity, acceleration or jerk limit is obtained. This can be done by computing an ac­celeration factor",:

. (maxllp(t)lloo'II = mm ,

vUm

with:

max IIp(t)II 00 max Ilf(t) II 00 )

-----,3 .aUm JUm

for t e [0, 1]

PI(t) for te [tb1,tq ]

p(f) ~ rpm(t) for t e [tbm, tem ]

[tbI'tem] = [0, 1] (as mentioned in 6.1.2)

and vUm' aUm and him the velocity, acceleration and jerk modulus limit.

Then all polynomials are reparametrisated by:

forie {l, ... ,m}

For example, let '" be fixed totmaxwith a ~ max II pet) II for t e [0, 1] .a max - 00

lim

Then after reparametrisation, max 11i?'(t)11 00 becomes am;x, which is equal to aUm''II

However, as mentioned in 5.2.3, the time duration of each polynomial needs to be equal to aninteger number of sample periods ts' This can be realised as follows:

Let

the smallest polynomial time duration.

OC) Philips Electronics N. V. 1993 19

Page 26: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

Then due to the used interval splitting technique (see 6.1.2) all other polynomials have a timeduration of:

with 11. E {I, 2, ... }I

for i E {1, ... , m}

and so, to make sure after reparametrisation all polynomial time durations are equal to an inte­ger number of sample periods, the new minimum time duration must yield:

with 11 E {I, 2, ... } (7)

and 'GJ a corrected acceleration factor:

Then the new polynomials become:

with [tb" te·]I I

for i E {1, ... , m}

'<' PhiLips Electronics N.V. 1993 20

Page 27: Eindhoven University of Technology MASTER Path generator ...

For internal use only

6.3 Exposure / Modulation component

Nat.Lab. Report Nr. 6695

The third coordinate of a plot curve polygon exists of exposure information, which has to betransfonned to laser intensity infonnation:

Consider the exposure sequence

P e = {Pel' ... ,Pen }

and let

v = {v!, ... , vn }

the sequence oflocal speed values at the corresponding reference points oftime, after (x,y)-pathdimensioning as described in the previous section.

Define the corresponding laser intensity sequence as:

PI = {P /I , ... , PIn}

where PI' is specified as I:I

Pli = h(Pei'v) = Peivi for all i E {I, ... , n} (8)

This sequence of laser intensity points represents a laser intensity polygon, which can be trans­fonned to a laser intensity path, using the same fitting technique as described in the previoussections.

However, this could lead to some new problems:

• The laser intensity path could have a shorter minimum polynomial time duration then the(x,y) path and so, this time duration does not need to be equal to an integer number of sam­ple periods

Therefore, the.xy path needs to be decelerated. This can be realised by iteratively executingfollowing steps until the problem vanishes:

• Reparametrise (as described in 6.2) the (x,y) path according to the acceleration factor (p:

t'1t .nun!

• Reconstruct the set of laser intensity points PI based on the new velocity values.

1. In practice, it is possible to use a different kind of transfonnation function h (e, y) in stead of (8). becausethe exposure dat.1. does not explicitly represents the wanted laser dose. but it represents the wmtted impact onthe photo resist layer.

C<;) Philips Electronics N. V. 1993 21

Page 28: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

• Refit the laser intensity polynomials.

Remark:It is hard to prove that the problem is always solved by using these steps. However, theoret­ically speaking it seems plausible that by slowing down the path the problem should besolved. Practice consolidates this assumption.

• Combination of a large exposure value and a high local (x,y) path velocity results in limit·violation of the laser intensity.This can also be corrected by deceleration of the (x,y) path.

~I Philips Electronics N.V. 1993 22

Page 29: Eindhoven University of Technology MASTER Path generator ...

For internal use only

7 Connection path generation

Nat.Lab. Report Nr. 6695

Connection paths are defined as the time-related geometric movement of the LBPG table be­tween two consecutive plot paths. Analogous to plot paths, they must consist of a set of con­catenated 3rd degree time-parametric polynomials with both mutual 2nd order continuity and2nd order connection continuity to the connecting plot paths.

Remarks:During the following sections (until 7.3), all observations describe one-dimensional connectionpaths.

7.1 Simple connection paths

First the so-called simple connection paths are introduced, which are easy to implement andneed little computation time. However they are not optimal in the sense of necessary connectiontime (i.e. the total time duration of the connection path). A simple connection path exist of threeparts:

• a 2nd order brake path: a path which leads as quickly as possible to zero velocity and accel­eration1.

• a displacement path: a path to go as quickly as possible from one position to another withzero begin and end velocity and acceleration.

• a 2nd order acceleration path: a path which starts with zero velocity and acceleration andleads as quickly as possible to a required end state.

7.1.1 2nd order brake paths / acceleration paths

To create an optimal brake path, the LBPG machine has to be driven against the accelerationor jerk limit GUm respectively jun?'

1. The tenn 2nd order is used to make a distinction from 1st order brake paths of which only the velocity goesto zero in minimum time.

2. In 5.2.3 ~hey are .indicate~ wit~ alimxy respectively hm . However for convenience, during the followingobservatIOns the mdex xy IS omitted. . xy

«) Philips Electronics N. V. 1993

Page 30: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

There are three different types of brake paths, based on the number of polynomials needed todescribe the path:

• Long brake path (three polynomials needed):

The first polynomial has Ij1(t)1 = jlim to enlarge the acceleration modulus until it reachesaUm. The next polynomial has j2(t) = 0 and la2(t)1 = aUm to decrease the speed until athird polynomial with maximum jerk modulus can decrease both speed and acceleration tozero (at the path end). (Signs to choose, will of course depend on the begin state of thebrake path.)

v(t)

PI (I) P2(IY3(1)

figure 8: example long brake path.

• Medium brake path (two polynomials needed):

In comparison with the long brake path, the begin speed is not large enough to reach thepart with constant maximum acceleration modulus. Only two polynomials are needed,which have jerk values with opposite signs and maximum modulus.

• Short brake path (only one polynomial needed):

One polynomial with VI (t)1 = jum will decrease the velocity and acceleration to zero at thepath end.

Which of the three paths must be used will of course depend on the begin state of the brake path.

For all three types of brake paths, straight forward algebraic analysis yields the time durationsof the consecutive polynomials as described in appendix C.l.l.

For acceleration paths an analogous observation holds.

,e, Philips Electronics N. V. 1993 24

Page 31: Eindhoven University of Technology MASTER Path generator ...

For internal use only

7.1.2 Displacement pathsl

Nat.Lab. Report Nr. 6695

Displacement paths can be divided into three types:

• Large displacement path (seven polynomials needed):

The path starts with maximum jerk until maximum acceleration is reached. Then the accel­eration stays maximum until a period of negative maximum jerk can drive the speed to itsmaximum value with zero acceleration. Maximum speed is kept until mirrored path condi­tions can drive the speed and acceleration to zero and at the same time the required destina­tion position is reached.

vet)i-jlim:;...;.:__V.;.;.lim~_---+:-"jlim i,

:,:::::.ali~ rl~

swface =total displacement

figure 9: example large displacement path.

• Medium displacement path (five polynomials needed):

In comparison with the large displacement path, the displacement is not large enough toreach the maximum speed.

vet)

figure 10: exmnple medium displacement path.

I. For convenience, a positive displacement is considered.

~) Philips Electronics N. V. 1993 25

Page 32: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

• Small displacement path (three polynomials needed):

In comparison with the medium displacement path, the displacement is not large enough toreach the maximum acceleration.

v(t)

-him

figure 11: example small displacement path.

(01 Philips Electronics N.V. 1993 26

Page 33: Eindhoven University of Technology MASTER Path generator ...

For internal use only NatLab. Report Nr. 6695

7.1.3 Conversion to polynomials with discrete time durations

Previous observations do not deal with the constraint of discrete time durations of all path pol­ynomials (Le. all time durations need to be equal to an integer number of sample periods).

Direct computation of the discrete time durations and jerk values probably will be very difficultto accomplish (if at all possible). Therefore a pragmatic correcting method is introduced:

First, the following multi-dimensional functions are defined for each of the previous describedpath types (brake paths, displacement paths and acceleration paths):

with m the number of path polynomials.

t defines the discrete time durations I1tj of the path polynomials as function of the usedmaximum state moduli vmax' Gmax andjmax'

g defines the sequential jerk values jj as function of their corresponding time durations I1t j.for i E {I, ... , m} .

For detailed description of these functions, see appendix C.

Then, the following steps will lead to a path with valid polynomial time durations:

1. Set (vmax' Gma;pjmax) to (vUm' GUm,hjm)

2. Compute the discrete time durations Kij by applying [(vmax' Gmax' j ma)'

3. Compute the sequential jerk valuesh by applying'g(l1t l , ... , I1tm).

4. Check the found jerk values and the path states for limit violation. Terminate this loop if noviolation is found.

5. Else, reduce the relevant maximum vma;l:' Gmax or jmax I and go to 2. (Reduction is towardszero.)

l. For example, if a velocity violation is found, vmax is reduced.

<<1 Philips Electronics N. V. 1993 27

Page 34: Eindhoven University of Technology MASTER Path generator ...

For internal use only

7.2 Optimal connection paths

Nat.Lab. Report Nr. 6695

To derive a theory for construction of (near) optimal connection paths (Le. connection pathswith minimal time duration), the problem is transformed to the optimal system control context.

7.2.1 Optimal system control theory

Define the state variables of the LBPG table "-0' "- 1 and "-2 as its position, velocity and accel­eration and the LBPG table input u as its jerk. Then they are related as follows:

to(t) = "-1(t)

t 1(t) ="-2(t)

t 2(t) =u(t)

with:

or t(t) = A ~(t) +B u(t) (9)

~o 1 (~

A = 001000

B

where u(t) is piece-wise constant.

The state begin and end conditions are:

(10)

(11 )

with tb and te the begin and end point of time of the connection path.

The problem of finding an optimal connection path is now transformed to the problem of com­puting the piece-wise constant input u(t) which drives the state vector ~(t) as soon as possiblefrom the initial value ~b to the final value ~e under LBPG machine constraints:

I"-o(t)! '.5, Plim

1"-1(t)1 '.5, Vlim

I"-2(t)I '.5, alim

lu(t)1 '.5, himFor convenience the ""-0 (position) inequality constraint is ignored. Section 7.2.3 describes someobservations about the position limitations.

(0) Philips Electronics N.V. 1993 28

Page 35: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

This problem forms an optimal system control problem, which has in the general case been thesubject of extensive investigation. More specific, this problem is called the minimum time con­trol problem with state and input inequality constraints. [1], [2] and [5] give necessary condi­tions for optimality. Complete description of the results stated in these references would go toofar at this point and probably would not contribute to a larger understanding of the relevant is­sues. Therefore, the results, transformed to the previously described problem, are summarizedas follows:

• A part of a path for which all state variables are less than their corresponding boundary(limit) values, is called an interior part. A part for which one of the state variables is equalto its corresponding boundary value, is called a boundary part. For an interior part of an op­timal path, the input modulus is maximum: him' For a boundary part, the input is zero.

• The unconstrained optimal path (no state constraints (11)) consists of three consecutiveparts with alternating constant inputs: him' -him and him or -him' him and -him'

For convenience, we call this path a {+, -, +} path to indicate its structure. The name {+, -,+} will be used for both input sequences him, -him and him or -jLim' him and -him' Hence, itrepresents only the path structure, defined by the mutual relation between the successive in­put signs. From now on, all other input sequences are named analogous. (0 stands for a zeroinput during boundary parts).

This {+, -, +} path is equal to the constrained optimal path if all state variables fulfil thestate inequality constraints.

• If the unconstrained optimal path intersects one of the state boundaries, a boundary part isinserted in such a way that the corresponding state variable follows the boundary value fora certain period of time.

Then, paths with one ;r2 boundary part consist of four different parts, and paths with one~1 boundary part consist of five different parts.

, ,, , ,-jlim - - --- -- - .;- - - - - - - -- - - - ---1......-...;. --~

constrained path

u

: : I:, ., I

-alim'- - - -- - - - -~ - ~ ~ - - - - -- - - --- ~ -- ~ - - - - oJ. --:

: :: :I I: I

I '. Ihim I----i-' ........ - ... _-~ .. -....~I : I

: .:, "

, ,, ,, , ,

-------------r------------r--r------. , ,, . ,, , ,, , ,km ~---..;.' -~ .

, ', '. ,,, ,, '

-jlim ------------ - -101--_...;. - .;- - - - --

figure 12: example of an unconstrained path and a -t2 (acceleration) constrained path.

" Philips Electronics N.V. 1993 29

Page 36: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

, ,, ,-jlim - .-- •.::--.............l-- --.- --;-- -----

constrained path :

I I I II I , I

I I " JI I " I______________ --__ --- ............ - -----l

-\.,

,,,I ' :--,.~---'''I I .,I I I I

-Vlim --- - -:-- - -~. -- - -- - -------- ~ ---- ~.- - --I , I I

U : : ::I , I I •

I / I I I

jlim I -- -~------ - ---- --- - -:-----~I I I r II I I r ,I I I r I

u

Vlim

, ,, ,, ,-vlim - - - - - -:-. - - - - -. - - - - -:- - - - -­,,,,,

--------------.......

figure 13: example of an unconstrained path and a -\., (velocity) constrained path.

First the previously described cases are elaborated, before discussing the cases in whichboth ~ I and ~2 boundaries are reached.

• ~2 (acceleration) boundary reached.

The {+, -, +} path acceleration has in general two local extremes (one maximum and oneminimum), which could have a larger modulus than permitted. If so, for either extremeexceeding the boundary value, a boundary part with constant maximum accelerationmodulus needs to be inserted.

This results in either a {+, 0, -, +}, a {+, -, 0, +} or a {+, 0, -, 0, +} path. Which of themshould be used is not as trivial as it seems at first sight. Normally, if only the first or sec­ond (in time) extreme exceeds the boundary value, a {+, 0, -, +} path respectively {+, -,0, +} path should be used. If both extremes exceed the boundary value, a {+, 0, -, 0, +}path should be used.

However, all cross combinations are also possible, due to the fact that the accelerationstate can not be corrected independently. Every acceleration change will have its effecton the position and velocity, which also have to end at the right end value. The followingexample will illustrate this.

(r) Philips Eleclronics N.v' 1993 30

Page 37: Eindhoven University of Technology MASTER Path generator ...

For internal use only

a

v

constrained path

figure 14: example incorrect acceleration correction.

Nat.Lab. Report Nr. 6695

Consider the unconstrained path as depicted in figure 14. A corresponding {+, 0, -, +}path 1 starts with the same maximum input (jerk) value until the acceleration boundary isreached. Then the velocity has to grow to reach its end value and, because of the loweravailable acceleration, this takes a longer period of time.

Due to a positive final input value, the total time duration of the boundary part as depict­ed in figure 14 is minimal. The figure depicts the case where the time duration of the lastpart is zero. When increasing this time duration, the velocity after the last but one partwill also increase resulting in a larger boundary part time duration as illustrated by thethin curve end.

However, the total surface under the constrained path velocity exceeds the surface underthe unconstrained path velocity. So the end position of the constrained path exceeds thedesired end position and there is no possibility to correct this when using the {+, 0, -, +}input sequence.

Then, the only time optimal solution to the problem is, to take a {+, -, 0, +} sequencewith opposite signs (-him' him' °and -him)' for this path has the possibility to correct alarger positive position increase with the first two parts.

1. depicted with zero time duration of the last pmt.

,(, Philips Electronics N. V. 1993 31

Page 38: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

a

~-------....-----~-_.,.

v

I I , I

I I I I-alim - ~ - - _ - .: ~ . ~ _" I I" , II I , I

" ,, ,, ,, ,, ,, ,, ,, ,· '· ,· ,· '· ,· ,· ,· ,· ,· ,· ,""""";::-+i-----i-'~'----------!:--:--.t

,,

figure 15: example inverse acceleration correction.

It is clear that this could lead to a new acceleration violation during the first two parts ofthe path. In that case a second boundary part has to be inserted, resulting in a {+, 0, -,0,+} path.

• ~1 (velocity) boundary reached

The {+, -, +} path velocity exists of three concatenated parabola segments and so it hasin general three local extremes. If the first or last (in time) extreme exceeds the velocityboundary value, there is no possibility to correct this. The begin direction of the first par­abolic is fixed by the begin conditions vb and abo The only way to stop the velocity in­crease timely is, to use a large negative jerk input value. However the {+, -, +} path usesa maximum input modulus already and so, it is not possible to avoid boundary violation.

Taking this into consideration, it is necessary to create plot paths with not only a validbegin and end state, but also a begin and end state which enable valid connection paths.Hence, if an illegal begin or end state is found during plot path generation, then the plotpath velocity has to be decreased by reparametrisation of the plot path polynomials.

If the second extreme exceeds the velocity boundary value, a boundary part with con­stant maximum velocity amplitude needs to be inserted, resulting in a {+, -,0, -, + } path(see for example figure 13).

'0 Philips Electronics N. V. 1993 32

Page 39: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

The theory described in [I], [2] and [5] can not be used directly to correct {+, -, +} paths withboth velocity and acceleration boundary violations. However, it seems plausible to extend thepractical ideas behind the previously described theory to construct connection paths with bothvelocity and acceleration boundary parts. The extension simply boils down to the idea of insert­ing a new boundary part wherever a state boundary is reached.

v

,

, 'I I I I I I I

-Vlint --~-------~--~---------~--~------------~--~I I I I I I II I I I I I II I I I I I II I I I I I I

a : :: : : : :I I I I I I II I. I I I I

I I I I I I

iI--""""k--~- -- -- - - - -~--~--- -- - - -- - ---:--~I I I I I II , I I I ,I I I , I

VLim __ ~, -------r~'----;.'~~-------------~--:, .· , ., .· , ,, , ,· , ,

I I I I I

• I I I I I I

-aUnt --:-------~--~---------~-~: -----{'--:

figure 16: path with velocity and acceleration boundary parts.

«) Philips Electronics N. V. 191)3 33

Page 40: Eindhoven University of Technology MASTER Path generator ...

For internal use only NatLab. Report Nr. 6695

Then, the various possible jerk input sequences can be structured as follows:

{+,-,+} ......................................................-> only interior parts

unconstrained path

acceleration violation velocity violation

{+,O,-,+} {+,O,-,O,+} {+,-,O,+}e.g. figure 12 e.g. figure 15

acceleration boundary parts

0,-,+ } > velocity boundary partsure 13i l t t Ii +,-,

e.g. fig

accelerationvelocity violation velocity violation violation

~Ir ,

{+,O,-,O,-,+} {+,O,-,O,-,O,+}e.g. figure 16

{+,-,O,-,O,+ } acceleration andvelocity boundary parts

tl__tt__ljfigure 17: possible path structures.

Remarks:Because a proof for the mentioned extension towards optimal paths with both velocity and ac­celeration boundary parts, is missing, the previous scheme needs a fall-back option that can beused if construction failed or the {+,O,-,O,-,O,+} sequence still has boundary violations. Thesimple connection paths can be used for this purpose.

,") Philips Electronics N.V. 1993 34

Page 41: Eindhoven University of Technology MASTER Path generator ...

For internal use only

7.2.2 Application

Nat.Lab. Report Nr. 6695

The results of previous section can easily be applied to the connection path optimization prob­lem. Every part of a path corresponds to one polynomial containing a jerk value and time du­ration equal to the input value and corresponding time duration of the part.

Appendix C.2 describes the construction of the formulas to compute the optimal connectionpaths for the various jerk sequences as depicted in figure 17.

The structure of figure 17 can be used to describe the algorithm to construct an optimal connec­tion path:

• First construct the unconstrained path and check it for limit violations. If no violations arefound, then this is the optimal constrained connection path.

• Else, according to the found violations, construct one of the next paths as depicted. (Whenboth velocity and acceleration violation occurs within the {+,-,+} path, then construct apath with only acceleration boundary parts first l .) Check the path for new limit violations.If no violations are found, then the optimal connection path is found.

• Else, repeat above step until all limit violations are removed or the final {+,O,-,O,-,O,+} pathis constructed. In the latter case, no optimal connection path is found and thus a simple con­nection path must be used.

Remark:Previously described connection paths are time optima12 if the solution range for the polyno­mial time durations is continuous. However, as already known, for this application all time du­rations need to be equal to an integer number of sample periods (discrete time domain).

As direct computation of the discrete time durations again will be very difficult to accomplish(if possible at all), a pragmatic method analogous as the one stated in 7.1.3, can be used to com­pute the discrete time durations iteratively (see appendix C.2).

One could also think of formulating the controller problem of 7.2.1 in discrete time. However,because of the problem equivalence, this probably would not lead to an analytical solution.

1. arbilTary choice

2. Assuming, the described extension for connection paths with both velocity and acceleration boundary partsis correct in the sense of optimality.

(<OJ Philips Electronics N. V. 1993 35

Page 42: Eindhoven University of Technology MASTER Path generator ...

For internal use only

7.2.3 Position violation

Nat.Lab. Report Nr. 6695

During previous observations, the position limitation is ignored because it is only noticable fora small set of connection problems situated near the LBPG table edge. Therefore, there is lessneed for optimality of connection paths along the position boundary. These connection pathscan be constructed as follows:

If a position violation is found near the start of the connection path, then a Ist order brake path(a path which leads as quickly as possible to zero velocity) is inserted at the beginning. If a po­sition violation is found near the end of the connection path, then analogously a 1st order ac­celeration path is inserted at the end.

v

P

P/im - - -- - - -- - -- -- -- ----

figure 18: example position constrained connection path.

For this, it is necessary to create plot paths which enable valid connection path construction.For example, if a plot path ends near the position border, then the end speed must be low enoughto enable the 1st order brake path to decrease the speed timely before position violation occurs.

,i, Philips Electronics N. V. 1993 36

Page 43: Eindhoven University of Technology MASTER Path generator ...

For internal use only

7.3 2D connection paths

Nat.Lab. Report Nr. 6695

To create 20 simple connection paths, the only thing to do is to construct two 10 connectionpaths separately for both components and inserting a stand-still path to correct the time durationdifference. A stand-still path is a path with constant position. It can be inserted after the brakepath or before the acceleration path because then both the path velocity and acceleration arezero.

For optimal connection paths, the problem is more complex because normally they contain nopoint of time with both zero velocity and acceleration. However, with some extra computation­al effort, a 20 optimal connection path can be constructed as follows:

First, two 10 connection paths are constructed separately for both components. Next the pathwith the smallest time duration is constructed again, however this time the connection time dif­ference between both paths is appended to the construction process environment. This time dif­ference is used to enlarge the computed polynomial time durations of the connection pathduring discretisation (as described in appendix C.2). The corrected time durations then are usedto compute the sequential jerk values.

For example, let t. and tc the connection time of the x respectively y path.(x y

If t. < t. ,the x path is again constructed:(x (y

Let

!:J.ti iE {l, ... ,m}

with m the number of path polynomials,

the computed optimal time durations (before discretisation) of the optimal x connection path.

Then the final discrete time durations become:

IJ.'ii = i!:J.t/tslts + 8ti

such that:

m

"" !:J.ti = t(. andLJ yi = 1

iE {I, ... ,m}

m

L 8ti = t. - t.(y (xi = 1

It is relatively unimportant how the correction terms 8ti are chosen, as long as they fulfil theprevious equation (the 1\ mark indicates they are discrete).

'(J Philips Electronics N. V. 1993 37

Page 44: Eindhoven University of Technology MASTER Path generator ...

For internal use only

8 Plot path sequence optimization

8.1 Analysis and method description

Nat.Lab. Report Nr. 6695

The sequence in which the various plot paths are written by the LBPG, is called the plot pathsequence. This plot path sequence determines the connection paths to use and with that the totalconnection time, Le. the sum of all connection times between the sequential plot paths.Hence, minimization of the total LBPG execution time can be accomplished by optimization ofthe plot path sequence with respect to the total connection time.

This plot path sequence problem shows a strong analogy with the well known Travelling Sales­man Problem (TSP): given a set of cities, in which order should they be visited to minimise thetotal travelling distance?

The TSP belongs to the set of NP-complete problems (non deterministically polynomial): prob­lems which are probably not solvable within a time duration as polynomial function of the prob­lem size (for this problem the number of cities). So, for larger problems a solution can not beenfound in practice, because of a too large computation time. Therefore, it is necessary to confinewith a method that computes an approximate solution, which is not much worse than the opti­malone. A common used method for this is Simulated Annealing [3][3]. It computes a relativegood solution within a prescribed amount of computation time.

Comparing the TSP with the plot path sequence problem, the following points are noted:• The optimization criterion of the standard TSP is based on a simple cost function, such as

for example the mutual distance between the cities.The optimization criterion for the plot path sequence problem is based on the connectiontime, which is only known exactly after complete construction of the corresponding con­nection path, a time-consuming process.

• [3] describes some examples of TSPs that are solved by use of Simulated Annealing, withup to a few hundreds of cities.From discussions with potential users of the LBPG system, it appears that the number ofplot paths for one pattern could rise up to a few ten-thousands.

Based on this comparison, it was decided not to use the Simulated Annealing method. Insteada local search method is used, which selects for every reached plot path, the next plot path thatcan be connected in minimum time.

Remark:Each plot path can be traversed into two directions, so in fact, selection is done within the setof so called connection points: the set of both extremities of all plot paths.

lC) Philips Electronics N.V. 1993 38

Page 45: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nal.Lab. Report Nr. 6695

This local search method has the disadvantage that the resulting solution forms a local mini­mum of the total solution space instead of the desired global minimum. On the other hand, thenecessary computation time is polynomially bounded by the number of plot paths. However,because this number can rise up to a few ten-thousands, still too much computational effort willbe needed.

Hence, to avoid examination of all possible connection points for every reached plot path, astopping criterion has to be defined, such that only the 'interesting' connection points are ex­amined.

8.2 Connection time models

To create optimal access to the connection time between two connection points, a three-dimen­sional table is defined, modelling the connection time of one-dimensional connection paths fordifferent begin and end states.

figure 19: illustration connection time table.

The table coordinates are:• !1p: the connection distance (distance between the connection points).• vb: the begin velocity of the connection path.• ve: the end velocity of the connection path.For reasons of simplicity, only connection paths with zero begin and end acceleration are usedwithin the model. This simplification is justified, due to the fact that plot paths are mainly rel­atively straight1 and thus have a small acceleration, because the velocity is nearly constant.

This table represents a sampled version of the continuous connection time function. The con­nection time of an arbitrary connection path can be approximated by reading this table usingfor example a trilinear interpolation or nearest neighbour technique.

1. according to potential users of the LBPG system.

10 Philips Electronics N. V. 1993 39

Page 46: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

To create a stopping criterion within the local search process, a second table can be used repre­senting the minimum connection time as function of the connection distance. Let all connectionpoints be examined in order of increasing connection distance. Then, if during the local searchprocess a distance is reached with a corresponding minimum connection time that exceeds theconnection time of the current optimal connection point, then the local search process can bestopped.

c(.) Philips Electronics N.Y. 1993 40

Page 47: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

8.3 Geometric ordination by use of a quad-tree structure

To examine all connection points in order of increasing connection distance, they need to begeometrically ordered, so the local search process has direct access to the connection pointswithin a certain search area. An efficient method according to the trade-off between access timeand needed space is to use a so-called quad-tree structure, which has the following properties:

• The quad-tree root represents the total two-dimensional square plot space.

• Every tree node represents a specific square area within the total space.

• Every tree node, not being a tree leaf, has four branches each pointing to a new node, divid­ing the node area in four new square areas of equal size.

• Every tree leaf contains the list of connection points that lies within the area represented bythe leaf.

• The tree has a prescribed maximum depth.

• Every leaf, not on the maximum depth, represents an area containing a prescribed maxi­mum number of connection points.

Quad-tree

7"'--~ .

6----+ •

• connection points

o 0. nodes

( 8root)• leafs

Corresponding partinioning of the plot space

4

If:fs 6.3

7.

s"-- ~ .

~~~~ J ") '3.. --. . . -.. --.~ .'

..... __ ._~ .4

figure 20: exrunple quad-tree structure.

This structure enables relatively fast access to the connection points within a certain area. Onthe other side, relatively little space is wasted on areas with small connection point densities.

<" Philips Electronics N. V. 1993 4\

Page 48: Eindhoven University of Technology MASTER Path generator ...

For internal use only

8.4 Algorithm description

Nat.Lab. Report Nr. 6695

The local search algorithm to find a solution for the plot path sequence problem consists of thefollowing steps:

1. Find the quad-tree leaf representing the area that contains the source point, i.e. the beginpoint of the connection path to create. Select this area as search area.

Lf .•

.

o selected area

• source point

2. Examine all connection points within the selected area for connection time. Select the con­nection point with the smallest connection time.

3. Create four cross points: the intersections of the cross through the source point with the pe­rimeter of the examined area.

~,.. ,

----~'--

o examined area

It cross point

4. Order all cross points by increasing distance to the source point. The first cross point indi­cates the new search area.

5. If the distance of the first cross point corresponds to a minimum connection time exceedingthe connection time of the current selected connection point, then terminate the algorithm.

6. Else, find the quad-tree leaf representing the area indicated by the first cross point. Selectthis area as search area.

L.Iffi ': .+- -~--

'" Philips Electronics N.V. 1993 42

Page 49: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

7. Examine all connection points within the selected area for connection time. Select the con­nection point with the smallest connection time.

8. Compute the four cross points. Create a list of all concave corner points (inlets) of the ex­amined area. Order these points together with the cross points by increasing distance to thesource point. The first point indicates the new search area.

o concave comer point

I !:-Ii : .~~e---

9. If the distance of the first point in the cross point / concave corner point ordination corre­sponds with a minimum connection time exceeding the connection time of the current se­lected connection point, then terminate the algorithm.

1O.Else, find the quad-tree leaf representing the area indicated by this first point. Select thisarea as search area.

Llli ..~ -.--

11.00 to 7.

uri ' .!-T-"--

~ :.--~--~-- f ', .. ,

- -- -.-- ~,.. ,

-- - -.--

Remark:In practice, a second stopping criterion is used: if the number of examined connection points isequal to a prescribed value, the algorithm is terminated. This value can be set between 1 andthe total number of available connection points.

<i'l Philips Electronics N.V. 1993 43

Page 50: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

Part III

SystelD tests and results

'Ol Philips Electronics N. V. 1993 44

Page 51: Eindhoven University of Technology MASTER Path generator ...

For internal use only

9 Test cases

Nat.Lab. Report Nr. 6695

The PG system is programmed in ANSI C and compiled by the HP-UX C compiler (release8.05) for a HP9000-720 work station (compilation with optimization option -0).

Tests have been performed on the following input patterns:

1. FGCl (Focusing Grating Coupler)

2. FGC2

3. LBPG-Text

4. Hologram

The FGCl and FGC2 pattern are supplied by a future user of the LBPG system. The LBPG­Text pattern is specially made for testing and demonstrating the PG system. The Hologram pat­tern is a realistic input pattern created by the Profile Generator.

The overall test data are:

• vUm =0.18m/s,alim =30m/s2,jll"m =13870m/s3xy xy xy

• ts =125 /ls

• admissible position fit error: 1 nm

Sections 9.1 to 9.4 describe the test results for the four input patterns. Section 9.5 gives someremarks on the quantitative results for all input patterns.

© Philips Electronics N. V. 1993 45

Page 52: Eindhoven University of Technology MASTER Path generator ...

For internal use only

9.1 FGC1 test pattern

The PGC1 test pattern consists of the following grating structure1:

figure 21: structure FGC grating.

It has a block wave profile with a pit width equal to the laser spot width2:

figure 22: structure FGC profile.

Nat.Lab. Report Nr. 6695

This pattern is used to test the numerical stability of the plot path generator sub-system, forthese near-circles proved to be hard to approximate by 3rd degree polynomials when a veryhigh accuracy is demanded.

The relevant test data are:

• # polygons: 572• # polygon points per polygon: 37 (for all polygons)• pattern size: 9x9 mm

1. The grating curves look like circles, however it is unknown if they are exact circles.

2. In fact, the grating infonnation is used as plot curve input with conSu'Ult exposure values, skipping the ProfileGenerator.

«, Philips Electronics N.V. 1993 46

Page 53: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Repon Nr. 6695

Several test runs have been performed with different parameter settings. The results are:

• The FGCl pattern test showed numerical instability when using the normal equation (15)for solving the Least Squares problem as mentioned in appendix A.

During the fitting process -with normal equation based Least Squares solving-, insertion ofa new polynomial did not always lead to a decreasing fit error; in some cases it even in­creased. Of course, only numerical instability can cause such an increase. The fit errorshould converge down to zero within a finite number of steps when iteratively insertingnew fit polynomials.

After using Householder transformations for computing the Least Square approximation(see appendix A), this problem vanished.

• It appeared that high accuracy fitting (max. fit error 1nm,:::::: 10-7 times the total plot width)results in a very large number of fit polynomials (for this input pattern).In most cases, the number of polynomials reached the value for which the approximationproblem has changed into an equality problem, i.e. the number of free approximation pa­rameters is equal to the number of polygon points and so, ignoring numerical errors, an ex­act fit exists.

Hence, the fitting process wastes a considerable amount of computational effort in trying tofit small numbers of polynomials, while they eventually turn out to be insufficient to get thehigh prescribed fit accuracy. This problem is solved by introducing a more intelligent startvalue for the number of fit polynomials.

The fitting process could easily learn from the results of previous fits (of previous poly­gons) because the geometric variation of the input polygons is low l . It could decide to startfitting with a number of polynomials related to the end number of the previous fit instead ofalways starting with one polynomial as described in 6.1.2.

Then, to preserve the usage of the time-discretisation technique as described in 6.2, the fol­lowing modification can be used:

Let me be the maximum number of necessary polynomials for the previous x, y and J com­ponent fit, of the previous plot path.

Define mb as:

mb = max (m e - 1, 1) (12)

and start the next x, y and J fit with mb polynomials each, applying a homogeneous time du­ration distribution over all polynomials. The very first x, y and J fit starts with mb = 1.

I. This holds for realistic input patterns in general, according to potential users of the LBPG system.

'0 Philips Electronics N.Y. J993 47

Page 54: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nal.Lab. Report Nr. 6695

Remarks:• The substraction in (12) is used to let mb decrease over sequential fits when gradually

less polynomials are needed.

The described modification leads to a reduction in total plot path computation time by a fac­tor of about 1/7 (for this input pattern).

• The quantitative results after implementing the modification, are:

Table 1: results of the FOCI pattern test

test 1 test 2 test 3 test 4 test 5

connection path optimization no yes no yes yes

plot path sequence optimization no no yes yes yes

local search restricted by lCmin N.A. N.A. N.A. N.A. yes

max. local search iterations N.A. N.A. 1 1 50

computation time (m:s) 31:58 31:59 32:12 32:21 38:28

LBPG execution time (s) 72.3 69.4 66.7 63.5 61.9

average plot path time (s) 0.093 0.093 0.093 0.093 0.093

average connection path time (s) 0.033 0.028 0.023 0.017 0.015

# computed connection paths 573 573 573 573 10101

# simple connection paths computed 573 10 573 8 137

output data size (Kb) 496 398 473 383 379

Explanation:

• N.A.: not applicable.• No connection path optimization:

Only simple connection paths are used.• No plot path sequence optimization:

The polygon input sequence is used as plot path sequence. Each plot path is traversed inthe original polygon direction, defined by the sequence of input polygon points.

• Local search restricted by tCmin:

The stop criterion according to the minimum connection time is used within the localsearch process (see 8.2). (For tests 3 and 4, this stop criterion is not relevant because themaximum number of local search iterations is equal to one.)

«> Philips Electronics N. V. 1993 48

Page 55: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

• # simple connection paths computed:Simple connection paths are used whenever the construction of an optimal connectionpath failed, due to the imperfection of the employed pragmatic time discretisation tech­mque.

Remarks:

• For test 5, the number of computed connection paths is less than the number of finallyconstructed connection paths times the maximum number of local search iterations1

(1010 I < 573*50). This demonstrates the function of the connection time model, for inthe remaining cases (573*50 - 10101), the connection time is approximated by use of themodel, resulting in an equal or higher connection time than found until then. In thesecases, no connection path is computed.

• The computation of the plot paths took 30 minutes. This shows that the described modi­fication is very important for this kind of input patterns (containing input polygons thatare hard to fit by 3rd degree polynomials).

1. This numher indicates the total number of examined connection points if the local search processes are neverstopped by the t Cmin stop criterion. ignoring the fact that for the last 24 plot paths to connect, less than 50connection points are available.

(0 Philips Electronics N. V. 1993 49

Page 56: Eindhoven University of Technology MASTER Path generator ...

For intemal use only

9.2 FGC2 test pattern

Nat.Lab. Report Nr. 6695

The FGC2 pattern is the same as the FGCl pattern, except that it contains only half near-circles:

r-----------------------------------,,,

figure 23: structure FGC2 grating.

The relevant test data are:

• # polygons: 1375• # polygon points per polygon: 37 (for all polynomials)• pattern size: 9x4.5 mm

The results are:

Table 2: results of the FGC2 pattern test

test I test 2 test 3 test 4 test 5

connection path optimization no yes no yes yes

plot path sequence optimization no no yes yes yes

local search restricted by Ie . N.A. N.A. N.A. N.A. yesmlfl

max. local search iterations N.A. N.A. 1 1 40

computation time (m:s) 34:52 35:31 35:19 36:12 39:51

LBPG execution time (s) 44.2 33.8 35.7 28.7 27.9

average plot path time (s) 0.011 0.011 0.011 0.011 0.011

average connection path time (s) 0.022 0.014 0.015 0.010 0.0099

# computed connection paths 1376 1376 1376 1376 35869

# simple connection paths used 1376 10 1376 37 1145

output cL'll<'l size (Kb) 700 490 646 446 446

The computation of the plot paths took 32 minutes.

'" Philips Electronics N. V. 1993 50

Page 57: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

9.3 LBPG-Text test pattern

The LBPG-Text test pattern consists of the following grating structure:

~-----------~-~~_.~------------------------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,~ J

figure 24: structure LBPG-Text grating.

It has a block wave profile with pit width equal to the laser spot width1.

It represents the outlines of the characters LBPG in Times Roman. Each character consists ofa set of geometrically concatenated plot curves (polygons).

This pattern is used to test the following items:

• the PG output geometry:

During execution, an image is made of all set points generated by a SPG simulato~. Thisimage can be used to validate the geometry of the PG output, because geometrical errorsare easy recognised by visual means.

• the PG system robustness: for the pattern shows a large variation in polygon geometry.

The test data are:

• # polygons: 72• pattern size: 9x2.5 mm

1. In fact, the gmting infonnation is used as plot curve input with constant exposure values, skipping the ProfileGenerator.

2. The simulator computes the set points using the smne algorithm as the real SPG does (see 5.2.1).

,to Philips Electronics N. v. \993 5\

Page 58: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

The test results are gathered in the following table and figures.

Table 3: conditions and results of the LBPG-Text pattern test

test 1 test 2 test 3 test 4 test 5 test 6

connection path optimization no yes no yes yes yes

plot path sequence optimization no no yes yes yes yes

local search restricted by tCmin N.A. N.A. no N.A. yes no

max. local search itemtions N.A. N.A. 00 N.A. 00 00

computation time (s) 15 16 127 20 24 224

LBPG execution time (s) 2.22 1.91 1.88 1.72 1.50 1.46

average plot path time (s) 0.0069 0.0069 0.0069 0.0069 0.0069 0.0069

average connection path time (s) 0.024 0.019 0.Q18 0.Q17 0.014 0.013

# computed connection paths 73 73 10703 73 388 10703

# simple connection paths used 73 2 10703 1 6 199

# polynomials 1512 866 1463 874 861 859

output data size (Kb) 25 16 24 16 15 15

To check the correctness of the test results, first the output plots (figure 25 to figure 30) aregraphically compared with the original Times Roman characters: no differences could be rec­ognised. Next the output set points are compared with the input polygon points: all polygonpoints are passed within the prescribed maximum distance (l nm).

«) Philips Electronics N. V. 1993 52

Page 59: Eindhoven University of Technology MASTER Path generator ...

For internal use only

plot pathsconnection paths

Nat.Lab. Report Nr. 6695

figure 25: result test 1 (no optimization).

figure 26: result test 2 (only connection path optimization).

figure 27: result test 3 (only plot path sequence optimization).

'" Philips Electronics N.Y. 1993 53

Page 60: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

figure 28: result test 4 (full optimization with max. 1 local search iteration).

figure 29: result test 5 (full optimization with only the tCmin stop criterion).

figure 30: result test 6 (full optimization without local search restrictions).

(el Philips Electronics N.V. 1993 54

Page 61: Eindhoven University of Technology MASTER Path generator ...

For internal use only

9.4 Hologram test pattern

Nat.Lab. Report Nr. 6695

The Hologram test pattern is a realistic input pattern, made by the Profile Generator (see section2) and has a saw tooth profile of 1.6 /lm to 3.3 /lm. It is used to test the PG system for a realisticjob.

The figure 31 depicts its grating structure:

-2• 0

figure 31: grating structure Hologram test pattern (in Jlm).

The test conditions are:

• # polygons: 44532• pattern size: 5 x 5 mm

Table 4: conditions and results of the Hologram pattern test

test I test 2 test 3 test 4

connection path optimization no yes no yes

plot path sequence optimization no no yes yes

local search restricted by tCmin N.A. N.A. N.A. N.A.

max. local search iterations N.A. N.A. 1 1

computation time (h:m) 1:13 1:33 1:40 3:13

LBPG execution time (h:m) 1:03 0:59 0:32 0:31

average plot path time (s) 0.027 0.027 0.027 0.027

average connection path time (s) 0.058 0.054 0.017 O.ot5

# computed connection paths 44533 44533 44533 44533

# simple connection paths used 44533 0 44533 420

output data size (Mb) 22 13 16 8.5

'b Philips Electronics N. V. 1993 55

Page 62: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

9.5 Remarks on the optimization efficiency

• Connection path optimization:

The efficiency of the connection path optimization is low for the FOCI and Hologram testpatterns. The difference between the simple connection paths and the optimal connectionpaths for both patterns consists of the fact that the simple connection paths have two secondorder zero crossings (simultaneous zero velocity and acceleration) and the optimal connec­tion paths have two first order zero crossings1 as illustrated in the example in figure 32.

simple connection paths used

optimal connection paths used

-Vlim ------------------~-"""'----""""--.

Vlim

figure 32: example connection path velocity.

y y

-II--------+--------+H_x

simple connection paths used optimal connection paths used

figure 33: part of the generated FGCl paths (test 1 and 2).

1. in the y direction; the x direction is redundlillt.

(Q Philips ElecIronics N. V. 1993 56

Page 63: Eindhoven University of Technology MASTER Path generator ...

For internal use only

y y

Nat.Lab. Report Nr. 6695

simple connection paths used optimal connection paths used

figure 34: part of the generated Hologmm paths (test 1 and 2)1.

So, the difference in time duration of the simple and optimal connection path will be smallif the part with maximum constant speed is relatively large. This particularly holds for theHologram and FOCI pattern.

For the FOC2 pattern a relatively high optimization efficiency is reached in comparisonwith the other test patterns. The following figure illustrates the simple and optimal connec­tion path structure.

simple connection paths used optimal connection paths used

figure 35: part of the generated FGC2 paths.

The optimization efficiency is illustrated in a more general prospective by the LBPO-Textpattern, for it shows a large variation in connection path geometry (see figure 25 to figure30).

1. The asymmetry in the simple connection path as depicted, is due to the fact that between the brake path andthe displacement path of the x or y component. a stand-still path is inserted.

,g Philips Electronics N.V. 1993 57

Page 64: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

It should be mentioned that other machine specifications and a smaller maximum plot pathspeed could influence these results strongly. So, in general, there is no indication for the ef­ficiency of the connection path optimization.

For all test patterns, the total output data size was much smaller if optimal connection pathsare used. This is true because one-dimensional optimal connection paths consist of 1 to 7polynomials and simple connection paths consists of 2 to 3 polynomials for the brake andacceleration path! and 3 to 7 polynomials for the displacement path.

• Plot path sequence optimization:

For the Hologram pattern, the plot Eath sequence optimization only exists of selecting thenearest neighbour connection poinr. This results in connection points as depicted in thefollowing figure:

figure 36: part of the generated Hologram paths (test 4).

Comparing this with figure 34, it is obvious that a large connection time reduction can beaccomplished.

1. Short brake and acceleration paths are only needed in a very small number of cases. Hence they are ignoredat this place.

2. Strictly speaking. first the set of nearest neighbours is selected. which is defined by the quad tree area corre­sponding to the source point (see section 8.4). Then an arbitrary connection point is selected within this set.

(C) Philips Electronics N.V. 1993 58

Page 65: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

There is no point in further examination of more neighbour connection points. It would in­volve much more computation time, while its efficiency is low, because the connection timeis mainly defined by the y displacement, which is the same for all neighbour connectionpoints.

So, for these kinds of input patterns, corresponding to the description made by potential us­ers of the LBPO system, only the first steps of the optimization algorithm as described insection 8.4 are used. However, the geometric ordination by use of the quad tree structurewill still be necessary, because the polygon input sequence may not be geometrically or­dered (side by side).

For the FOCI test pattern the tCmin stop criterion is used during test 5. However, due to thefact that all connection points are geometrically very close together, the corresponding stopcriterion is never reached.

Remark:Examination of the PO process during execution showed that 50 is a proper number for themaximum of local search iterations. More iterations do not lead to a reduction of connec­tion times (for this input pattern).

The LBPO-Text pattern shows the functioning of the t Cmin stop criterion, for test 5 can beregarded as having the best balance in the trade-off between LBPG execution time and POcomputation time.

The other test patterns show that the tCmin stop criterion can only be used efficiently forpatterns with a large variation in connection point geometry and small numbers of inputpolygons. For large numbers of polygons, the number of connection points will be large andso using only the tCmin stop criterion will result in too many local search iterations.

tel Philips Electronics N.V. 1993 59

Page 66: Eindhoven University of Technology MASTER Path generator ...

For internal use only

«) Philips Electronics N. V. 1993

Part IV

Conclusion andrecolDlDendations

Nat.Lab. Report Nr. 6695

60

Page 67: Eindhoven University of Technology MASTER Path generator ...

For internal use only

10 Conclusions

Nat.Lab. Report Nr. 6695

The path generator as described in this report has performed all of its tasks in accordance withthe required system specifications, as far as it could be verified until now. Complete validationof the PG can only be accomplished when the complete LBPG system, including the laser beamitself, is working and patterns can be generated physically.

The PG can handle all kinds of pattern geometry. The various optimization steps within the PGare based on the idea of arbitrary input pattern geometry. However, these optimization stepsturned out to be less efficient for input patterns delivered by the potential users of the LBPGsystem (realistic patterns). Due to the large amount of plot paths necessary to generate a realis­tic pattern, and due to the general realistic pattern geometry, only simple optimization steps canbe used, to prevent impractically long computation times.

For realistic jobs (realistic input patterns), the total LBPG execution time to plot the computedpaths, fulfils the prescribed order size. The output data size of the Path Generator has turned outto be less than expected.

11 Recommendations

If only input patterns with a small geometric variation and a geometrically ordered input poly­gon sequence are considered, the plot path sequence optimization can be omitted. The onlything to do instead, is reversing the plot direction of the even input polygons. The advantage ofthis is that there will be no need for storing all the constructed plot paths and storing their ex­tremities in a quad-tree.

In this report, the optimization of the plot paths and connection paths are treated separately.However, the speed along a plot path influences the connection time of the connection paths onboth extremities. Hence, an optimization of the plot path speed with respect to the sum of plottime and necessary connection time could result in lower LBPG execution times.

© Philips Electronics N.V. 1993 61

Page 68: Eindhoven University of Technology MASTER Path generator ...

For internal use only

Part v

Nat.Lab. Report Nr. 6695

«' Philips Electronics N.V. 1993

References

62

Page 69: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

[1] Hansen, P.B.,Householder reduction of linear equations,ACM Computing Surveys, Vol. 24, No.2, 1992, p. 185-194.

[2] Jacobson, D.H. et. al.,New necessary conditions of optimality for control problems with state-variable ine­quality constraints,Journal of optimization theory and applications, Vol. 35, 1971, p. 255-284.

[3] Laarhoven, P.J.M. and E.H.L. Aarts,Simulated Annealing: theory and applications,Dordrecht: Reidel, 1987.

[4] Lawson, c.L. and R.I. Hanson,Solving Least Squares Problems,New Jersey: Prentice-Hall, 1974.

[5] Maurer, H,On optimal control problems with bounded state variables and control appearing linearly,SIAM J. Control and optimization, Vol. 15, No.3, 1977, p 345 - 362.

[6] Inleiding in de numerieke methoden; syllabus bij het college 2N21O,Eindhoven: Faculteit Wiskunde & Informatica, Technische Universiteit Eindhoven,1986,Dictaatnr. 2369, p. 2.1-2.4.

[7] Methoden uit de numerieke algebra; syllabus bij het college 2N220,Eindhoven: Faculteit Wiskunde & Informatica, Technische Universiteit Eindhoven,1986,Dictaatnr. 2413, p. 2.1-2.6.

<t> Philips Electronics N.V. 1993 63

Page 70: Eindhoven University of Technology MASTER Path generator ...

For internal use only

Part VI

Nat.Lab. Report Nr. 6695

(C) Philips Electronics N.V. 1991

Appendices

64

Page 71: Eindhoven University of Technology MASTER Path generator ...

For internal use only

A Least Squares problem

Define

Aa: = lJ

Nat.Lab. Report Nr. 6695

(13)

an overdetermined set of equations. Then the Least Squares (LS) solution a:LS will be the a:which minimizes the norm II Ax - b11 2 :

't/x IIAa:Ls-bI12::;IIAa:-lJI12 (14)

It is well known (see [6]) that the LS solution is equal to:

T -1 Ta:LS = (A A) A lJ (15)

This expression is called the normal equation of the LS problem.

Although computation of the LS solution out of this expression looks straightforward (by solv­ing the square equation set (AT A) a: = (AT lJ) ), [4] showed numerical stability is not guaran­teed.

[4] and [7] describe an other way of LS solving, which has full numerical stability: orthogonaltransformation to an upper right triangular equation set by use of Householder transformations.

It can be shown that orthogonal transformation (multiplication with an orthogonal matrix Q) ofan equation set will leave the error norm unchanged:

IIAx - lJI1 2 = II Q (Ax - lJ) 11 2 if Q orthogonal.

So, the LS solution of the transformed equation set is equal to the LS solution of the originalone.

Now, when using a specific transformation matrix, the product QA will be of the form:

with R 1 an upper right triangular, square matrix.

The new equation set becomes:

(16)

QAa: = QlJ ~

'Ol Philips Electronics N. V. 1993

(17)

65

Page 72: Eindhoven University of Technology MASTER Path generator ...

For internal use only

which can be reduced to an easily solved square set of equations:

R1x = ~l

Nat.Lah. Report Nr. 6695

(18)

A way to obtain a matrix Q which performs the wanted transformation to an upper right trian­gular form is by using Householder transformations. For more details about this, as well as ancomplete algorithm to compute the LS solution based on this principle, see [4] and [7].

,i) Philips Electronics N. V. 1993 66

Page 73: Eindhoven University of Technology MASTER Path generator ...

For internal use only Nat.Lab. Report Nr. 6695

B Dependencies elimination of the curve fitting ap­proximation set

Let

P = {Pl[t t ](t), ""Pm[t t ](t)}bl' q bm' em

the set of concatenated 3rd degree time-parametric fit polynomials with mutual 2nd order time­continuity.

Let qIt) be 3rd degree power base polynomials defined on the parameter interval [0, 1]:

for i E {I, ... , m} .

Define:

with 't E [0, 1]

for i E {I, ... , m}

meaning:

t-tbj

q.( ) = p.(t)I t - t I

ej bj

Then 2nd order time-continuity involves:

qj(O) = qj-l(l)

t1j(O)'I'j = t1j - l(1)'I'j - 1

qj(0)'I'7 = qj - 1(1)'1'7_ 1

with:

Ie' Philips Electronics N. V. 1993

for i E {2, ... , m}

67

Page 74: Eindhoven University of Technology MASTER Path generator ...

For internal use only

This can be rewritten to:

qio = (qU-l)o +qU-l)1 +qU-l)2 +qU-1)3)

qi1 = (qU-l)1 + 2Q U- 1)2 +3QU-l)3)~i

q. = (q('-l) +3q('_1) )~~'2 1 2 1 3 1

with:

or:

Nat.Lab. Report Nr. 6695

[

00001q.= OOOOq.+-I 0000-1

000 1

1 1 1 1o ~. 2~. 3~.1 1 1o 0 ~~ 3~~ qi-I

1 1

o 0 0 0

=E44 q,+G·q·1-I 1-1-

Repeated application yields:

Then, when defining:

and

H. = G.···G21 1

«> Philips Electronics N. V. 1993

o 0 0 k i, II

000k i,/2

00 0 k i, f.:"

000 0

k· I =I,

k, II, I

k. II, 2

k. II, 3

68

Page 75: Eindhoven University of Technology MASTER Path generator ...

For internal use only

finally, the 2nd order continuity constraint is transformed to:

Nat.Lab. Report Nr. 6695

q. + Is· .q. _ 1 + ... + k· 3 q2 + HI,q 113 I, I I 3 I, 3 -

If the fitting problem consists of approximation equations:

Pj(tk) "'" Pk

with Pk a polygon point and tk the corresponding reference point of time,

then the approximation equations in terms of qi('t) are:

t k - tb ·. h I

WIt 'tk =te,-tb ·

I I

or

Hence, the parameters q1 ,q1 ,q 1 ,q 1 and q2 to qm can be seen as independant parameters.o I 2 3 3 3

'el Philips Electronics N. V. 1993 69

Page 76: Eindhoven University of Technology MASTER Path generator ...

For internal use only

C Connection path computation

e.l Simple connection paths

C.1.1 Brake paths / Acceleration paths

• Long brake path:

Solving I1t l' I1t2 and I1t3 out of:

Pl(tb ) = PbI

vl(tb ) = vb1

al(tb)=abI

v3(te ) = a3(te ) = 03 3

under the conditions:

alUe ) = -s amax s = ±l

{ IjI =-h =-s j max

h=Oyields (after discretisation):

Nat.Lab. Report Nr. 6695

(19)

11(1

11(2 = Itvmax' amax' imax) =11(3

(Cl Philips Electronics N.V. 1993 70

Page 77: Eindhoven University of Technology MASTER Path generator ...

For internal use only

It is easy to see that the value of s should be equal to:

s = Sign(vb)

The figure 37 illustrates this.

v(t)

him

figure 37: extreme examples of long brake paths.

Nat.Lab. Report Nr. 6695

Vb . is the minimum positive begin velocity of a long brake path.min

At I is the maximum time duration of the first polynomial of a long brake path.max

Solvingh,h andh out of (19) yields l :

ab ( 2At l + 2At2 + At3) +2vb

Atl (Atl + 2At2 + At3)

o

1. h is held at zero, by defining the acceleration level of the second polynomial as variable, to compensate thenumber fo free parameters.

", Philips Electronics N. V. 1993 71

Page 78: Eindhoven University of Technology MASTER Path generator ...

For internal use only

• Medium brake path:

Solving /).t 1 and /).t2 out of:

Pl(tb)=Pb1

V1(tb ) =Vb1

a 1(tb ) =ab1

v2(te ) =a2(te ) =02 2

under the conditions:

{jl = -h = -s jmax

yields:

Nat.Lab. Report Nr. 6695

(20)

The sign of s can be constructed by using the constraints:

/).[1 > 0

and

2ab--sj v >02 max b

(a~ )s =-Sign(v,) v s =Sign(vb) A Ivbl < -2.-

Jmax

2ab .

-s ab+ 2" - sJmaxvb > 0

V (s ~ Sign(ab) A SVb < - 2 a~ )Jmax

a2

Unequality sVb <-r with sJmax

I() Philips Electronics N.V. 1993 72

Page 79: Eindhoven University of Technology MASTER Path generator ...

For internal use only

Then, if:

or

2abIVbl < -2.- A S =-Sign(ab)Jmax

both constraints are fulfilled.

So S is equal tal:

Nat.Lab. Report Nr. 6695

S = j-Sign(vb)

-Sign (ab)

Solving h, and h out of (20) yields:

ab (~tl + 2~(2) + 2vb

~tl (~tl + ~(2)

ab~tl + 2vb

~t2 (~tl + ~(2)

1. If Ivbl = a2b/2j a short brake path can be used.

max

«) Philips Electronics N.Y. 1993 73

Page 80: Eindhoven University of Technology MASTER Path generator ...

For illtemal use only

• Short brake path:

Solving Atlout of:

Pl(tb ) = Pb1

V 1(tb ) =Vb1

a1(tb ) =abI

V 1(t ) =a1(t ) =0e1 el

under the condition:

{jl =-s jmax

yields:

with s = -Sign(vb).

Solvingh out of (20) yields:

,,1 Philips Electronics N.V. 1993

Nat.Lab. Report Nr. 6695

(21)

74

Page 81: Eindhoven University of Technology MASTER Path generator ...

For internal use only

C.1.2 Displacement paths

• Large displacement path:

Solving /1t I to /1t7 out of:

PI(tb ) = Pb1

vl(tb ) = al(tb ) = 01 1

P7(tb7

) =P e

v7(tb ) =a7(tb ) =07 7

under the conditions:

jV3(t

e3) = S vmax

al(te ) = -as(te ) =S amax1 5

h = -h = -js = h = s jmax

h =j4 =j6 = 0

yields:

Nat.Lab. Report Nr. 6695

tq

te2 - tel

tet

t q - t e2 - t q

tq

t e2 - tet

tel

with:

-sjmax

o-sjmax

osjmax

Ip -P IAt = D( e b )q Vmax

Vmax =

@ Philips Electronics N. V. 1993

~ CJ maxJmax = -A­

tq

75

Page 82: Eindhoven University of Technology MASTER Path generator ...

For internal use only

• Medium displacement path:

Solving ~t I to ~tS out of:

PI(tb ) = Pb1

vl(tb ) = al(tb ) = 0I I

PS(tb5

) = Pe

vS(tb ) = as(tb ) = 0- 5 - 5

under the conditions:

yields:

Nat.Lab. Report Nr. 6695

(22)

with:

at = D( max)q .

lmax

tq

te2 -tel

2tel

te2 - tq

tq

sjmax

o~

-sjmax

o~

sjmax

«) Philips Electronics N.V. 1993 76

Page 83: Eindhoven University of Technology MASTER Path generator ...

For internal use only

• Small displacement path:

Solving I1.t 1 to I1.t3 out of:

PI(tb ) = PbI

vI(tb ) =aI(tb ) =0I I

P3(tb) =Pe3

v3(tb ) = a3(tb ) = 03 3

under the conditions:

{h =-j2 =j3 =s j max

yields:

with s = Sign(pe - Pb)

Nat.Lab. Report Nr. 6695

(23)

I1.'f1 tet

I1.t2 =ftYmax,amax,jma) = tet

11.~ ~I

with:

., Philips Electronics N.V. 1993

sjmax

-sjmax

sjmax

77

Page 84: Eindhoven University of Technology MASTER Path generator ...

For internal use only

C.2 Optimal connection paths

• {+,-,+} path:

Solving I1t I to I1t3 out of :

PI(tb ) = Pb1

VI(tb ) = VbI

al (tb ) = abI

P3(te3 ) = Pe

V3(te ) =Ve3

V3(te ) = ae3

under the conditions:

Nat.Lab. Report Nr. 6695

(24)

{h =-h =h =s j max

yields:

with s = ±l

1111

1112 =f( vmax' amax' jmax) =

1113

with te3 defined as the largest real root of:

[-l1a4- 48j~ax (I1v2 -l1al1p)] +

[4sjmax (l1a 3 + 12sjmax (- 2sjmaxl1p + I1vLa -l1aLv))] te3 + (25)

[6j~ax (- 4a lP e - La2 + 8sjmaxLv ) ] te~ + [-12sjmax3I1a ] te~ + [3J~1Q) te~

and

I1p = Pe-Pb

I1v = v - vIe }

{() Pllilips Electronics N.V. 1993

LP = Pb +Pe

LV = vb+ve

La = ab + ae

78

Page 85: Eindhoven University of Technology MASTER Path generator ...

For internal use only

The sign of s is defined by the constraint:

Nat.Lab. Report Nr. 6695

(26)

It can be shown, there always exists a solution fulfilling this constraint for either s = -1 ors = 1, based on the theory as described in [1], [2] and [5]. Practice showed, this is alwaysthe largest real root of (25).

The function

~~] = SCAt!, At2, At)l

can be derived by solving (19) towards the variables h, hand h. Because (19) is linear inthese variables, this could be performed by using Cramers Rule.

19 Philips Electronics N.V. 1993 79

Page 86: Eindhoven University of Technology MASTER Path generator ...

For internal use only

• {+,O,-,+} path:

For

jI = -j3 = j4 = s j{ . max

12 = °[becomes:

with s = ±l

Nat.Lab. Report Nr. 6695

~tI

~t2

~t3

~t4

with:

= itvmax' amax' jmax) =

te4 the largest real root of:

[ -4 ~2a3 + 12sjUm (~2a ~2v - sjUm~2P) ] +

[12hmUUm(ve-~2v) -aUm~2a)]tC4+ [6sj7imalim]te~+

312

-~ ( [2~2a2 - 4sjUm~2v] + [4jUmaUm] te4)

and

[2~2a2 -4sjUm~2v] + [4jlimalim] te4

2jUm

«l Philips Electronics N. V. 1993 80

Page 87: Eindhoven University of Technology MASTER Path generator ...

For internal use only

g becomes:

hh =g(,1( I' ... , ,1(4) =hj4

with:

Nat.Lab. Report Nr. 6695

a ex - a b

,1(1

°- aex (,1(1 + 2,1{2 + 2,1{3 + ,1(4) - a e,1(4 - a b,1{1 + 2,1v

,1(3 (,1{3 + ,1(4)

aex (,1{1 + 2,1(2 + ,1(3) + ae (,1(3 + 2,1(4) + ab,1{1 - 2,1v

,1(4 (,1(3 + ,1(4)

[aed14 ( d13 + d14) - abM} (2M} + 3dt2 + 2M3 + d14) +

a ex = - vb (6dl} + 6M2 + 4M3 + 2M4) - ve (2d13 + 4d14) + 6dp ] /

[dt} (dt} + 3dlz + 2dl3 + d14) + dtz (3d1z + 4M3 + 2d14) + d13 (d13 + d14)]

• {+,-,O,+}, {+,O,-,O,+}, {+,-,O,-,+}, {+,O,-,O,-,+}, {+,-,O,-,O,+}, {+,-,O,-,O,+} paths:

see program reference.

(CJ Philips Electronics N.V. 1993 8\

Page 88: Eindhoven University of Technology MASTER Path generator ...

For internal use only

Distribution

Nat.Lab. Report Nr. 6695

Author

Title

Copy to

P.F.P. Meijers

Path GeneratorA system to compute near-optimal time-related paths for a Laser Beam PatternGenerator

PI ResearchNat.Lab.PRLPL-NAPLEPPFAPatent Dept.

dr. K. Bulthuisdr. G.E. Thomasdr. C.MJ. van Uijen

Distribution list

Abstract

ing. W.H.A. Bardoelmw.ing. Y.A. BoersmaA.A.C. van den Brandedr. lH. Coombsdr. P. Dirksenmw.drs. W. van Es-Spiekmanir. G. Harbersing. A.A.M. Hoevenaarsing. RAJ. Jacobsing. lH.G. Jaegersdr. A.PJ. Jongenelisdr. MJ. Jongeriusing. lA.H. Kahlmaning. PJ. Kunstdr. G.W.R. Leibbrandtm.se. R.D. MortonF.MJ. Naringsdr. P.L.M. Puting. G.B. van Rosmalendr. M.G. Tenner

1.<' Philips Electronics N.V. 1993

WB-5WB-5Redhill, UKBriarcliff Manor, USALimeil-Brevannes, FranceAachen, BRDWAH

Managing directorDirectorDepartment head

WB-5WY-7WY-3

WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3

82

Page 89: Eindhoven University of Technology MASTER Path generator ...

For internal use only

B.M. TheunissenA.F.J. van de YenJ.E. van der Werfdrs. W.PJ. van AsseldonkiT. A. AugusteijniT. H. Dijkstrarnr. T.J. Everett, b.sc.dr. HJ. ter HorstiT. 1. Kamerbeekdr. iT. R. Kettlerdr. P.M. van Looning. P.M. MielekampiT. H. Munkdr. F.H. Schulingir. H.H.M. van der Weijdrs. R.F.C. de WinteriT. J.D. Wolters

Full report

ddr. J.P.H. Benschoping. M.P.M. Bierhoffprof.drjr. JJ.M. Braatdr. J.J.L. HorikxG.c.R. van de Looijdr. A.M. Nuijsing. W.G. Opheymw.dipl.phys. H. Steinhauserir. F.B. Sperlingdrjr. M. Steinbuchir. J. Bruijnsir. J. van Eeir. J.W. Erodr. F. Klokdrs. MJ. van der Karstprof. dr. FJ. Petersdr. E.J.D. Poling. M. van Splunteren

(¢J Philips Electronics N.V. 1993

Nat.Lab. Report Nr. 6695

WY-3WY-3WY-3WL-IWL-IWL-IWL-IWL-IWL-IWL-IWL-IWL-IWL-IWL-IWL-IWL-IWL-I

WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-3WY-pWY-pWL-IWL-IWL-IWL-IWL-IWL-IWL-IWL-I

83


Recommended