## EE420: electrical engineering

The purpose of this project is that you learn to tackle a fairly challenging/realistic control

design problem. The project is to be an individual effort.

Problem description

The figure on the right1

shows a

simplified version of a magnetic

levitation system that can be built in a

laboratory, where a ball of magnetic

material is suspended by means of an

electromagnet whose current is

controlled by feedback from the

optically measured ball position. To

quote the excellent reference [1], “this

system has the basic ingredients of

systems constructed to levitate mass,

used in gyroscopes, accelerometers, and

fast trains”.

Several such examples are given in

many technical references, some of

which I have listed and are posted on

Blackboard.

In any case, the equation of motion of

the ball is

m

y

ky

mg F( y,i) (1)

where m is the mass of the ball, y 0 is the vertical (downward) position of the ball measured

from a reference point (y = 0 when the ball is next to the coil), k is a viscous friction

coefficient, g is the gravitational acceleration constant, and F(y,i) is the force generated by

the electromagnet, i 0 being the coil current. The force

F( y,i)

is related to the energy

( , ) ( ) / 2

2 E y i L y i

(where

L( y)

is the position-dependent coil inductance) stored in the coil

by

(2)

2 (1 / )

( , )

( , )

2

2

0

a y a

L i

y

E y i

F y i

where

L , a 0

are positive constants. This completes the system model if one controls the

position by manipulating the coil current directly. The equations for controlling the ball

position by varying the coil voltage v include the additional equation

( )

dt

d Li

v Ri (3)

(1 / ) (1 / )

0

2

0

dt

di

y a

L i

y

a y a

L i

Ri

, but this makes the problem harder (you can try this

if you want!), and so we will stick to designing the current and not the voltage.

1 This image extracted from http://www.fbk.com/pdfs/control/matlab.pdf

Control objective

1. It is desired to balance the ball at a certain position r > 0. Based on a linearized model

of the nonlinear plant, design a compensator Gc(s), the input to which is the error

e = r – y, and whose output is the coil current i, such that the specifications shown

below are all satisfied:

(i) When the parameters of the system are exactly known, the steady-state error

for a constant r must be ≤ 5%. You must not include an integrator as part of

your controller. You are free to choose any configuration, lead, lag, lead-lag,

feedforward, non-unity gain, whatever you wish, except that the system must

not be type 1.

(ii) Redesign your controller in the above part to meet the same specifications

even when the parameters are perturbed from their nominal values. In this

case, design the controller as an integral controller.

Numerical values for the parameters are as specified (taken from [1]):

m 0.1kg, k 0.001N / m /s, g 9.81m /s ,a 0.05, L0 0.01H

2

Tasks to be completed

(1) Find the steady-state value Iss of the current required to balance the ball at an arbitrary

desired equilibrium point y = r > 0.

(2) Linearize the nonlinear equations specified in the “problem description” section about

the desired operating point to obtain the linearized model

( )

( )

( )

i s

y s

G s p

where

ss y (t) y(t) r,i (t) i(t) I

denote the deviations of the position and current

respectively about their desired equilibrium values. Since the point

( , 0, )

ss y r y

i I

is an equilibrium point, if we start there, we will stay there for ever (that’s what it means

to be an equilibrium point). Show that this equilibrium point in unstable, i.e., there are

poles of

G (s)

p

in the right-half complex s-plane. What this physically means is that if

the ball were moved by an infinitesimally small value from its equilibrium position (or

equivalently, if the current changed slightly from its equilibrium value), the ball will

move away from its equilibrium position. This is what necessitates the use of a

compensator, we want to “stabilize” this equilibrium point, along with possibly meeting

some nice (transient and steady-state) performance specifications.

(3) For your linearized plant

G (s)

p

, design a linear compensator

G (s)

c

to regulate the value

of the output to y = r = 0.05m.

A very important observation is that your linear compensator deals with the deviations

from the equilibrium values !! In other words, you are not designing the current i, but

the current

( ) .

ss i t i I

Do not use integral control!

Perform simulations in simulink with your compensator design to verify that the

specifications have been satisfied. Only your compensator should be linear, the plant

should be the nonlinear, in other words, you must design for a linear system, but

evaluate your controller’s performance on the nonlinear system. Plots should

indicate that the responses of the various signals are satisfactory.

(4) How far up from the equilibrium point can you move the ball (i.e, you will have to

specify an initial condition for the ball’s position, and its velocity, when you simulate the

system in simulink) and still return to the equilibrium position ? How far down ? If the

system were truly linear, what would these values be ?

(5) Using simulation, study the effect of perturbations of the mass m on your controller.

Using simulation, determine by how much you can change the mass and still have the

steady-state specs of SSE ≤ 5% met. Note that only the plant changes, the controller is

still the same (i.e., the one you designed for m = 0.1 kg).

(6) The previous part shows that when the parameters are perturbed, there is a steady-state

error. Redesign your control using integral control (PID) to get rid of the steady-state

error. Now by simulation, study the effect of mass perturbations on your controller.

(7) In none of the previous simulations did we impose realistic constraints on the control

magnitude. Suppose now that the control magnitude is limited to

| | 15 . i I max

A

Place

a limiter in your simulink model, and compare your results in steps (3) – (6) with what

you get when the control is saturated, i.e., whether or not the range of values by which

you can move the ball from the equilibrium position and/or the range of perturbations

has decreased. This will be the case if the transient performance specs you chose were

unrealistic, i.e., required a large control effort to meet the specs. Then, in the presence of

constraints on the control magnitude, your performance, as expected, should suffer.

(8) Discretize your compensator

G (s)

c

in (7) to get a discrete compensator

G (z)

c

. Choose

the sampling period T sufficiently small. The input to the discrete compensator must be

sampled, and the output of the compensator must be “held”, using a (zero-order hold)

ZOH. Only the compensator must be discretized, the control must still be applied to the

continuous-time nonlinear plant. Simulate the behavior of the closed-loop system, and

comment on the performance. How does the choice of sampling rate affect the

performance of the controller?

(9) (If time permits and for extra credit)

Look up papers/texts in the literature (for example [1,3]) on what nonlinear control

methods have been used (these are all based on the state-space approach, because there

is no transfer function if the system is nonlinear) in the control of magnetic levitation.

Can you at least simulate such a controller in simulink ?

You are expected to submit a typed report summarizing your work. You can use any

word processing system that you like. Typesetting systems such as LaTeX are especially

recommended. The lengths of the reports may vary, but I am expecting that you will

need at least 10 pages including simulink screenshots/plots and/or any matlab code.

Some components that your report should contain are:

(1) Abstract: This is an overview of the report, a miniature version of 50 words or so.

Someone reading the abstract should get a good idea of the problem tackled, what types of

techniques were used to solve it, and what sort of solution was found.

(2) Problem description: Present the problem you are attempting to solve. Give some

background. Explain why it is important or interesting.

(3) Solution of the problem: What techniques did you use to solve the problem? Did you use

a technique that we haven’t discussed in class? Explain in detail.

(4) Conclusions: Are the results reasonable? Can you improve the solution technique so as to

yield better results ? If so, explain.