0% found this document useful (0 votes)
9 views5 pages

13 14 MT1

The document outlines the first midterm exam for EEM 342: Fundamentals of Control Systems, covering topics such as control system components, state equations, and stability analysis of a robot arm's dynamics. It includes questions on identifying system parts, control actions, equilibrium points, and implementing control laws. The exam allows the use of a formula sheet and a hand calculator, and consists of both theoretical and practical applications of control systems.

Uploaded by

Elif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views5 pages

13 14 MT1

The document outlines the first midterm exam for EEM 342: Fundamentals of Control Systems, covering topics such as control system components, state equations, and stability analysis of a robot arm's dynamics. It includes questions on identifying system parts, control actions, equilibrium points, and implementing control laws. The exam allows the use of a formula sheet and a hand calculator, and consists of both theoretical and practical applications of control systems.

Uploaded by

Elif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

EEM 342: Fundamentals of Control Systems

2013-2014 Spring Semester 1st Midterm Exam


Time: 150 minutes; Total Points: 100
One size-A4 formula sheet and a hand calculator, not capable of symbolic operations, may be used.

0. (1 point) Write the group you are registered to on the top-right corner of your answer sheet.
1. Consider a robot arm which is made of a uniform rod, which can rotate in a vertical plane (see
Fig. 1 below). A torque u(t) at time t can be applied at one end of the arm by using a permanent
magnet DC motor, which produces the torque

u(t) = Km i(t) (1)

where Km is a constant and i(t) is the armature current at time t supplied by a current drive.
As explained in MATLAB Exercise 3, the motion of the arm can be described by the equation
l
J θ̈(t) = u(t) − β θ̇(t) + mg sin (θ(t)) (2)
2
where θ(t) is the angular position of the arm (measured from the vertical - see Fig. 1) at time
t, J is the moment of inertia around the rotating end, β is the coefficient of viscous friction,
m is the mass of the arm, l is the length of the arm, and g is the gravitational acceleration.
The angular position, θ(t), can be measured by an encoder in degrees within the range −180
to 180. The encoder sends this measurement to a microprocessor through a digital connection.
The microprocessor runs the following code at each sampling interval:
read y , r
e=r−y;
s=s+e;
d = e − eold ;
if y > −90 and y < 90 then
i = k11 * e + k21 * s + k31 * d ;
else
i = k12 * e + k22 * s + k32 * d ;
end if
eold = e ;
write i
where s is a variable, which was initially set to zero, and k11, k21, k31, k12, k22, and k32
are positive constants, which were set initially by the designer. read y , r instruction reads
the output of the encoder and a reference value r, entered by an operator, and assigns them
respectively to y and r. write i instruction sends the calculated value of i to the current drive,
which applies this current to the armature of the DC motor.

a) (3 points) Does this describe a control system? Why?


b) (7 points) Identify the parts (“plant”, “actuator(s)”, “controller”, “sensor(s)”) of this con-
trol system.
c) (7 points) Also identify the “plant input(s)”, “plant output(s)”, “control signal(s)”, “mea-
surement(s)”, “reference(s)”, and “disturbance(s)”, if any.
d) (3 points) Is this an “open-loop” or a “closed-loop” control system? Why?

1
e) (15 points) Describe the control action. Is the control action linear or non-linear? Is it time-
varying or time-invariant? How would you name (e.g., bang-bang, proportional, integral,
derivative, etc.) this control action?

2. Consider the robot arm described in Question 1, whose dynamics are described by Eq. (2). Let
J = 12 kg·m2 , β = 1 N·m·s, and mg 2l = 32 kg·m2 /s2 .

