Inversion-Based Feedforward Design for Beyond Rigid Body Systems: A Literature Survey J.J.M. Lunenburg DCT Report 2009.105

Supervisors: Dr. ir. M.M.J. van de Wal† Prof. ir. O.H. Bosgra‡ Ir. T.A.E. Oomen‡

† Philips Applied Technologies Mechatronics Program Drives and Control Group

‡ Eindhoven University of Technology Department of Mechanical Engineering Control Systems Technology Group

Eindhoven, November 2009 Inversion-Based Feedforward Design for Beyond Rigid Body Systems: A Literature Survey Janno Johan Maria Lunenburg

Literature Survey

Philips Applied Technologies Mechatronics Program Drives and Control Group

Eindhoven University of Technology Department of Mechanical Engineering Control Systems Technology Technology Group Abstract

In the production of Integrated Circuits (IC’s), increasingly tighter positioning accuracy (in the order of nanometers) and increasingly aggressive motion profiles (with accelerations up to 100 m/s2) are demanded, resulting in more energy content of the reference trajectory at higher frequencies. In order to enable a feasible design for actuators and amplifiers, future wafer stages will be developed to be lightweight. Furthermore, the size of the wafers is bound to increase from 300 mm to 450 mm, thus resulting in stages which are less stiff than conventional designs. These developments ask for Beyond Rigid Body control, i.e., control design strategies which deal with the flexible modes of a system more rigorously compared with conventional rigid body control. In future feedforward control design strategies, a number of issues have to be addressed. Next to dealing with the flexible modes of the system, it should be possible to extend the feedforward controller for position dependent dynamics, and the controller should be robust for modeling uncertainties. Furthermore, it should be able to handle at least a class of setpoint trajectories instead of being tuned for one specific trajectory, preferably being fully setpoint independent. Finally, it might not be possible to measure the performance variables directly, which should be taken into account in feedforward controller design. A feedforward controller usually is an approximation of the inverse of a system. In order for a system to be invertible, it should have an equal number of linearly independent inputs and outputs. Using various representations of (dynamic) systems, such as a state-space system, Rosenbrock’s system representation, and the lifted system representation, the prop- erties of inverse systems are discussed. It is shown that an inverse system is in practice not necessarily a suitable feedforward controller. In feedforward controller design, approximating the inverse of a system is addressed in a number of ways. Inertia feedforward only inverts the rigid body modes of a system. Snap feedforward also takes the low-frequent behavior of the flexible modes into account. Inversion based methods invert the system model as accurate as possible, but since non-minimum phase zeros of the system would result in unstable poles of the feedforward controllers, a bounded solution to the internal dynamics is found by using a reverse time integral of the unstable internal dynamics. ∞ feedforward controller design can be formulated as a model matching problem but the resultingH approximation of the inverse system is always stable, proper and minimum phase. In case of, e.g., the Feedforward Design method with Time domain Constraints (FDTC), a feedforward controller is synthesized using a limited number of basis functions. Machine- In-the-Loop control optimization is not a feedforward control method itself, but a means of automatically tuning the parameters of a certain feedforward controller or control signal. In practice, the (automatic) tuning of controller parameters has proven to be a necessity for nanometer accuracy with tight settling demands.

i The use of the lifted system representation is not very common in feedforward control design. However if the impulse response matrix of a minimum phase system is inverted, a state-space realization is shown to be a suitable feedforward controller. In case of a non-minimum phase system, the generalized inverse of the impulse response matrix is neither Toeplitz nor lower- triangular, thus implying a non-causal time-varying feedforward controller. Using this in a practical application, extension for optimization for a specific class of reference trajectories, and dealing with uncertainties are subject to further research. Contents

Abstract i

Contents iii

Abbreviations and Acronyms vii

1 Introduction1 1.1 Background...... 1 1.2 Motivation...... 1 1.3 Problem Statement...... 2 1.4 Sampled Data Systems...... 3 1.5 Approach and Overview...... 5

2 Inverse Systems7 2.1 Inversion of a Matrix...... 7 2.2 The Generalized Inverse...... 8 2.3 Inverse Dynamic Systems...... 9 2.4 State-Space Realizations...... 10 2.4.1 Bi-proper Plants...... 10 2.4.2 Strictly Proper Plants...... 11 2.5 Rosenbrock’s System Matrix Realization...... 13 2.6 The Lifted System Representation...... 15 2.6.1 Inverting ill-conditioned Toeplitz matrices...... 17 2.6.2 An illustrative example...... 17

3 Approaches to Feedforward Control 21 3.1 Introduction...... 21 3.2 Inertia and Snap Feedforward...... 22 3.2.1 Description...... 22 3.2.2 Uncertainties and Modeling Errors...... 24 3.2.3 Typical Properties...... 24 3.3 Inversion Based Feedforward Control...... 24 3.3.1 Description...... 24 3.3.2 Uncertainties and Modeling Errors...... 26 3.3.3 Typical Properties...... 26 3.4 2/ ∞ Feedforward...... 27 3.4.1H H Description...... 27

iii 3.4.2 Uncertainties and Modeling Errors...... 29 3.4.3 Typical Properties...... 30 3.5 Feedforward Controller Design Based on Basis Functions...... 30 3.5.1 Description...... 30 3.5.2 Uncertainties and Modeling Errors...... 31 3.5.3 Typical Properties...... 32 3.6 Machine-In-the-Loop Control Optimization...... 32 3.6.1 Evaluation of MIL Concepts...... 33 3.6.2 A MIL Example...... 35 3.6.3 Uncertainties and Modeling Errors...... 35 3.6.4 Immeasurable Performance Variables...... 36 3.6.5 Typical Properties...... 36 3.7 Summary...... 36 3.7.1 Tracking Performance...... 37 3.7.2 Model Uncertainties...... 37 3.7.3 Reference Trajectories...... 37

4 Digital Implementation 39 4.1 Digital Implementation of Feedforward Controllers...... 39 4.1.1 Design of Discrete Equivalents via Numerical Integration...... 39 4.1.2 Alternative methods...... 41 4.2 Consequences for Inertia Feedforward...... 41 4.2.1 A moving mass...... 41 4.2.2 Forward Numerical Integration...... 42 4.2.3 Backward Numerical Integration...... 42 4.2.4 Trapezoid Numerical Integration...... 43

5 Example 45 5.1 Introduction...... 45 5.2 The Flexible Cart System...... 45 5.3 The Feedback Controller...... 47 5.4 Feedforward Controller Design...... 48 5.4.1 Inertia Feedforward...... 48 5.4.2 Snap Feedforward...... 48 5.4.3 ∞ Feedforward...... 49 H 5.5 Nominal Performance...... 50 5.6 Robust Performance...... 53 5.7 Summary...... 55

6 A New Feedforward Control Design Approach 57 6.1 Feedforward Controller Design Based on the Impulse Response Matrix..... 57 6.2 Uncertainty and Reference Trajectories...... 59 6.3 The Use of Basis Functions...... 60 6.4 Immeasurable Performance Variables...... 60 7 Conclusions and Recommendations 61 7.1 Conclusions...... 61 7.2 Recommendations...... 62

A The Singular Value Decomposition 63

B Realization of a Sequence of Markov Parameters 65

Bibliography 69

Abbreviations and Acronyms

ARE Algebraic Riccati Equation ARX AutoRegressive with eXternal input BRB Beyond Rigid Body CoG Center of Gravity DOF Degree Of Freedom FB Feedback FF Feedforward FIR Finite Impulse Response FTDC Feedforward Design method with Time domain Constraints GSIS Gain-Scheduled Inverse System IC Integrated Circuit ILC Iterative Learning Control I/O Input Output LFT Linear Fractional Transformation LHP Left Half Plane LMI Linear Matrix Inequality LPV Linear Parameter-Varying LTI Linear Time Invariant MIL Machine-In-the-Loop MIMO Multi-Input Multi-Output MRAC Model Reference Adaptive Control PSD Spectral Density RHP Right Half Plane RMS root-mean-square SISO Single-Input Single-Output STR Self Tuning Regulator SVD Singular Value Decomposition ZOH Zero-Order-Hold

vii

Chapter 1 Introduction

1.1 Background

In the production of Integrated Circuits (IC’s), increasingly tighter positioning accuracy and increasingly aggressive motion profiles are demanded. Servo errors are in the order of one nanometer (1 nm = 1 10−9 m). Velocities of 1 m/s and accelerations of 100 m/s2 are customary. These specifications× will become even more demanding in the near future and the development of lightweight stages is necessary to enable a feasible design for actuators and amplifiers. Furthermore, the size of the wafers is bound to increase from 300 mm to 450 mm. These bigger, lightweight stages will be less stiff than conventional designs and will appear at lower frequencies, whereas the reference trajectory contains more energy at higher frequencies. This asks for a new approach to control design which deals with flexible modes explicitly: in conventional controller design it is often assumed that the modes are not excited by the motion profile and are thus treated as parasitic. Within Philips Applied Technologies, control design methods that deal with flexible modes in an effective manner are referred to as Beyond Rigid Body (BRB) control. A second issue that requires more attention with decreasing stiffness of the stage is the fact that the performance variable can in practice hardly ever be measured. An example of this behavior is the leveling of a waferstage: the height z cannot be measured exactly at the position where the wafer is exposed. The difference between the actual value z and its measured value y may be substantial in BRB systems. Another consequence of the increased flexibility is that dynamics may vary with position, which poses a limit on the achievable tracking performance. Besides the direct requirements to BRB systems in general, a control strategy for waferstages should not be restricted to one specific setpoint trajectory: it should at least be able to cope with a class of setpoints. Furthermore it should be possible to execute a certain setpoint profile without time-consuming off-line calculations. This does not imply that the feedforward filter necessarily is causal: preview-based solutions are not discarded a priori. A final remark on the use of various setpoint is that learning for a particular setpoint is not desirable, although fine- tuning of the controller parameters using Machine-In-the-Loop (MIL) control optimization will probably contribute to a considerably improved performance of the feedforward controller.

1.2 Motivation

In Figure 1.1 the conventional 2 degree-of-freedom (DOF) controller setup is shown. Omitting the initial conditions of the system and controllers, the closed loop transfer function

1 CHAPTER 1. INTRODUCTION

uff Kff

r e ufb + y + + Kfb P −

Figure 1.1: Conventional 2 degree-of-freedom control setup of this system is given by:

−1 y = [(I + P (s)Kfb(s)) P (s)(Kff (s) + Kfb(s))]r (1.1)

If the feedforward controller Kff is chosen to be

−1 Kff (s) = P (s) (1.2) perfect tracking can in theory be achieved since:

 −1 −1  y = (I + P (s)Kfb(s)) P (s) P (s) + Kfb(s) r   = (I + P (s)K (s))−1 P (s)P −1(s) + P (z)K (s) r fb fb (1.3)  −1  = (I + P (s)Kfb(s)) (I + P (s)Kfb(s)) r = Ir

Hence, this result is independent of the feedback controller and shows the importance of inverse systems in feedforward controller design. Determining the inverse of a dynamic system is however usually not trivial. Therefore, an approximation of the inverse system is used as a feedforward controller.

1.3 Problem Statement

The problem statement of this literature survey is as follows:

Define the requirements for the use of an (approximate) system inverse as a feedforward con- troller and give a critical overview of the various approaches to the feedforward controller design problem described in literature.

In this overview, special attention will be payed to the following properties of the feedforward control strategies:

How does the feedforward controller deal with the flexible modes of the plant and is the • control strategy suited for use in BRB systems?

Can the controller be extended for position dependent dynamics and how does it deal • with model uncertainties?

2 1.4. SAMPLED DATA SYSTEMS

Is the controller setpoint independent, i.e.is it suited for a particular reference trajectory • and is ’learning’ required for every setpoint or can it be used for a class of trajectories?

A secondary issue discussed in this survey is how to deal with immeasurable performance variables.

1.4 Sampled Data Systems

In modern applications, controllers are implemented using digital computers. This means that the controller works on digital signals that are both sampled and quantized1. Taking this into consideration is crucial for the feedforward control design. Figure 1.2 displays the way in which a continuous system P (s) is controlled digitally. A digital control sample u(k), received from the controller, is converted to an analog signal u(t) by the D/A-converter and held at a constant value until the next digital sample u(k + 1) is received. This is called Zero-Order Hold (ZOH). The output y(t) of the system is subsequently sampled and quantized to arrive at y(k) which is the value that can be displayed by the digital computer. The entire system from u(k) to y(k) is called a sampled data system.

u(k) D/A u(t) y(t) y(k) hold P (s) Sampler A/D

Figure 1.2: Digital representation of a dynamical system

Consider a dynamic system P (s) of differential equations:

x˙(t) = F x(t) + Gu(t) (1.4) y(t) = Hx(t) + Ku(t)

The total system in Figure 1.2 from u(k) to y(k) has to be described using a system of difference equations, having the form:

x(k + 1) = Ax(k) + Bu(k) (1.5) y(k) = Cx(k) + Du(k)

In Franklin et al.(2002) the matrices in Equation 1.5 are given by:

A = eFTs (1.6) Z Ts  B = eF ηdη G (1.7) 0

with Ts the sample period and η = kTs + Ts τ. Furthermore: − C = H (1.8) D = K (1.9)

In case of a mechanical system having as input and position as output, the plant does not have a direct feedthrough term and thus D = K = 0. In continuous time transfer functions

1Signals that are sampled but not quantized are called discrete.

3 CHAPTER 1. INTRODUCTION

d the operator s essentially denotes the differential operator dt . In discrete systems however the shift operator z is employed, meaning:

zx(k) = x(k + 1) (1.10)

The use of the shift operator z enables the possibility to use discrete transfer functions. Starting from a state-space representation, the transfer function of a a system can be obtained in a similar way as in the continuous time case:

Y (z) = C (zI A)−1 B + D (1.11) U(z) −

Note that care should be taken when doing mathematical operations on sampled data systems.

Example 1.1 Consider, e.g., a system P1(s), consisting of a single integrator:

y(t) 1 P1(s) = = (1.12) u(t) s

Then, if a ZOH and a sampler are added to the system in Equation 1.12, using a sampling time of Ts = 1, the total sampled data system Pd1(z) is given by:

y(k) 1 P (z) = = (1.13) d1 u(k) z 1 −

Now consider system P2(s), consisting of a double integrator:

y(t) 1 P2(s) = = (1.14) u(t) s2 which is the square of P1(s). Adding a ZOH and a sampler to P2(s) now results in the sampled data system Pd2(z): y(k) 1 z + 1 P (z) = = 2 2 (1.15) d2 u(k) z2 2z + 1 − which is not the square of Pd1(z).

According to Åström et al.(1984), the poles of a sampled data system pd,i are given by:

pc,iTs pd,i = e (1.16) where pc,i are the poles of the continuous time system. On the other hand there is no simple transformation for the zeros of a continuous time system to a sampled data system, and it can not be stated that the sampled data system of a continuous time system with zeros only in the left half plane (LHP), has its zeros strictly inside the unit circle.

4 1.5. APPROACH AND OVERVIEW

1.5 Approach and Overview

This survey is organized as follows: in Chapter2 the issue of inverting a dynamic system is discussed. Various system representations lead to different ways of calculating the inverse. Also specific properties of inverse systems are discussed. Thereafter various feedforward control strategies are reviewed in Chapter3, focusing on the way in which the inverse system is approximated. The main properties of these strategies are also discussed. In Chapter4 a few notes are given on the digital implementation of controllers designed in continuous time. It will be shown that approximating a continuous controller by a discrete one may degrade performance significantly. Afterwards in Chapter5, an example will be discussed in which various feedforward control strategies are compared. This report will end with a brief discussion about related topics in Chapter6 and finally the conclusions and recommendations for further research will be discussed.

5 CHAPTER 1. INTRODUCTION

6 Chapter 2 Inverse Systems

As shown in the introduction, inverse systems play an important role in feedforward control design. Inverting dynamic systems shows similarities with inverting matrices and therefore this chapter will start with inverse matrices. Thereafter, the definition of an inverse dynamic system along with some distinct properties will be discussed. The remainder of the chapter will address the way in which various representations of dynamic systems can be inverted.

2.1 Inversion of a Transfer Function Matrix

In this section the existence and uniqueness of inverse matrices will be discussed. A rational n n matrix P (z) is invertible if there exists an n n matrix Pˆ(z) such that × × P (z)Pˆ(z) = Pˆ(z)P (z) = I (2.1) A unique solution to Pˆ(z) exists if: P(z) is square, and • det P (z) 0 • 6≡ In Horn and Johnson(1988) the inverse of a matrix is given as: 1 P −1(z) = adj P (z) (2.2) det P (z) where adj P (z) is the adjugate (also called transposed matrix of cofactors) of P (z), defined by: i+j 0 0 (adj P (z))ij = ( 1) det P (z, j , i ) (2.3) − { } { } where P (z, j 0, i 0) is the matrix obtained by removing the jth row and ith column of P (z). { } { } In case of a non-square P (z) Equation 2.1 cannot be fulfilled. In order to deal with non-square plants, the concept of a left inverse and right inverse can be introduced. In Moylan(1977), a left inverse of a system P is defined as a system PˆL which computes the input to P from knowledge of its output, such that P LP = I. A right inverse, on the other hand, is a system PˆR which computes the input required so that P has a certain desired output, such that PP R = I. In case of the feedforward control design problem, the latter is of most importance, as can also be seen in Equation 1.3, where use is made of P Pˆ = I. A non-square system P (z) can be either fat, having more inputs than outputs, or tall, thus having more outputs than inputs. In case of a fat system, calculating the right inverse yields infinitely many solutions.

