Department of Electrical and
Computer Engineering

EEC 641 / 741

Multivariable Control

**Homework Assignments**

**Chapter 1**

1. For
the inverted pendulum system, we designed a closed loop controller under the assumption
that the cart mass was 1 kg. Find out the largest percentage by which the cart
mass can increase before the closed loop system becomes unstable (answer to the
nearest 1%).

2. For
the inverted pendulum system, we designed a closed loop controller under the
assumption that the pendulum mass was 0.2 kg. Suppose that the pendulum track
extends from *y* = -5 to
+5 m, so if |*y*| > 5 then our
system fails. Find out the largest percentage by which the pendulum mass can
increase before the system fails to meet the performance requirements (answer
to the nearest 1%).

3. The
hovering rocket overshoots the target altitude by about 0.7 m. Find out by what
percentage the thrust coefficient can increase before the rocket overshoots the
target altitude by 5 m (answer to the nearest 0.1%).

4. HW01.doc

5. A
measure of “how controllable” a system is can be given by the condition number
of the controllability matrix. The smaller the condition number, the more
controllable the system is. What is the condition number of the controllability
matrix for the inverted pendulum problem? What is the condition number if the
pendulum is only half as long?

6. Sometimes when a simulation “blows up” it just means that the simulation step size is too large. Find the largest value of the simulation step size that gives good results for the inverted pendulum simulation (answer to the nearest 0.01 s).

**Chapter 2**

1. A series RC circuit can be modeled as u(t) = v(t) + RC v’(t), where u(t) is the input (the applied voltage), v(t) is the output (the voltage across the capacitor), and v’(t) is the derivative of v(t). Assume that RC = 1.

a. Derive the transfer function of the system.

b. Find analytical expressions for the gain and phase of the system.

c. Generate the bode plot (you can use Matlab’s “bode” function). What is the gain and phase of the frequency response at 1 rad/s?

d. Generate
the response of the system to the input u(t) = sin(t) (you can use Matlab’s
“lsim” function). Plot the input and output on the same graph. Verify
graphically that the output magnitude is equal to the input magnitude
multiplied by the gain, and that the output phase is equal to the input phase
added to the phase of the frequency response.

2. You are given a system with transfer function G(s) = 10 / s / (1 + 0.2s) / (1 + 0.02s) controlled with a single DOF controller K = 1.

a. Use Matlab’s “margin” function to compute the gain margin and phase margin.

b. Use Matlab’s “nyquist” function to generate the Nyquist plot. Use the Nyquist plot to graphically determine the gain and phase margins.

c. Compute the gain margin and phase margin bounds given in Section 2.4.3 and compare them to the true gain margin and phase margin. (You can use Matlab’s “norm” function to compute the bounds. Note that you may need to cancel out the common poles and zeros of a transfer function, using Matlab’s “minreal” function, before you can compute its norm.)

d. Compare
omega_b and omega_c, as defined in Section 2.4.5.

3. Consider the linearized inverted pendulum: G(s) = (s^2 – 9.81) / s / (s – 3.42) / (s + 3.44) / (s + 0.08) with negative unity feedback

a. What is the gain margin and phase margin of the closed loop system according to Matlab’s “margin” command? Why is this not reliable?

b. Generate
the Nyquist plot for this system. How can you tell from the Nyquist plot that
the closed loop system is unstable?

4. Consider the transfer function G(s) = (s + 1) / (s + 10)^2.

a. Analytically (using pencil and paper) compute the infinity norm of G(s).

b. Use
Matlab’s “norm” function to compute the infinity norm of G(s).

5. Consider the linearized hovering rocket model: G(s) = 0.0313 (s + 0.0016) / s / (s - 0.00079) / (s + 0.0024).

a. Use Matlab’s “mixsyn” function to minimize the weighted infinity norm with M = 1.5, wb = 1, A = 1e-4, wT = 0, and wu = 1. Plot the control and the output response (for 25 seconds) to a step input.