a) (10 points) Choose a state vector for this system and write the state equations, where u(t)
is the input and y(t) = θ(t) is the output.
b) (8 points) Is this system (i) static or dynamic; (ii) linear or non-linear; (iii) time-invariant
or time-varying; (iv) causal or non-causal? Explain your answer in each case.
c) (8 points) Determine all the equilibrium points of the system.
d) (10 points) For each equilibrium point, determine whether or not the equilibrium point is
(i) stable in the sense of Lyapunov; (ii) asymptotically stable.
e) (10 points) Obtain a linearized model for this system (by using sin(θ) ≈ θ for θ ≈ 0), which
is valid around θ = 0. Then, obtain a static output feedback of the form
u(t) = Ke(t) (3)
to asymptotically stabilize this linearized system, where e(t) = r(t) − y(t) is the error, r(t)
is the reference, and K is the feedback gain to be determined.
f) (10 points) Write the state equations of the system obtained by applying the static output
feedback obtained in part (e) above to the actual non-linear system. Show that the origin
(θ = 0, θ̇ = 0) is an equilibrium point of this non-linear closed-loop system. Do you think
that this equilibrium point is asymptotically stable or not? Why?
g) (8 points) Explain the implementation of the control law designed in part (e) within the
framework of Question 1.

θ
g
?

Fig. 1

2
SOLUTIONS

1. a) The system described is a control system, since a variable (the angular position, θ, of the
robot arm) is controlled.

b) The robot arm is the plant, since one of its variables (θ) is to be controlled. The DC
motor and its drive form the actuator, since the motor supplies the control input (i.e., the
torque u) for the plant and the current drive supplies the necessary current for this action
(alternatively, the motor and the robot arm can be considered as the plant, in which case
the control input would be the current i and the current drive would be the actuator). The
controller is the microprocessor, since it calculates the necessary control signal (i) for the
actuator. The encoder is the sensor, since it measures the plant output θ.

c) If the plant is taken as the robot arm alone, then the plant input is the torque u applied to
it. If, however, the plant is taken as the robot arm plus the DC motor, then the armature
current i applied to it is the plant input. The plant output is the angular position θ of the
arm. The control signal is the current value i, send from the microprocessor to the current
drive. The output of the encoder is the measurement. The reference signal is the reference
value r, entered by the operator. No disturbance is specified in the problem (any force,
that is not modelled and acts against the movement of the arm (e.g., air resistance) or that
effects the DC motor would be a disturbance - note that the viscous friction at the rotating
end of the arm is not a disturbance, since it is modelled).

d) The system is a closed-loop control system, since the control action depends on the measured
value of the plant output.

e) The control action can be described as follows: At each sampling cycle, the measured value
of the plant output (y) and of the reference (r) are obtained first (by the read y , r
instruction). Then, y is subtracted from the reference value, r, to find the error, e (e =
r − y ). This value is then added to the previous sum, s, of the error (i.e., the error is
integrated) by the s = s + e instruction. Then the difference between the current and
previous error is found by the d = e − eold instruction. This difference is (approximately)
proportional to the derivative of the error. Then it is determined whether the robot arm is
in the upper or lower half-plane (by the if statement). A different contol signal, i, is then
calculated depending on which half-plane the robot arm is in. This value is then send to the
actuator by the write i instruction. In each half-plane, the control is a weighted sum of
the error plus its integral plus its derivative. Thus as long as the robot arm remains in one
of the two half-planes, the control applied is a proportional-plus-integral-plus-derivative
(PID) control. This control action is linear in each half-plane. However, since the arm
can move from one half-plane to the other, the overall control is non-linear (assuming of
course, the P, I, and D gains are not the same in both half-planes). The control action is
time-invariant since it is invariant under a shift in time. We can name this control action
as a piece-wise PID control since a different PID control is used in each piece (region)
of the state-space.

3
" # " #
x1 (t) θ(t)
2. a) We can choose x(t) = = as the state vector. Then, the state equations
x2 (t) θ̇(t)
can be written as:
" # " #
θ̇(t) x2 (t)
ẋ(t) = f (x(t), u(t)) = 1 β mgl =
J u(t) − J θ̇(t) + 2J sin[θ(t)] 2u(t) − 2x2 (t) + 3 sin[x1 (t)]

y(t) = g(x(t), u(t)) = θ(t) = x1 (t)

b) (i) The system is a dynamic system, since the equation of motion, (2), is a differential
equation. (ii) It is non-linear, since (2) is not linear (due to the term sin[θ(t)]). (iii) It
is time-invariant, since (2) have only constant coefficients. (iv) It is causal, since it is not
possible for the future inputs or the future states to effect the present state or the present
output.
" #