7 CHAPTER 2. INVERSE SYSTEMS

Example 2.1 This can be easily shown for a system P (z) with two inputs and one output (the argument z is omitted to improve readability):     pˆ1 P Pˆ = p1 p2 = p1pˆ1 + p2pˆ2 = 1 (2.4) pˆ2 This is in fact one equation with two unknowns, thus having infinitely many solutions. Conversely, a tall system has no solutions for the right inverse:

Example 2.2 In this case the system P (z) has two outputs and only one input.       p1   p1pˆ1 p1pˆ2 1 0 P Pˆ = pˆ1 pˆ2 = = (2.5) p2 p2pˆ1 p2pˆ2 6 0 1 In this case, the product of two rank 1 matrices must equal a 2 2 unity matrix, which has no × solution for any p1, p2. Similarly, a square matrix not having full rank does not have a solution for either the left or the right inverse.

2.2 The Generalized Inverse

As discussed in the previous section calculating the inverse of singular or non-square matrices is impossible. The Moore-Penrose generalized inverse (pseudo-inverse) of a matrix P is defined as the least squares solution to y = P x such that x 2 is minimized among all vectors for k k which y P x 2 is minimized. k − k The generalized inverse P † of a matrix P is the unique solution to the following four equations (Ben-Israel and Greville, 1974): PP †P = P (2.6a) P †PP † = P † (2.6b) (PP †)H = PP † (2.6c) (P †P )H = P †P (2.6d) where ( )H denotes the conjugate transpose of a matrix. · It can be calculated using the singular value decomposition of a matrix P = UΣV H (Ap- pendixA): r † −1 H X 1 H P = VrΣ U = viu (2.7) r r σ (P ) i i=1 i where r is the number of non-zero singular values of P . Four cases of inverting an l m matrix P with rank r can be distinguished: × 1. r = l = m: P is nonsingular and thus P † = P −1.

2. r = m l: P has full column rank and y P x 2 is minimized by: ≤ k − k P † = (P H P )−1P H (2.8)

where P † is a left inverse of P since P †P = I.

8 2.3. INVERSE DYNAMIC SYSTEMS

3. r = l m: P has full row rank. Minimizing y P x 2 has infinitely many solutions ≤ k − k and the one minimizing x 2 can be selected by: k k P † = P H (PP H )−1 (2.9)

In this case P † is a right inverse since PP † = I.

4. r < k = min(l, m): In this case Equation 2.7 has to be used since both P H P and PP H are not of full rank.

Example 2.3 Take, e.g., a matrix:

 1 2  P = (2.10) 2 4

This matrix has rank(P ) = 1 and is therefore not invertible. However, the generalized inverse can be calculated:  1 2  † 25 25 P = 2 4 (2.11) 25 25 It can be verified that P † satisfies the four Penrose equations (Equation 2.6).

2.3 Inverse Dynamic Systems

In order to discuss the various ways of inverting a dynamic system it is first necessary to give a formal definition. Consider the system P (z):

x(k + 1) = Ax(k) + Bu(k) (2.12) y(k) = Cx(k) + Du(k)

m n p with u(k) R , x(k) R , and y(k) R . In the remainder of this survey, it is assumed ∈ ∈ ∈ that the state-space realization (A, B, C, D) of P (z) is a minimal realization, i.e., A has the smallest possible dimension. In Silverman(1968) the inverse system P −1(z) is defined as follows:

Definition 2.1 If y(k) is the response of system P (z) to the initial state x0 at k0 and the −1 input u(k) on [k0, ), then the output of P (z) in response to x0 at k0 and input y(k) is ∞ u(k) on [k0, ). ∞ Before continuing the discussion about inverse dynamic systems, the concept of poles and transmission zeros of a dynamic system is addressed. In Skogestad and Postlethwaite(2005) the following definition for the poles of a dynamic system is given:

Definition 2.2 The poles pi of a system with state-space description (Equation 2.12) are the eigenvalues λi(A), i = 1, . . . , n of the matrix A.

In a somewhat loose definition the poles of P (z) are defined at he finite values z = pi where P (pi) has a singularity (’is infinite’). Transmission zeros on the other hand arise when competing effects, internal to the system, are such that the output is zero even when the inputs and the states of the systems are not identically zero. A more formal definition is:

9 CHAPTER 2. INVERSE SYSTEMS

Definition 2.3 vi is a zero of system P (z) if the rank of P (vi) is less than the normal rank of P (z).

In case of a state-space description, Equation 2.12 may also be written as:

 zI A B   x   0  − = (2.13) C D u y − − − Here it can be seen that the zeros of a system are the values for z where the matrix in Equation 2.13 loses rank. In case of a proper system with D square, invertible, the zeros can also be determined by calculating the eigenvalues of the matrix A BD−1C. In case of SISO systems, the poles are the roots of the denominator− polynomial and the zeros are the roots of the numerator polynomial of the transfer function. Note that this only holds if the numerator and denominator are coprime, i.e., they do not have any common divider other than 1.

Various properties of a system manifest itself in a distinct manner in the inverse system:

Analog to the inverse of a matrix (Section 2.1), a system P (z) has a unique inverse if • it is square and of full rank, i.e., it has an equal number of linearly independent inputs and outputs.

Transmission zeros outside the unit circle of a system will turn up in the inverse system • as unstable poles. A non-minimum phase plant P (z) will therefore lead to an unstable inverse Pˆ(z). Non-minimum phase behavior may arise, e.g., when sensor and actuator are non-collocated or in case of time delays.

If a sampled data system P (z) has a relative degree1 r > 0 it essentially means that • an input u at sample k will only manifest itself at the output at sample k + r. The inverse of this system will have a relative degree r < 0 which means the inverse system is non-causal: an input at sample k would manifest itself in the output at sample k r, so the output actually occurs before the input is applied. −

In literature various ways are well known in which to describe a dynamical system. These descriptions also have different ways of calculating the inverse. In this chapter inverting a state-space system (Section 2.4), a Rosenbrock system matrix (Section 2.5) and the lifted system representation (Section 2.6) will be discussed.

2.4 State-Space Realizations

2.4.1 Bi-proper Plants In Skogestad and Postlethwaite(2005) the state-space description of the inverse of the system m n p in Equation 2.12 is defined. Recall that u(k) R , x(k) R and y(k) R . In calculating the inverse one can start with the output equation∈ of the∈ state-space system.∈ This can be rewritten such that: u(k) = D−1Cx(k) + D−1y(k) (2.14) − 1The relative degree of a dynamic system is defined as the number of poles minus the number of transmission zeros

10 2.4. STATE-SPACE REALIZATIONS which only exists if D is square and invertible. Substituting this expression into the state equation yields: x(k + 1) = Ax(k) + Bu(k) = Ax(k) BD−1Cx(k) + BD−1y(k) (2.15) − = (A BD−1C)x(k) + BD−1y(k) − This means that the inverse of a system in state-space realization can be written as:

x(k + 1) = (A BD−1C)x(k) + BD−1y(k) − (2.16) u(k) = D−1Cx(k) + D−1y(k) − In this expression it can be seen that a strictly proper plant, having a zero output matrix D = 0, cannot be inverted using Equations 2.14-2.16, since improper plants cannot be represented by state-space systems. In case of a non-square plant, D will also be non-square, meaning that an exact inverse cannot be calculated. In this case, or if D is rank deficient, the generalized inverse (see Section 2.2) could be used instead, being an approximation of the exact inverse. An exact method for calculating the inverse of strictly proper systems is discussed in the next section.

2.4.2 Strictly Proper Plants As is mentioned before, in case of a strictly proper SISO system or a MIMO system with one or multiple strictly proper entries, i.e., a system with a singular D matrix, the inverse cannot be calculated as described in the previous subsection. In Silverman(1968, 1969) a method is developed that uses y(t) and its derivatives as input to the inverse system P −1(s), i.e., the inverse system can be viewed as a bank of differentiators and a dynamical system. In this section the discrete equivalent of this technique will be discussed. Define q0 = rank(D). Then, if q0 < p, there exists a nonsingular p p matrix S0 such that: ×  D¯  Dˆ := S D = 0 (2.17) 0 0 0

where D¯0 has q0 rows and has full rank. The system can then be written as:

x(k + 1) = Ax(k) + Bu(k) (2.18) yˆ0(k) = C0x(k) + D0u(k) where   y¯0(k) yˆ0(k) = S0y(k) = y˜0(k) and   C¯0 Cˆ0 = S0C = C˜0 Now define matrix M:   Iq0 0 M0 := (2.19) 0 zIp−q0 then the output equation becomes:     y¯0(k) y¯0(k) y0(k) = M0yˆ0(k) = = = C0x(k) + D0u(k) (2.20) zy˜0(k) y˜0(k + 1)

11 CHAPTER 2. INVERSE SYSTEMS where:   C¯0 C0 = C˜0A and   D¯0 D0 = C˜0B If   D¯0 q1 = rank < p C˜0B the whole process can be repeated calculating S1, M1, C1 and D1. If the system is invertible then there exists an α such that Dα is of full rank. In that case, Equation 2.16 can be written as: −1 −1 x(k + 1) = (A BDα Cα)x(k) + BDα yα(k) −−1 −1 (2.21) u(k) = D Cαx(k) + D yα(k) − α α where yα can be written as:

α ! Y yα(k) = Mα−iSα−i y(k) i=0

Essentially this means that in order to calculate x(k + 1) and u(k), y has to be known at least up to y(k + α), thus making the inverse system non-causal.

Example 2.4 Take, e.g., the 2 2 system: ×  2 1   1 0  x(k + 1) = − x(k) + u(k) 1 0 0 2 (2.22)  3 0   0 0  y(k) = x(k) + u(k) 0 1 0 5

In this case, rank(D) = 1. Now S0 can be defined such that:

 0 1   0 0   0 5   D¯  Dˆ := S D = = = 0 (2.23) 0 0 1 0 0 5 0 0 0 0

Furthermore:   y¯0(k) yˆ0(k) = S0y(k) = (2.24) y˜0(k) and         0 1 3 0 0 1 C¯0 Cˆ0 = S0C = = = (2.25) 1 0 0 1 3 0 C˜0 Next, using Equation 2.20 and:  1 0  M = (2.26) 0 0 z the output equation becomes:       y¯0(k) 0 1 0 5 y0(k) = M0yˆ0(k) = = x(k) + u(k) (2.27) y˜0(k + 1) 6 3 3 0 − 12 2.5. ROSENBROCK’S SYSTEM MATRIX REALIZATION

Now, the direct-feedthrough matrix has full rank and the inverse system is given as in Equa- tion 2.21:  0 0   0 0.33  x(k + 1) = x(k) + y (k) 1 0.4 0.4 0 0 − (2.28)  2 1   0 0.33  u(k) = − x(k) + y0(k) 0 0.2 0.2 0 − where  0 1  y (k) = y(k) 0 z 0 Although this method is able to deal with strictly proper plants, stability of the resulting −1 inverse system is not addressed. If the eigenvalues of A BDα Cα are located outside the unit circle the inverse system is unstable. −

2.5 Rosenbrock’s System Matrix Realization

Besides the state-space description in the previous section, another way of representing a sys- tem of differential equations is Rosenbrock’s system matrix formulation. Rosenbrock describes a system model consisting of linear time-invariant differential equations by:

T (z)x(z) = U(z)u(z) (2.29) y(z) = V (z)x(z) + W (z)u(z)

m n p with u(k), u R the input variables, x(k), x R the internal variables and y(k), y R the output variables.∈ The vector expression of this∈ equation is: ∈

 T (z) U(z)   x(z)   0  = (2.30) V (z) W (z) u(z) y(z) − − − If this system is square and full rank, the inverse system can be calculated. System 2.30 is identical to:  x(z)   T (z) U(z) 0   0   u(z)  = (2.31) V (z) W (z) I − 0 − − y(z) − Adding the trivial equation u(z) = u(z) results in the inverse system, being: − −  T (z) U(z) 0   x(z)   0   V (z) W (z) I   u(z)  =  0  (2.32) − − − 0 I 0 y(z) u(z) − − This description is valid for general systems in Rosenbrock’s system representation. If a strictly proper discrete state space system is written in the Rosenbrock representation it states:

 zI A B   x(z)   0  − = (2.33) C 0 u(z) y(z) − − − and the inverse becomes:  zI AB 0   x(z)   0  −  C 0 I   u(z)  =  0  (2.34) − − − 0 I 0 y(z) u(z) − − 13 CHAPTER 2. INVERSE SYSTEMS

Here it can be easily seen that non-square plants cannot be inverted, since this would result in a non-square upper left partition of the Rosenbrock system matrix. Contrary to the state-space description, the Rosenbrock system matrix realization can describe improper systems. Via restricted system equivalence, the system matrix in Equation 2.34 can be brought to the Weierstrass-Kronecker form (Bosgra, 2007):

  zIη Aˆs 0 Bˆs −  0 Ir−η + zJ Bˆp  (2.35) Cˆs Cˆp 0 − − where Iη is a unity matrix of size η and J = blockdiag(J1,...,Jk), each Ji of the form:

 0 1 0 0  ···  0 0 1 0   ···   .. .  Ji =  0 0 0 . .  i = 1, 2, . . . , k (2.36)    . . . ..   . . . . 1  0 0 0 0 ··· The transfer function matrix Pˆ(z) of Equation 2.35 can be expressed as:

Pˆ(z) = Pˆs(z) + Pˆp(z) (2.37) with Pˆs(z) a strictly proper and Pˆp(z) a non-causal polynomial transfer function matrix:

 −1 Pˆs(z) = Cˆs zIη Aˆs Bˆs (2.38) −

−1 Pˆp(z) = Cˆp (Ir−η + zJ) Bˆp (2.39) Note that initial conditions only apply to the strictly proper part of the inverse system.

Example 2.5 A sampled data system containing a ZOH, a moving mass and a sampler has for m = 1,Ts = 1 the following transfer function: 1 z + 1 P (z) = (2.40) 2 (z 1)2 − A possible Rosenbrock system representation is:       z 2 1 1 x1 0 −  1 z 0   x2  =  0  (2.41) − 1 1 0 u y − 2 − 2 − − The inverse can be obtained using 2.32:       z 2 1 1 0 x1 0 −  1 z 0 0   x2   0   −1 1    =   (2.42)  0 1   u   0  − 2 − 2 − − 0 0 1 0 y u − − 14 2.6. THE LIFTED SYSTEM REPRESENTATION

Under restricted system equivalence, this system can be brought to2:       z + 1 0 0 2 x1 0  0 1 z 1   x2   0      =   (2.43)  0 0 1 1   u   0  − 4 2 4 0 y u − − − − which can be divided into a strictly proper and a polynomial part:

−1 8 Pˆs(z) = 4(z + 1) 2 = (2.44) z + 1

 −1     1 z 1 Pˆp(z) = 2 4 = 2z 6 (2.45) − − 0 1 1 − This equals the inverse of the system, which is:

(z 1)2 2(z + 1)2 8z 8 P −1(z) = 2 − = − = 2z 6 + (2.46) z + 1 (z + 1) | {z− } z + 1 Pp(z) | {z } Ps(z)

2.6 The Lifted System Representation

An system representation that is increasingly used is the lifted system representation (Bamieh et al., 1991; Tousain et al., 2001; Van de Wijdeven, 2008). This uses a static map, repre- senting convolution, to describe the system dynamics. In these references, the lifted system representation for a state-space system (A, B, C, D) is given by:       y0 D 0 0 0 u0 ···  y1   CBD 0 0   u1     ···     y2  =  CAB CB D 0   u2  (2.47)    2 ···     y3   CA B CAB CB D   u3   .   . . . . ···.   .  ......

The elements of the Toeplitz matrix, from here on denoted as J, are the Markov parameters k−1 of the system: M0 = D, M1 = CB, M2 = CAB, Mk = CA B, k = 1, 2,...,. Note that the Markov parameters represent the impulse response parameters of a system, and that in order to fully describe a SISO system of order n at least 2n Markov parameters M1 to M2n are required. The lifted system representation has a number of specific properties:

J is in theory a matrix of possibly infinite dimensions. In practice however it usually • is truncated to a matrix with finite dimensions if finite input and output sequences are considered.

The initial conditions x0 are not taken into account in this lifted system representation. •  T T 2 T T These could be included by adding C (CA) (CA ) ... x0 to Equation 2.47.

2In Bosgra(2007) the procedure to bring a system to the Weierstrass-Kronecker form is described

15 CHAPTER 2. INVERSE SYSTEMS

