56
Nonlinear Controller Design for Linear Motion Systems T.M.P. Gommans DCT 2008.073 Bachelor thesis Thesis Committee: prof. dr. ir. M. Steinbuch (supervisor) dr. ir. M.J.G. van de Molengraft (coach) ir. W.H.T.M.Aangenent (coach) Technische Universiteit Eindhoven Department Mechanical Engineering Dynamics and Control Technology Group Eindhoven, May, 2008

Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Nonlinear Controller Design forLinear Motion Systems

T.M.P. Gommans

DCT 2008.073

Bachelor thesis

Thesis Committee:prof. dr. ir. M. Steinbuch (supervisor)dr. ir. M.J.G. van de Molengraft (coach)ir. W.H.T.M. Aangenent (coach)

Technische Universiteit EindhovenDepartment Mechanical EngineeringDynamics and Control Technology Group

Eindhoven, May, 2008

Page 2: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities
Page 3: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Abstract

Linear feedback control has fundamental limitations. An example of such a limitation is Bode’sgain/phase relationship. This naturally rises the question whether these fundamental limitationscan be ameliorated by the use of nonlinear feedback. Introducing nonlinearities might seem dis-advantageous, but in literature many nonlinear controller concepts are presented that enhance theperformance.

For the parameter tuning of these nonlinear controllers there are no rules-of-thumb, like there arefor tuning linear controllers. Therefore, the parameter optimization can become quite tedious. Amethod to overcome this problem is the parameter optimization using an evolutionary algorithm.These evolutionary algorithms require a function to obtain an objective value for the successfulness ofan individual. To be able to evaluate nonlinear controllers, this so-called fitness function is based ontime domain characteristics only.

The evolutionary algorithm uses the fitness function to optimize the step responses of a PID controllerand several nonlinear controller concepts. Each of the optimized nonlinear controllers can performbetter than the linear PID controller.

Page 4: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities
Page 5: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Contents

1 Introduction 3

1.1 Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Report outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Genetic Algorithm 5

2.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Fitness function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2.1 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.2 Stability robustness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.3 Actuator limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.4 Error handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3 Genetic Algorithm toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.1 Population options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.2 Fitness scaling and selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.3 Genetic operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.4 General remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Nonlinear controllers 13

3.1 SPAN filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2 Driven limiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.3 Nonlinear gain element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.3.1 Saturated gain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.3.2 Gain divided in two parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1

Page 6: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

4 Controller optimization using GA 19

4.1 Controller optimization for linear systems . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.1.1 PID controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.1.2 Controller with a SPAN filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.1.3 Controller with a driven limiter . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.1.4 Controller with a nonlinear gain element divided in two parts . . . . . . . . . . 26

4.1.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2 Controller optimization for nonlinear systems . . . . . . . . . . . . . . . . . . . . . . . 28

4.2.1 PID controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2.2 Controller with a SPAN filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5 Conclusions and recommendations 33

5.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.2 Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Bibliography 35

A Nomenclature 37

B Fitness function 39

C Describing functions 43

D PATO-system 45

D.1 Frequency response function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

D.2 Coulomb and viscous friction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

E Additional Figures 49

E.1 Simulink models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

E.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

2

Page 7: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Chapter 1

Introduction

Since the seminal work of Bode [4], in literature there has been considerable interest on the topic offundamental limitations in feedback systems with known plant dynamics. Some of the limitationsdo not depend on how the input is generated, because they are inherently linked to the plant. Theselimitations cannot be ameliorated by a controller, regardless of whether the input is generated by lin-ear, nonlinear, time invariant or time dependent feedback. Other limitations are introduced by usinglinear time invariant (LTI) feedback.To ensure a good response the open-loop system requires either one or both of the following proper-ties: (i) a reduction of the gain with increasing frequency, or (ii) a phase lead with increasing frequency[15]. This tradeoff can also be shown by the need for a high gain at low frequencies and sufficient band-width. Contrarily, to suppress sensor noise and residual vibrations, the gain needs to be low at highfrequencies. This performance trade-off is defined by Bode’s gain/phase relation. This relation limitshow fast the open loop gain can cross unity gain, while maintaining sufficient phase lead to stabilizethe closed-loop system.When use is made of linear networks for stabilization, a reduction in the gain is accompanied by aphase lag, where phase lead is always accompanied by an increasing gain. Levinson shows that a com-bination of high frequency gain reduction in combination with phase lead is impossible with linearcircuits [15].The question arises whether or not it is possible to attenuate these limitations by using nonlinear ortime varying feedback instead of LTI feedback. Due to the difficulties and bad effects normally as-sociated with the presence of nonlinearities it may seem like a step back to intentionally introducenonlinearities into an otherwise essentially linear system. The principle of superposition no longerholds, so it becomes a problem to predict the system response for various inputs. However, in litera-ture, [1], [3], [5], [7], [8], [13], [16], [17] and [19], good reasons for intentionally introducing nonlinearitiesare given. Such as the possibility of phase lead with gain reduction.Designing nonlinear feedback controllers can become quite tedious, since the classic rules-of-thumbused to design linear controllers no longer apply. The last decades, some promising results have beenachieved in the field of controller optimization based on evolutionary algorithms. Therefore it is in-teresting to know whether a Genetic Algorithm (GA) can be used to design nonlinear controllers. Thealgorithm will search for an optimal solution to meet the requirements specified in the fitness func-tion.The controllers designed in this thesis belong to the class of servo or positioning systems. These con-trollers act on the difference in desired and actual measured position of a moving mass in order totrack a reference signal. The used reference signals are step functions.

3

Page 8: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

1.1 Problem statement

The problem statement can be summarized as follows:

Investigate the possibilities of designing high-performance nonlinear controllers which outperform classicallinear controllers for linear motion systems using a genetic algorithm.

1.2 Report outline

To solve the problem stated above, the genetic algorithm is introduced in Chapter 2. This chapter alsodiscusses every aspect of the fitness function and the settings of the evolutionary algorithm. Threeconcepts of nonlinear controllers are introduced and discussed in Chapter 3. Chapter 4 is split in twoparts. Section 4.1 discusses the optimization of nonlinear controllers for linear motion systems. Dueto problems with friction this did not give any experimental verification of the optimized nonlinearcontrollers. Therefore friction is added to the model and the nonlinear controllers are optimized for anonlinear motion system in Section 4.2.

4

Page 9: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Chapter 2

Genetic Algorithm

2.1 Background

A genetic algorithm is a stochastic global search and optimization method that mimics the metaphorof natural biological evolution [12]. The GA is operated on a population of potential solutions. Byapplying the principle of "survival of the fittest" it produces successively better approximations of asolution. The successfulness of all the individuals is taken into account when the next generation iscreated. Each new generation consists of a new set of approximations. This set is based on selectionof individuals according to their fitness in the problem domain and reproducing them using operatorsborrowed from natural genetics. This process leads to the evolution of the population, so that the in-dividuals in this population are better suited to their environment than the individuals they originatedfrom. With the continuing performance improvements of computational systems genetic algorithmsbecome a more and more powerful tool.

2.2 Fitness function

The genetic algorithm has to find the "best" solution to a problem. To do this it needs to be able toobjectively "measure" the quality of an individual. This measure is called the fitness of the individual.The fitness function is responsible for testing the individual as a solution to the problem, interpretingthe results and assigning the fitness score f . It is common to define zero as the optimal fitness score.

Creating a fitness function for controller design has to be done carefully. Each controller has to bejudged properly, otherwise the GA will create bad performing controllers with an apparently goodfitness value. The GA optimizes what the user specifies, no more, no less. So it is important that thejudging criteria are well formulated.The criteria in the fitness function are based on the time domain. Frequency domain criteria (e.g.bandwidth, maximum sensitivity) will not be used. This way it is possible to evaluate linear andnonlinear controllers with the same fitness function and compare the results.

The criteria for a controller, in a system that follows a step reference, are merged in groups dependingon their goal. These groups will be discussed below.

5

Page 10: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

2.2.1 Performance

