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
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.
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.
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 corresponding laser intensity of a Laser Beam Pattern Generator (LBPG), to create three-dimensional 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 polynomials, 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 actually plot by the LBPG. This optimization reduces the necessary overall connection time andthus the total LBPG execution time to generate a pattern.
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
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
For internal use only
Part I
Nat.Lab. Report Nr. 6695
© Philips Electronics N.V. 1993
Introduction
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 optics, the need for internal independent production facilities has arisen. Therefore, a high precision 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 variable 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 transformed 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
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 geometric movement of the LBPG table and the corresponding laser light dose during this movement, called exposure. This is performed by a Profile Generator.
Next the plot curves need to be transformed to plot paths representing the time related geometric 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 connection 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 discrete 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 intensity 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 infonnation.
'<' Philips Electronics N. V. 1993
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
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 limitations 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 describes 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
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
For internal use only
Part II
ProbleIn analysis andsysteIn description
'" Philips Electronics N. V. 1993
Nat.Lab. Report Nr. 6695
7
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 information. 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
For internal use only Nat.Lab. Repon Nr. 6695
The algorithm used is a discrete integration algorithm, which computes the set points by successive 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 combines 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
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 functions of order 3, 2, 1 and°respectively.
'" Philips Electronics N. V. 1993 10
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 discontinuity is only allowed at the beginning of a plot path and is made possible due to the application 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 extreme 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 maximum 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
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
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 intensity 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 timeparametric 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
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 degree 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
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
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
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 euclidian 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 follows:
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 between 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 according to section 6.1.1 and appendix A.
(¢) Pililips Electronics N.V. 1993 17
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 error 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 accomplished.
'Cl Philips Electronics N.V. 1993 18
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 duration, 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 acceleration 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
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 integer 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
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 transfonned 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 sample 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
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, theoretically 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
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 between two consecutive plot paths. Analogous to plot paths, they must consist of a set of concatenated 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 acceleration1.
• 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
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
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 acceleration 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 conditions can drive the speed and acceleration to zero and at the same time the required destination 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
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
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 polynomials (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
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 acceleration 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 computing 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
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 control problem with state and input inequality constraints. [1], [2] and [5] give necessary conditions 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 issues. 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 optimal 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 input 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
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 second (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
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 depicted 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
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 parabolic is fixed by the begin conditions vb and abo The only way to stop the velocity increase 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 constant maximum velocity amplitude needs to be inserted, resulting in a {+, -,0, -, + } path(see for example figure 13).
'0 Philips Electronics N. V. 1993 32
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 inserting 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
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 acceleration 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
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 problem. Every part of a path corresponds to one polynomial containing a jerk value and time duration 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 connection 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 connection path must be used.
Remark:Previously described connection paths are time optima12 if the solution range for the polynomial time durations is continuous. However, as already known, for this application all time durations 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 compute 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
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 position violation is found near the end of the connection path, then analogously a 1st order acceleration 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
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 computational 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 difference between both paths is appended to the construction process environment. This time difference 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
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 Salesman 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): problems which are probably not solvable within a time duration as polynomial function of the problem 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 optimalone. 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 connection 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
For internal use only Nal.Lab. Report Nr. 6695
This local search method has the disadvantage that the resulting solution forms a local minimum 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 examined.
8.2 Connection time models
To create optimal access to the connection time between two connection points, a three-dimensional 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 relatively 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 connection 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
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 representing 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
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, dividing 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 maximum 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\
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 connection point with the smallest connection time.
3. Create four cross points: the intersections of the cross through the source point with the perimeter 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 indicates 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
For internal use only Nat.Lab. Report Nr. 6695
7. Examine all connection points within the selected area for connection time. Select the connection point with the smallest connection time.
8. Compute the four cross points. Create a list of all concave corner points (inlets) of the examined 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 corresponds with a minimum connection time exceeding the connection time of the current selected 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
For internal use only Nat.Lab. Report Nr. 6695
Part III
SystelD tests and results
'Ol Philips Electronics N. V. 1993 44
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 LBPGText pattern is specially made for testing and demonstrating the PG system. The Hologram pattern 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
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
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 increased. 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 parameters is equal to the number of polygon points and so, ignoring numerical errors, an exact 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 polygons) 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 following modification can be used:
Let me be the maximum number of necessary polynomials for the previous x, y and J component 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 duration 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
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 factor 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
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 techmque.
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 modification 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
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
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\
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 recognised. 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
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
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
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
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 connection 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
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 connection 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
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 efficiency 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 corresponding 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
For internal use only Nat.Lab. Report Nr. 6695
There is no point in further examination of more neighbour connection points. It would involve 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 users 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 ordered (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 connection 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
For internal use only
«) Philips Electronics N. V. 1993
Part IV
Conclusion andrecolDlDendations
Nat.Lab. Report Nr. 6695
60
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 realistic 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 polygon 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 extremities 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
For internal use only
Part v
Nat.Lab. Report Nr. 6695
«' Philips Electronics N.V. 1993
References
62
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 inequality 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
For internal use only
Part VI
Nat.Lab. Report Nr. 6695
(C) Philips Electronics N.V. 1991
Appendices
64
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 solving the square equation set (AT A) a: = (AT lJ) ), [4] showed numerical stability is not guaranteed.
[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
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 triangular 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
For internal use only Nat.Lab. Report Nr. 6695
B Dependencies elimination of the curve fitting approximation 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 timecontinuity.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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\
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
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