c) By letting f (xe , 0) = 0, the equilibrium points are obtained as xek = , where k is
0
any integer.
d) It can be shown that, for k even, when the initial condition is chosen close to xek , the
solution, x(t), to the given equations diverge from xek . Thus, xek is an unstable (not stable
in the sense of Lyapunov and not asymptotically stable) equilibrium point for even k. On
the other hand, for k odd, when the initial condition is chosen sufficiently close to xek ,
the solution, x(t), to the given equations stays close to xek and converges to xek as time
goes to infinity. Thus, xek is a stable (both in the sense of Lyapunov and asymptotically)
equilibrium point for odd k. Note that, as explained in MATLAB Exercise 3, even k
corresponds to the upright position of the arm, where as odd k corresponds to the downright
position of the arm. Therefore, this result can also be obtained from physical considerations.
Note that the asymptotical stability of the downright position follows from the existence
of viscous friction (β > 0). If there is no friction, i.e., if β = 0, as explained in MATLAB
Exercise 3, the downright position would be stable in the sense of Lyapunov, but not
asymptotically stable.
e) As in MATLAB Exercise 3, letting sin(θ) ≈ θ, the linearized model can be obtained as:
" # " #
0 1 0
ẋ(t) = x(t) + u(t)
3 −2 2
h i
y(t) = 1 0 x(t)
2
which has the transfer function G(s) = . Applying the static output feedback
+ 2s − 3 s2
2K
(3), the closed-loop transfer function (from r to y) is Gc (s) = 2 , which is
s + 2s + 2K − 3
3
stable (in the bounded-input bounded-output sense) for K > 2 , which implies asymtotic
stability, since the given system does no have any hidden modes. Equivalently, under (3),
the closed-loop (linearized) system is described as:
" # " #
0 1 0
ẋ(t) = x(t) + r(t)
3 − 2K −2 2K
h i
y(t) = 1 0 x(t)

4
which is asymptotically stable for K > 32 . Therefore, the linearized system can be stabilized
by the control (3) with K > 32 .
f) By applying the above control to the actual system, this system is described by:
" #
θ̇(t)
ẋ(t) = fc (x(t), r(t)) =
2r(t) − 2Kθ(t) − 2θ̇(t) + 3 sin[θ(t)]
" #
x2 (t)
=
2r(t) − 2Kx1 (t) − 2x2 (t) + 3 sin[x1 (t)]
y(t) = gc (x(t), r(t)) = θ(t) = x1 (t)
Noting that fc (0, 0) = 0, for any K, xe = 0 (which corrosponds to θ = 0, θ̇ = 0) is
an equilibrium point of the actual closed-loop system for any K. In fact, it is the only
equilibrium point when K > 32 , since the only solution to fc (xe , 0) = 0 is xe = 0, when
K > 32 . This equilibrium point is an asymptotically stable equilibrium point if K > 32 ,
since the corresponding linearized system is aymptotically stable. Asymptotic stability of
this equilibrium point implies that the state of the actual system will be bounded and will
asymptotically approach to the equilibrium point when the input is zero and when the
initial state is in a region which includes the equilibrium point. This region is called as the
region of attraction and it depends on the value of K. This region would be very small if
K is larger than but very close to 32 . Will get larger as K increases, at least up to a certain
value. In some examples it may start to shrink if K is increased too much.
g) The above control law can be implemented as described in Question 1, by letting

πK
k11 =
180Km

and k21 = k31 = 0 in the code, where Km is the DC motor gain (see Eq. (1)) and the
π
factor 180 converts degrees into radians. A similar control law (either a proportional one
as above or a PI or PD or PID) can also be designed by using the linearized model around
θ = π (see MATLAB Exercise 3) and this can be used for the lower half-plane (i.e., to
determine the gains k12, k22, and k32). Provided that the region of attraction of the
control law which is designed for the upper half-plane contains the whole upper half-plane
for θ and all reasonable velocities for θ̇ and the region of attraction of the control law
which is designed for the lower half-plane contains the whole lower half-plane for θ and
all reasonable velocities for θ̇, this controller will stabilize the overall system. It should,
however, be noted that, in practice the state-space must be divided into more regions (more
that just the upper and lower half-planes) in order to able to design effective controllers
with reasonable gains.

You might also like