Direct performance requirements for a unit step response are time-domain based, such as rise time,settling time, and overshoot (see Figure 2.1). The rise time Tr is the time it takes to get from 10% to90% of the step value. The settling time (Ts ) is specified as the time after which the difference betweenthe plant output and the reference trajectory stays within a specified tolerance band. This toleranceband is here chosen ±0.5% of the step value. The overshoot (Os ) is defined as the maximum valueminus the step value, divided by the stap value. This value for the overshoot is usually displayed as apercentage by multiplying with one hundred. Another measure of performance is the integral of theabsolute error (IAE). Keeping this low means a fast response, low overshoot and a fast settling time.The amplitude of the step reference is defined as samp and the total simulation time as Tsim . Usingy(t) as the plant output and r(t) as the reference signal the error is defined as e(t) = r(t)− y(t). Withthese definitions the performance criteria can be summarized by:

Tr = max(T |y(t) ≤ 0.9 · samp) − max(T |y(t) ≤ 0.1 · samp)

Ts = max(T |abs(e(t)) ≥ 0.002 · samp)

Os =max(y(t))

samp· 100%

I AE =∫ Tsim

0|e(t)|dt

Figure 2.1: Performance criteria

6

Page 11: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

2.2.2 Stability robustness

The maximum value of the sensitivity function is a measure for the stability robustness. This can beinterpreted as the reciprocal of the distance to the point −1 in a Nyquist plot. Stability robustness isdefined as the property that the closed-loop system remains stable under small changes of the plantand compensator dynamics. The vector margin (see Figure 2.2) can be approximated by a combinationof two other margins: the gain margin and the delay margin. The gain margin κm is the smallestpositive number by which the Nyquist plot must be multiplied to pass the critical point −1. Thedelay margin τm is the largest time delay such that, for any delay less than or equal to this value, theclosed-loop system remains stable.

Figure 2.2: The vector margin

When designing nonlinear controllers, the maximum sensitivity value can not be used as a measurefor stability robustness since it is not well-defined. A time domain based measure is introduced byDolsma [6]. The delay margin τm and the phase margin φm are linked by the frequency w∗ at whichthe phase margin is determined, see Eq. 2.1.

τm =φm

w∗(2.1)

In order to determine the delay margin τm , both φm and w∗ must be known. For φm the desiredphase margin is chosen (e.g. 30◦ = π

6 rad). In the frequency domain, w∗ is simply defined asthe bandwidth. Roughly speaking, the bandwidth is related to the rise time by w∗ = 1

Trwhen the

nominal closed-loop system tracks a step signal. In other words, a system with a high bandwidth hasa good tracking performance, and therefore a short rise time. By relating the bandwidth to the risetime Dolsma proposes τm = φm · Tr . By applying the delay perturbation τm and gain perturbationκm simultaneously the perturbed closed-loop system is obtained. A bounded plant output is seen asa stable system, a typical bound is defined by |y(t)| ≤ 2 samp. So if the perturbed closed-loop systemexceeds this bound, it has to be rejected because it is not robust enough. The bound check is done from0.8T < t < T , with T the simulation time. This way it only rejects instability and not robust systemswith a large overshoot. Rejecting systems that do not pass the robustness test, is done by assigning themaximum fitness value of f = 1010, the individual then becomes the worst of the generation. Thisminimizes the chance of these bad designs being selected for future generations.

At first a phase margin φm = 30◦ was applied, but all controllers got rejected and were assigned themaximum fitness value. This occurred even for controllers that were successfully implemented onthe physical system. The problem was due to the large delay margin. When a phase margin φm = 6◦is applied, the controllers successfully implemented on the physical system are accepted. The timeby which the nominal plant is delayed by this perturbation is reduced by a factor five. To see if thisdid not attenuate the robustness by too much, the model based controller designs are tested on thephysical system.

7

Page 12: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Dolsma also shows (Figure 2.3) that although the response of the perturbed plant remains boundedfor the length of the simulation (which is two seconds), the system can still be unstable. If the lengthof the simulation is extended, the response exceeds the 2 samp bound and is actually unstable. The GAdoes not notice this and the system passes the stability robustness test of the fitness function. So theGA is only able to identify robustness problems if they occur within the simulation time.

Figure 2.3: Trajectory response with a perturbed plant

2.2.3 Actuator limit

Every actuator can provide a finite amount of power. The plant input is limited to prevent the creationof unrealistic controllers with too high gains. Applying these high gain controllers would result inperformance and stability issues. The used amplifier in the PATO setup (see Appendix D) has anactuator limit umax of 2.5 Volts.

2.2.4 Error handling

Controllers represented by stiff differential equations often consume a lot of simulation time. If aftera user specified time the simulation is still running due to these problems, the simulation is aborted,and the maximum fitness value is returned. When any other type of error occurs, the simulation isalso aborted and the maximum fitness value returned. This minimizes the chance of these designsbeing selected for future generations.

8

Page 13: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

2.2.5 Summary

The total design of the fitness function can be dived in three parts: (I) Determine step rise time of theclosed-loop system to calculate the delay perturbation. (II) Determine performance for the nominalplant. (III) Test if the perturbed plant remains bounded. Parts I and II are done in one simulationwith the nominal plant, part (III) is done with a second simulation. In both simulations the systemfollows a step reference. Since part (I) and (II) consist of only one simulation, the simulation errorpenalty is only applied once.

In order to obtain a good balance in penalty between overshoot and settling time, these penalties arescaled by a and b respectively. The parameters a and b are tuned by trial and error to obtain a goodresult.

• Part I: Determine the rise time of the closed-loop system to calculate the delay perturbation.- If simulation error then abort simulation: f = 1010

- Calculate delay: τm = φm · Tr

• Part II: Determine performance for the nominal plant with step reference.- Settling time penalty: f = f + Ts/a- Overshoot penalty: f = f + Os/b- Integral absolute error penalty: f = f + I AE- Actuator limit penalty: if |u| > umax then f = f + 105

• Part III: Determine whether the perturbed closed-loop system remains bounded.- If simulation error then abort simulation: f = 1010

- Robustness test: if |y(t)| > 2 samp with 0.8T < t < T then f = 1010

For an example of the fitness function code see Appendix B.

9

Page 14: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

2.3 Genetic Algorithm toolbox

To be able to use a GA, a measure for the quality of an individual is needed. By introducing the fitnessfunction this measure is available. Using the information on the successfulness of the individuals ofthe current generation, the GA creates a new generation. Matlab contains a graphical user interface(GUI) for the Genetic Algorithm Toolbox, which is opened by the command gatool. The evolutionarysettings will be discussed below. The GUI also contains several options for plotting progress andwriting output, these do not contribute to the evolutionary effectiveness and will therefore not bediscussed.

2.3.1 Population options

A GA run starts with the creation of a population. A population is a group of individuals, where eachindividual contains the parameters of the controller that will be optimized. The number of parametersdepends on the type of controller and can vary. The population type is set to be a double vector. Thepopulation size specifies how many individuals are in each generation. This population size is a keyparameter in a GA run, it can determine whether a simulation is successful or not. The creation func-tion specifies the function that creates the initial population. The default creation function Uniformcreates a random initial population with a uniform distribution. With the initial population optiona user defined initial population can be used. This option can be used to put so called seeds in theoptimization. These seeds can contain a priori knowledge.

2.3.2 Fitness scaling and selection

The fitness scaling function converts raw fitness scores returned by the fitness function to values ina range that is suitable for the selection function. The fitness function is designed with high fitnessscores for erroneous individuals so they have a minimum chance of reaching te next generation. Theselection method explained below is tournament selection. For this method it is irrelevant if thefitness scores are scaled by rank (rank of the fittest individual is 1, rank of the second fittest is 2 etc),or proportional to the fitness value.

The quality of each individual is objectively determined by the scaled fitness function. To produceoffspring for the next generation a selection criterium has to be used. The selection function choosesparents for the next generation based on their scaled values from the fitness scaling function. Acommon used approach is the tournament selection method. This function randomly selects a groupof individuals, the size of this group can be determined by the tournament size. The individual withthe lowest fitness value is chosen as a parent for the next generation. This proces is continued untilpopulation size of the next generation is reached. The tournament size is a key parameter, with a largetournament size only the best individuals are selected. This results in a fast decay of the populationdiversity and increased risk of aiming at local optimum.

2.3.3 Genetic operators

