Increase paragraph spacing
This commit is contained in:
1 parent
aedb62c0e6
commit
6509926f56
5 files changed
+58
-54
No files matched your search
@@ -1,6 +1,6 @@
|
||||
% Created 2020-12-04 ven. 23:35
|
||||
% Created 2020-12-04 ven. 23:52
|
||||
% Intended LaTeX compiler: pdflatex
|
||||
\documentclass[a4paper, 10pt, DIV=12]{scrreprt}
|
||||
\documentclass[a4paper, 10pt, DIV=12, parskip=full]{scrreprt}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{graphicx}
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
|
||||
\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.
|
||||
|
||||
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}
|
||||
|
||||
\chapter{Introduction to Model Based Control}
|
||||
\label{sec:orgef98240}
|
||||
\label{sec:org906ea4a}
|
||||
\label{sec:model_based_control}
|
||||
|
||||
\section{Model Based Control - Methodology}
|
||||
\label{sec:orge1fd1b8}
|
||||
\label{sec:org56271e2}
|
||||
\label{sec:model_based_control_methodology}
|
||||
|
||||
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}.
|
||||
|
||||
\section{From Classical Control to Robust Control}
|
||||
\label{sec:org80f6e15}
|
||||
\label{sec:orgd4cb731}
|
||||
\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.
|
||||
@@ -154,7 +154,7 @@ Note that in parallel, there have been numerous other developments, including no
|
||||
\end{table}
|
||||
|
||||
\section{Example System}
|
||||
\label{sec:orgd6f2ecd}
|
||||
\label{sec:org24dcae9}
|
||||
\label{sec:example_system}
|
||||
|
||||
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}
|
||||
|
||||
\chapter{Classical Open Loop Shaping}
|
||||
\label{sec:org88c26ac}
|
||||
\label{sec:org2383b8a}
|
||||
\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}.
|
||||
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}.
|
||||
|
||||
\section{Introduction to Loop Shaping}
|
||||
\label{sec:orge3291a7}
|
||||
\label{sec:orgca87141}
|
||||
\label{sec:open_loop_shaping_introduction}
|
||||
|
||||
\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}.
|
||||
|
||||
\section{Example of Manual Open Loop Shaping}
|
||||
\label{sec:org06d32ed}
|
||||
\label{sec:orgc736296}
|
||||
\label{sec:loop_shaping_example}
|
||||
|
||||
\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{tabular}{lr}
|
||||
\toprule
|
||||
Requirements & Manual Method\\
|
||||
\hline
|
||||
\midrule
|
||||
Gain Margin \(> 3\) [dB] & 3.1\\
|
||||
Phase Margin \(> 30\) [deg] & 35.4\\
|
||||
Crossover \(\approx 10\) [Hz] & 10.1\\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
@@ -375,7 +377,7 @@ Crossover \(\approx 10\) [Hz] & 10.1\\
|
||||
\end{figure}
|
||||
|
||||
\section{\(\mathcal{H}_\infty\) Loop Shaping Synthesis}
|
||||
\label{sec:org2bb176d}
|
||||
\label{sec:orga9060d3}
|
||||
\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.
|
||||
@@ -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.
|
||||
|
||||
\section{Example of the \(\mathcal{H}_\infty\) Loop Shaping Synthesis}
|
||||
\label{sec:org4ea69be}
|
||||
\label{sec:orgc755cbe}
|
||||
\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.
|
||||
@@ -485,7 +487,7 @@ Crossover \(\approx 10\) [Hz] & 10.1 & 9.9\\
|
||||
\end{table}
|
||||
|
||||
\chapter{A first Step into the \(\mathcal{H}_\infty\) world}
|
||||
\label{sec:org9957ebe}
|
||||
\label{sec:orgfc80984}
|
||||
\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.
|
||||
|
||||
@@ -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}.
|
||||
|
||||
\section{The \(\mathcal{H}_\infty\) Norm}
|
||||
\label{sec:org4d1191c}
|
||||
\label{sec:org23de71d}
|
||||
\label{sec:h_infinity_norm}
|
||||
|
||||
\begin{definition}
|
||||
@@ -532,7 +534,7 @@ We can see in Figure \ref{fig:hinfinity_norm_siso_bode} that indeed, the \(\math
|
||||
\end{exampl}
|
||||
|
||||
\section{\(\mathcal{H}_\infty\) Synthesis}
|
||||
\label{sec:org25f160e}
|
||||
\label{sec:org251bca8}
|
||||
\label{sec:h_infinity_synthesis}
|
||||
|
||||
\begin{definition}
|
||||
@@ -562,7 +564,7 @@ Note that there are many ways to use the \(\mathcal{H}_\infty\) Synthesis:
|
||||
\end{itemize}
|
||||
|
||||
\section{The Generalized Plant}
|
||||
\label{sec:org1d5b54d}
|
||||
\label{sec:orgada260f}
|
||||
\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.
|
||||
@@ -601,7 +603,7 @@ A practical example about how to derive the generalized plant for a classical co
|
||||
\end{important}
|
||||
|
||||
\section{The \(\mathcal{H}_\infty\) Synthesis applied on the Generalized plant}
|
||||
\label{sec:orgd38e75b}
|
||||
\label{sec:org1d8fc5f}
|
||||
\label{sec:h_infinity_general_synthesis}
|
||||
|
||||
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.
|
||||
|
||||
\section{From a Classical Feedback Architecture to a Generalized Plant}
|
||||
\label{sec:orgd8a0711}
|
||||
\label{sec:orgead7d16}
|
||||
\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:
|
||||
@@ -689,7 +691,7 @@ P.OutputName = {'e', 'u', 'v'};
|
||||
\end{exercice}
|
||||
|
||||
\chapter{Modern Interpretation of Control Specifications}
|
||||
\label{sec:orgcd910fe}
|
||||
\label{sec:orgf4eb6c5}
|
||||
\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.
|
||||
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}.
|
||||
|
||||
\section{Closed Loop Transfer Functions and the Gang of Four}
|
||||
\label{sec:org6d77210}
|
||||
\label{sec:org40d15a2}
|
||||
\label{sec:closed_loop_tf}
|
||||
|
||||
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)\).
|
||||
|
||||
\section{The Sensitivity Function}
|
||||
\label{sec:org2c7250a}
|
||||
\label{sec:org6e8bfcd}
|
||||
\label{sec:sensitivity_transfer_functions}
|
||||
|
||||
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}
|
||||
|
||||
\section{Robustness: Module Margin}
|
||||
\label{sec:org30ae1f0}
|
||||
\label{sec:org47b850d}
|
||||
\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.
|
||||
@@ -1002,7 +1004,7 @@ To learn more about module/disk margin, you can check out \href{https://www.yout
|
||||
\end{seealso}
|
||||
|
||||
\section{Summary of typical specification and associated wanted shaping}
|
||||
\label{sec:org3eb7db2}
|
||||
\label{sec:org5f5ba8c}
|
||||
\label{sec:other_requirements}
|
||||
|
||||
\begin{table}[htbp]
|
||||
@@ -1022,7 +1024,7 @@ Robustness & Phase/Gain margins & Module margin: \(\Vert S\Vert_\infty\) small\\
|
||||
\end{table}
|
||||
|
||||
\chapter{\(\mathcal{H}_\infty\) Shaping of closed-loop transfer functions}
|
||||
\label{sec:org80e0308}
|
||||
\label{sec:org2b02046}
|
||||
\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.
|
||||
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}.
|
||||
|
||||
\section{How to Shape closed-loop transfer function? Using Weighting Functions!}
|
||||
\label{sec:orga64410a}
|
||||
\label{sec:org6ed8543}
|
||||
\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}.
|
||||
@@ -1110,7 +1112,7 @@ Pw = blkdiag(Ws, 1)*P;
|
||||
\end{exercice}
|
||||
|
||||
\section{Design of Weighting Functions}
|
||||
\label{sec:org0c721f2}
|
||||
\label{sec:org6cb9a44}
|
||||
\label{sec:weighting_functions_design}
|
||||
|
||||
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}
|
||||
|
||||
\section{Shaping the Sensitivity Function}
|
||||
\label{sec:org622981c}
|
||||
\label{sec:org9084e2e}
|
||||
\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:
|
||||
@@ -1325,7 +1327,7 @@ It just means that at some frequency, one of the closed-loop transfer functions
|
||||
\end{figure}
|
||||
|
||||
\section{Shaping multiple closed-loop transfer functions - Limitations}
|
||||
\label{sec:org501a0b0}
|
||||
\label{sec:org08a5a05}
|
||||
\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.
|
||||
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}
|
||||
|
||||
\chapter{Mixed-Sensitivity \(\mathcal{H}_\infty\) Control - Example}
|
||||
\label{sec:orgcbf596f}
|
||||
\label{sec:org4999065}
|
||||
\label{sec:h_infinity_mixed_sensitivity}
|
||||
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}.
|
||||
|
||||
\section{Control Problem}
|
||||
\label{sec:org0d0e2a9}
|
||||
\label{sec:org4641813}
|
||||
\label{sec:ex_control_problem}
|
||||
|
||||
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}
|
||||
|
||||
\section{Control Design Procedure}
|
||||
\label{sec:org0f986e4}
|
||||
\label{sec:org2f6babe}
|
||||
\label{sec:ex_control_procedure}
|
||||
|
||||
Here is the general design procedure that will be followed:
|
||||
@@ -1688,7 +1690,7 @@ u = z(:,2); % Input usage [N]
|
||||
\end{minted}
|
||||
|
||||
\section{Modern Interpretation of control specifications}
|
||||
\label{sec:org1c39f44}
|
||||
\label{sec:orga74724d}
|
||||
\label{sec:ex_specification_interpretation}
|
||||
|
||||
\begin{exercice}
|
||||
@@ -1769,7 +1771,7 @@ Now let's shape the three closed-loop transfer functions sequentially:
|
||||
\end{itemize}
|
||||
|
||||
\section{Step 1 - Shaping of \(S\)}
|
||||
\label{sec:org2b353b4}
|
||||
\label{sec:orgfba6439}
|
||||
\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.
|
||||
@@ -1861,7 +1863,7 @@ The time domain signals are shown in Figure \ref{fig:ex_time_domain_1b} and it i
|
||||
\end{figure}
|
||||
|
||||
\section{Step 2 - Shaping of \(GS\)}
|
||||
\label{sec:org040835b}
|
||||
\label{sec:org0c2dbb8}
|
||||
\label{sec:ex_shaping_GS}
|
||||
|
||||
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}
|
||||
|
||||
\section{Step 3 - Shaping of \(T\)}
|
||||
\label{sec:orge27b967}
|
||||
\label{sec:org98a0d1b}
|
||||
\label{sec:ex_shaping_T}
|
||||
|
||||
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}
|
||||
|
||||
\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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
\chapter{Conclusion}
|
||||
\label{sec:org6c74b5a}
|
||||
\label{sec:org6166298}
|
||||
\label{sec:conclusion}
|
||||
|
||||
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.
|
||||
|
||||
\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}.
|
||||
If you want to nice reference book in French, look at \cite{duc99_comman_h}.
|
||||
|
||||
|
||||
Reference in new issue
Block a user