Few corrections
This commit is contained in:
1 parent
d1bf2faf73
commit
e0d51fa0ff
5 files changed
+476
-506
No files matched your search
@@ -60,7 +60,7 @@ The general structure of this document is as follows:
|
||||
- A very important step in $\mathcal{H}_\infty$ control is to express the control specifications (performances, robustness, etc.) as an $\mathcal{H}_\infty$ optimization problem. Such procedure is described in Section [[sec:modern_interpretation_specification]]
|
||||
- One of the most useful use of the $\mathcal{H}_\infty$ control is the shaping of closed-loop transfer functions.
|
||||
Such technique is presented in Section [[sec:closed-loop-shaping]]
|
||||
- Finally, complete examples of the use of $\mathcal{H}_\infty$ Control for practical problems are provided in Section [[sec:h_infinity_mixed_sensitivity]].
|
||||
- Finally, complete examples of the use of $\mathcal{H}_\infty$ Control for practical problems are provided in Section [[sec:h_infinity_mixed_sensitivity]]
|
||||
|
||||
* Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
@@ -1637,29 +1637,9 @@ And we now understand why setting an upper bound on the magnitude of $S$ is gene
|
||||
To learn more about module/disk margin, you can check out [[https://www.youtube.com/watch?v=XazdN6eZF80][this]] video.
|
||||
#+end_seealso
|
||||
|
||||
** TODO Summary of
|
||||
** Summary of typical specification and associated wanted shaping
|
||||
<<sec:other_requirements>>
|
||||
|
||||
# Interpretation of the $\mathcal{H}_\infty$ norm of systems:
|
||||
# - frequency by frequency attenuation / amplification
|
||||
|
||||
# Let's note $G_t(s)$ the closed-loop transfer function from $w$ to $z$.
|
||||
|
||||
# Consider an input sinusoidal signal $w(t) = \sin\left( \omega_0 t \right)$, then the output signal $z(t)$ will be equal to:
|
||||
# \[ z(t) = A \sin\left( \omega_0 t + \phi \right) \]
|
||||
# with:
|
||||
# - $A = |G_t(j\omega_0)|$ is the magnitude of $G_t(s)$ at $\omega_0$
|
||||
# - $\phi = \angle G_t(j\omega_0)$ is the phase of $G_t(s)$ at $\omega_0$
|
||||
|
||||
|
||||
Noise Attenuation: typical wanted shape for $T$
|
||||
|
||||
$S$ can be used to set a lower bound on the bandwidth
|
||||
$T$ can be used to set a higher bound on the bandwidth
|
||||
$T$ is used to make the system more robust to high frequency model uncertainties
|
||||
|
||||
|
||||
|
||||
#+name: tab:specification_modern
|
||||
#+caption: Typical Specifications and corresponding wanted norms of open and closed loop tansfer functions
|
||||
| | Open-Loop Shaping | Closed-Loop Shaping |
|
||||
@@ -2088,8 +2068,8 @@ When multiple closed-loop transfer function are shaped at the same time, it is r
|
||||
|--------------------------------------+--------------+-----------------------------------------------------------|
|
||||
| Fast Reference Tracking | $S$ | Set lower bound on the bandwidth |
|
||||
| Small Steady State Errors | $S$ | Small low frequency gain |
|
||||
| Follow Step ref. inputs | $S$ | +20dB/dec slope at low frequency |
|
||||
| Follow Ramp ref. inputs | $S$ | +40db/dec slope at low frequency |
|
||||
| Follow Step ref. inputs | $S$ | Slope of +20dB/dec at low frequency |
|
||||
| Follow Ramp ref. inputs | $S$ | Slope of +40dB/dec at low frequency |
|
||||
| Follow Sinusoidal ref. inputs | $S$ | Small magnitude centered on the sin. frequency |
|
||||
|--------------------------------------+--------------+-----------------------------------------------------------|
|
||||
| Output Disturbance Rejection | $S$ | Small gain in the disturbance bandwidth |
|
||||
@@ -2595,16 +2575,16 @@ These regions are summarized in Figure [[fig:h-infinity-4-blocs-constrains]].
|
||||
Let's now apply the $\mathcal{H}_\infty$ Shaping control procedure on a practical example.
|
||||
|
||||
In Section [[sec:ex_control_problem]] the control problem is presented.
|
||||
The design procedure used for the $\matcal{H}_\infty$ Mixed Sensitivity synthesis is described in Section [[sec:ex_control_procedure]].
|
||||
The design procedure used to apply the $\mathcal{H}_\infty$ Mixed Sensitivity synthesis is described in Section [[sec:ex_control_procedure]].
|
||||
|
||||
The important step of interpreting the specifications is performed in Section [[sec:ex_specification_interpretation]].
|
||||
The important step of interpreting the specifications as wanted shape of closed-loop transfer functions is performed in Section [[sec:ex_specification_interpretation]].
|
||||
|
||||
Then, the shaping of closed-loop transfer functions is performed in Sections [[sec:ex_shaping_S]], [[sec:ex_shaping_GS]] and [[sec:ex_shaping_T]].
|
||||
Finally, the shaping of closed-loop transfer functions is performed in Sections [[sec:ex_shaping_S]], [[sec:ex_shaping_GS]] and [[sec:ex_shaping_T]].
|
||||
|
||||
** Control Problem
|
||||
<<sec:ex_control_problem>>
|
||||
|
||||
Let's take out usual /test system/ shown in Figure [[fig:ex_test_system]].
|
||||
Let's consider our usual /test system/ shown in Figure [[fig:ex_test_system]].
|
||||
|
||||
#+begin_src latex :file ex_test_system.png
|
||||
\begin{tikzpicture}
|
||||
@@ -2652,7 +2632,7 @@ Let's take out usual /test system/ shown in Figure [[fig:ex_test_system]].
|
||||
The control specifications are:
|
||||
- The displacement $y$ should follow reference inputs $r$ with negligible static error after 0.1s
|
||||
- Reject disturbances $d$ in less than 0.1s
|
||||
- Limit the effect of measurement noise $n$ on both the control input $u$ and on the output displacement $y$
|
||||
- Limit the effect of measurement noise $n$ on the output displacement $y$
|
||||
- Obtain a Robust System with good stability margins
|
||||
#+end_important
|
||||
|
||||
@@ -2666,9 +2646,10 @@ The considered inputs are:
|
||||
|
||||
Here is the general design procedure that will be followed:
|
||||
1. Compute the model of the plant
|
||||
2. Translate the specifications into the wanted shape of closed-loop transfer functions
|
||||
3. Write the system as a general control configuration
|
||||
4. Shape sequentially the chosen closed-loop transfer functions
|
||||
2. Write the control system as a general control problem
|
||||
3. Translate the specifications into the wanted shape of closed-loop transfer functions
|
||||
4. Chose the suitable weighted general plant to shape the wanted quantities
|
||||
5. Shape sequentially the chosen closed-loop transfer functions
|
||||
|
||||
Let's first convert the system of Figure [[fig:ex_test_system]] into the classical feedback architecture of Figure [[fig:classical_feedback_test_system]].
|
||||
|
||||
@@ -2785,7 +2766,7 @@ We also define the generalized plant corresponding to the system and that will b
|
||||
\draw[->] (addw.east) -- (addn.west);
|
||||
\draw[->] (addn.east) -- (addr.west);
|
||||
\draw[->] (uin) |- (u) node[above left](z2){$u$};
|
||||
\draw[->] (addr.east) -- (addw-|z1) |- node[near start, right]{$v$} (K.east);
|
||||
\draw[->] (addr.east) -- (addw-|z1) |- node[near start, right]{$\epsilon$} (K.east);
|
||||
\draw[->] (K.west) -| node[near end, left]{$u$} (G-|d) -- (G.west);
|
||||
|
||||
\draw[->] (Gd.east) -| (addw.north);
|
||||
@@ -2834,7 +2815,7 @@ Time domain simulations will be performed by first computing the closed-loop sys
|
||||
#+begin_exercice
|
||||
1. Translate the control specifications into wanted shape of closed-loop transfer functions
|
||||
2. Conclude and the closed-loop transfer functions to be shaped
|
||||
3. Chose a general configuration architecture that allows to shape the wanted closed-loop transfer function
|
||||
3. Chose a general configuration architecture that allows to shape these transfer function
|
||||
4. Using Matlab, define the generalized plant
|
||||
|
||||
#+HTML: <details><summary>Hint</summary>
|
||||
@@ -2958,12 +2939,13 @@ We obtain the *weighted generalized plant* in Figure [[fig:ex_general_weighted_p
|
||||
#+RESULTS:
|
||||
[[file:figs/ex_general_weighted_plant.png]]
|
||||
|
||||
Finlay, performing the $\mathcal{H}_infty$ Shaping of $S$, $GS$ and $T$ can be done using the =hinfsyn= command:
|
||||
Finlay, performing the $\mathcal{H}_\infty$ Shaping of $S$, $GS$ and $T$ is as simple as ruining the =hinfsyn= command:
|
||||
#+begin_src matlab +n :eval no :tangle no
|
||||
K = hinfsyn(Pw, 1, 1);
|
||||
#+end_src
|
||||
|
||||
Now the closed-loop transfer functions are shaped sequentially:
|
||||
|
||||
Now let's shape the three closed-loop transfer functions sequentially:
|
||||
- $S$ is shaped in Section [[sec:ex_shaping_S]]
|
||||
- $GS$ is shaped in Section [[sec:ex_shaping_GS]]
|
||||
- $T$ is shaped in Section [[sec:ex_shaping_T]]
|
||||
@@ -2993,7 +2975,7 @@ To not constrain $GS$ and $T$ for the shaping of $S$, $W_2$ and $W_3$ are first
|
||||
|
||||
The $\mathcal{H}_\infty$ synthesis is performed and the obtained closed-loop transfer functions $S$, $GS$, and $T$ and compared with the upper bounds set by the weighting functions in Figure [[fig:ex_results_1]].
|
||||
|
||||
#+begin_src matlab :results output replace
|
||||
#+begin_src matlab +n :results output replace
|
||||
Pw = blkdiag(W1, W2, W3, 1)*P;
|
||||
K1 = hinfsyn(Pw, 1, 1, 'Display', 'on');
|
||||
#+end_src
|
||||
@@ -3104,7 +3086,7 @@ Remember that in order to follow ramp inputs, the sensitivity function should ha
|
||||
|
||||
To do so, let's modify $W_1$ to impose a slope of +40dB/dec at low frequency.
|
||||
This can simple be done by using a second order weight:
|
||||
#+begin_src matlab
|
||||
#+begin_src matlab +n
|
||||
W1 = generateWeight('G0', 1e3, ...
|
||||
'G1', 1/2, ...
|
||||
'Gc', sqrt(2), 'wc', 2*pi*15, ...
|
||||
@@ -3219,7 +3201,7 @@ This poor rejection of disturbances is actually due to the fact that the obtain
|
||||
|
||||
To overcome this issue, we can simply increase the magnitude of $W_2$ to limit the peak magnitude of $GS$
|
||||
Let's take $W_2$ as a simple constant gain:
|
||||
#+begin_src matlab
|
||||
#+begin_src matlab +n
|
||||
W2 = tf(4e5);
|
||||
#+end_src
|
||||
|
||||
@@ -3335,7 +3317,7 @@ To do so, $T$ is shaped such that its high frequency gain is reduced.
|
||||
This is done by increasing the high frequency gain of the weighting function $W_3$ until the $\mathcal{H}_\infty$ synthesis gives $\gamma \approx 1$.
|
||||
|
||||
The final weighting function $W_3$ is defined as follows:
|
||||
#+begin_src matlab
|
||||
#+begin_src matlab +n
|
||||
W3 = generateWeight('G0', 1e-1, ...
|
||||
'G1', 1e4, ...
|
||||
'Gc', 1, 'wc', 2*pi*70, ...
|
||||
|
||||
Reference in new issue
Block a user