To produce the next generation, the selected parents are reproduced using operators known from natu-ral genetics, such as: crossover, mutation and migration. It is possible to preserve the best individualsof the generation, this is called elitism. Elites do not undergo any genetic operations. The parameterelite count determines the number of elites.The crossover operator combines genetic material of two parents by swapping a part of one parentwith the other. If the population has a high diversity this allows large jumps in the search space. The

10

Page 15: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

crossover fraction specifies the fraction of the next generation, other than elite individuals, that areproduced by crossover. The remaining individuals, other than elite individuals, in the next generationare produced by mutation.Mutation functions make small random changes in the parameters of parents, which provide geneticdiversity and enable the GA to search a broader space. The mutation function is set to Gaussian.Gaussian mutation adds a random number to each vector entry of an individual. This random num-ber is taken from a Gaussian distribution centered on zero. The variance of this distribution can becontrolled with two parameters. The Scale parameter determines the variance at the first generation.The Shrink parameter controls how variance shrinks as generations go by. If the Shrink parameter is0, the variance is constant. If the Shrink parameter is 1, the variance shrinks linearly to a variance ofzero in the last generation.Migration is the movement of individuals between subpopulations, that are created by the algorithmif the option Population Size is set to be a vector of length greater than 1. Every so often, the bestindividuals from one subpopulation replace the worst individuals in another subpopulation. In thisreport no subpopulations are used, so no migration occurred.

2.3.4 General remarks

When designing controllers for systems that become unstable if unity feedback (or any other feedbackthat does not give the required phase lead at the bandwidth) is applied, the GA was not able to findany good controllers. An example of such a system is the PATO system discussed in Appendix D. Arandom initial population was created by the GA, but after two days of "evolution" the "best" individualwas still one with the maximum fitness score. The algorithm keeps reproducing unstable and badcontrollers, resulting in new unstable and bad controllers. This occurs because the set of parametersneeded to create a stabilizing controller, with a good fitness score, is only a very small subset of theentire search space. Because the system also has to pass the stability robustness test, the solutionspace becomes even smaller. Consequently the GA cannot find a stable solution.To solve this problem the initial generation is seeded with manually designed controllers that have a"proper" fitness value. With "proper" being anything but the maximum fitness value.

Mutation is very important for evolving towards better individuals. The power of a GA is to manipulateall parameters of an individual at the same time. But if the values of an individual’s parametersdiffer one or more orders of magnitude a problem arises. The mutations are still based on the sameGaussian distribution. This distribution has a user specified variance in the first generation. Thisvariance decreases as generations go by, and this decrease is controlled by the shrink parameter. Animportant problem is that the distribution is the same for each of the parameters, no matter what theirorder of magnitude is. This way mutation is only relevant in the beginning of the evolution for the"large" parameters, while it is only relevant for the "small" parameters near the end of the evolution.Therefore not all parameters are optimized at the same time.This is solved by adjusting the fitness function in a way that all parameters the GA manipulates arenormalized to one at the start of a run. To do this, in the fitness function the manipulated parametersare multiplied by the parameter values of the seed. For the initial generation, this results in exactlythe seed individual because all parameters are one. The idea behind this is that if the seed results in acontroller with a proper fitness value, the parameters of the optimal solution will have approximatelythe same difference in order of magnitude. The parameters optimized by the GA are now all of thesame order of magnitude, and therefore mutations are relevant for all parameters simultaneously.

Finally, there has to be a balance between the population size and the total number of generations.Both influence the result, as wel as the running time. A small population size might lead to a localoptimal solution, where a small number of generations might not give the mutations enough time toprovide genetic diversity.

11

Page 16: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

12

Page 17: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Chapter 3

Nonlinear controllers

In feedback control of servo and positioning systems, the most commonly used controller is a PID(Proportional, Integral, Derivative) controller. The proportional term makes a change to the output thatis proportional to the current error value. The proportional response can be adjusted by multiplyingthe error by a constant called the proportional gain (K p). The contribution from the integral termis proportional to both the magnitude of the error and the duration of the error. Summarizing theinstantaneous error over time (integrating the error) gives the accumulated offset that should havebeen corrected previously. The accumulated error is then multiplied by the integral gain (Ki ) andadded to the controller output. The rate of change of the process error is calculated by determiningthe slope of the error over time (i.e. its first derivative with respect to time) and multiplying this rateof change by the derivative gain (Kd ).

Servo systems are often stabilized by phase lead compensation filters around the bandwidth. Thederivative action in a PID controller is used to give phase lead. However it also results in magnitudeamplification for higher frequencies. These high gains often cause robustness problems at higherfrequencies and noise amplification. By using a lead filter ( τ1s+1

τ2s+1 ) the magnitude amplification can bereduced, but not completely removed. Levinson [15] searched for systems that are free of these gain-phase relations. He narrows his search to circuits that have gain reduction with increasing frequencybut no phase change and states that: "By appropriate tandem combination of such a circuit with the usualpassive networks, any conceivable gain and phase performance with frequency could be obtained". In orderto investigate this he answers three questions, these will be discussed below.

In the search for a gain reduction without phase change circuit, the first question to be answered is:"Can a linear circuit exhibit this behavior?". For linear networks, Bode [4] has developed a relationshipfor obtaining the attenuation characteristic corresponding to a given phase characteristic. Using thisrelationship Levinson [15] shows that a system that has 0 phase everywhere in the desired network, itmust have a constant gain value. Therefore the answer to the question is: no, a linear circuit cannotexhibit this behavior.

The second question Levinson answers is: "can a nonlinear circuit be constructed to exhibit the desiredcharacteristics in the "linear sense"?". By "linear sense" it is meant that the superposition principleis valid. Levinson shows that the answer to this second question is also negative, however this proofis quite elaborate and therefore it is omitted. The third and final question to be answered is: "cana nonlinear circuit be constructed to exhibit gain reduction with increasing frequency without phasechange in a "nonlinear sense" where the superposition principle is not valid?". The answer to thisquestion is yes. As a matter of fact, an infinity of such circuits can be constructed.

13

Page 18: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

So it should be possible to create a lead filter with magnitude attenuation using nonlinear controllers.Two nonlinear controllers designed for this purpose are discussed in this chapter. The SPAN filter [8]is discussed in Section 3.1 and the driven limiter [3] in Section 3.2.

y(t)

+_

P

r(t) e(t)

I D G

Figure 3.1: Block diagram of the closed-loop system

Figure 3.1 shows a block diagram of the closed-loop system, where y(t) is the plant output and r(t)is the reference signal, and the error is defined as e(t) = r(t) − y(t). In this figure the block with Gcontains the plant. The blocks P, I and D stand for respectively the proportional, integral and derivativeparts of the controller. Both the SPAN filter and the driven limiter replace the linear lead filter in theD block.

It is also possible replace the P and I elements by nonlinear concepts. To improve the systems perfor-mance the linear proportional block P can be replaced by a piecewise linear (PWL) gain [13]. Usuallyhigh gains lead to short rise times, but they result in large overshoots. In contrary, low gains lead tolong rise times, but have the advantage of resulting in a small overshoot. By using a piecewise lineargain, the gain values can be different for small and large errors. This way a high gain can be usedfor large errors to have a short rise time and small gains can be used for small errors to reduce theovershoot. These nonlinear gain elements are discussed in paragraph 3.3. For the integrative block Ia nonlinear controller concept has been introduced by Clegg [5] to improve performance, this conceptwill not be further discussed in this thesis. For the linear I block an integrator with a cutoff frequency( τ3s+1

s ) is used. It should be noted that no combinations of nonlinear controller concepts (e.g. a non-linear gain element and a SPAN filter) have been used. Only one of the PID blocks is replaced by anonlinear concept at the same time.

14

Page 19: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

3.1 SPAN filter

The SPAN (split-path nonlinear) filter ([1], [7], [8], [17] and [19]) is an attempt to obtain a filter whichhas independent gain and phase characteristics. Figure 3.2 shows a block scheme of a SPAN filter.This filter processes two paths and multiplies the output of the two branches. The path resulting inthe absolute value destroys all the sign information and controls the magnitude information. Thepath resulting in the sign destroys all the magnitude information (since the output is ± 1), howeverthe phase information will be maintained. Both paths contain a linear transfer function. A low-passfilter is placed in the absolute value path, and a lead filter is placed in the sign path. By doing this itis possible to have a low gain at high frequencies due to the low-pass filter in the absolute value path.But at the same time it is possible to use the lead filter in the sign path to create phase lead.

