Update Content - 2021-08-26
This commit is contained in:
@@ -8,7 +8,7 @@ Tags
|
||||
: [Decoupled Control](decoupled_control.md), [Multivariable Control](multivariable_control.md)
|
||||
|
||||
Reference
|
||||
: ([Stoev et al. 2017](#orgc430b4f))
|
||||
: ([Stoev et al. 2017](#org29c5c20))
|
||||
|
||||
Author(s)
|
||||
: Stoev, J., Ertveldt, J., Oomen, T., & Schoukens, J.
|
||||
@@ -16,10 +16,27 @@ Author(s)
|
||||
Year
|
||||
: 2017
|
||||
|
||||
Step by step approach:
|
||||
|
||||
- [Interaction Analysis](interaction_analysis.md)
|
||||
- Decoupling transformations
|
||||
## Introduction {#introduction}
|
||||
|
||||
By appropriate system design, most systems are either decoupled or can be decoupled using static input-output transformations.
|
||||
Hence, most motion system and their motion software architecture use SISO control design method and solutions.
|
||||
|
||||
The first step typically involves a FRF identification using specific excitation signals.
|
||||
Once the FRF is available, the controller \\(K\\) can be designed directly based on the FRF data.
|
||||
Many classical MIMO control design methods aim at decoupling the open loop function at some location in the feedback loop.
|
||||
Because their are strong non-intuitive aspect of MIMO loop-shaping, the following step-by-step approach is proposed, in which the design complexity is only increased if justified by the problem at hand:
|
||||
|
||||
- **[Interaction Analysis](interaction_analysis.md)**.
|
||||
The goal is to identify two sided interactions in the plant dynamics.
|
||||
If there is no two sided interaction, then feedback design becomes a standard multi-loop SISO design problem.
|
||||
Two measured of the plant interaction are [Relative Gain Array](relative_gain_array.md) and [Structured Singular Value](structured_singular_value.md).
|
||||
- **Decoupling transformations**.
|
||||
To reduce interaction, one may redefine the input and output of the plant using a decoupling transformation.
|
||||
For motion systems, most transformations are found on the basis of **kinematic model**.
|
||||
Herein, combinations of the actuators are defined so that actuator variables act in independent (orthogonal) directions at the center of gravity.
|
||||
Similarly, combinations of the sensors are defined so that each translation and rotation of the center of gravity can be measured independently.
|
||||
This, this basically amounts to the **inversion of a kinematic model** of the plant.
|
||||
- Independent feedback control design
|
||||
- Sequential feedback control design
|
||||
- Norm based control design
|
||||
@@ -27,7 +44,159 @@ Step by step approach:
|
||||
All steps, except for the last, can be performed with a non-parametric model of the plant (i.e. an identified FRF).
|
||||
|
||||
|
||||
## MIMO frequency response decomposition {#mimo-frequency-response-decomposition}
|
||||
|
||||
The problem addressed in this paper is to decouple a given set of MIMO FRF.
|
||||
Such decoupled representation, if existing, would permit the MIMO FRF to be written as a linear combination of parallel SISO FRFs.
|
||||
The existing methods to convert the MIMO FRF into equivalent combination of SISO FRF fall into two groups:
|
||||
|
||||
- **matrix decomposition methods** use linear algebra based on eigen-value, or singular value decomposition which are able to diagonalize the FRF at a single frequency.
|
||||
- **optimization methods** formulate the problem of simultaneous diagonalization of the FRF at multiple frequencies as an optimization problem.
|
||||
|
||||
At each frequency \\(\omega\_i, i = 1 \dots N\_f\\), we have a square matrix \\(H(\omega\_i) \in \mathbb{C}^{N \times N}\\) with the complex response of the system relating the inputs and outputs.
|
||||
|
||||
**MIMO decoupling of dyadic system**:
|
||||
|
||||
\begin{align}
|
||||
H(\omega\_i) &= T\_y S(\omega\_i) T\_u + E(\omega\_i), \ i = 1 \dots N\_f \label{eq:decomposition} \\\\\\
|
||||
S(\omega\_i) &= \begin{bmatrix}
|
||||
S\_1(\omega\_i) & 0 & 0 \\\\\\
|
||||
0 & \ddots & 0 \\\\\\
|
||||
0 & 0 & S\_N(\omega\_i)
|
||||
\end{bmatrix}
|
||||
\end{align}
|
||||
|
||||
where \\(S(\omega\_i)\\) is a diagonal matrix containing SISO FRFs \\(S\_k(\omega\_i) \in \mathbb{C}\\) on the main diagonal, \\(T\_y \in \mathbb{R}^{N \times N}\\), \\(T\_u \in \mathbb{R}^{N \times N}\\), \\(E(\omega\_i)\\) is the error.
|
||||
|
||||
The approximate MIMO system decoupling is shown in Figure [1](#org3f61a67).
|
||||
|
||||
In practical cases, the matrix \\(\hat{S}(\omega\_i) = T\_y^{-1} H(\omega\_i) T\_u^{-1}\\) will not be purely diagonal, but rather diagonally dominated.
|
||||
|
||||
<a id="org3f61a67"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/stoev17_decoupled_system_schematic.png" caption="Figure 1: MIMO FRF decomposition in parallel branches" >}}
|
||||
|
||||
The array \\(H(\omega\_i), i = 1 \dots N\_f\\) of complex matrices can be represented as a 3-dimensional sensor \\(\underline{H}\\).
|
||||
|
||||
<div class="important">
|
||||
<div></div>
|
||||
|
||||
The core result of this paper is that the decomposition can be found by rephrasing \eqref{eq:decomposition} as a "Canonical Polyadic Decomposition" (CPD).
|
||||
This is shown in Figure [2](#org58ed38e), where \\(T\_y,T\_u,S\_d\\) can be directly computed using a single Matlab function.
|
||||
|
||||
</div>
|
||||
|
||||
Mathematically equivalent form of CPD is shown in the lower part of Figure [2](#org58ed38e), where the tensor \\(\underline{S}\\) contains the rows of the matrix \\(S\_d\\) on each of its diagonals in the third dimension, which is exactly the problem of simultaneous diagonalization.
|
||||
|
||||
The transformation effectively diagonalises the original frequency response tensor \\(\underline{H}\\) using two transformation matrices \\(T\_y, T\_u\\).
|
||||
This operation is closely related to the SVD on a single matrix, however in this case the diagonalisation occurs for a set of matrices, each describing the MIMO FRF at different frequency.
|
||||
|
||||
<a id="org58ed38e"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/stoev17_decompos_3d_tensor.png" caption="Figure 2: Decomposition of 3D tensor" >}}
|
||||
|
||||
The direct application of a CPD procedure on the above complex data tensor would result in complex solutions, including complex matrices \\(T\_y \in \mathbb{C}^{N \times N}\\), \\(T\_u \in \mathbb{C}^{N \times N}\\).
|
||||
This is not useful for a practical decoupling of physical systems as we require real solutions for \\(T\_y,T\_u\\).
|
||||
The direct solution we use for this is to take the imaginary and real part of the complex tensor \\(\underline{H} \in \mathbb{C}^{N \times N \times N\_f}\\), each of them a real tensor by itself, and stack them one behind the other in the dimension of the frequencies, thus getting an augmented real-valued tensor \\(\underline{\breve{H}} \in \mathbb{R}^{N \times N \times 2N\_f}\\).
|
||||
|
||||
|
||||
## Numerical Example {#numerical-example}
|
||||
|
||||
Let's now make a Matlab example using the [Tensorlab](https://www.tensorlab.net/) toolbox.
|
||||
|
||||
Let's define a 2x2 diagonal system:
|
||||
|
||||
```matlab
|
||||
S = [4e3/(s^2 + 25*s + 4e3) 0
|
||||
0 4e5/(s^2 + 250*s + 4e5)];
|
||||
```
|
||||
|
||||
And coupled this system with two random matrices:
|
||||
|
||||
```matlab
|
||||
Ty = [0.13 0.003
|
||||
0.43 0.51];
|
||||
|
||||
Tu = [0.32 0.67
|
||||
0.95 0.006];
|
||||
```
|
||||
|
||||
The couple system is defined:
|
||||
|
||||
```matlab
|
||||
H = Ty * S * Tu;
|
||||
```
|
||||
|
||||
Then, suppose with have the frequency response function of the coupled plant:
|
||||
|
||||
```matlab
|
||||
freqs = logspace(0,3,1000);
|
||||
H_frf = freqresp(H, freqs, 'Hz');
|
||||
```
|
||||
|
||||
<a id="orgba720df"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/stoev17_coupled_diagonal_plants.png" caption="Figure 3: Diagonal and coupled plants" >}}
|
||||
|
||||
We take the real and imaginary part of the FRF and concatenate the two along the frequency dimension.
|
||||
|
||||
```matlab
|
||||
H_frf_real = cat(3, real(H_frf), imag(H_frf));
|
||||
```
|
||||
|
||||
Then random matrices are initialize the the CPD.
|
||||
|
||||
```matlab
|
||||
U = cpd_rnd(size(H_frf_real), size(H_frf_real,1));
|
||||
```
|
||||
|
||||
And the CPD is performed.
|
||||
|
||||
```matlab
|
||||
[T, ~] = cpd3_sd(H_frf_real, U);
|
||||
```
|
||||
|
||||
The obtained decoupling matrices are:
|
||||
|
||||
```matlab
|
||||
Ty_est = T{1};
|
||||
```
|
||||
|
||||
```text
|
||||
Ty_est =
|
||||
-0.289402459385387 -0.00647742171539879
|
||||
-0.957207509228524 -1.10111369041218
|
||||
```
|
||||
|
||||
```matlab
|
||||
Tu_est = T{2};
|
||||
```
|
||||
|
||||
```text
|
||||
Tu_est =
|
||||
0.430893809258741 0.999980044721872
|
||||
0.902402640256826 0.00631744869723862
|
||||
```
|
||||
|
||||
And the decoupled plant using the estimated optimal decoupling matrices is:
|
||||
|
||||
```matlab
|
||||
H_dec = inv(Ty_est) * H * inv(Tu_est);
|
||||
```
|
||||
|
||||
<a id="orgcb9fe2a"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/stoev17_results_decoupling_example.png" caption="Figure 4: Diagonal, coupled and decoupled plants" >}}
|
||||
|
||||
|
||||
## Conclusion {#conclusion}
|
||||
|
||||
The paper presents an application for the tensor decomposition for the design of a static decoupling of a MIMO system.
|
||||
The results in this paper are obtained on a _non-parametric_ frequency domain model of the plant and indicate that the procedure is more robust that the eigen-value based decoupling.
|
||||
The advantages of this method with respect to some of th existing methods can be found when the FRF data available is disturbed by noise.
|
||||
|
||||
|
||||
|
||||
## Bibliography {#bibliography}
|
||||
|
||||
<a id="orgc430b4f"></a>Stoev, Julian, Julien Ertveldt, Tom Oomen, and Johan Schoukens. 2017. “Tensor Methods for Mimo Decoupling and Control Design Using Frequency Response Functions.” _Mechatronics_ 45:71–81. <https://doi.org/https://doi.org/10.1016/j.mechatronics.2017.05.009>.
|
||||
<a id="org29c5c20"></a>Stoev, Julian, Julien Ertveldt, Tom Oomen, and Johan Schoukens. 2017. “Tensor Methods for Mimo Decoupling and Control Design Using Frequency Response Functions.” _Mechatronics_ 45:71–81. <https://doi.org/https://doi.org/10.1016/j.mechatronics.2017.05.009>.
|
||||
|
Reference in New Issue
Block a user