73 lines
2.3 KiB
Markdown
73 lines
2.3 KiB
Markdown
+++
|
|
title = "Interaction Analysis"
|
|
author = ["Dehaeze Thomas"]
|
|
draft = false
|
|
category = "Control Theory"
|
|
subcategory = "Multivariable Analysis"
|
|
+++
|
|
|
|
Tags
|
|
:
|
|
|
|
Two main ways to evaluate the interaction:
|
|
|
|
- Relative Gain Array
|
|
- Structured Singular Value
|
|
|
|
|
|
## Relative Gain Array {#relative-gain-array}
|
|
|
|
Imagine a 2x2 plant:
|
|
\\[ G(s) = \begin{bmatrix} g\_{11}(s) & g\_{12}(s)\\\ g\_{21}(s) & g\_{22}(s) \end{bmatrix} \\]
|
|
|
|
Now suppose a controller \\(k\_{1}(s)\\) is closed on the first loop.
|
|
The new transfer function from \\(u\_2\\) to \\(y\_2\\) (while the first loop is closed) is :
|
|
|
|
\begin{equation}
|
|
y\_2 = g\_{22} \left[ 1 - \underbrace{\frac{g\_{21}g\_{12}}{g\_{11}g\_{22}}}\_{\phi} \underbrace{\frac{g\_{11} k\_{11}}{1 + g\_{11}k\_{11}}}\_{T\_{11}} \right]
|
|
\end{equation}
|
|
|
|
\\(\phi\\) is called the **interaction index**.
|
|
\\(T\_{11}\\) is the complementary sensitivity of the first loop (equal to 1 in the bandwidth of the first controller).
|
|
Therefore, we want \\(\phi \approx 0\\) to have no interaction.
|
|
|
|
Similarly, the **relative gain** is defined as:
|
|
\\[ \Lambda = \frac{1}{1 - \phi} \\]
|
|
And we want \\(\Lambda \approx 1\\) to have no interaction.
|
|
|
|
Note that the scaling of inputs or outputs of the MIMO plant has no effect on \\(\phi\\) or \\(\Lambda\\).
|
|
|
|
The **relative gain array** is defined as:
|
|
\\[ \Lambda(G) = G \star (G^{-1})^{T} \\]
|
|
where \\(\star\\) means element wise multiplication.
|
|
|
|
```matlab
|
|
RGA = G.*pinv(G.')
|
|
```
|
|
|
|
|
|
## RGA-number {#rga-number}
|
|
|
|
The RGA-number is a scalar measure of how far the RGA is from the identity matrix (i.e. from a plant without interaction):
|
|
|
|
\begin{equation}
|
|
\text{RGA-number} = \\| \Lambda(G) - I \\|\_{\text{sum}} = \sum\_{i,j} \left| \Lambda\_{ij} - \delta\_{ij} \right|
|
|
\end{equation}
|
|
|
|
with \\(\delta\_{ij}\\) the Kronecker delta, and \\(\\|\cdot\\|\_{\text{sum}}\\) the sum of the absolute values of all the elements.
|
|
|
|
The RGA-number should be small around the crossover frequency of the decentralized controller, as this is where the interaction matters most.
|
|
|
|
```matlab
|
|
RGA = G.*pinv(G.');
|
|
RGA_number = sum(sum(abs(RGA - eye(size(RGA)))));
|
|
```
|
|
|
|
For a plant evaluated over frequency, this is computed at each frequency point of the frequency response.
|
|
|
|
|
|
## Bibliography {#bibliography}
|
|
|
|
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
|
|
</div>
|