In figure 3.1 the SPAN filter takes the place of the D element. The SPAN filter gives a phase lead, justlike a regular lead filter usually placed in PID controllers for the derivative action. The only differenceis, a SPAN filter’s magnitude is not directly linked to this phase lead. It may be possible to create acontroller that can be superior to a regular PID controller, since the SPAN filter does not have limita-tions due to gain-phase relations. The simulink model of the total controller (P, I and SPAN filter) isshown in Appendix E.1.

1

1

1 st+

2

3

1

1

s

s

t

t

+

+

ABS

SIGN

X

u(t)

y1(t)

y2(t)

|y1(t)|

sign(y2(t))

y(t)

Figure 3.2: Block diagram of a SPAN filter

15

Page 20: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

u(t) y(t)limiter

1

2

1

1

s

s

t

t

+

+

K

signal to

be limited

limiting

signal

y1(t)

y2(t)

Figure 3.3: Block diagram of a driven limiter

3.2 Driven limiter

The driven limiter ([3], [17]) is another attempt to obtain independent gain and phase characteristics.In a driven limiter, the input is again split in two paths, one resulting in the limiting signal, the otherin the signal to be limited. The output y is limited as:

y = |y2| sign(y1) if |y2| ≤ |y1|= y1 if |y2| > |y1| (3.1)

To achieve phase lead, a linear lead filter is placed in the path constructing the signal to be limited.In the limiting path a gain is placed, the value of which should be between the low and high frequentgain of the lead filter. Figure 3.4 shows an example of how the signal could be limited for the chosenlinear functions in both paths. Until limiting occurs the system has the modulus, as well as the phasecharacteristics of the lead filter. When limiting occurs the modulus is limited to the gain K in thelimiting path, where the phase data is still that of the lead filter. Hereby it is possible to create phaselead, without increase in modulus for higher frequencies. Because the limiting value is not a fixedvalue, the limiter is called driven limiter.

Just like the SPAN filter from Section 3.1 the driven limiter takes the place of de D element in figure3.1. The simulink model of the total controller (P, I and driven limiter) is shown in Appendix E.1.

Ma

gn

itu

de

Frequency

1

2

1

1

s

s

t

t

+

+

K

no limiting limiting

Figure 3.4: Magnitude plot of the linear filters in both paths

16

Page 21: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

3.3 Nonlinear gain element

The nonlinear gain elements ([1], [13] and [17]) used here are all piecewise linear (PWL) gains that area function of the error. In the block diagram 3.1 the nonlinear gain element replaces the linear gain inthe P block.

High gains usually lead to short rise times, but on the downside they result in large overshoots. Incontrary, low gains lead to a long rise time, but have the advantage of resulting in small overshoots. Isit possible to diminish the overshoot without increasing the settling time, using nonlinear gains? Toanswer this question two types of nonlinear gains will be analyzed.

3.3.1 Saturated gain

A saturated gain is shown in figure 3.5. The gain K1 is linear for errors smaller than the thresholdvalue of e0. For errors larger than the threshold value the gain K2 is constant, so the output of theelement f(e) is saturated. This results in the following equation:

f (e) = −K2 if e < −e0

= K1e if |e| ≤ e0 (3.2)= K2 if e > e0

The gain K1 determines the settling behavior and gain K2 determines the rise time of the system. Theidea of this nonlinear gain element is to have a small gain for small errors and a high gain for largeerrors. This nonlinear gain setup has only two independent variables (since K2 = K1e0). This is alsoa disadvantage of this nonlinear gain model, by determining K1 and K2 the threshold value (e0) forthe error where the switch occurs is fixed. A nonlinear gain without this disadvantage is presented inthe next paragraph.

e

f(e)

K

K

e0

2

1

Figure 3.5: A saturated gain element

17

Page 22: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

3.3.2 Gain divided in two parts

Another piecewise linear gain as function of the error is a gain divided in two parts (Figure 3.6). Forlarge errors a high gain is used and for small errors a small gain is used. The equations for thisnonlinear gain are:

f (e) = K2e + (K2 − K1)e0 if e < −e0

= K1e if |e| ≤ e0 (3.3)= K2e − (K2 − K1)e0 if e > e0

e

f(e)

K

K

e0

2

1

Figure 3.6: A nonlinear gain divided in two parts

Again, the gain K1 determines the settling behavior and the gain K2 determines the rise time of a stepresponse. This nonlinear gain has three independent parameters. So the choice of e0 is irrespective ofthe gains K1 and K2. This is the gain that will be optimized in Chapter 4.

Obviously an infinity of nonlinear gain configurations can be obtained by creating a piecewise lineargain consisting of more parts. However, the more complex the nonlinear gain becomes the harder itwill be to find the correct parameters. As powerful tool to help optimizing such complex nonlineargains a genetic algorithm can be used.

18

Page 23: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Chapter 4

Controller optimization using GA

The previous chapters introduced the GA approach for optimizing step responses (Chapter 2) andnonlinear controller concepts (Chapter 3). These nonlinear controllers will now be optimized by theGA. To be able to draw conclusions regarding the quality of the nonlinear controllers compared tolinear controllers, a PID controller is optimized with the same fitness function. This PID controllerconsists of a lead filter ( τ1s+1

τ2s+1 ) as derivative action, an integrator with a cutoff frequency ( τ3s+1s ) as

integrative action and a gain (K p) as proportional action. Since a fitness value is only relative, thefitness value of the PID controller provides a reference value. The system for which the controllers areoptimized is the PATO system. This system is introduced and modeled in Appendix D.The model derived in this appendix is a linear model, since the topic of this thesis is to developnonlinear controllers for linear systems. Applying the controllers optimized for this linear system tothe experimental setup resulted in problems due to the presence of nonlinearities in this experimentalsetup. The controller optimization for the linear system model, and the problems that occur arediscussed in the first part of this chapter (Section 4.1). In order to obtain experimental verification ofthe optimized controllers, an attempt is made to take the nonlinearities in account by extending themodel. The optimization of controllers for this nonlinear model is discussed in the second part of thischapter (Section 4.2).

All controllers are optimized using a simulation time of five seconds. Most responses however havealready settled within the first two seconds. So the results are all plotted for the first two seconds ofthe response, since these give the most valuable information.

4.1 Controller optimization for linear systems

In this section four controllers are optimized for the linear PATO model. The parameters a and b fromSection 2.2.5 are changed by trial and error to balance the fitness function. This resulted in a = 1 andb = 5. The used fitness function is the same for each controller so the results can be compared.The first optimized controller is a linear PID controller. Next the nonlinear controllers introduced inChapter 3 are optimized, using the PID controller as a reference.

19

Page 24: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

4.1.1 PID controller

The simulink model for the PID controller is given in figure E.5. The optimized PID controller hasthe following performance characteristics:

fitness rise time [s] settling time [s] overshoot [%]PID controller 2.1004 0.0603 2.5304 7.4851

Applying this controller to the experimental setup caused a problem, due to the Coulomb frictionpresent in the setup. Since this controller is still linear, the principle of superposition holds. So toavoid the Coulomb friction, two input signals are applied. The first one is a fixed velocity. After thisvelocity reaches its steady state value, a second input is added to the first. This second input is the stepfor which the PID controller is optimized. By subtracting the first input signal from the output theexperimental step response is obtained. The simulated and experimental step response are shown infigure 4.1. It can be seen that the responses match. The optimization resulted in a tradeoff betweenthe overshoot and the settling time.

0 0.25 0.5 0.75 1 1.25 1.5 1.75 20

0.2

0.4

0.6

0.8

1

1.2

Time

Ste

pres

pons

e

Simulation PID controllerExperiment PID controller

Figure 4.1: Simulated and experimental step response of the optimized PID controller

0.05 0.1 0.15 0.2 0.25 0.30.9

0.95

1

1.05

1.1

1.15

Time

Ste

pres

pons

e

Simulation PID controllerExperiment PID controller