b. Repeat for wu = 2. How does the control and output compare to part (a)? Give an intuitive explanation for the differences that you observe.

**Chapter 3 ****- due October 5**

1. Derive
Equation 3.1.

2. Consider a system with A = [-1 2; 0 -3], B = [1 0; 0 4], C = [1 1; 1 -1], D = [0 0; 0 0].

a. Plot the principal gains in dB with a log scale for the frequency axis.

b. Use the plot to find the principal gains at 10 rad/s.

c. Use SVD to find the principal gains at 10 rad/s.

d. Simulate the system with the input u(t) = [2 sin(10t) ; sin(10t)]. Plot the input and output and compute the gain from the plot. Confirm that the gain is between the principal gains that you computed above.

e. Simulate the system with an input that minimizes the gain. Plot the input and output and compute the gain from the plot. Confirm that the gain is equal to the smallest principal gain.

f.
Simulate the system with an input that maximizes the
gain. Plot the input and output and compute the gain from the plot. Confirm
that the gain is equal to the largest principal gain.

3.
Consider
the mass/spring/damper system that we discussed in class, with two inputs (the
two forces on the masses) and one output (the displacement of the top mass).

A = [ 0 0 1 0 ; 0 0 0 1 ; -k1/m1 k1/m1 -b1/m1 b1/m1 ; k1/m2
-(k1+k2)/m2 b1/m2 -(b1+b2)/m2
]

B = [ 0 0 ; 0
0 ; 1/m1 0 ; 0 1/m2 ], C = [ 1 0 0 0 ], D = [ 0 0 ]

Use the following values for the constants:

k1 = 10, k2 = 1, b1 = 10, b2 = 1, m1 = 1, m2 = 10.

a.
Use SVD
to compute the minimum and maximum gains at 1 rad/s.

b.
What is the input at 1 rad/s that will result in a zero output?

c.
Simulate
the system for 150 s with the input equal to the minimizing input, plot the output,
and use the plot to estimate the minimum gain.

d.
Simulate
the system for 150 s with the input equal to the maximizing input, plot the
output, and use the plot to estimate the maximum gain.

e.
Hand in
your code.

**Chapter 4 ****-**** due October 12**

Consider the linearized
inverted pendulum with two inputs (cart force and angular pendulum
acceleration) and two outputs (cart position and pendulum angle).

A = [ 0 1 0 0 ;
0 -F/M -m*g/M
0 ; 0 0 0 1 ;
0 F/M/L
(M+m)*g/M/L 0 ];

B = [0 0 ; 1/M 0 ; 0
0 ; -1/M/L 1 ], C = [ 1 0 0 0 ; 0 0 1 0 ], D = [ 0 0 ; 0 0 ]

Use the constants given in http://academic.csuohio.edu/simond/courses/eec641/PendCtrl.m.

1. Find the right and left eigenvectors of the
system matrix.

2. Use the eigenvectors of A to compute the
input and output pole directions of the system.

3. Use SVD to compute the input and output pole
directions of the system.

4. Based on the input and output pole directions,
what do you conclude about the controllability and observability of the system?

5. What is the McMillan degree of the system?

6. Is the system stabilizable? Is it detectable?

7. Find the transfer function matrix. Write it
out for me as a single matrix.

8. Find the zeros and poles of the system.

Hand in any Matlab code that you used to
obtain your answers.

**Chapter 8 (part 1) ****-****
due November 9**

1.
Compute
the P matrix for multiplicative output uncertainty, inverse additive
uncertainty, inverse multiplicative input uncertainty, and inverse
multiplicative output uncertainty.

2.
In class
we found a first order approximation to |sigma| = 0.001 for omega < 2,
|sigma| = 0.1 for omega > 30. Find a second order approximation. Use Matlab
to graph the two approximations on the same plot.