As is shown in Hashemi and Hammond(1996), poles and zeros outside the unit circle • are reflected by the magnitude of the singular values of matrix J, provided it is chosen sufficiently large. Unstable poles will result in singular values that are much higher then the ’clustered’ singular values (the singular values having the same order of magnitude), whereas non-minimum phase zeros result in singular values that are much smaller. In Tousain et al.(2001) it is explained that the latter implies that there exists a subspace of input signals that is poorly observable in the measured output. Conversely will a small input to the inverse system in a certain direction lead to a very large output. Very small singular values of the Toeplitz matrix mean furthermore that the matrix is ill-conditioned, i.e., the inverse is very sensitive and small changes in data will lead to large changes in the obtained solution. In the usual lifted system representation the input vector u(k) and the output vector y(k) are defined on the same interval, as is the case in Equation 2.47. However, it might be more convenient to choose the interval for y(k) based on both the interval where u(k) is defined and the properties of the system, such that the resulting matrix is lower-triangular with non-zero entries on the diagonal, as is the case in Equations 2.48 and 2.49. This has advantages for strictly proper systems as well as non-proper systems. In case of a strictly proper system of relative degree α, the first α Markov parameters M0,...,Mα−1 are zero, and therefore also the first α rows of the matrix in Equation 2.47 are zero. These rows thus contain no information, and the resulting Toeplitz matrix is singu- lar. If however output vector y(k) is shifted α samples with respect to u(k), a non-singular Toeplitz matrix is obtained: Example 2.6 If, e.g., a system has a relative degree of 2, its first two Markov parameters are zero, M0 = D = 0,M1 = CB = 0. In this case, lifted system representation is given by:       y2 CAB 0 0 0 u0 2 ···  y3   CA B CAB 0 0   u1     3 2 ···     y4   CA BCA B CAB 0   u2  (2.48)   =  ···     .   ......   .   .   . . . . .   .  N+1 N N−1 yN+2 CA BCA BCA CAB uN ··· Obviously, this representation does not loose rank because D,CB = 0, as would be the case if the mapping of Equation 2.47 had been used. In case of a non-proper system, one could simply add the non-causal Markov parameters on the superdiagonals of the matrix in Equation 2.47. This however does not capture the non- causality of the system correctly. This can be seen as follows: in Equation 2.47 it does not appear that y−1 = 0 in case of an impulse response u0 = 1. The mapping of Equation 2.49 is correct on the other6 hand. Example 2.7 If, e.g., a non-causal system has a relative degree of -1, the lifted system rep- −1 resentation of a system P (z) = C (zI A) B + D + D−1 would be given by: −     y−1 D−1 0 0 0 0   ··· u0  y0   DD−1 0 0 0     ···   u1   y1   CBDD−1 0 0      =  ···   u2  (2.49)  y2   CAB CB D D−1 0       ···   .   .   ......   .   .   ......  N−2 N−3 N−4 N−5 uN yN−2 CA BCA BCA BCA B D−1 ··· 16 2.6. THE LIFTED SYSTEM REPRESENTATION

As mentioned before, using this modified mapping, the matrix does not loose rank if one (or more) of the leading Markov parameters is zero. However, the matrix can still become singular or ill-conditioned in case of a non-minimum phase system. In the next section several approaches to approximate the inverse of a singular or ill-conditioned matrix J are discussed.

2.6.1 Inverting ill-conditioned Toeplitz matrices As mentioned earlier, every non-minimum phase zero will result in a very small singular value of the Toeplitz matrix of the lifted system representation, thus making this matrix (nearly) singular. In literature various ways are described in which a singular or ill-conditioned matrix can be inverted. The most straightforward way of inverting an ill-conditioned matrix is using the generalized inverse, i.e.: ˆ −1 H J = VrΣr Ur (2.50) where r is the number of singular values above a certain threshold. N×N In Tousain et al.(2001) the reduced system representation is discussed. Here J R has H ∈ rank N d and again the singular value decomposition J = UΣV with Σ = diag(σ1, . . . , σN ). − Then, as described in Mirsky(1960), the best rank r approximation of J (r N d) is given r H ≤ − by J = Udiag(σ1, . . . , σr, 0,..., 0)V . This means that the last N r columns of V span the r − r null space of J . If Up is subsequently defined as the first r columns of V , then with J˜ = J Up r the generalized reduced representation of the lifted system is given by y˜ = J˜u˜, where J˜ R ∈ is the new input u = Upu˜. In Hashemi and Hammond(1996) regularization is defined as minimizing the cost function:

Jc = Ax y 2 + α x 2 (2.51) k − k k k

This solution keeps the residual Ax y 2 small and keeps x bounded by the term α x 2. This approach is very similar to calculatingk − k the generalized inverse (Section 2.2). k k The similarity between Equation 2.51 and the generalized inverse becomes clear in Equa- tion 2.8: in case of infinitely many solutions for minimizing y Ax 2 the generalized inverse k − k approach selects the solution such that x 2 is minimized as well. k k A next possibility is using the equivalent circulant Ci matrix of the Toeplitz matrix J. In Gray (1972) it is shown that a circulant matrix is asymptotically equivalent to a Toeplitz matrix, which implies that eigenvalues, products and inverses behave similarly. According to Hashemi and Hammond(1996) the singular values of a Toeplitz matrix are almost the same as those of its equivalent circulant matrix, except for the smallest ones, reflecting the non-minimum phase zeros. Contrary to J, which may be ill-conditioned, Ci is well-conditioned and can be inverted instead. The use of Ci however may be limited, since the asymptotic equivalence only holds for large (infinite) matrices, while a finite dimensional system has a finite Toeplitz matrix describing its dynamics. An alternative way of inverting J in case of non-minimum phase zeros, also described in Hashemi and Hammond(1996), is replacing the small singular values by positive numbers close to the clustered singular values.

2.6.2 An illustrative example In this subsection an example will be discussed in the lifted system representation to illustrate the effect of causal and non-causal systems and time shifts. The transfer function of the system

17 CHAPTER 2. INVERSE SYSTEMS is given by: z + 1 4 (2.52) P (z) = 2 1 z + z + 4 1 1 which has two poles at z = 2 and a zero at z = 4 . This means the system is stable and minimum phase and the inverse− will thus also be stable.− The relative degree of this system is 1 and the system thus is strictly proper. Since P (z) is represented as a transfer function, its inverse can easily be computed by interchanging numerator and denominator:

2 1 ˆ z + z + 4 P1(z) = 1 (2.53) z + 4 This expression obviously is non-causal. Now assume the reference trajectory r(k) is defined from k = 0. Then, using Equation 2.49, the lifted system representation of the feedforward controller is given by:       u−1 1 0 0 0 r0 3  u0  ˆ  4 1 0 0   r1  u¯ =   = Jr¯ =  1 3    (2.54)  u1   16 4 1 0   r2  1 1 3 u2 1 r3 − 64 16 4 The fact that the vector u¯ is defined on the interval k [ 1, 2] illustrates the non-causality ∈ − of Pˆ1(z). For the lifted system representation of the system P1(z), u is defined on the same interval:       y0 1 0 0 0 u−1 3  y1   4 1 0 0   u0  y¯ =   = Ju¯ =  − 1 3    (2.55)  y2   2 4 1 0   u1  3 − 1 3 y3 1 u2 − 16 2 − 4 The use of the non-causal feedforward controller thus leads to perfect tracking since:       y0 1 0 0 0 r0  y1   0 1 0 0   r1  y¯ =   = JJˆr¯ =     (2.56)  y2   0 0 1 0   r2  y3 0 0 0 1 r3

This is not surprising, since in this case Jˆ = J −1. Essentially, in order to make y(k) track r(k) on the entire interval k [0, 3], control input u(k) should be applied on the interval ∈ u [ 1, 2]. ∈ − As will be explained in Section 3.1, filter Pˆ1(z) can be made causal by adding a pole at z = 0, resulting in: z2 + z + 1 ˆ 4 (2.57) P2(z) = 2 1 z + 4 z The Toeplitz matrix in the lifted system representation equals the matrix in Equation 2.54, but u¯ has ’shifted’ one sample, thus resulting in:       u0 1 0 0 0 r0 3  u1  ˆ  4 1 0 0   r1  u¯ =   = Jr¯ =  1 3    (2.58)  u2   16 4 1 0   r2  1 1 3 u3 1 r3 − 64 16 4 18 2.6. THE LIFTED SYSTEM REPRESENTATION

Now, with u(k) defined on k [0, k], y¯ is shifted one sample too and Equation 2.55 becomes: ∈       y1 1 0 0 0 u0 3  y2   4 1 0 0   u1  y¯ =   = Ju¯ =  − 1 3    (2.59)  y3   2 4 1 0   u2  3 − 1 3 y4 1 u3 − 16 2 − 4 The entire open loop now becomes:       y1 1 0 0 0 r0  y2   0 1 0 0   r1  y¯ =   = JJˆr¯ =     (2.60)  y3   0 0 1 0   r2  y4 0 0 0 1 r3

Essentially, output y(k) exactly tracks the reference trajectory but is lagging exactly one sample.

19 CHAPTER 2. INVERSE SYSTEMS

20 Chapter 3 Approaches to Feedforward Control

3.1 Introduction

In Section 1.2 it is shown that using the inverse plant P −1(z) as a feedforward controller for system P (z) results in perfect tracking. However, the properties of inverse systems as discussed in Section 2.3 limit the use of the exact inverse of a dynamic system as a feedforward controller. If the system is not square and of full rank the inverse system does not exist. Furthermore, an unstable inverse system is not suited as a feedforward controller, since it also results in a system which is not internally stable. In De Gelder(2003a,b) it is therefore argued that the feedforward control design problem is not equal to the plant inversion problem. The linear time invariant (LTI) system P (z) defines a mapping x : for each initial state x0 = x(0), P 0 U → Y where denotes the input function space over k [0, 1,..., ) and the corresponding outputU space. This is graphically represented in Figure∈ 3.1. ∞ Y

P (z) U Y Yc

Figure 3.1: Graphical interpretation of the mapping from input space to output space U Y If a system has more outputs than inputs, is non-minimum phase, or has a relative degree r = 0, then not every bounded output signal y(k) c has a corresponding bounded input 6 ∈ Y signal u(k) . This means a stable, proper inverse does not exist. Taking this into account, the feedforward∈ U controller design problem is defined as:

Definition 3.1 The feedforward controller design problem is defined as designing a filter Kff that, for every desired trajectory r(k), produces a control signal uff (k) such that the difference between the system output y(k) and r(k) is as small as possible in a well-defined sense. This definition for the feedforward controller design problem, which is a modified version of the definition in De Gelder(2003a,b), will be retained in the remainder of this survey. In this chapter, a number of approaches to feedforward control are discussed. Inertia and snap feedforward (Section 3.2) are the inverse of the rigid body mode and low frequency con- tributions of flexible modes. In Section 3.3 inversion based feedforward is discussed, followed by H∞ feedforward in Section 3.4. Subsequently, feedforward control signals based on basis

21 CHAPTER 3. APPROACHES TO FEEDFORWARD CONTROL functions are discussed in Section 3.5. The next section is devoted to Machine-In-the-Loop control optimization, followed by a summary of the various properties of the different feedfor- ward designs. In discussing the various feedforward control designs, three criteria are taken into account: Tracking performance Since stability and disturbance rejection are attended by the feed- back controller, the main task for the feedforward filter is improving tracking perfor- mance, i.e., minimizing the tracking error of the closed loop system. Model uncertainties The feedforward controller should be designed such that the effect of a mismatch between model and the actual plant is minimized. Reference trajectories The feedforward controller should basically be setpoint-independent, such that no adaption is required in case of a change in reference trajectory. Machine- In-the-Loop (MIL) tuning of controller parameters (Van der Meulen, 2005a,b) on the other hand is acceptable, as well as a feedforward filter which is valid for a significant class of reference trajectories. The properties of a number of feedforward controllers will be further investigated using an exemplary system in Chapter5. A final remark before continuing concerns the question on how to implement non-causal feed- forward filters in practice. In case a feedforward design method results in a non-causal feed- forward filter Kff,nc with relative degree α, a delay of α samples has to be applied to both − branches of the reference signal (see Figure 3.2). The delay combined with Kff,nc then results in a causal feedforward filter Kff,c, corresponding to adding α poles at z = 0. This is also referred to as Preview Control.

Kff,c u α ff z− Kff,nc

r e ufb + y α + + z− Kfb P −

Figure 3.2: Conventional 2 degree-of-freedom control setup with α preview samples

3.2 Inertia and Snap Feedforward

3.2.1 Description A typical motion system can be seen as a plant which contains one or more rigid body modes and several resonance modes at higher frequencies. Including ZOH and sampler, the system can be represented by:

Nrb T N T X uj krb,j(z + 1)vj X ui kflex,i (z µi) vi P (z) = Prb(z) + Pflex(z) = 2 + −  (3.1) (z 1) (z λi) z λ¯i j=1 − i=Nrb+1 − − 22 3.2. INERTIA AND SNAP FEEDFORWARD

2 where sampling time T and mass m are contained in k = Ts . Furthermore k is the s j rb,j 2mi flex,i gain of flexible mode i, µi is its zero and λi, λ¯i is a pair of complex poles. In Bode et al.(2004); Boerlage(2006), Equation 3.1 is approximated by evaluating the flexible modes around z = 1, yielding: Pˆ(z) = Prb(z) + Pˆflex (3.2) where Pˆflex = Pflex(z) z=1 | The next step is applying rigid body decoupling, resulting in:

P˜(z) = T P (z)T + T Pˆ T y rb u y flex u (3.3) = P˜rb(z) + P˜flex

More information about rigid body decoupling and how to find Ty and Tu can be found, e.g., in Anthonis and Ramon(2003); Skogestad and Postlethwaite(2005); Vaes et al.(2004). An inertia feedforward controller1 is found by inverting the diagonal transfer function matrix P˜rb(z). In case of a SISO system, the corresponding inertia feedforward then becomes:

(z 1)2 Kff = − (3.4) krb (z + 1)

Note that this feedforward controller has a pole on z = 1, so it is on the edge of stability. As − is mentioned before, the rigid body mode having relative degree r = 1 results in a non-causal inertia feedforward controller (r = 1), which has to be implemented as discussed in the previous section. − In Bode et al.(2004); Boerlage(2006), a feedforward control design method is described which not only compensates for the rigid body modes, but also for the modal contributions of flexible 2 modes at low frequencies. Essentially, this snap feedforward controller Kff is a fourth order Taylor approximation around z = 1 of the inverse of the decoupled plant in Equation 3.3.A Taylor series of a function f(z) in the neighborhood of x = a is given by:

P∞ f (n)(a) n f(z) n=0 n! (z a) ≈ 0 − 1 00 2 1 (3) 3 1 (4) 4 f(a) + f (a)(z a) + 2 f (a)(z a) + 6 f (a)(z a) + 24 f (a)(z a) ≈ − − − − (3.5) where f (n)(a) denotes the nth derivative of f evaluated at a and can be calculated by taking the derivatives of  −1 f(z) = P˜rb(z) + P˜flex  −1 (3.6) ˜ z+1 ˜ = Krb (z−1)2 + Pflex ˜ with Krb = diag(krb,1, . . . , krb,Nrb ), and evaluating these at z = 1. In this expression it can easily be seen that discrete snap feedforward is non-causal. For implementation, four poles have to be added at z = 0 and a delay of four samples has to be inserted, corresponding to setting α = 4 in Figure 3.2. In Chapter5 snap feedforward will be elaborated for a fourth order SISO system.

1Also called mass or acceleration feedforward 2’Snap feedforward’ is in literature often referred to as ’Jerk derivative feedforward’

23 CHAPTER 3. APPROACHES TO FEEDFORWARD CONTROL

3.2.2 Uncertainties and Modeling Errors Snap and inertia feedforward parameters can be easily tuned in the time domain; modeling errors do not pose great difficulties. If parameters, however, are tuned at a specific position, parameters variations due to position dependent dynamics are not taken into account in the design methods described above and the resulting controllers are not robust for these issues. The structure of the controller however is relatively simple, which may be an advantage if linear parameter varying (LPV) controllers are considered.

3.2.3 Typical Properties Inertia feedforward only resembles the inverse of the rigid body mode(s) of the system • P (z). Snap feedforward adds a term to this, approximating the inverse of the low fre- quent behavior of the flexible modes. The resulting feedforward controller approximates the inverse of a fourth order system, although the original system may be of much higher order.

The approximations made in the theory of snap feedforward are based on the assumption • that the natural frequencies of the plant are much higher than the spectral content of the reference profile. This assumption is not valid in BRB systems and therefore snap feedforward might not lead to good results in BRB systems.

Online tuning is possible which accounts for possible modeling errors. • Snap feedforward is possible in both SISO and MIMO systems. • 3.3 Inversion Based Feedforward Control

3.3.1 Description In case of minimum phase systems the inverse system as discussed in Chapter2 would yield perfect tracking if a perfect model was available. However, in case of non-minimum phase systems these system inversion techniques will result in an unstable feedforward filter. Here non-causal stable-inversion techniques can be used to design a feedforward controller. The Zero Phase Error Tracking Algorithm for Digital Control (Tomizuka, 1987) has been used as a basis for many feedforward controllers in the last twenty years. More recently, in Zou(2009); Zou and Devasia(1999) preview control has been successfully applied. The algorithm shows strong resemblance with the technique used in, e.g., Hunt et al.(1996, 1998); Ramakrishna et al.(2001) and essentially aims at computing a u(k) and x(k) which satisfy Equation 3.7 such that y(k) = yd(k) for all k ( , ). A summary of the algorithm used in Zou and Devasia(1999) will be presented here∈ −∞ in discrete∞ time. Consider a linear system described by:

x(k + 1) = Ax(k) + Bu(k) (3.7) y(k) = Cx(k) + Du(k)

p n with u(k), y(k) R (i.e., the system is square) and x(k) R . Define the relative degree ∈ T ∈ vector of the linear system 3.7 as r := [r1, r2, . . . , rp] , then :

r z y(k) = AX x(k) + Byu(k) (3.8)

24 3.3. INVERSION BASED FEEDFORWARD CONTROL where r  T z y := y1(k + r1) y2(k + r2) . . . yp(k + rn)  r   r −1  C1A 1 C1A 1 B r r −1  C2A 2   C2A 2 B      Ax :=  .  ; By :=  .  ;  .   .  rp rp−1 CpA CpA B From Equation 3.8 the following feedforward law can be chosen:

−1 r uff (k) = B (z yd(k) Axx(k)) (3.9) y − Now find a transformation of the coordinates such that  ξ(k)  = T x(k) (3.10) η(k)

where ξ(k) consists of the output y(k) and its time shifts:  T ξ(k) := y1(k) y1(k + 1) . . . y1(k + r1 1) . . . yp(k) yp(k + 1) . . . yp(k + rp 1) − − The system of Equation 3.7 can then be written as:

 ξ(k + 1)   Aˆ Aˆ   ξ(k)   Bˆ  = 1 2 + 1 u(k) (3.11) η(k + 1) Aˆ3 Aˆ4 η(k) Bˆ2

where Aˆ = T AT −1 and Bˆ = TB. Since ξ(k) is known, substituting Equation 3.9 into 3.11 results in: η(k + 1) = Aˆηη(k) + BˆηYd(k) (3.12) where   −1 Aξ Aη := AxT −1 Aˆη := Aˆ4 Bˆ2B Aη − y h −1 −1 i Bˆη := Bˆ2B (Aˆ3 Bˆ2B Aξ) y − y  r  z yd(k) Yd(k) := ξd(k) Now, another coordinate transformation is required to decouple the system 3.12 into a stable subsystem (σs) and an unstable subsystem (σu):         σs(k + 1) A˜s 0 σs(k) B˜s = + Yd(k) (3.13) σu(k + 1) 0 A˜u σu(k) B˜u where  σ (k)  σ(k) := s = Uη(k) σu(k) The solution to the stable internal dynamics is:

k ˜k X ˜i ˜ σs(k) = As σ(0) + AsBsYd(k 1 i) (3.14) − − i=0

25 CHAPTER 3. APPROACHES TO FEEDFORWARD CONTROL

The solution to the unstable internal dynamics can be rewritten as:

∞ ˜−∞ X ˜−i ˜ σu(k) = Au σ( ) Au BuYd(i 1) (3.15) ∞ − − i=k The total feedforward control law can now be written as:

−1  r  uff (k) = B z yd(k) Aξξd(k) AηUˆsσs(k) AηUˆuσu(k) (3.16) y − − −

This solution is non-causal: in order to compute σu(k) the inputs on the interval [k, ) have to be known. Note that preview control as described in this section is not similar to∞ a non- proper feedforward filter. Where in the latter case a finite number of preview samples is required for implementation, preview control would ideally have an infinite number of preview steps. In Zou and Devasia(1999) it is shown that the error, caused by taking a finite interval [k, k + kprTs], can be made arbitrarily small by taking kpr sufficiently large. In Zou(2009) the optimal solution for a given preview time is given, minimizing a cost function that consists of the tracking error resulting from the approximation of the infinite preview interval and from the required control input.

3.3.2 Uncertainties and Modeling Errors Several of the feedforward design methods depend to some extent on inverting a model of the plant. This model, however, is in general subject to modeling uncertainties which can have a major influence on tracking performance of the feedforward controller. In Devasia(2002) it is discussed whether at all model-based inverse inputs should be used as feedforward under plant uncertainty. With G0(jω) the nominal plant, κG0 (jω) the nominal plant’s condition number:

σ1 κG0 (jω) = σn the conclusions are summarized in Table 3.1.

Table 3.1: Comparison of Tracking Performance with Inverse Feedforward Eˆ(ff,∆)(jω) and without Inverse Feedforward Eˆ(fb,∆)(jω) for Different Uncertainty Size ∆(jω) Size of Uncertainty Comparison of Tracking Performance

G0(jω) For all controllers and any uncertainty ∆(jω) ∆(jω) 2 κ (jω) k k ≤ G0 Eˆ(ff,∆)(jω) Eˆ(fb,∆)(jω) ≤ ˜ kG0(jω)k2 There exists a controller and an uncertainty ∆(jω) such that < ∆(jω) 2 κG (jω) ˆ ˆ 0 k k E(ff,∆)˜ (jω) > E(fb,∆)˜ (jω) For any controller, there exists an uncertainty ∆(ˆ jω) such that G0(jω) 2 < ∆(jω) 2 ˆ ˆ k k k k E(ff,∆)ˆ (jω) > E(fb,∆)ˆ (jω)

3.3.3 Typical Properties A preview feedforward controller is the inverse of the system model. Approximations • are made in the unstable dynamics that are not known beforehand: the exact inverse

26 3.4. H2/H∞ FEEDFORWARD

would require a prediction on the interval [k, ), where only a finite preview time is used. If the system does not contain non-minimum∞ phase zeros, an exact inverse of the system model can be used.

The error between the exact-solution to the unstable subsystem and the approximated • solution

eσ = σu(t) σ¯u(t) (3.17) u − can be made arbitrarily small by having a large enough preview time. As a result the output tracking error can also be made arbitrarily small.

The amount of preview time required depends to a large extent on the presence of non- • minimum phase zeros. As the distance to the unit circle decreases, the preview time needed for accurate tracking increases. In case the system is non-hyperbolic, i.e., one or more zeros are located exactly on the unit circle, this method is not directly applicable. In Devasia(1997) it is proposed to perturb the dynamics of a non-hyperbolic inverse system in order to remove the non-hyperbolicity, resulting in a reduction of required pre- actuation time but also in a loss of precision of output tracking. Therefore a trade-off has to be made between pre-actuation time and tracking error.

Using the optimal preview-based inversion approach (Zou, 2009) yields better tracking • than the original solution (Zou and Devasia, 1999) for a given preview time.

A preview-based solution explicitly dealing with modeling uncertainties is not yet avail- • able. This may be a disadvantage, since MIL tuning (Section 3.6) also seems difficult.

The stable inversion technique is applicable for both SISO and MIMO systems. •

3.4 2/ Feedforward H H∞ 3.4.1 Description

w z G

u y

K

Figure 3.3: Generalized Plant control setup

The common 2DOF control setup as shown in Figure 1.1 is in practice often transformed into the generalized plant setup of Figure 3.3, which has as major advantages the greater flexibility and the fact that the controlled outputs and measured outputs need not be the same (Skogestad and Postlethwaite, 2005). Using this configuration, the controller design problem is defined as:

27 CHAPTER 3. APPROACHES TO FEEDFORWARD CONTROL

Definition 3.2 Design a controller K, which, based on the information in the sensed outputs y, generates a control signal u which counteracts the influence of the exogenous inputs w on the exogenous outputs z, thereby minimizing the closed-loop norm from w to z.

Note that almost any linear control problem can be formulated using the generalized plant setup. The norm that is minimized is usually the 2 or the ∞ norm: H H

The 2 norm is defined as: • H v u Z ∞ u 1 H  N(s) 2 := u tr N(jω) N(jω) dω (3.18) k k t2π −∞ | {z } 2 P 2 kN(jω)kF = ij |Nij (jω)|

3 where N(s) is the linear fractional transformation N(s) = Fl(G, K), which is the average power of the output of the ’average frequency and average direction’. As a stochastic interpretation, by minimizing the 2 norm the output power and thus the H root-mean-square (rms) value of z(t) due to unit intensity white noise input w are minimized.

The ∞ norm is the peak value of the largest singular value over frequency: • H

N(s) ∞ := max σ¯ (N(jω)) (3.19) k k ω

which is the magnitude of N(s) at ’the worst frequency in the worst direction’.

In case of feedforward, the ∞ control design problem can be defined as the model matching problem as displayed in FigureH 3.4, although other configurations are possible. In this case, the generalized plant is:

 z   0 W  1 1  w   z2  =  W2Wref V W2P  (3.20) − u y V 0

If Wref is designed to equal 1 along a certain frequency range, the solution K for the ∞ H problem is a stable approximation of the plant inverse P −1, influenced by the various weighting filters. The ∞ optimization problem essentially is a trade-off across the entire frequency axis. This oftenH results in a low frequent gain of the feedforward controller that slightly differs from the optimal value, i.e., the gain when plain inertia feedforward would be used. This issue can be addressed a posteriori by multiplying the feedforward controller by:

−1 −1 κ = P˜ (j 2πf0) K˜ (j 2πf0) (3.21) | · | · | · | where κ is also called the gain repair factor (Van de Wal, 2001).

3 The lower fractional transformation Fl(G, K) is defined as the transfer function N from w to z resulting from wrapping (positive) feedback K around the lower part of G

28 3.4. H2/H∞ FEEDFORWARD

G

z1 W1

w y u + z2 V K P W2 −

Wref

Figure 3.4: Generalized plant setup for feedforward control design

3.4.2 Uncertainties and Modeling Errors

In 2/ ∞ control it is possible to explicitly take the uncertainty into account. The generalized plantH configurationH then also contains an uncertainty model. A set of uncertain plants can, e.g., be described by a multiplicative uncertainty:

P∆(jω) = P (jω)(I + ∆(jω)) ω R ∆(jω) ∆c (3.22) ∀ ∈ ∀ ∈ but also other structured and unstructured uncertainty models are possible (Skogestad and Postlethwaite, 2005). In case of a multiplicative input uncertainty, the plant P in Figure 3.4 is replaced by P∆ in Figure 3.6, where Wu represents an uncertainty weighting filter. In these figures, ∆ is matrix that includes all possible perturbations of the nominal plant. It is usually normalized in such a way that: ∆ ∞ 1. As a result, Equation 3.20 extends to: k k ≤     z∆ 0 0 Wu   w∆  z1   0 0 W1    =    w  (3.23)  z2   W2P W2Wref V W2P  − u y 0 V 0

w∆ z∆ P∆ w z G z∆ w∆ Wu ∆ u y + + P K

Figure 3.5: Generalized plant control setup Figure 3.6: Uncertain plant with multiplicative with uncertainties input uncertainty

29 CHAPTER 3. APPROACHES TO FEEDFORWARD CONTROL

Controller synthesis still is designing a controller K that minimizes the closed loop norm from w to z. In practice the obtained ∆ is often a block-diagonal matrix, and this property can be used in the controller synthesis. For this purpose the structured singular value µ is introduced, but this is beyond the scope of this survey and the reader is referred to Skogestad and Postlethwaite(2005) for more information regarding this topic.

3.4.3 Typical Properties Norm-based feedforward controllers approximate the inverse system to a certain extent, • but some interesting differences appear: RHP zeros would in an exact inverse become unstable RHP poles but in ∞ control these are approximated by LHP poles, therefore always resulting in a stableH controller. Next, controller roll-off is present. This means, e.g., that a 2 slope of the system for ω is not inverted to a +2 slope of the feedforward− controller. In general the model-based→ ∞ feedforward controller design is a tradeoff over the entire frequency range, resulting in an approximate of the inverse that may not be accurate at every frequency. Especially an error in the low-frequent gain severely deteriorates tracking performance.

Both SISO and MIMO feedforward controllers can be designed, thus accounting for • interaction. A drawback however is that off-diagonal entries might not be accurate enough, leading to undesired interaction (Van de Wal, 2001).

Using the general plant setup of 3.4.2 plant uncertainties, modeling errors and to some • extent position dependent dynamics can be taken into account explicitly. Practice how- ever has shown that tracking might still be more accurate using a nominal feedforward controller design and using the feedback controller to account for uncertainties.

In Sato(2003, 2008) the model matching generalized plant setup (Figure 3.4) is used to • calculate inverse systems for LPV systems. The result of the algorithms presented can be a Gain-Scheduled Inverse System (GSIS), which is shown to outperform a LTI FF controller synthesized by the regular robust feedforward controller design as discussed in this section.

The order of the controller equals the order of the generalized plant, i.e., the order of • the system plus the order of the weighting filters. If required, reduction techniques can be applied. However, due to the structure of the controller there is no straightforward way for time-domain tuning.

Model-based feedforward controllers can be designed to be setpoint independent, but it • is also possible to choose weighting filters based on a specific (class of) setpoint(s).

3.5 Feedforward Controller Design Based on Basis Functions

3.5.1 Description Another approach to design a feedforward controller is to use a (linear) combination of impulse responses as a feedforward signal. Examples are finite impulse response (FIR), AutoRegressive with eXternal input (ARX) model structures and Laguerre polynomials (Van der Meulen et al.,

30 3.5. FEEDFORWARD CONTROLLER DESIGN BASED ON BASIS FUNCTIONS

2008). To illustrate this the Feedforward Design method with Time domain Constraints (FDTC) (De Gelder, 2003b; De Gelder et al., 2006) is presented below. FDTC is a technology which minimizes time domain constraints, such as:

minimize the peak value of the servo error signal for a certain time interval [ts, te] = • [ksh, keh], 0 ks < ke N, being a subset of the whole time interval of the reference ≤ ≤ trajectory [0, Nh]. The scaled peak value is defined as:

e peak,ks,ke := min γ (3.24) k k −γw≤e(k)≤γw, ∀k∈N, ks≤k≤ke

n where w R is the maximum allowed error. The minimal finite peak-norm feedforward control design∈ problem is then formulated as:

min e peak,ks,ke (3.25) Kff ∈RH∞ k k

minimize the settling time of the system. This can be done by solving the optimization • problem above. If any of the amplitude bounds are violated, ks has to be increased, otherwise it can be decreased. The minimum settling time ts = k + sh can then be found using bisection.

bound the amplitude of the control signal uff • The optimal feedforward controller can be computed out of the set:

( M ) X n×n M := Kff Kff (z) = Finit(z) + fi(z)Ci,Ci R (3.26) K | ∈ i=1

n×n where Finit is an initial feedforward controller, Ci R is the ith matrix-valued feedforward ∈ coefficient and fi(z) is a SISO transfer function. The basis functions fi(z) have to be chosen such that they span the space of real-rational transfer function matrices ∞. In De Gelder et al.(2006) Laguerre functions (Fu and Dumont, 1993) are used as basisRH functions, which are a series connection of first order transfer functions that all have the same pole λ:

( 1 for i = 1 λ √ i−1 fi (z) := 1−λ2  1−λz  (3.27) with λ R λ < 1 for i = 2, 3,...,M z−λ z−λ ∈ | | The outcome of the optimization problem is not dependent on pole location λ but the con- vergence rate is, which is why λ is chosen based on this. Selecting a suitable location for λ is described in detail in Fu and Dumont(1993). Other potential basis functions are Kautz functions (De Gelder, 2003b) or orthonormal basis functions (Heuberger et al., 2001).

3.5.2 Uncertainties and Modeling Errors The feedforward controller as described above is specifically designed for a nominal plant and a given setpoint trajectory. The design method can be extended to account for plant uncertainty as well as uncertainty in the reference profile. In the following a method is discussed which

31 CHAPTER 3. APPROACHES TO FEEDFORWARD CONTROL accounts for an uncertainty set ∆. For uncertainty in the reference profile the reader is referred to De Gelder et al.(2006). The dynamic uncertainty of many dynamical systems can be described by using an additive uncertainty, resulting in the uncertain plant:

P (∆)(q) = Pnom(q) + W (q)∆(q) (3.28) where W is the weighting filter that represents the size of the uncertainty, ∆(q) is element of the set:  pu×mu ∆ = ∆ : ∆ ∞ 1 (3.29) ∈ RH∞ k k ≤ where pu and mu are the number of outputs and inputs of the uncertainty block. In the sequel it is assumed that the relative variations of the sensitivity as a result op plant variations are small, i.e.: −1 (S(∆) Snom)S 1 1 ∆ ∆ (3.30) k − nomk  ∀ ∈ with Snom the nominal sensitivity and 1 the 1 norm of the discrete time transfer function. The robust control feedforward problemk·k then states:L min γ (3.31) γw≤e(δ)(k)≤γw, ∀k∈N, ks≤k≤ke, δ∈∆ which can be solved using Linear Matrix Inequalities (LMI’s).

3.5.3 Typical Properties Using the nominal FDTC method a feedforward controller is synthesized for a given • reference trajectory. This can be extended to a set of trajectories but performance is only guaranteed for a finite number of setpoint profiles. Compared to inertia feedforward a significant increase in performance can be obtained. • Synthesizing a FDTC controller proves to be a numerically difficult task. For example, • robust design with a bound on the control signal or a 6 6 MIMO design caused numerical difficulties through the presence of a huge number of× constraints and the conditioning of the linear programming problem.

3.6 Machine-In-the-Loop Control Optimization

A final class of feedforward design methods is Machine-In-the-Loop (MIL) Control Optimiza- tion. This method presents the feedforward design problem as an optimization problem, in which the objective function is evaluated and optimized on the actual system. In other words, the feedforward controller is automatically tuned online. A key property of the MIL con- trol optimization concept is that the evaluation and optimization of the objective function take place on the actual plant. Practical examples of MIL control optimization are the Self- Tuning Regulator (STR), Model Reference Adaptive Control (MRAC) (Slotine and Li, 1991), Iterative Learning Control (ILC) (Bristow et al., 2006) and Iterative Feedback Tuning (IFT) (Van der Meulen, 2005b). A complete overview of these methods is presented in Van der Meulen(2005a). The main advantage of MIL Control Optimization is that controller parameters are tuned exactly in the time domain, which is important since a small misfit can severely deteriorate tracking performance, as will be shown in this example:

32 3.6. MACHINE-IN-THE-LOOP CONTROL OPTIMIZATION

Example 3.1 Assume one wants to move a rigid body with a mass of m = 10 kg with a maximum acceleration of a = 100 m/s2. According to Newton’s law, the required force is F = ma = 1 kN. If the inertia feedforward gain kff is accurate up to 99.8 %, the resulting error in force of 2 N has to be compensated by the feedback controller. Now assume a proportional feedback controller with a bandwidth of BW = 100 Hz = 628 rad/s. This requires a feedback 2 6 6 gain kfb = ms s=628i = 3.9 10 . This yields a maximum error of e = 2/(3.9 10 ) − | × × ≈ 500 nm. This shows that a parameter mismatch of 0.2 % leads to a tracking error which is approximately a factor 100 larger than desirable. In the next section a few well-known MIL concepts will be presented, followed by a practical application of MIL.

3.6.1 Evaluation of MIL Concepts A Self-Tuning-Regulator can be viewed as a controller consisting of two loops (Figure 3.7): the inner loop is an ordinary feedback loop and contains the process and a 2DOF feedback controller. The second, outer loop basically adjusts the parameters of the controller. In order to do so one part of the outer loop is a parameter estimator, which updates the parameters of the process model, and the other part resembles the control design problem, which calculates new controller parameters using the updated process parameters. Therefore, the system can be thought of as an automation of process modeling and control design.

Self-Tuning Regulator Specification Process Parameters

Controller Design Estimation

Controller Parameters Reference Output Controller Process Input

Figure 3.7: Block diagram of a Self-Tuning Regulator

In MRAC a reference model specifies the ideal output ym from an external command signal (Figure 3.8). An adjustment mechanism is subsequently used to update the controller param- eters such that the error (the difference between the actual output y and ym) tends to zero. Contrary to STR, process parameters are not calculated explicitly, although the structure of the process is assumed to be known. Parameters in, e.g., MRAC are adapted by minimizing a criterion function. One of the problems that arises in this case is that in order to find its minimum, the gradient of the criterion function with respect to the controller parameters is required. Iterative Feedback Tuning aims to find an unbiased estimate of the gradient from signals obtained from closed- loop experiments with the most recent controller operating on the system. This way the need for an accurate process and disturbance model, which are time-consuming and expensive to acquire, is discarded.

33 CHAPTER 3. APPROACHES TO FEEDFORWARD CONTROL

ym Model

Controller Parameters Adjustment Mechanism

uc u y Controller Process

Figure 3.8: Block diagram of a Model Reference Adaptive Controller

Iterative Learning Control updates the feedforward control signal of a system executing a repeating task iteratively in such a way that the tracking error decreases. This signal is only useful for one particular setpoint trajectory. The classic approach to ILC is based on frequency domain design, whereas nowadays ILC is often implemented in the lifted system representation (Section 2.6). The Toeplitz matrices are determined only once and contrary to STR and MRAC changes in the motion system during operation are not taken into account. In a glance, STR and MRAC seem most suited, because these are adapted continuously. Model reference adaptive control, however, is mainly developed for feedback control. In iterative feedback tuning only measurement data is used to update the control signal. Iterative learning control on the other hand uses a Toeplitz matrix that is determined only once, hence no direct adaption to changing system dynamics is possible, even when a learning iteration is executed. The control signal, however, is updated continuously. In terms of the tracking performance on varying setpoints of the various controllers the fact that STR and MRAC update parameters continuously again is an advantage, since these can operate on any reference trajectory. In IFT the controller is optimized for a particular trajectory and may therefore prove to be less accurate on other trajectories. Iterative learning control effectively does not tune a controller but a control signal. In case of a change in setpoint, the signal has to be ’learned’ all over again. A downside of the self-tuning regulator is the need for a model structure and corresponding parameterization for a process model, which is difficult to obtain. ILC needs a Toeplitz matrix, but this is much easier to acquire. Using MRAC or IFT, no model knowledge is required. Except for STR, which is a model-based control design that updates the controller using recursively identified models of the system, all concepts are based on optimization techniques. In the other three methods specific choices have been made for the definition of, and solution to, the optimization problem, but because common mathematical tools and system theoretical building blocks are used they can be viewed as part of a general approach of control tuning problems. If MIL is to be used in practice, several design choices have to be made:

The first step is the selection of a control element that is selected in such a way that • it is able to compensate deterministic disturbances at the source, e.g., a model-based feedforward controller and compensation tables for cogging.

Subsequently a controller structure has to be chosen, which essentially is the parame- • 34 3.6. MACHINE-IN-THE-LOOP CONTROL OPTIMIZATION

terization of the control element. The next choice to be made is a convex function that serves as the objective function, • which has to be representative for the behavior of the plant. Finally an optimization algorithm has to be selected that minimizes the previously de- • signed objective function. If optimization is done before actual operation, like ILC and IFT, the concept boils down to learning control. If the optimization is continued during optimization the control strategy becomes closely related to adaptive control. In the next section an example will be discussed in which Machine-In-the-Loop optimization is applied.

3.6.2 A MIL Example In Van der Meulen et al.(2008), a fixed structure feedforward controller is designed and tested on the y motion of a wafer stage. The control element here is the feedforward controller in a standard 2DOF control architecture. The controller structure consists of acceleration feedforward and snap feedforward (see also Section 3.2. Define: ξl =  sl al  (3.32) where s denotes the snap and a the acceleration of the reference profile. Furthermore, the superscript l denotes the iteration number. The controller parameters are the snap feedforward gain kfs and the acceleration feedforward gain kfa: l  l l  θ = kfs kfa (3.33) Next, the optimization problem min V (θl) (3.34) θl with T V (θl) = el (θl)el(θl) (3.35) where e is the tracking error defined by e = r y has to be solved. Then, with the process − sensitivity Toeplitz matrix ul →yl the matrix: T ff −1 l  lT T l lT T L = ξ ul →yl ul →yl ξ ξ ul →yl (3.36) T ff T ff T ff can be defined to use in the optimization algorithm: θl+1 = θl + αlLlel(θl) (3.37) l l where α is the step length. After a number of iterations kfs and kfa will have approached their optimal values.

3.6.3 Uncertainties and Modeling Errors Because the controller parameters are tuned using the actual system instead of a system model modeling errors are not of interest. However, changing and possibly position-dependent dynamics are. The method presented above can be implemented both adaptive and non- adaptive. After experiments using the wafer stage it was concluded that the adaptive algorithm slightly outperformed the nonadaptive one.

35 CHAPTER 3. APPROACHES TO FEEDFORWARD CONTROL

3.6.4 Immeasurable Performance Variables

As is briefly mentioned in the introduction, in BRB systems the performance variable can hardly ever be measured directly and there might exist a substantial difference between the actual value z and the measured value y. This is graphically depicted in Figure 3.9.

uff Kff z Pz

r e ufb + y + + Kfb Py −

Figure 3.9: 2 Degree-Of-Freedom control setup with immeasurable performance variables

In literature, little is known about the y = z problem in case of feedforward, which is also called inferential control. It can be argued6 that the feedforward controller should simply be designed for the actual performance variable, i.e., Pz in Figure 3.9, but the fact that y = z 6 directly limits the application of (MIL) tuning. Although this y = z might be an even bigger issue in the feedback controller design, it should also be accounted6 for in feedforward control design since in practice parameter optimization of the feedforward controller has proven to be of the utmost importance to maximize tracking performance.

3.6.5 Typical Properties

A learning experiment is required before operation. • Because the controller is automatically tuned using the actual plant there is no need for • an accurate model.

The fixed structure of the controller makes it possible to use the controller for a class of • motion profiles.

In order to deal with BRB systems a higher order controller structure is probably nec- • essary. However, this does not require any changes to the algorithm itself.

Immeasurable performance variables limit the direct use of MIL optimization. •

3.7 Summary

In this section, the properties of the various feedforward control strategies will be summarized according to the criteria as mentioned in Section 3.1, being (nominal) tracking performance, the ability to handle model uncertainties, and the way in which the feedforward strategy handles different reference trajectories.

36 3.7. SUMMARY

3.7.1 Tracking Performance The least sophisticated feedforward controller designs are the inertia and snap feedforward controllers. Although inertia feedforward has been widely used in industry, tracking perfor- mance can be drastically improved by taking the low frequency dynamics of flexible modes into account and thus using snap feedforward. Preview control essentially is a way of implementing a system inverse as a feedforward controller. In case of a minimum phase system, a system in- verse would yield perfect tracking. However, in case of a non-minimum phase system a system inverse is unstable and non-causal stable inversion techniques have to be used. The accuracy of, e.g., preview control depends on the amount of available preview time. In case of hyperbolic systems, i.e., systems with zeros on the unit circle (or on the imaginary axis in continuous time), the required preview time is infinite. ∞ controller design strategies approximate the inverse system by a stable, minimum phase feedforwardH filter. Tracking performance therefore in general is expected to be better than using inertia or snap feedforward.

3.7.2 Model Uncertainties Inertia and snap feedforward cannot take model uncertainties explicitly into account. However, their transparent structure enables the possibility to either manually or automatically tune the time domain performance. This is much more difficult using inversion based or ∞ techniques, although in the latter case it is possible to take model uncertainties intoH account in the initial design. The drawback of this method, however, is that a controller may become too conservative, leading to a degradation in tracking performance. The only controller synthesis method explicitly dealing with varying parameters is based on ∞ technique, but the resulting gain-scheduling in general might also be applied to other FF controllers.H This seems most straightforward for FF controllers which can be easily parame- terized.

3.7.3 Reference Trajectories

Inertia, snap, inversion-based and ∞ feedforward filters are in general not designed for spe- H cific trajectories. Only in case of ∞ controllers specific properties of reference trajectories can be taken into account by choosingH specific weighting filters. The FDTC method as described in Section 3.5 is for a (class of) specific reference trajectory (trajectories), and is therefore less suited for the intended application. Machine-In-the-Loop tuning is a very broad term. In case of ILC, the feedforward signal design is for a specific setpoint. On the other hand, MIL tuning can also be used to automatically tune other feedforward controllers, e.g., inertia and snap feedforward, thereby improving tracking performance and possibly dealing with model uncertainties. This shows why a feedforward filter with a transparent structure is desired, so that MIL tuning can be used to optimize performance.

37 CHAPTER 3. APPROACHES TO FEEDFORWARD CONTROL

38 Chapter 4

Digital Implementation

In the previous chapter feedforward control designs in discrete time are discussed. In practice, however, controllers are often designed in continuous time and subsequently implemented in a digital computer by a discrete time approximate. There are several ways to approximate the continuous controller, which will be discussed in Section 4.1. Thereafter an example is discussed to illustrate that this approximation does not necessarily lead to satisfactory results, even in case of a relatively simple system. Therefore, it is argued that (feedforward) controllers are designed in discrete time for the entire sampled data system, as discussed in Section 1.4.

4.1 Digital Implementation of Feedforward Controllers

4.1.1 Design of Discrete Equivalents via Numerical Integration

The first way in which a continuous controller can be approximated is by numerical integration as is shown in Franklin et al.(1998), where three different discrete equivalents are described. Consider the differential equation: y˙ = ay + bu (4.1) − In integral form this can be written as:

Z t y(t) = [ ay(τ) + bu(τ)] dτ (4.2a) 0 − Z kTs−Ts Z kTs y(kTs) = [ ay + bu] dτ + [ ay + bu] dτ (4.2b) 0 − kTs−Ts −  area of ay + bu = y(kTs Ts) + − (4.2c) − over kTs Ts τ < kTs − ≤

(a) Forward rectangular rule (b) Backward rectangular rule (c) Trapezoid rule

Figure 4.1: Three methods of approximating the incremental area term

39 CHAPTER 4. DIGITAL IMPLEMENTATION

In Figure 4.1 three ways have been displayed in which the incremental area of Equation 4.2a can be approximated. This can be used to transform continuous transfer functions into discrete transfer functions, using the following relations:

The forward rectangular rule approximates Equations 4.2a by using the input u(kTs Ts): • −

y(kTs) = y(kTs Ts) + Tsu(kTs Ts) (4.3) − − This can be written as: −1 −1 y(1 z ) = Tsuz (4.4) − Therefore: 1 y(z) Ts = (4.5) s ≈ u(z) z 1 − d and the differential operator dt is approximated by:

z 1 s − (4.6) → Ts

The backward rectangular rule approximates the area by: •

y(kTs) = y(kTs Ts) + Tsu(kTs) (4.7) − In a way similar to the previous item, it can be shown that:

1 y(z) Tsz = (4.8) s ≈ u(z) z 1 − and: z 1 s − (4.9) → Tsz

Finally the trapezoid rule calculated the surface by using both u(kTs) and u(kTs Ts): • −

Ts Ts y(kTs) = y(kTs Ts) + u(kTs) + u(kTs Ts) (4.10) − 2 2 − This results in: 1 y(z) Ts z + 1 = (4.11) s ≈ u(z) 2 z 1 − and: 2 z 1 s − (4.12) → Ts z + 1 The latter method is also known as Tustin’s method, named after a British engineer working on nonlinear systems. The consequences of the various methods will be discussed in Section 4.2.

40 4.2. CONSEQUENCES FOR INERTIA FEEDFORWARD

4.1.2 Alternative methods Next to numerical integration there exist other methods in order to obtain a discrete approx- imation of a continuous controller. A very direct approach to get a discrete equivalent of a continuous controller is to map the poles and zeros of the controller according to:

z = esTs (4.13)

−aTs This means that a pole of P (s) at s = a is mapped to a pole of Pd(z) at z = e . The − same holds for finite zeros, with the exception that zeros at s = get mapped to z = 1. Besides these conventional methods there can be found more advanced∞ methods in literature,− e.g., in Wang et al.(2001). In this reference, it is proposed to match the frequency response of Pd(z) to that of Pc(s) by minimizing the standard loss function:

M X jTsωi  2 min L := min Hd e Hc (jωi) (4.14) Hd(z) Hd(z) | − | i=1

4.2 Consequences for Inertia Feedforward

To illustrate the difference resulting from the various discretization methods a simple example of a moving mass with m = 1 at a sample frequency of Ts = 1 will be discussed. The comparison of various feedforward controllers in Chapter5 will be made in the lifted domain and therefore a similar approach will be used here.

4.2.1 A moving mass The transfer function of a moving mass (m = 1) is:

Y (s) 1 = (4.15) U(s) s2

If a ZOH and a sampler are added, the resulting discrete transfer function is given by:

Y (z) 1 z + 1 = 2 2 (4.16) U(z) z2 2z + 1 − This transfer function has poles at z = 1, which could be expected as the poles of the con- tinuous transfer function are located at s = 0. Note however that Equation 4.15 does not contain any zeros, where its ZOH equivalent has a zero at z = 1 which is also exactly at the unit circle. This simple example already shows how sampling− and ZOH can introduce non-minimum phase behavior in the system. Using N = 5, the impulse response matrix J can be constructed by:       yk+1 0.5 0 0 0 0 uk  yk+2   1.5 0.5 0 0 0   uk+1        y¯ =  yk+3  = Ju¯ =  2.5 1.5 0.5 0 0   uk+2  (4.17)        yk+4   3.5 2.5 1.5 0.5 0   uk+3  yk+5 4.5 3.5 2.5 1.5 0.5 uk+4

41 CHAPTER 4. DIGITAL IMPLEMENTATION

4.2.2 Forward Numerical Integration The inertia feedforward controller corresponding to Equation 4.15 is trivially given by: U(s) = s2 (4.18) R(s) Applying the forward rule to Equation 4.18 yields:

U(z) z 12 z2 2z + 1 = − = − (4.19) R(z) 1 1 which means: uk = rk 2rk+1 + rk+2 (4.20) − which is a anti-causal expression. If the reference signal r¯ is defined on the interval k [0, 4], the lifted system representation is given by: ∈       u−2 1 0 0 0 0 r0  u−1   2 1 0 0 0   r1     −    u¯ =  u0  = Jˆr¯ =  1 2 1 0 0   r2  (4.21)    −     u1   0 1 2 1 0   r3  − u2 0 0 1 2 1 r4 − meaning that, in order for y to track r, u has to be applied two samples in advance. The resulting is given by:       y−1 0.5 0 0 0 0 r0  y0   0.5 0.5 0 0 0   r1        y¯ =  y1  = JJˆr¯ 0 0.5 0.5 0 0   r2  (4.22)        y2   0 0 0.5 0.5 0   r3  y3 0 0 0 0.5 0.5 r4 Here, it can be seen that y already starts moving before it is supposed to, and furthermore at every subsequent sample y0, . . . , y3 it is exactly between the value of two samples of r.

4.2.3 Backward Numerical Integration The discrete equivalent of s2 using the backward rule is given by:

U(z) z 12 z2 2z + 1 = − = − (4.23) R(z) z z2 which on its turn means: uk+2 = rk 2rk+1 + rk+2 (4.24) − This expression is causal, contrary to Equation 4.18. The resulting lifted system representation is given by:       u0 1 0 0 0 0 r0  u1   2 1 0 0 0   r1     −    u¯ =  u2  = Jˆr¯ =  1 2 1 0 0   r2  (4.25)    −     u3   0 1 2 1 0   r3  − u4 0 0 1 2 1 r4 − 42 4.2. CONSEQUENCES FOR INERTIA FEEDFORWARD where Jˆ is equal to Equation 4.21, but vector u¯ has shifted two samples. As a result       y1 0.5 0 0 0 0 r0  y2   0.5 0.5 0 0 0   r1        y¯ =  y3  = JJˆr¯ 0 0.5 0.5 0 0   r2  (4.26)        y4   0 0 0.5 0.5 0   r3  y4 0 0 0 0.5 0.5 r4

This expression is also the same as for forward numerical integration but shifted two samples. In this case, this is not surprising, since the difference between the feedforward controllers Equations 4.19 and 4.23 is that two poles are added at z = 0, thus only causing a shift. If the controller in Equation 4.19 was to be implemented in practice a similar approach would be used (Section 3.1).

4.2.4 Trapezoid Numerical Integration In case the trapezoid rule is used, the resulting discrete transfer function becomes:

U(z)  z 12 4z2 8z + 4 = 2 − = − (4.27) R(z) z + 1 z2 + 2z + 1 which effectively means:

uk+2 = 2uk+1 uk + 4rk+2 8rk+1 + 4rk (4.28) − − − An important difference with the previous two methods appears in this expression: the current output of the feedforward filter now also depends on the previous outputs. This can be explained by taking a closer look at Equation 4.27. Contrary to the other two methods the trapezoid discrete transfer functions does have poles at z = 0, in this case two poles are present 6 at z = 1. The lifted system representation is: −       u0 4 0 0 0 0 r0  u1   16 4 0 0 0   r1     −    u¯ =  u2  = Jˆr¯ =  32 16 4 0 0   r2  (4.29)    −     u3   48 32 16 4 0   r3  − − u4 64 48 32 16 4 r4 − − As could be expected due to the poles at z = 1 of the transfer function in Equation 4.27, − the elements in the first column are increasing. This results in a JJˆ which does not have any zero elements below the diagonal:       y1 2 0 0 0 0 r0  y2   2 2 0 0 0   r1     −    y¯ =  y3  = JJˆr¯ 2 2 2 0 0   r2  (4.30)    −     y4   2 2 2 2 0   r3  − − y4 2 2 2 2 2 r4 − − This asks for a closer examination. In practice (especially feedback) controllers which have a negative relative degree are put in series with a low-pass filter. In this case it turns out the choice of roll-off frequency determines the location of the poles of the feedforward controller

43 CHAPTER 4. DIGITAL IMPLEMENTATION

Table 4.1: Pole locations of discrete equivalents for various roll-off frequencies froll p p | | 10 Hz 0.8596 0.2594i 0.8979 ± 100 Hz 0.3213 0.6444i 0.7201 − ± 1000 Hz 0.9498 0.1137i 0.9566 − ± 10000 Hz 0.9955 0.0119i 0.9956 − ± and therefore the ’convergence’ of the impulse response. In Table 4.1 the poles are displayed of the discrete feedforward controller resulting from a trapezoidal numerical integration of an inertia feedforward controller with a low-pass filter with various roll-off frequencies and a sampling time of 0.005 s. This shows that if the trapezoidal or Tustin method is for the discretization of the feedforward filter, this should not have a negative relative degree and, if necessary, the roll-off frequency of the low-pass filter should be chosen carefully.

44 Chapter 5

Example

5.1 Introduction

This chapter discusses an example to illustrate the properties of the feedforward control strate- gies discussed previously. The comparison will be made in the lifted domain (see Section 2.6). In the following, J is the impulse response matrix of the system P and Jˆ is the impulse re- sponse matrix of the feedforward controller Kff . The performance of the various feedforward controllers will be assessed according to Figure 5.1. Here, R is a matrix where the columns consist of the elements of possible reference trajectories, uff is the feedforward control signal, y is the system output and E is the matrix of the resulting error.

R uff y E Jˆ J − +

Figure 5.1: Graphical representation of the calculation of ε

This yields the following matrix equation:

  E = I JJˆ R (5.1) −

The resulting criterion function is: ε = tr(ET E) (5.2)

Here it can be easily seen that E and thus ε are equal to zero in case Jˆ = J −1.

5.2 The Flexible Cart System

The system that is used to simulate the various feedforward controllers is displayed in Fig- ure 5.2. It consists of a mass resting on two springs and dampers (not shown in the picture). A force u is applied in horizontal direction at the top of the mass, resulting in a displacement x and a rotation φ of the block. The displacement can be measured at the right bottom (y1) or the right top (y2); the difference between two systems will be discussed below. The dynamics

45 CHAPTER 5. EXAMPLE

l u φ y2 x

y1

k, d k, d

Figure 5.2: Flexible cart system of the system in Figure 5.2 can be described by the following equations: mx¨ = u (5.3a) 1 1 1 Iφ¨ = lu kl2 sin(φ) dl2 sin(φ˙) (5.3b) 2 − 2 − 2 l y1 = x + sin(φ) (5.3c) 2 l y2 = x sin φ (5.3d) − 2 where k and d are the spring and damper constants, m is the mass of the block, and I is the second moment of inertia. The various parameters are given in Table 5.1. Linearizing the

Table 5.1: System parameters Parameter Value Unit m 8 kg I 0.013 kgm2 k 10 kN/m d 10 Ns/m l 0.1 m equations of motion around φ = 0 results in the following transfer functions: y (s) 1 l2 1 (5.4a) P1(s) = = 2 2 1 2 1 2 u(s) ms − 4 Is + 2 dl s + 2 kl y (s) 1 l2 2 (5.4b) P2(s) = = 2 + 2 1 2 1 2 u(s) ms 4 Is + 2 dl s + 2 kl Both systems P1 and P2 have two poles at the origin and poles at s = 1.9 39j. Furthermore, − ± P1 has zeros at s = 81 and s = 81 and is thus non-minimum phase. This is also visible in the − Bode diagram in Figure 5.3, where P1 does not comply with the Bode gain-phase relationship. System P2 has both its zeros in the LHP at s = 0.75 39j and thus is minimum phase. In a  −T ± state-space description with x = x x˙ φ φ˙ , matrices A and B are equal for P1 and P2:  0 1 0 0   0  1  0 0 0 0    A =   ,B =  m  (5.5)  0 0 0 1   0  2 2 0 0 1 kl 1 dl 1 l − 2 I − 2 I 2 I 46 5.3. THE FEEDBACK CONTROLLER

Bode Diagram −40

−60

−80

−100

−120 Magnitude (dB) −140 0 1 2 10 10 10

200

100

0

−100 Phase (deg)

−200 0 1 2 10 10 10 Frequency (Hz)

Figure 5.3: Bode-diagrams of P1 (blue, solid) and P2 (green, dashed)

The difference appears in the C matrices:

 l  C1 = 1 0 2 0 (5.6a)  l  C2 = 1 0 0 (5.6b) − 2 and in both cases D = 0. To assess the entire sampled data systems, the Matlab command c2d is used to obtain the systems including ZOH and sampler. A sample time Ts = 0.005 s is used. This should be sufficient since the poles of the systems appear at ω = 62 rad/s and thus ωTs π.  The resulting discrete time system has two poles at z = 1 and a complex pole pair at z = 0.94 0.30i, where the poles at z = 1 correspond with the rigid body mode and the complex pole± pair can be appointed to the flexible body mode. Furthermore the sampled minimum phase system P2(z) has zeros at z = 0.996 and z = 0.98 0.19i which are all located just − ± inside the unit circle. Non-minimum phase system P1(z) has its zeros at z = 0.982, z = 1.554 − and z = 0.667. The non-minimum phase behavior manifests itself here in the zero outside the unit circle. Note that by adding the ZOH and the sampler the discrete systems have three zeros instead of the two of the continuous time flexible cart systems.

5.3 The Feedback Controller

Since the rigid body mode has two poles at z = 1, a feedback controller is required to stabilize the system. The same controller should be used for both systems for a good comparison. The used controller has a lead-lag filter with a zero at 0.33 Hz and a pole at 3.0 Hz. Furthermore a notch filter is added at 9.84 Hz with a damping factor of 0.1 in the numerator and 0.5 in the denominator. Finally, the static gain of the controller is 100, leading to a bandwidth of 1 Hz. The obtained bandwidth is relatively low to make sure that the effect of the feedforward controller remains clearly visible.

47 CHAPTER 5. EXAMPLE

5.4 Feedforward Controller Design

5.4.1 Inertia Feedforward The transfer functions (Equations 5.4a and 5.4b) are already shown as a rigid body mode and a flexible mode. As discussed in Section 3.2, the mass feedforward controller is then given by: u(z) 1 z2 2z + 1 Kff (z) = = − (5.7) r(z) krb z(z + 1)

2 Ts where krb = 2m . In the lifted domain this can be expressed as:

 1   u  0 0 0  r  0 krb ··· 0  −3 1 0 0   u1  krb krb  r1     4 −3 1 ···     u2  ˆ  0   r2  u¯ = = Jr¯ =  krb krb krb  (5.8)    −4 4 −3 1 ···     u3     r3    krb krb krb krb ···   .  . . . . .  ......

Note that the pole at z = 1 manifests itself in Jˆ where the columns do not converge to zero, but the elements alternate− between 4 and −4 . This might have its effect on the feedforward krb krb signal uff . The size of Jˆ has to be chosen such that it is compatible with R in the error criterion function (Equation 5.1).

5.4.2 Snap Feedforward If a ZOH and sampler are included in the transfer functions (Equations 5.4a and 5.4b), the resulting discrete time transfer function is given by:

krb(z + 1) kflex(z µi) P (z) = 2 + − (5.9) (z 1) (z λi)(z λ¯i) − − − Since the system is SISO there is no need for rigid body decoupling, and:

  ˜ ˆ krb(z + 1) kflex(z µi) krb(z + 1) ˜ P (z) = P (z) = 2 + − = 2 + Pflex (5.10) (z 1) (z λi)(z λ¯i) (z 1) − − − z=1 − Next, the Taylor approximation of P˜−1(z) can be calculated. Using the Matlab Symbolic Math toolbox, it is shown that:

−1 P˜ (z) z=1 = 0 d ˜−1 | dz (P (z)) z=1 = 0 d2 ˜−1 | 1 2 (P (z)) z=1 = dz krb (5.11) 3 | d ˜−1 3 3 (P (z)) z=1 = dz 2krb | − ˜ d4 ˜−1 3 Pflex dz4 (P (z)) z=1 = k 6 k2 | rb − rb The (non-causal) feedforward controller is then given by: ˜ 1 1 2 1 3 3 1 3 Pflex 4 Kff,nc = (z 1) (z 1) + ( 6 2 )(z 1) (5.12) 2 krb − − 6 2krb − 24 krb − krb −

48 5.4. FEEDFORWARD CONTROLLER DESIGN and including four poles at z = 0 to obtain a proper filter, this becomes:

Kff,nc K = (5.13) ff z4 The analytical expression for the lifted system representation is not included here, but some characteristics can be derived from the transfer function. Since the feedforward controller solely possesses zeros at z = 0, the first column of Jˆ is zero after the first five entries, which is an advantage compared to the inertia feedforward controller. A Bode Diagram of the various feedforward controllers is shown in Figure 5.7.

5.4.3 ∞ Feedforward H In Section 3.4 the synthesis of an ∞ feedforward controller is discussed. The generalized H plant setup as shown in Figure 3.4 is used. Systems P1(z) and P2(z) are SISO systems, so no scaling is required. Since the reference trajectory is also not taken into account, filter V is chosen as a unity matrix. Furthermore, in Van de Wal(2001) it is argued that either W2 or Wref is set to identity. The other one should be specified as a low-pass filter. In this case, W2 is set to unity and the reference model is chosen as a second order low-pass filter with its poles at 80 Hz for P1(z) as well as P2(z). Choosing this cut-off frequency below 100Hz ensures that controller roll-off is still present after converting the controller to discrete time. The weighting filter is graphically displayed in Figure 5.4.

Bode Diagram 10 0 −10 −20 −30

Magnitude (dB) −40 −50 0 1 2 3 10 10 10 10

0

−50

−100

Phase (deg) −150

−200 0 1 2 3 10 10 10 10 Frequency (Hz)

Figure 5.4: Bode Diagram of the reference model used in the generalized plant setup

According to Van de Wal(2001), W1 is mainly introduced so that the ∞ optimization can be executed using the Algebraic Riccati Equation (ARE)1 approachH and should therefore be a small positive constant. In this example high controller output is not yet taken into account, hence W1 can be tuned such that the tracking performance is optimized. Contrary −6 to Wref , different values for P1(z) and P2(z) have been used for W1, namely 5 10 for −11 × P1(z) and 1 10 forP2(z). This implies that synthesis of the feedforward controller for the × non-minimum phase plant P1(z) is more difficult than for the minimum phase plant P2(z).

1 There exists a number of different methods to solve the H∞ problem. The ARE approach (Doyle et al., 1989) is the default method used by Matlab

49 CHAPTER 5. EXAMPLE

Controller gain repair is applied using Equation 3.21. It appears that the gain repair factor κ1 for P1(z) is much higher than κ2, being κ1 = 439 versus κ2 = 1.00. It can be expected that this unrealistically high value for κ1 significantly deteriorates tracking performance.

Remark The ∞ feedforward controllers have been synthesized using the hinfsyn command H of the Matlab Robust Control toolbox and are thus synthesized in continuous time. The results have subsequently been converted to discrete time using the bilinear Tustin method. An improvement in performance may be possible using a discrete synthesis method.

5.5 Nominal Performance

As mentioned before, the main means for assessing the performance of the various feedforward controllers is the criterion defined in Equations 5.1 and 5.2. In these equations, J denotes the impulse response matrix of the flexible cart including ZOH and sampler, Jˆ is the impulse response matrix of the various feedforward controllers and R is a matrix containing various reference trajectories. These are fourth order point to point moves calculated according to the algorithm described in Lambrechts et al.(2005). These trajectories and their power spectral densities (PSD) are displayed in Figures 5.5 and 5.6.

Reference trajectories 1.4 Welch Power Spectral Density Estimate 2 10

1.2 0 10

1 −2 10

0.8 −4 10 [m] ref

y 0.6 −6 10

0.4 −8 10 Power/frequency (dB/Hz) 0.2 −10 10

0 −12 0 2 4 6 8 10 10 0 1 2 Time [s] 10 10 10 Frequency (Hz) Figure 5.5: The reference trajectories making Figure 5.6: PSD of reference trajectories R

In Figure 5.7 the Bode diagrams of the various feedforward controllers are plotted, together with the exact plant inverse. As could be expected, all feedforward controllers have a +2 slope at low frequencies which coincides with the slope of the exact system inverse. The inertia feedforward controller for P1(z) does not take the resonance into account and therefore a rather severe deviation from the system inverse is present around the resonance frequency. At high frequencies, however, the system inverse is approached fairly accurately. Surprisingly, the zeros of the snap feedforward controller for P1(z) are located before 8 Hz, where the poles of the system are located at 9.9 Hz. Above this frequency the snap feedforward controller does not approximate the inverse system very well. The ∞ feedforward controller for P1(z) approximates the system inverse up to the resonance frequency,H but at higher frequencies the deviation increases.

50 5.5. NOMINAL PERFORMANCE

Inertia FF for the minimum phase plant P2(z) shows similar behavior as for the non-minimum phase plant: a fairly good approximation of the inverse system at both low and high frequencies but a large discrepancy around the resonance and anti-resonance frequencies. Again, the snap feedforward controller shows only a good approximation at low frequencies. As for the ∞ controller: this approximates the inverse system very well. Even the (anti-) resonance is H approximated accurately by the controller. Only at very high frequencies, i.e., above 80 Hz, a significant difference occurs.

Bode Diagram Bode Diagram 200 200

150 150

100 100

50 50 Magnitude (dB) Magnitude (dB) 0 0 0 1 2 0 1 2 10 10 10 10 10 10

200 200

100 100

0 0

−100 −100 Phase (deg) Phase (deg)

−200 −200 0 1 2 0 1 2 10 10 10 10 10 10 Frequency (Hz) Frequency (Hz)

(a) P1(z) (b) P2(z)

Figure 5.7: Bode Diagrams of the feedforward controllers: exact system inverse (black, solid), inertia FF (blue, dotted), snap FF (green, dash-dotted) and ∞ FF (red, dashed) H

Remark In Prempain and Postlethwaite(2008) it is mentioned that in case of a non-minimum phase system an unstable zero should be added to the reference model Wref around the frequency of the non-minimum phase zero of the system, this in order to improve tracking performance. Implementing this on the flexible cart system has a major influence on controller synthesis: the inverse system is approximated much more accurately and the gain repair factor reduces significantly κ1 1. The criterion function and tracking error nevertheless surprisingly increased, showing that≈ the best approximation of the plant inverse from a visual point of view (looking at the Bode diagram) is not necessarily the best feedforward controller.

Next to the error criterion, the various feedforward controllers are also compared in a simula- tion. Hereto the most aggressive reference trajectory is used, which is the cyan, dashed line in Figure 5.5. In Figure 5.8 the resulting control inputs for both systems are displayed and in Figure 5.9 the resulting tracking errors are plotted. One feature that immediately stands out is that all feedforward signals for P1(z) more or less resemble the acceleration profile, while the snap and especially the ∞ feedforward controllers for P2(z) show a far more radical control input. In case of the non-minimumH phase system the feedforward signals deviate from the acceleration profile at the start and the end of the jerk phase. Furthermore, the pole of the inertia feedforward controller at z = 1 manifests itself in the oscillatory behavior during − constant acceleration phases, but due to the high frequency of 1 = 200 Hz this does not lead Ts to a significant vibration at the system output.

51 CHAPTER 5. EXAMPLE

The snap feedforward controller has a zero at z = 1.24 and this is clearly visible in the control signal uff : during the snap phase of the reference signal, uff first becomes negative before following the acceleration profile. Essentially this means giving the flexible cart a pull in the opposite direction during snap phases. The ∞ controller shows heavy oscillatory behavior H at 6.25 Hz, thus coinciding with the anti-resonance frequency of the system.

Feedforward Control Input Feedforward Control Input 80 80

60 60

40 40

20 20

0 0

Feedforward −20 Feedforward −20

−40 −40

−60 −60

−80 −80 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 Time (s) Time (s)

(a) P1(z) (b) P2(z)

Figure 5.8: Control input of the feedforward controllers: (scaled) acceleration (black, solid), inertia FF (blue, dotted), snap FF (green, dash-dotted) and ∞ FF (red, dashed) H

The tracking performance of the inertia feedforward controller is in line width expectation: as is already shown in literature, e.g., in Bode et al.(2004); Boerlage et al.(2003), the error increases during jerk phase of the reference profile. Due to the low bandwidth of the used feedback controller, the error decreases only slowly. The fact that P1(z) and P2(z) are measured exactly on the other side of the center of gravity is apparent since P1(z) starts off with a positive and P2(z) with a negative tracking error. Compared to inertia FF the snap feedforward controller performs much better for both sys- tems. However, the zero at z = 1.24 of the controller for P2(z) is clearly visible, since the tracking error at jerk phase is significant and of opposite sign compared to the error using inertia FF. The ∞ controllers are both stable and minimum phase. In case of the minimum phase system,H tracking performance is very good. The oscillations of the feedforward signal do not manifest themselves in the system output and tracking error. Care has to be taken when implementing this control strategy, since a slight model mismatch (e.g., when controller poles and system zeros are not located at the exact right position) will most probably severely deteriorate tracking performance. Taking these uncertainties into account is possible but will result in a more conservative controller design and therefore degraded performance. Compared to snap FF, however, tracking performance of P1(z) is poor. It seems the ∞ optimization algorithm had difficulty dealing with the non-minimum phase zero. This resultedH in a severe deviation of the feedforward controller from the inverse system. The unreasonably high gain repair factor also indicated that results were far less accurate for P1(z). A different choice of weighting filters may improve performance in this case. In Table 5.2 the feedforward controllers are compared using the error criterion and the maxi-

52 5.6. ROBUST PERFORMANCE

−3 −3 x 10 Tracking error and scaled acceleration x 10 Tracking error and scaled acceleration 3 3

2 2

1 1

0 0 Error (m) Error (m)

−1 −1

−2 −2

−3 −3 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 Time (s) Time (s)

(a) P1(z) (b) P2(z)

Figure 5.9: Tracking performance of the feedforward controllers: (scaled) acceleration (black, solid), inertia FF (blue, dotted), snap FF (green, dash-dotted) and ∞ FF (red, dashed) H

mum tracking error of the simulation. Considering the figures showing the tracking error, these numbers are not really surprising. In case of P1(z), snap FF results in the smallest maximum error and the smallest ε. For the minimum phase system, best results are obtained when using the ∞ controller. In total, the smallest tracking error is obtained using an ∞ controller H H for P2(z), but the best value for ε is obtained when using snap FF for P1(z). This is quite surprising, since none of the controllers is tuned for a specific setpoint trajectory, and therefore the smallest value for ε and the smallest tracking error were expected to coincide.

Table 5.2: Comparison of the performance of the feedforward controllers max(e(P1)) (m) ε(P1) max(e(P2)) (m) ε(P2) Inertia FF 2.8 10−3 6.1 10−4 2.6 10−3 6.1 10−4 × × × × Snap FF 6.6 10−4 9.0 10−6 1.3 10−3 4.5 10−5 × −3 × −3 × −4 × −5 ∞ FF 2.2 10 1.8 10 2.8 10 4.4 10 H × × × ×

5.6 Robust Performance

The feedforward controllers designed and tested previously were all tailor-made for the spe- cific systems. One of the issues in BRB systems, however, is position-dependent resonance dynamics of the plant. A significant difference between the dynamics of, e.g., a wafer stage in the middle of its operating range and on the edge of its operating range will occur and this has to be dealt with in the feedforward control strategy. In order to show the sensitivity of the various feedforward control strategies for varying param- eters, the parameter l in Table 5.1 has been perturbed 10%, causing a shift in the locations of the poles and zeros. The simulations have been subsequently redone. The various maximum tracking errors and error criteria are depicted in Table 5.3; the resulting tracking performance is graphically shown in Figure 5.10.

53 CHAPTER 5. EXAMPLE

−3 −3 x 10 Tracking error and scaled acceleration x 10 Tracking error and scaled acceleration 3 3

2 2

1 1

0 0 Error (m) Error (m)

−1 −1

−2 −2

−3 −3 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 Time (s) Time (s)

(a) P1(z) (b) P2(z)

Figure 5.10: Tracking performance of the feedforward controllers for the perturbed system: (scaled) acceleration (black, solid), inertia FF (blue, dotted), snap FF (green, dash-dotted) and ∞ FF (red, dashed) H

For both systems, the tracking performance and error criterion deteriorate in a similar fashion when using inertia FF. Since the low frequent gain of the perturbed systems equals that of the original system, the tracking error has increased due to the fact that (anti-) resonances appear at a slightly lower frequency. Because the error criterion also increased, the decrease of tracking performance cannot be attributed to the feedback controller, since this is not taken into account in the error criterion. In case of snap feedforward the relative reduction of tracking accuracy is far worse for the minimum phase system. The same holds for the ∞ FF controllers. It seems that the design H of the ∞ controller for P1(z) is somewhat conservative, because the performance does not H decay significantly under the perturbation of the plant. System P2(z) does perform much worse with the ∞ controller, with the maximum tracking error increasing by 120%. H The mismatch between the plants used for controller design and simulation manifests itself clearly in the plots of the tracking error. Almost all controllers show significant oscillations, due to fact that possible poles and zeros of the FF controllers are not located at the frequencies of the zeros and poles of the system. It can be concluded that a feedforward controller approaching the inverse of the plant model very closely can achieve a very good nominal performance, as is the case for the ∞ controller H for P2(z). However, this is also very sensitive to model mismatches. On the other hand,

Table 5.3: Comparison of the performance of the feedforward controllers for the perturbed system max(e(P1)) (m) ε(P1) max(e(P2)) (m) ε(P2) Inertia FF 3.2 10−3 6.4 10−4 2.9 10−3 6.4 10−4 × × × × Snap FF 7.3 10−4 1.4 10−5 1.9 10−3 1.4 10−4 × −3 × −3 × −4 × −5 ∞ FF 2.2 10 1.9 10 6.2 10 5.5 10 H × × × ×

54 5.7. SUMMARY a controller which is too conservative does not result in good tracking performance either. In general the feedforward controller should be close to the inverse of the plant model in regions of little uncertainty, where less FF control action is demanded in regions of substantial uncertainty. This description is solely qualitative, but complies with the description in Devasia (2002) (see also Table 3.1), where it is quantitatively stated when to use model-based inverse inputs as feedforward.

5.7 Summary

In this example, inertia feedforward, snap feedforward and ∞ feedforward have been com- pared using a minimum phase and a non-minimum phase system.H Inertia feedforward yields similar results for both systems, but relatively large tracking errors appear. An appealing property of inertia feedforward is that it can be tuned easily. Snap feedforward shows much better tracking performance. Surprisingly, the non-minimum phase system outperforms the minimum phase system in this case. This is due to the fact that the snap feedforward design is non-minimum phase, this way limiting the performance of the minimum phase system. A ∞ feedforward controller is both stable and minimum phase. In case of a minimum phase systemH tracking performance is very good, although uncertainties should be accounted for. However, if a non-minimum phase zero is present in the plant, the optimization algorithm has difficulty finding a suitable solution and tracking performance is far worse than in case of a minimum phase system.

55 CHAPTER 5. EXAMPLE

56 Chapter 6

A New Feedforward Control Design Approach

6.1 Feedforward Controller Design Based on the Impulse Re- sponse Matrix

In Section 2.6 the lifted system representation is discussed. Although commonly used in, e.g., ILC, this representation has not yet found its way to other strategies for feedforward control design. The most straightforward way to use the lifted system representation is to calculate the inverse of the impulse response matrix J and to extract a state-space realization from the resulting matrix Jˆ. As stated in Section 2.6, the elements of the Toeplitz matrix in the lifted system representation represent the Markov parameters of the system. In AppendixB a procedure is described on how to extract a state-space realization from Markov parameters. Since the flexible cart example of Chapter5 is strictly proper, with a relative degree of 1, the following mapping is used:

      y1 CB 0 0 0 u0 ···  y2   CAB CB 0 0   u1     2 ···     y3   CA B CAB CB 0   u2  (6.1)   =  ···     .   ......   .   .   . . . . .   .  N−1 N−2 N−3 yN CA BCA BCA B CB uN−1 ···

As discussed previously, the non-minimum behavior of system P1(z) becomes apparent in the singular values of J, as is displayed in Figure 6.1. It can be seen that due to the non- minimum phase zero the smallest singular value σN is much smaller than the previous one σN−1, where this is not the case for the minimum phase system P2(z). In other words, J2, defined as the impulse response matrix of P2(z), is of full rank and thus invertible, while Jˆ1 is not invertible. The resulting inverse matrix Jˆ2 is a lower diagonal Toeplitz matrix and a state-space realization can be extracted. The resulting Bode diagram, feedforward control signal and error plot are shown in Figures 6.2, 6.3 and 6.4. It appears that the magnitude of the feedforward controller very closely resembles the inverse of the original system. The phase behavior on the other hand differs above approximately 1 Hz. This could be expected: the system has a relative degree r = 1 and is thus strictly proper. Its inverse therefore is non-proper with relative degree r = 1. The feedforward controller on the other hand is also strictly proper, so the difference between− the system inverse and the feedforward controller is

57 CHAPTER 6. A NEW FEEDFORWARD CONTROL DESIGN APPROACH

Singular Values of J Bode Diagram 0 10 200

150

−5 10 100

50 Magnitude (dB) −10 10 0 0 1 2 10 10 10 σ

−15 10 200

100

−20 10 0

−100 Phase (deg)

−25 10 −200 0 1 2 0 20 40 60 80 100 10 10 10 n Frequency (Hz)

Figure 6.1: Singular values of J in case of P1 Figure 6.2: Bode Diagram of the feedforward (blue, o) and P2 (green, ) controller: exact system inverse (black, solid) × and feedforward (cyan, dashed)

1 z2 , which has magnitude 1 at all frequencies but also shows a phase lag that increases linearly with frequency. Looking at the control signal uff , it appears that this is very close to the feedforward signal using an ∞ controller (Figure 5.8). The tracking performance, however, is even significantly H better with a maximum tracking error of 2.8 10−9 m. The performance criterion has a value × of ε = 1.3 10−9, which is also much better than the other feedforward designs discussed in Chapter5×. Although uncertainty and modeling errors have not been taken into account in this simulation, it shows that inverting the impulse response matrix of a minimum phase dynamic system is a promising way for synthesis of a feedforward controller for BRB systems.

−9 Feedforward Control Input x 10 Tracking error and scaled acceleration 80

60 2 40

20

0 0 Error (m)

Feedforward −20

−40 −2 −60

−80 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 Time (s) Time (s)

Figure 6.3: Control input of the feedforward Figure 6.4: Tracking performance of the feed- controller: (scaled) acceleration (black, solid) forward controller: (scaled) acceleration (black, and feedforward (cyan, dashed) solid) and feedforward (cyan, dashed)

Inverting J1 on the other hand is not that straightforward, since the small singular value causes the matrix to be ill-conditioned. Using the generalized inverse (Section 2.2), however,

58 6.2. UNCERTAINTY AND REFERENCE TRAJECTORIES

results in a matrix Jˆ1 that is neither lower triangular nor Toeplitz. The fact that Jˆ1 is not lower triangular means that the feedforward controller would be non-causal. Moreover, matrix Jˆ1 not being Toeplitz implies a time-varying feedforward controller, which is not desirable. Further investigation of Jˆ1 shows that it is symmetric across the anti-diagonal. In order to use the (generalized) inverse Jˆ of an impulse response matrix J to design a feedforward controller a way has to be found to extract a realization from a full-block matrix which is not Toeplitz.

6.2 Uncertainty and Reference Trajectories

By simply inverting the Toeplitz matrix J the feedforward controller design is completely setpoint independent. This has the advantage that it does not require any tuning after chang- ing the setpoint trajectory, but also introduces some conservatism, because in practice only a limited class of trajectories will be used. In the previous chapter, the performance of the various feedforward controllers was assessed by the following criterion:

ε = tr(ET E) (6.2) where E = (I JJˆ)R (6.3) − In the assessment of performance possible reference trajectories are taken into account by incorporating matrix R in the criterion function. This criterion could also be used for controller design: Jˆ is in that case not designed as the (generalized) inverse of J but as a matrix that minimizes the criterion function 6.2, thus explicitly taking a reference trajectory or a class of reference trajectories into account. Additional properties of Jˆ might be required in the optimization problem, such as Jˆ being Toeplitz to make the feedforward filter LTI or Jˆ being lower triangular, making the feedforward filter causal. In practice, a system is often modeled as a nominal model together with an uncertainty set. In Van de Wijdeven(2008) the uncertainty is described using an additive uncertainty model, where the set Π of uncertain systems is given by:

Π = J∆ : J∆ = J + Wi∆Wo, ∆ ∆ (6.4) { ∈ } −1 N×N where ∆ = ∆ R : ∆ i2 1, ∆ structured and Wi and Wo are the impulse response matrices of{ stable, causalk weightingk ≤ filters whose} inverses are also stable and causal. The uncertain system is graphically depicted in Figure 6.5.

Wo ∆ Wi ∆J + uff + y J

Figure 6.5: Uncertain system J∆ using additive uncertainty model

If the uncertainty model is incorporated the criterion functions are modified to:   E(∆) = I J(∆)Jˆ R (6.5) − 59 CHAPTER 6. A NEW FEEDFORWARD CONTROL DESIGN APPROACH

ε = tr E(∆)T E(∆) (6.6) so now the feedforward controller is optimized over the set of uncertain systems. Further research is required to investigate the properties of resulting feedforward controllers.

6.3 The Use of Basis Functions

In Van de Wijdeven(2008); Van de Wijdeven and Bosgra(2009) the use of basis functions in ILC is discussed. Basically, basis functions are introduced into the ILC controlled system to manipulate the command and output signal of the original system, such that the manipulated system has certain desired properties or such that the manipulated system complies with a specific problem formulation. An example is using basis functions for a restricted command-output space. In Hamamoto and Sugie(2001); Van der Meulen et al.(2008), the high-dimensional problem of describing linear systems for ILC is overcome by capturing the I/O behavior of the system in a restricted I/O space by describing the command as a linear combination of a relatively small number of basis functions and by mapping the output to a reduced output space. A similar approach may also be possible in the optimization problem, as mentioned in the previous section. Here, the size of matrices J and Jˆ has to comply with matrix R, possibly leading to a high-dimensional optimization problem. If this problem can be described as a linear combination of basis functions, MIL tuning might be applied to optimize the controller parameters. The use of basis functions in this specific case, however, is subject to further research.

6.4 Immeasurable Performance Variables

As is already mentioned in Section 3.6.4 inmeasurable performance variables presents diffi- culties in the use of MIL tuning. However, model knowledge can be used to overcome these difficulties in various ways:

Design an observer that uses y to calculate z. The latter can subsequently be used for • MIL control optimization.

Design a prefilter which calculates the desired trajectory ry using rz. This way, y can • be used for MIL control optimization.

Further research should make clear which of these approaches leads to the best tracking performance.

60 Chapter 7 Conclusions and Recommendations

This literature survey discusses inverse systems and feedforward control design methods for beyond rigid body systems. Recall the three properties of feedforward controller methods as discussed in the introduction:

How does the feedforward controller deal with the flexible modes of the plant and is the • control strategy suited for use in BRB systems?

Can the controller be extended for position dependent dynamics and how does it deal • with model uncertainties?

Is the controller setpoint independent, i.e., is it suited for a particular reference trajectory • and is ’learning’ required for every setpoint or can it be used for a class of trajectories?

In the next section, these questions will be answered for a number of common feedforward control strategies, followed by recommendations for further research in Section 7.2.

7.1 Conclusions

Flexible modes and BRB systems Feedforward control design usually boils down to de- signing a stable approximation of the inverse of a system. Inertia feedforward only approximates the inverse of the rigid body mode of the system. Snap feedforward also takes the low-frequency contribution of the flexible modes into account, but does not approximate every (anti-) resonance separately. Model inversion FF strategies invert all flexible modes of the plant model. In case of non-minimum phase plants, non-causal stable inversion techniques have to be used in order to obtain a bounded FF control signal. Synthesizing an ∞ FF controller is also a model-matching problem. The ex- H tent to which an ∞ controller approximates the inverse of the plant model depends on the choice of weightingH filters. Nevertheless, the resulting controller is always stable and minimum phase.

Position dependent dynamics The only FF control method that can explicitly deal with position dependent dynamics is the ∞ controller, which would in that case be an LPV controller itself. Although not foundH in literature, gain-scheduling might also be possible using inertia or possibly snap feedforward.

The ∞ controller is also able to deal with model uncertainties, resulting in a robust FF controller.H Better performance might however be achieved by dealing with model

61 CHAPTER 7. CONCLUSIONS AND RECOMMENDATIONS

uncertainties in the feedback controller and synthesizing the feedforward controller for the nominal system. In general, every FF controller that can be parameterized suitably can be fine-tuned using MIL optimization, thereby greatly improving tracking accuracy.

Setpoint trajectories Inertia, snap, and inversion-based feedforward controllers are inher- ently setpoint independent. In case of an ∞ controller, setpoint properties might be included in the weighting filter design, butH this is not required.

7.2 Recommendations

In Chapter6 a new feedforward controller design method is introduced. Although good results were obtained for a nominal feedforward design for a minimum phase system, several issues remain that have to be solved before implementing this strategy on a BRB system in practice:

Non-minimum phase systems A sufficiently large impulse response matrix J of a non- minimum phase system will be singular and thus not invertible. Calculating the general- ized inverse results in a Jˆ that is neither Toeplitz nor lower-triangular, thus representing a feedforward controller that is time-varying and non-causal. Further research should reveal how to deal with this in practice: to what extent is the controller time-varying and is it required to calculate the entire feedforward signal beforehand or is a finite preview time sufficient?

Reference trajectories The criterion function used in Chapters5 and6 can also be used as a objective function in an optimization problem. This way, e.g., a certain class of reference trajectories can be taken into account when synthesizing the feedforward controller. The question, however, remains how the objective function can be minimized in practice. Is the resulting Jˆ Toeplitz and/or lower-triangular by default or can these properties be added to the optimization problem as constraints?

Position dependent dynamics In BRB systems position dependent dynamics play an im- portant role. These may be modeled as uncertainties, but are there any other ways in which position dependent dynamics can be taken into account? Furthermore, what effect does modeling these as uncertainties have on optimizing the criterion function as mentioned before? Does it make the feedforward controller unnecessary conservative?

MIL Tuning As discussed in Section 3.6, MIL tuning can greatly contribute to tracking ac- curacy. Therefore a way has to be found to effectively parameterize the feedforward controller to enable the possibility of online tuning of controller parameters. Further- more, the handling immeasurable performance variables should be investigated.

62 Appendix A The Singular Value Decomposition

n×m A singular value decomposition of a matrix A C is a decomposition such that: ∈ A = UΣV H (A.1) with

n×n H H U C unitary: UU = U U = In • ∈ m×m H H V C unitary: VV = V V = Im • ∈ Σ diagonal with non-zero elements σ1 σ2 σr > 0 • ≥ ≥ · · ·   Σ 0 0   ··· σ1 0  0 0 0  ···  ···   . ..  (A.2) Σ =  . . ..  ; Σ =  . . 0   . . . 0  0 σr 0 0 0 ··· ··· The right singular vectors vi, which are the columns of matrix V define an orthonormal basis in the domain of A. Similarly, the left singular vectors ui define an orthonormal basis in the co-domain of A. Matrix A maps input vi in the output direction ui with gain σi. The SVD also possesses the following properties:

p H p H The singular values σ1, , σr = λ (AA ) = λ (A A) are computable from the • { ··· } eigenvalues of either AAH or AH A.

r = rank(A) • r X H A = σiuiv , also called dyadic expansion. • i i=1

63 APPENDIX A. THE SINGULAR VALUE DECOMPOSITION

64 Appendix B Realization of a Sequence of Markov Parameters

In Bosgra(2007); Bosgra and Van der Weiden(1980) it is described how to extract a state- space realization from a sequence of Markov parameters, i.e., how to form a system:

x(k + 1) = Ax(k) + Bu(k) (B.1) y(k) = Cx(k) + Du(k)

n m p with x R , u R and y R . from a sequence of Markov parameters given by: ∈ ∈ ∈ −1 −2 −3 M(z) = z M1 + z M2 + z M3 + ... (B.2)

Suppose that u(z) and y(z) satisfy:

 u(z)   y(z)     x1(z)   0  0 Hc      x2(z)  =  0  (B.3) HB HA zHE     −  x3(z)   0   .   .  . .

with the block Hankel matrices:   M1 M2 M3 ···  M2 M3 M4  H =  ···  E  M3 M4 M5   . . . ···.  . . . ..   M2 M3 M4 ···  M3 M4 M5  H =  ···  A  M4 M5 M6   . . . ···.  . . . ..   HC = M1 M2 M3   ··· M1  M2  H =   B  M3   .  .

65 APPENDIX B. REALIZATION OF A SEQUENCE OF MARKOV PARAMETERS

for some sequence of vectors x1(z), x2(z), x3(z),.... Then y(z) = M(z)u(z). Conversely, if y(z) = M(z)u(z), then there exists a sequence of vectors x1(z), x2(z), x3(z),... such that u(z), y(z) satisfy Equation B.3. Next, assume that a sequence of Markov parameters Mi, i = 1, 2,... is given and suppose that the rows i1, i2, . . . , in and the columns j1, j2, . . . , jn of HE are linearly independent, where HE has rank n. Consider:  0 H  c (B.4) HB HA zHE − and delete all columns and rows except the rows 1, 2, . . . , p, p + i1, p + i2, . . . , p + in and except the columns 1, 2, . . . , m, m+j1, m+j2, . . . , m+Jn to form the finite (p+n) (m+n) polynomial matrix: × " # 0 Cˆ Pˆ = (B.5) Bˆ Aˆ zEˆ − Then a minimal realization for the Markov sequence of Equation B.2 is given by: A = Eˆ−1Aˆ B = Eˆ−1Bˆ (B.6) C = Cˆ

The order of this resulting state-space system equals the rank of the block Hankel matrix HE. Finding its linearly independent rows and columns however may prove to be a time-consuming job, and if the Markov parameters are acquired as experimental data, noise may cause the n to increase tremendously. The theory described above is therefore in practice replaced by a concept applying the singular value decomposition (AppendixA). Instead of determining the rank n of HE the singular value decomposition gives:    T    Σ1 0 V1 HE = U1 U2 T (B.7) 0 Σ2 V2 ρ×ρ where Σ1 R , Σ1 = diag(σ1, σ2, . . . , σρ), and σ1 σ2 ... σρ  > 0. Σ2 thus contains the∈ smallest singular values: ≥ ≥ ≥ ≥  Σ 0  Σ = s (B.8) 2 0 0 where Σs = diag(σρ+1, σρ+2,...). Pre- and postmultiplication of Equation B.4 by: " #" # Iρ 0 Iρ 0 1 1 (B.9) − 2 T − 2 0 Σ1 U1 0 V1Σ1 results in the modified system matrix:

 1  − 2 0 HC V1Σ1  1 1 1  (B.10) − 2 T − 2 T − 2 Σ U HB Σ U HAV1Σ zIρ 1 1 1 1 1 − The resulting state-space matrices are then given by:

1 1 − 2 T − 2 A = Σ1 U1 HAV1Σ1 − 1 2 T (B.11) B = Σ1 U1 HB 1 − 2 C = HC V1Σ1

66 This approach enables the possibility to select the order of the resulting state-space system manually based on the values of the singular values of HE. The order of the system, and therefore the partitioning of Σ, should be selected such that all dynamics are contained in the realization. If the order of the original system is known to be n, the number of Markov parameters that should be used is 2n. Fewer parameters will result in a system that does not represent all dynamics, where more parameters are used noise is modeled as part of the system. For a proof of this theory the reader is referred to the references mentioned above.

67 APPENDIX B. REALIZATION OF A SEQUENCE OF MARKOV PARAMETERS

68 Bibliography

Anthonis, J. and Ramon, H. (2003). Linear mechanical systems and dyadic transfer function matrices. Automatica, 39(8):1353–1363.

Åström, K., Hagander, P., and Sternby, J. (1984). Zeros of sampled systems. Automatica, 20(1):31–38.

Bamieh, B., Pearson, J., Francis, B., and Tannenbaum, A. (1991). A lifting technique for linear periodic-systems with applications to sampled-data control. Systems & Control Letters, 17(2):79–88.

Ben-Israel, A. and Greville, T. (1974). Generalized inverses: theory and applications. Pure and applied mathematics: a series of texts and monographs. Wiley-Interscience.

Bode, C., Ko, B., and Edgar, T. (2004). Run-to-run control and performance monitoring of overlay in semiconductor manufacturing. Control Engineering Practice, 12(7):893–900.

Boerlage, M. (2006). MIMO jerk derivative feedforward for motion systems. 2006 American Control Conference (ACC), 2006:3892–3897.

Boerlage, M., Steinbuch, M., Lambrechts, P., and Van de Wal, M. (2003). Model-based feedforward for motion systems. In 2003 IEEE Conference on Control Applications (CCA), 2003., volume 2, pages 1158–1163 vol.2.

Bosgra, O. (2006-2007). Physical modelling for systems and control.

Bosgra, O. and Van der Weiden, A. (1980). Input-output invariants for linear multivariable systems. IEEE Transactions on Automatic Control, AC-25(1):20–36.

Bristow, D., Tharayil, M., and Alleyne, A. (2006). A survey of iterative learning control. IEEE Control Systems Magazine, 26(3):96–114.

De Gelder, E. (2003a). Feedforward Controller Design for Motion Systems: A Literature Survey. Literature survey, Delft University of Technology.

De Gelder, E. (2003b). Model-Based Feedforward Design for Motion Systems. MSc thesis, Delft University of Technology.

De Gelder, E., Van de Wal, M., Scherer, C., Hol, C., and Bosgra, O. (2006). Nominal and robust feedforward design with time domain constraints applied to a wafer stage. Journal of Dynamic Systems, Measurement, and Control, 128(2):204–215.

69 BIBLIOGRAPHY

Devasia, S. (1997). Output tracking with nonhyperbolic and near nonhyperbolic internal dynamics: Helicopter hover control. Journal of Guidance Control and Dynamics, 20(3):573– 580.

Devasia, S. (2002). Should model-based inverse inputs be used as feedforward under plant uncertainty? IEEE Transactions on Automatic Control, 47(11):1865–1871.

Doyle, J., Glover, K., Khargonekar, P., and Francis, B. (1989). State-space solutions to stan- dard 2 and ∞ control problems. IEEE Transactions on Automatic Control, 34(8):831– 847. H H

Franklin, G., Powell, J., and Emami-Naeini, A. (2002). Feedback Control of Dynamic Systems. Fourth edition edition.

Franklin, G., Powell, J., and Workman, M. (1998). Digital Control of Dynamic Systems. Addison-Wesley, Amsterdam.

Fu, Y. and Dumont, G. (1993). An optimum time-scale for discrete Laguerre network. IEEE Transactions on Automatic Control, 38(6):934–938.

Gray, R. (1972). Asymptotic eigenvalue distribution of Toeplitz matrices. IEEE Transactions on Information Theory, 18(6):725–730.

Hamamoto, K. and Sugie, T. (2001). An iterative learning control algorithm within prescribed input-output subspace. Automatica, 37(11):1803–1809.

Hashemi, S. and Hammond, J. (1996). The interpretation of singular values in the inversion of minimum and non-minimum phase systems. Mechanical Systems and Signal Processing, 10(3):225–240.

Heuberger, P., De Hoog, T., Van Den Hof, P., SzabÃş, Z., and Bokor, J. (2001). Minimal partial realization from orthonormal basis function expansions. In 40th IEEE Conference on Decision and Control (CDC), volume 4, pages 3673–3678, Orlando, FL.

Horn, R. and Johnson, C. (1988). Matrix Analysis. Cambridge University Press, Cambridge.

Hunt, L., Meyer, G., and Su, R. (1996). Noncausal inverses for linear systems. IEEE Trans- actions on Automatic Control, 41(4):608–611.

Hunt, L., Ramakrishna, V., and Meyer, G. (1998). Stable inversion and parameter variations. Systems & Control Letters, 34(4):203–207.

Lambrechts, P., Boerlage, M., and Steinbuch, M. (2005). Trajectory planning and feedforward design for electromechanical motion systems. Control Engineering Practice, 13(2):145–157.

Mirsky, L. (1960). Symmetric gauge functions and unitarily invariant norms. Q J Math, 11(1):50–59.

Moylan, P. (1977). Stable inversion of linear systems. IEEE Transactions on Automatic Control, AC-22(1):74–78.

Prempain, E. and Postlethwaite, I. (2008). A feedforward control synthesis approach for LPV systems. In 2008 American Control Conference ( ACC), pages 3589–3594, Seattle, WA.

70 BIBLIOGRAPHY

Ramakrishna, V., Hunt, L., and Meyer, G. (2001). Parameter variations, relative degree, and stable inversion. Automatica, 37(6):871–880.

Sato, M. (2003). Gain-scheduled inverse system and filtering system without derivatives of scheduling parameters. In 2003 American Control Conference (ACC), volume 5, pages 4173–4178, Denver, CO.

Sato, M. (2008). Inverse system design for LPV systems using parameter-dependent Lyapunov functions. Automatica, 44(4):1072–1077. Sato, Masayuki.

Silverman, L. (1968). Properties and application of inverse systems. IEEE Transactions on Automatic Control, AC13(4):436–437.

Silverman, L. (1969). Inversion of multivariable linear systems. IEEE Transactions on Auto- matic Control, AC14(3):270–276.

Skogestad, S. and Postlethwaite, I. (2005). Multivariable Feedback Control. John Wiley and Sons Ltd, 2nd revised edition edition.

Slotine, J. and Li, W. (1991). Applied Nonlinear Control. Prentice Hall.

Tomizuka, M. (1987). Zero phase error tracking algorithm for digital-control. Journal of Dynamic Systems, Measurement, and Control, 109(1):65–68.

Tousain, R., van der Meché, E., and Bosgra, O. (2001). Design strategies for iterative learning control based on optimal control. In Proceedings of the IEEE Conference on Decision and Control, volume 5 of 40th IEEE Conference on Decision and Control (CDC), pages 4463– 4468, Orlando, FL.

Vaes, D., Swevers, J., and Sas, P. (2004). Optimal decoupling for MIMO-controller design with robust performance. In Proceedings of the 2004 American Control Conference (AAC), volume 5, pages 4601–4606, Boston, MA.

Van de Wal, M. (2001). Model-based feedforward controller design for electromechanical motion systems: An exploratory study. Technical report, ASML Control Research, Philips CFT.

Van de Wijdeven, J. (2008). Iterative Learning Control design for uncertain and time-windowed systems. PhD thesis, Eindhoven University of Technology.

Van de Wijdeven, J. and Bosgra, O. (2009). Using basis functions in iterative learning control: Analysis and design theory. International Journal of Control.

Van der Meulen, S. (2005a). Machine-In-the-Loop Control Optimization: A Literature Survey. Literature survey, Eindhoven University of Technology.

Van der Meulen, S. (2005b). Machine-In-the-Loop Control Optimization: Application to High- Precision Motion Systems. MSc thesis, Eindhoven University of Technology.

Van der Meulen, S., Tousain, R., and Bosgra, O. (2008). Fixed structure feedforward controller design exploiting iterative trials: Application to a wafer stage and a desktop printer. Journal of Dynamic Systems, Measurement, and Control, 130(5).

71 BIBLIOGRAPHY

Wang, Q.-G., Bi, Q., and Yang, X.-P. (2001). High-performance conversions between continuous- and discrete-time systems. Signal Processing, 81(9):1865–1877.

Zou, Q. (2009). Optimal preview-based stable-inversion for output tracking of nonminimum- phase linear systems. Automatica, 45(1):230–237.

Zou, Q. and Devasia, S. (1999). Preview-based stable-inversion for output tracking of linear systems. Journal of Dynamic Systems, Measurement, and Control, 121(4):625–630.

72