Figure 4.2: Closeup of the simulated and experimental step response of the optimized PID controller

20

Page 25: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

In the closeup in figure 4.2 it is clear that both curves show a same high frequent response. The powerspectral density (see Figure 4.3 of the simulated response clearly shows a peek around 50 Hz. This isthe frequency of the high frequent response in figure 4.2. It can be seen in the frequency response ofthe PATO system (Figures D.2 and D.3) that this is te resonance frequency for both the masses .

0 25 50 75 100 125 150−100

−50

0

50

Frequency

Pow

er S

pect

rum

Mag

nitu

de (

dB)

Figure 4.3: Power spectral density of the simulated step response

21

Page 26: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

4.1.2 Controller with a SPAN filter

The fitness function used for optimizing the PID is also used for optimizing the controller with aSPAN filter. The simulink model for this controller is given in figure E.2. The optimized SPAN filterhas the following performance characteristics:

fitness rise time [s] settling time [s] overshoot [%]Controller with a SPAN filter 0.3946 0.1186 1.4557 0.0088

This is a significant improvement in comparison with the reference PID controller. The overshootalmost completely vanished. The settling time is reduced by roughly a factor two. The rise timehowever increased. There is no direct fitness penalty for the rise time, therefore it is not directlyminimized by the algorithm. The rise time is only used for the calculation of the delay in the stabilityrobustness check (see Section 2.2.2). The improved results can also be seen in figure 4.4.

0 0.25 0.5 0.75 1 1.25 1.5 1.75 20

0.2

0.4

0.6

0.8

1

1.2

Time

Ste

pres

pons

e

Simulation PID controllerSimulation controller with SPAN filter

Figure 4.4: Simulated step response of the optimized controller with a SPAN filter, and the PID reference

In this figure it can also be seen that the controller with a SPAN filter does not show the same highfrequent response as observed when using a PID controller. The explanation for this may be foundin the fact that the SPAN filter gives more phase lead. This stronger derivative action may lead tomore damping, which reduces the high frequent behavior. Another possible explanation is that thecontroller with a SPAN filter does not excite the resonance frequencies.

Note that these results are simulations only. Applying this nonlinear controller to the experimentalsetup resulted in the same problems with Coulomb friction as discussed before. Unfortunately theprinciple of superposition no longer holds, due to the present nonlinearities. The response obtainedfrom the experiments is shown in figure 4.5. The influence of friction in this PATO system is of greatimportance. In an attempt to implement a nonlinear controller to the experimental setup successfully,a model with friction will be used in Section 4.2.

22

Page 27: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.2

0.4

0.6

0.8

1

1.2

Time

Ste

pres

pons

e

Experiment controller with SPAN filter

Figure 4.5: Experimental step response of the optimized controller with a SPAN filter

Describing function of the SPAN filter

The controller with SPAN filter performs significantly better than the PID reference. In what con-troller did the GA optimization result? To gain more understanding of the SPAN element, the de-scribing function theory is used (see Appendix C).

10−1

100

101

102

−25

−20

−15

−10

−5

0

Mag

nitu

de [d

B]

10−1

100

101

102

−10

0

10

20

30

40

Frequency [Hz]

Pha

se [d

egre

es]

Figure 4.6: Describing function of the SPAN filter optimized for the linear model

Figure 4.6 shows the describing function of the SPAN filter. The filter has a reduction of the gainwith increasing frequency and phase lead with increasing frequency. This is impossible for linearcontrollers. The advantages of a SPAN filter introduced in Section 3.1 are also found and used by thegenetic algorithm.

23

Page 28: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

4.1.3 Controller with a driven limiter

The controller with a driven limiter is also optimized for the same fitness function. The simulinkmodel of the controller with a driven limiter is given in figure E.3. The controller with a driven limiterhas the following performance characteristics:

fitness rise time [s] settling time [s] overshoot [%]Controller with a driven limiter 1.0877 0.0511 2.1802 2.9164

The driven limiter reduces the settling time by ±0.35 seconds, and the overshoot roughly a factor2.5. The rise time is also shorter, although this does not directly result in a lower fitness value. Theresponse of the controller with the driven limiter, and that of the PID reference is shown in figure 4.7.

0 0.25 0.5 0.75 1 1.25 1.5 1.75 20

0.2

0.4

0.6

0.8

1

1.2

Time

Ste

pres

pons

e

Simulation PID controllerSimulation controller with a driven limiter

Figure 4.7: Simulated step response of the optimized controller with a driven limiter, and the PID reference

Just like the controller with a SPAN filter, the controller with a driven limiter does not show the highfrequent response observed when using the PID controller. The reasons for this are likely the same asin Section 4.1.2.

24

Page 29: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Describing function of the driven limiter

The describing function of the driven limiter is shown in figure 4.8. The element gives phase lead,however it has a gain that increases with frequency. Bode [4] postulated a relationship between thephase and modulus for linear networks. So it is possible to use the phase data from the driven limiterto construct the magnitude data that would have been given by a linear filter. This "linear" magnitudeis also plotted in figure 4.8. From this it can be observed that the driven limiter has less increase ingain with increasing frequency, compared to a linear lead filter with the same phase characteristic.

10−1

100

101

102

0

5

10

15

Mag

nitu

de [d

B]

10−1

100

101

102

0

10

20

30

40

50

Frequency [Hz]

Pha

se [d

egre

es]

Magnitude nonlinearMagnitude linear

Figure 4.8: Describing function of the driven limiter optimized for the linear model

25

Page 30: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

4.1.4 Controller with a nonlinear gain element divided in two parts

The controller with the nonlinear gain element from Section 3.3.2 is also optimized for the same fitnessfunction. The simulink model of the controller with a nonlinear gain element is given in figure E.4.The controller with a nonlinear gain element has the following performance characteristics:

fitness rise time [s] settling time [s] overshoot [%]Controller with a nonlinear gain element 0.7602 0.2862 0.4259 2.3744

The controller with a nonlinear gain element reduces the overshoot by roughly a factor 2.5 and thesettling time by roughly a factor 6. However, the system rises slowly, the rise time is four times thatof the PID reference. Since this does not directly lead to a fitness penalty, the fitness score is still low.The step response of the controller with a nonlinear gain, and that of the PID reference is shown infigure 4.9.

0 0.25 0.5 0.75 1 1.25 1.5 1.75 20

0.2

0.4

0.6

0.8

1

1.2

Time

Ste

pres

pons

e

Simulation PID controllerSimulation controller with a nonlinear gain element

Figure 4.9: Simulated step response of the optimized controller with a nonlinear gain element, and the PID reference

The slow rise time can be explained by the small value of the gain K2 = 1.08 · 10−4 at larger errors.The other optimized parameters are: K1 = 5.53 · 10−3 and e0 = 1.27 · 10−2. This in contrast to whatis expected in section 3.3.2. The GA optimization is performed several times, with similar results.So instead of using a large gain for large errors and a small gain for small errors, the GA finds anoptimum controller for this fitness function that has a small gain for large errors and a large gain forsmall errors. By slowly approaching the reference value there will not be a large overshoot. Whenthe threshold value is passed, the gain is made higher so that the system remains rigidly fixed at thereference value.

The results from the previous tests did not match the expectations of a small gain for small errors anda high gain for large errors. To see if the outcome does match the expectations when a faster rise timeis required, the rise time is added to the fitness function. By changing the fitness function, the resultscan no longer directly be compared to the other results so no conclusions will be drawn regardingcomparison with other controller concepts. The rise time penalty is added to the fitness function:f = f + Tr/c. Where c can be used just like a and b from Section 2.2.5 to balance the fitness functionby trail and error. This resulted in: a = 1, b = 5 and c = 0.2.

26

Page 31: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Performing a run with the adjusted fitness function resulted in the following performance character-istics:

fitness rise time [s] settling time [s] overshoot [%]Controller with a nonlinear gain element 2.6688 0.0523 1.1205 5.8836

0 0.25 0.5 0.75 1 1.25 1.5 1.75 20

0.2

0.4

0.6

0.8

1

1.2

Time

Ste

pres

pons

e

Simulation controller with a nonlinear gain element

Figure 4.10: Simulated step response of the optimized controller with a nonlinear gain element

By adding a penalty for the rise time to the fitness function, the GA is encouraged to optimize it. Thecontroller developed here does have a high gain for large errors and a small gain for small errors:K1 = 6.119 · 10−3 and K2 = 0.2217. So this controller does match the expectations.

4.1.5 Summary

Each of the presented nonlinear controllers can outperform the reference PID controller, they canimprove the response and result in a better fitness value. However one controller can improve a certainperformance criteria significantly more than the other. The controller with a SPAN filter makes theovershoot almost vanish. The nonlinear gain element shows the best results regarding the settlingtime. The controller with a driven limiter improves every performance aspect. For this fitness criteriathe controller with SPAN filter has the lowest fitness value and therefore the best performance.

fitness rise time [s] settling time [s] overshoot [%]PID controller 2.1004 0.0603 2.5304 7.4851Controller with a SPAN filter 0.3946 0.1186 1.4557 0.0088Controller with a driven limiter 1.0877 0.0511 2.1802 2.9164Controller with a nonlinear gain element 0.7602 0.2862 0.4259 2.3744

27

Page 32: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

4.2 Controller optimization for nonlinear systems

Due to the nonlinearities present in the experimental PATO setup, the step responses for nonlinearcontrollers cannot be verified. In order to make this verification possible, the nonlinearities are mod-eled in Appendix D.2. By adding these friction properties, the model is no longer linear. Anotherattempt to reduce the effect of friction is made by increasing the step value from 1 to 10 rad. A moreaggressive input signal leads to higher actuator voltages (still limited by umax ). In the fitness func-tion parameters such as the tolerance band and the overshoot where already scaled with respect to thestep size. The parameters a and b from Section 2.2.5 are again used to balance the fitness function,resulting in a = 1 and b = 10.

4.2.1 PID controller

Optimizing the reference PID controller for this new model resulted in the following performancecharacteristics:

fitness rise time [s] settling time [s] overshoot [%]PID controller 8.7282 0.1651 2.0053 17.0513

Again there is a tradeoff between overshoot and settling time. Even though the step size is larger,the settling time is shorter than for the controller optimized in Section 4.1.1. The downside is theovershoot, that is 10% higher. So when the fitness function was balanced by changing the parametersa and b from Section 2.2.5 the weight shifted towards settling time. The simulated and experimentalresponses are shown in figure 4.11. Note that these results have been obtained without using the prin-ciple of superposition which was required in Section 4.1.1. The experimental response starts faster andshows a smaller overshoot, but a larger settling time than the simulated response. The experimentalresponse also shows oscillations, these are probably caused by the friction, resulting in a limit cycle.

0 0.25 0.5 0.75 1 1.25 1.5 1.75 20

2

4

6

8

10

12

Time

Ste

pres

pons

e

Simulation PID controllerExperiment PID controller

Figure 4.11: Simulated and experimental step response of the optimized PID controller

28

Page 33: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

4.2.2 Controller with a SPAN filter

Optimizing the controller with a SPAN filter for the new model using the same fitness function as inSection 4.2.1 resulted in the following performance characteristics:

fitness rise time [s] settling time [s] overshoot [%]Controller with a SPAN filter 2.2678 0.1841 0.2981 0.6177

The settling time is significantly shorter than for the controller optimized in Section 4.1.1, the over-shoot is a bit higher but still below 1%. So again it is clear the weight of the fitness function has shiftedtowards settling time.The simulated and experimental response are shown in figure 4.12. With the friction modeled it ispossible to obtain a step response similar to the simulated response. This experimental response alsostarts faster and shows a smaller overshoot, it also shows oscillations like the experimental responseof the PID controller. These are probably also caused by limit cycling due to friction.

0 0.25 0.5 0.75 1 1.25 1.5 1.75 20

2

4

6

8

10

12

Time

Ste

pres

pons

e

Simulation controller with SPAN filterExperiment controller with SPAN filter

Figure 4.12: Simulated and experimental step response of the optimized controller with a SPAN filter

The measured response of the controller with SPAN filter and the reference PID controller are shownin figure 4.13. The rise times of both responses is similar, but the controller with a SPAN filter clearlyoutperforms the reference PID controller on the criteria settling time and overshoot. The simulatedresponse of the controller with a SPAN filter and the PID reference is shown in figure E.2.

29

Page 34: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

0 0.25 0.5 0.75 1 1.25 1.5 1.75 20

2

4

6

8

10

12

Time

Ste

pres

pons

e

Experiment PID controllerExperiment controller with SPAN filter

Figure 4.13: Experimental step responses of the optimized controller with a SPAN filter, and the PID reference

Describing function of the SPAN filter

Figure 4.14 shows the describing function of the SPAN filter optimized for the nonlinear model. Thefilter again has a reduction of the gain with increasing frequency and phase lead with increasingfrequency.

10−1

100

101

102

−50

−40

−30

−20

−10

0

Mag

nitu

de [d

B]

10−1

100

101

102

−20

0

20

40

60

Frequency [Hz]

Pha

se [d

egre

es]

Figure 4.14: Describing function of the SPAN filter optimized for the nonlinear model

30

Page 35: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

4.2.3 Summary

The weight of the fitness function is shifted slightly towards the settling time. This however is not aproblem, since both compared controllers are still optimized according to the same fitness function.Both the experimental results show a similar rise time, but the controller with a SPAN filter signifi-cantly outperforms the reference PID controller on the criteria settling time and overshoot.The friction model is probably too simple to give an accurate friction estimation. That is why the ex-perimental responses both show the same sort of deviation from the simulated responses. Althoughthe model for the friction is simple, it still allows us to experimentally verify that the controller with aSPAN filter outperforms the linear PID controller.

The rise times of both responses is similar, but the controller with SPAN filter clearly outperforms thereference PID controller on the criteria settling time and overshoot.

fitness rise time [s] settling time [s] overshoot [%]PID controller 8.7282 0.1651 2.0053 17.0513Controller with a SPAN filter 2.2678 0.1841 0.2981 0.6177

31

Page 36: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

32

Page 37: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Chapter 5

Conclusions and recommendations

5.1 Conclusions

In this thesis, a fitness function based on time domain characteristics is discussed. By using thisfitness function as a quality measure in an evolutionary algorithm it is possible to optimize controllerswith the weight of the different criteria specified by the user.Three concepts of nonlinear controllers have been discussed and optimized. Since the fitness valuesare relative, a PID controller is optimized for the same criteria. This PID controller is used as areference.Each of the presented nonlinear controllers is capable to outperform the reference PID controller. Theycan all improve the simulated response and result in a better fitness value. However, one controllerconcept may improve a certain performance criteria significantly more than the other.The describing function of the SPAN filter shows that it is possible to create phase lead with magnitudeattenuation. The step responses of the controller with a SPAN filter are superior to that of the referencePID controller, so as expected, the combination of phase lead with magnitude attenuation results ingood performance.The describing function of the driven limiter shows phase lead, but with magnitude increase withincreasing frequency. It is shown that this magnitude increase is less then the magnitude increasegiven by the a linear lead filter that has the same phase characteristics.By adding friction to the model it is possible to experimentally verify the performance of a nonlinearcontroller. The used friction model is probably too simple to give an accurate friction estimation.This is why the experimental responses of the controller with SPAN filter and the PID controller bothshow the same sort of deviation from the simulated responses. Although the model for the friction issimple, it still allows experimental verification of the simulated responses. The experimental responseof the controller with a SPAN filter and the PID controller both show similar rise times. A nice resultis that the SPAN filter performs significantly better on the criteria settling time and overshoot.

33

Page 38: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

5.2 Recommendations

• The friction model used in this thesis was perhaps too simple. Using a more detailed frictionmodel should lead to more correspondence between the simulated and experimental data. An-other option is of course to use a system that has neglectable nonlinear characteristics, e.g. noCoulomb friction.

• Besides the controller with a SPAN filter, driven limiter or nonlinear gain element also othernonlinear controller concepts can be tested, such as the Lewis servo or the Clegg integrator.

• The nonlinear gain element is here split in two parts. This can be extended to more parts withmore design parameters to see if a better result can be obtained. Manual tuning will be tedious,but with an evolutionary algorithm tuning should be no problem.

• Not the application of the genetic operators, but the evaluation of the controllers by simulationsconsumes by far the most of the computation time. The evolution speed can be considerablyincreased when parallel computing is applied.

• The fitness function contains only a rather limited stability robustness test. By increasing thenumber of simulations the stability robustness can be tested for a variety of step reference sig-nals, gain perturbations and delay perturbations. This would give more insight in the stabilityrobustness, but at the cost of more computation time.

• Because the entire first generation is populated by the same seed file, the outcome of the evolu-tionary algorithm might be only a local optimum. To prevent this, long runs are used and a lotof genetic diversity is added (e.g. by starting with large mutations, linearly shrinking to zero).However, this gives no guarantee of finding a global optimum. Therefore methods could bestudied that help the GA narrow the search space, so inserting a seed file is no longer necessary.

• To see how well these nonlinear controller concepts perform compared to other controllers, theycould be used as seeds for a Genetic Programming run. Here not only the parameters, but alsothe controller structure can be altered.

34

Page 39: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Bibliography

[1] W. Aangenent, R. v.d. Molengraft, M. Steinbuch, Nonlinear Control of a Linear Motion System,Technical University Eindhoven, Eindhoven, 2005.

[2] D.P. Atherton, Nonlinear control engineering, Van Nostrand Reinhold Co., London & New York,1975.

[3] A.R. Bailey, Stabilisation of control systems by use of driven limiters, IEE, 1966.

[4] H. Bode, Network analysis and feedback amplifier design, D. van Nostrand, New York, 1945.

[5] J.C. Clegg, A Nonlinear Integrator for Servomechanisms, AIEE, 1958.

[6] J.M. Dolsma, Nonlinear controller design based on genetic programming, DCT 2007.107, TechnischeUniversiteit Eindhoven, 2007.

[7] M.H. Fong, and W.W. Szeto, Application of a nonlinear filter to a conditionally stable system, Lock-heed Missiles & Space Company, Sunnyvale, 1980.

[8] W.C. Foster, D.L. Gieseking, and W.K. Waymeyer, A Nonlinear Filter for Independent Gain andPhase, Douglas Aircraft Company, Santa Monica, 1966.

[9] A. Gelb, and W.E. Van der Velde, Multiple-input describing functions and nonlinear system design,McGraw-Hill Book Co., New York, 1968.

[10] A. Gelb, and R.S. Warren, Direct statistical analysis of nonlinear systems: CADET, AIAA JournalVol. 11, No. 5, 1973, 689–694.

[11] D.N. Hannebrink, H.S. Lee, H. Weinstock, and J.K. Hedrick, Influence of axle load, track gauge,and wheel profile on rail vehicle hunting, Trans. ASME J. Eng. Ind., 1977, 186–195.

[12] J. Holland, Adaption in Natural and Artificial Systems, The University of Michigan Press, AnnArbor, 1975.

[13] R.E. Kalman, Phase-Plane Analysis of Automatic Control Systems with Nonlinear Gain Elements,AIEE, 1955.

[14] I.E. Kazakaov, Generalization of the method of statistical linearization to multidimensional systems,Automatika i Telemekhanika, Vol. 26, 1965, 1210–1215.

[15] E. Levinson, Gain reduction without phase change, a property of non-linear circuits, Polytechnic In-stitute of Brooklyn, Brooklyn, 1956.

[16] J.B. Lewis, The Use of Nonlinear Feedback to Improve the Transient Response of a Servomechanism,AIEE, 1953.

[17] R. Mulder, Nonlinear Control for Linear Systems, Philips Electronics, Nat.Lab., Eindhoven, 1995.

[18] J.H. Taylor, An algortithmic state-space/describing function technique for limit cycle analysis, TIM-612-1 for the office of naval research, the analytic sciences corporation (TASC), Reading, Mas-sachusetts, 1975

[19] L.M. Zoss, A.G. White, and J.E. Marsch, A nonlinear three response controller with two responseadjustment, Instrument Society of America, 1968.

35

Page 40: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

36

Page 41: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Appendix A

Nomenclature

Symbols

f Fitness valueOs Overshootsamp Step amplitudet TimeTr Rise timeTs Settling timeumax Actuator limit

Greek symbols

δ Tolerance bandκm Gain marginτm Delay marginφm Phase margin

Abbreviations

C Linear part of the controllerDF Describing FunctionFRF Frequency Response FunctionGA Genetic AlgorithmGUI Graphical User InterfaceHOSIDF Higher Order Sinusoidal-Input Describing FunctionIAE Integral of the absolute errorLTI Linear Time InvariantNL NonlinearPID Proportional, Integral, DerivativePSD Power Spectral DensityPWL Piecewise LinearRIDF Random-Input Describing FunctionSIDF Sinusoidal-Input Describing FunctionSPAN Split Path Nonlinear

37

Page 42: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

38

Page 43: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Appendix B

Fitness function

function f = fitness(par)

%FITNESS - Return a objective fitness value which indicates the performance% of a controller design.

% Bachelor Thesis% 2008 - T.M.P. Gommans% Based on code by ir. J.M. Dolsma

%--------------------------------------------------------------------------% PARAMETERS%--------------------------------------------------------------------------

% par(1) = par(1)*seed(1);% par(2) = par(2)*seed(2);% par(3) = par(3)*seed(3);% par(4) = par(4)*seed(4);% par(5) = par(5)*seed(5);

%assign controller parametersassignin(’base’, ’tau1’, par(1));assignin(’base’, ’tau2’, par(2));assignin(’base’, ’tau3’, par(3));assignin(’base’, ’tau4’, par(4));assignin(’base’, ’Kp’, par(5));

%reference trajectory parametersdt = .005; %sample time for referenceT = 5; %simulation timeAmpl = 1; %amplitude of step

%requirement parametersphasemargin = (pi/30); %to compute extra delay [-]gainmargin = 1.3; %add gain perturbation (no perturbation = 1)

%load settingss = load(’Settings.mat’);settings = s.opts;

%load controllerga_controller = ’controller’;

%--------------------------------------------------------------------------% SETUP SIMULINK MODEL%--------------------------------------------------------------------------

% SETUP CLOSED-LOOP SYSTEMsetup_closedloop(settings.SystemModel, ga_controller);

%--------------------------------------------------------------------------% DETERMINE FITNESS VALUE%--------------------------------------------------------------------------

39

Page 44: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

%reset parametersf = 0;delay = 0;

%time vectort = [0:dt:T]’; %time vector (n-by-1 matrix)

%------ Determine step response (without delay and gain pertubation) ------

%step referenceur = ones(length(t),1).*Ampl;dur = zeros(length(t),1);ddur = zeros(length(t),1);

%sensor noise and disturbancesun = (2*rand(length(t),1))*settings.NoiseAmplitude;ud = (2*rand(length(t),1))*settings.DisturbanceAmplitude;

%remove disturbancesset_param([settings.SystemModel,’/SimpleMass/Gain’], ’Gain’, ’1’);set_param([settings.SystemModel,’/SimpleMass/Delay’],’DelayTime’,’0’)

%create input vectorsinputs(:,settings.ModelIn.PlantOut) = un;inputs(:,settings.ModelIn.ContrOut) = ud;inputs(:,settings.ModelIn.RefAcc) = ddur;inputs(:,settings.ModelIn.RefVel) = dur;inputs(:,settings.ModelIn.RefPos) = ur; %only position input is used

%(feedback only)

%calculate step response of closed-loop[y1, sim_error] = simmodel(settings, t, inputs);

if sim_errorf = settings.BadSimPenalty;OsStep = 100; TsStep = T; TrStep = T;

else[Os, Ts, Tr] = stepspecs(t, y1(:,1),ur(end),settings.SettlingAccuracy);absE = abs(y1(:,1)-ur);

% plot(t,y1(:,1)) %plot stepresponse of the nominal% %closed-loop system

%estimation of delay to achieve sufficient phase margindelay = phasemargin*Tr;

%integral of absolute errorIAE = sum(absE)*dt;f = f + IAE;

%settling time constraintf = f + Ts/a;

%add extra overshoot penaltyf = f + Os/b;

% Limit controller outputmaxU = max(abs(y1(:,settings.ModelOut.ContrOut)));if maxU > settings.ActuatorLimit

f = f + settings.ConstraintPenalty;end

%------ step response (with delay and gain perturbation) ------% goal: stability robustness (based on delay margin and gain margin)

%add time delay (based on step response rise time)set_param([settings.SystemModel,’/SimpleMass/Gain’], ’Gain’, num2str(gainmargin));set_param([settings.SystemModel,’/SimpleMass/Delay’],’DelayTime’,num2str(delay));

%calculate response of the closed-loop[y2, sim_error] = simmodel(settings, t, inputs);

if sim_errorf = settings.BadSimPenalty;

else

% plot(t,y2(:,1)) %plot stepresponse of the% %perturbed closed-loop system

Abserror = abs(y2(:,1) - ur);

40

Page 45: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

index = length(Abserror)-(0.2*T/dt);Abserror = Abserror(index:end);Unstable = find(Abserror > Ampl);if length(Unstable)>0f = settings.BadSimPenalty;

endend % sim_error step response (with delay/gain)

end % sim_error step response (without gain/delay)

%check validity of fif not(exist(’f’))

f = settings.BadSimPenalty;elseif not(isfinite(f)) | f > settings.BadSimPenalty | f < 0 | not(imag(f) == 0)

f = settings.BadSimPenalty;end

%--------------------------------------------------------------------------% TERMINATION%--------------------------------------------------------------------------

%Save best controllers to list.mat, close opened simulink files for next%fitness function evaluation.global Aif isempty(A) & (f < 1e10)

A(size(A,1)+1,:) = [ f par ];save list A

elseif isempty(A) & (f >= 1e10)bdclose(’all’);return

elseif (f < A(size(A,1),1))A(size(A,1)+1,:) = [ f par ];save list A

end

bdclose(’all’);

41

Page 46: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

42

Page 47: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Appendix C

Describing functions

Describing functions and theory represent a powerful mathematical approach for understanding (ana-lyzing) and improving (designing) the behavior of nonlinear systems. The basic idea of the describingfunction (DF) approach for modeling and studying nonlinear system behavior is to replace each non-linear element with a quasilinear descriptor or describing function whose gain is a function of inputamplitude. The functional form of such a descriptor is governed by several factors, including the typeof input signal, which is assumed in advance, and the approximation criterion (minimization of themean squared error). Two categories of DFs have been particularly successful, namely sinusoidal-input describing functions (SIDFs) and random-input describing functions (RIDFs), depending uponthe class of input signals under consideration. This technique is dealt with in various texts for the caseof systems with a single nonlinearity, see [9] and [2]. For systems with multiple nonlinearities in arbi-trary configurations, see [14] and [10] in the case of RIDFs and [18], [11] for SIDFs. The SIDF approachcan be generally used to study periodic phenomena. It is applied for two primary purposes: limitcycle analysis and characterizing the input/output behavior of a nonlinear element in the frequencydomain. This latter application can serve as as the basis for a variety of control system analysis anddesign methods. The types of nonlinearities that can be studied via the DF approach are very general,nonlinearities that are discontinuous and even multivalued can be considered, the order of the systemis also not a serious limitation. It is not necessary to limit the analysis to only first order describingfunctions. Higher order sinusoidal input describing functions (HOSIDF) give information about thepresence of higher harmonics of the driving signal in the output of the system.

For this project describing function theory is not a research topic, it is merely used for analyzing thecontrollers constructed by the GA. Therefore it suffices to mention that first order sinusoidal-inputdescribing functions are used.

43

Page 48: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

44

Page 49: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Appendix D

PATO-system

The PATO system is a dual rotary 4th order motion system. It consists of a load which is connectedto a motor by a thin, flexible bar. The system can be modeled as two double integrators connected bya spring and a damper. A dynamical model of the PATO system is fit on the frequency response data.A picture of the system, and an illustration of the model are shown in figure D.1.

Figure D.1: A picture of the PATO system (left) and an illustration of the dynamical model (right)

The dynamical model consists of two differential equations, one for each mass:

J1 x1 = c(x2 − x1)+ d(x2 − x1)+ u (D.1)J2 x2 = c(x1 − x2)+ d(x1 − x2) (D.2)

This dynamical model is written in state space form, resulting in:

x = Ax + Bu (D.3)y = Cx + Du (D.4)

45

Page 50: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

With x = [x1 x2]T and:

A =

0 1 0 0−c/J1 −d/J1 c/J1 d/J1

0 0 0 1c/J2 d/J2 −c/J2 −d/J2

C =[

1 0 0 00 0 1 0

]

B =

01/J1

00

D = [ 0]

There are two encoders (x1 and x2) in the system, one on each mass. The system can be controlledin the side of the motor and on the side of the load. The load side is the most interesting side from acontrol point of view, therefore this side is chosen for the controller design.

D.1 Frequency response function

The frequency response is the spectrum of the vibration of the mechanical system divided by thespectrum of the input force to the system. This frequency response data is used to fit the modelsparameters. Since this fitting is considered irrelevant regarding the subject of this report, the detailsare omitted. During the frequency response measurement the system is rotating at a fixed speed, withadditional noise added to the controller output. By rotating the system at a fixed speed there is noCoulomb friction present.

This resulted in the following frequency response data:

Figure D.2: Frequency response data and the fitted model at the motor side

Due to heavy fluctuations in the phase plot of the experimental data, it is omitted for clarity reasons.

46

Page 51: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Figure D.3: Frequency response data and the fitted model at the load side

The parameters of the fitted model are:

J1 = 0.00020492J2 = 0.00016033d = 0.00016405

c = 9.8012

47

Page 52: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

D.2 Coulomb and viscous friction

The controllers optimized on the linear model presented above did not show the same response onthe experimental PATO system. This is due to the Coulomb and viscous friction that are present in thephysical system, but not accounted for in the model. Due to this difference experiments on the modeland on the actual system can not be compared. In order to make this comparison possible, the frictionhas to be accounted for in the model. By introducing friction in the model, it will become nonlinear.

To account for the friction in the model, the open loop system is tested for several input voltages.These input voltages are plotted against the steady state rotational speed. The curve in equation D.5 isfitted on the experimental results (see Figure D.4).

y = sign(x) · (Gain · abs(x)+ O f f set) (D.5)

Figure D.4: Experimental friction data and fitted curve

The offset (equation D.5) represents the Coulomb friction, the system wont start rotating until it canovercome this friction. As soon as it does overcome this friction (± 0.13 Volt input) it accelerates to themaximum rotational speed. The rotational speed is about constant for any voltage above the voltageneeded to overcome the Coulomb friction. Consequently the gain (equation D.5) is almost zero. Sothere is hardly any viscous friction.

To add the friction to the model, the simulink block "Coulomb and Viscous Friction" is used. Thisblock is placed on the output of the controller. The parameters of this block are the Offset and Gainvalue from equation D.5, they are determined by fitting the curve onto the experimental data and are0.1297 and 0.000032333 respectively.

48

Page 53: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Appendix E

Additional Figures

E.1 Simulink models

Simulink model of the closed-loop system

The feedback system (Figure E.1) is used for the GA optimization. The two feedforward ports are notused. The controller block contains the specific controller model. The Plant block contains the modelof a system for which the controller is optimized.

Figure E.1: Simulink model of the closed-loop system

49

Page 54: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Simulink model for controller with a SPAN filter

Figure E.2: Simulink model for a controller with a SPAN filter

Simulink model for controller with a driven limiter

Figure E.3: Simulink model for a controller with a driven limiter

50

Page 55: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

Simulink model for controller with a nonlinear gain element

Figure E.4: Simulink model for a controller with a nonlinear gain element

Simulink model for a PID controller

Figure E.5: Simulink model for a PID controller

51

Page 56: Nonlinear Controller Design for Linear Motion …mate.tue.nl/mate/pdfs/9389.pdf1.1 Problem statement The problem statement can be summarized as follows: Investigate the possibilities

E.2 Results

0 0.25 0.5 0.75 1 1.25 1.5 1.75 20

2

4

6

8

10

12

Time

Ste

pres

pons

e

Simulation PID controllerSimulation controller with SPAN filter

Figure E.6: Simulated step responses of the optimized controller with a SPAN filter, and the PID reference

52