3
$\begingroup$

This is going to be a long question. To answer this question, you need to undestand the following:

  • Sensitivity transfer function matrix $S(s)$
  • Complementary sensitivity function matrix $T(s)$
  • Disturbance transfer function matrix $G_{\omega u}(s)$
  • Separation principle for LQG controllers

So here we go!

Let's say that we got a multivariable system $G(s)$ from the state space model:

$$G(s) = C(sI-A)^{-1}B + D$$

The sensitivity transfer function matrix is know as:

$$S(s) = \frac{1}{I + G(s)F_y}$$

Where $F_y$ is our matrix which will give a good sensitivity transfer function.

The complementary sensitivity function matrix is know as:

$$T(s) = \frac{G(s)F_y}{I + G(s)F_y}$$

The disturbance transfer function matrix is known as:

$$G_{\omega u}(s) = -F_yS(s) = -\frac{F_y}{I + G(s)F_y}$$

I need to choose the matrix $F_y$ so $S(s)$, $T(s)$ and $G_{\omega u}$ gets good properties.

Our goal with $H_\infty$ controll is to choosing the transfer function weighting matrices $W_S(s)$, $W_T(s)$ and $W_u(s)$ so this will be true:

$$\left | W_S(s)S(s) \right | < \gamma \hspace{0.2cm} \forall s$$ $$\left | W_T(s)T(s) \right | < \gamma \hspace{0.2cm} \forall s$$ $$\left | W_u(s)G_{\omega u}(s) \right | < \gamma \hspace{0.2cm} \forall s$$

Where $\gamma$ is a real number which needs to be choosen as a small number. If all this meet the conditions then move next to this riccati equation:

$$A^TS + SA + M^TM + S(\gamma^{-2} NN^T -BB^T)S = 0$$

Where $N$ is our disturbance matrix for the system. If the disturbances affects input $u$ then the distrurbance matrix $N$ will be $N = B$. The whole open loop system for the controller will look like this:

$$ \begin{matrix} \dot{x} = Ax + Bu + N\omega \\ z = Mx + Du\\ y = Cx + I\omega \end{matrix} $$

It's a state space model and we are going to buld a control law:

$$ u = -L_\infty \hat{x}$$

Yes! $H_\infty$ control has an observer too. The observer is the matrix $N$.

Anyway! Back to the riccati equation!

We need to solve the positive semidefenit matrix $S$ from the riccati equation. The matrix $S$ is not the sensitivity transfer function matrix $S(s)$. Remember that.

Now the are two choises:

  1. If we didin't found any positive semidefenit $S$ for the riccati equation. I need to go back and increese $\gamma$.
  2. If we found a positive semidefenit $S$ for the riccati equation. Accept that, or decreese $\gamma$ and test if the riccati equation will give a positive semidefenit $S$ too.

There is one thing more! Make sure that this is stable too:

$$det(sI - (A-BB^TS_\gamma)) = 0$$

Where $S = S_\gamma$

If $A-BB^TS_\gamma$ is stable, then we can find our control law:

$$ L_\infty = B^TS_\gamma$$

Our $H_\infty$ observer is:

$$\boxed{ \dot{\hat{x}} = A\hat{x} + Bu + N(y - C\hat{x})}$$

And our $H_\infty$ controller is: $$\boxed{ u = -L_\infty \hat{x}}$$

Our transfer fucntion matrix $F_y(s)$ will be then:

$$F_y(s) = L_\infty(sI - A + BB^TS_\gamma + NC)^{-1}N$$

Notice that $F_y(s)$ is not the same as matrix $F_y$.

If you want an integral action to this. You should create this controller:

$$\boxed{ u = -L_\infty \hat{x} + L_i x_i}$$

You can set $L_i$ to an identity matrix $I$ to begin with.

And one extra state more:

$$\boxed{\dot{x_i} = r - y = r - Cx}$$

Because: $$ x_i = \int_{0}^{t} (r- y)dt = \int_{0}^{t} (r - Cx)dt = \int_{0}^{t} = \dot{x_i} dt$$

Highly recommended if you can to have a good tracking of the reference input $r$.

So to summarize this:

  1. Given $G(s) = C(sI-A)^{-1}B + D$
  2. Choose $F_y$ which will give you good properties for $S(s)$, $T(s)$ and $G_{\omega u}(s)$
  3. Then choose the weighting transfer function matrices $W_u(s)$, $W_S(s)$ and $W_u(s)$ so this meets its conditions. Notice that $\gamma$ needs to be a small number.

$$\left | W_S(s)S(s) \right | < \gamma \hspace{0.2cm} \forall s$$ $$\left | W_T(s)T(s) \right | < \gamma \hspace{0.2cm} \forall s$$ $$\left | W_u(s)G_{\omega u}(s) \right | < \gamma \hspace{0.2cm} \forall s$$

  1. Find the positive semidefinite matix $S$ from the riccati equation

$$A^TS + SA + M^TM + S(\gamma^{-2} NN^T -BB^T)S = 0$$

  1. Check the if this is stable: $$det(sI - (A-BB^TS_\gamma)) = 0$$

  2. Create the control law

$$ L_\infty = B^TS_\gamma$$

  1. Now create the observer and the controller

    $$\boxed{ \dot{\hat{x}} = A\hat{x} + Bu + N(y - C\hat{x})}$$ $$\boxed{ u = -L_\infty \hat{x}}$$

  2. If you want integral action to this controller. You need to add one extra state to the model and change the controller.

$$\boxed{ u = -L_\infty \hat{x} + L_i x_i}$$ $$\boxed{\dot{x_i} = r - y = r - Cx}$$

Done! Questions:

  1. Have I done it right?
  2. Are they diffrent ways to creating a $H_\infty$ controller?
  3. How do I know if the system is observable, stable and detectable?
  4. Other?

I have read the book: "Control Theory - Multivariable and Nonlinear Methods" by Lennart Ljung and Torkel Glad

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.