Question 22.1: Consider a MIMO plant having a nominal model given by Go(s)=...

Consider a MIMO plant having a nominal model given by

\mathbf {G_o}(s) = \frac{1}{s(s +1)(s +2)} \begin{bmatrix} 2(s +1) & -0.5s(s +1) \\ s & 2s \end{bmatrix}        (22.2.3)

Say that the plant has step type input disturbances in both channels.

Using state estimate feedback ideas, design a multivariable controller which stabilizes the plant and, at the same time, ensures zero steady state error for constant references and disturbances.

The blue check mark means that this solution has been answered and checked by an expert. This guarantees that the final answer is accurate.
Learn more on how we answer questions.

We first build state space models ( \mathbf {{A_p}, {B_p},{C_p},0 } ) and ( \mathbf {{A_d}, {B_d},{C_d},0 } ) or the plant and for the input disturbances, respectively. We follow the same basic idea as in the SISO case (see section § 18.7), i.e. we estimate, not only the plant state x_p(t) , but also, the disturbance vector, d_i(t) . We then form the control law

u(t) = -K_p\hat{x}(t) – \hat{d}_i (t) + \overline{r} (t)       (22.2.4)

We recall that the disturbances are observable from the plant output, although they are unreachable from the plant input.
A pair of possible state space models is:

\dot{x}_p(t) = \mathbf {A_p}x_p(t) + \mathbf {B_p}u(t)                y(t) = \mathbf {C_p}x_p(t)       (22.2.5)

\dot{x}_d(t) = \mathbf {A_d}x_p(t) + \mathbf {B_d}u(t)                d_i(t) = \mathbf {C_d}x_p(t)       (22.2.6)

where

\mathbf {A_p} = \begin{bmatrix} -3 & -2 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & -2 & 2 \\ 0 & 0 & 0 & 0 \end{bmatrix} ;      \mathbf {B_p} =\begin{bmatrix}1 & 2 \\ 0 & 0 \\ 0 & -0.5 \\ 1 & 0 \end{bmatrix} ;      \mathbf {C_p} =\begin{bmatrix} 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0  \end{bmatrix}        (22.2.7)

and

\mathbf {{A_d}=0,       {B_d}=0,      {C_d}=I_2 }         (22.2.8)

where \mathbf {I_2} is the identity matrix in \mathbb{R}^{2\times 2}

The augmented state space model, (A, B, C, 0) is then given by

\mathbf {{A}=\begin{bmatrix} A_{p} & B_{p}C_{d} \\ 0 & A_{d} \end{bmatrix} =\begin{bmatrix} A_{p} & B_{p} \\ 0 & 0 \end{bmatrix} }        \mathbf {{B}=\begin{bmatrix} B_{p}  \\ B_{d}  \end{bmatrix}=\begin{bmatrix} B_{p}  \\ 0  \end{bmatrix}         C=\begin{bmatrix} C_{p} & 0 \end{bmatrix} }        (22.2.9)

leading to a model with six states.

We then compute the observer gain J,choosing the six observer poles located at  -5, -6, -7, -8, -9, -10, This is done using the MATLAB command place for the pair  (\mathbf {A^T, C^T}) .

Next we compute the feedback gain K. We note from (22.2.4) that it is equivalent (with \bar{r}(t)=0) to

u(t) = –  \begin{bmatrix} \mathbf {K_{p}} & \mathbf {C_{d}} \end{bmatrix} \begin{bmatrix} \hat{x} _p(t) \\  \hat{x} _p(d)  \end{bmatrix} \Longrightarrow  \mathbf K = \begin{bmatrix} \mathbf {K}_p & \mathbf {I}_2 \end{bmatrix}        (22.2.10)

i.e. we only need to compute \mathbf {K_{p}}. This is done using the MATLAB command place for the pair ( \mathbf {A_{p},B_{p}}) The poles in this case are chosen at -1.5 ± j1.32, -3 and -5 Recall that the other two poles correspond to the uncontrollable disturbance states. They are located at the origin.
The design is evaluated by applying step references and input disturbances in both channels,as follows:

r_1(t) = \mu (t-1);        r_2(t)= – \mu (t-10);        d^{\left(1\right) }_{i}(t) = \mu (t-20);        d^{\left(2\right) }_{i}(t) = \mu (t-30)       (22.2.11)

where d^{\left(1\right) }_{i}(t) and  d^{\left(2\right) }_{i}(t) are the first and second components of the input disturbance vector respectively.

The results are shown in Figure 22.1

The design was based on an arbitrary choice of observer and controller poles (polynomials E(s) and F (s),respectively). Thus, the apparent triangular nature of the coupling in the design was not a design objective. However, the choice of the control law ensures that the disturbances are completely compensated in steady state.

The file mimo2.mdl contains the SIMULINK schematic with the MIMO control loop for this example.

22.1

Related Answered Questions