# Is this $H_\infty$ robust control?

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