Skip to main content
Engineering LibreTexts

18.5: Exercises

  • Page ID
    24337
  • Exercise 18.1

    Suppose a discrete-time plant is given by

    \[P=\left(\begin{array}{c}
    \frac{1-2 z^{-1}}{1-.5 z^{-1}} \\
    \frac{1-z^{-1}}{1-.5 z^{-1}}
    \end{array}\right)\nonumber\]

    Does there exist a controller that uniformly attenuates the input sensitivity function \((I+P K)^{-1}\), i.e., \(\left\|(I+K P)^{-1}\right\|_{\infty}<1\). Explain.

    Exercise 18.2

    Let a plant be given by

    \[G(s)=\left(\begin{array}{cc}
    \frac{s-1}{s+1} & -5 \\
    \frac{s+2}{(s+1)^{2}} & \frac{s-1}{s+1}
    \end{array}\right)\nonumber\]

    We are interested in verifying whether or not there exists a controller \(K\) such that the output sensitivity \(S=(I+P K)^{-1}\) satisfies \(\|S\|_{\infty}<1\) (i.e., the maximum singular value is strictly less than 1 for all frequencies). If this is possible, we would like to find such a controller.

    1. One engineer argued as follows: Since the transfer functions from u1 to y1 and u2 to y2 have nonminimum-phase zeros, then the sensitivity cannot be uniformly attenuated. Do you accept this argument. If so, explain her/his rationale, and if not explain why not.
    2. Another engineer suggested that the controller can invert the plant and add a scaling factor, so that the sensitivity is uniformly less than 1. Again discuss this option and argue for it or against it.

    Exercise 18.3

    Consider the following MIMO plant \(P (s)\) whose state-space description is

    \[\dot{x}(t)=\left[\begin{array}{cccc}
    -1.5 & 1 & 0 & 1 \\
    2 & -3 & 2 & 0 \\
    0 & .5 & -2 & 1 \\
    1 & -1.5 & 0 & -5
    \end{array}\right] x(t)+\left[\begin{array}{cc}
    1 & 0 \\
    0 & 0 \\
    1 & 1 \\
    0 & 1.8
    \end{array}\right] u\tag{t}\]

    \[y(t)=\left[\begin{array}{cccc}
    0 & 2.4 & -3.1 & 1 \\
    1 & 6 & -.5 & -2.8
    \end{array}\right] x\tag{t}\]

    (a) Use Matlab to compute the poles and the zeros of the plant, as well as the associated input zero directions. (The transmission zeros should turn out to be around \(-.544 \pm j 2.43\).)

    (b) Plot the singular values of P (j!) for \(\omega \in\left[-10^{-2}, 10^{2}\right]\) rad/sec. Relate the shapes of the singular values to the pole and zero frequencies of \(P (s)\).

    (c) Compute \(\|P\|_{\infty}\) using the Hamiltonian matrix and "gamma iteration", and compare the result to part b).

    (d) Consider the standard MIMO servo feedback loop with a compensator of transfer matrix \(K(s)\) preceding \(P (s)\) in the forward loop. The input to the compensator is the error signal \(e(t) = r(t)-y(t)\), where \(r(t)\) is an external reference signal. Design \(K(s)\) to have the following properties: (i) \(K(s)\) should be strictly proper, second-order (i.e. a minimal realization of it is second-order), with no transmission zeros, and with poles that exactly cancel the transmission zeros of \(P (s) -\) so \(P (s)K(s)\) does not have these zeros.

    (ii) \(\lim _{s \rightarrow 0} P(s) K(s)=40 I\)

    Also obtain a state-space description of \(K(s)\).

    (e) Plot the singular values of the open-loop frequency response \(P(j \omega) K(j \omega)\), the sensitivity function and (\S(j \omega)\), and the closed-loop frequency response (or complementary sensitivity function) \(T(j \omega)=I-S(j \omega)\).

    (f) Predict the steady-state value of the output vector \(y(t)\) when the reference input to the closed-loop system (which is assumed initially at rest) is the step

    \[r(t)=\left[\begin{array}{c}
    7 \\
    -3
    \end{array}\right], \quad t \geq 0 \ \tag{18.13}\]

    and verify by computing (with Matlab!) the transient response for the above step input. By carefully examining the transients of the control input and output signals, discuss the implications of having oscillatory poles in the compensator that cancel the plant transmissions zeros.

    (g) Predict the steady-state maximum and minimum value of the tracking error \(e(t)\) when the command input vector comprises unit sinusoids at a frequency of \(\omega=1) rad/sec. Repeat for \(\omega= 2.5) rad/sec.