Increase paragraph spacing
This commit is contained in:
parent
aedb62c0e6
commit
6509926f56
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 96 KiB |
32
index.org
32
index.org
@ -17,7 +17,7 @@
|
|||||||
#+BIND: org-latex-image-default-width ""
|
#+BIND: org-latex-image-default-width ""
|
||||||
|
|
||||||
#+LaTeX_CLASS: scrreprt
|
#+LaTeX_CLASS: scrreprt
|
||||||
#+LaTeX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12]
|
#+LaTeX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12, parskip=full]
|
||||||
#+LaTeX_HEADER_EXTRA: \input{preamble.tex}
|
#+LaTeX_HEADER_EXTRA: \input{preamble.tex}
|
||||||
|
|
||||||
#+CSL_STYLE: ieee.csl
|
#+CSL_STYLE: ieee.csl
|
||||||
@ -50,7 +50,7 @@
|
|||||||
* LaTeX Config :noexport:
|
* LaTeX Config :noexport:
|
||||||
#+begin_src emacs-lisp :tangle no
|
#+begin_src emacs-lisp :tangle no
|
||||||
(setq org-latex-default-table-environment "tabular")
|
(setq org-latex-default-table-environment "tabular")
|
||||||
(setq org-latex-tables-booktabs nil)
|
(setq org-latex-tables-booktabs t)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src latex :tangle preamble.tex
|
#+begin_src latex :tangle preamble.tex
|
||||||
@ -210,7 +210,6 @@ Therefore, for more advanced discussion, please have a look at the recommended r
|
|||||||
|
|
||||||
When possible, Matlab scripts used for the example/exercises are provided such that you can easily test them on your computer.
|
When possible, Matlab scripts used for the example/exercises are provided such that you can easily test them on your computer.
|
||||||
|
|
||||||
|
|
||||||
The general structure of this document is as follows:
|
The general structure of this document is as follows:
|
||||||
- A short introduction to /model based control/ is given in Section [[sec:model_based_control]]
|
- A short introduction to /model based control/ is given in Section [[sec:model_based_control]]
|
||||||
- Classical /open/ loop shaping method is presented in Section [[sec:open_loop_shaping]].
|
- Classical /open/ loop shaping method is presented in Section [[sec:open_loop_shaping]].
|
||||||
@ -316,7 +315,7 @@ Note that in parallel, there have been numerous other developments, including no
|
|||||||
|
|
||||||
#+name: tab:comparison_control_methods
|
#+name: tab:comparison_control_methods
|
||||||
#+caption: Table summurazing the main differences between classical, modern and robust control
|
#+caption: Table summurazing the main differences between classical, modern and robust control
|
||||||
#+attr_latex: :environment tabularx :booktabs t :width \linewidth :align lccc
|
#+attr_latex: :environment tabularx :width \linewidth :align lccc
|
||||||
| <l> | <c> | <c> | <c> |
|
| <l> | <c> | <c> | <c> |
|
||||||
| | *Classical Control* | *Modern Control* | *Robust Control* |
|
| | *Classical Control* | *Modern Control* | *Robust Control* |
|
||||||
|---------------+---------------------+--------------------------+-------------------------------|
|
|---------------+---------------------+--------------------------+-------------------------------|
|
||||||
@ -468,17 +467,19 @@ The notations used on Figure [[fig:mech_sys_1dof_inertial_contr]] are listed and
|
|||||||
|
|
||||||
#+name: tab:example_notations
|
#+name: tab:example_notations
|
||||||
#+caption: Example system variables
|
#+caption: Example system variables
|
||||||
#+attr_latex: :environment tabularx :booktabs t :width \linewidth :align cXcc
|
#+attr_latex: :environment tabularx :width \linewidth :align cXcc
|
||||||
| *Notation* | *Description* | *Value* | *Unit* |
|
| *Notation* | *Description* | *Value* | *Unit* |
|
||||||
|--------------------+----------------------------------------------------------------+----------------+-----------|
|
|--------------------+----------------------------------------------------------------+----------------+-----------|
|
||||||
| $m$ | Payload's mass to position / isolate | $10$ | [kg] |
|
| $m$ | Payload's mass to position / isolate | $10$ | [kg] |
|
||||||
| $k$ | Stiffness of the suspension system | $10^6$ | [N/m] |
|
| $k$ | Stiffness of the suspension system | $10^6$ | [N/m] |
|
||||||
| $c$ | Damping coefficient of the suspension system | $400$ | [N/(m/s)] |
|
| $c$ | Damping coefficient of the suspension system | $400$ | [N/(m/s)] |
|
||||||
|
|--------------------+----------------------------------------------------------------+----------------+-----------|
|
||||||
| $y$ | Payload absolute displacement (measured by an inertial sensor) | | [m] |
|
| $y$ | Payload absolute displacement (measured by an inertial sensor) | | [m] |
|
||||||
| $d$ | Ground displacement, it acts as a disturbance | | [m] |
|
| $d$ | Ground displacement, it acts as a disturbance | | [m] |
|
||||||
| $u$ | Actuator force | | [N] |
|
| $u$ | Actuator force | | [N] |
|
||||||
| $r$ | Wanted position of the mass (the reference) | | [m] |
|
| $r$ | Wanted position of the mass (the reference) | | [m] |
|
||||||
| $\epsilon = r - y$ | Position error | | [m] |
|
| $\epsilon = r - y$ | Position error | | [m] |
|
||||||
|
|--------------------+----------------------------------------------------------------+----------------+-----------|
|
||||||
| $K$ | Feedback controller | to be designed | [N/m] |
|
| $K$ | Feedback controller | to be designed | [N/m] |
|
||||||
|
|
||||||
#+begin_exercice
|
#+begin_exercice
|
||||||
@ -563,12 +564,13 @@ The Bode plots of $G(s)$ and $G_d(s)$ are shown in Figures [[fig:bode_plot_examp
|
|||||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||||
ylabel('Magnitude'); set(gca, 'XTickLabel',[]);
|
ylabel('Magnitude'); set(gca, 'XTickLabel',[]);
|
||||||
hold off;
|
hold off;
|
||||||
|
ylim([1e-9, 1e-5]);
|
||||||
|
|
||||||
ax2 = nexttile;
|
ax2 = nexttile;
|
||||||
hold on;
|
hold on;
|
||||||
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(G, freqs, 'Hz')))));
|
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(G, freqs, 'Hz')))));
|
||||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
|
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
|
||||||
yticks(-360:90:360); ylim([-270, 90]);
|
yticks(-360:90:360); ylim([-200, 20]);
|
||||||
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
|
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
|
||||||
hold off;
|
hold off;
|
||||||
linkaxes([ax1,ax2],'x');
|
linkaxes([ax1,ax2],'x');
|
||||||
@ -576,7 +578,7 @@ The Bode plots of $G(s)$ and $G_d(s)$ are shown in Figures [[fig:bode_plot_examp
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src matlab :tangle no :exports results :results file replace
|
#+begin_src matlab :tangle no :exports results :results file replace
|
||||||
exportFig('figs/bode_plot_example_afm.pdf', 'width', 'wide', 'height', 'normal');
|
exportFig('figs/bode_plot_example_afm.pdf', 'width', 'wide', 'height', 'tall');
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+name: fig:bode_plot_example_afm
|
#+name: fig:bode_plot_example_afm
|
||||||
@ -845,7 +847,7 @@ Such shape corresponds to the typical wanted Loop gain Shape shown in Figure [[f
|
|||||||
|
|
||||||
#+name: tab:open_loop_shaping_specifications
|
#+name: tab:open_loop_shaping_specifications
|
||||||
#+caption: Wanted Loop Shape corresponding to each specification
|
#+caption: Wanted Loop Shape corresponding to each specification
|
||||||
#+attr_latex: :environment tabularx :booktabs t :width \linewidth :align lXX
|
#+attr_latex: :environment tabularx :width \linewidth :align lXX
|
||||||
| | *Specification* | *Corresponding Loop Shape* |
|
| | *Specification* | *Corresponding Loop Shape* |
|
||||||
|--------------+----------------------------------------+------------------------------------------|
|
|--------------+----------------------------------------+------------------------------------------|
|
||||||
| *Dist. Rej.* | Highest possible rejection below 1Hz | Slope of -40dB/dec at low frequency |
|
| *Dist. Rej.* | Highest possible rejection below 1Hz | Slope of -40dB/dec at low frequency |
|
||||||
@ -967,7 +969,7 @@ Let's finally compare the obtained stability margins of the $\mathcal{H}_\infty$
|
|||||||
|
|
||||||
#+name: tab:open_loop_shaping_compare
|
#+name: tab:open_loop_shaping_compare
|
||||||
#+caption: Comparison of the characteristics obtained with the two methods
|
#+caption: Comparison of the characteristics obtained with the two methods
|
||||||
#+attr_latex: :environment tabularx :booktabs t :width \linewidth :align Xcc
|
#+attr_latex: :environment tabularx :width \linewidth :align Xcc
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
| *Specifications* | *Manual Method* | *$\mathcal{H}_\infty$ Method* |
|
| *Specifications* | *Manual Method* | *$\mathcal{H}_\infty$ Method* |
|
||||||
|-----------------------------+-----------------+-------------------------------|
|
|-----------------------------+-----------------+-------------------------------|
|
||||||
@ -1108,7 +1110,7 @@ A practical example about how to derive the generalized plant for a classical co
|
|||||||
|
|
||||||
#+name: tab:notation_general
|
#+name: tab:notation_general
|
||||||
#+caption: Notations for the general configuration
|
#+caption: Notations for the general configuration
|
||||||
#+attr_latex: :environment tabularx :booktabs t :width 0.8\linewidth :align cX :float nil
|
#+attr_latex: :environment tabularx :width 0.8\linewidth :align cX :float nil
|
||||||
| *Notation* | *Meaning* |
|
| *Notation* | *Meaning* |
|
||||||
|------------+----------------------------------------------------|
|
|------------+----------------------------------------------------|
|
||||||
| $P$ | Generalized plant model |
|
| $P$ | Generalized plant model |
|
||||||
@ -1329,7 +1331,7 @@ These are summarized in Table [[tab:spec_closed_loop_tf]].
|
|||||||
|
|
||||||
#+name: tab:spec_closed_loop_tf
|
#+name: tab:spec_closed_loop_tf
|
||||||
#+caption: Typical Specification and associated closed-loop transfer function
|
#+caption: Typical Specification and associated closed-loop transfer function
|
||||||
#+attr_latex: :environment tabularx :booktabs t :width 0.8\linewidth :align Xl
|
#+attr_latex: :environment tabularx :width 0.8\linewidth :align Xl
|
||||||
| *Specification* | *CL Transfer Function* |
|
| *Specification* | *CL Transfer Function* |
|
||||||
|--------------------------------+-----------------------------------------------|
|
|--------------------------------+-----------------------------------------------|
|
||||||
| Reference Tracking | From $r$ to $\epsilon$ |
|
| Reference Tracking | From $r$ to $\epsilon$ |
|
||||||
@ -1409,7 +1411,7 @@ The comparison of the sensitivity functions shapes and their effect on the step
|
|||||||
|
|
||||||
#+name: tab:compare_sensitivity_shapes
|
#+name: tab:compare_sensitivity_shapes
|
||||||
#+caption: Comparison of the sensitivity function shape and the corresponding step response for the three controller variations
|
#+caption: Comparison of the sensitivity function shape and the corresponding step response for the three controller variations
|
||||||
#+attr_latex: :environment tabularx :booktabs t :width 0.9\linewidth :align lXX
|
#+attr_latex: :environment tabularx :width 0.9\linewidth :align lXX
|
||||||
| *Controller* | *Sensitivity Function Shape* | *Change of the Step Response* |
|
| *Controller* | *Sensitivity Function Shape* | *Change of the Step Response* |
|
||||||
|--------------+----------------------------------------------------+----------------------------------|
|
|--------------+----------------------------------------------------+----------------------------------|
|
||||||
| $K_1(s)$ | Larger bandwidth $\omega_b$ | Faster rise time |
|
| $K_1(s)$ | Larger bandwidth $\omega_b$ | Faster rise time |
|
||||||
@ -1817,7 +1819,7 @@ And we now understand why setting an upper bound on the magnitude of $S$ is gene
|
|||||||
|
|
||||||
#+name: tab:specification_modern
|
#+name: tab:specification_modern
|
||||||
#+caption: Typical Specifications and corresponding wanted norms of open and closed loop tansfer functions
|
#+caption: Typical Specifications and corresponding wanted norms of open and closed loop tansfer functions
|
||||||
#+attr_latex: :environment tabularx :booktabs t :width 0.9\linewidth :align lXX
|
#+attr_latex: :environment tabularx :width 0.9\linewidth :align lXX
|
||||||
| | *Open-Loop Shaping* | *Closed-Loop Shaping* |
|
| | *Open-Loop Shaping* | *Closed-Loop Shaping* |
|
||||||
|-----------------------------+---------------------+--------------------------------------------|
|
|-----------------------------+---------------------+--------------------------------------------|
|
||||||
| Reference Tracking | $L$ large | $S$ small |
|
| Reference Tracking | $L$ large | $S$ small |
|
||||||
@ -2244,7 +2246,7 @@ When multiple closed-loop transfer function are shaped at the same time, it is r
|
|||||||
|
|
||||||
#+name: tab:usual_shaping_gang_four
|
#+name: tab:usual_shaping_gang_four
|
||||||
#+caption: Typical specifications and corresponding shaping of the /Gang of four/
|
#+caption: Typical specifications and corresponding shaping of the /Gang of four/
|
||||||
#+attr_latex: :environment tabularx :booktabs t :width 0.9\linewidth :align llX
|
#+attr_latex: :environment tabularx :width 0.9\linewidth :align llX
|
||||||
| <l> | <c> | <l> |
|
| <l> | <c> | <l> |
|
||||||
| *Specifications* | *TF* | *Wanted shape* |
|
| *Specifications* | *TF* | *Wanted shape* |
|
||||||
|-------------------------------+------+------------------------------------------------|
|
|-------------------------------+------+------------------------------------------------|
|
||||||
@ -3029,7 +3031,7 @@ In such case, we want to shape $S$, $GS$ and $T$.
|
|||||||
|
|
||||||
#+name: tab:ex_specification_shapes
|
#+name: tab:ex_specification_shapes
|
||||||
#+caption: Control Specifications and associated wanted shape of the closed-loop transfer functions
|
#+caption: Control Specifications and associated wanted shape of the closed-loop transfer functions
|
||||||
#+attr_latex: :environment tabularx :booktabs t :width 0.7\linewidth :align llX
|
#+attr_latex: :environment tabularx :width 0.7\linewidth :align llX
|
||||||
| <l> | <c> | <l> |
|
| <l> | <c> | <l> |
|
||||||
| *Specification* | *TF* | *Wanted Shape* |
|
| *Specification* | *TF* | *Wanted Shape* |
|
||||||
|--------------------------+-----------+------------------------------------|
|
|--------------------------+-----------+------------------------------------|
|
||||||
|
80
index.tex
80
index.tex
@ -1,6 +1,6 @@
|
|||||||
% Created 2020-12-04 ven. 23:35
|
% Created 2020-12-04 ven. 23:52
|
||||||
% Intended LaTeX compiler: pdflatex
|
% Intended LaTeX compiler: pdflatex
|
||||||
\documentclass[a4paper, 10pt, DIV=12]{scrreprt}
|
\documentclass[a4paper, 10pt, DIV=12, parskip=full]{scrreprt}
|
||||||
\usepackage[utf8]{inputenc}
|
\usepackage[utf8]{inputenc}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage{graphicx}
|
\usepackage{graphicx}
|
||||||
@ -38,7 +38,7 @@
|
|||||||
|
|
||||||
|
|
||||||
\chapter*{Introduction}
|
\chapter*{Introduction}
|
||||||
\label{sec:orge367402}
|
\label{sec:orgd1c4555}
|
||||||
The purpose of this document is to give a \emph{practical introduction} to the wonderful world of \(\mathcal{H}_\infty\) Control.
|
The purpose of this document is to give a \emph{practical introduction} to the wonderful world of \(\mathcal{H}_\infty\) Control.
|
||||||
|
|
||||||
No attend is made to provide an exhaustive treatment of the subject.
|
No attend is made to provide an exhaustive treatment of the subject.
|
||||||
@ -61,11 +61,11 @@ Such technique is presented in Section \ref{sec:closed-loop-shaping}
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\chapter{Introduction to Model Based Control}
|
\chapter{Introduction to Model Based Control}
|
||||||
\label{sec:orgef98240}
|
\label{sec:org906ea4a}
|
||||||
\label{sec:model_based_control}
|
\label{sec:model_based_control}
|
||||||
|
|
||||||
\section{Model Based Control - Methodology}
|
\section{Model Based Control - Methodology}
|
||||||
\label{sec:orge1fd1b8}
|
\label{sec:org56271e2}
|
||||||
\label{sec:model_based_control_methodology}
|
\label{sec:model_based_control_methodology}
|
||||||
|
|
||||||
The typical methodology for \textbf{Model Based Control} techniques is schematically shown in Figure \ref{fig:control-procedure}.
|
The typical methodology for \textbf{Model Based Control} techniques is schematically shown in Figure \ref{fig:control-procedure}.
|
||||||
@ -95,7 +95,7 @@ In Section \ref{sec:open_loop_shaping}, steps 2 and 3 will be described for a co
|
|||||||
Then, steps 2 and 3 for the \textbf{\(\mathcal{H}_\infty\) Loop Shaping} of closed-loop transfer functions will be discussed in Sections \ref{sec:modern_interpretation_specification}, \ref{sec:closed-loop-shaping} and \ref{sec:h_infinity_mixed_sensitivity}.
|
Then, steps 2 and 3 for the \textbf{\(\mathcal{H}_\infty\) Loop Shaping} of closed-loop transfer functions will be discussed in Sections \ref{sec:modern_interpretation_specification}, \ref{sec:closed-loop-shaping} and \ref{sec:h_infinity_mixed_sensitivity}.
|
||||||
|
|
||||||
\section{From Classical Control to Robust Control}
|
\section{From Classical Control to Robust Control}
|
||||||
\label{sec:org80f6e15}
|
\label{sec:orgd4cb731}
|
||||||
\label{sec:comp_classical_modern_robust_control}
|
\label{sec:comp_classical_modern_robust_control}
|
||||||
|
|
||||||
Many different model based control techniques have been developed since the birth of \emph{classical control theory} in the '30s.
|
Many different model based control techniques have been developed since the birth of \emph{classical control theory} in the '30s.
|
||||||
@ -154,7 +154,7 @@ Note that in parallel, there have been numerous other developments, including no
|
|||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\section{Example System}
|
\section{Example System}
|
||||||
\label{sec:orgd6f2ecd}
|
\label{sec:org24dcae9}
|
||||||
\label{sec:example_system}
|
\label{sec:example_system}
|
||||||
|
|
||||||
Throughout this document, multiple examples and practical application of presented control strategies will be provided.
|
Throughout this document, multiple examples and practical application of presented control strategies will be provided.
|
||||||
@ -254,7 +254,7 @@ The Bode plots of \(G(s)\) and \(G_d(s)\) are shown in Figures \ref{fig:bode_plo
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\chapter{Classical Open Loop Shaping}
|
\chapter{Classical Open Loop Shaping}
|
||||||
\label{sec:org88c26ac}
|
\label{sec:org2383b8a}
|
||||||
\label{sec:open_loop_shaping}
|
\label{sec:open_loop_shaping}
|
||||||
After an introduction to classical Loop Shaping in Section \ref{sec:open_loop_shaping_introduction}, a practical example is given in Section \ref{sec:loop_shaping_example}.
|
After an introduction to classical Loop Shaping in Section \ref{sec:open_loop_shaping_introduction}, a practical example is given in Section \ref{sec:loop_shaping_example}.
|
||||||
Such Loop Shaping is usually performed manually with tools coming from the classical control theory.
|
Such Loop Shaping is usually performed manually with tools coming from the classical control theory.
|
||||||
@ -263,7 +263,7 @@ However, the \(\mathcal{H}_\infty\) synthesis can be used to automate the Loop S
|
|||||||
This is presented in Section \ref{sec:h_infinity_open_loop_shaping} and applied on the same example in Section \ref{sec:h_infinity_open_loop_shaping_example}.
|
This is presented in Section \ref{sec:h_infinity_open_loop_shaping} and applied on the same example in Section \ref{sec:h_infinity_open_loop_shaping_example}.
|
||||||
|
|
||||||
\section{Introduction to Loop Shaping}
|
\section{Introduction to Loop Shaping}
|
||||||
\label{sec:orge3291a7}
|
\label{sec:orgca87141}
|
||||||
\label{sec:open_loop_shaping_introduction}
|
\label{sec:open_loop_shaping_introduction}
|
||||||
|
|
||||||
\begin{definition}
|
\begin{definition}
|
||||||
@ -311,7 +311,7 @@ But this is were the \(\mathcal{H}_\infty\) Synthesis will be useful!
|
|||||||
More details on that in Sections \ref{sec:modern_interpretation_specification} and \ref{sec:closed-loop-shaping}.
|
More details on that in Sections \ref{sec:modern_interpretation_specification} and \ref{sec:closed-loop-shaping}.
|
||||||
|
|
||||||
\section{Example of Manual Open Loop Shaping}
|
\section{Example of Manual Open Loop Shaping}
|
||||||
\label{sec:org06d32ed}
|
\label{sec:orgc736296}
|
||||||
\label{sec:loop_shaping_example}
|
\label{sec:loop_shaping_example}
|
||||||
|
|
||||||
\begin{exampl}
|
\begin{exampl}
|
||||||
@ -360,11 +360,13 @@ The bode plot of the Loop Gain is shown in Figure \ref{fig:loop_gain_manual_afm}
|
|||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\begin{tabular}{lr}
|
\begin{tabular}{lr}
|
||||||
|
\toprule
|
||||||
Requirements & Manual Method\\
|
Requirements & Manual Method\\
|
||||||
\hline
|
\midrule
|
||||||
Gain Margin \(> 3\) [dB] & 3.1\\
|
Gain Margin \(> 3\) [dB] & 3.1\\
|
||||||
Phase Margin \(> 30\) [deg] & 35.4\\
|
Phase Margin \(> 30\) [deg] & 35.4\\
|
||||||
Crossover \(\approx 10\) [Hz] & 10.1\\
|
Crossover \(\approx 10\) [Hz] & 10.1\\
|
||||||
|
\bottomrule
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
@ -375,7 +377,7 @@ Crossover \(\approx 10\) [Hz] & 10.1\\
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\section{\(\mathcal{H}_\infty\) Loop Shaping Synthesis}
|
\section{\(\mathcal{H}_\infty\) Loop Shaping Synthesis}
|
||||||
\label{sec:org2bb176d}
|
\label{sec:orga9060d3}
|
||||||
\label{sec:h_infinity_open_loop_shaping}
|
\label{sec:h_infinity_open_loop_shaping}
|
||||||
|
|
||||||
The synthesis of controllers based on the Loop Shaping method can be automated using the \(\mathcal{H}_\infty\) Synthesis.
|
The synthesis of controllers based on the Loop Shaping method can be automated using the \(\mathcal{H}_\infty\) Synthesis.
|
||||||
@ -400,7 +402,7 @@ Therefore, by just providing the wanted loop shape and the plant model, the \(\m
|
|||||||
Even though we will not go into details and explain how such synthesis is working, an example is provided in the next section.
|
Even though we will not go into details and explain how such synthesis is working, an example is provided in the next section.
|
||||||
|
|
||||||
\section{Example of the \(\mathcal{H}_\infty\) Loop Shaping Synthesis}
|
\section{Example of the \(\mathcal{H}_\infty\) Loop Shaping Synthesis}
|
||||||
\label{sec:org4ea69be}
|
\label{sec:orgc755cbe}
|
||||||
\label{sec:h_infinity_open_loop_shaping_example}
|
\label{sec:h_infinity_open_loop_shaping_example}
|
||||||
|
|
||||||
To apply the \(\mathcal{H}_\infty\) Loop Shaping Synthesis, the wanted shape of the loop gain should be determined from the specifications.
|
To apply the \(\mathcal{H}_\infty\) Loop Shaping Synthesis, the wanted shape of the loop gain should be determined from the specifications.
|
||||||
@ -485,7 +487,7 @@ Crossover \(\approx 10\) [Hz] & 10.1 & 9.9\\
|
|||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\chapter{A first Step into the \(\mathcal{H}_\infty\) world}
|
\chapter{A first Step into the \(\mathcal{H}_\infty\) world}
|
||||||
\label{sec:org9957ebe}
|
\label{sec:orgfc80984}
|
||||||
\label{sec:h_infinity_introduction}
|
\label{sec:h_infinity_introduction}
|
||||||
In this section, the \(\mathcal{H}_\infty\) Synthesis method, which is based on the optimization of the \(\mathcal{H}_\infty\) norm of transfer functions, is introduced.
|
In this section, the \(\mathcal{H}_\infty\) Synthesis method, which is based on the optimization of the \(\mathcal{H}_\infty\) norm of transfer functions, is introduced.
|
||||||
|
|
||||||
@ -497,7 +499,7 @@ The \(\mathcal{H}_\infty\) is then applied to this generalized plant in Section
|
|||||||
Finally, an example showing how to convert a typical feedback control architecture into a generalized plant is given in Section \ref{sec:generalized_plant_derivation}.
|
Finally, an example showing how to convert a typical feedback control architecture into a generalized plant is given in Section \ref{sec:generalized_plant_derivation}.
|
||||||
|
|
||||||
\section{The \(\mathcal{H}_\infty\) Norm}
|
\section{The \(\mathcal{H}_\infty\) Norm}
|
||||||
\label{sec:org4d1191c}
|
\label{sec:org23de71d}
|
||||||
\label{sec:h_infinity_norm}
|
\label{sec:h_infinity_norm}
|
||||||
|
|
||||||
\begin{definition}
|
\begin{definition}
|
||||||
@ -532,7 +534,7 @@ We can see in Figure \ref{fig:hinfinity_norm_siso_bode} that indeed, the \(\math
|
|||||||
\end{exampl}
|
\end{exampl}
|
||||||
|
|
||||||
\section{\(\mathcal{H}_\infty\) Synthesis}
|
\section{\(\mathcal{H}_\infty\) Synthesis}
|
||||||
\label{sec:org25f160e}
|
\label{sec:org251bca8}
|
||||||
\label{sec:h_infinity_synthesis}
|
\label{sec:h_infinity_synthesis}
|
||||||
|
|
||||||
\begin{definition}
|
\begin{definition}
|
||||||
@ -562,7 +564,7 @@ Note that there are many ways to use the \(\mathcal{H}_\infty\) Synthesis:
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\section{The Generalized Plant}
|
\section{The Generalized Plant}
|
||||||
\label{sec:org1d5b54d}
|
\label{sec:orgada260f}
|
||||||
\label{sec:generalized_plant}
|
\label{sec:generalized_plant}
|
||||||
|
|
||||||
The first step when applying the \(\mathcal{H}_\infty\) synthesis is usually to write the problem as a standard \(\mathcal{H}_\infty\) problem.
|
The first step when applying the \(\mathcal{H}_\infty\) synthesis is usually to write the problem as a standard \(\mathcal{H}_\infty\) problem.
|
||||||
@ -601,7 +603,7 @@ A practical example about how to derive the generalized plant for a classical co
|
|||||||
\end{important}
|
\end{important}
|
||||||
|
|
||||||
\section{The \(\mathcal{H}_\infty\) Synthesis applied on the Generalized plant}
|
\section{The \(\mathcal{H}_\infty\) Synthesis applied on the Generalized plant}
|
||||||
\label{sec:orgd38e75b}
|
\label{sec:org1d8fc5f}
|
||||||
\label{sec:h_infinity_general_synthesis}
|
\label{sec:h_infinity_general_synthesis}
|
||||||
|
|
||||||
Once the generalized plant is obtained, the \(\mathcal{H}_\infty\) synthesis problem can be stated as follows:
|
Once the generalized plant is obtained, the \(\mathcal{H}_\infty\) synthesis problem can be stated as follows:
|
||||||
@ -637,7 +639,7 @@ where:
|
|||||||
Note that the general control configure of Figure \ref{fig:general_control_names}, as its name implies, is quite \emph{general} and can represent feedback control as well as feedforward control architectures.
|
Note that the general control configure of Figure \ref{fig:general_control_names}, as its name implies, is quite \emph{general} and can represent feedback control as well as feedforward control architectures.
|
||||||
|
|
||||||
\section{From a Classical Feedback Architecture to a Generalized Plant}
|
\section{From a Classical Feedback Architecture to a Generalized Plant}
|
||||||
\label{sec:orgd8a0711}
|
\label{sec:orgead7d16}
|
||||||
\label{sec:generalized_plant_derivation}
|
\label{sec:generalized_plant_derivation}
|
||||||
|
|
||||||
The procedure to convert a typical control architecture as the one shown in Figure \ref{fig:classical_feedback_tracking} to a generalized Plant is as follows:
|
The procedure to convert a typical control architecture as the one shown in Figure \ref{fig:classical_feedback_tracking} to a generalized Plant is as follows:
|
||||||
@ -689,7 +691,7 @@ P.OutputName = {'e', 'u', 'v'};
|
|||||||
\end{exercice}
|
\end{exercice}
|
||||||
|
|
||||||
\chapter{Modern Interpretation of Control Specifications}
|
\chapter{Modern Interpretation of Control Specifications}
|
||||||
\label{sec:orgcd910fe}
|
\label{sec:orgf4eb6c5}
|
||||||
\label{sec:modern_interpretation_specification}
|
\label{sec:modern_interpretation_specification}
|
||||||
As shown in Section \ref{sec:open_loop_shaping}, the loop gain \(L(s) = G(s) K(s)\) is a useful and easy tool when manually designing controllers.
|
As shown in Section \ref{sec:open_loop_shaping}, the loop gain \(L(s) = G(s) K(s)\) is a useful and easy tool when manually designing controllers.
|
||||||
This is mainly due to the fact that \(L(s)\) is very easy to shape as it depends \emph{linearly} on \(K(s)\).
|
This is mainly due to the fact that \(L(s)\) is very easy to shape as it depends \emph{linearly} on \(K(s)\).
|
||||||
@ -713,7 +715,7 @@ The robustness (stability margins) of the system can also be linked to the shape
|
|||||||
Links between typical control specifications and shapes of the closed-loop transfer functions are summarized in Section \ref{sec:other_requirements}.
|
Links between typical control specifications and shapes of the closed-loop transfer functions are summarized in Section \ref{sec:other_requirements}.
|
||||||
|
|
||||||
\section{Closed Loop Transfer Functions and the Gang of Four}
|
\section{Closed Loop Transfer Functions and the Gang of Four}
|
||||||
\label{sec:org6d77210}
|
\label{sec:org40d15a2}
|
||||||
\label{sec:closed_loop_tf}
|
\label{sec:closed_loop_tf}
|
||||||
|
|
||||||
Consider the typical feedback system shown in Figure \ref{fig:gang_of_four_feedback}.
|
Consider the typical feedback system shown in Figure \ref{fig:gang_of_four_feedback}.
|
||||||
@ -798,7 +800,7 @@ Thus, for reference tracking, we have to shape the \emph{closed-loop} transfer f
|
|||||||
Similarly, to reduce the effect of measurement noise \(n\) on the output \(y\), we have to act on the complementary sensitivity function \(T(s)\).
|
Similarly, to reduce the effect of measurement noise \(n\) on the output \(y\), we have to act on the complementary sensitivity function \(T(s)\).
|
||||||
|
|
||||||
\section{The Sensitivity Function}
|
\section{The Sensitivity Function}
|
||||||
\label{sec:org2c7250a}
|
\label{sec:org6e8bfcd}
|
||||||
\label{sec:sensitivity_transfer_functions}
|
\label{sec:sensitivity_transfer_functions}
|
||||||
|
|
||||||
The sensitivity function is indisputably the most important closed-loop transfer function of a feedback system.
|
The sensitivity function is indisputably the most important closed-loop transfer function of a feedback system.
|
||||||
@ -861,7 +863,7 @@ This will become clear in the next section about the \textbf{module margin}.
|
|||||||
\end{important}
|
\end{important}
|
||||||
|
|
||||||
\section{Robustness: Module Margin}
|
\section{Robustness: Module Margin}
|
||||||
\label{sec:org30ae1f0}
|
\label{sec:org47b850d}
|
||||||
\label{sec:module_margin}
|
\label{sec:module_margin}
|
||||||
|
|
||||||
Let's start this section by an example demonstrating why the phase and gain margins might not be good indicators of robustness.
|
Let's start this section by an example demonstrating why the phase and gain margins might not be good indicators of robustness.
|
||||||
@ -1002,7 +1004,7 @@ To learn more about module/disk margin, you can check out \href{https://www.yout
|
|||||||
\end{seealso}
|
\end{seealso}
|
||||||
|
|
||||||
\section{Summary of typical specification and associated wanted shaping}
|
\section{Summary of typical specification and associated wanted shaping}
|
||||||
\label{sec:org3eb7db2}
|
\label{sec:org5f5ba8c}
|
||||||
\label{sec:other_requirements}
|
\label{sec:other_requirements}
|
||||||
|
|
||||||
\begin{table}[htbp]
|
\begin{table}[htbp]
|
||||||
@ -1022,7 +1024,7 @@ Robustness & Phase/Gain margins & Module margin: \(\Vert S\Vert_\infty\) small\\
|
|||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\chapter{\(\mathcal{H}_\infty\) Shaping of closed-loop transfer functions}
|
\chapter{\(\mathcal{H}_\infty\) Shaping of closed-loop transfer functions}
|
||||||
\label{sec:org80e0308}
|
\label{sec:org2b02046}
|
||||||
\label{sec:closed-loop-shaping}
|
\label{sec:closed-loop-shaping}
|
||||||
In the previous sections, we have seen that the performances of the system depends on the \textbf{shape} of the closed-loop transfer function.
|
In the previous sections, we have seen that the performances of the system depends on the \textbf{shape} of the closed-loop transfer function.
|
||||||
Therefore, the synthesis problem is to design \(K(s)\) such that closed-loop system is stable and such that the closed-loop transfer functions such as \(S\), \(KS\) and \(T\) are shaped as wanted.
|
Therefore, the synthesis problem is to design \(K(s)\) such that closed-loop system is stable and such that the closed-loop transfer functions such as \(S\), \(KS\) and \(T\) are shaped as wanted.
|
||||||
@ -1041,7 +1043,7 @@ Such synthesis is usually called \textbf{Mixed-sensitivity Loop Shaping} and is
|
|||||||
Some insight on the use and limitations of such techniques are given in Section \ref{sec:shaping_multiple_tf}.
|
Some insight on the use and limitations of such techniques are given in Section \ref{sec:shaping_multiple_tf}.
|
||||||
|
|
||||||
\section{How to Shape closed-loop transfer function? Using Weighting Functions!}
|
\section{How to Shape closed-loop transfer function? Using Weighting Functions!}
|
||||||
\label{sec:orga64410a}
|
\label{sec:org6ed8543}
|
||||||
\label{sec:weighting_functions}
|
\label{sec:weighting_functions}
|
||||||
|
|
||||||
Suppose we apply the \(\mathcal{H}_\infty\) synthesis on the generalized plant \(P(s)\) shown in Figure \ref{fig:loop_shaping_S_without_W}.
|
Suppose we apply the \(\mathcal{H}_\infty\) synthesis on the generalized plant \(P(s)\) shown in Figure \ref{fig:loop_shaping_S_without_W}.
|
||||||
@ -1110,7 +1112,7 @@ Pw = blkdiag(Ws, 1)*P;
|
|||||||
\end{exercice}
|
\end{exercice}
|
||||||
|
|
||||||
\section{Design of Weighting Functions}
|
\section{Design of Weighting Functions}
|
||||||
\label{sec:org0c721f2}
|
\label{sec:org6cb9a44}
|
||||||
\label{sec:weighting_functions_design}
|
\label{sec:weighting_functions_design}
|
||||||
|
|
||||||
Weighting function included in the generalized plant must be \textbf{proper}, \textbf{stable} and \textbf{minimum phase} transfer functions.
|
Weighting function included in the generalized plant must be \textbf{proper}, \textbf{stable} and \textbf{minimum phase} transfer functions.
|
||||||
@ -1217,7 +1219,7 @@ The obtained shapes are shown in Figure \ref{fig:high_order_weight}.
|
|||||||
\end{seealso}
|
\end{seealso}
|
||||||
|
|
||||||
\section{Shaping the Sensitivity Function}
|
\section{Shaping the Sensitivity Function}
|
||||||
\label{sec:org622981c}
|
\label{sec:org9084e2e}
|
||||||
\label{sec:sensitivity_shaping_example}
|
\label{sec:sensitivity_shaping_example}
|
||||||
|
|
||||||
Let's design a controller using the \(\mathcal{H}_\infty\) shaping of the sensitivity function that fulfils the following requirements:
|
Let's design a controller using the \(\mathcal{H}_\infty\) shaping of the sensitivity function that fulfils the following requirements:
|
||||||
@ -1325,7 +1327,7 @@ It just means that at some frequency, one of the closed-loop transfer functions
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\section{Shaping multiple closed-loop transfer functions - Limitations}
|
\section{Shaping multiple closed-loop transfer functions - Limitations}
|
||||||
\label{sec:org501a0b0}
|
\label{sec:org08a5a05}
|
||||||
\label{sec:shaping_multiple_tf}
|
\label{sec:shaping_multiple_tf}
|
||||||
As was shown in Section \ref{sec:modern_interpretation_specification}, each of the four main closed-loop transfer functions (called the \emph{gang of four}) will impact different characteristics of the closed-loop system.
|
As was shown in Section \ref{sec:modern_interpretation_specification}, each of the four main closed-loop transfer functions (called the \emph{gang of four}) will impact different characteristics of the closed-loop system.
|
||||||
This is summarized in Table \ref{tab:usual_shaping_gang_four}.
|
This is summarized in Table \ref{tab:usual_shaping_gang_four}.
|
||||||
@ -1557,7 +1559,7 @@ Two approaches can be used to obtain controllers with reasonable order:
|
|||||||
\end{warning}
|
\end{warning}
|
||||||
|
|
||||||
\chapter{Mixed-Sensitivity \(\mathcal{H}_\infty\) Control - Example}
|
\chapter{Mixed-Sensitivity \(\mathcal{H}_\infty\) Control - Example}
|
||||||
\label{sec:orgcbf596f}
|
\label{sec:org4999065}
|
||||||
\label{sec:h_infinity_mixed_sensitivity}
|
\label{sec:h_infinity_mixed_sensitivity}
|
||||||
Let's now apply the \(\mathcal{H}_\infty\) Shaping control procedure on a practical example.
|
Let's now apply the \(\mathcal{H}_\infty\) Shaping control procedure on a practical example.
|
||||||
|
|
||||||
@ -1569,7 +1571,7 @@ The important step of interpreting the specifications as wanted shape of closed-
|
|||||||
Finally, the shaping of closed-loop transfer functions is performed in Sections \ref{sec:ex_shaping_S}, \ref{sec:ex_shaping_GS} and \ref{sec:ex_shaping_T}.
|
Finally, the shaping of closed-loop transfer functions is performed in Sections \ref{sec:ex_shaping_S}, \ref{sec:ex_shaping_GS} and \ref{sec:ex_shaping_T}.
|
||||||
|
|
||||||
\section{Control Problem}
|
\section{Control Problem}
|
||||||
\label{sec:org0d0e2a9}
|
\label{sec:org4641813}
|
||||||
\label{sec:ex_control_problem}
|
\label{sec:ex_control_problem}
|
||||||
|
|
||||||
Let's consider our usual \emph{test system} shown in Figure \ref{fig:ex_test_system}.
|
Let's consider our usual \emph{test system} shown in Figure \ref{fig:ex_test_system}.
|
||||||
@ -1598,7 +1600,7 @@ The considered inputs are:
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\section{Control Design Procedure}
|
\section{Control Design Procedure}
|
||||||
\label{sec:org0f986e4}
|
\label{sec:org2f6babe}
|
||||||
\label{sec:ex_control_procedure}
|
\label{sec:ex_control_procedure}
|
||||||
|
|
||||||
Here is the general design procedure that will be followed:
|
Here is the general design procedure that will be followed:
|
||||||
@ -1688,7 +1690,7 @@ u = z(:,2); % Input usage [N]
|
|||||||
\end{minted}
|
\end{minted}
|
||||||
|
|
||||||
\section{Modern Interpretation of control specifications}
|
\section{Modern Interpretation of control specifications}
|
||||||
\label{sec:org1c39f44}
|
\label{sec:orga74724d}
|
||||||
\label{sec:ex_specification_interpretation}
|
\label{sec:ex_specification_interpretation}
|
||||||
|
|
||||||
\begin{exercice}
|
\begin{exercice}
|
||||||
@ -1769,7 +1771,7 @@ Now let's shape the three closed-loop transfer functions sequentially:
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\section{Step 1 - Shaping of \(S\)}
|
\section{Step 1 - Shaping of \(S\)}
|
||||||
\label{sec:org2b353b4}
|
\label{sec:orgfba6439}
|
||||||
\label{sec:ex_shaping_S}
|
\label{sec:ex_shaping_S}
|
||||||
|
|
||||||
Let's first shape the Sensitivity function as it is usually the most important of the \emph{Gang of four} closed-loop transfer functions.
|
Let's first shape the Sensitivity function as it is usually the most important of the \emph{Gang of four} closed-loop transfer functions.
|
||||||
@ -1861,7 +1863,7 @@ The time domain signals are shown in Figure \ref{fig:ex_time_domain_1b} and it i
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\section{Step 2 - Shaping of \(GS\)}
|
\section{Step 2 - Shaping of \(GS\)}
|
||||||
\label{sec:org040835b}
|
\label{sec:org0c2dbb8}
|
||||||
\label{sec:ex_shaping_GS}
|
\label{sec:ex_shaping_GS}
|
||||||
|
|
||||||
Looking at Figure \ref{fig:ex_results_2}, it is clear that the rejection of disturbances is not satisfactory.
|
Looking at Figure \ref{fig:ex_results_2}, it is clear that the rejection of disturbances is not satisfactory.
|
||||||
@ -1893,7 +1895,7 @@ If is shown that indeed, the disturbance rejection performance are much better a
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\section{Step 3 - Shaping of \(T\)}
|
\section{Step 3 - Shaping of \(T\)}
|
||||||
\label{sec:orge27b967}
|
\label{sec:org98a0d1b}
|
||||||
\label{sec:ex_shaping_T}
|
\label{sec:ex_shaping_T}
|
||||||
|
|
||||||
Finally, we want to limit the effect of the noise on the displacement output.
|
Finally, we want to limit the effect of the noise on the displacement output.
|
||||||
@ -1942,7 +1944,7 @@ This can be seen when zooming on the output signal in Figure \ref{fig:ex_time_do
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\section{Conclusion and Discussion}
|
\section{Conclusion and Discussion}
|
||||||
\label{sec:org8ee7c81}
|
\label{sec:org544ddf1}
|
||||||
|
|
||||||
Hopefully this practical example will help you apply the \(\mathcal{H}_\infty\) Shaping synthesis on other control problems.
|
Hopefully this practical example will help you apply the \(\mathcal{H}_\infty\) Shaping synthesis on other control problems.
|
||||||
|
|
||||||
@ -1951,7 +1953,7 @@ As an exercise, plot and analyze the evolution of the controller and loop gain t
|
|||||||
If the large input usage is considered to be not acceptable, the shaping of \(KS\) could be included in the synthesis and all the \emph{Gang of four} closed-loop transfer function shapes.
|
If the large input usage is considered to be not acceptable, the shaping of \(KS\) could be included in the synthesis and all the \emph{Gang of four} closed-loop transfer function shapes.
|
||||||
|
|
||||||
\chapter{Conclusion}
|
\chapter{Conclusion}
|
||||||
\label{sec:org6c74b5a}
|
\label{sec:org6166298}
|
||||||
\label{sec:conclusion}
|
\label{sec:conclusion}
|
||||||
|
|
||||||
Hopefully, this document gave you a glimpse on how useful and powerful the \(\mathcal{H}_\infty\) loop shaping synthesis can be.
|
Hopefully, this document gave you a glimpse on how useful and powerful the \(\mathcal{H}_\infty\) loop shaping synthesis can be.
|
||||||
@ -1959,7 +1961,7 @@ One of the true power of \(\mathcal{H}_\infty\) synthesis is that is can easily
|
|||||||
If you want to know more about the ``\(\mathcal{H}_\infty\) and robust control world'' some resources are given below.
|
If you want to know more about the ``\(\mathcal{H}_\infty\) and robust control world'' some resources are given below.
|
||||||
|
|
||||||
\chapter*{Resources}
|
\chapter*{Resources}
|
||||||
\label{sec:org17d3722}
|
\label{sec:orgd57bda1}
|
||||||
For a complete treatment of multivariable robust control, I would highly recommend this book \cite{skogestad07_multiv_feedb_contr}.
|
For a complete treatment of multivariable robust control, I would highly recommend this book \cite{skogestad07_multiv_feedb_contr}.
|
||||||
If you want to nice reference book in French, look at \cite{duc99_comman_h}.
|
If you want to nice reference book in French, look at \cite{duc99_comman_h}.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user