3.
Use
Matlab’s “sysic” function to find the P matrix that we computed in class: G = 1
/ (s+p1) / (s+p2), p1 = 1 +/- 0.1, p2 = 4 +/- 1. Verify that your results match the answer
that we got in class. Hand in your code and the Matlab results.

4.
Solve Exercise
3.27 in the text.

5.
Solve
Exercise 3.29 in the text.

**Chapter 8 (part 2) ****-****
due November 16**

Consider a system
with the transfer function G(s) = [ s-a^2 , a(s+1) ; -a(s+1) , s-a^2 ] / (s^2+a^2), where *a* is a parameter of the system. (This is the transfer function of a
symmetric body that is spinning around one axis. The inputs are the two torques
applied to the other axes, and the outputs are a linear combination of the
angular velocities about those axes.)
The feedback control input u = -y.

1.
Show
analytically that the system is internally stable for all values of *a*.

2.
Suppose
that the system has an uncertainty such that the true transfer function Gp =
(I+E)G, where E is a uncertainty whose infinity-norm is bounded by *c*. Find the largest value of *c* such that the system will be robustly
stable. (*c* will be a function of *a*.)

3.
Now
suppose that E is still an uncertainty whose infinity norm is bounded by *c*, but the only nonzero element of E is
the upper left element. Use the max singular value bound to find an upper bound
for the SSV of Nydud. Use the spectral radius bound to find a lower bound for
the SSV of Nydud. These two bounds will be equal, which gives an exact value of
the SSV. Use the SSV value to find the largest value of *c* such that the system will be robustly stable. (*c* will not be a function of *a*.)

4.
Use
Matlab to plot the max singular value of Nydud for part 2 with *a=1*. This will give some numerical
confirmation of your analytical result.

5.
Use
Matlab to plot the SSV of Nydud for part 3 with *a=1*. This will give some numerical confirmation of your analytical
result.

**Chapter 8 (part 3) ****-****
due November 28**

1.
Take the
system that you defined for your term project, and find a stabilizing
controller. It can be any linear controller – you can use a decoupled PI controller,
or pole placement, or Matlab’s “mixsyn” or “hinfsyn” function, or anything
else, as long as the closed loop system is stable.

2.
Prove
that your closed loop system is internally stable.

3.
Define
an unstructured uncertainty that affects some part of your system. Find the smallest
infinity norm of the uncertainty that will cause your system to become
unstable.

4.
Define a
parametric uncertainty in your system. Pull the parametric uncertainty out so
that it can be written as a structured uncertainty. Find the smallest infinity
norm of the uncertainty that will cause your system to become unstable.

5.
Define a
frequency-dependent performance requirement for your system. Make sure that the
nominal system meets the performance requirement. (If necessary, relax the
requirement.)

6.
For this
problem you can assume that your system is affected by either the unstructured
uncertainty that you defined in problem 3, or the structured uncertainty that
you defined in problem 4. In this problem you will find out if the uncertain
system meets the performance requirement of problem 5. Use Theorem 8.7 to find
the smallest infinity norm of the augmented uncertainty that will cause your
system to violate the performance requirement.

**Term Project**

The format for the term project is based on the suggestion of Appendix B in the text. Each student is responsible to to choose and conduct a research project based on some nonlinear MIMO system that they are interested in. The project will be graded on the basis of written and oral status reports, a written report handed in at the end of the semester, and an oral presentation given during the last week of classes. The written project reports are due at the end of the last regularly scheduled class of the semester. Late project reports will not be accepted. The written reports can be based on the template at http://academic.csuohio.edu/simond/courses/Report Template.doc although this is not required. For each of the tasks below, an in-class presentation of between 5 and 10 minutes is required, and a written report is required.

1. Problem Definition - due September 12

2. System Model - due October 3

3. System Analysis - due October 17

4. Controller Designs - due October 31

5. Simulations - due November 14

6. Final Report - due December 7 - The final report (both oral and written) should be comprehensive.

Department of Electrical and Computer Engineering

Last Revised: November 16, 2006